SISTEM OPERASI
Disusun
Oleh:
2201082036
2023
Sistem I/O
Perangkat I/O
KATEGORI
Perangkat block: disk drives. Perintah nya adalah read, write dan
seek. Akses I/O mentah atau file-system dan memungkinkan akses
file memory-mapped.
Perangkat karakter : keyboards, mouse, serial ports. Perintahnya
adalah get dan put.
Perangkat jaringan cukup berbeda dengan perangkat blok dan
karakter sehingga memiliki antarmuka sendiri. Unix dan
Windows/NT memiliki antarmuka socket. Memisahkan protocol
jaringan dari operasi jaringan dan meliputi fungsionalitas select.
Berbagai pendekatan yang ada yaitu pipe, FIFO, streams, antrian dan
mailbox.
Clock dan timer itu menyediakan informasi current time, elapsed
time, timer. Waktu interval programmable digunakan untuk timing,
periodic interrupts. Ioctl (pada UNIX) mencakup aspek I/O seperti
clock dan timer.
KOMPONEN
Port => titik koneksi untuk komunikasi perangkat I/O dengan
computer.
Bus => jalur yang digunakan Bersama oleh satu/lebih perangkat.
Controller
a) Tugas controller adalah mengkonversi aliran bit serial ke blok
byte. Melakukan koreksi kesalahan jika diperlukan. Membuat
data dapat diakses oleh memori utama.
b) Jenis controller adalah serial-port controller, SCSI controller
dan built-in controller.
ALAMAT
Intruksi Direct I/O
a) Perangkat memiliki alamat khusus yang terpisah dari alamat
memori.
b) Akses terhadap perangkat I/O menggunakan alamat perangkat
tersebut.
Memory-mapped I/O
a) Perangkat memiliki alamatt logic pada memori utama.
b) Instruksi load/store dapat digunakan untuk mengakses
register perangkat yaitu efisiensi tipe instruksi pada prosesor.
Polling I/O
Interrupt
Perangkat I/O mentrigger interrupt CPU menandakan selesainya operasi I/O.
interrupt handler menerima interrupt. Maskable dilakukan untuk mengabaikan atau
menunda beberapa interrupt. Interrupt vector untuk mengarahkan interrupt ke
handler yang seuai prioritas dan beberapa interrupt tidak dapat di-mask. Mekanisme
interrupt juga digunakan untuk eksepsi.
DMA
Issue
Penanganan Error
Kegagalan yang mungkin terjadi pada operasi I/O adalah pembacaan disk,
penulisan dan perangkat tidak dapat diakses.
OS dapat memulihkan dari kegagalan tersebut.
Biasanya mengembalikan error# jika terjadi kegagalan I/O.
Log system error menyimpan laporan masalah yang terjadi.
Interrupt Handler
Performasi
I/O Streams
I/O Stream adalah suatu mekanisme pengiriman data secara bertahap dan terus
menerus melalui suatu aliran data (duplex). Biasanya digunakan dalam network
protocol bersifat Asynchronous. Menggunakan message passing dalam mentransfer
data. Untuk memasukkan ke dalam stream digunakan IO control system call atau
pemrograman Socket. Untuk menuliskan data ke device digunakan write/putmsg
system call. Untuk membaca data dari device digunakan read/getmsg system call.
Efisiensi penggunaan disk meliputi waktu akses dan bandwidth disk. Waktu
akses memiliki dua komponen utama yaitu seek time (waktu yang diperlukan untuk
menggerakkan head ke silinder yang berisi sector yang diinginkan) dan Retational
latency (waktu tambahan yang dibutuhkan untuk menunggu disk memutar sector
yang diinginkan ke head).
Seek time mendominasi = minimalkan seek time. Seek time=seek distance.
Bandwidth disk merupakan banyaknya byte yang ditransfer dibagi dengan total
waktu antara permintaan pertama layanan dan penyelesaian transfer terakhir.
Penjadwalan disk perlu dilakukan karena urutan duster/blok yang dibaca
mempengaruhi seek time, mempengaruhi kinerja I/O secara keseluruhan. Pada
sistem multiprogramming, permintaan pengaksesan disk lebih banyak daripada yang
dapat dilayani.
Tujuan penjadwalan disk adalah mengoptimalkan kinerja I/O dan permintaan
dilayani dengan urutan pergerakan mekanis yang minimum. Meminimumkan
pergerakan lengan disk (seek time).
a) SSTF
Memilih request dengan seek time minimum dari posisi head saat ini.
Mirip dengan penjadwalan SJF dapat menyebabkan starvation pada beberapa
request.
b) SCAN
Lengan disk mulai dari salah satu ujung disk dan bergerak ke arah
ujung lainnya. Melayani request hingga sampai ke ujung lainnya dari disk,
pergerakan head kemudian berbalik dan terus melayani permintaan. Disebut
juga algoritma elevator.
c) C-SCAN
Memberikan waktu tunggu yang lebih sedikit variasinya dibandingkan
dengan SCAN. Head melayani request dengan berpindah dari satu ujung disk
ke ujung lainnya. Jika telah mencapai ujung lainnya, head kembali ke awal
disk tanpa melayani request dalam perjalanan kembalinya. Menganggap
silinder sebagai list sirkuler.
d) C-LOOK
Variasi dai C-SCAN. Lengan disk hanya berpindah sejauh request
terakhir pada tiap arah dan kemudian langsung berbalik arah tanpa sampai ke
ujung disk.
Formatting
Boot Block
Bad Blocks
Pada disk sederhana seperti IDE, bad block ditangani secara manual. Program
khusus dijalankan untuk memeriksa block yang rusak dan ditandai; data dalam bad
block biasanya hilang. Pada disk yang lebih rumit seperti SCSI, pemeriksaan bad
block dilakukan secara periodic. Controller dapat mengganti block yang rusak
dengan block cadangan.
Swap Space
Ruang disk yang digunakan oleh virtual memory sebagai ekstensi dari memori
utama. Swap-space dapat diambil dari sistem file biasa atau yang lebih umum
menggunakan partisi tersendiri.
Pengelolaan swap-space :
4.3BSD mengalokasikan swap space ketika proses mulai.
Kernel menggunakan swap maps untuk melacak penggunaan swap space.
Solaris 2 mengalokasikan swap space hanya ketika page dipaksa keluar
dari memori, bukan ketika page virtual memori pertama kali dibuat.
Kendalan Disk