Arsitektur Sistem Komputer
Perangkat Keras I/O
1. Banyaknya jenis perangkat keras I/O2. Konsep Umum :
a. Port
b. Bus (Daisy chain atau shared direct access)
c. Controller (host adapter)
3. Perangkat kontrol instruksi I/O
4. Perangkat-perangkat tersebut memiliki alamat, digunakan untuk:
a. Instruksi I/O langsung
b. Memory-mapped I/O
Jenis Perangkat Keras
1. Perangkat penyimpan data2. Perangkat penghubung
3. Perangkat antarmuka dengan user
Polling
1. Host terus membaca busy-bit secara berulang-ulang sampai bit tersebut clear2. Host set write-bit di command-register dan menulis satu byte di data-out register
3. Host set bit command-ready
4. Ketika controller mengetahui kalau bit command-ready di-set, dia men-set busy bit
5. Controller membaca command-register dan melihat perintah tulis. Dia membaca data-out register untuk mendapatkan
bytenya, dan melakukan operasi I/O
6. Controller menghapus bit command-ready, membersihkan bit error di status register yang menandakan operasi I/O berhasil, dan menghapus busy-bit yang menandakan kalau operasi
sudah selesai.
Interrupt
Mekanisme Interrupt
1. Jalur interrupt dihasilkan oleh perangkat I/O2. Interrupt Handler menerima interrupt tersebut
3. Mekanisme interrupt juga digunakan untuk penanganan exception
Direct Memory Access (DMA)
DMA Transfer
1. Generasi komputer yang sangat tuaa. Controller membaca dari perangkat
b. Sistem Operasi meminta controller membaca data
2.Generasi komputer yang tua
a. Controller membaca dari perangkat
b. Controller meng-interrupt OS
c. Sistem Operasi menyalin data ke memori
3. Generasi DMA
a. Controller membaca dari perangkat
b. Controller menyalin data ke memori
c. Controller meng-interrupt OS
I/O Subsystem
Kernel I/O Subsystem
Scheduling
1. Permohonan I/O dilakukan berdasarkan antrian perangkat2. Beberapa sistem operasi berusaha untuk seadil mungkin
Buffering
Yakni menyimpan data di memori selama proses transfer antar perangkat1. Solusi perbedaan kecepatan dari perangkat yang ada
2. Solusi perbedaan ukuran transfer perangkat
Caching
1. Cache : area memori yang cepat, yang berisikan kopian-kopian data.2. Beda BUFFER dan CACHE :
a. Buffer dapat menyimpan satu-satunya copy dari sebuah item data yang ada.
b. Cache hanya menyimpan sebuah salinan dari data di tempat lain pada storage sehingga lebih cepat diakses.
3. Peningkatan performa I/O, terutama untuk:
a. berkas yang digunakan secara bersama oleh beberapa aplikasi
b. berkas yang sedang di baca/tulis secara berulang-ulang.
Spooling
1. Spool : buffer yang menyimpan output devicea. Tidak dapat menerima interleaved data stream.
2. 1 device memenuhi 1 permintaan, tapi aplikasi bisa minta bersamaan.
3. Sistem operasi meng-intercept semua output ke device. Masing-masing output aplikasi di-spooled ke berkas disk yang berbeda.
4. Setiap Sistem Operasi menyediakan control interface yang :
a. Membuat users dan administrator sistem menampilkan antrian
b. Menyingkirkan pekerjaan yang tidak diinginkan.
Error Handling
1. Sistem Operasi dengan pelindung memori dapat bertahan dari berbagai jenis error dari perangkat keras dan aplikasi.2. Sistem Operasi sulit memperbaiki kesalahan permanen bila terjadi pada komponen penting,.
3. Umumnya akan me-return sebuah error number atau kode ketika permintaan I/O gagal.
4. Log system error menyimpan laporan masalah yang ada.
Meningkatkan Kinerja I/O
1. Memperkecil jumlah context switch2. Memperkecil jumlah penyalinan data yang dilakukan sewaktu pengoperan data antara device dan aplikasi
3. Memperkecil jumlah interrupt dengan menggunakan transfer secara besar-besaran, smart controllers dan polling (jika busywaiting bisa diminimalisir)
4.Menambah konkurensi dengan menggunakan DMA controllers atau channels yang telah diketahui untuk meng-offload
penyalin sederhana dari CPU
5. Memindahkan proses-proses primitif ke perangkat keras, untuk membuat operasinya dalam device controllers konkuren dengan CPU dan operasi Bus
6. Menyeimbangkan CPU, memory subsystem, bus, dan I/O performance, karena kelebihan di salah satu area akan membuat keterlambatan pada yang lain.