Pada bab sebelumnya telah dibahas berbagai komponen yang menyusun sistem operasi. Bab ini akan membahas bagaimana komponen-komponen sistem operasi tersebut tersusun. Secara umum, suatu sistem operasi dapat memiliki salah satu dari struktur berikut ini:
2.5.1 STRUKTUR MONOLITIK
Struktur monolitik pada dasarnya adalah konstruksi tanpa struktur. Jadi semua komponen sistem operasi bercampur jadi satu, dan semua rutin dapat mengakses rutin lainnya. MSDOS dan UNIX merupakan contoh sistem operasi yang berstruktur monolitik. Gambar 2.14 menunjukkan struktur sistem operasi MSDOS (a) dan UNIX(b).
Gambar 2.14 Struktur Monolitik (a) MSDOS (b) UNIX
Pada sistem operasi MSDOS, antara aplikasi dan sistem operasi bahkan tidak ada pemisahan yang jelas. Ini menyebabkan mudahnya program- program virus memodifikasi dan merusak sistem operasi MSDOS. Pada sistem operasi MSDOS, program aplikasi memiliki akses untuk memo- difikasi bagian sistem operasi (program resident, device driver MSDOS, maupun device driver BIOS). Pada sistem operasi UNIX, ada pemisahan antara program aplikasi dan sistem operasi. Program aplikasi hanya dapat mengakses rutin-rutin sistem operasi lewat system call. Tetapi rutin-rutin sistem operasinya, seperti algoritma penjadwalan prosesor, manajemen sistem berkas, driver disk dan tape, semuanya tercampur aduk jadi satu.
2.5.2 STRUKTUR BERLAPIS (LAYERED)
Cara lain untuk mengorganisasi rutin-rutin sistem operasi adalah dengan pendekatan struktur berlapis. Contoh arsitektur perangkat lunak yang juga menggunakan struktur berlapis adalah protokol jaringan komputer. Pada struktur berlapis, rutin-rutin dikelompokkan dalam lapisan-lapisan. Setiap lapisan bersifat modular. Lapisan yang lebih bawah bertugas me- nangani detil operasi perangkat keras, sedangkan lapisan yang lebih atas lebih fokus menangani antar muka ke pengguna ataupun program apli- kasi. Satu ciri khas pada struktur berlapis adalah rutin-rutin pada suatu lapisan hanya boleh menggunakan rutin-rutin lapisan di bawahnya.
Contoh sistem operasi dengan struktur berlapis adalah THE, Venus, dan OS/2. Gambar 2.15 memberikan contoh struktur sistem operasi THE. Lapisan O sampai lapisan 3 berkaitan dengan rutin sistem operasi. Bagian paling bawah, lapisan 0, menangani alokasi prosesor dan multiprogram- ming. Lapisan di atasnya menangani alokasi memori, lapisan berikutnya menangani komunikasi operator - proses. Lapisan 3 menangani mana- jemen peranti I/O.
Contoh struktur berlapis lainnya adalah OS/2 seperti ditunjukkan pada Gambar 2.16. Terlihat struktur OS/2 memisahkan antara rutin-rutin device driver, yang menangani detil operasi peranti I/O, dengan bagian lainnya. Lapisan kernel berisi manajemen memori, penjadwalan proses, dan manajemen device. Lapisan di atasnya adalah lapisan subsistem yang berperan mendukung portabilitas dengan sistem lain dan memberikan layanan antarmuka ke program aplikasi dan pengguna.
Gambar 2.16 Struktur sistem operasi OS/2
Dari segi rancangan, struktur berlapis lebih mudah dipelihara dan diperluas fungsionalitasnya. Tetapi permasalahannya adalah membagi rutin-rutin ke dalam lapisan-lapisan secara tegas bukanlah sesuatu yang mudah dilakukan.
2.5.3 STRUKTUR CLIENT-SERVER (MICROKERNEL)
Dengan begitu banyaknya tugas yang harus dilakukan oleh sistem operasi. ukuran dari sistem operasi cenderung besar dan kompleks. Hal demikian sangat tidak baik untuk pengembangan lebih lanjut pada sistem operasi bersangkutan.
Untuk mengatasi hal ini, trend pengembangan sistem operasi cenderung memindahkan sebagian besar kode instruksi sistem operasi sebagai blok modular yang berjalan dalam modus user seperti yang ditunjukkan Gambar 2.17. Bagian yang tetap harus berjalan dalam modus kernel menjadi jauh lebih kecil dan kompak. Karena ukuran yang kompak, bagian sistem operasi ini disebut dengan mikrokernel, yang pada intinya bertugas untuk memfasilitasi komunikasi proses program aplikasi (client process) dengan proses sistem operasi seperti server berkas, server memori, ataupun server proses. Selain itu, microkernel berisi kode-kode instruksi yang tidak aman jika dijalankan pada modus user, seperti kode- kode instruksi device driver.
Gambar 2.17 Contoh struktur client-server
Tidak ada komentar:
Posting Komentar