Materi I Skema Dasar Sistem Komputer

  

Materi I

Skema Dasar Sistem Komputer

1.1. Pendahuluan

  Sistem operasi akan memanfaatkan sumber daya perangkat keras dari CPU dalam menyediakan layanan untuk para pengguna sistem. Sistem memori juga akan melakukan pengaturan memori sekunder dan perangkat masukan keluaran (I/O) atas nama penggunanya. Oleh karena itu, apabila akan melakukan pengujian sistem, pemahaman mengenai perangkat keras sistem komputer tertentu sangatlah diperlukan.

  Dari tingkatan paling atas, suatu komputer terdiri dari komponen prosesor, memori, I/O, dengan sebuah modul atau lebih pada setiap komponennya. Komponen tersebut akan melakukan interkoneksi melalui cara tertentu untuk mendapatkan fungsi utama komputer, yang digunakan dalam pengeksekusian aplikasi (program).

  Dengan demikian, terdapat empat elemen dalam sistem komputer, yaitu:

  a. Pemroses (processor)

  b. Memori Utama

  c. Perangkat Input/Output

  d. Interkoneksi Antar Komponen

Gambar 1.1. Skema blok sistem komputer

  ("Sistem Operasi", Penerbit Informatika, 2001)

1.1.1. Pemroses

  c. Pengendalian (LOOP, JUMP)

  User-visible register dapat direferensikan dengan menggunakan bahasa mesin yang dieksekusi oleh prosesor selain yang secara umum dapat dipergunakan di seluruh aplikasi. Jenis register yang umumnya tersedia adalah register data, register alamat, dan kode kondisi.

  User-visible register Memungkinan pemrogram bahasa aras rendah (assembler) dapat meminimalisasi referensi memori utama dengan mengoptimalisasi penggunaan register. Pada bahasa tingkat tinggi, compiler yang melakukan optimasi akan berusaha membuat pilihan yang cerdas mengenai variabel yang akan meng-assign register dan yang akan meng-assign ke lokasi memori. Pemrograman dalam bahasa C memungkinkan untuk memerintahkan compiler melakukan penyimpanan variabel di dalam register.

  ●

  Register di dalam prosesor mempunyai dua fungsi, sebagai berikut:

  c. Register-register Suatu prosesor terdiri dari sejumlah register yang merupakan memori berkecepatan tinggi dan berukuran lebih kecil dibandingkan dengan memori utama.

  b. CU (Control Unit) Sebagai pengendali operasi sistem komputer.

  a. ALU (Aritmatic Logic Unit) Melakukan operasi aritmatika dan logika.

  ● Tiga komponen pemroses:

  

● Mengontrol operasi komputer dan melakukan fungsi pengolahan data. Apabila hanya

  mempunyai sebuah prosesor, prosesor tersebut disebut Central Processing Unit (CPU) .

  a. Aritmatika (ADD, SUBSTRACT, MULTIPLY, DIVIDE)

  Tiga tipe operasi komputer:

  ●

  c. Menjalankan aksi

  b. Mendekode instruksi menjadi aksi sederhana

  a. Mengambil instruksi biner dari memori

  Langkah kerja pemroses:

  

● Pemroses melakukan penghitungan, melakukan operasi logika, serta mengelola aliran data

