Managemen I/O pada Operating System
Dalam sistem komputer
manajemen i/o sangat diperlukan karena i/o adalah sarana user untuk bisa
berkomunikasi dengan komputer. Contoh perangkat i/o seperti keyboard, mice,
audio controllers, video controllers, disk drives, networking ports, dll.
Manajemen i/o pun diperlukan agar user dapat langsung menggunakan perangkat i/o
tanpa harus menginialisasi terlebih dahulu. Oleh karena itu, dalam setiap
system operasi selalu terdapat i/o manager.
i/o manager
memungkinkan perangkat i/o untuk bisa berkomunikasi dengan subsistem user-mode.
i/o manager menerjemahkan perintah read dan write menjadi read dan write IRP
(i/o request packets) yang dilanjutkan oleh driver perangkat. Atau bahasa
mudahnya i/o manager menyediakan “device driver” yang umum sehingga
operasi i/o dapat seragam (membuka, membaca, menulis, menutup).
Contoh: pengguna menggunakan operasi yang sama untuk membaca file pada
hard-disk, CD-ROM dan floppy disk.
Managemen I/O pada
windows
Dalam windows sistem
i/o menyediakan model driver berlapis yang dinamakan stack. Biasanya IRP akan
berpindah dari satu driver ke driver lain dalam satu stack yang sama ke
fasilitas komunikasi. Misalkan mouse ketika digunakan harus berkomunikasi
dengan USB hub, kemudian USB hub harus berkomunikasi dengan USB Host
Controller, selanjutnya USB Host Controller harus berkomunikasi melalui PCI bus
ke seluruh hardware computer. Maka stack akan berisi mouse driver, USB hub, USB
Host Controller, dan PCI bus. Pada windows semua kelas perangkat berbagi driver
umum yang disebut “port driver”. Port driver mengimplementasikan operasi
standard untuk suatu kelas dan “calls device-spesific routine” yang kemudian
mengimplementasikan fungsi “device-spesific”.
i/o manager pada
windows mempunyai 2 sub component yaitu: Plug and Play manager and
power manager. PnP manager adalah teknologi PnP milik Microsoft yang
berfungsi untuk mengenali dan mengadaptasi perubahan pada konfigurasi hardware.
Agar Pnp bekerja maka perangkat dan drivernya harus memenuhi standar PnP. Pnp
manager secara otomatis mengenali perangkat yang dipasang dan mendeteksi
perubahan pada perangkat seiring sistem beroperasi. Pnp manager pun tetap
mengawasi sumber daya yang digunakan oleh perangkat, dan juga potensi jika
sumber daya tersebut digunakan serta menangani “loading” driver tersebut.
Dilain sisi, power manager ikut berperan dalam mengurangi komsumsi tenaga pada
perangkat. Sehingga suatu perangkat dapat diset dalam mode “low-power”(sleep
mode) ketika tidak digunakan, dan dapat langsung dipakai ketika diperlukan.
Managemen I/O pada
linux
Dalam Linux system
i/o kurang lebih mirip dengan yang terdapat pada Unix. User dapat membuka
saluran akses ke perangkat sama seperti membuka file-perangkat lain yang tampak
sebagai objek dalam file sistem. Linux membagi semua perangkat i/o menjadi 3
kelas: “block devices”, “character devices”, dan “network devices”.
“Block devices” yaitu
menyimpan, menerima, dan mengirim informasi sebagai blok-blok berukuran tetap
yang berukuran 128 sampai 1024 byte dan memiliki alamat tersendiri, sehingga
memungkinkan membaca atau menulis blok-blok secara independen, yaitu dapat
membaca atau menulis sembarang blok tanpa harus melewati blok-blok lain. Contoh
: disk, tape, CD ROM, optical disk. Fungsi “block devices” sendiri didukung
oleh 2 sistem component, block buffer cache dan request manager. Block buffer
cache bertugas sebagai pool dari buffer i/o aktif dan cache dari “completed
i/o”. “Request manager” adalah lapisan software yang mengelola konten read dan
write buffer dari dan menuju block-device driver.
“Character devices”
yaitu perangkat yang menerima, dan mengirimkan aliran karakter tanpa membentuk
suatu struktur blok. Contoh : terminal, line printer, pita kertas, kartu-kartu
berlubang, mouse. Perangkat ini tidak memerlukan random access untuk sebuah
block data. Akan tetapi, tiap perangkat telah memiliki berbagai fungsi yang
telah terdaftar pada kernel yang diimplementasikan pada file operasi i/o.
Sedangkan “network
devices” berbeda dengan block atau character devices, user harus berkomunikasi
secara tidak langsung dengan cara harus membuka sambungan dengan subsistem
jaringan kernel.
Komentar
Posting Komentar