Secara umum sebuah sistem komputer terdiri atas hardware, software dan brainware dimana ketiganya saling terkait satu sama lain (lihat gambar di bawah ini). Ketiganya merupakan syarat mutlak untuk menjalankan sebuah sistem komputer.
Sebuah sistem operasi merupakan program yang bertindak sebagai perantara antara pengguna (user) komputer dengan hardware (perangkat keras) komputer. Tujuan dari sistem operasi adalah untuk menyediakan lingkungan dimana user dapat mengeksekusi program yang diinginkan dengan efisien.
Sebuah sistem operasi sama halnya dengan sebuah pemerintahan. Komponen-komponen seperti hardware, software, dan data. Sistem operasi menyediakan kemudahan untuk menggunakan berbagai sumberdaya dalam sebuah operasi. Sama halnya dengan sebuah pemerintahan, sistem operasi tidak bekerja sendirian. Sistem operasi harus menyediakan sebuah lingkungan yang didalamnya terdapat berbagai program untuk menyelesaikan berbagai pekerjaan.
Sistem operasi dapat dipandang sebagai pengontrol sumberdaya yang ada. Sebuah sistem komputer memiliki berbagai sumberdaya (hardware dan software) yang dibutuhkan untuk menyelesaikan berbagai masalah: CPU time, ruang memori, ruang penyimpanan file, perangkat I/O (input/output), dan lain sebagainya. Sistem operasi bertindak sebagai manajer bagi semua sumberdaya ini dan mengalokasikannya pada program dan user tertentu untuk melakukan berbagai tugas (task). Dengan demikian ada peluang terjadinya konflik permintaan sumberdaya, sistem operasi harus mengambil keputusan, request (permintaan) sumberdaya mana yang harus dilayani untuk menjaga efisiensi operasi komputer.
Pandangan lain terhadap sebuah sistem operasi terfokus pada kebutuhan pengendalian (control) program. Control program mengendalikan eksekusi program user untuk mencegah error dan penggunaan yang tidak efisien, khususnya pengoperasian dan pengendalian perangkat I/O.
Tujuan utama sebuah sistem operasi adalah untuk kenyamanan user. Sistem operasi ada untuk lebih memudahkan user mengoperasikan komputer dibanding tanpa sistem operasi. Tujuan lainnya adalah untuk mengefisienkan 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 controllertersebut dapat bekerja secara bersama-sama dan saling berkompetisi untuk menggunakan memori.
GAMBAR: 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).
GAMBAR: 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 Interrupt
Jenis-jenis interrupt:
- Software, Interrupt yang disebabkan oleh software sering disebut dengan nama System Call. Misalnya suatu program ingin mencetak hasil dengan printer.
- 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:
- Program, terjadi sebagai akibat dari eksekusi suatu instruksi, Contoh: arithmatic overflow, devision by zero, dll.
- Timer, disebabkan oleh timer prosesor.
- I/O, disebabkan oleh I/O controller baik sebagai tanda bahwa suatu operasi telah selesai, maupun memberi tanda adanya error.
- Kegagalan hardware, disebabkan oleh kesalahan hardware, seperti power failure atau memory parity error
GAMBAR: 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 registerke 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.
0 komentar:
Posting Komentar