1. Sistem monolitik (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. 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.
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).
2.
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.
Lapis-lapis dalam sistem operasi ada 6 lapis, yaitu :
· Lapis 5 - The operator
Berfungsi untuk pemakai operator.
· Lapis 4 - User programs
Berfungsi untuk aplikasi program pemakai.
· Lapis 3 - I/O management
Berfungsi untuk menyederhanakan akses I/O pada level atas.
· Lapis 2 - Communication operators
Berfungsi untuk mengatur komunikasi antar proses.
· Lapis 1 -Memory and drum management
Berfungsi untuk mengatur alokasi ruang memori atau drum magnetic.
· Lapis 0 -Processor allocation and multiprogramming
Berfungsi
untuk mengatur alokasi pemroses dan switching, multiprogramming
dan pengaturan
prosessor.
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.
3.
Virtual machines
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 sistem 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.
Para
sukarelawan pengembang 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 model
Sistem
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.
Masalah
:
· 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.
Kelemahan :
· Layanan dilakukan lambat karena harus melalui pertukaran pesan.
· Pertukaran pesan dapat menjadi bottleneck.
5.
Sistem Berorientasi Objek
Sistem operasi merealisasikan layanan
sebagai kumpulan proses disebut sistem operasi bermodel proses. Pendekatan lain
implementasi layanan adalah sebagai objek-objek. Sistem operasi 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.
Conoh sistem operasi yang berorientasi objek, antara lain : eden, choices,
x-kernel, medusa, clouds, amoeba, muse, dan sebagainya. Sistem operasi MS Windows NT telah mengadopsi beberapa
teknologi berorientasi objek tetapi belum keseluruhan.