Struktur Sistem Komputer

Tidak ada suatu ketentuan khusus tentang bagaimana seharusnya struktur sistem sebuah komputer. Setiap ahli dan desainer arsitektur komputer memiliki pandangannya masing-masing. Akan tetapi, untuk mempermudah kita memahami detail dari sistem operasi di bab-bab berikutnya, kita perlu memiliki pengetahuan umum tentang struktur sistem komputer.

Operasi Sistem Komputer

Secara umum, sistem komputer terdiri atas CPU dan sejumlah device controller yang terhubung melalui sebuah bus yang menyediakan akses ke memori. Umumnya, setiap device controller bertanggung jawab atas sebuah hardware spesisfik. Setiap device dan CPU dapat beroperasi secara konkuren untuk mendapatkan akses ke memori. Adanya beberapa hardware ini dapat menyebabkan masalah sinkronisasi. Karena itu untuk mencegahnya sebuah memory controller ditambahkan untuk sinkronisasi akses memori.

Pada sistem komputer yang lebih maju, arsitekturnya lebih kompleks. Untuk meningkatkan performa, digunakan beberapa buah bus . Tiap bus merupakan jalur data antara beberapa device yang berbeda. Dengan cara ini RAM, Prosesor, GPU (VGA AGP) dihubungkan oleh bus utama berkecepatan tinggi yang lebih dikenal dengan nama FSB (Front Side Bus) . Sementara perangkat lain yang lebih lambat dihubungkan oleh bus yang berkecepatan lebih rendah yang terhubung dengan bus lain yang lebih cepat sampai ke bus utama. Untuk komunikasi antar bus ini digunakan sebuah bridge .

Tanggung jawab sinkronisasi bus yang secara tak langsung juga mempengaruhi sinkronisasi memori dilakukan oleh sebuah bus controller atau dikenal sebagai bus master . Bus master akan mengendalikan aliran data hingga pada satu waktu, bus hanya berisi data dari satu buah device .

Pada prakteknya bridge dan bus master ini disatukan dalam sebuah chipset .

NB: GPU = Graphics Processing Unit; AGP = Accelerated Graphics Port; HDD = Hard Disk Drive; FDD = Floppy Disk Drive; FSB = Front Side Bus; USB = Universal Serial Bus; PCI = Peripheral Component Interconnect; RTC = Real Time Clock; PATA = Pararel Advanced Technology Attachment; SATA = Serial Advanced Technology Attachment; ISA = Industry Standard Architecture; IDE = Intelligent Drive Electronics/Integrated Drive Electronics; MCA = Micro Channel Architecture; PS/2 =Sebuah port yang dibangun IBM untuk menghubungkan mouse ke PC;

Jika komputer dinyalakan, yang dikenal dengan nama booting, komputer akan menjalankan bootstrap program yaitu sebuah program sederhana yang disimpan dalam ROM yang berbentuk chip CMOS (Complementary Metal Oxide Semiconductor) . Chip CMOS modern biasanya bertipe EEPROM(Electrically Erasable Programmable Read Only Memory), yaitu memori non-volatile (tak terhapus jika power dimatikan) yang dapat ditulis dan dihapus dengan pulsa elektronik. Lalu bootsrap program ini lebih dikenal sebagai BIOS (Basic Input Output System) .

Bootstrap program utama, yang biasanya terletak di Motherboard akan memeriksa hardware-hardware utama dan melakukan inisialisasi terhadap program dalam hardware yang dikenal dengan nama firmware .

Bootstrap program utama kemudian akan mencari dan meload kernel sistem operasi ke memori lalu dilanjutkan dengan inisialisasi sistem operasi.Dari sini program sistem operasi akan menunggu kejadian tertentu. Kejadian ini akan menentukan apa yang akan dilakukan sistem operasi berikutnya ( event-driven ).

Kejadian ini pada komputer modern biasanya ditandai dengan munculnya interrupt dari software atau hardware, sehingga Sistem Operasi ini disebut Interrupt-driven. Interrupt dari hardware biasanya dikirimkan melalui suatu signal tertentu, sedangkan software mengirim interrupt dengan cara menjalankan system call atau juga dikenal dengan istilah monitor call . System/Monitor call ini akan menyebabkan trap yaitu interrupt khusus yang dihasilkan oleh software karena adanya masalah atau permintaan terhadap layanan sistem operasi. Trap ini juga sering disebut sebagai exception .

Setiap interrupt terjadi, sekumpulan kode yang dikenal sebagai ISR (Interrupt Service Routine) akan menentukan tindakan yang akan diambil. Untuk menentukan tindakan yang harus dilakukan, dapat dilakukan dengan dua cara yaitu polling yang membuat komputer memeriksa satu demi satu perangkat yang ada untuk menyelidiki sumber interrupt dan dengan cara menggunakan alamat-alamat ISR yang disimpan dalam array yang dikenal sebagai interrupt vector di mana sistem akan memeriksa Interrupt Vector setiap kali interrupt terjadi.

Arsitektur interrupt harus mampu untuk menyimpan alamat instruksi yang di- interrupt . Pada komputer lama, alamat ini disimpan di tempat tertentu yang tetap, sedangkan padakomputer baru, alamat itu disimpan di stack bersama-sama dengan informasi state saat itu.

Struktur I/O

Ada dua macam tindakan jika ada operasi I/O . Kedua macam tindakan itu adalah:

Setelah proses I/O dimulai, kendali akan kembali ke user program saat proses I/O selesai (Synchronous). Instruksi wait menyebabkan CPU idle sampai interrupt berikutnya. Akan terjadi Wait loop (untuk menunggu akses berikutnya). Paling banyak satu proses I/O yang berjalan dalam satu waktu.

Setelah proses I/O dimulai, kendali akan kembali ke user program tanpa menunggu proses I/O selesai (Asynchronous). System call permintaan pada sistem operasi untuk mengizinkan user menunggu sampai I/O selesai.Device-status table mengandung data masukkan untuk tiap I/O device yang menjelaskan tipe, alamat, dan keadaannya. Sistem operasi memeriksa I/O device untuk mengetahui keadaan device dan mengubah tabel untuk memasukkan interrupt. Jika I/O device mengirim/mengambil data ke/dari memory hal ini dikenal dengan nama (Direct Memory Access) DMA.

Struktur Storage

Hal penting yang perlu diingat adalah program adalah bagian dari data.

Hirarki Storage

Dasar susunan sistem storage adalah kecepatan, biaya, sifat volatilitas. Caching menyalin informasi ke storage media yang lebih cepat; Main memory dapat dilihat sebagai cache terakhir untuk secondary storage . Menggunakan memory berkecepatan tinggi untuk memegang data yang diakses terakhir. Dibutuhkan cache management policy. Cache juga memperkenalkan tingkat lain di hirarki storage. Hal ini memerlukan data untuk disimpan bersama-sama di lebih dari satu level agar tetap konsisten.