18.36 -
Diskusi Sistem Operasi
Sistem Operasi
Perbedaan Sistem Operasi & Platform
Sistem Operasi
Sistem
Operasi (operating System) merupakan program yang ditulis untuk mengendalikan
dan mengkordinasi kegiatan operasi dari system computer. Sistem Operasi
mengandung sejumlah program, dan beberapa program tergolong sebagai utilitas.
Macam Sistem Operasi
System
operasi amat beragam dan biasanya berbeda antara satu platform dengan platform
yang lain. Di lingkungan PC (Personal Computer), Windows dan Linux merupakan
contoh system operasi yang popular. Di lingkungan mainframe, MVS(Multiple
Virtual System) merupakan system operasi yang paling umum digunakan. Di
lingkungan minicomputer, setiap vendor umumnya memiliki system operasi sendiri.
Seperti minicomputer DEC menggunakan VAX/VMS atau Digital Unix dan minicomputer
Data General memiliki AOS dan DG. Sementara itu, palmtop dan hand-held computer
atau computer genggam juga memiliki system operasi tersendiri, yaitu Palm OS
dan Windows CE/Pocket PC. Adapun Mac OS adalah system operasi yang hanya bisa
berjalan pada computer Apple Macintosh dan UNIX adalah nama kelompok system
operasi yang dapat berjalan pada berbagai platform. Piranti seperti smart card
juga mempunyai system operasi tersendiri yang disebut COS(Card Operating
System).
Fungsi
Sistem Operasi
System
operasi memiliki tiga fungsi utama yaitu manajemen proses, manajemen sumber
daya dan manajemen data.
- Manajemen proses mencakup penyiapan, penjadwalan dan pemantauan proses pada computer. Proses adalah program yang sedang dijalankan.
- Manajemen sumber daya berkaitan dengan pengendalian terhadap pemakaian sumber daya dalam system computer yang dilakukan oleh perangkat lunak system maupun pereangkat lunak aplikasi yang sedang dijalankan oleh computer. Yang dimaksudkan sumber daya disini adalah komponen perangkat keras dalam computer seperti CPU, memori utama dan peranti masukan/keluaran.
- Manajemen data berupa pengendalian terhadap data masukan/keluaran, termasuk dalam hal pengalokasian dalam peranti penyimpan sekunder maupun memori utama.
Platform
Makna
Platform dalam konteks aplikasi komputer secara praktis maksudnya adalah Sistem
Operasi tempat sebuah aplikasi di operasikan. Dengan kata lain, platform adalah
lingkungan terpadu yang mendukung dijalankannya sebuah aplikasi.
Misalnya Microsoft menciptakan aplikasi Microsoft Office yang berjalan di dalam
lingkungan (platform) Windows. Karena Ms. Office dibuat hanya diperuntukkan
untuk lingkungan windows, tentu saja aplikasi tersebut tidak dapat dijalankan
di lingkungan Macintosh, atau GNU/Linux.
Platform dapat dibayangkan seperti sebuah lingkungan tempat sebuah aplikasi diciptakan. Aplikasi tersebut dapat berjalan dengan regulasi/peraturan yang dibuat oleh Sistem Operasi. Fasilitas seperti Windows Registry, atau ActiveX Object hanya ada di dalam lingkungan windows milik microsoft. Jika aplikasi tersebut berpindah lingkungan seperti Mac, atau GNU/LINUX operasinya akan error berantakan dan tidak dapat berjalan seperti seharusnya. Gambarannya seperti seseorang yang dibesarkan di lingkungan pedesaan. Dari lingkungan tempat dia dibesarkan, dia berhasil membangun aplikasi keahlian seperti bercocok-tanam, memanen padi, menggiling gandum, membajak dengan kerbau, dan lain-lain. Tiba-tiba dia harus berpindah lingkungan ke daerah metropolis dimana tidak ada sawah ladang dan alam yang hijau, hanya ada pabrik, pertokoan, kerumunan orang di depan komputer, dan perumahan mewah. Di lingkungan baru ini aplikasi keahlian yang dikuasainya dari lingkungan desa tentu saja tidak bisa di terapkan begitu saja di daerah kota metropolitan. Tidak ada tanah yang dibajak (bahkan bajak dan kerbaunya juga tidak ada), dan tidak ada padi yang perlu dipanen.
Meskipun begitu, sebenarnya tidak semua aplikasi dibuat untuk terikat penuh dengan sebuah platform. Ada beberapa aplikasi komputer yang dibuat untuk beberapa platform. Aplikasi ini biasa disebut dengan Aplikasi Multi-Platform. Contohnya adalah aplikasi server local apache yang dapat dijalankan di Windows maupun GNU/LINUX.
Platform dapat dibayangkan seperti sebuah lingkungan tempat sebuah aplikasi diciptakan. Aplikasi tersebut dapat berjalan dengan regulasi/peraturan yang dibuat oleh Sistem Operasi. Fasilitas seperti Windows Registry, atau ActiveX Object hanya ada di dalam lingkungan windows milik microsoft. Jika aplikasi tersebut berpindah lingkungan seperti Mac, atau GNU/LINUX operasinya akan error berantakan dan tidak dapat berjalan seperti seharusnya. Gambarannya seperti seseorang yang dibesarkan di lingkungan pedesaan. Dari lingkungan tempat dia dibesarkan, dia berhasil membangun aplikasi keahlian seperti bercocok-tanam, memanen padi, menggiling gandum, membajak dengan kerbau, dan lain-lain. Tiba-tiba dia harus berpindah lingkungan ke daerah metropolis dimana tidak ada sawah ladang dan alam yang hijau, hanya ada pabrik, pertokoan, kerumunan orang di depan komputer, dan perumahan mewah. Di lingkungan baru ini aplikasi keahlian yang dikuasainya dari lingkungan desa tentu saja tidak bisa di terapkan begitu saja di daerah kota metropolitan. Tidak ada tanah yang dibajak (bahkan bajak dan kerbaunya juga tidak ada), dan tidak ada padi yang perlu dipanen.
Meskipun begitu, sebenarnya tidak semua aplikasi dibuat untuk terikat penuh dengan sebuah platform. Ada beberapa aplikasi komputer yang dibuat untuk beberapa platform. Aplikasi ini biasa disebut dengan Aplikasi Multi-Platform. Contohnya adalah aplikasi server local apache yang dapat dijalankan di Windows maupun GNU/LINUX.
http://blog.ugm.ac.id/2010/09/27/pengertian-sistem-operasi-dan-fungsinya/
http://www.bizitstudio.com/detilartikel-131-aplikasi-di-dalam-sebuah-platform.html
Sumber daya
Sumber Daya Fisik
Sumber
daya fisik adalah semua komponen yang ada dalam sitem komputer yang dapat
memberikan manfaat dan secara fisik dapat kita lihat.
Contohnya:
Ø
Keyboard, bar-code reader
Ø
Mouse, joystick, light-pen, track-ball, touch-screen, dll.
Ø
Flopy disk drive,
harddisk, tape drive, iptical disk, CD-ROM drive, USB Flash Disk, dan perangkat
penyimpanan lainnya.
Ø
Layar monitor
Ø
Printer
Ø
Modem, ethernet card,
PCMCIA, dan alat komunikasi lainnya.
Ø
RAM, chace memory, register, dan memory lainnya
Ø
Perangkat multimedia seperti kamera, sound card, tv tuner, dll.
Ø
Perangkat grafis seperti digitizer, scanner, plotter, dll.
Ø
Perangkat pengendali proses yang terhubung ke komputer
Ø
Dan sebagainya.
Sumber Daya Abstrak
Sumber daya abstrak Adalah sumber daya yang
terdiri atas data dan program, Sumber daya abstrak terdiri dari
Data dan Program.
Contohnya:
Ø
Data
Ø
PCB (Process Control Block) untuk mencatat dan mengendalikan proses.
Ø
Tabel segmen, tabel
page, i-node, FAT untuk pengendalian memori
Ø
Berkas (file) untuk penyimpanan data atau program
Ø
Dan sebagainya.
sumber:
http://special-ulun.blogspot.com/
PROCESS CONTROL BLOCK
(PCB)
PROCESS CONTROL BLOCK (PCB) adalah struktur data yang dipakai oleh OS untuk
mengelola proses.Hampir semua OS yang modern telah memuat PCB(Process Control
Block) namun strukturnya berbeda-beda pada setiap OS
tersebut.PCB juga memuat informasi tentang
proses, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi
nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi
proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang
menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang
memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi
lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Sebuah PCB ditunjukkan dalam gambar berikut.
Sebagai contoh, struktur data yang mengendalikan beberapa
PCB adalah process table. Bisa saja beberapa PCB ditaruh pada daftar dalam
waktu yang bersamaan.Process table ini menggambarkan sistem tersebut ketika OS
menemukan tiap-tiap PCB melalui proses ID.
PCB dibagi 3 kelompok yaitu :
- · Process identification data; selalu menyertakan sebuah identifier unik untuk prosesnya (hampir selalu bernilai integer) dan, dalam sebuah sistem multiuser-multitasking, data seperti identifier proses induk, identifier pengguna, identifier grup pengguna, dll. Proses ini sangan relevan, karena itu sering digunakan untuk referensi silang tabel OS, misalnya memungkinkan untuk mengidentifikasi proses yang menggunakan device I/O, atau daerah memori.
- · Processor state data; adalah potongan-potongan informasi yang mendefinisikan status dari suatu proses ketika proses itu ditangguhkan, yang memungkinkan OS untuk melakukan restart proses nantinya dan masih dapat mengeksekusinya dengan benar. Hal ini selalu menyertakan isi dari register CPU tujuan.
- · Process control data; digunakan oleh OS untuk mengelola proses itu sendiri.
Virtual Machine(VM) adalah sebuah mesin yang mempunyai dasar logika yang menggunakan pendekatan lapisan-lapisan (layers) dari sistem komputer. Sehingga sistem komputer dengan tersendiri dibangun atas lapisan-lapisan tersebut, dengan urutan lapisannya mulai dari lapisan terendah sampai lapisan teratas adalah sebagai berikut:
Perangkat keras (semua bagian fisik komputer).
Kernel (program untuk mengontrol disk dan sistem file, multi-tasking, load-balancing, networking dan security).
Sistem program (program yang membantu general user).
Kernel yang berada pada lapisan kedua ini, menggunakan instruksi perangkat keras untuk menciptakan seperangkat system call yang dapat digunakan oleh komponen-komponen pada level sistem program.
Sistem program kemudian dapat menggunakan system call dan perangkat keras lainnya seolah-olah pada level yang sama. Meskipun sistem program berada di level tertinggi , namun program aplikasi bisa melihat segala sesuatu pada tingkatan dibawahnya seakan-akan mereka adalah bagian dari mesin.
Pendekatan dengan lapisan-lapisan inilah yang kemudian menjadi kesimpulan logis pada konsep Virtual Machine(VM).
Saat ini, teknologi terbaru sistem operasi yang cukup populer adalah virtualisasi. Secara harfiah, virtual berarti tidak nyata tapi seolah-olah nyata. Jadi pengertian virtualisasi adalah sebuah teknik atau cara untuk membuat sistem operasi dalam bentuk virtual, tidak seperti kenyataan yang ada. Virtualisasi juga digunakan untuk mengemulasikan perangkat fisik komputer, dengan cara membuatnya seolah-olah perangkat tersebut tidak ada (disembunyikan) atau bahkan menciptakan perangkat yang tidak ada menjadi ada. Kita bisa menggunakan beberapa sistem operasi yang berbeda dalam satu komputer dengan teknologi ini. Misal saat ini kita menggunakan komputer dengan sistem operasi Windows 7.
Dengan virtualisasi, kita dapat menggunakan sistem operasi yang lain (misalnya : Linux, Windows XP, dll) dalam komputer yang sama. Untuk melakukan virtualisasi, membutuhkan perangkat lunak yang memiliki kemampuan untuk membuat sebuah komputer secara virtual. Salah satunya dengan menggunakan virtual machine (mesin virtual). Virtual Machine atau mesin virtual adalah sistem operasi yang bersifat interaktif dan multiuser. Yang dimaksud dengan interaktif adalah bahwa antara pengguna dan VM terdapat komunikasi dua arah, sedangkan yang dimaksud dengan multiuser adalah bahwa beberapa orang pengguna dapat memakai VM pada saat yang bersamaan. Ini menunjukkan bahwa penggunaan VM secara efektif dapat memberikan keuntungan bagi user karena dengan demikian sistem komputasi menjadi lebih produktif. Ide dasar dari virtual machine adalah mengabtraksi perangkat keras dari satu komputer (CPU, memori, disk, dst) ke beberapa environment eksekusi, sehingga menciptakan illusi bahwa masing-masing environment menjalankan komputernya (terpisah) sendiri. VM muncul karena pada satu komputer. Virtual Machine (VM) sendiri mulai dikenalkan oleh IBM ketika meluncurkansistem operasi mainframenya pada tahun 1965-an. Diperkenalkan untuk sistem S/370 dan S/390 dan disebut sebagai sistem operasi VM/ESA (Enterprise System Architecture). Keunggulannya bagi desainer sistem operasi atau arsitektur virtual machine adalah karena sistem ini mudah untuk debug, dan masalah keamanan yang mudah untuk dipecahkan. Mesin virtual juga menyediakan platform yang
baik untuk operasi penelitian sistem karena banyak sistem operasi yang berbeda dapat berjalan pada satu sistem fisik.
Kekurangan Virtual Machine(VM)
Ada beberapa kesulitan utama dari konsep VM, diantaranya adalah:
Dalam sistem penyimpanan. Sebagai contoh kesulitan dalam sistem penyimpanan adalah sebagai berikut: Andaikan kita mempunyai suatu mesin yang memiliki 3 disk drive namun ingin mendukung 7 VM. Keadaan ini jelas tidak memungkinkan bagi kita untuk dapat mengalokasikan setiap disk drive untuk tiap VM, karena perangkat lunak untuk mesin virtual sendiri akan membutuhkan ruang disk secara substansi untuk menyediakan memori virtual dan spooling.Solusinya adalah dengan menyediakan disk virtual atau yang dikenal pula dengan minidisk, dimana ukuran daya penyimpanannya identik dengan ukuran sebenarnya. Dengan demikian, pendekatan VM juga menyediakan sebuah antarmuka yang identik dengan underlying bare hardware.
Dalam hal pengimplementasian. Meski konsep VM cukup baik, namun VM sulit diimplementasikan.
Kelebihan Virtual Machine(VM)
Terlepas dari segala kekurangannya, VM memiliki beberapa keunggulan, antara lain :
Dalam hal keamanan. VM memiliki perlindungan yang lengkap pada berbagai sistem sumber daya, yaitu dengan meniadakan pembagian resources secara langsung, sehingga tidak ada masalah proteksi dalam VM. Sistem VM adalah kendaraan yang sempurna untuk penelitian dan pengembangan sistem operasi. Dengan VM, jika terdapat suatu perubahan pada satu bagian dari mesin, maka dijamin tidak akan mengubah komponen lainnya.
Memungkinkan untuk mendefinisikan suatu jaringan dari Virtual Machine(VM). Tiap-tiap bagian mengirim informasi melalui jaringan komunikasi virtual. Sekali lagi, jaringan dimodelkan setelah komunikasi fisik jaringan diimplementasikan pada perangkat lunak.
Contoh Virtual Machine
IBM VM
Istilah Virtual Machine(VM) sendiri mulai dikenalkan oleh IBM ketika meluncurkan sistem operasi mainframenya pada tahun 1965-an. Diperkenalkan untuk sistem S/370 dan S/390 dan disebut sebagai sistem operasi VM/ESA (Enterprise System Architecture). Sehingga sering menimbulkan kebingungan antara penamaan produk atau penamaan mekanisme. Banyak orang yang menyebut, walau memiliki mekanisme Virtual Machine(VM) tetapi bila bukan dari sistem IBM tersebut, maka tidak disebut dengan Virtual Machine.
Pada penjelasan ini, istilah Virtual Machine(VM) adalah suatu jenis mekanisme virtualisasi suatu mesin di atas mesin lainnya. Jadi bukan jenis produk dari salah satu vendor dengan nama Virtual Machine. Terdapat beberapa kegunaan dari Virtual Machine(VM), pada umumnya tampak untuk
menggambarkan program yang bertindak selayaknya mesin.
VMware
Pada GNU/Linux salah satu virtual machine yang terkenal adalah VMware http://www.vmware.com. VMware memungkinkan beberapa sistem operasi dijalankan pada satu mesin PC tunggal secara bersamaan. Hal ini dapat dilakukan tanpa melakukan partisi ulang dan boot ulang. Pada Virtual Machine(VM) yang disediakan akan dijalankan sistem operasi sesuai dengan yang diinginkan. Dengan cara ini maka pengguna dapat memboot suatu sistem operasi (misal Linux) sebagai sistem operasi tuan rumah (host) dan lalu menjalankan sistem operasi lainnya misal MS Windows. Sistem operasi yang
dijalankan di dalam sistem operasi tuan rumah dikenal dengan istilah sistem operasi tamu ( guest).
Gambar 8.1. Contoh skema penggunaan pada VMware versi ESX Servers
Kebanyakan orang berpikir bahwa secara logisnya VMware diibaratkan sebagai software yang sering digunakan untuk keperluan percobaan game, aplikasi, untuk meng-install dua sistem operasi dan menjalankannya (misalnya Windows maupun Linux) pada harddisk yang sama tanpa memerlukan
logout dari sistem operasi yang lainnya, secara gampang kita hanya tinggal menekan Alt + Tab untuk mengganti SO.
Akan tetapi pada dasarnya VMware bukanlah emulator, karena tidak mengemulasikan CPU dan perangkat keras di dalam suatu Virtual Machine(VM), tetapi hanya membolehkan sistem operasi lainnya dijalankan secara paralel dengan sistem operasi yang telah berjalan. Setiap Virtual
Machine(VM) dapat memiliki alamat IP sendiri (jika mesin tersebut di suatu jaringan), dan pengguna dapat menganggapnya sebagai mesin terpisah.
Xen VMM
Xen adalah open source virtual machine monitor, dikembangkan di University of Cambridge. Dibuat dengan tujuan untuk menjalankan sampai dengan seratus sistem operasi ber-fitur penuh ( full featured OSs) di hanya satu komputer. Virtualisasi Xen menggunakan teknologi paravirtualisasi menyediakan isolasi yang aman, pengatur sumberdaya, garansi untuk quality-of-services dan live migration untuk sebuah mesin virtual.
Untuk menjalankan Xen, sistem operasi dasar harus dimodifikasi secara khusus untuk kebutuhan tersendiri dan dengan cara ini dicapai kinerja virtualisasi sangat tinggi tanpa hardware khusus.
Java VM
Program Java yang telah dikompilasi adalah platform-neutral bytecodes yang dieksekusi oleh Java Virtual Machine(JVM). JVM sendiri terdiri dari: class loader, class verification, runtime interpreter, Just In-Time(JIT) untuk meningkatkan kinerja kompilator.
Bahasa mesin terdiri dari sekumpulan instruksi yang sangat sederhana dan dapat dijalankan secara langsung oleh CPU dari suatu komputer. Sebuah program yang dibuat dengan bahasa tingkat tinggi tidak dapat dijalankan secara langsung pada komputer. Untuk dapat dijalankan, program tersebut harus ditranslasikan kedalam bahasa mesin. Proses translasi dilakukan oleh sebuah program yang disebut compiler.
Setelah proses translasi selesai, program bahasa-mesin tersebut dapat dijalankan, tetapi hanya dapat dijalankan pada satu jenis komputer. Hal ini disebabkan oleh setiap jenis komputer memiliki bahasa mesin yang berbeda-beda. Alternatif lain untuk mengkompilasi program bahasa tingkat
tinggi selain menggunakan compiler, yaitu menggunakan interpreter. Perbedaan antara compiler dan interpreter adalah compiler mentranslasi program secara keseluruhan sekaligus, sedangkan interpreter menstranslasi program secara instruksi per instruksi. Java dibuat dengan mengkombinasikan antara compiler dan interpreter.
Program yang ditulis dengan java di-compile menjadi bahasa mesin. Tetapi bahasa mesin untuk komputer tersebut tidak benar-benar ada. Oleh karena itu disebut "Virtual" komputer, yang dikenal dengan Java Virtual Machine (JVM). Bahasa mesin untuk JVM disebut Java bytecode. Salah satu keunggulan dari Java adalah dapat digunakan atau dijalankan pada semua jenis komputer. Untuk menjalankan program Java, komputer membutuhkan sebuah interpreter untuk Java bytecode.
Interpreter berfungsi untuk mensimulasikan JVM sama seperti virtual computer mensimulasikan PC komputer. Java bytecode yang dihasilkan oleh setiap jenis komputer berbeda-beda, sehingga diperlukan interpreter yang berbeda pula untuk setiap jenis komputer. Tetapi program Java bytecode yang sama dapat dijalankan pada semua jenis komputer yang memiliki Java bytecode.
.NET Framework
.NET Framework merupakan suatu komponen Windows yang terintegrasi yang dibuat dengan tujuan pengembangan berbagai macam aplikasi serta menjalankan aplikasi generasi mendatang termasuk pengembangan aplikasi XML Web Services.
Keuntungan Menggunakan .NET Framework
Mudah. Yang dimaksud mudah di sini adalah kemudahan developer untuk membuat aplikasi yang dijalankan di .NET Framework. Mendukung lebih dari 20 bahasa pemrograman : VB.NET, C#, J#, C++, Pascal, Phyton (IronPhyton), PHP (PhLager.
Efisien. Kemudahan pada saat proses pembuatan aplikasi, akan berimplikasi terhadap efisiensi dari suatu proses produktivitas, baik efisien dalam hal waktu pembuatan aplikasi atau juga efisien dalam hal lain, seperti biaya (cost.
Konsisten. Kemudahan-kemudahan pada saat proses pembuatan aplikasi, juga bisa berimplikasi terhadap konsistensi pada aplikasi yang kita buat. Misalnya, dengan adanya Base Class Library, maka kita bisa menggunakan objek atau Class yang dibuat untuk aplikasi berbasis windows pada aplikasi berbasis web. Dengan adanya kode yang bisa dintegrasikan ke dalam berbagai macam aplikasi ini, maka konsistensi kode-kode aplikasi kita dapat terjaga.
Produktivitas. Semua kemudahan-kemudahan di atas, pada akhirnya akan membuat produktivitas menjadi lebih baik. Produktivitas naik, terutama produktivitas para developer, akan berdampak pada meningkatnya produktivitas suatu perusahaan atau project.
STRUKTUR DASAR SISTEM OPERASI1. Sistem Monolitik/Struktur Sederhana (monolithic system)
Sistem operasi sebagai kumpulan prosedur dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan. Kernel berisi semua layanan yang disediakan sistem operasi untuk pemakai (user). Sistem operasi ditulis sebagai sekumpulan prosedur (a collection of procedures), yang dapat dipanggil setiap saat oleh pemakai saat dibutuhkan.Kelemahan :- Pengujian dan penghilangan kesalahan sulit karena tidak dapat dipisahkan dan dilokalisasi.
- Sulit dalam menyediakan fasilitas pengamanan.
- Merupakan pemborosan bila setiap komputer harus menjalankan kernel monolitik sangat besar sementara sebenarnya tidak memerlukan seluruh layanan yang disediakan kernel.
- Tidak fleksibel.
- Kesalahan pemograman satu bagian dari kernel menyebabkan matinya seluruh sistem.
Keunggulan :- Layanan dapat dilakukan sangat cepat karena terdapat di satu ruang alamat.
Evolusi :Kebanyakan UNIX sampai saat ini berstruktur monolitik. Meskipun monolitik, yaitu seluruh komponen/subsistem sistem operasi terdapat di satu ruang alamat tetapi secara rancangan adalah berlapis. Rancangan adalah berlapis yaitu secara logik satu komponen/subsistem merupakan lapisan lebih bawah dibanding lainnya dan menyediakan layanan-layanan untuk lapisan-lapisan lebih atas. Komponen-komponen tersebut kemudia dikompilasi dan dikaitkan (di-link) menjadi satu ruang alamat. Untuk mempermudah dalam pengembangan terutama pengujian dan fleksibilitas, kebanyakan UNIX saat ini menggunakan konsep kernel loadable modules, yaitu:- Bagian-bagian kernel terpenting berada di memori utama secara tetap.
- Bagian-bagian esensi lain berupa modul yang dapat ditambahkan ke kernel saat diperlukan dan dicabut begitu tidak digunakan lagi di waktu jalan (run time).
Contoh :Unix2. Sistem Lapis (layered system)Sistem operasi dibentuk secara hirarki berdasar lapisan-lapisan, dimana lapisan-lapisan bawa memberi layanan lapisan lebih atas.Struktur berlapis dimaksudkan untuk mengurangi kompleksitas rancangan dan implementasi sistem operasi. Tiap lapisan mempunyai fungsional dan antarmuka masukan-keluaran antara dua lapisan bersebelahan yang terdefinisi bagus. Sistem pertama yang dibuat dengan struktur ini adalah strukrur THE oleh E.W Dijkstra.Lapis-lapis dalam sistem operasi ada 6 lapis, yaitu :Lapis 5 - The operator : untuk pemakai operator.Lapis 4 - User programs : untuk aplikasi program pemakai.Lapis 3 - I/O management : untuk menyederhanakan akses I/O pada level atas.Lapis 2 – OP-Communication : untuk mengatur komunikasi antar proses.Lapis 1 – Memory & drum management : untuk mengatur alokasi ruang memori atau drum magnetic.Lapis 0 -Processor allocation & multiprogramming : untuk mengatur alokasi pemroses dan switching, multi programming dan pengaturan prosessor.Lapisan n memberi layanan untuk lapisan n+1. Proses-proses di lapisan n dapat meminta layanan lapisan n-1 untuk membangunan layanan bagi lapisan n+1. Lapisan n dapat meminta layanan lapisan n-1. Kebalikan tidak dapat, lapisan n tidak dapat meminta layanan n+1. Masing-masing berjalan di ruang alamat-nya sendiri. Kelanjutan sistem berlapis adalah sistem berstruktur cincin seperti sistem MULTICS. Sistem MULTICS terdiri 64 lapisan cincin dimana satu lapisan berkewenangan berbeda. Lapisan n-1 mempunyai kewenangan lebih dibanding lapisan n. Untuk meminta layanan lapisan n-1, lapisan n melakukan trap. Kemudian, lapisan n-1 mengambil kendali sepenuhnya untuk melayani lapisan n.Keunggulan :Memiliki semua keunggulan rancangan modular, yaitu sistem dibagi menjadi beberapa modul dan tiap modul dirancang secara independen. Tiap lapisan dapat dirancang, dikode dan diuji secara independen.Pendekatan berlapis menyederhanakan rancangan, spesifikasi dan implementasi sistem operasi.Kelemahan :Fungsi-fungsi sistem operasi harus diberikan ke tiap lapisan secara hati-hati.Contoh :THE3. Mesin Maya (virtual machine)Mesin maya mempunyai sistem timesharing yang berfungsi untuk ,menyediakan kemampuan untuk multiprogramming dan perluasan mesin dengan antarmuka yang lebih mudah.Struktur Mesin maya ( CP/CMS, VM/370 ) terdiri atas komponen dasar utama :- Control Program, yaitu virtual machine monitor yang mengatur fungsi dari prosessor, memori dan piranti I/O. Komponen ini berhubungan langsung dengan perangkat keras.
- Conventional Monitor System, yaitu sistem operasi sederhanayang mengatur fungsi dari proses, pengelolaan informasi dan pengelolaan piranti.
Awalnya struktur ini membuat seolah-olah pemakai mempunyai seluruh komputer dengan simulasi atas pemroses yang digunakan. Sistem operasi melakukan simulasi mesin nyata. Mesin hasil simulasi digunakan pemakai, mesin maya merupakan tiruan seratus persen atas mesin nyata.Semua pemakai diberi iluasi mempunyai satu mesain yang sama-sama canggih. Pendekatan ini memberikan fleksibilitas tinggi sampai memungkinkan system operasi-sistem operasi berbeda dapat dijalankan dimesin-mesin maya berbeda. Implementasi yang efisien merupakan masalah sulit karena sistem menjadi besar dan kompleks. Teknik ini mulanya digunakan pada IBM S/370. VM/370 menyediakan mesin maya untuk tiap pemakai. Bila pemakai log (masuk) sistem, VM/370 menciptakan satu mesin maya baru untuk pemakai itu. Teknik ini berkembang menjadi operating system emulator sehingga sistem operasi dapat menjalankan aplikasi-aplikasi untuk sistem operasi lain.Sistem operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2 mode teks dan aplikasi Win16. Aplikasi tersebut dijalankan sebagai masukan bagi subsistem di MS-Windows NT yang mengemulasikan system calls yang dipanggil aplikasi dengan Win32 API (system calls di MS-Windows NT).IBM mengembangkan WABI yang mengemulasikan Win32 API sehingga diharapkan sistem operasi yang menjalankan WABI dapat menjalankan aplikasi-aplikasi untuk MS-Windows.Contoh :Linux telah membuat DOSEMU agar aplikasi-aplikasi untuk MS-DOS dapat dijalankan di Linux, WINE agar aplikasi untuk MS-Windows dapat dijalankan di Linux, iBCS agar aplikasi-aplikasi untuk SCO-UNIX dapat dijalankan di Linux, dan sebagainya.4. Client-Server ModelSistem operasi merupakan kumpulan proses dengan proses-proses dikategorikan sebagai server dan client, yaitu :- Server, adalah proses yang menyediakan layanan.
- Client, adalah proses yang memerlukan/meminta layanan.
- Proses client yang memerlukan layanan mengirim pesan ke server dan menanti pesan jawaban. Proses server setelah melakukan tugas yang diminta, mengirim hasil dalam bentuk pesan jawaban ke proses client. Server hanya menanggapi permintaan client dan tidak memulai dengan percakapan client. Kode dapat diangkat ke level tinggi, sehingga kernel dibuat sekecil mungkin dan semua tugas diangkat ke bagian proses pemaka. Kernel hanya mengatur komunikasi antara client dan server. Kernel yang ini popular dengan sebutan mikrokernel.
- Permintaan pelayanan, seperti membaca sebuah blok file, sebuah user process (disebut client process) mengirimkan permintaan kepada sebuah server process, yang kemudian bekerja dan memberikan jawaban balik.
- Keuntungan : kemampuan diaptasi untuk digunakan dalam distributed system.
Kelemahan :- Layanan dilakukan lambat karena harus melalui pertukaran pesan.
- Pertukaran pesan dapat menjadi bottleneck.
- Tidak semua tugas dapat dijalankan di tingkat pemakai (sebagai proses pemakai).
Kesulitan ini diatasi dengan :- Proses server kritis tetap di kernel, yaitu proses yang biasanya berhubungan dengan perangkat keras.
- Mekanisme ke kernel seminimal mungkin,sehingga pengaksesan ruang pemakai dapat dilakukan dengan cepat. Untuk sistem-sistem besar dengan banyak server dikehendaki supaya client transparan dalam meminta layanan sehingga tidak menyulitkan pemogram
Keunggulan :- Pengembangan dapat dilakukan secara modular.
- Kesalahan (bugs) di satu subsistem (diimplementasikan sebagai satu proses) tidak merusak subsistem-subsistem lain, sehingga tidak mengakibatkan satu sistem mati secara keseluruhan.
- Mudah diadaptasi untuk sistem tersebar.
Contoh :Windows 2000 Server, Linux.5. Sistem Berorientasi ObjekSisten operasi merealisasikan layanan sebagai kumpulan proses disebut sistem operasi bermodel proses. Pendekatan lain implementasi layanan adalah sebagai objek-objek. Sistem operasu yang distrukturkan menggunakan objek disebut sistem operasi berorientasi objek. Pendekatan ini dimaksudkan untuk mengadopsi keunggulan teknologi berorientasi objek.Pada sistem yang berorientasi objek, layanan diimplementasikan sebagai kumpulan objek. Objek mengkapsulkan struktur data dan sekumpulan operasi pada struktur data itu. Tiap objek diberi tipe yang menandadi properti objek seperti proses, direktori, berkas, dan sebagainya. Dengan memanggil operasi yang didefinisikan di objek, data yang dikapsulkan dapat diakses dan dimodifikasi.Model ini sungguh terstruktur dan memisahkan antara layanan yang disediakan dan implementasinya. Sistem operasi MS Windows NT telah mengadopsi beberapa teknologi berorientasi objek tetapi belum keseluruhan.Contoh :Eden, choices, x-kernel, medusa, clouds, amoeba, muse, dan sebagainya.