Soal:
Dari 5 Struktur Sistem
Operasi, manakah yang terbaik?
Jawab:
Sebelumnya, disini saya akan menyebutkan serta memberikan penjelasan
tentang Struktur Sistem Operasi dari ke-lima struktur yang ada.
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 (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 atau 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 dimemori utama secara tetap.
• Bagian-bagian esensi
lain berupa modul yang dapat ditambahkan ke kernel saat diperlukan dan dicabut
begitu tidak digunakan lagi diwaktu 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. Sistem
pertama yang dibuat dengan struktur ini adalah strukrur THE oleh E.W Dijkstra.
Lapis-lapis dalam sistem
operasi ada 6 lapis, yaitu :
a.
Lapis 5 - The operator,
berfungsi untuk pemakai operator.
b. Lapis 4 - User programs, berfungsi untuk
aplikasi program pemakai.
c. Lapis 3 - I/O management, berfungsi untuk
menyederhanakan akses I/O pada level atas.
d. Lapis 2 -Operator-operator communication, berfungsi
untuk mengatur komunikasi antar proses.
e. Lapis 1 -Memory and drum management, berfungsi
untuk mengatur alokasi ruang memori atau drum magnetic.
f. Lapis 0 -Processor allocation and
multiprogramming, berfungsi untuk mengatur alokasi pemroses dan switching,
multi programming dan pengaturan prosessor.
Lapisan n memberi layanan untuk lapisan n+1. Proses-proses dilapisan
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.
3. Mesin Maya (Virtual Machine)
Mesin maya mempunyai sistem timesharing yang berfungsi untuk, menyediakan
kemampuan untuk multi programming 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 ari 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.
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 :
1. Server, adalah proses yang menyediakan layanan.
2. Client, adalah proses yang memerlukan/meminta
layanan.
Proses client yang memerlukan layanan mengirim pesan keserver 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) disatu subsistem
(diimplementasikan sebagai satu proses) tidak merusak subsistem-subsistem lain, sehingga tidak
mengakibatkan satu sistem mati secara keseluruhan.
§ Mudah diadaptasi untuk sistem tersebar.
5. Sistem Berorientasi
Objek
Sisten 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 sistem operasi yang berorientasi objek, antara lain : eden,
choices, x-kernel, medusa, clouds, amoeba, muse, dan sebagainya.
Jadi, kesimpulannya yang terbaik adalah Sistem Monolitik. Sistem operasi ini merupakan
kumpulan prosedur dimana prosedur dapat saling dipanggil oleh prosedur lain di
sistem bila diperlukan. Dan terdapat Kernel yang berisi semua layanan yang
disediakan sistem operasi untuk pemakai.