dengan membaca insstruksi dari memori dan kemudian mengeksekusinya. ●

  b. Logika (OR, AND, XOR, INVERTION)

  Register data

  Dapat di-assign ke beraneka ragam fungsi oleh pemrogram. Pada keadaan tertentu, register bersifat serbaguna dan dapat pula digunakan dengan sembarang instruksi mesin yang sedang melakukan operasi data. Namun, terdapat keterbatasan yang harus dicermati, misalnya dalam kasus pemrograman harus memperhitungkan ketersediaan register untuk operasi floating-point

  Register alamat

  merupakan alamat data dan instruksi yang terdapat di dalam memori utama, atau register yang berisi bagian alamat yang digunakan dalam perhitungan alamat lengkap. Register serbaguna ini dapat pula ditujukan untuk mode pengalamatan tertentu. Contoh : indeks register, segment pointer, stack pointer

  ●

  Control dan status register Register yang digunakan untuk melakukan pengontrolan operasi dari prosesor beraneka ragam. Pada sebagian besar karakteristik mesin, sebagian besar register bersifat tidak visibel terhadap pengguna. Beberapa register dapat diakses oleh instruksi mesin yang dieksekusi dalam mode sistem operasi.

  Akan tetapi, bagaimana yang terjadi apabila menggunakan mesin yang berbeda, maka organisasi register serta terminologinya pun akan berbeda pula. Disamping register MAR, MBR, I/O AR, dan I/O BR, terdapat register penting dalam eksekusi instruksi: ● Program Counter (PC), berisi alamat instruksi yang akan digunakan.

  ● Instruction register (IR), berisi instruksi yang terakhir digunakan.

  Semua rancangan prosesor mencakup sebuah register atau sejumlah register yang dikenal sebagai program status word (PSW), berisikan informasi keadaan, sebagai contoh interrupt enable/disable bit dan supervisor/user mode bit.

  ●

  Dalam bentuk yang sederhana, pengolahan instruksi terdiri dari dua langkah :

  a. Pemroses membaca instruksi dari memori (fetch), secara satu persatu dari memori

  b. Pemroses melakukan eksekusi instruksi (execute), dapat terdiri dari beberapa operasi serta tergantung pada sifat instruksinya Dengan menggunakan deskripsi dua langkah yang telah disederhanakan sebelumnya, siklus instruksi dapat digambarkan seperti yang terlihat pada gambar 1.2. Kedua langkah tersebut dikenal sebagai instruksi pengambilan (fetch cycle) dan siklus eksekusi (execution cycle). Eksekusi aplikasi hanya akan terhenti apabila mesin dimatikan, dan dapat menyebabkan terjadinya sejumlah kesalahan yang tidak dapat dipulihkan atau terjadi instruksi aplikasi yang menghentikan komputer.

Gambar 1.2. Siklus instruksi dasar

  ("Sistem Operasi, Internal dan Prinsip-prinsip Perancangan", Indeks, 2005)

1.1.2. Memori Utama

  Memori berfungsi dalam penyimpanan data dan aplikasi. Dengan mempunyai sifat volatile, sehingga tidak dapat mempertahankan data dan aplikasi yang disimpan atau sedang berjalan apabila tidak mempunyai sumber daya energi (listrik). Memiliki konsep program tersimpan (stored

  

program concept), yaitu kumpulan instruksi yang disimpan di suatu tempat (memori) untuk

kemudian instruksi tersebut dieksekusi.

  Kemudian, terdapat suatu relasi dari ketiga karakteristik memori yaitu harga, kapasitas dan waktu akses, yang dapat didefinisikan sebagai berikut : a. Semakin kecil waktu akses, maka semakin mahal perhitungan harga setiap bit.

  b. Semakin besar kapasitas, semakin murah harga setiap bit.

  c. Semakin besar kapasitas, mengakibatkan semakin besar waktu akses.

  Untuk selanjutnya, melalui tabel 1.1, dapat dilihat suatu konsep hirarki memori berdasarkan kecepatan akses:

Tabel 1.1. Hirarki memori berdasar kecepatan akses

  Memori Kecepatan

  Register Tercepat Memori cache Memori utama Disk cache Magenetik disc, optical disc

  Memori Kecepatan

  Magenetic tape terlambat Dengan semakin rendah letak suatu memori di dalam hirarki, maka akan membuat relasi seperti berikut ini: a. Harga setiap bit semakin murah

  b. Kapasitas semakin besar

  c. Waktu akses semakin lama

  d. Penurunan frekuensi akses memori oleh pemroses Setiap pemroses melakukan tindakan eksekusi, pemroses harus melakukan pembacaan instruksi dari mesin utama. Agar eksekusi dilakukan secara cepat, maka instruksi harus diusahakan tersedia di lokasi memori yang terdapat pada lapisan berkecepatan akses lebih tinggi. Kecepatan eksekusi ini akan meningkatkan kinerja sistem secara signifikan. Terdapat konsep memori dua level, dimana instruksi akan ditampung sementara di memori pada hirarki lebih tinggi. Implementasi konsep ini antara lain berupa:

  a. Memori cache Bertujuan untuk memberikan kecepatan memori yang mendekati kecepatan memori yang tercepat, sekaligus memberikan memori semikonduktor berukuran besar dengan harga murah.

  b. Buffering Bagian memori utama untuk menampung data yang akan ditransfer dari/ke perangkat I/O dan penyimpan sekunder. Buffering dapat mengurangi frekuensi pengaksesan dari/ke perangkat I/O dan penyimpan sekunder sehingga meningkatkan kinerja sistem.

