INPUT / OUTPUT
1.
Prinsip Perangkat Keras I/O
Batasan : bagaimana hardware tersebut di program
Manajemen perangkat I/O mempunyai
beragam fungsi, diantaranya :
-
mengirimkan perintah ke perangkat I/O agar menyediakan layanan
-
menangani interupsi perangkat I/O
-
menangani kesalahan pada perangkat I/O
-
menyediakan interface ke pemakai
1.1.
I/O Device
Perangkat I/O dapat dibedakan
berdasarkan :
1.
Sifat aliran data
Berdasarkan aliran data dibedakan
menjadi :
a.
Perangkat berorientasi blok (block-oriented
devices)
Contohnya : disk, tape, CD ROM, Optical disk
b.
Perangkat berorientasi karakter (character-oriented devices)
Contohnya
: terminals, line printer, punch card, network interfaces, pita kertas, mouse
Klasifikasi diatas tidak mutlak,
karena ada beberapa perangkat yang tidak termasuk kategori diatas, misalnya :
Clock, Memory Mapped Screen, Sensor
2.
Sasaran komunikasi
Berdasarkan sasaran komunikasi
dibedakan menjadi:
a.
Perangkat yang terbaca oleh manusia (human readable device)
Contohnya
: VDT (Video Display Terminal) terdiri dari monitor, keyboard (+mouse)
b.
Perangkat yang terbaca oleh mesin (machine readable device)
Contohnya : disk, tape, sensor,
controller
c.
Untuk komunikasi
Contohnya : modem
1.2.
Device Controller
Unit I/O berupa :
a.
Komponen elektronik
Device controller / adapter
adalah untuk mengaktif-kan perangkat eksternal dan memberitahukan yang perlu
dilakukan oleh perangkat / driver.
Contoh : unit tape megnetik
diinstruksikan kembali ke posisi awal, bergerak ke record berikutnya.
b. Komponen mekanik
Contohnya
: head, motor stepper, printer
1.3.
Direct Memory Access (DMA)
DMA mentransfer seluruh data yang
diminta ke / dari memori secara langsung tanpa melewati pemroses.
Keuntungan DMA :
- Memaksimalkan / meningkatkan
kinerja I/O
- Meminimasikan over head
Pada waktu data di tranfer dari
controller ke memori, sektor berikut akan lewat dibawah head dan bits sampai ke
controller. Controller sederhana tidak dapat melakukan I/O dalam waktu yang
bersamaan, maka dilakukan interleaving (skip blok), memberi
waktu untuk tranfer data ke memori. Interleaving ini terjadi pada disk, bukan
pada memori.
2.
Prinsip Software I/O
Ide Dasar : mengorganisasikan
software dalam beberapa layer dimana level bawah menyembunyikan akses /
kepelikan hardware untuk level diatasnya. Level atas membuat interface yang
baik ke user.
Tujuan Software I/O
a.
Konsep dalam desain software I/O
b.
Penamaan yang seragam / Uniform
Naming
Contoh : seluruh disks dapat dibuat dengan hirarki
sistem file (menggunakan NPS)
c.
Penanganan kesalahan / Error
Handling
Contoh : pertama controller,
device driver, dst. Dan jika tidak bisa ditangani beri pesan
d.
Synchronous (blocking) vs
Asynchronous (Interrupt Driver) transfer
e.
Sharable vs Dedicated Device
Contoh : disk untuk sharable dan
printer untuk dedicated
Tujuan diatas dapat dicapai dengan memisahkan
software I/O menjadi 4 layers, 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 device driver untuk menerima permintaan abstrak dari
software device independent diatasnya dan melakukan layanan sesuai permintaan /
mengeksekusinya.
3.
Device-Independent I/O Software
I/O device-independent adalah :
software I/O yang tak bergantung pada perangkat keras.
Fungsi dari software I/O device-independent
yang biasa dilakukan :
a.
Interface seragam untuk seluruh device-driver
b.
Penamaan device
c.
Proteksi device
d.
Memberi ukuran blok device agar bersifat device-independent
e.
Melakukan Buffering
f.
Alokasi penyimpanan pada blok devices
g.
Alokasi dan pelepasan dedicated devices
h.
Pelaporan kesalahan
4.
User-Space I/O Software
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). Contoh :
count = write(fd,buffer,nbytes)
I/O prosedur dengan level lebih
tinggi. Contoh : printf (memformat output dahulu kemudian panggil write)
Yang tidak mempunyai library
procedure, contohnya : spooling directory dan daemon (proses khusus) pada
proses mencetak, transfer file, USENET.
3. Disk
3.1.
Perangkat Keras Disk
Disk diorganisasikan menjadi
silinder-silinder dengan tiap permukaan terdapat head yang ditumpuk secara
vertikal. Track terbagi menjadi sektor-sektor.
3 faktor yang mempengaruhi waktu
read/write block disk:
1.
seek time (waktu menggerakkan lengan ke silinder)
2.
rotational delay (waktu sector berputar ke head)
3.
transfer time
yang sangat dominan adalah seek
time, jadi performance dapat ditingkatkan dengan mengurangi waktu rata-rata
seek
Proses seek pada disk driver :
seek ke lebih dari satu disk secara bersamaan, read/write bersama dengan seek,
read / write dalam waktu yang bersamaan dari dua drive
3.2.
Algoritma Penjadwalan Akses
Lintas Disk
Pada sistem multiprogramming,
permintaan read/write lebih banyak dibandingkan dengan yang dilayani sehingga
memerlukan penjadwalan disk.
Terdapat dua tipe penjadwalan
disk, yaitu :
1.
penjadwalan untuk optimasi seek
2.
penjadwalan untuk optimasi rotasi
Beberapa metode yang digunakan
(dalam kasus ini menggunakan contoh : 40 silinder dengan urutan
11,1,36,1,34,9,12) :
a.
|
|
|
|
b.
Algoritma Pungut / Pick Up Algorithm
c.
Algoritma Waktu Cari Terpendek Dipertamakan (WCTD) Shortest Seek
Time First (SSTF) Algorithm
d.
|
|
e.
Algoritma Lift Singkat Searah / C-LOOK Algorithm
Algoritma
Lift Lengkap / SCAN Algorithm
f.
|
|
3.3.
I/O Error Handling / Penanganan
Kesalahan I/O
Error yang umum terjadi adalah :
1.
Error pemrograman
Misalnya request sektor yang
tidak ada, ditangani dengan membetulkan program untuk komersial software,
batalkan operasi dan berharap tidak akan terjadi lagi.
2.
Error checksum transient
Misalnya karena debu antara head
dengan permuka-an disk, ditangani dengan melakukan operasi berulang-ulang dan
menandai sector yang rusak.
3.
Error checksum permanent
Misalnya karena kerusakan disk,
ditangani dengan membuat daftar blok-blok buruk agar data tidak ditulis di
blok-blok buruk tersebut.
4.
Error seek
Misalnya lengan harusnya ke
silinder 6 ternyata ke 7, ditangani dengan mengkalibrasi ulang disk supaya
berfungsi kembali.
5.
Error controller
Misalnya controller menolak perintah
akses, ditangani dengan menukar pengendali yang salah dengan pengendali yang
baru atau di-reset.
6.
Track at time caching
Kontroller mempunyai memori untuk
menyimpan informasi track dimana ia berada, permintaan pembacaan blok track
tersebut dilakukan tanpa pergerakan mekanik.
3.4.
RAM Disk
RAM disk adalah disk driver yang
disimulasikan pada memori akses acak (RAM). RAM disk sepenuhnya mengeliminasi
waktu tunda yang disebabkan pergerakan mekanis dalam seek dan rotasi. RAM disk
berguna untuk aplikasi yang memerlukan kinerja disk yang tinggi.
Device blok adalah media
penyimpanan dengan 2 perintah : R(read) dan W(write). Normalnya blok-blok
disimpan de disk berputar yang memerlukan mekanisme fisik.
Idenya adalah meniru driver
dengan mengalokasikan terlebih dahulu satu bagian memori utama untuk menyimpan
blok-blok data.
Keuntungannya : berkecepatan
tinggi karena pengaksesan sesaat, tidak ada waktu tunda seek dan waktu tunda
rotasi. Sangat cocok untuk menyimpan program atau data yang sering diakses.
4.
Terminal
Semua komputer memerlukan
terminal untuk komunikasi antar peralatan.
4.1.
Terminal Hardware
Terminal
hardware terbagi atas 2 kategori dasar, yaitu :
1.
terminal interface melalui RS-232
RS-232 menghubungkan keyboard,
monitor menggunakan serial interface, 1 bit dalam 1 waktu, dan menggunakan 25
pin konektor, dimana 1 pin untuk transmisi data, 1 pin untuk receive data dan 1
pin untuk ground, 22 pin yang lain digunakan untuk fungsi control atau ada pin
yang tidak digunakan.
RS-232 dapat dikategorikan lagi
menjadi :
a.
hardcopy / printer, dimana tipe karakter dari keyboard
ditransmisikan ke komputer, dan kemudian di cetak di kertas / printer.
b.
Dumb CRT terminal / glass tty (teletype = terminal)
c.
Intelligent CRT terminals, terdiri dari CPU dan memory, dan untuk
program yang kompek digunakan EPROM atau ROM.
d.
Blit, adalah terminal dengan powerful microprocessor
2.
terminal memory-mapped
adalah interface melalui video
RAM / video controller yang digunakan untuk monitor.
4.2.
Terminal Software
Terminal
Software terdiri dari :
1.
Input Software
2.
Output Software
Tidak ada komentar:
Posting Komentar