mikrokontroler

robot segala medan

mikrokontroler

robot segala medan

network

cross with tester

network

topologi jaringan

lighting

lighting

Tuesday, June 14, 2011

perangkat input/output


Sering disebut device manager. Menyediakan device driver yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CD-ROM dan floppy disk.
Komponen Sistem Operasi untuk sistem I/O:
  • Penyangga: menampung sementara data dari/ ke perangkat I/O.
  • Spooling: melakukan penjadualan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
  • Menyediakan driver: untuk dapat melakukan operasi rinci untuk perangkat keras I/O tertentu.
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 :
    1. Interface seragam untuk seluruh device-driver
    2. Penamaan device
    3. Proteksi device
    4. Memberi ukuran blok device agar bersifat device-independent
    5. Melakukan Buffering
    6. Alokasi penyimpanan pada blok devices
    7. Alokasi dan pelepasan dedicated devices
    8. 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 panggilwrite)
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
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.
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.