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.
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.
1. 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.
2.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
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.
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.
- 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.
- 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.
Kegunaan Interupsi I/O
1. 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.
No comments:
Post a Comment