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.
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.
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.
Maaf, hanya bisa menjelaskan 2 model sistem operasi, semoga bermanfaat bagi pembaca sekalian. Jangan lupa kasih komen.
http://msdn.microsoft.com/en-us/library/ff565734(v=vs.85).aspx
kadang2 saya suka input suatu media external tetapi proses nya lama,,itu di sebabkan kenapa ya??
BalasHapusko tulisan nya besar kecil?? hahahahah
BalasHapussystem i/o pada linux dengan windows sama ga?
di atas dijelaskan 'Dalam Linux system i/o kurang lebih mirip dengan yang terdapat pada Unix'..berarti kan da yg membedekannya,.nah yg membedakannya apa?
BalasHapusartikelnya bermanfaat gan
Saran aja. Lebih bagus kalau dibedakan mana yang serial dan yang parallel.
BalasHapusTulisan besar kecil biasanya disebabkan oleh "minuman".
oooo i/o manager bisa berkomunikasi dengan subsistem user-mode..oke2..nice post.
BalasHapussaran aja..coba di cek lagi huruf dan sebagainya...
yang dimaksud Standar PNP itu seperti apa si spaya PNP nya bisa bekerja???
BalasHapusiqbal di linux ada 3 perangkat I/O kan? yang dimaksud network device itu apa yaa?
BalasHapusbahasannya uda oke kalo dirapiin lg tulisannya pzt lebih oke.. :)
BalasHapusbwt temen smuanya thx udah di komen. oke kita cek satu**
BalasHapus@barra: maaf disini bukan temapt service komp. ok
@adi: gtw ada yang aneh, padahal galat html udah di non-aktifkan. Sudah dijelasin materi di atas. yang beda itu ada pada buffer. pada linux masing** i/o punya buffer tersendiri, tapi pada windows buffer ada pada satu fasilitas terpusat.
@Rizki: unix pada beberapa i/o harus diinialisasi sendiri oleh user. maaf sumbernya terbatas.
@hendra: mau balas dendam nih. di post kali ini lebih membahas ke cara masing** os menangani manajemen i/o.
@ela: ooooo iya.. iya.. ternyata huruf o itu bulet. Udah dicoba ampe malem tapi tetep begitu.
@Muhtadi: Standarisasi yang sudah dibuat oleh microsoft agar i/o yang di instal dapat langsung terdeteksi dan dipakai. contohnya driver harus mempunyai driver digital signer dari microsoft.
@putri: perangkat jaringan. dari sumbernya haraus dibahas lebih lanjut dengan materi tersendiri. soalnya pada linux perangkat jaringan punya i/o manager tersendiri.
@dwi: terima kasih untuk mengingatkan yang ke sekian kalinya