Manajemen perangkat input/output (I/O) merupakan aspek penting dalam sistem operasi. Dokumen ini membahas tentang klasifikasi perangkat I/O, teknik pengoperasiannya, prinsip-prinsip desain, dan tujuan manajemen I/O seperti independensi perangkat, penamaan seragam, penanganan kesalahan, serta transfer data secara sinkron dan asinkron. Dokumen ini juga menjelaskan hirarki pengelolaan perangkat I/O
2. Klasifikasi Perangkat I/O
Pengelolaan perangkat I/O merupakan
aspek perancangan sistem operasi yang
terluas karena beragamnya peralatan dan
begitu banyaknya aplikasi dari peralatan-
peralatan itu.
Manajemen I/O mempunyai fungsi, di
antaranya:
Mengirim perintah ke perangkat I/O agar
menyediakan layanan.
Menangani interupsi peralatan I/O.
Menangani kesalahan pada peralatan I/O.
Memberi interface ke pemakai.
3. Berdasarkan sasaran komunikasi,
klasifikasi perangkat I/O dibagi menjadi:
Peralatan yang terbaca oleh manusia (Human
Readable Machine),
peralatan yang cocok untuk komunikasi dengan
user. Contohnya, Video Display Terminal (VDT)
yang terdiri dari layar, keyboard, dan mouse.
Peralatan yang terbaca oleh mesin (Machine
Readable Machine),
peralatan yang cocok untuk komunikasi dengan
peralatan elektronik. Contohnya disk dan tape,
sensor, controller.
Komunikasi,
peralatan yang cocok untuk komunikasi dengan
peralatan-peralatan jarak jauh. Contohnya modem.
4. Terdapat perbedaan-perbedaan besar
antarkelas peralatan tersebut. Bahkan
untuk satu kelas saja terdapat berbedaan
sangat besar.
Perbedaan-perbedaan pokok
mengenai:
antara lain
Data rate
Aplikasi
Kompleksitas pengendalian
Unit yang ditransfer
Representasi data
Kondisi-kondisi kesalahan
5. Klasifikasi lain yang dapat dilakukan
terhadap peralatan I/O adalah
berdasarkan unit transfer yang dilakukan
perangkat I/O, yaitu sbb:
Perangkat berorientasi blok (block-oriented
devices)
Peralatan mentransfer dari dan ke peralatan
dengan satuan transfer adalah satu blok
(sekumpulan karakter) yang telah ditentukan.
Perangkat berorientasi aliran karakter
(character-oriented devices)
Peralatan mentransfer dari dan ke peralatan
berupa aliran karakter.
6. Teknik Pengoperasian Perangkat I/O
Teknik Pengoperasian Perangkat
meliputi:
I/O
Perangkat I/O terprogram
(programmed I/O)
Perangkat berkendalikan interupsi
(Interrupt I/O)
DMA (Direct Memory Address)
7. Perangkat I/O terprogram
(programmed I/O)
Merupakan perangkat I/O komputer yang
dikontrol oleh program. Contohnya, perintah
mesin in, out, move.
Perangkat I/O terprogram tidak sesuai, untuk
pengalihan data dengan kecepatan tinggi karena
dua alasan yaitu:
Memerlukan overhead (ongkos) yang tinggi, karena
beberapa perintah program harus dieksekusi untuk
setiap kata data yang dialihkan antara peralatan
eksternal dengan memori utama.
Banyak peralatan periferal kecepatan tinggi
memiliki mode operasi sinkron, yaitu pengalihan
data dikontrol oleh clock frekuensi tetap, tidak
tergantung CPU.
8. Perangkat berkendalikan interupsi
(Interrupt I/O)
Interupsi lebih dari sebuah
mekanisme sederhana untuk
mengkoordinasi pengalihan I/O.
Konsep interupsi berguna di dalam
sistem operasi dan pada banyak
aplikasi kontrol di mana
pemrosesan rutin tertentu harus
diatur dengan seksama, relatif
peristiwa-peristiwa eksternal.
9. DMA (Direct Memory Address)
Merupakan suatu pendekatan
alternatif yang digunakan sebagai
unit pengaturan khusus yang
disediakan untuk memungkinkan
pengalihan blok data secara
langsung antara peralatan eksternal
dan memori utama tanpa intervensi
terus menerus oleh CPU.
11. Prinsip-Prinsip Perangkat I/O
Terdapat dua sasaran perancangan
perangkat I/O, yaitu:
Efisiensi
Merupakan aspek penting karena operasi
karena sering menjadi operasi yang
menimbulkan bottleneck pada sistem
komputer/komputasi.
Generalitas (Device-independence)
I/O
Selain berkaitan dengan simplisitas dan bebas
dari kesalahan diharapkan juga menangani
semua gerak peralatan secara beragam.
Pernyataan ini diterapkan dari cara proses-
proses memandang peralatan I/O dan cara
sistem operasi mengelola peralatan-peralatan
dan operasi-operasi I/O.
13. Masalah-masalah pada
perancangan manajemen I/O
Penamaan yang seragam (uniform
naming)
Nama berkas atau peralatan adalah
string atau integer, tidak tergantung
pada peralatan sama sekali.
Penanganan kesalahan (error
handling)
Umumnya penanganan kesalahan
ditangani sedekat mungkin dengan
perangkat keras.
14. Masalah-masalah pada
perancangan manajemen I/O
Transfer sinkron vs asinkron
Kebanyakan fisik I/O adalah asinkron.
Pemroses mulai transfer dan mengabaikannya
untuk melakukan kerja lain sampai interupsi
tiba.
Programprogram pemakai sangat lebih mudah
ditulis jika operasi-operasi I/O berorientasi
blok.
Setelah perintah read, program kemudian
secara otomatis ditunda sampai data tersedia
di buffer.
15. Masalah-masalah pada
perancangan manajemen I/O
Shareable vs dedicated
Beberapa peralatan dapat dipakai
bersama seperti disk, tapi ada juga
peralatan yang harus hanya satu
pemakai yang dibolehkan memakainya
pada satu saat.
Contohnya peralata yang harus
dedicated misalnya printer.
17. Hirarki Pengelolaan Perangkat I/O
Interrupt Handler
Device Driver
Perangkat Lunak Sistem
Device Independent
Buffering I/O
Operasi
18. Interrupt Handler
Interupsi adalah suatu peristiwa yang
menyebabkan eksekusi satu program ditunda dan
program lain yang dieksekusi.
Interrupt adalah sinyal dari peralatan luar dau
permintaan dari program untuk melaksanakan
suatu tugas khusus.
Jika interrupt terjadi, maka program dihentikan
dahulu untuk menjalankan rutin interrupt.
Ketika program yang sedang berjalan tadi
dihentikan, prosesor menyimpan nilai register
yang berisi alamat program ke stack, dan mulai
menjalankan rutin interrupt.
19. Jenis-Jenis Interupsi
Interupsi Software,
yaitu interrupt yang disebabkan
software, sering disebut dengan
call.
Interupsi Hardware,
oleh
system
Terjadi karena adanya akse pada
perangkat keras, seperti penekanan
tombol keyboard atau menggerakkan
mouse.
20. Kegunaan Interupsi
Pemulihan kesalahan
Jika kesalahan terjadi, perangkat keras kontrol
mendeteksi kesalahan dan memberi tahu CPU
dengan mengajukan interupsi.
Debugging
Debugger menggunakan interupsi untuk
menyediakan dua fasilitas penting, yaitu:
Trace
Break point.
Komunikasi Antarprogram
Perintah interupsi perangkat lunak digunakan
oleh sistem operasi untuk berkomunikasi
dengan dan mengontrol eksekusi program lain.
21. Device Driver
Setiap device driver menangani satu
tipe peralatan.
Device driver bertugas menerima
permintaan abstrak
device independent
melakukan layanan
permintaan itu.
perangkat lunak
di atasnya dan
sesuai
22. Mekanisme kerja device driver
Menerjemahkan perintah-perintah abstrak
menjadi perintah-perintah konkret.
Begitu telah dapat ditentukan perintah-perintah
yang harus diberikan ke pengendali, device driver
mulai menulis ke register-register pengendali
peralatan.
Setelah operasi selesai dilakukan peralatan,
device driver memeriksa kesalahan-kesalahan
yang terjadi.
Jika semua berjalan baik, device driver
melewatkan data ke perangkat lunak device
independent.
Device melaporkan informasi status sebagai
pelaporan kesalahan ke pemanggil.
24. Perangkat Lunak Sistem Operasi
Device Independent
Fungsi utama perangkat lunak tingkat ini adalah
membentuk fungsi-fungsi I/O yang berlaku untuk
semua peralatan dan memberi interface seragam
ke perangkat lunak tingkat pemakai.
Fungsi-fungsi yang biasa dilakukan antara lain:
Interface seragam untuk seluruh driver-driver
Penamaan peralatan
Proteksi peralatan
Memberi ukuran blok peralatan agar bersifat device
independent
Melakukan buffering
Alokasi penyimpanan pada block devices
Alokasi pelepasan dedicated devices
Pelaporan kesalahan
25. Buffering I/O
Buffering merupakan teknik untuk
melembutkan lonjakan-lonjakan
kebutuhan pengaksesan I/O secara
langsung.
Buffering adalah cara untuk
meningkatkan efisiensi sistem
operasi dan kinerja proses-proses
26. Single Buffering
Teknik ini merupakan buffering paling sederhana.
Ketika proses pemakai memberikan perintah I/O,
sistem operasi menyediakan buffer bagian
memori utama sistem untuk operasi.
Untuk peralatan berorientasi blok, transfer
masukan dibuat ke buffer sistem.
Ketika transfer selesai, proses memeindahkan
blok ke ruang pemakai dan segera meminta blok
lain. Teknik ini disebut reading ahead atau
anticipated input.
27. Double buffering
Peningkatan atas single buffering dapat
dibuat
sistem
Proses
dengan mempunyai dua buffer
untuk operasi.
dapat transfer ke (atau dari) satu
buffer sementara sistem operasi
mengosongkan (atau mengisi) buffer lain.
Double buffering menjamin proses tidak
akan menunggu operasi I/O.
Peningkatan atas single buffering
diperoleh, namun harus dibayar dengan
kompleksitas yang meningkat.
28. Tujuan Manajemen I/O
Device Independence
dengan adanaya lapisan bawah perangkat lunak I/O
yaitu interrupt handler dan device driver, maka lapisan
diatasnya tidak membutuhkan informasi tentang
rincian operasi I/O yang sangat beragam.
misal: pada saat pembuatan program menyimpan file,
tidak perlu membuat berbagai versi program untuk
setiap piranti penyimpanan data yang berbeda.
29. Uniform Naming
penamaan yang seragam untuk file yang disimpan di
berbagai jenis media penyimpanan yang berbeda.
jadi nama berkas yang digunakan tetap sama
meskipun disimpan di harddisk, CD, flashdisk atau
memori stick.
Tujuan
30. Error Handling
Kesalahan ditangani pada semua lapisan perangkat
lunak sistem I/O
Sedapat mungkin kesalahan baca dikoreksi pada tingkat
perangkat keras.
Device controller akan menangani kesalahan di tingkat
perangkat keras
Device driver akan menangani kesalahan di tingkat
perangkat lunak.
Tujuan Manajemen I/O
31. Tujuan Manajemen I/O
Transfer sinkron vs asinkron
1. Sinkron
Suatu proses dikatakan sinkron apabila suatu operasi dapat
melanjutkan eksekusinya hanya setelah permintaannya
terpenuhi.
Transfer dataProsessor akan berhenti sampai data yang
diperlukan tersedia di buffer memori.
2. Asinkron
Suatu proses dikatakan Asinkron apabila suatu operasi dapat
terus berjalan sekalipun permintaanya belum terpenuhi atau
masih sedang diproses
Transfer data Prosessor memulai transfer data sampai
mendapat sinyal bahwa proses transfer data telah selesai.
32. Tujuan Manajemen I/O
Shareable vs Dedicated device
Shareable
Jika dapat digunakan oleh beberapa pengguna pada saat
bersamaan.
Misal: Pembacaan file pada suatu disk oleh sejumlah
komputer secara bersamaan pada jaringan.
Dedicated
Hanya satu pengguna yang dapat menggunakan piranti I/O
pada suatu waktu sampai tugasnya selesai.
misal: printer.