Ticker

6/recent/ticker-posts

Prinsip perangkat lunak Input / output



Pemanfaatan perangkat lunak untuk mengelola I/O ini pada dasarnya
adalah mengorganisasikan software dalam beberapa layer dimana level bawah
menyembunyikan akses atau kerumitan hardware untuk level diatasnya. Level
akan berfungsi sebagai antar muka atau interface ke pengguna. Adapun
kriteria, karakteristik atau tujuan perangkat lunak I/O adalah :


a. Konsep dalam desain software I/O, merupakan device independence dan
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) dan Asynchronous (Interrupt Driver) transfer
Kebanyakan I/O adalah asinkron. Pemroses memulai 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 ditunda secara otomatis sampai data
tersedia di buffer.


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



Untuk mengimplementasikan tujuan atau kriteria diatas perangkat lunak I/O
dipisahkan dalam empat layer, yaitu :


a. 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.


b. 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.

c. 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 adalah:
1) membentuk fungsi I/O yang berlaku untuk semua device dan
2) menyediakan interface uniform yang seragam ke user level software.
3) memberikan penamaan device.
4) memberikan proteksi device.
5) Memberi ukuran blok device agar bersifat device-independent.
6) Melakukan Buffering.
7) mengalokasi penyimpanan pada blok devices.
8) menglokasi dan pelepasan dedicated devices.
9) melakukan pelaporan kesalahan.


d. User Space I/Osoftware atau lapisan pustaka. 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, misalnya: instruksi 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.

Lapisan ini mengimplementasikan pustaka pengaksesan I/O atau API (Application Programming Interface) bagi aplikasi untuk melakukan operasi I/O


Misal: pustaka WIN32 sub system yang menyediakan API untuk operasi I/O dan juga operasi grafis pada SO Windows.

Post a Comment

0 Comments