System Programs Layanan dan Antarmuka

menambah fungsi-fungsi lain, berdasarkan fungsi-fungsi yang tersedia pada lapisan-lapisan lain yang dibawahnya. Lapisan-lapisan sistem operasi adalah suatu abstraksi dari enkapsulasi sekumpulan struktur data dalam sistem operasi. Lapisan-lapisan yang berada di atas bisa mengakses operasi-operasi yang tersedia di lapisan-lapisan bawahnya. Stallings memberi model yang lebih detail, sebagai berikut: • Lapisan 1. Berisi berbagai sirkuit elektronik, misal register, memory cells, dan logic gate. • Lapisan 2. Berisi instruksi prosesor, misal instruksi aritmatika, instruksi transfer data, dsb. • Lapisan 3. Penambahan konsep seperti prosedursubrutin, maupun fungsi yang me-return nilai tertentu. • Lapisan 4. Penambahan interrupt. • Lapisan 5. Program sebagai sekumpulan instruksi yang dijalankan oleh prosesor. • Lapisan 6. Berhubungan dengan secondary storage device, yaitu membacamenulis head,track, dan sektor. • Lapisan 7. Menciptakan alamat logika untuk proses. Mengatur hubungan antara main memory, virtual memory, dan secondary memory. • Lapisan 8. Program sebagai sekumpulan instruksi yang dijalankan oleh prosesor. • Lapisan 9. Berhubungan dengan secondary storage device, yaitu membacamenulis head,track, dan sektor. • Lapisan 10. Menciptakan alamat logika untuk proses. Mengatur hubungan antara main memory, virtual memory, dan secondary memory. • Lapisan 11. Program sebagai sekumpulan instruksi yang dijalankan oleh prosesor. • Lapisan 12. File adalah objek yang memiliki nama dan ukuran. Abstraksi dari lapisan 9. • Lapisan 13. Menyediakan interface agar bisa berinteraksi dengan pengguna. Lapisan-lapisan dari 1-4 bukanlah bagian dari sistem operasi dan masih menjadi bagian dari prosesor secara ekslusif. Lapisan ke-5 hingga ke-7, sistem operasi sudah berhubungan dengan prosesor. Selanjutnya dari lapisan ke-8 hingga 13, sistem operasi berhubungan dengan media penyimpanan maupun perlatan-peralatan lain yang ditancapkan, misalnya peralatan jaringan.

7.4. Mikro Kernel

Pada pembahasan Struktur Sederhana, sempat disinggung istilah kernel. Apakah kernel itu? Kernel adalah komponen sentral dari sistem operasi. Ia mengatur hal-hal seperti interrupt handler untuk menyediakan layanan interupsi, process scheduler membagi-bagi proses dalam prosesor, memory management, IO, dan sebagainya. Atau dengan kata lain, ia adalah jembatan antara hardware dengan software. Cara tradisional untuk membangun sistem operasi adalah dengan membuat kernel monolitis, yaitu semua fungsi disediakan oleh kernel, dan ini menjadikan kernel suatu program yang besar dan kompleks. Cara yang lebih modern, adalah dengan menggunakan kernel mikro. Pada awalnya, konsep mikro kernel dikembangkan pada sistem operasi Mach. Ide dasar dari pengembangan kernel mikro adalah bahwa hanya fitur-fitur yang perlu saja yang diimplementasikan dalam kernel mengenai fitur-fitur apa saja yang perlu diimplementasikan, ini bisa berbeda tergantung desain sistem operasi. Walaupun garis pembatas mengenai apa saja yang berada di dalam dan luar kernel mikro bisa berbeda antara desain yang satu dengan yang lain, namun ada karakteristik yang umum, yaitu servis-servis yang umumnya menjadi bagian sistem operasi menjadi subsistem eksternal yang bisa berinteraksi satu sama lain dan dengan kernel tentunya. Ini mencakup device driver, file system, virtual memory manager, windowing system, dan security devices. Pendekatan kernel mikro menggantikan pendekatan berlapis yang vertikal tradisional. Komponen-komponen sistem operasi yang berada di luar kernel mikro diimplementasikan sebagai server process dan berkomunikasi dengan message passing via kernel mikro. Misalnya jika user ingin membuat berkas baru, dia mengirim pesan ke file system server, atau jika ingin membuat proses baru, dia mengirimkan pesan ke process server. 48