Arsitektur Sistem Komputer

Perangkat Keras I/O

1. Banyaknya jenis perangkat keras I/O
2. 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 data
2. Perangkat penghubung
3. Perangkat antarmuka dengan user


Polling

1. Host terus membaca busy-bit secara berulang-ulang sampai bit tersebut clear
2. 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/O
2. Interrupt Handler menerima interrupt tersebut
3. Mekanisme interrupt juga digunakan untuk penanganan exception

Direct Memory Access (DMA)
DMA Transfer

1. Generasi komputer yang sangat tua
a. 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 perangkat
2. Beberapa sistem operasi berusaha untuk seadil mungkin

Buffering

Yakni menyimpan data di memori selama proses transfer antar perangkat
1. 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 device
a. 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 switch
2. 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.