Sebuah sistem operasi memberikan segala layanan yang mengeksploitasi sumberdaya yang dibutuhkan satu atau lebih proses kepada pengguna. Sumberdaya tersebut berkaitan erat dengan sistem komputer. Hal ini dikarenakan sistem operasi mengatur komponen-komponen pendukung sistem komputer seperti memori, I/O modul ataupun I/O device dan komponen pembentuk lainnya sehingga terselenggaranya ekseskusi proses dan menyembunyikan kerumitan pengaturan perangkat keras dari pengguna dan pembuat aplikasi. Hal tersebut menyebabkan perlunya memahami bagaimana sistem komputer bekerja untuk mengetahui bagaimana sistem operasi melaksanakan tugasnya.
Elemen Dasar Komputer
Elemen Dasar Komputer
Pada level atas, sebuah komputer terdiri dari empat komponen. Komponen-komponen ini saling berinteraksi untuk menghasilkan fungsi dari tujuan sistem komputer yaitu eksekusi program atau komputasi. Keempat komponen atau elemen struktur utama yaitu:
- Prosesor
Prosesor berfungsi mengendalikan operasi komputer dan melakukan fungsi pemrosesan data. Prosesor terdiri dari:- Aritmetic Logic Unit (ALU), bagian untuk komputasi yang berhubungan dengan aritmatika dan logika
- Control Unit (CU), sebagai pengendali utama operasi yang dilaksanakan.
- Aritmetic Logic Unit (ALU), bagian untuk komputasi yang berhubungan dengan aritmatika dan logika
Register, berfungsi sebagai memori yang sangat cepat yang biasanya digunakan sebagai tempat operan-operan suatu operasi yang akan dilaksanakan. Register membantu pelaksanan operasi yang dilakukan oleh prosesor.
- Memori Utama
Memori berfungsi menyimpan data dan program. Memori utama biasanya volatile, yaitu tidak dapat mempertahankan data dan program yang disimpan begitu sumber daya energi listrik dihentikan - Modul I/OModul I/O atau perangkat masukan/keluaran berfungsi memindahkan data antara komputer dan lingkungan eksternalnya. Lingkungan eksternal dapat diantarmuka/interface oleh beragam peralatan eksternal seperti: media penyimpan sekunder, peralatan komunikasi dan sebagainya.
- Intekoneksi antar KomponenInterkoneksi dalam hal ini adalah struktur dan mekanisme yang diperlukan untuk menghubungkan antara ketiga komponen, yaitu: proses, memori utama dan peralatan input-output.
Prosesor
Berfungsi mengendalikan operasi komputer dan melakukan pemrosesan data. Prosesor mengambil instruksi yang dikodekan secara biner dari main memori, mendekode instruksi menjadi aksi-aksi sederhana dan melaksanakan aksi-aksi ini. Prosesor terdiri dari tiga komponen yaitu:
Berfungsi mengendalikan operasi komputer dan melakukan pemrosesan data. Prosesor mengambil instruksi yang dikodekan secara biner dari main memori, mendekode instruksi menjadi aksi-aksi sederhana dan melaksanakan aksi-aksi ini. Prosesor terdiri dari tiga komponen yaitu:
- CU (Control unit), berfungsi mengendalikan operasi yang dilaksanakan.
- ALU (Arithmetic logic unit), berfungsi melaksanakan operasi aritmatika dan logika.
- Register, berfungsi sebagai memori yang sangat cepat yang biasanya digunakan sebagai tempat operan-operan suatu operasi yang akan dilaksanakan.
Operasi-operasi yang terdapat pada komputer terdiri dari tiga tipe, yaitu:
- Operasi aritmatika, seperti penambahan, pengurangan, dan sebagainya.
- Operasi logika, seperti OR, AND, X-OR dan sebagainya.
Operasi pengendalian, seperti operasi pencabangan, loncat, dan sebagainya
Register
Di dalam prosesor terdapat sekumpulan register yang berfungsi sebagai memori yang sangat cepat dan kecil kapasitasnya. Register-register dikategorikan menjadi dua, yaitu:
- Register yang terlihat pemakai, terdiri dari dua jenis yaitu: Register data dan register alamat.
Register untuk kendali dan status terdiri dari, Register untuk alamat dan buffer, register untuk eksekusi instruksi, dan register untuk informasi status.
Register Data
Register dapat diberi nilai untuk beragam keperluan pemakai. Register data terdiri dari dua macam, yaitu: General purpose register dan Special purpose register.
Register Alamat
Register ini berisi alamat data atau instruksi di memori utama atau berisi bagian alamat yang digunakan dalam penghitungan alamat lengkap. Contoh register ini antara lain: Register indeks, Register penunjuk segmen, Register penunjuk stack, dan Register penanda.
Register untuk Alamat dan Buffer
Register untuk Alamat dan Buffer terdiri dari:
- MAR (Memory Address Register), digunakan untuk mencatat alamat memori yang akan diakses (read/write).
- MBR (Memory Buffer Register), digunakan untuk menapung data yang akan dituliskan ke memori yang alamatnya ditunjuk oleh MAR.
I/O AR (I/O Address Register), digunakan untuk menampung data yang akan dituliskan ke port yang alamatnya ditunjuk oleh I/O AR
Register untuk Eksekusi Instruksi
Register untuk Eksekusi Instruksi terdiri dari:
- PC (Program Counter), mencatat alamat memori dimana instruksi yang terdapat di dalamnya akan dieksekusi.
- IR (instruction Register), menampung instruksi yang akan dilaksanakan.
Register untuk Informasi Status
Register ini dapat berupa satu register atau kumpulan register. Register atau kumpulan register ini disebut PSW (Program Status Word). PSW biasanya berisi kode-kode kondisi pemroses ditambah informasi-informasi status lainnya
Memori
Memori berfungsi untuk menyimpan data dan program. Berdasarkan kecepatan aksesnya dapat dibuat hirarki memori, sebagai berikut:
Tercepat | Register |
Chace Memory | |
Main Memory | |
Disk Chace | |
Magnetic Disk | |
Terlambat | Magnetic tape Optical disk |
Hirarki memori berdasarkan kecepatan
Setiap kali prosesor melakukan eksekusi, pemroses harus membaca instruksi dari memori utama. Agar eksekusi dapat dilakukan secara cepat maka harus diusahakan instruksi tersedia di memori pada hirarki berkecepatan akses lebih tinggi. Kecepatan eksekusi ini akan meningkatkan kinerja sistem. Untuk itu terdapat konsep memori dua level, yaitu ditampung dulu sementara di memori pada hirarki lebih tinggi.
Konsep ini diimplementasikan antara lain berupa:
- Chace memory, memori berkapasitas terbatas, berkecepatan tinggi yang lebih mahal daripada memori utama. Chace memori ada di antara memori utama dan register pemroses, berfungsi agar pemroses tidak langsung mengacu memori utama agar kinerja dapat ditingkatkan.
Buffering, bagian memori utama yang dialokasikan untuk menampung data yang akan ditransfer dari atau ke penyimpan sekunder. Buffering dapat mengurangi frekuensi pengaksesan ke perangkat penyimpan sekunder sehingga meningkatkan kinerja sistem
Modul I/O
Klasifikasi perangkat I/O berdasarkan aliran datanya dapat dibagi dua, antara lain:
- Block Oriented Device, peralatan ini menyimpan informasi sebagai blok-blok berukuran tetap. Ciri utama peralatan ini adalah dimungkinkan membaca atau menulis blok-blok secara indenpenden dengan cara direct access. Contoh peralatan antara lain: disk, optical disk, tape dan sebagainya.
- Character Stream Oriented Device, peralatan ini mengantarkan atau menerima aliran karakter tanpa peduli dengan suatu struktur blok. Contoh peralatan ini antara lain: terminal, line printer, interface jaringan, dan lain-lain.
Terdapat tiga teknik cara berhubungan perangkat I/O yaitu:
- Programmed I/O
Pada saat perangkat I/O menangani permintaan perangkat menset bit status pada register status perangkat. Perangkat tidak memberitahu ke prosesor bila tugas telah selesai. Prosesor harus selalu melakukan cek secara periodik terhadap register status perangkat dan melakukan tindakan-tindakan berdasarkan status yang dibaca.
- Interrupt Driven I/O
Teknik I/O dikendalikan instruksi mempunyai mekanisme kerja perangkat I/O sebagai berikut:
- Prosesor memberi instruksi ke perangkat I/O lalu melanjutkan kerja yang lainnya.
- Perangkat I/O akan menginstruksi untuk minta layanan saat perangkat telah siap transfer data dengan prosesor
- Saat menerima instruksi dari hardware (Hardware yang siap melakukan transfer data), prosesor kemudian segera eksekusi transfer data.
Dengan ini prosesor tidak disibukkan menunggui dan menjaga perangkat I/O untuk memeriksa status perangkat.
- Direct Memory Access
Interrupt Driven I/O lebih efisien dari programmed I/O, tapi masih memerlukan intervensi aktif prosesor untuk transfer data antara memori dan buffer I/O. I/O dikendalikan interupsi (Interrupt Driven I/O) mempunyai dua kelemahan yaitu:
- Rate Transfer I/O dibatasi kecepatan menguji dan melayanan operasi peralatan.
- Prosesor terikat ketat dalam mengelola transfer I/O, sejumlah instruksi harus dieksekusi untuk tiap transfer I/O.
Ketika data besar dipindahkan teknik yang lebih efisien diperlukan agar tidak menyibukkan prosesor, sehingga prosesor dapat melakukan kerja lain.
DMA berfungsi membebaskan prosesor menunggui transfer data perangkat I/O. Saat prosesor ingin baca/tulis data, prosesor memrintahkan DMA dengan mengirim informasi-informasi berikut:
- Read/write
- Alamat perangkat I/O
- Awal lokasi memori yang ditulis/dibaca
- Jumlah byte yang ditulis/dibaca
Setelah mengirim informasi ke DMA, prosesor dapat melakukan kerja lain. Prosesor mendelegasikan operasi I/O ke DMA. DMA mentransfer seluruh data yang diminta secara langsung dari memori tanpa melewati prosesor. Ketika transfer data selesai, DMA mengirim sinyal interupsi ke prosesor. Prosesor hanya dilibatkan pada awal dan akhir tranfer data perangkat I/O.
Operasi transfer anatara perangkat dan memori utama dilakukan sepenuhnya oleh DMA. DMA yang menangani akses disk, dilakukan oleh DMA controller yang lepas dari prosesor dan hanya melakukan interupsi bila operasi telah diselesaikan.
Interkoneksi antar Komponen
Interkoneksi antar komponen disebut bus. Bus terdiri dari 3 macam, yaitu:
- Address Bus, Bus yag mengirim alamat lokasi memori atau port yang ingin ditulis/dibaca. Jumlah lokasi memori yang dapat dialamati CPU ditentukan oleh jumlah jalur alamat.Jika CPU memilki N jalur alamat maka dapat secara langsung mengalamati 2N lokasi memori.
- Data Bus, Bus data ini Bidirectional berarti dapat baca dan kirim dari/ke memori atau port. Bus data berhubungan dengan transfer ata pembacaan data dari/ke memori dengan peralatan-peralatan.
Control Bus, Bus yang digunakan CPU dengan dikirimi sinyal untuk memrintahkan memori atau port I/O.
Eksekusi Instruksi
Mekanisme Eksekusi
Tahap Pemrosesan instruksi berisi 2 tahap yaitu:
- Fetch, Prosesor membaca instruksi dari memori
- Execute, Prosesor mengeksekusi instruksi
Eksekusi program berisi pengulangan proses fetch dan execute. Eksekusi instruksi (Tahap Execute) dapat melibatkan beberapa operasi lebih dasar dan bergantung pada sifat instruksi itu. Proses satu instruksi disebut satu siklus instruksi (instruction cycle). Siklus Eksekusi instruksi dpat dilihat pada gambar di bawah ini
Mode Eksekusi Instruksi
Prosesor mempunyai beragam mode eksekusi, biasanya dikaitkan dengan program Sistem Operasi dan program pemakai. Instruksi-instruksi tertentu hanya dapat dieksekusi dalam suatu mode yang berkewenangan lebih tinggi.
Mode dengan kewenangan rendah biasa disebut user mode karena program pemakai biasa dieksekusi dalam mode ini.
Mode dengan kewenangan tinggi disebut system mode, control mode, supervisor mode atau kernel mode, karena biasanya rutin-rutin sistem atau kendali atau kernel dieksekusi dengan mode ini.
Tidak ada komentar:
Posting Komentar
Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.