Pendekatan yang umum suatu sistem yang besar dan kompleks adalah dengan memecah tugas-tugas (task) ke bentuk komponen-komponen kecil dibandingkan dalam bentuk sistem tunggal
(monolithic). Komponen-komponen tersebut akan akan di bahas pada bagian berikut ini.
Struktur Sederhana
Banyak sistem operasi komersial yang tidak terstruktur dengan baik. Kemudian sistem operasi dimulai
dari yang terkecil, sederhana dan terbatas lalu berkembang dengan ruang lingkup originalnya. Contoh
dari sistem operasi ini adalah MS-DOS dan UNIX. MS-DOS merupakan sistem operasi yang
menyediakan fungsional dalam ruang yang sedikit sehingga tidak dibagi menjadi beberapa modul,
sedangkan UNIX menggunakan struktur monolitik dimana prosedur dapat saling dipanggil oleh
prosedur lain di sistem bila diperlukan dan kernel berisi semua layanan yang disediakan sistem
operasi untuk pengguna [Bambang2002]. Inisialisasi-nya terbatas pada fungsional perangkat keras
yang terbagi menjadi dua bagian yaitu kernel dan sistem program. Kernel terbagi menjadi serangkaian
interface dan device driver dan menyediakan sistem file, penjadwalan CPU, manajemen memori, dan
fungsi-fungsi sistem operasi lainnya melalui system call
Kelemahan struktur monolitik adalah:
• Pengujian dan penghilangan kesalahan sulit karena tidak dapat dipisahkan dan dialokasikan
• Sulit dalam menyediakan fasilitas pengamanan
• Merupakan pemborosan memori bila setiap komputer harus menjalan kernel monolitik, karena
semua layanan tersimpan dalam bentuk tunggal sedangkan tidak semua layanan diperlukan.
• Kesalahahan sebagian fungsi menyebabkan sistem tidak berfungsi.
Keuntungan struktur monolitik adalah layanan dapat dilakukan dengan cepat karena terdapat dalam
satu ruang.
Pendekatan Berlapis (Layer Approach)
Sistem operasi dibagi menjadi beberapa lapisan. Lapisan terbawah (layer 0) adalah hardware dan
yang tertinggi (layer N) adalah user interface. Lapisan N memberi layanan untuk lapisan N+1
sedangkan proses-proses di lapisan N dapat meminta layanan lapisan N-1 untuk membangun
layanan lapisan N+1. Lapisan N dapat meminta layanan lapisan N-1 namun lapisan N tidak dapat
meminta layanan lapisan N+1. Masing-masing berjalan pada lapisannya sendiri
[MDGR2006] Menurut Tanenbaum dan Woodhull, sistem terlapis terdiri dari enam lapisan, yaitu:
• Lapisan 0. Mengatur alokasi prosesor, pertukaran antar proses ketika interupsi terjadi atau waktu
habis dan lapisan ini mendukung dasar multi-programming pada CPU.
• Lapisan 1. Mengalokasikan ruang untuk proses di memori utama dan pada 512 kilo word drum
yang digunakan untuk menahan bagian proses ketika tidak ada ruang di memori utama.
• Lapisan 2. Menangani komunikasi antara masing-masing proses dan operator console. Lapisan
ini masing-masing proses secara efektif memiliki operator console sendiri.
• Lapisan 3. Mengatur peranti I/O dan menampung informasi yang mengalir dari/ke proses
tersebut.
• Lapisan 4. Tempat program pengguna. Pengguna tidak perlu memikirkan tentang proses,
memori, console, atau manajemen I/O.
• Lapisan 5. Merupakan operator sistem.
Contoh sistem operasi yang menggunakan pendekatan berlapis adalah THE yang dibuat oleh Djikstra
dan mahasiswa-mahasiswanya, serta sistem operasi MULTICS.
[Bambang2002] Kelemahan struktur ini adalah fungsi-fungsi sistem operasi harus diberikan ke tiap
lapisan secara hati-hati. Sedangkan keunggulannya adalah memeliki semua kelebihan 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.
Microkernels
Metode struktur ini adalah menghilangkan komponen-komponen yang tidak diperlukan dari kernel dan
mengimplementasikannya sebagai sistem dan program-program level user. Hal ini akan menghasilkan
kernel yang kecil. Fungsi utama dari jenis ini adalah menyediakan fasilitas komunikasi antara program
client dan bermacam pelayanan yang berjalan pada ruang user. Contoh sistem operasi yang
menggunakan metode ini adalah TRU64 UNIX, MacOSX dan QNX
Keuntungan dari kernel ini adalah kemudahan dalam memperluas sistem operasi, mudah untuk
diubah ke bentuk arsitektur baru, kode yang kecil dan lebih aman. Kelemahannya adalah kinerja akan
berkurang selagi bertambahnya fungsi-fungsi yang digunakan.
Modular (Modules)
Kernel mempunyai kumpulan komponen-komponen inti dan secara dinamis terhubung pada
penambahan layanan selama waktu boot atau waktu berjalan. Sehingga strateginya menggunakan
pemanggilan modul secara dinamis (Loadable Kernel Modules). Umumnya sudah diimplementasikan
oleh sistem operasi modern seperti Solaris, Linux dan MacOSX.
Sistem Operasi Apple Macintosh Mac OS X menggunakan struktur hybrid. Strukturnya
menggunakan teknik berlapis dan satu lapisan diantaranya menggunakan Mach microkernel
Virtual Machine
Dalam struktur ini user seakan-akan mempunyai seluruh komputer dengan simulasi atas pemroses
yang digunakan. Sistem operasi melakukan simulasi mesin nyata yang digunakan user, mesin virtual
ini merupakan tiruan seratus persen atas mesin nyata [Bambang2002].
Teknologi ini awalnya digunakan pada IBM S/370. VM/370 menyediakan mesin virtual untuk tiap user
dengan membuat mesin virtual baru pada saat user tersebut melakukan log sistem. Kemudian teknik
ini berkembang menjadi operating system emulator sehingga sistem operasi dapat menjalankan
aplikasi-aplikasi untuk sistem operasi lain.
Dalam lingkungan ini terdapat proteksi berbagai sumber daya sistem. Setiap virtual-machine secara
lengkap mengisolasi dari semua virtual-machine yang lain, sehingga tidak ada masalah proteksi. Ada
dua pendekatan dalam penyediaan sharing yang diimplementasikan, pertama hal ini memungkinkan
share minidisk dan share files. Kedua, memungkinkan pendefinisian jaringan virtual-machine,
sehingga dapat mengirim informasi melalui virtual jaringan komunikasi.
Contoh dari pengembangan itu adalah sebagai berikut:
• Sistem operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2 mode teks dan
aplikasi WIN16.
• IBM mengembangkan WABI untuk meng-emulasikan Win32 API sehingga sistem operasi yang
menjalankan WABI dapat menjalankan aplikasi-aplikasi untuk MS-Windows.
• Para pengembang Linux membuat DOSEMU untuk menjalankan aplikas-aplikasi DOS pada
sistem operasi Linux, WINE untuk menjalankan aplikasi-aplikasi MS-Windows.
• VMWare merupakan aplikasi komersial yang meng-abstraksikan perangkat keras intel 80x86
menjadi virtual mesin dan dapat menjalan beberapa sistem operasi lain (guest operating
system) di dalam sistem operasi MS-Windos atau Linux (host operating system). VirtualBox
merupakan salah satu aplikasi sejenis yang opensource.
0 komentar:
Posting Komentar