Operasi Sistem Komputer

Sistem komputer serbaguna berisi satu CPU dan sejumlah device controller yang dihubungkan melalui bus yang menyediakan adanya pemakaian memori secara bersama-sama seperti yang terlihat pada gambar berikut. CPU dan device controller tersebut dapat bekerja secara bersama-sama dan saling berkompetisi untuk menggunakan memori.

GAMBAR: Sistem KomputerGAMBAR: Sistem Komputer

Siklus Instruksi

Untuk memproses suatu instruksi dilakukan melalui 2 tahapan: (1) mengambil instruksi (instruction fetch) dari memori, dan (2) mengeksekusi instruksi tersebut (instruction execution). Siklus instruksi dimulai dengan pengambilan instruksi di memori utama oleh prosesor (gambar berikut). program counter (PC) menyimpan alamat instruksi yang akan diambil tersebut. Pada kebanyakan komputer, setelah instruksi tersebut diambil, nilai PC akan berubah ke instruksi berikutnya yang akan diambil (biasanya bertambah naik).

Siklus InstruksiGAMBAR: Siklus Instruksi

Sebagai contoh andaikan suatu komputer mengandung 16-bit word memory, dan PC pertama kali bernilai 300. Prosesor akan mengambil instruksi di memori pada alamat 300, yang kemudian dilanjutkan dengan 301, 302, 303, dan seterusnya. Instruksi yang diambil akan diletakkan pada Instruction Register (IR).

Interrupt

Interrupt merupakan sinyal dari peralatan luar atau permintaan dari program untuk melaksanakan suatu tugas khusus. Jika interrupt terjadi, maka program dihentikan terlebih dahulu untuk menjalankan rutin interrupt. Ketika program yang sedang berjalan tadi dihentikan, prosesor menyimpan nilai register yang berisi alamat program (CS dan IP) ke stack, dan mulai menjalankan rutin interrupt. Alamat setiap rutin interrupt disimpan dalam sebuah tabel yang disebut dengan interrupt services table. Sesudah rutin tersebut selesai dijalankan, program akan mengambil kembali nilai register (CS dan IP) dari stack dan program dijalankan (CS dan IP) dari stack dan program dijalankan kembali. Dua Gambar berikut menunjukkan proses interrupt.

GAMBAR: Proses InteruptGAMBAR: Proses Interrupt

Jenis-jenis interrupt:

  1. Software, Interrupt yang disebabkan oleh software sering disebut dengan nama System Call. Misalnya suatu program ingin mencetak hasil dengan printer.
  2. Hardware, Terjadi karena adanya aksi pada perangkat keras, seperti penekanan tombol keyboard atau menggerakkan mouse. Interrupt ini terbagi menjadi dua, yaitu: Maskable Interrupt (terjadi karena aksi dari luar, seperti: timer, keyboard, serial port, fixed disk, diskette drive); dan Non Maskable Interrupt (terjadi karena memori atau kesalahan parity pada I/O).

Penyebab terjadinya interrupt:

  1. Program, terjadi sebagai akibat dari eksekusi suatu instruksi, Contoh: arithmatic overflow, devision by zero, dll.
  2. Timer, disebabkan oleh timer prosesor.
  3. I/O, disebabkan oleh I/O controller baik sebagai tanda bahwa suatu operasi telah selesai, maupun memberi tanda adanya error.
  4. Kegagalan hardware, disebabkan oleh kesalahan hardware, seperti power failure atau memory parity error
GAMBAR: Siklus Proses dengan InteruptGAMBAR: Siklus Proses dengan Interrupt

Pada saat komputer dijalankan (powered up atau rebooted), komputer membutuhkan suatu program inisial untuk dijalankan, program ini sering disebut dengan bootstrap program. Program tersebut menginisialisasikan semua aspek sistem, dari CPU register ke device controller ke isi memory. Program bootstrap harus tahu bagaimana program harus dapat mengalokasikan sistem operasi dan meletakkannya di memori. Kemudian sistem operasi mulai mengeksekusi proses pertama dan menunggu beberapa event yang akan terjadi. Event tersebut ditandai dengan adanya interrupt baik datang dari software maupun hardware.

Pada kebanyakan sistem operasi menggunakan interrupt driven, jika tidak ada proses yang akan dieksekusi, tidak ada I/O device yang melayani sesuatu, dan tidak ada tanggapan dari user, maka sistem operasi akan tetap diam menunggu sesuatu terjadi. Suatu event yang akan terjadi selalu ditandai dengan adanya iterrupt atau trap. Trap adalah suatu software yang memberikan interrupt yang disebabkan oleh suatu error (misalnya devide by zero atau invalid memory access) atau permintaan khusus dari user program yang menyebabkan dibutuhkannya sistem operasi.

Satu Tanggapan

  1. Bertambah lagi informasi saya gara-gara baca blog ini…
    Thanks ya….

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: