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)
Menyimpan informasi dan menukarkan
(menerima / mengirim) informasi sebagai blok-blok berukuran tetap. Tiap blok
mempunyai alamat tersendiri. Ukuran blok dapat beragam antara 128 s/d 1024
byte.
Ciri utamanya adalah : dimungkinkan
membaca / menulis blok-blok secara independent, yaitu dapat membaca atau
menulis sembarang blok tanpa harus melewati blok-blok lain.
Contohnya : disk, tape, CD ROM, Optical
disk
b. Perangkat
berorientasi karakter (character-oriented
devices)
Mengirim atau menerima karakter dan tanpa
peduli membentuk suatu struktur blok, not addresable dan tidak mempunyai
operasi seek.
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 yang tidak
teramati secara blok dan juga tidak menghasilkan / menerima aliran karakter. Clock
menyebabkan interupsi pada interval-interval yang didefinisikan.
-
Memory mapped screen,
-
sensor
2. Sasaran komunikasi
Berdasarkan sasaran komunikasi dibedakan menjadi :
a.
Perangkat yang
terbaca oleh manusia (human readable
device)
Perangkat yang cocok untuk komunikasi
dengan manusia.
Contohnya : VDT (Video Display Terminal) terdiri dari
monitor, keyboard (+mouse)
b.
Perangkat yang terbaca oleh mesin (machine readable device)
Perangkat yang
cocok untuk komunikasi dengan perangkat elektronik.
Contohnya : disk,
tape, sensor, controller, aktuator
c.
Untuk komunikasi
Perangkat yang cocok untuk komunikasi dengan perangkat jarak
jauh.
Contohnya : modem
1.2. Device Controller
Unit
I/O berupa :
a. Komponen elektronik
Device
controller / adapter adalah untuk mengaktifkan perangkat eksternal dan
memberitahukan yang perlu dilakukan oleh perangkat / driver.
Contoh
: unit tape megnetik diinstruksikan untuk kembali ke posisi awal, bergerak ke
record berikutnya dan sebagainya.
b. Komponen mekanik
Contohnya
: head, motor stepper, printer
1.3. Direct Memory Access (DMA)
DMA
berfungsi membebaskan pemroses menunggui transfer data yang dilakukan I/O
device. Saat pemroses ingin membaca atau menulis data, pemroses memerintahkan
DMA Controller dengan mengirimkan informasi berikut :
-
perintah penulisan / pembacaan
-
alamat I/O device
-
awal lokasi memori yang ditulis /
dibaca
-
jumlah word / byte yang ditulis /
dibaca
setelah
mengirimkan informasi itu ke DMA Controller, pemroses dapat melanjutkan kerja
lain. Pemroses mendelegasikan operasi I/O ke DMA. DMA mentransfer seluruh data
yang diminta ke / dari memori secara langsung tanpa melewati pemroses. Ketika
transfer data selesai, DMA mengirimkan sinyal interupsi ke pemroses. Pemroses
hanya dilibatkan pada awal dan akhir transfer data.
Operasi
transfer antara perangkat dan memori utama dilakukan sepenuhnya oleh DMA, lepas
dari pemroses dan hanya melakukan interupsi bila operasi telah selesai.
Keuntungan
DMA :
-
peningkatan
kinerja prosesor atau 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, seperti terlihat pada gambar di bawah ini.
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
Device
independence / tidak bergantung pada device yang digunakan
b. Penamaan yang seragam / Uniform Naming
Penamaan
file berkas atau perangkat adalah string atau integer dan harus sederhana,
tidak bergantung pada device
Contoh
: seluruh disks dapat dibuat dengan
hirarki sistem file (menggunakan NPS)
c. Penanganan kesalahan / Error Handling
Error harus ditangani sedekat mungkin dengan hardware
Contoh : pertama controller, device driver, dst. Dan jika
tidak bisa ditangani beri pesan
d. Synchronous (blocking) vs Asynchronous
(Interrupt Driver) transfer
Kebanyakan I/O adalah asinkron. Pemroses mulai transfer
dan mengabaikan untuk melakukan kerja lain sampai interupsi tiba.
Program pemakai sangat lebih mudah ditulis jika operasi
I/O berorientasi blok. Setelah perintah read, pemrogram kemudian ditunda secara
otomatis sampai data tersedia di buffer. Terserah sistem operasi untuk
menangani operasi yang sesungguhnya interrupt driver.
e. Sharable vs Dedicated Device
Beberapa
perangkat dapat dipakai bersama seperti disk, tapi ada juga perangkat yang
hanya satu pemakai yang dibolehkan memakai pada satu saat.
Misal
: 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 Operating System Software
I/O
device-independent adalah : software I/O yang tak bergantung pada perangkat
keras.
Fungsi dasar dari software device-independent :
-
membentuk fungsi I/O yang berlaku untuk
semua device
-
menyediakan interface uniform / seragam
ke user level software
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/OSoftware
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 terlebih dahulu kemudian panggil write)
Yang
tidak mempunyai library procedure, contohnya : spooling directory dan daemon
(proses khusus) pada proses mencetak, transfer file, USENET
Layer
|
I/O reply I/O functions
|
User
processes
|
Make I/O call; format I/O; spooling
|
Device-independent
software
|
Naming protection, blocking,
buffering, allocation
|
Device-drivers
|
Setup device register, check status
|
Interrupt
handler
|
Wake up driver when I/O completed
|
Hardware
|
Perform I/O operation
|
Lapisan
sistem I/O dan fungsi utama dari tiap lapisan (layer)
3. Disk
Tiga
kelebihan disk dari main memory untuk penyimpanan :
1.
kapasitas penyimpanan yang tersedia
lebih besar
2.
harga per-bit-nya
lebih rendah
3.
informasi tidak hilang meskipun power
off
3.1. Perangkat Keras Disk
Disk
diorganisasikan menjadi silinder-silinder dengan tiap permukaan terdapat head
yang ditumpuk secara vertikal. Track terbagi
menjadi sektor-sektor.
Tiga 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 timeyang
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, banyak proses yang melakukan permintaan read/write
record disk. Proses membuat permintaan lebih cepat dibandingkan yang dapat
dilayani disk, membentuk antrian permintaan layanan disk. Diperlukan
penjadwalan disk agar memperoleh kerja optimal.
Terdapat
dua tipe penjadwalan disk, yaitu :
1.
Penjadwalan untuk optimasi seek, karena
waktu seek lebih tinggi satu orde dibandingkan waktu rotasi, maka kebanyakan
algoritma penjadwalan berkonsentrasi meminimumkan seek kumpulan atau antrian
permintaan layanan disk.
2.
Penjadwalan untuk optimasi rotasi,
penjadwalan disk melibatkan pemeriksaan terhadap permintaan yang belum dilayani
untuk menentukan cara paling efisien melayani permintaan-perminataan, dan
memeriksa hubungan posisi di antrian permintaan. Antrian disusun kembali
sehingga permintaan akan dilayani dengan pergerakan mekanis minimum.
1.1. I/O Error Handling / Penanganan
Kesalahan I/O
Error
yang umum terjadi adalah :
1.
Error pemrograman
Kesalahan
disebabkan pemrograman. Misalnya : request sektor yang tidak ada. Penanganannya
: pembetulan program untuk komersial software, batalkan operasi dan berharap
tidak akan terjadi lagi
2.
Error checksum transient
Kesalahan
disebabkan adanya debu diantara head dengan permukaan disk. Penanganannya :
lakukan operasi berulang-ulang dan menandai sector yang rusak.
3.
Error checksum permanent
Kesalahan
disebabkan kerusakan disk. Misalnya harus dibuat daftar blok-blok buruk agar
data tidak ditulisi di blok-blok buruk.
4.
Error seek
Kesalahan
ini ditanggulangi dengan mengkalibrasi disk supaya berfungsi kembali. Misalnya
lengan harusnya ke silinder 6 ternyata ke 7. Penanganannya : kalibrasi ulang.
5.
Error controller
Kesalahan
ini ditanggulangi dengan menukar pengendali yang salah dengan pengendali yang
baru. Misalnya controller menolak perintah akses. Penanganannya : 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.
1.2. 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.
Devices
block adalah media penyimpanan dengan 2 perintah : R (read) dan W (write). Normalnya blok-blok
disimpan di 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 / instant, tidak ada waktu
tunda seek dan waktu tunda rotasi. Sangat cocok untuk menyimpan program atau
data yang sering diakses.
Main Memory (RAM)
|
||||||||
|
||||||||
|
.
.
.
|
|||||||
|
2.
Terminal
Semua
komputer memerlukan terminal untuk komunikasi antar peralatan.
2.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.
2.2. Terminal
Software
Terminal Software terdiri dari :
1.
Input Software
2.
Output Software
Tidak ada komentar:
Posting Komentar