Follow on Facebook

Prinsip perangkat lunak

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 :


  • Konsep dalam desain software I/O, merupakan device independence dan tidak bergantung pada device yang digunakan.
  •  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).
  •  Penanganan kesalahan / Error Handling. Error harus ditangani sedekat mungkin dengan hardware. Contoh : pertama controller, device driver, dst. Dan jika tidak bisa ditangani beri pesan
  •  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.
  • 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 :

  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 de-vice driver untuk menerima permintaan abstrak dari software device inde-pendent diatasnya dan melakukan layanan sesuai permintaan meneksekusinya.

Post a Comment

0 Comments