Manajemen Input/Output
Fungsi utama sebuah komputer adalah
melakukan proses input/output. Sehingga manajemen input/output sangatlah
penting agar komputer dapat berjalan dengan efisien. Pengelolaan perangkat I/O
merupakan aspek perancangan sistem operasi yang terluas karena beragamnya
peralatan dan aplikasi dari peralatan-peralatan tersebut.
1. Komponen I/O
a. Buffer : menampung sementara data dari/ke perangkat I/O
- single buffer : Merupakan teknik paling sederhana. Ketika proses
memberi perintah untuk perangkat I/O, sistem operasi menyediakan buffer memori
utama sistem untuk operasi.
- double buffer : Proses dapat ditransfer ke/dari satu buffer
sementara sistem operasi mengosongkan (atau mengisi) buffer lain. Double
buffering menjamin proses tidak menunggu operasi I/O.
- circular buffer : Seharusnya melembutkan aliran data antara
perangkat I/O dan proses. Jika kinerja proses tertentu menjadi fokus kita, maka
kita ingin agar operasi I/O mengikuti proses. Double buffering tidak mencukupi
jika proses melakukan operasi I/O yang berturutan dengan cepat. Masalah sering
dapat dihindari dengan menggunakan lebih dari dua buffer. Ketika lebih dari dua
buffer yang digunakan, kumpulan buffer itu sendiri diacu sebagai circulat
buffer. Tiap bufferindividu adalah satu unit di circular buffer.
b. Spooling : melakukan penjadwalan pemakaian I/O sistem supaya lebih
efisien
2. Perangkat
Perangkat I/O
dapat dikelompokkan berdasarkan :
a.
Sifat aliran datanya, yang
terbagi atas :
1. 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. Contoh : disk,tape,CD ROM, optical disk.
2. 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.
b. Sasaran komunikasi, yang terbagi atas :
1. Perangkat yang terbaca oleh manusia.
Perangkat yang digunakan untuk berkomunikasi dengan manusia.Contoh :
VDT (video display terminal) : monitor, keyboard, mouse.
2. Perangkat yang terbaca oleh mesin.
Perangkat yang digunakan untuk berkomunikasi dengan perangkat
elektronik.Contoh : Disk dan tape, sensor, controller.
3. Perangkat komunikasi.
Perangkat yang digunakan untuk komunikasi dengan perangkat jarak
jauh.Contoh : Modem.
3. Teknik I/O
a. I/O polling system
Ketika perangkat I/O menangani permintaan,
perangkat men-set bit status di register status perangkat. Perangkat tidak
memberitahu ke pemroses saat tugas telah selesai dilakukan sehingga pemroses
harus selalu memeriksa register tersebut secara periodik dan melakukan tindakan
berdasar status yang dibaca. 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. Contoh : unit tape magnetik diinstruksikan untuk kembali ke
posisi awal, bergerak ke record berikut, dan sebagainya.
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.Masalah utama I/O terprogram adalah pemroses
diboroskan untuk menunggu dan menjagai operasi I/O. Diperlukan teknik lain
untuk meningkatkan efisiensi pemroses.
b. I/O dikendalikan interupsi.
Teknik I/O dituntun interupsi mempunyai mekanisme kerja sebagai
berikut :
o Pemroses memberi instruksi ke perangkat I/O kemudian
melanjutkan melakukan pekerjaan lainnya.
o Perangkat I/O akan menginterupsi meminta layanan saat perangkat
telah siap bertukar data dengan pemroses.
o Saat menerima interupsi perangkat keras (yang memberitahukan
bahwa perangkat siap melakukan transfer), pemroses segera
mengeksekusi transfer data.
Keunggulan :
o Pemroses tidak
disibukkan menunggui dan menjaga perangkat I/O untuk memeriksa status
perangkat.
Kelemahan :
o Rate transfer
I/O dibatasi kecepatan menguji dan melayani operasi perangkat.
o Pemroses
terikat ketat dalam mengelola transfer I/O. Sejumlah intruksi harus
dieksekusi untuk tiap transfer I/O.
c. Dengan 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 :
o Perintah penulisan/pembacaan.
o Alamat perangkat I/O.
o Awal lokasi memori yang ditulis/dibaca.
o Jumlah word (byte) yang ditulis/dibaca.
Setelah mengirim informasi-informasi itu ke DMA controller, pemroses
dapat melanjutkan kerja lain. 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. Sehingga pemroses hanya dilibatkan pada awal dan akhir transfer
data. Operasi transfer antara perangkat dan memori utama dilakukan sepenuhnya
oleh DMA lepas dari pemroses dan hanya melakukan interupsi bila operasi telah
selesai.
Keunggulan :
o Penghematan waktu pemroses.
Keunggulan :
o Penghematan waktu pemroses.
o Peningkatan kinerja I/O.
4. Fungsi
5. Prinsip
a. Efisiensi.
Aspek penting karena operasi
I/O sering menimbulkan bottleneck.
b. 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.
6. Hirarki
a. 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.
b. 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.
Mekanisme kerja
device driver :
o Menerjemahkan
perintah abstrak menjadi perintah konkret.
o Setelah
ditentukan perintah yang harus diberikan ke pengendali, device driver
mulai menulis ke register-register pengendali perangkat.
oSetelah
operasi selesai dilakukan perangkat, device driver memeriksa status
kesalahan yang terjadi.
o Jika berjalan
baik, device driver melewatkan data ke perangkat lunak device independent.
oKemudian
device driver melaporkan status operasinya ke pemanggil.
d. Perangkat lunak device independent.
Bertujuan membentuk fungsi-fungsi I/O yang berlaku untuk semua
perangkat dan memberi antarmuka seragam ke perangkat lunak tingkat
pemakai. Fungsi-fungsi lain yang dilakukan :
o Sebagai interface
seragam untuk seluruh device driver.
o Penamaan perangkat.
o Proteksi
perangkat.
o Memberi ukuran
blok perangkat agar bersifat device independent.
o Melakukan
buffering.
o Alokasi
penyimpanan pada block devices.
o Alokasi dan
pelepasan dedicated devices.
o Pelaporan
kesalahan.
e. Perangkat lunak level pemakai.
Kebanyakan perangkat lunak I/O terdapat di sistem operasi. Satu
bagian kecil berisi pustaka-pustaka yang dikaitkan pada program pemakai dan
berjalan diluar kernel. System calls I/O umumnya dibuat sebagai
prosedur-prosedur pustaka. Kumpulan prosedur pustaka I/O merupakan bagian
sistem I/O. Tidak semua perangkat lunak I/O level pemakai berupa prosedur-
prosedur pustaka. Kategori penting adalah sistem spooling. Spooling adalah cara
khusus berurusan dengan perangkat I/O yang harus didedikasikan pada sistem
multiprogramming.
Kelompok Lupa :
Bryan Yudho Haryono 13523121
Kelompok Lupa :
Bryan Yudho Haryono 13523121
Ridho Akbar Dermawan 13523135
Desta Aditya R 13523169
Warih Arbi H 13523193
Fikri Aulia 13523196
Windi Astriningsih 13523265
Warih Arbi H 13523193
Fikri Aulia 13523196
Windi Astriningsih 13523265


0 comments:
Post a Comment