1.1.3. Perangkat masukan dan keluaran (I/O) Merupakan perangkat nyata yang dikendalikan oleh chip controller di board sistem atau card.

  

Controller kemudian dihubungkan dengan pemroses dan komponen lainnya melalui bus. Controller

  mempunyai register-register untuk pengendaliannya yang berisi status kendali.Setiap controller dibuat agar dapat dialamati secara individu oleh pemroses sehingga perangkat lunak device driver dapat menulis ke register-registernya sehingga dapat dikendalikan.

  Sistem operasi lebih berkepentingan terhadap pengendali dibandingkan dengan perangkat fisik mekanis. Perangkat I/O juga memindahkan data antara komputer dan lingkungan eksternal yang mempunyai antarmuka dengan beraneka ragam perangkat, seperti:

  a. Penyimpan sekunder

  b. Perangkat komunikasi c. Terminal

1.1.4. Interkoneksi Antar Komponen

  Secara fisik interkoneksi antar komponen berupa "perkawatan". Interkoneksi memerlukan tata cara atau aturan komunikasi agar tidak kacau (chaos) sehingga mencapai tujuan komputasi yang diinginkan. Interkoneksi sendiri merupakan struktur dan mekanisme dalam menghubungkan semua komponen yang terdapat di dalam sistem komputer, yang disebut sebagai bus. Terdiri dari tiga jenis, yaitu:

  a. Bus alamat (address bus) Berisi 16, 20, 24 jalur sinyal paralel atau lebih. CPU mengirim alamat lokasi memori atau port yang ingin ditulis atau dibaca di bus ini. Jumlah lokasi memori yang dapat dialamati ditentukan jumlah jalur alamat. Jika CPU mempunyai N jalur alamat maka dapat mengalamati 2 pangkat N (2N) lokasi memori dan/atau port secara langsung.

  b. Bus data (data bus) Berisi 8, 16, 32 jalur sinyal paralel atau lebih. Jalur-jalur data adalah dua arah (bidirectional).

  CPU dapat membaca dan mengirim data dari/ke memori atau port. Banyak perangkat pada sistem yang dihubungkan ke bus data, tetapi hanya satu perangkat pada satu saat yang dapat menggunakannya.

  c. Bus kendali (control bus) Berisi 4-10 jalur sinyal paralel. CPU mengirim sinyal-sinyal pada bus kendali untuk memerintahkan memori atau port. Sinyal bus kendali antara lain :

  1. Memory read Untuk memerintahkan melakukan pembacaan dari memori.

  2. Memory write Untuk memerintahkan melakukan penulisan ke memori.

  3. I/O read Untuk memerintahkan melakukan pembacaan dari port I/O.

  4. I/O write Untuk memerintahkan melakukan penulisan ke port I/O.

  Untuk mengetahui lebih lanjut mengenai mekanisme pembacaan data dari suatu lokasi memori, CPU akan mengirim alamat memori yang dikehendaki melalui bus alamat kemudian mengirim sinyal memory read pada bus kendali. Sinyal tersebut memerintahkan ke perangkat memori untuk mengeluarkan data pada lokasi tersebut ke bus data agar dibaca CPU. Interkoneksi antar komponen ini membentuk satu sistem sendiri, seperti ISA (Industry Standard Architecture), EISA (Extended ISA) dan PCI (Peripheral Component Interconnect).

Gambar 1.3. Arsitektur ISAGambar 1.3. Arsitektur PCI Express

1.2. Klasifikasi menurut karakteristik

  Klasifikasi ini berdasarkan ukuran sifat khas dari sebuah komputer. Biasanya berkaitan erat dengan fungsinya, yaitu sebagai berikut: a. Single Processor / Uniprocessor

  Dalam suatu komputer terdapat hanya satu prosesor. Keuntungan dari sistem ini:

  • lebih mudah diimplementasikan karena tidak perlu memperhatikan sinkronisasi antar prosesor.
  • kemudahan kontrol terhadap prosesor karena sistem proteksi tidak terlalu rumit.
  • cenderung lebih murah (bukan ekonomis).

  Perlu dicatat yang dimaksud satu buah prosesor ini adalah satu buah prosesor sebagai CPU/

  Central Processing Unit. Hal ini ditekankan sebab ada beberapa perangkat yang memang memiliki prosesor tersendiri di dalam perangkatnya seperti VGA Card AGP dan Optical Mouse.

  b. Multiprocessor/Paralel System Komputer ini memiliki lebih dari satu prosesor. Akibatnya meningkatkan jumlah suatu proses yang dapat diselesaikan dalam satu unit waktu (pertambahan throughput ). Perlu diingat hal ini tidak berarti daya komputasinya menjadi meningkat sejumlah prosesornya. Yang meningkat adalah jumlah pekerjaan yang bisa dilakukannya dalam waktu tertentu.

  Jika satu processor mengalami suatu gangguan, maka proses yang terjadi masih dapat berjalan dengan baik karena tugas prosesor yang terganggu diambil alih oleh prosesor lain. Hal ini dikenal dengan istilah Graceful Degradation. Sistemnya sendiri dikenal bersifat fault tolerant atau fail-soft system .

  Ada dua jenis multiprocessor system yaitu Symmetric MultiProcessing (SMP) dan Asymmetric

  MultiProcessing (ASMP). Dalam SMP setiap prosesor menjalankan salinan identik dari sistem operasi dan banyak job yang dapat berjalan di suatu waktu tanpa pengurangan performance.

  Sementara itu, dalam ASMP, setiap prosesor diberikan suatu tugas yang spesifik. Sebuah prosesor bertindak sebagai Master processor yang bertugas menjadwalkan dan mengalokasikan pekerjaan pada prosesor lain yang disebut slave processors. Umumnya metode ASMP digunakan pada sistem yang besar.

  c. Personal Computer Sebuah komputer yang dirancang hanya digunakan oleh satu orang dalam suatu waktu. Harganya cenderung lebih murah dan biasanya mampu mengerjakan berbagai macam tugas.

  d. Distributed System Melaksanakan komputasi secara terdistribusi di antara beberapa prosesor. Hanya saja komputasinya bersifat Loosely coupled system yaitu setiap prosesor mempunyai memori lokal sendiri. Komunikasi terjadi melalui bus atau jalur telepon. Keuntungannya hampir sama dengan

  multiprocessor, yaitu adanya pembagian sumber daya dan komputasi lebih cepat. Namun, pada

  distributed system juga terdapat keuntungan lain, yaitu memungkinkan komunikasi antar komputer.

  Terdiri atas dua model yaitu Client-Server Systems di mana hampir seluruh proses dilakukan terpusat di server berdasarkan permintaan client. Model ini masih dibagi dua jenis lagi yaitu compute server system di mana server menyediakan sarana komputasi dan file server system di mana server menyediakan tempat penyimpanan data. Model yang lain adalah Peer-to-peer (P2P) System, dimana beberapa komputer saling bertukar data. Contoh penerapan: Distributed System (dapat dilihat pada gambar 1.4):

  • Local Area Network (LAN)
  • Wide Area Network (WAN) / International Network (Internet) .

Gambar 1.4. Sistem terdistribusi

  e. Clustered System Secara umum, sistem kluster merupakan gabungan dari beberapa sistem individual (komputer) yang dikumpulkan pada suatu lokasi, saling berbagi tempat penyimpanan data (storage), dan saling terhubung dalam jaringan lokal (Local Area Network). Sistem kluster memiliki persamaan dengan sistem paralel dalam hal menggabungkan beberapa CPU untuk meningkatkan kinerja komputasi. Jika salah satu mesin mengalami masalah dalam menjalankan tugas maka mesin lain dapat mengambil alih pelaksanaan tugas itu. Dengan demikian, sistem akan lebih andal dan fault tolerant dalam melakukan komputasi. Dalam hal jaringan, sistem kluster mirip dengan sistem terdistribusi (distributed system). Bedanya, jika jaringan pada sistem terdistribusi melingkupi komputer-komputer yang lokasinya tersebar, maka jaringan pada sistem kluster menghubungkan banyak komputer yang dikumpulkan dalam satu tempat. Sedangkan dalam ruang lingkup jaringan lokal, sistem kluster memiliki beberapa model dalam pelaksanaannya: asimetris dan simetris. Kedua model ini berbeda dalam hal pengawasan mesin yang sedang bekerja. Pengawasan dalam model asimetris menempatkan suatu mesin yang tidak melakukan kegiatan apapun selain bersiap-siaga mengawasi mesin yang bekerja. Jika mesin itu mengalami masalah maka pengawas akan segera mengambil alih tugasnya. Mesin yang khusus bertindak pengawas ini tidak diterapkan dalam model simetris. Sebagai gantinya, mesin-mesin yang melakukan komputasi saling mengawasi keadaan yang berlangsung. Mesin lain akan mengambil alih tugas mesin yang sedang mengalami masalah. Inilah yang membuat model simetris lebih efisien. Isu yang menarik tentang sistem kluster adalah bagaimana mengatur mesin-mesin penyusun sistem dalam berbagi tempat penyimpanan data (storage). Untuk saat ini, biasanya sistem kluster hanya terdiri dari 2 hingga 4 mesin berhubung kerumitan dalam mengatur akses mesin-mesin ini ke tempat penyimpanan data. Hal penting yang berkaitan dengan penerapan sistem kluster secara paralel adalah kemampuan mesin-mesin penyusun sistem untuk mengakses data di storage secara serentak. Berbagai software khusus dikembangkan untuk mendukung kemampuan itu karena kebanyakan sistem operasi tidak menyediakan fasilitas yang memadai. Salah satu contoh software-nya adalah Oracle Parallel Server.

  Gambar. Visualisasi Clustering

  f. Real Time Systems (Sistem Waktu Nyata) Sistem waktu nyata adalah suatu sistem yang mengharuskan suatu komputasi selesai dalam jangka waktu tertentu. Jika komputasi ternyata belum selesai maka sistem dianggap gagal dalam melakukan tugasnya.

  Sistem waktu nyata memiliki dua model dalam pelaksanaannya: hard real time system dan soft real time system.

   Hard real time system

  Menjamin suatu proses yang paling penting dalam sistem akan selesai dalam jangka waktu yang valid. Jaminan waktu yang ketat ini berdampak pada operasi dan perangkat keras yang mendukung sistem. Operasi I/O dalam sistem, seperti akses data ke storage, harus selesai dalam jangka waktu tertentu. Dari segi hardware, memori jangka pendek (short-term

  memory) atau read-only memory (ROM) menggantikan harddisk sebagai tempat

  penyimpanan data. Kedua jenis memori ini dapat mempertahankan data mereka tanpa suplai energi. Ketatnya aturan waktu dan keterbatasan hardware dalam sistem ini membuat ia sulit untuk dikombinasikan dengan sistem lain, seperti sistim multiprosesor dengan sistem time-

  sharing. Untuk implementasinya, dapat digunakan dalam bidang pencitraan medis, sistem kontrol industri, dan industri peralatan rumah tangga.

  ● Soft real time system

  Tidak memberlakukan aturan waktu seketat hard real time system. Namun, sistem ini menjamin bahwa suatu proses terpenting selalu mendapat prioritas tertinggi untuk diselesaikan diantara proses-proses lainnya. Sama halnya dengan hard real time system, berbagai operasi dalam sistem tetap harus ada batas waktu maksimum. Sebagai contoh, metode ini telah diimplementasikan dalam bidang penelitian ilmiah.

1.3. Arsitektur 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, tindakan pencegahan yang dilakukan adalah sebuah memory controller ditambahkan untuk sinkronisasi akses memori.

  Arsitektur komputer telah mengalami perkembangan secara terus-menerus sampai saat ini. Terbukti dengan telah ditemukannya teknologi-teknologi terbaru yang semakin user friendly & user

  

needed. Akan tetapi, merujuk ke awal mulanya penciptaan komputer, gambar 1.5 merupakan

visualisasi dari arsitektur komputer tradisional yang dikonsepkan oleh von-neumann.

