By: Dita Septiana/PCA-10-01/30310005
Input/Output Sistem
Dalam melaksanakan kerjanya, komputer selalu berhubungan dengan pihak luar dengan perantara I/O device,Inout device akan menerima data dan masukan lainnya untuk diproses dan output device akan merepresentasikan hasil perhitungan tadi dengan format yang dikehendaki oleh pengguna.
Terdapat dua bagian penting yang membangun suatu I/O system, yaitu I/O bus dan I/O device. I/O device adlah alat-alat I/O yang digunakan pada suatu komputer sedangkan I/O bua adalah tipe kanal atau interface yang digunakan oleh I/O device tersebut, seperti ISA, PCI, PCI express dan sebagainya.
· Input/Output system arsitektur
I/O device diatur melalui southbridge yang terdapat dalam suatu komputer (motherboard). Dalam perkembangannya, southbridge biasanya dibantu oleh suatu super I/O controller yang bertugas mengatur kerja I/O yang memiliki fungsi kerja yang tidak begitu membutuhkan prioritas.
Untuk menentukan kinerja I/O system dapat digunakan dua acuan”
- Nilai Latency, yaitu waktu yang dibutuhkan untuk melakukan transfer data dengan ukuran terkecil. Satuan latency adalah detik.
- Bandwidth, yaitu banyaknya data maksimal yang dapat ditransfer dalam satuan waktu. Satuan dari bandwidth adalah Byte/s.
· Mekanisme kerja Input/Output system
1. Pooling
Busy waiting/pooling adalah mekanisme CPU membaca status device secara terus-menerus untuk menentukan device yang bebas.
o Berikut cara kerja pooling:
a. Command ready bit akan diset aktif oleh host (CPU/microprocessor pada gambar)
b. Host akan mencari device yang bebas
c. Ketika menemukan device yang bebas, busy bit akan diset oleh device controller
d. Host akan melakukan pertukaran data dengan device
e. Setelah selesai, device controller akan menonaktifkan command ready bit dan busy bit
2. Interrupt
Konsep dasar interrupt adalah device dapat mengalihkan sementara CPU untuk melayani device tersebut. Cara kerjanya adalah sebagai berikut:
a. CPU mendeteksi interrupt request line yang dikirimkan oleh device via controller
b. CPU menyimpan status kerja sekarang dan memanggil interrupt handler untuk agar dapat melayani interrupt diatas.
3. Direct Memory Access
DMA adalah sebuah prosesor tambahan yang digunakan untuk menghindari pembebanan CPU. Berikut cara kerja DMA:
1. CPU akan menuliskan sebuah DMA command block yang berisi pointer asal dan tujuan transfer data serta jumlah byte yang akan ditransfer ke memory.
2. Command block kemudian dieksekusi oleh DMA controller sehingga controller dapat langsung mengoperasikan bus memory secara langsung.
3. Processor menyiapkan DMA transfer dengan menyedia kan data-data dari device, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang di transfer.
4. DMA controller memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh data selesai ditransfer.
5. Processor akan diinterrupt oleh DMA controller, dimana selanjutnya akan ditentukan tindakan berikutnya.
· I/O Subsistem
Fungsi I/O subsystem antara lain:
- Melakukan manajemen nama untuk file dan device
- Melakukan control akses untuk file dan device
- Melakukan alokasi untuk file dan device
- Melakukan I/O scheduling, buffering, caching, spooling
- Mengawasi status device, error handling dan recovery
- Konfigurasi dan utilisasi device driver
1. I/O Scheduling
Service ini menentukan urutan ketika beberapa proses berjalan dalam suatu waktu. Permintaan terhadap I/O akan ditampung dalam antrian dan diproses oleh I/O scheduler untuk meningkatkan efisiensi sisten dan mengurangi waktu tunggu yang dihasilkan.
2. Buffering
Buffering adalah teknik untuk menyimpan data sementara pada memory ketika dipindahkan dari suatu device/aplikasi ke device /aplikasi lainnya. Teknik buffering dapat meningkatkan kinerja sistem karena memory yang digunakan untuk proses ini lebih cepat dibandingkan akses ke disk.
3. Caching
Hampir sma dengan teknik buffering, caching akan mengduplikasi data dari device/disk ke memory sementara sehingga akses yang dibutuhkan menjadi lebih cepat. Pada buffering, data pada buffer adalah data satu-satunya sedangkan pada teknik caching, data pada cache merupakan data duplikat dari tempat lain.
4. Spooling
Spooling adalah suatu buffer yang digunakan untuk menyimpan data sementara sebelum dieksekusi oleh suatu device. Teknik spooling banyak dugunakan oleh device printer, karena printer hanya dapat melayani satu pekerjaan (mencetak) dalam suatu waktu, maka permintaan pekerjaan yang lain harus menunggu di buffer spooler.
5. Error Handling
Sistem operasi dapat mengkompensasikan sebagian besar kesalahan yang terjadi melalui proses recovery, misalnya ketika terjadi read error pada suatu disk, sistem operasi akan melakukan pembacaan ulang. Untuk kesalahan yang bersifat permanen, biasanya sistem perasi tidak dapat mengembalikan data seperti semula.Service ini menentukan urutan ketika beberapa proses berjalan dalam suatu waktu. Permintaan terhadap I/O akan ditampung dalam antrian dan diproses oleh I/O scheduler untuk meningkatkan efisiensi sisten dan mengurangi waktu tunggu yang dihasilkan.
Tidak ada komentar:
Posting Komentar