Sistem Operasi memiliki tugas untuk melakukan manajemen device yaitu melakukan kontrol terhadap operasi input output (I/O) seperti mengambil data input dari keyboard untuk diproses lebih lanjut di prosessor.
Selain itu sistim operasi juga bertugas untuk mengelola perangkat keras (hardware) dan perangkat lunak (software) dari sistem I/O.
Manajemen device sendiri memiliki beberapa fungsi yang diimplementasikan pada lapisan kernel I/O.
Fungsi Manajemen Device
Adapun fungsi-fungsi manajemen device tersebut adalah:
Scheduling
Manajemen device berfungsi untuk melakukan scheduling atau penjadwalan penggunaan suatu piranti I/O. Jika suatu proses akan menggunakan suatu piranti, maka proses tersebut akan melakukan sistem call kepada sistim operasi.
Selanjutnya sistem call akan membuat I/O request dan jika piranti I/O yang hendak diakses sedang sibuk, maka request tersebut akan dimasukkan ke dalam antrian piranti I/O yang bersangkutan.
Buffering
Manajemen device berfungsi untuk melakukan buffer, yaitu menampung sementara data operasi I/O.
Keuntungan menggunakan buffering adalah sebagai berikut:
- Mengatasi perbedaan kecepatan antar piranti I/O.
- Mengatasi perbedaan bandwidth transfer antar piranti I/O.
- Mempertahankan semantic penyalinan data.
Caching
Untuk mempercepat eksekusi suatu proses dan piranti I/O maka manajemen device akan melakukan caching untuk menampung salinan data dari suatu piranti I/O. Konsep caching memakai memori kecepatan tinggi untuk menampung salinan data dari suatu piranti I/O
Spooling
Spooling dilakukan agar suatu proses yang tidak mendapatkan sumber daya tidak berubah statusnya menjadi blocked. Kernel I/O akan menampung terlebih dahulu data yang hendak dikirimkan ke piranti I/O dan menempatkannya dalam suatu antrian.
Jika piranti I/O tersebut sudah tidak sibuk, maka data yang berada pada antrian akan dikirimkan pada piranti I/O tersebut. Spooling ini dilakukan pada printer, plotter, dan alat pencetak lainnya.
[caption id="" align="aligncenter" width="288"]
Printer[/caption]
Device reservation
Device reservation dilakukan untuk memastikan agar selama pengaksesan piranti I/O tidak terjadi intervensi dari proses lain.
Kernel I/O bertanggung jawab memelihara dan mengaudit status serta pemakaian suatu piranti I/O sehingga tidak terjadi proses yang tumpang tindih.
Selain itu kernel I/O juga memastikan pemakaian dan reservasi yang dilakukan tidak membuat
kondisi deadlock terhadap sistim komputer.
Error handling
Kernel bertugas untuk menangani error atau kerusakan data yang masih dapat diperbaiki serta memulihkan keadaan yang bermasalah dan mencatatnya untuk dilaporkan pada user.
Contoh: kesalahan pengiriman data I/O