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.
Algoritma Pertama Tiba Pertama
Dilayani (PTPD) / First Come, First Served (FCFS) Algorithm
Algoritma Pungut / Pick Up Algorithm
b.
Algoritma Waktu Cari Terpendek
Dipertamakan (WCTD) / Shortest Seek Time First (SSTF)
c.
|
d.
Algoritma Lift Singkat Searah /
C-LOOK Algorithm
|
e.
Algoritma Lift Lengkap / SCAN
Algorithm
f.
Algoritma Lift Lengkap Searah /
C-Scan Algorithm
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.3.
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