Overview
Sekarang
kita tak lagi belajar ilmu manajemen bisnis atau ilmu ekonomi. Jadi
ketika membaca judul di atas, segera alihkan pikiran pada konsep manajemen tapi
dalam bingkai ilmu komputer, lebih spesifiknya lagi yakni dalam sistem
komputer. Sistem komputer menerapkan konsep manajamen dalam melakukan
pekerjaannya untuk menerima data, memprosesnya , untuk kemudian menampilkannya
dalam bentuk informasi. Nah, tugas utama ini sangat berkaitan dengan input
output device yang kerjanya tidak jauh-jauh dari memberi data dan mengeluarkan
data dalam sistem. Manajemen dalam proses ini mutlak diperlukan manakala kita
tahu bahwa konsep manajemena adalah dalam hal pengaturan agar semua komponen
dapet kerja sesuai yang diinginkan agar tujuan dapat dicapa. Nah, sekarang ayo
belajar manajemen input output komputer.
Apa itu I/O
sistem ?
Pada postingan
ini kita akan sering menggantikan kata manajemen input output dengankata
I/O sistem yang pada artinya sama.
Terdapat dua
bagian penting yang membangun I/O sistem, yaitu I/O bus dan I/O device. I/O
device adalah alat-alat yang digunakan untuk pertukaran data dan informasi
dalam komputer. Sedangkan I\O bus adalah tipe kanal atau interface yang
digunakan olehe I/O device tersebut, seperti ISA, PCI, dsb.
Hirarki
Pengelolaan Perangkat I/O
1. Interrupt
Handler
Interupsi adalah suatu peristiwa yang menyebabkan eksekusi satu program ditunda dan program lain yang dieksekusi. Interrupt adalah sinyal dari peralatan luar atau permintaan dari program untuk melaksanakan suatu tugas khusus. Jika interrupt terjadi, maka program dihentikan dahulu untuk menjalankan rutin interrupt. Ketika program yang sedang berjalan tadi dihentikan, prosesor menyimpan nilai register yang berisi alamat program ke stack, dan mulai menjalankan rutin interrupt.
Interupsi adalah suatu peristiwa yang menyebabkan eksekusi satu program ditunda dan program lain yang dieksekusi. Interrupt adalah sinyal dari peralatan luar atau permintaan dari program untuk melaksanakan suatu tugas khusus. Jika interrupt terjadi, maka program dihentikan dahulu untuk menjalankan rutin interrupt. Ketika program yang sedang berjalan tadi dihentikan, prosesor menyimpan nilai register yang berisi alamat program ke stack, dan mulai menjalankan rutin interrupt.
Secara garis
besar, kita mengenal dua macam interupsi terhadap prosesor,yaitu :
- Interupsi secara langsung
- Interupsi melalui polling.
Sekalipun
caranya berbeda, akibat dari kedua cara interupsi tersebut sama.
- Cara interupsi langsung:
Penghentian
prosesor untuk suatu proses dapat berasal dari berbagai sumber daya di dalam
sistem komputer, karenasumber daya tertentu pada sistem komputer tersebut
menginterupsi kerja prosesor. Karena cara terjadinya interupsi adalah secara
langsung dari sumber daya, maka kita menamakan cara interupsi ini sebagai
interupsi langsung. Banyak interupsi terhadap prosesor di dalam sistem komputer
termasuk ke dalam jenis interupsi langsung.
- Cara interupsi polling
Selain
komputer menunggu sampai diinterupsi oleh sumber daya komputer, kita mengenal
pula cara interupsi sebaliknya. Pada cara interupsi ini, prakarsa penghentian
kerja prosesor berasal dari prosesor atau melalui prosesor tsb. Dalam hal ini,
secara berkala prosesor akanbertanya (poll) kepada sejumlah sumber daya. Apakah
ada di antara mereka yang akan memerlukan prosesor? Jika ada, maka prosesor
akanmenghentikan kegiatan semulanya, serta mengalihkan kerjanya ke sumberdaya
tersebut. Perbedaan antara interupsi langsung dengan interupsi polling terletak
pada cara mengemukakan interupsi tersebut.
Jenis-Jenis
Interupsi
Dilihat dari cara kerja prosesor, tidak semua interupsi itu sama pentingnya
bagi proses yang sedang dilaksanakan oleh kerja prosesor tsb. Kalau sampai
interupsi yang kurang penting ikut menginterupsi kerja prosesor, maka
pelaksanaan proses itu akan menjadi lama. Karena itu biasanya SO membagi
interupsi ke dalam dua jenis, yaitu:
a. Software
Dilihat dari cara kerja prosesor, tidak semua interupsi itu sama pentingnya
bagi proses yang sedang dilaksanakan oleh kerja prosesor tsb. Kalau sampai
interupsi yang kurang penting ikut menginterupsi kerja prosesor, maka
pelaksanaan proses itu akan menjadi lama. Karena itu biasanya SO membagi
interupsi ke dalam dua jenis, yaitu:
a. Software
Yaitu
interrupt yang disebabkan oleh software, sering disebut
dengan system call.
b. Hardware
Terjadi karena adanya akse pada perangkat keras, seperti penekanan tombol
keyboard atau menggerakkan mouse.
dengan system call.
b. Hardware
Terjadi karena adanya akse pada perangkat keras, seperti penekanan tombol
keyboard atau menggerakkan mouse.
Tiga
kemungkinan penyebab perangkat mengirimkan interupsi , yaitu :
- Input Ready
misalnya ketika buffer keyboard sudah terisi (terjadi pengetikan ) , kendali keyboard akan mengirim interupsi bahwa input dari keyboard telah tersedia.
- Input Ready
misalnya ketika buffer keyboard sudah terisi (terjadi pengetikan ) , kendali keyboard akan mengirim interupsi bahwa input dari keyboard telah tersedia.
- Output
Complete
Contohnya ketika mencetak pada printer . Jika printer hanya mengirim satu baris teks pada satu waktu . Karenanya prosesor harus mengirimkan satu baris teks , menunggu baris tersebut dicetak , kemudian mengirim baris berikutnya . Saat menunggu (idle) prosesor dapat mengerjakan proses lain.
Contohnya ketika mencetak pada printer . Jika printer hanya mengirim satu baris teks pada satu waktu . Karenanya prosesor harus mengirimkan satu baris teks , menunggu baris tersebut dicetak , kemudian mengirim baris berikutnya . Saat menunggu (idle) prosesor dapat mengerjakan proses lain.
- Error
Jika terjadi error pada perangkat I/O saat perangkat tersebut sedang malakukan operasi I/O , controller perangkat tersebut akan mengirim interupsi untuk memberitahu prosesor bahwa terjadi eror sehingga operasi I/O tidak bisa dilanjutkan.
Mekanisme penanganan Interupsi :
- Menangani berbagai macam exception.
- Mengatur virtual memory paging.
- Menangani software interupsi.
- Mengatur Alur kontrol kernel.
Jika terjadi error pada perangkat I/O saat perangkat tersebut sedang malakukan operasi I/O , controller perangkat tersebut akan mengirim interupsi untuk memberitahu prosesor bahwa terjadi eror sehingga operasi I/O tidak bisa dilanjutkan.
Mekanisme penanganan Interupsi :
- Menangani berbagai macam exception.
- Mengatur virtual memory paging.
- Menangani software interupsi.
- Mengatur Alur kontrol kernel.
Kegunaan
Interupsi I/O
- Pemulihan kesalahan
Komputer menggunakan bermacam-macam teknik untuk memastikan
bahwa semua komponen perangkat keras beroperasi semestinya. Jika
kesalahan terjadi, perangkat keras kontrol mendeteksi kesalahan dan
memberi tahu CPU dengan mengajukan interupsi.
2. Debugging
Penggunaan penting lain dari interupsi adalah sebagai penolong dalam
debugging program. Debugger menggunakan interupsi untuk menyediakan
dua fasilitas penting, yaitu:
- Trace
- Break point.
3. Komunikasi Antarprogram
Perintah
interupsi perangkat lunak digunakan oleh sistem operasi
untuk berkomunikasi dengan dan mengontrol eksekusi program lain.
untuk berkomunikasi dengan dan mengontrol eksekusi program lain.
2. Device
Drive
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.
Setiap
device driver menangani satu tipe peralatan. Device driver bertugas
menerima permintaan abstrak perangkat lunak device independent di atasnya
dan melakukan layanan sesuai permintaan itu.
menerima permintaan abstrak perangkat lunak device independent di atasnya
dan melakukan layanan sesuai permintaan itu.
Mekanisme
kerja device driver
- Menerjemahkan perintah-perintah abstrak menjadi perintah-perintah
konkret.
- Begitu telah dapat ditentukan perintah-perintah yang harus diberikan ke
pengendali, device driver mulai menulis ke register-register pengendali
peralatan.
- Setelah operasi selesai dilakukan peralatan, device driver memeriksa
kesalahan-kesalahan yang terjadi.
- Jika semua berjalan baik, device driver melewatkan data ke perangkat
lunak device independent.
- Device melaporkan informasi status sebagai pelaporan kesalahan ke
pemanggil.
- Menerjemahkan perintah-perintah abstrak menjadi perintah-perintah
konkret.
- Begitu telah dapat ditentukan perintah-perintah yang harus diberikan ke
pengendali, device driver mulai menulis ke register-register pengendali
peralatan.
- Setelah operasi selesai dilakukan peralatan, device driver memeriksa
kesalahan-kesalahan yang terjadi.
- Jika semua berjalan baik, device driver melewatkan data ke perangkat
lunak device independent.
- Device melaporkan informasi status sebagai pelaporan kesalahan ke
pemanggil.
3. Perangkat
Lunak Sistem Operasi Device Independent
Fungsi utama perangkat lunak tingkat ini adalah membentuk fungsi-fungsi I/O
yang berlaku untuk semua peralatan dan memberi interface seragam ke
perangkat lunak tingkat pemakai.
Fungsi utama perangkat lunak tingkat ini adalah membentuk fungsi-fungsi I/O
yang berlaku untuk semua peralatan dan memberi interface seragam ke
perangkat lunak tingkat pemakai.
Fungsi-fungsi
yang biasa dilakukan antara lain:
- Interface seragam untuk seluruh driver-driver
- Penamaan peralatan
- Proteksi peralatan
- Memberi ukuran blok peralatan agar bersifat device independent
- Melakukan buffering
- Alokasi penyimpanan pada block devices
- Alokasi pelepasan dedicated devices
- Pelaporan kesalahan
- Interface seragam untuk seluruh driver-driver
- Penamaan peralatan
- Proteksi peralatan
- Memberi ukuran blok peralatan agar bersifat device independent
- Melakukan buffering
- Alokasi penyimpanan pada block devices
- Alokasi pelepasan dedicated devices
- Pelaporan kesalahan
4. Buffering
I/O
Buffering merupakan teknik untuk melembutkan lonjakan-lonjakan
kebutuhan pengaksesan I/O secara langsung. Buffering adalah cara untuk
meningkatkan efisiensi sistem operasi dan kinerja proses-proses. Terdapat
beragam cara buffering, antara lain:
a. Single Buffering
Teknik ini merupakan buffering paling sederhana. Ketika proses
pemakai memberikan perintah I/O, sistem operasi menyediakan buffer
bagian memori utama sistem untuk operasi.
Untuk peralatan berorientasi blok, transfer masukan dibuat ke buffer sistem.
Ketika transfer selesai, proses memeindahkan blok ke ruang pemakai dan
segera meminta blok lain. Teknik ini disebut reading ahead atau
anticipated input.
Teknik ini dilakukan dengan harapan bahwa blok tersebut akan segera
diperlukan. Untuk banyak tipe komputasi, asumsi ini berlaku. Hanya akhir
barisan pemrosesan maka blok yang dibaca tidak diperlukan.
Pendekatan ini umumnya meningkatkan kecepatan dibanding tanpa
buffering.
b. Double buffering
Peningkatan atas single buffering dapat dibuat dengan mempunyai
dua buffer sistem untuk operasi. Proses dapat transfer ke (atau dari) satu
buffer sementara sistem operasi mengosongkan (atau mengisi) buffer lain.
Double buffering menjamin proses tidak akan menunggu operasi I/O.
Peningkatan atas single buffering diperoleh, namun harus dibayar dengan
kompleksitas yang meningkat.
Buffering merupakan teknik untuk melembutkan lonjakan-lonjakan
kebutuhan pengaksesan I/O secara langsung. Buffering adalah cara untuk
meningkatkan efisiensi sistem operasi dan kinerja proses-proses. Terdapat
beragam cara buffering, antara lain:
a. Single Buffering
Teknik ini merupakan buffering paling sederhana. Ketika proses
pemakai memberikan perintah I/O, sistem operasi menyediakan buffer
bagian memori utama sistem untuk operasi.
Untuk peralatan berorientasi blok, transfer masukan dibuat ke buffer sistem.
Ketika transfer selesai, proses memeindahkan blok ke ruang pemakai dan
segera meminta blok lain. Teknik ini disebut reading ahead atau
anticipated input.
Teknik ini dilakukan dengan harapan bahwa blok tersebut akan segera
diperlukan. Untuk banyak tipe komputasi, asumsi ini berlaku. Hanya akhir
barisan pemrosesan maka blok yang dibaca tidak diperlukan.
Pendekatan ini umumnya meningkatkan kecepatan dibanding tanpa
buffering.
b. Double buffering
Peningkatan atas single buffering dapat dibuat dengan mempunyai
dua buffer sistem untuk operasi. Proses dapat transfer ke (atau dari) satu
buffer sementara sistem operasi mengosongkan (atau mengisi) buffer lain.
Double buffering menjamin proses tidak akan menunggu operasi I/O.
Peningkatan atas single buffering diperoleh, namun harus dibayar dengan
kompleksitas yang meningkat.
Masalah-masalah
penting yang terdapat dan harus diselesaikan pada
perancangan manajemen I/O adalah:
1. Penamaan yang seragam (uniform naming)
Nama berkas atau peralatan adalah string atau integer, tidak tergantung
pada peralatan sama sekali.
2. Penanganan kesalahan (error handling)
Umumnya penanganan kesalahan ditangani sedekat mungkin dengan
perangkat keras.
3. Transfer sinkron vs asinkron
Kebanyakan fisik I/O adalah asinkron. Pemroses mulai transfer dan
mengabaikannya untuk melakukan kerja lain sampai interupsi tiba. Programprogram
pemakai sangat lebih mudah ditulis jika operasi-operasi I/O
berorientasi blok. Setelah perintah read, program kemudian secara otomatis
ditunda sampai data tersedia di buffer.
4. Shareable vs dedicated
Beberapa peralatan dapat dipakai bersama seperti disk, tapi ada juga
peralatan yang harus hanya satu pemakai yang dibolehkan memakainya pada
satu saat. Contohnya peralata yang harus dedicated misalnya printer.
perancangan manajemen I/O adalah:
1. Penamaan yang seragam (uniform naming)
Nama berkas atau peralatan adalah string atau integer, tidak tergantung
pada peralatan sama sekali.
2. Penanganan kesalahan (error handling)
Umumnya penanganan kesalahan ditangani sedekat mungkin dengan
perangkat keras.
3. Transfer sinkron vs asinkron
Kebanyakan fisik I/O adalah asinkron. Pemroses mulai transfer dan
mengabaikannya untuk melakukan kerja lain sampai interupsi tiba. Programprogram
pemakai sangat lebih mudah ditulis jika operasi-operasi I/O
berorientasi blok. Setelah perintah read, program kemudian secara otomatis
ditunda sampai data tersedia di buffer.
4. Shareable vs dedicated
Beberapa peralatan dapat dipakai bersama seperti disk, tapi ada juga
peralatan yang harus hanya satu pemakai yang dibolehkan memakainya pada
satu saat. Contohnya peralata yang harus dedicated misalnya printer.
0 comments:
Post a Comment