• Tidak ada hasil yang ditemukan

Gambar 10.4. metode blocking dan nonblocking

10.9. Rangkuman

Port adalah titik koneksi antara perangkat M/K dengan komputer. Data mengalir keluar masuk

peralatan melalui bus. Komputer berkomunikasi dengan peralatan melalui device controller. Dua pendekatan dasar komunikasi perangkat dengan komputer: instruksi M/K langsung dan

memory-mapped. Status suatu perangkat terlihat dari bit memory-mapped-nya, 1 berarti sibuk, 0

berarti siap. CPU akan memeriksa keadaan bit ini berulang kali untuk melihat apakah perangkat siap, hal ini dinamakan polling. Interupsi bisa terjadi karena input di perangkat telah siap, output komplit atau terjadi error. Sinyal Interupsi akan disampaikan melalui interrupt request line (IRQ) yang akan diterima CPU dan mengalihkannya ke interrupt handler. Dua jenis interupsi yaitu

maskable (bisa ditunda/diabaikan) dan nonmaskable interrupt. Interrupt vector berisi alamat awal

dari interrupt handler.

DMA adalah suatu unit kontrol khusus yang disediakan untuk mentransfer data langsung antar perangkat eksternal dan memori utama, tanpa intervensi terus menerus dari prosesor. Perbedaan detil untuk setiap alat akan dienkapsulasi pada modul kernel yang disebut device driver. Driver ini dibuat oleh pembuat perangkat untuk memenuhi kebutuhan setiap peralatan dengan menggunakan salah satu antarmuka standar (aplikasi M/K).

Adanya clock dan timer pada perangkat keras komputer, setidaknya memiliki tiga fungsi, yaitu: memberi informasi waktu saat ini, memberi informasi waktu lamanya sebuah proses, sebagai trigger untuk suatu operasi pada suatu waktu. Suatu aplikasi dapat menggunakan blocking dan nonblocking I/O.

Rujukan

[Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems

Concepts. Seventh Edition. John Wiley & Sons.

[Djoko2004] Djoko Hartomo. 2005. Sistem Operasi. First Edition. Graha Ilmu.

[Riri2005] Riri Fitri Sari dan Yansen Darmaputra. 2005. Sistem Operasi Modern. First Edition. Andi Yogyakarta.

Bab 11. Subsistem M/K Kernel

11.1. Pendahuluan

Kernel menyediakan banyak layanan yang berhubungan dengan M/K. Kinerja suatu sistem dilihat dari bagus atau tidaknya M/K, oleh karena itu sistem menjadwalkan permintaan dari beberapa aplikasi seefisien mungkin dengan metode penjadwalan M/K. Kita tahu bahwa setiap perangkat mempunyai sifat yang berbeda. Perbedaan ini membuat M/K menjadi tidak efisien. Oleh karena itu, sejumlah teknik dapat kita gunakan untuk mengatasi masalah tersebut antara lain cache, buffer, dan

spooling. Permintaan ilegal dapat mempengaruhi kinerja sistem sehingga sistem melindungi M/K

dari pengguna. Sistem juga mempunyai struktur data yang berisi status komponen M/K, dan cara sistem mengubah status permintaan M/K menjadi operasi perangkat keras. Banyak pilihan yang dapat kita gunakan untuk meningkatkan kinerja M/K di berbagai tingkatan.

11.2. Penjadwalan M/K

Menjadwalkan sekumpulan permintaan M/K berarti menentukan urutan yang benar untuk mengeksekusi permintaan tersebut. Urutan aplikasi memanggil system call adalah pilihan yang paling baik. Beberapa kelebihan dari penjadwalan diantaranya:

1. Dapat meningkatkan kinerja sistem .

2. Dapat berbagi perangkat secara adil diantara banyak proses yang ingin mengakses

perangkat tersebut. .

3. Dapat mengurangi waktu tunggu rata-rata (average waiting time) dalam menyelesaikan

operasi M/K. .

Berikut adalah contoh sederhana untuk menggambarkan penjadwalan tersebut. Jika sebuah lengan disk (disk arm) terletak di dekat permulaan disk dan ada 3 aplikasi yang memblokir panggilan yang mau membaca disk tersebut. Aplikasi pertama meminta sebuah blok di dekat bagian terakhir disk, aplikasi kedua meminta sebuah blok di dekat bagian permulaan disk, dan aplikasi ketiga meminta sebuah blok di tengah-tengah disk. Sistem operasi akan mengurangi jarak yang harus ditempuh untuk memenuhi ketiga permintaan tersebut dengan mengurutkan aplikasi yang lebih dulu dilayani oleh disk dengan urutan 2-3-1. Pengurutan urutan layanan inilah yang menjadi inti dari penjadwalan M/K.

Pengembang sistem operasi menerapkan penjadwalan dengan cara mengatur antrian permintaan untuk masing-masing perangkat. Ketika sebuah aplikasi meminta sebuah blocking sistem M/K, permintaan tersebut diletakkan dalam daftar antrian untuk perangkat yang berkaitan dengan M/K dari aplikasi tersebut. Penjadwalan M/K mengurutkan urutan antrian untuk meningkatkan efisiensi sistem secara keseluruhan dan waktu tunggu rata-rata (average waiting time) dari sebuah aplikasi. Sistem operasi juga mencoba untuk menjadi adil sehingga tidak satupun aplikasi yang akan mendapatkan layanan yang lebih sedikit, atau sistem operasi memberikan prioritas layanan antara banyak permintaan aplikasi. Sebagai contoh, permintaan dari subsistem memori virtual akan mendapatkan prioritas yang lebih tinggi daripada permintaan aplikasi.

Salah satu cara subsistem M/K meningkatkan efisiensi sebuah komputer adalah dengan menjadwalkan operasi M/K. Cara lain adalah menggunakan ruang penyimpanan pada memori utama atau pada disk melalui teknik yang disebut buffering , caching, dan spooling.

11.3. Cache, Buffer, Spool

Cache

Cache adalah sebuah daerah memori cepat yang berisi salinan data. Akses ke sebuah salinan yang

di- cache lebih efisien daripada akses ke data yang asli. Sebagai contoh, instruksi-instruksi yang baru saja menjalankan proses-proses yang disimpan dalam disk,proses tersebut di- cache ke memori fisikal, dan disalin lagi ke cache primer dan sekunder dari CPU. Perbedaan sebuah buffer dan cache adalah sebuah buffer berisi salinan informasi data yang sudah ada, sedangkan sebuah cache berisi

sebuah salinan data pada ruang penyimpanan yang dapat diakses dengan cepat informasi data ada di ruang lainnya.

Caching dan buffering adalah dua fungsi yang berbeda, tetapi kadang-kadang sebuah daerah memori

dapat menggunakan kedua fungsi tersebut. Sebagai contoh, untuk menghemat copy semantic dan untuk membuat penjadwalan M/K menjadi efisien, sistem operasi menggunakan memori utama untuk menyimpan data yang ada di dalam disk. Buffer-buffer ini juga digunakan sebagai sebuah

cache untuk meningkatkan efisiensi M/K pada berkas yang digunakan secara bersama-sama oleh

beberapa aplikasi, atau sedang ditulis atau dibaca berulang-ulang. Ketika kernel menerima permintaan sebuah berkas, pertama-tama kernel mengakses buffer cache untuk melihat apakah daerah berkas tersebut sudah tersedia dalam memori utama. Jika daerah itu ada, disk fisikal M/K dapat dihindari atau tidak dipakai. Penulisan disk juga diakumulasikan ke buffer cache dalam beberapa detik sehingga transfer data yang besar dikumpulkan untuk mengefisienkan penjadwalan penulisan. Strategi penundaan penulisan ini untuk meningkatkan efisiensi M/K akan dibahas pada bagian remote file access.

Buffer

Buffer adalah sebuah daerah memori yang menyimpan data ketika data tersebut ditransfer antara dua

perangkat atau antara sebuah perangkat dan sebuah aplikasi. Buffering digunakan karena tiga alasan, antara lain: