Pendahuluan Subsistem MK Kernel

bersamaan dengan menyediakan fasilitas langsung dengan cara koordinasi. Beberapa sistem operasi termasuk Virtual Machine System menyediakan dukungan akses perangkat secara ekslusif dengan mengalokasikan sebuah proses ke perangkat yang menganggur atau idle dan membuang perangkat tersebut jika sudah tidak diperlukan lagi. Sistem operasi lainnya memaksakan sebuah batasan dari penanganan sebuah berkas yang dibuka ke perangkat tersebut. Kebanyakan sistem operasi menyediakan fungsi yang membuat proses-proses untuk menangani koordinat akses eksklusif diantara mereka sendiri. Sebagai contoh, Windows NT menyediakan system call untuk menunggu objek perangkat sampai statusnya tersedia. Dia juga mempunyai sebuah parameter untuk system call open yang mendeklarasikan tipe-tipe akses yang diperbolehkan untuk thread\ lainnya secara bersamaan. Pada sistem ini, penghindaran deadlock diserahkan kepada aplikasi.

11.4. Proteksi MK

Sebuah sistem operasi yang menggunakan protected memory dapat menjaga banyak kemungkinan error yang terjadi pada aplikasi maupun perangkat keras sehingga sebuah failure sistem yang sulit tidak biasanya terjadi pada kesalahan mekanik yang kecil. Perangkat dan transfer MK dapat gagal dalam berbagai cara karena alasan transient seperti jaringan yang overloaded atau karena alasan permanen seperti pengontrol disk yang rusak. Sistem operasi biasanya dapat mengganti kerugian secara efektif untuk kegagalan transient. Sebagai contoh, sebuah kegagalan pembacaan disk berakibat pengulangan pembacaan disk itu lagi dan jaringan mengirimkan hasil yang salah dalam pengiriman ulang jika protokol diketahui. Jika sebuah kegagalan permanen terjadi pada sebuah komponen yang penting, sistem operasi tidak dapat memulihkan error yang terjadi. Ada aturan umum yang menyebutkan sebuah system call MK akan mengembalikan 1 bit informasi tentang status pemanggilan yang akan menandakan apakah pemanggilan tersebut sukses atau gagal. Pada sistem operasi UNIX, variable integer tambahan bernama errno digunakan untuk mengembalikan sebuah kode kesalahan dalam rentang 1 dari 100 nilai yang menandakan jenis dari kesalahan tersebut, sebagai contoh: argumen yang keluar dari rentang batas yang disediakan, bad pointer atau berkas yang tidak dapat dibuka. Sebaliknya, beberapa perangkat keras dapat menyediakan informasi yang lebih lengkap tentang kegagalan tersebut walaupun banyak sistem operasi tidak dibuat untuk menyampaikan informasi ini kepada aplikasi. Sebagai contoh: 1. kegagalan pada perangkat SCSI dilaporkan oleh protokol SCSI dalam bentuk sense key yang memberitahukan jenis kegagalan seperti error pada perangkat keras atau permintaan yang ilegal, 2. ada juga yang disebut additional sense-code yang menyatakan kategori dari kegagalan seperti parameter perintah yang tidak sesuai atau kesalahan self-test seperti pada booting, load program, dan bootstrapping. 3. sebuah additional sense-code qualifier yang memberikan informasi yang lebih detil seperti parameter perintah yang error atau subsistem perangkat keras yang gagal dalam self-test.

11.5. Struktur Data

Kernel menyimpan informasi keadaan penggunaan komponen MK, maka kernel melakukan hal tersebut pada bermacam-macam struktur data kernel seperti struktur table open-file . UNIX menyediakan akses sistem berkas untuk berbagai macam entitas seperti berkas pengguna, raw device, dan ruang alamat dari proses-proses.Walaupun masing-masing entitas ini mendukung operasi baca, tetapi semantik untuk masing-masing entiti berbeda. Sebagai contoh, untuk membaca berkas pengguna, kernel perlu memeriksa buffer cache sebelum memutuskan untuk melakukan MK disk. Untuk membaca raw disk, kernel perlu meyakinkan bahwa ukuran permintaan adalah kelipatan dari ukuran disk dan masih terdapat dalam sektor berkas. Untuk memproses citra, cuma perlu menyalin data dari memori. UNIX menyembunyikan perbedaan-perbedaan dalam struktur yang seragam dengan menggunakan teknik berorientasi objek atau object-oriented. Open-file record pada gambar adalah sebuah tabel dispatch yang berisi pointer ke routine yang bersesuaian tergantung pada tipe berkas. Beberapa sistem operasi menggunakan metode object-oriented secara lebih ekstensif. Sebagai contoh, Windows NT menerapkan metode message-passing untuk MK. Sebuah permintaan MK diubah menjadi sebuah pesan yang dikirim melalui kernel kepada manajer MK dan kemudian kepada device driver ,yang masing-masing mereka dapat mengubah isi pesan. Untuk keluaran pesan tersebut, digunakan buffer untuk menerima data. Pendekatan message-passing ini bisa menambah 86