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)
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)