kupu-kupu

Sabtu, 08 Oktober 2016

sistem operasi interupsi polling dan vector

sistem operasi interupsi,polling, dan vektor

Antara lain :
a. Eksekusi Program
b. Interupsi
c. Mode terproteksi dan supervisor
d. Manajemen memori
e. Multitasking
f. Disk access dan sistem file
g. Driver-driver divais
h. Networking
i. Keamanan
j. Sistem File dalam Sistem Operasi Modernk.
k. Graphical user interfaces
namun kali ini saya akan membahas fitur sistem operasi interupsi
interupsi adalah pusat sistem operasi, yang menyediakan cara efisien bagi sistem operasi untuk berinteraksi dan bereaksi terhadap lingkungannya. Pemrograman berbasis interupsi secara langsung didukung hampir seluruh CPU modern. interupsi menyediakan cara otomatis menyimpan isi register local dan menjalankan kode khusus sebagai respon terhadap sebuah kejadian. Bahkan komputer yang paling dasar sekalipun mendukung interupsi hardware dan membolehkan pemrogram untuk menentukan kode yang akan di jalankan ketika terjadi sebuah kejadian.
Ketika sebuah interupsi diterima, hardware komputer secara otomatis menunda program apapun yang sedang dijalankan, menyimpan statusnya dan menjalankan kode komputer yang berhubungan dengan interrupsi yang terjadi sebelumnya. Dalam sistem operasi modern, interupsi ditangani oleh kernel sistem operasi. Interupsi bisa datang dari hardware komputer atau program yang sedang jalan.
Ibaratnya begini, ketika anda sedang melakukan suatu pekerjaan, katakanlah membaca sebuah buku, belum selesai buku tersebut anda tamatkan, lalu telepon anda berbunyi, sehingga anda melakukan percakapan terlebih dahulu melalui telepon tersebut. Setelah pembicaraan selesai, anda melanjutkan membaca buku tadi. menerima telepon di dalam kejadian tersebut disebut dengan menyela.
Begitu juga dengan proses yang terjadi pada komputer. Apabila sebuah komputer melakukan prosesnya tanda ada gangguan, tentu komputer tersebut dapat menyelesaikan pekerjaannya dengan serius khusus untuk satu pekerjaan yang sedang dikerjakannya. Dalam kondisi demikian, komputer anda melakukan tugasnya yang disebut dengan primitive batch processing. Pekerjaan seperti ini digunakan oleh komputer pada komputer zaman awal-awal ditemukannya. Dimana komputer tidak bisa mengerjakan beberapa program sekaligus dalam waktu bersamaan, sampai satu pekerjaan selesai dikerjakan, maka baru dia bisa berpindah ke pekerjaan lainnya.
Komputer terkini, memiliki kemampuan interrupt ini. Penulis melakukan pengetikkan naskah ini sambil mendengarkan musik yang terpasang pada notebook yang digunakan, tidak jarang komputer ini juga sambil terhubung dengan internet untuk membuka halaman web atau mengambil beberapa data yang ada di internet.
Anda tentu juga tidak jarang mengalami hal dengan interrupt ini, katakanlah, ketika mengetikkan SMS ternyata ada telpon yang masuk, anda terima dulu telpon tersebut, lalu setelahnya anda lanjutkan pengetikan SMS tadi.
Untuk memungkinkan terjadinya interrupt ini pada sistem komputer, CPU memiliki suatu jalur khusus terhadap suatu chip pengatur interrupt eksternal (bagian dari chipset), yang berisi database sederhana yang dikenal dengan interrupt vectors.
Ketika sebuah interrupt terjadi pada chip, maka CPU menyimpan informasi terakhir yang dia kerjakan, berulah dia mengerjakan sesuai dengan informasi yang ada pada interrupt vector tesebut. Interrupt vector ini sebenarnya hanya sebuah nama pemanis yang berisi informasi tentang selaan yang terjadi, kalau dibelah lebih dalam lagi, isinya adalah berupa tabel yang berisi angka-angka). Pada interrupt vector inilah ditemukan kemana dan apa proses berikutnya yang harus dilaksanakan oleh komputer. Ketika pekerjaan interrupt tadi selesai dilaksanakan, maka komputer melakukan pelacakan kembali apa pekerjaan sebelumnya yang sedang dilaksanakannya.
Prioritas dalam interrupt
Dalam penerimaan suatu interrupt ini, komputer membagi interrupt tersebut dalam berbagai level, tergantung dari CPU yang digunakan. Misalnya pada komputer yang digunakan untuk pekerjaan yang cukup membutuhkan konsentrasi dari CPU, maka CPU tersebut memungkinkan untuk mengabaikan interrupt yang prioritasnya rendah, katakanlah pengetikkan yang dilakukan oleh seorang user melalui keyboard, namun komputer tersebut akan memberikan respon yang sangat cepat apabila terjadi gangguan pada memori yang digunakannya.
Interupsi terjadi bila suatu perangkat M/K ingin memberitahu prosesor bahwa ia siap menerima perintah, output sudah dihasilkan, atau terjadi error.
Siklus penanganan interupsi
Polling
Bila prosesor ingin mengakses perangkat, salah satu pendekatannya adalah dengan membiarkan prosesor melakukan semua pekerjaan. Prosesor berinteraksi dengan controller melalui protokol yang rumit tetapi dasar handshaking-nya cukup sederhana yaitu:
CPU terus menerus membaca bit status sampai bit tersebut menandakan perangkat siap menerima perintah CPU.
CPU mengaktifkan bit-write di register perintah sebagai awal pertanda CPU memberikan perintah dan menulis sebuah byte di data-out.
CPU mengaktifkan command-ready bit, artinya perintah tersedia untuk dijalankan controller.
Controller melihat command ready bit di-set sehingga bit kerja di-set.
Controller membaca register perintah dan melihat perintah write maka data-out dibaca dan menyuruh perangkat M/K melakukan apa yang diperintah CPU.
Controller menghapus command ready bit, bit error di status dan bit kerja.
Langkah 1 disebut polling atau busy waiting. Prosesor terus-menerus membaca bit status, berharap suatu saat bit tersebut menandakan perangkat siap menerima perintahnya. Pada dasarnya polling dapat dikatakan efisien bila kinerja perangkat dan controller-nya cepat. Kelemahan dari cara ini adalah bila waktu tunggu lama, maka lebih baik prosesor mengerjakan tugas yang lain. Sedangkan untuk mengetahui apakah perangkatnya sudah siap menerima perintah lagi atau belum, digunakanlah interupsi.
Vektor Interupsi dan Vector Chaining
Bila ada sebuah sinyal interupsi pada interrupt request line, bagaimana sebuah interrupt handler mengetahui sumber dari interupsi itu? Apakah harus menelusuri semua sumber interupsi satu-persatu? Tidak perlu, karena setiap interrupt handler mempunyai alamat memori masing-masing. Alamat ini adalah offset pada sebuah tabel yang disebut dengan vektor interupsi.
Tabel Vector-Even pada Intel Pentium
Vector number Description
0 Divide error
1 Debug Exception
2 Null Interrupt
3 Breakpoint
4 INTO-detected overflow
5 Bound range exception
6 Invalid opcode
7 Device not available
8 Double fault
9 Compressor segment overrun (reserved)
10 Invalid task state segment
11 Segment not present
12 Stack fault
13 General protection
14 Page fault
15 (Intel reserved, do not use)
16 Floating point error
17 Alignment check
18 Machine check
19-31 (Intel reserved, do not use)
32-255 Maskable interrupt

0 komentar:

Posting Komentar