MANAJEMEN I/O
• Sering
disebut device 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.
• Komponen
Sistem Operasi untuk sistem I/O :
• Buffer
• Spooling
• Menyediakan
“driver”
• Aspek perancangan sistem operasi terluas
Fungsi Manajemen Input/Ouput (I/O)
• Mengirim perintah ke perangkat I/O agar
menyediakan layanan.
• Menangani interupsi perangkat I/O.
• Menangani kesalahan perangkat I/O.
• Menyediakan interface ke pemakai.
Klasifikasi Perangkat
I/O
·
Perangkat I/O dapat dikelompokkan berdasarkan :
1.
Sifat aliran datanya
• Perangkat
berorientasi blok.
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.
• Perangkat
berorientasi aliran karakter.
Yaitu perangkat yang menerima,
dan mengirimkan aliran karakter tanpa membentuk suatu struktur blok. Contoh :
terminal, line printer, pita kertas, kartu-kartu berlubang, interface jaringan,
mouse.
2.
Sasaran komunikasi
• Perangkat
yang terbaca oleh manusia.
Perangkat yang digunakan untuk
berkomunikasi dengan manusia.Contoh : VDT (video display terminal) : monitor,
keyboard, mouse.
• Perangkat
yang terbaca oleh mesin.
Perangkat yang digunakan untuk
berkomunikasi dengan perangkat elektronik.Contoh : Disk dan tape, sensor,
controller.
• Perangkat
komunikasi.
3.
3 teknik pemrograman
I/O terprogram atau polling system.
• Software
pengendali perangkat (driver) dipemroses harus mentransfer data ke/dari
pengendali. Driver mengeksekusi perintah yang berkomunikasi dengan pengendali
(adapter) di perangkat dan menunggui sampai operasi yang dilakukan perangkat
selesai.Driver berisi kumpulan instruksi :
1.
Pengendalian.
Berfungsi mengaktifkan perangkat eksternal dan memberitahu yang perlu
dilakukan.
2.
Pengujian.
Berfungsi memeriksa status perangkat keras berkaitan dengan perangkat
I/O.
3.
Pembacaan/penulisan
Berfungsi
membaca/menulis untuk transfer data antara register pemroses dan perangkat
eksternal.
I/O dikendalikan interupsi
• Teknik
I/O dituntun interupsi mempunyai mekanisme kerja sebagai berikut:
a.
Pemroses memberi instruksi ke perangkat I/O
kemudian melanjutkan melakukan pekerjaan lainnya.
b.
Perangkat I/O akan menginterupsi meminta layanan
saat perangkat telah siap bertukar data dengan pemroses.
c.
Saat menerima interupsi perangkat keras (,
pemroses segera mengeksekusi transfer data.
• Keunggulan
: Pemroses tidak disibukkan menunggui
dan menjaga perangkat I/O untuk memeriksa status perangkat.
• Kelemahan
:Rate transfer I/O dibatasi kecepatan menguji dan melayani
operasi perangkat.
DMA (direct memory access)
• DMA
berfungsi membebaskan pemroses menunggui transfer data yang dilakukan perangkat
I/O. Saat pemroses ingin membaca atau menulis data, pemroses memerintahkan DMA
controller dengan mengirim informasi berikut :
a.
Perintah penulisan/pembacaan.
b.
Alamat perangkat I/O.
c.
Awal lokasi memori yang ditulis/dibaca.
d.
Jumlah word (byte) yang ditulis/dibaca.
• Pemroses
mendelegasikan operasi I/O ke DMA. DMA mentransfer seluruh data yang diminta
ke/dari memori secara langsung tanpa melewati pemroses. Ketika transfer data
selesai, DMA mengirim sinyal interupsi ke pemroses.
Evolusi fungsi perangkat I/O
• Pemroses
mengendalikan perangkat I/O secara langsung.
• Pemroses
dilengkapi pengendali I/O (I/O controller).
• Perangkat
dilengkapi fasilitas interupsi.
• I/O
controller mengendalikan memori secara langsung lewat DMA.
• Pengendali
I/O menjadi pemroses terpisah.
• Pengendali
I/O mempunyai memori lokal sendiri.
Prinsip manajemen perangkat I/O
• Efisiensi.
Aspek penting karena operasi I/O
sering menimbulkan bottleneck.
• Generalitas
(device independence).
Manajemen perangkat I/O selain
berkaitan dengan simplisitas dan bebas kesalahan, juga menangani perangkat
secara seragam baik dari cara proses memandang maupun cara sistem operasi
mengelola perangkat dan operasi I/O.
Hirarki manajemen perangkat I/O
• Interrupt
handler.
Interupsi harus disembunyikan
agar tidak terlihat rutin berikutnya. Device driver di blocked saat perintah I/O
diberikan dan menunggu interupsi. Ketika interupsi terjadi, prosedur penanganan
interupsi bekerja agar device driver keluar dari state blocked.
• Device
drivers.
Semua kode bergantung perangkat
ditempatkan di device driver. Tiap device driver menangani satu tipe (kelas)
perangkat dan bertugas menerima permintaan abstrak perangkat lunak device
independent diatasnya dan melakukan layanan permintaan.
Buffering I/O
• Buffering
adalah melembutkan
lonjakan-lonjakan kebutuhan pengaksesan I/O, Terdapat beragam cara buffering,
antar lain :
• Single
buffering.
Merupakan teknik paling
sederhana. Ketika proses memberi perintah untuk perangkat I/O, sistem operasi
menyediakan buffer memori utama sistem untuk operasi.
• Double
buffering.
Peningkatan dapat dibuat dengan
dua buffer sistem.Proses dapat ditransfer ke/dari satu buffer sementara SO mengosongkan buffer lain. Teknik
ini disebut double buffering atau buffer swapping