Gambar 1.5. Arsitektur komputer tradisional

  Seiring perjalanan waktu dan hasil riset teknologi, konsep von-neuman tersebut diterjemahkan dalam penciptaan komputer-komputer secara lebih riil, sistem komputer yang lebih maju membawa arsitektur yang lebih kompleks (dapat dilihat pada gambar 1.6). 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 motherboard, bridge dan bus master disatukan dalam sebuah chipset.

Gambar 1.6. Arsitektur komputer umum Untuk arsitektur komputer yang lebih modern, dapat dilihat pada gambar 1.7.Gambar 1.7. Arsitektur komputer modern

1.4. Proteksi Perangkat Keras

  Untuk meningkatkan utilisasi sistem, sistem operasi akan membagi sistem sumber daya sepanjang program secara simultan. Pengertian spooling adalah suatu program dapat dikerjakan walau pun I/O masih mengerjakan proses lainnya dan disk secara bersamaan menggunakan data untuk banyak proses. Pengertian multiprogramming adalah kegiatan menjalankan beberapa program pada memori pada satu waktu.

  Pembagian ini memang menguntungkan sebab banyak proses dapat berjalan pada satu waktu akan tetapi mengakibatkan masalah-masalah baru. Ketika tidak di sharing, maka jika terjadi kesalahan hanyalah akan membuat kesalahan program. Tapi jika di-sharing jika terjadi kesalahan pada satu proses atau program akan berpengaruh pada proses lainnya, sehingga diperlukan pelindung (proteksi). Tanpa proteksi, jika terjadi kesalahan maka hanya satu saja program yang dapat dijalankan atau seluruh output pasti diragukan.

  Banyak kesalahan pemprograman dideteksi oleh perangkat keras yang biasanya ditangani oleh sistem operasi. Jika terjadi kesalahan program, perangkat keras akan meneruskan kepada sistem operasi dan sistem operasi akan menginterupsi dan mengakhirinya. Pesan kesalahan disampaikan, dan memori dari program akan dibuang. Tapi memori yang terbuang biasanya tersimpan pada disk agar programmer bisa membetulkan kesalahan dan menjalankan ulang.

  a. Dual mode operation Membagi sumber daya sistem yang memerlukan sistem operasi untuk menjamin bahwa program yang salah tidak menyebabkan program lain berjalan salah juga. Menyediakan dukungan

  

hardware untuk membedakan minimal dua mode operasi yaitu: User Mode - Eksekusi dikendalikan

  oleh user; Monitor/Kernel/System Mode - Eksekusi dikendalikan oleh sistem operasi. Instruksi tertentu hanya berjalan di mode ini (Privileged Instruction). Ditambahkan sebuah bit penanda operasi. Jika terjadi interrupt, maka hardware berpindah ke monitor mode. Untuk lebih jelasnya, dapat dilhat pada gambar 1.8.

Gambar 1.8. Proteksi pada dual mode operation

  b. Proteksi I/O Pengguna dapat mengacaukan sistem operasi dengan melakukan instruksi I/O ilegal dengan mengakses lokasi memori untuk sistem operasi atau dengan cara hendak melepaskan diri dari prosesor. Untuk mencegahnya, dapat dibuat suatu mekanisme dimana semua instruksi I/O sebagai

  

privilidge instruction sehingga mereka tidak bisa mengerjakan instruksi I/O secara langsung ke

  memori tapi harus melalui sistem operasi terlebih dahulu. Proteksi I/O dikatakan selesai jika pengguna dapat dipastikan tidak akan menyentuh mode monitor. Jika hal ini terjadi proteksi I/O dapat dikompromikan. Visualisasinya dapat dilihat pada gambar 1.9.

Gambar 1.9. Proteksi I/O

  c. Proteksi Memori Salah satu proteksi perangkat keras ialah dengan proteksi memori yaitu dengan pembatasan penggunaan memori (dapat dilihat pada gambar 1.10). Disini dikenal beberapa istilah, yaitu:

  Base Register yaitu alamat memori fisik awal yang dialokasikan/ boleh digunakan oleh

  ● pengguna.

  Limit Register yaitu nilai batas dari alamat memori fisik awal yang dialokasikan/boleh

  ● digunakan oleh pengguna. ● Proteksi Perangkat Keras.