INPUT / OUTPUT
1.
Prinsip Perangkat Keras Input/Output
Batasan
: Bagaimana hardware tersebut di program.
Manajemen perangkat Input/Output mempunyai beragam
fungsi, diantaranya:
-
Mengirimkan
perintah ke perangkat Input/Output agar menyediakan layanan
-
Menangani
interupsi perangkat Input/Output
-
Menangani
kesalahan pada perangkat Input/Output
-
Menyediakan
interface ke pemakai
1.1.
Input/Output Device
Perangkat Input/Output 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
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 komunikasiContohnya : Modem
1.2.
Device Controller
Unit Input/Output berupa :
a.
Komponen
elektronik
Device Controller / Adapter adalah untuk mengaktifkan
perangkat eksternal dan memberitahukan yang perlu dilakukan oleh perangkat /
driver.
Contoh : Unit Tape Magnetik 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 atau dari memori secara langsung tanpa melewati pemroses.
Keuntungan DMA
:
-
Memaksimalkan /
meningkatkan kinerja Input/Output
-
Meminimasikan
over head
Controller sederhana tidak dapat
melakukan Input/Output 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 Input/Output
Ide Dasar : Mengorganisasikan software dalam beberapa
layer dimana level bawah menyembunyikan akses atau kepelikan hardware untuk
level diatasnya. Level atas membuat interface yang baik ke user.
Tujuan
Software Input/Output , diantaranya :
a.
Konsep dalam
desain software Input/Output
b.
Penamaan yang
seragam atau 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) versus Asynchronous (Interrupt Driver) transfer
e.
Sharable vs
Dedicated Device
Contoh : Disk untuk sharable dan printer untuk
dedicated
Tujuan diatas
dapat dicapai dengan memisahkan software Input/Output menjadi 4 layers, yaitu :
1.
Interrupt Handler
Interrupt harus disembunyikan agar tidak
terlihat rutin berikutnya. Device driver di blok saat perintah Input/Output
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 atau satu kelas device.
Tugas dari device driver untuk menerima permintaan abstrak dari software device
independent diatasnya dan melakukan layanan sesuai permintaan atau mengeksekusinya.
3.
Device-Independent Input/Output Software
Input/Output device-independent adalah
software Input/Output yang tak bergantung pada perangkat keras.
Fungsi
dari software Input/Output 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 Input/Output Software
Sebagian besar software Input/Output berada di dalam
sistem operasi yang di link dengan user program. Sistem call termasuk Input/Output,
biasanya dalam bentuk prosedur (library procedures). Contoh : count = write (fd,buffer,nbytes).
Input/Output
prosedur dengan level lebih tinggi. Contoh : Print (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.
v 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.
v 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) :
b. Algoritma Pungut
/ Pick Up Algorithm
a. Algoritma Pertama Tiba Pertama
Dilayani (PTPD) / First Come, First Served (FCFS) Algorithm
c. Algoritma Waktu
Cari Terpendek Dipertamakan (WCTD) / Shortest Seek Time First (SSTF) Algorithm
e.
Algoritma Lift
Singkat Searah / C-LOOK Algorithm
d. Algoritma Lift Singkat / LOOK
Algorithm
f. Algoritma Lift
Lengkap / SCAN Algorithm
g. Algoritma Lift Lengkap Searah /
C-Scan Algorithm
3.3.
Input/Output Error Handling / Penanganan Kesalahan Input/Output
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 permukaan
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.
v Device blok adalah media penyimpanan dengan 2 perintah
: R(read) dan W(write)
v Idenya adalah meniru driver dengan mengalokasikan
terlebih dahulu satu bagian memori utama untuk menyimpan blok-blok data.
v 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