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 interfa e ke pemakai 1.1. I/O Device !erangkat I/O dapat dibedakan berdasarkan : 1. Sifat aliran data Berdasarkan aliran data dibedakan menjadi : a" !erangkat berorientasi blok (block-oriented devices# $ontohnya : disk, tape, $% &OM, Opti al disk b" !erangkat berorientasi karakter 'character-oriented devices# $ontohnya : terminals, line printer, pun h ard, network interfa es, pita kertas, mouse (lasifikasi diatas tidak mutlak, karena ada beberapa perangkat yang tidak termasuk kategori diatas, misalnya : $lo k, Memory Mapped ) reen, )ensor Sasaran komunikasi Berdasarkan sasaran komunikasi dibedakan menjadi: a" !erangkat yang terba a oleh manusia 'human readable device# $ontohnya : *%+ 'Video Display Terminal# terdiri dari monitor, keyboard ',mouse# b" !erangkat yang terba a oleh mesin 'machine readable device# $ontohnya : disk, tape, sensor, ontroller " -ntuk komunikasi $ontohnya : modem 1.2. Device Controller -nit I/O berupa : a. Komponen elektronik %e.i e ontroller / adapter adalah untuk mengaktif-kan perangkat eksternal dan memberitahukan yang perlu dilakukan oleh perangkat / dri.er" $ontoh : unit tape megnetik diinstruksikan kembali ke posisi awal, bergerak ke re ord berikutnya"
2.
Printer
CPU
Memory
Disk Controller
Printer Controller
..
0ambar 1" Model untuk menghubungkan $!-, memori, ontroller dan de.i e I/O '+anenbaum, Bab 1, hlm" /23# b. Komponen mekanik $ontohnya : head, motor stepper, printer
1.3.
Direct Memor !ccess "DM!# %M4 mentransfer seluruh data yang diminta ke / dari memori se ara langsung tanpa melewati pemroses" (euntungan %M4 : - Memaksimalkan / meningkatkan kinerja I/O - Meminimasikan o.er head %isk ontroller
dri.e
buffer
$!-
memory
ount
0ambar /" +ransfer %M4 seluruhnya dilakukan oleh ontroller" '+anenbaum, Bab 1, hlm" /23# !ada waktu data di tranfer dari ontroller ke memori, sektor berikut akan lewat dibawah head dan bits sampai ke ontroller" $ontroller sederhana tidak dapat melakukan I/O dalam waktu yang bersamaan, maka dilakukan interleaving 'skip blok#, memberi waktu untuk tranfer data ke memori" Interlea.ing ini terjadi pada disk, bukan pada memori"
: 9 1 8
2 1 / 5 5 9
2 8 1 / :
2 5 9
No Interleaving
Single Interleaving
Dou le Interleaving
0ambar 5" Interlea.ing '+anenbaum, Bab 1, hlm" /12# 2. Prinsip $o%t&are I/O Ide %asar : mengorganisasikan software dalam beberapa layer dimana le.el bawah menyembunyikan akses / kepelikan hardware untuk le.el diatasnya" 6e.el atas membuat interfa e yang baik ke user" T'('an $o%t&are I/O a. Konsep dalam desain soft are !"# b. $enamaan yan% sera%am " &niform 'amin% $ontoh : seluruh disks dapat dibuat dengan hirarki sistem file 'menggunakan 7!)# c. $enan%anan kesalahan " (rror )andlin% $ontoh : pertama ontroller, de.i e dri.er, dst" %an jika tidak bisa ditangani beri pesan d. Synchronous (blockin%* vs +synchronous (!nterrupt Driver* transfer e. Sharable vs Dedicated Device $ontoh : disk untuk sharable dan printer untuk dedi ated +ujuan diatas dapat di apai dengan memisahkan software I/O menjadi 8 layers, yaitu : 1. Interr'pt )an*ler Interrupt harus disembunyikan agar tidak terlihat rutin berikutnya" %e.i e dri.er di blok saat perintah I/O diberikan dan menunggu interupsi" (etika interupsi terjadi, prosedur penanganan interupsi bekerja agar de.i e dri.er keluar dari state blo ked" Device Drivers )eluruh kode de.i e dependent terletak di de.i e dri.er" +iap de.i e dri.er menangani satu tipe / satu kelas de.i e" +ugas dari de.i e dri.er untuk menerima permintaan abstrak dari software de.i e independent diatasnya dan melakukan layanan sesuai permintaan / mengeksekusinya"
2.
Device
%ri.ers
Device
3.
Device+In*epen*ent I/O $o%t&are I/O de.i e-independent adalah : software I/O yang tak bergantung pada perangkat keras" ;ungsi dari software I/O de.i e-independent yang biasa dilakukan : a" Interfa e seragam untuk seluruh de.i e-dri.er b" !enamaan de.i e " !roteksi de.i e d" Memberi ukuran blok de.i e agar bersifat de.i e-independent e" Melakukan Buffering f" 4lokasi penyimpanan pada blok de.i es g" 4lokasi dan pelepasan dedi ated de.i es h" !elaporan kesalahan User+$pace I/O $o%t&are )ebagian besar software I/O berada di dalam sistem operasi yang di link dengan user program" )ystem all termasuk I/O, biasanya dalam bentuk prosedur 'library pro edures#" $ontoh : ount < write'fd,buffer,nbytes# I/O prosedur dengan le.el lebih tinggi" $ontoh : printf 'memformat output dahulu kemudian panggil write# =ang tidak mempunyai library pro edure, ontohnya : spooling dire tory dan daemon 'proses khusus# pada proses men etak, transfer file, -)>7>+"
,.
I/O reply I/O fun tions Make I/O all? format I/O? spooling 7aming prote tion, blo king, allo ation )etup de.i e register, he k status @ake up dri.er when I/O ompleted !erform I/O operation buffering,
I$O re%uest
0ambar 8" 6apisan sistem I/O dan fungsi utama dari tiap lapisan 'layer# '+anenbaum, Bab 1, hlm" /19#
3. Disk 3.1. Perangkat Keras Disk %isk diorganisasikan menjadi silinder-silinder dengan tiap permukaan terdapat head yang ditumpuk se ara .ertikal" +ra k terbagi menjadi sektor-sektor" 5 faktor yang mempengaruhi waktu read/write blo k disk: 1" seek time 'waktu menggerakkan lengan ke silinder# /" rotational delay 'waktu se tor berputar ke head# 5" transfer time yang sangat dominan adalah seek time, jadi performan e dapat ditingkatkan dengan mengurangi waktu rata-rata seek
+ransfer rate
)eek time
Boom
!roses seek pada disk dri.er : seek ke lebih dari satu disk se ara bersamaan, read/write bersama dengan seek, read / write dalam waktu yang bersamaan dari dua dri.e 3.2. !lgoritma Pen(a*&alan !kses -intas Disk !ada sistem multiprogramming, permintaan read/write lebih banyak dibandingkan dengan yang dilayani sehingga memerlukan penjadwalan disk" +erdapat dua tipe penjadwalan disk, yaitu : 1" penjadwalan untuk optimasi seek /" penjadwalan untuk optimasi rotasi Beberapa metode yang digunakan 'dalam kasus ini menggunakan ontoh : 82 silinder dengan urutan 11,1,59,1,58,3,1/# :
a.
+l%oritma $ertama Tiba $ertama Dilayani ($T$D* " ,irst -ome. ,irst Served (,-,S* +l%orithm Initial position !ending reBuest
& 2 1
& 12
& & 11
& /2 /1 52
& 51
& 53
)ilinder
b.
& ' (
)ilinder +ime
c.
+l%oritma /aktu -ari Terpendek Dipertamakan (/-TD* " Shortest Seek Time ,irst (SST,* +l%orithm Initial position
& ( )' & & )( & *' *( +' & +( & +,
& '
+ime
d.
& '
+ime
)ilinder
e.
& '
+ime
)ilinder
f.
& '
+ime
)ilinder
%.
& '
+ime
)ilinder
3.3.
I/O .rror )an*ling / Penanganan Kesala/an I/O >rror yang umum terjadi adalah : 1" >rror pemrograman Misalnya reBuest sektor yang tidak ada, ditangani dengan membetulkan program untuk komersial software, batalkan operasi dan berharap tidak akan terjadi lagi" >rror he ksum transient
/"
Misalnya karena debu antara head dengan permuka-an disk, ditangani dengan melakukan operasi berulang-ulang dan menandai se tor yang rusak" 5" >rror he ksum permanent Misalnya karena kerusakan disk, ditangani dengan membuat daftar blok-blok buruk agar data tidak ditulis di blok-blok buruk tersebut" >rror seek Misalnya lengan harusnya ke silinder 9 ternyata ke :, ditangani dengan mengkalibrasi ulang disk supaya berfungsi kembali" >rror ontroller Misalnya ontroller menolak perintah akses, ditangani dengan menukar pengendali yang salah dengan pengendali yang baru atau di-reset" +ra k at time a hing (ontroller mempunyai memori untuk menyimpan informasi tra k dimana ia berada, permintaan pemba aan blok tra k tersebut dilakukan tanpa pergerakan mekanik.
8" 1"
9"
3.,.
0!M Disk &4M disk adalah disk dri.er yang disimulasikan pada memori akses a ak '&4M#" &4M disk sepenuhnya mengeliminasi waktu tunda yang disebabkan pergerakan mekanis dalam seek dan rotasi" &4M disk berguna untuk aplikasi yang memerlukan kinerja disk yang tinggi" %e.i e blok adalah media penyimpanan dengan / perintah : &'read# dan @'write#" 7ormalnya blok-blok disimpan de disk berputar yang memerlukan mekanisme fisik" Idenya adalah meniru dri.er dengan mengalokasikan terlebih dahulu satu bagian memori utama untuk menyimpan blok-blok data" (euntungannya : berke epatan tinggi karena pengaksesan sesaat, tidak ada waktu tunda seek dan waktu tunda rotasi" )angat o ok untuk menyimpan program atau data yang sering diakses"
-ser !rograms
. .
&4M %isk
12
Operating )ystem
8" +erminal )emua komputer memerlukan terminal untuk komunikasi antar peralatan"
+erminals
&)-/5/
interfa e
Aard opy
0lass tty
Intelligent
Blit
Bit oriented
8"1"
+erminal Aardware +erminal hardware terbagi atas / kategori dasar, yaitu : 1" terminal interfa e melalui &)-/5/ &)-/5/ menghubungkan keyboard, monitor menggunakan serial interfa e, 1 bit dalam 1 waktu, dan menggunakan /1 pin konektor - dimana 1 pin untuk transmisi data, 1 pin untuk re ei.e data dan 1 pin untuk ground, // pin yang lain digunakan untuk fungsi ontrol atau ada pin yang tidak digunakan"
11
hard opy / printer, dimana tipe karakter dari keyboard ditransmisikan ke komputer, dan kemudian di etak di kertas / printer" %umb $&+ terminal / glass tty 'teletype < terminal# Intelligent $&+ terminals, terdiri dari $!- dan memory, dan untuk program yang kompek digunakan >!&OM atau &OM" Blit, adalah terminal dengan powerful mi ropro essor
terminal memory-mapped adalah interfa e melalui .ideo &4M / .ideo ontroller yang digunakan untuk monitor"
8"/"
+erminal )oftware +erminal )oftware terdiri dari : 1" Input )oftware /" Output )oftware