Rabu, 02 Juni 2010

Pengenalan Kontrol Input/Output

Definisi dan Persyaratan Kontrol Input/Output

System control input/output memberikan bantuan kepada user (pengguna) agar memungkinkan mereka mengakses berkas tanpa harus memperhatika detail dari karakter dan waktu penyimapanan. Kotrol input/output menyangkut manajemen berkas dan peralatan manajemen merupakan bagian dari system operasi.
Akses berkas memerlukan dukungan manajemen berkas yang memberikan teknik organisasi berkas dan dukungan alat manajemen yang memberikan akses ke alat penyimpanan fisik.

Tugas dari Sistem Kontrol I/O adalah :

1) Memelihara directori dari berkas dan lokasi informasi.
2) Menentukan jalan (pathway) bagi aliran data antara memori primer (main memory) dan alat penyimpanan sekunder.
3) Mengkoordinasi komunimasi antara CPU dan alat penyimpanan sekunder, juga sebaliknya :
*mengatur/menangani ketidakseimbangan kecepatan pengiriman data antara CPU dengan alat penyimpanan lain, sehingga CPU tidak terlalu lama menyelesaikan pekerjaan input/output (tidak membuang waktu).
*mengatur data dengan sedemikian rupa sehingga data dapat disimpan, bila pengirim (CPU/alat penyimpanan sekunder) dan penerima (penyimpanan sekunder/CPU) tidak siap dalam waktu bersamaan.
4) Menyiapkan berkas penggunaan input atau output telah selesai.
5) Mengatur berkas, bila penggunaan input/output telah selesai.

Channel

Sistem computer tidak membebani CPU untuk menangani tugas yang berhubungan dengan input/output, akan tetapi tanggung jawab ini diberikan pasa processor input/output yakni saluran input/output.
Channel program ini akan menentukan operasi yang diperlukan untuk akses peralatan dan mengontrol jalur data (data pathway).



Dapat dilihat pada gambar :










Macam-macam channel :
1. Selector Channel;
Mengatur aliran data antara memori utama dengan sebuah peralatan pada saat tersebut. Karena saluran merupakan processor-processor yang cepat maka saluran selektor biasanya hanya menggunakan peralatan I/O dengan kecepatan tinggi, seperti disk. Penggunaan peralatan dengan kecepatan rendah, misal card reader.

2. Multiplexor Channel;
Mengatur aliran data antara memori utama dengan beberapa peralatan. Saluran Multiplexor lebih efektif jika menggunakan peralatan dengan kecepatan rendah, dibandingkan dengan selector channel. Dengan saluran multiplexor, beberapa peralatan dapat diaktifkan secara serentak, tetapi saluran harus melengkapi saluran program untuk satu peralatan sebelum memulai dengan saluran program lain.

3. Block Multiplexor Channel;
Mengatur aliran data ke berbagai peralatan. Block Multiplexor Channel dapat mengeksekusi satu instruksi dari saluran program untuk satu peralatan, kemudian dapat mengalihkan instruksi-instruksi dari saluran program itu ke peralatan yang lain.






Device

Aktifitas I/O untuk shared device adalah sangat kompleks dibanding aktifitas I/O pada dedicated device. Dua fungsi yang sangat penting dari shared device adalah alokasi tempat dan pemberian akses yang tepat.

Macam-macam device/peralatan untuk keperluan manajemen pada komputer :

• Dedicated Device , digunakan untuk pengaksesan oleh satu user pada setiap saat. Contoh : terminal
• Shared Device, digunakan untuk pengaksesan banyak user secara bersamaan. Contoh : disk


Saluran

Tujuan dari saluran I/O adalah sebagai perantara antara CPU-main memory dengan unit pengontrol penyimpan. CPU berkomunikasi dengan saluran melalui beberapa perintah yang sederhana.

Saluran akan memberi perintah :
 Test I/O, untuk menentukan apakah jalur (pathway) yang menuju peralatan sedang sibuk.
 Start I/O, pada peralatan tertentu.
 Halt I/O, pada peralatan tertentu.

Saluran biasanya berkomunikasi dengan CPU melalui cara interupsi. Interupsi akan terjadi, jika keadaan error terdeteksi, misalnya instruksi CPU yang salah atau jika aktifitas I/O telah diakhiri.
Jika interupsi terjadi, kontrol akan bercabang melalui rutin pengendali interupsi (interrupt-handler routine), dimana kontrol akan menentukan penyebab dari interupsi, melakukan kegiatan yang tepat, kemudian mengembalikan kontrol pada pemanggil (caller).
Jika sebuah program membutuhkan READ dari berkas file, maka yang terjadi adalah ;



1. Program mengeluarkan READ, yang akan menginterupsi I/O
2. Pengontrol I/O membuat sebuah saluran program pada memori utama
3. Saluran program dibaca dan dieksekusi oleh pemanggil saluran
4. Sinyal yang tepat akan ditransmisi ke pemanggil unit control
5. Kemudian sinyal tersebut diterjemahkan oleh unit control dan digunakan untuk mengontrol peralatan operasi untuk membaca data yang diminta
6. Data yang diminta akan mengalir dari peralatan pathway ke file buffer area dalam ruang memori utama
7. Interupsi yang dikeluarkan oleh saluran digunakan untuk meneruskan sinyal pada waktu eksekusi program
8. Kemudian control kembali ke program


Data dibaca ke dalam buffer, dimana buffer merupakan suatu tempat pada memori utama yang disediakan untuk menampung data, bila buffer penuh program akan segera menggunakan data tersebut.









Manajemen Buffer

Terbagi menjadi 4 yakni :

1. Single Buffering

Struktur data dari buffer dalam bentuk yang sederhana, yang terdiri dari satu record per-block dan satu buffer per-berkas, dimana buffer ini berfungsi mengisikan permintaan dari sebuah program. Struktur buffer ini berisi sebuah pointer pada alamat awal & channel program untuk berkas.

Struktur dasar dari channel program untuk mengisi buffer adalah :
o Tunggu instruksi READ dari program
o Memberitahukan instruksi start I/O ke unit kontrol
o Tunggu hingga buffer dikosongkan
o Memberitahukan interupsi pada program sehingga dapat mulai membaca dari buffer
Masalah yang timbul di sini adalah pemakai program menganggur pada saat menunggu buffer diisi.

2. Anticipatory Buffering

Pendekatan lain yang dapat menghilangkan beberapa hal yang mungkin untuk menunggu CPU adalah dengan menggunakan Anticipatory Buffering.
Dengan anticipatory buffering, sistem kontrol I/O akan berusaha mendahulukan kebutuhan program akan data. Diusahakan agar buffer selalu penuh. Channel selalu menguji flag ini. Jika buffer mendekati kosong, karena pemakai program telah membaca isinya maka flag itu akan direset dan channel program akan menginitates pengisian kembali buffer.
Struktur dasar channel program untuk mengisi sebuah buffer dengan anticipatory buffer diperlihatkan pada gambar di bawah ini :

4 komentar:

  1. MMM gtu ya Tugas kuliah nih kayanya hhaaa..

    BalasHapus
  2. wah, gambarnya kok ga' ada?

    BalasHapus
  3. hhahahaha .. sorii gambarnya ketinggalan .

    BalasHapus
  4. iya kan setiap tugass kuliah di upload . makasih buat kunjungannya :)

    BalasHapus