PENGENALAN KONTROL INPUT dan OUTPUT

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).Macammacam 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 computer
a. Dedicated Device , digunakan untuk pengaksesan oleh satu user pada setiap saat.
Contoh : terminal
b. 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.



Buffering I/O
adalah melembutkan

lonjakan-lonjakan

kebutuhan

pengaksesan

I/O,


sehingga

meningkatkan efisiensi dan kinerja sistem operasi.
Terdapat beragam cara buffering, antar lain :
a. Single buffering. Merupakan teknik paling sederhana. Ketika proses memberi perintah
untuk perangkat I/O, sistem operasi menyediakan buffer memori utama sistem untuk
operasi.Untuk perangkat berorientasi blok.Transfer masukan dibuat ke buffer sistem.
Ketika transfer selesai, proses memindahkan blok ke ruang pemakai dan segera meminta
blok lain. Teknik ini disebut reading ahead atau anticipated input. Teknik ini dilakukan
dengan harapan blok akan segera diperlukan. Untuk banyak tipe komputasi, asumsi ini
berlaku. Hanya di akhir pemrosesan maka blok yang dibaca tidak diperlukan.
Keunggulan
Pendekatan in umumnya meningkatkan kecepatan dibanding tanpa buffering. Proses
pemakai dapat memproses blok data sementara blok berikutnya sedang dibaca. Sistem
operasi dapat menswap keluar proses karena operasi masukan berada di memori sistem
bukan memori proses pemakai.
Kelemahan
Merumitkan sistem operasi karena harus mencatat pemberian buffer-buffer sistem ke
proses pemakai.

Logika

swapping

juga

dipengaruhi.

Jika

operasi

I/O

melibatkan

disk

untuk swapping, maka membuat antrian penulisan ke disk yang sama yang digunakan
untuk swap out proses. Untuk menswap proses dan melepas memori utama tidak dapat

dimulai sampai operasi I/O selesai, dimana waktu swapping ke disk tidak bagus untuk
dilaksanaka Buffering keluaran serupa buffering masukan. Ketika data transmisi, data
lebih dulu dikopi dari ruang pemakai ke buffer sistem. Proses pengirim menjadi bebas
untuk

melanjutkan

eksekusi berikutnya

atau

di

swap ke

disk

Jika perlu.

Untuk perangkat berorientasi aliran karakter.

Single buffering dapat diterapkan dengan dua mode, yaitu :Mode line at a time.
Cocok untuk terminal mode gulung (scroll terminal atau dumb terminal). Masukan
pemakai adalah satu baris per waktu dengan enter menandai akhir baris. Keluaran
terminal juga serupa, yaitu satu baris per waktu. Contoh mode ini adalah printer.

Buffer

digunakan

untuk

ditunda

selama

masukan,

menyimpan
menunggu


satu

baris

kedatangan

tunggal.
satu

Proses
baris

pemakai

seluruhnya.

Untuk keluaran, proses pemakai menempatkan satu baris keluaran pada buffer dan
melanjutkan pemrosesan. Proses tidak perlu suspend kecuali bila baris kedua dikirim
sebelum buffer dikosongkan. Mode byte at a time. Operasi ini cocok untuk terminal mode
form, dimana tiap ketikan adalah penting dan untuk peripheral lain seperti sensor dan

pengendali.
b. Double buffering. Peningkatan dapat dibuat dengan dua buffer sistem.Proses dapat
ditransfer ke/dari satu buffer sementara sistem operasi mengosongkan (atau mengisi)
buffer lain. Teknik ini disebut double buffering atau buffer swapping. Double buffering
menjamin proses tidak menunggu operasi I/O. Peningkatan ini harus dibayar dengan
peningkatan kompleksitas. Untuk berorientasi aliran karakter, double buffering
mempunyai 2 mode alternatif, yaitu :
Mode line at a time. Proses pemakai tidak perlu ditunda untuk I/O kecuali proses
secepatnya mengosongkan buffer ganda.
Mode byte at a time. Buffer ganda tidak memberi keunggulan berarti atas buffer tunggal.
Double buffering mengikuti model producer-consumer.
 Circular buffering. Seharusnya melembutkan aliran data antara perangkat I/O dan
proses. Jika kinerja proses tertentu menjadi fokus kita, maka kita ingin agar operasi I/O
mengikuti proses. Double buffering tidak mencukupi jika proses melakukan operasi I/O
yang berturutan dengan cepat. Masalah sering dapat dihindari denga menggunakan lebih
dari dua buffer. Ketika lebih dari dua buffer yang digunakan, kumpulan buffer itu sendiri
diacu sebagai circulat buffer. Tiap bufferindividu adalah satu unit di circular buffer.
Algoritma penjadwalan disk pada sistem multiprogramming, banyak proses yang
melakukan permintaan membaca dan menulis rekord-rekord disk. Proses-proses
membuat permintaan-permintaan lebih cepat dibanding yang dapat dilayani disk,
membentuk antrian permintaan layanan disk. Diperlukan penjadwalan disk agar
memperoleh kinerja yang optimal. Terdapat dua tipe penjadwalan disk, yaitu :
 Optimasi seek.
 Optimasi rotasi (rotational latency).

Karena waktu seek lebih tinggi satu orde dibanding waktu rotasi, maka kebanyakan
algoritma penjadwalan berkonsentrasi meminimumkan seek kumpulan atau antrian
permintaan layanan disk. Meminimumkan latency biasanya berdampak kecil pada kinerja
seluruh sistem. Penjadwalan disk melibatkan pemeriksaan terhadap permintaanpermintaan yang belum dilayani untuk menentukan cara paling efisien melayani
permintaan-permintaan. Penjadwal disk memeriksa hubungan posisi diantara permintaanpermintaan. Antrian permintaan disusun kembali sehingga permintaan-permintaan akan
dilayani dengan pergerakan mekanis minimum.

Nama anggota kelompok:
 Stefenius Paka Pega (13.2012.1.90088)
 Bimas Jurisprodensi (13.2012.1.00343)
 Achmad Alfarisy (13.2012.1.90087)


Anugerah Dian Permana (13.2012.1.90086)