Pengertian Management Input Output
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.
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
berkas pada perangkat keras, CD-ROM dan floppy disk .
Manajemen sistem I/O merupakan
aspek perancangan sistem operasi yang terluas disebabkan sangat beragamnya
perangkat dan begitu banyaknya aplikasi dari perangkat- perangkat itu.
Sistem operasi bertanggung jawab dalam aktivitas yang
berhubungan dengan manajemen sistem/perangkatI/O:
§
Mengirim perintah ke perangkat I/O agar menyediakan layanan.
§
Menangani interupsi perangakat I/O .
§
Menangani kesalahan pada
perangakat I/O.
§
Menyediakan antarmuka ke pengguna.
Beberapa fungsi management input /output :
1. Mengirim
perintah ke perangkat input / output agar menyediakan layanan.
2. Menangani
interupsi perangkat input / output
3. Menangani
kesalahan perangkat input /output.
4. Menyediakan
interface ke pemakai.
Teknik Management Input Output
I/O Terprogram
Pada
I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU
mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung,
seperti pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring
perangkat.
Kelemahan
teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul
I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya.
Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap
proses – proses yang diinteruksikan padanya. Seluruh proses merupakan tanggung
jawab CPU sampai operasi lengkap dilaksanakan
I/O Interrupt
Teknik interrupt – driven I/O memungkinkan proses tidak membuang – buang
waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan
perintah I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah –
perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang
diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.
Dalam teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik
pengambilan perintah dari memori maupun pelaksanaan isi perintah tersebut.
Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa
perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU. Teknik interrupt –
driven I/O memungkinkan proses tidak membuang buang waktu. Prosesnya adalah CPU
mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan
modul I/O maka CPU akan melakukan eksekusi perintah – perintah lainnya. Apabila
modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan
melakukan interupsi pada CPU bahwa tugasnya telah selesai.
Dalam
teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan
perintah dari memori maupun pelaksanaan isi perintah tersebut. Terdapat
selangkah kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa
perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU
Direct Memory Access (DMA)
Teknik yang dijelaskan sebelumnya yaitu I/O terprogram dan
Interrupt-Driven I/O memiliki kelemahan, yaitu proses yang terjadi pada modul
I/O masih melibatkan CPU secara langsung. Hal ini berimplikasi pada :
• Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya interupsi secara langsung.
Bertolak dari kelemahan di atas, apalagi untuk menangani transfer
data bervolume besar dikembangkan teknik yang lebih baik,
dikenal dengan Direct Memory Access (DMA).
Prinsip kerja DMA adalah CPU akan
mendelegasikan kerja I/O kepada DMA, CPU hanya akan terlibat pada awal
proses untuk memberikan instruksi lengkap pada DMA dan akhir proses saja.
Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu
dengan interupsi.
Ada
juga beberapa perangkat keras yang terdapat pada I/O manajemen yaitu :
1.
Pooling
§
Busy-waiting/
polling adalah ketika host mengalami looping yaitu
membaca status register secara terus-menerus sampai status busy di-clear.
§
Pada dasarnya polling dapat dikatakan efisien. Akan tetapi
polling menjadi tidak efisien ketika setelah berulang-ulang melakukan looping, hanya menemukan sedikit device yang siap untuk men-service, karena CPU processing yang
tersisa belum selesai.
2.
Interupsi
Mekanisme
Dasar Interupsi :
§
Ketika CPU mendeteksi bahwa
sebuah controller telah mengirimkan sebuah sinyal
ke interrupt request line (membangkitkan
sebuah interupsi), CPU kemudian menjawab interupsi tersebut (juga disebut
menangkap interupsi) dengan menyimpan beberapa informasi mengenai state terkini CPU–contohnya nilai instruksi pointer, dan memanggil interrupt
handler agar handler tersebut
dapat melayani controller atau alat yang
mengirim interupsi tersebut.
§
Fitur Tambahan pada Komputer Modern
:
§
Pada arsitektur komputer modern,
tiga fitur disediakan oleh CPU dan interrupt controller (pada
perangkat keras) untuk dapat menangani interrupsi dengan lebih bagus.
Fitur-fitur ini antara lain adalah kemampuan menghambat sebuah proses interrupt handling selama prosesi berada
dalam critical state, efisiensi penanganan interupsi sehingga
tidak perlu dilakukan polling untuk mencari device yang
mengirimkan interupsi, dan fitur yang ketiga adalah adanya sebuah konsep multilevelinterupsi sedemikian rupa sehingga terdapat
prioritas dalam penanganan interupsi (diimplementasikan dengan interrupt priority level system).
Penyebab
Interupsi
§
Interupsi dapat disebabkan berbagai
hal, antara lain exception, page fault, interupsi
yang dikirimkan oleh device controllers,
dan system call Exception adalah suatu kondisi dimana
terjadi sesuatu/ dari sebuah operasi didapat hasil tertentu yang dianggap
khusus sehingga harus mendapat perhatian lebih, contoh nya pembagian dengan 0
(nol), pengaksesan alamat memori yang restricted atau
bahkan tidak valid, dan lain-lain.
§
System
call adalah sebuah fungsi pada
aplikasi (perangkat lunak) yang dapat mengeksekusikan instruksi khusus
berupa software interrupt atau trap.
3.
DMA
§
DMA adalah sebuah prosesor khusus (special purpose processor) yang berguna untuk
menghindari pembebanan CPU utama oleh program I/O (PIO).
4.
Handshaking
§
Proses handshaking antara DMA controller dan device controller dilakukan
melalui sepasang kabel yang disebut DMA-request dan
DMA-acknowledge. Device controller mengirimkan sinyal
melalui DMA-request ketika akan mentransfer data sebanyak
satu word. Hal ini kemudian akan mengakibatkan DMA controller memasukkan alamat-alamat yang dinginkan
ke kabel alamat memori, dan mengirimkan sinyal melalui kabel DMA-acknowledge. Setelah sinyal melalui kabel DMA-acknowledge diterima, device controller mengirimkan data yang dimaksud
dan mematikan sinyal pada DMA-request.
§
Hal ini berlangsung berulang-ulang
sehingga disebut handshaking. Pada saat DMA controller mengambil alih memori, CPU sementara
tidak dapat mengakses memori (dihalangi), walau pun masih dapat mengaksees data
pada cache primer dan sekunder. Hal ini disebut cycle
stealing, yang walau pun memperlambat komputasi CPU, tidak menurunkan
kinerja karena memindahkan pekerjaan data transfer ke DMA controllermeningkatkan performa sistem secara
keseluruhan.
Prinsip
Perangkat lunak Input / Output
Pemanfaatan perangkat lunak untuk mengelola I/O ini pada dasarnya
adalah mengorganisasikan software dalam beberapa layer dimana level bawah
menyembunyikan akses atau kerumitan hardware untuk level diatasnya. Level akan
berfungsi sebagai antar muka atau interface ke pengguna. Adapun
kriteria,
karakteristik atau tujuan perangkat lunak I/O adalah :
1. Konsep dalam desain software I/O, merupakan
device independence dan tidak bergantung pada device yang digunakan.
2. Penamaan yang seragam / Uniform Naming.
Penamaan file berkas atau perangkat adalah string atau integer dan harus
sederhana, tidak bergantung pada device Contoh : seluruh disks dapat dibuat
dengan hirarki sistem file (menggunakan NPS).
3. Penanganan kesalahan / Error Handling. Error
harus ditangani sedekat mungkin dengan hardware. Contoh : pertama controller,
device driver, dst. Dan jika tidak bisa ditangani beri pesan
4. Synchronous (blocking) dan Asynchronous
(Interrupt Driver) transfer. Kebanyakan I/O adalah asinkron. Pemroses memulai
transfer dan mengabaikan untuk melakukan kerja lain sampai interupsi tiba.
Program pemakai sangat lebih mudah ditulis jika operasi I/O berorientasi blok.
Setelah perintah read, pemrogram ditunda secara otomatis sampai data tersedia
di buffer.
5. Sharable vs Dedicated Device. Beberapa
perangkat dapat dipakai bersama seperti disk, tapi ada juga perangkat yang
hanya satu pemakai yang dibolehkan memakai pada satu saat. Misal : disk untuk
sharable dan printer untuk dedicated
Untuk mengimplementasikan tujuan atau kriteria diatas perangkat lunak I/O dipisahkan dalam empat layer, yaitu :
1. Interrupt Handler Interrupt harus
disembunyikan agar tidak terlihat rutin berikutnya. Device driver di blok saat
perintah I/O diberikan dan menunggu interupsi. Ketika interupsi terjadi,
prosedur penanganan interupsi bekerja agar device driver keluar dari state
blocked.
2. Device Drivers. Seluruh kode device dependent
terletak di device driver.. Tiap device driver menangani satu tipe / satu kelas
device. Tugas dari de-vice driver untuk menerima permintaan abstrak dari
software device independent diatasnya dan melakukan layanan sesuai permintaan /
mengeksekusinya.
3. Device Independent Operating System Software.
I/O device-independent adalah : software I/O yang tak bergantung pada perangkat
keras. Fungsi dasar dari software device-independent adalah: 1) membentuk
fungsi I/O yang berlaku untuk semua device dan 2) menyediakan interface uniform
yang seragam ke user level software. 3) memberikan penamaan device. 4)
memberikan proteksi device. 5) Memberi ukuran blok device agar bersifat
device-independent. 6) Melakukan Buffering. 7) mengalokasi penyimpanan pada
blok devices. 8) menglokasi dan pelepasan dedicated devices. 9) melakukan
pelaporan kesalahan.
4. User Space I/Osoftware atau lapisan pustaka.
Sebagian besar software I/O berada di dalam sistem operasi yang di link dengan
user program. System call termasuk I/O, biasanya dalam bentuk prosedur
(library procedures)
Tidak ada komentar:
Posting Komentar