Introduction to Computer Structure

Bundet
Bundet
Nov 6 · 8 min read

Before reading this review, it helps you read HISTORY & ORIGIN — ORIGINAL OPERATION SYSTEM.

The structure of a computer system can be divided into:

  1. Computer Operating System.
  2. I / O structures.
  3. Storage Structure.
  4. Storage Hierarchy.
  5. Hardware Protection.

1. Computer Operating System

Nowadays multipurpose computer systems consist of a CPU (Central Processing Unit); as well as a number of device controllers that are connected via buses that provide access to memory. Each device controller is in charge of managing certain devices (for example disk drives, audio devices, and video displays). The CPU and device controller can be run simultaneously, however synchronization mechanisms are needed to regulate access to memory.

At first run or at boot, there is an initial program that must be run. This initial program is called the bootstrap program. This program contains all aspects of a computer system, starting from the CPU register, device controller, to the contents of memory.

Interruptions are an important part of computer architecture systems. Every computer system has a different mechanism. Interruptions can occur if the hardware (hardware) or software (software) requested “served” by the processor. If an interruption occurs, the processor stops the process that is being done, then switches to the service routine to service the interruption. After completing the service routine, the processor resumes the delayed process.

2. I / O structures

This section will discuss the structure of I / O, I / O interruptions, and DMA, as well as differences in handling interruptions.

2.1. I / O Interface

To start an I / O operation, the CPU loads the registers that correspond to the device controller. Instead the device controller checks the contents of the register to then determine what operations to do. When I / O operations are carried out there are two possibilities, namely synchronous I / O and asynchronous I / O. In synchronous I / O, control is returned to the user process after the I / O process has been completed. Whereas in asynchronous I / O, control is returned to the user process without waiting for the I / O process to finish. So that the process I / O and user processes can be run simultaneously.

2.2. Structure DMA

Direct Memory Access (DMA) is a method of handling I / O where the device controller is directly related to memory without CPU interference. After setting buffers, pointers, and counters for I / O devices, the device controller transfers blocks of data directly to storage without CPU interference. DMA is used for high speed I / O devices. There is only one interruption per block, in contrast to devices that have a low speed where interruptions occur for each byte (word).

3. Storage Structure

Computer programs must be in main memory (usually RAM) to be able to run. Main memory is the only storage area that can be accessed directly by the processor. Ideally the program and overall data can be stored in main memory permanently. However this is not possible because:

  • Ukuran memori utama relatif kecil untuk dapat menyimpan data dan program secara keseluruhan.
  • Memori utama bersifat volatile, tidak bisa menyimpan secara permanen, apabila komputer dimatikan maka data yang tersimpan di memori utama akan hilang.

3.1. Memori Utama

Hanya memori utama dan register merupakan tempat penyimpanan yang dapat diakses secara langsung oleh prosesor. Oleh karena itu instruksi dan data yang akan dieksekusi harus disimpan di memori utama atau register.

Untuk mempermudah akses perangkat I/O ke memori, pada arsitektur komputer menyediakan fasilitas pemetaan memori ke I/O. Dalam hal ini sejumlah alamat di memori dipetakan dengan device register. Membaca dan menulis pada alamat memori ini menyebabkan data ditransfer dari dan ke device register. Metode ini cocok untuk perangkat dengan waktu respon yang cepat seperti video controller.

Register yang terdapat dalam prosesor dapat diakses dalam waktu 1 clock cycle. Hal ini menyebabkan register merupakan media penyimpanan dengan akses paling cepat bandingkan dengan memori utama yang membutuhkan waktu relatif lama. Untuk mengatasi perbedaan kecepatan, dibuatlah suatu penyangga (buffer) penyimpanan yang disebut cache.

3.2. Magnetic Disk

Magnetic Disk berperan sebagai secondary storage pada sistem komputer modern. Magnetic Disk disusun dari piringan-piringan seperti CD. Kedua permukaan piringan diselimuti oleh bahan-bahan magnetik. Permukaan dari piringan dibagi-bagi menjadi track yang memutar, yang kemudian dibagi lagi menjadi beberapa sektor.

4. Storage Hierarchy

Dalam storage hierarchy structure, data yang sama bisa tampil dalam level berbeda dari sistem penyimpanan. Sebagai contoh integer A berlokasi pada bekas B yang ditambahkan 1, dengan asumsi bekas B terletak pada magnetic disk. Operasi penambahan diproses dengan pertama kali mengeluarkan operasi I/O untuk menduplikat disk block pada A yang terletak pada memori utama Operasi ini diikuti dengan kemungkinan penduplikatan A ke dalam cache dan penduplikatan A ke dalam internal register. Sehingga penduplikatan A terjadi di beberapa tempat. Pertama terjadi di internal register dimana nilai A berbeda dengan yang di sistem penyimpanan. Dan nilai di A akan kembali sama ketika nilai baru ditulis ulang ke magnetic disk.

Pada kondisi multi prosesor, situasi akan menjadi lebih rumit. Hal ini disebabkan masing-masing prosesor mempunyai local cache. Dalam kondisi seperti ini hasil duplikat dari A mungkin hanya ada di beberapa cache. Karena CPU (register-register) dapat dijalankan secara bersamaan maka kita harus memastikan perubahan nilai A pada satu cache akan mengubah nilai A pada semua cache yang ada. Hal ini disebut sebagai Cache Coherency.

5. Proteksi Perangkat Keras

Sistem komputer terdahulu berjenis programmer-operated systems. Ketika komputer dioperasikan dalam konsul mereka (pengguna) harus melengkapi sistem terlebih dahulu. Akan tetapi setelah sistem operasi lahir maka hal tersebut diambil alih oleh sistem operasi. Sebagai contoh pada monitor yang proses I/O sudah diambil alih oleh sistem operasi, padahal dahulu hal ini dilakukan oleh pengguna.

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 multi programming 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/ 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. Kesalahan ini 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 program ulang.

5.1. Operasi Dual Mode

Untuk memastikan operasi berjalan baik kita harus melindungi sistem operasi, program, dan data dari program-program yang salah. Proteksi ini memerlukan share resources. Hal ini bisa dilakukan sistem operasi dengan cara menyediakan pendukung perangkat keras yang mengizinkan kita membedakan mode pengeksekusian program. Mode yang kita butuhkan ada dua mode operasi yaitu:

  • Mode Monitor.
  • Mode Pengguna.

Pada perangkat keras akan ada bit atau Bit Mode yang berguna untuk membedakan mode apa yang sedang digunakan dan apa yang sedang dikerjakan. Jika Mode Monitor maka akan benilai 0, dan jika Mode Pengguna maka akan bernilai 1.

Pada saat boot time, perangkat keras bekerja pada mode monitor dan setelah sistem operasi di-load maka akan mulai masuk ke mode pengguna. Ketika terjadi trap atau interupsi, perangkat keras akan men-switch lagi keadaan dari mode pengguna menjadi mode monitor (terjadi perubahan state menjadi bit 0). Dan akan kembali menjadi mode pengguna jikalau sistem operasi mengambil alih proses dan kontrol komputer (state akan berubah menjadi bit 1).

5.2. Proteksi I/O

Pengguna bisa 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 kita menganggap semua instruksi I/O sebagai privilidge instruction sehingga mereka tidak bisa mengerjakan instruksi I/O secara langsung ke memori tapi harus lewat 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.

5.3. Proteksi Memori

Salah satu proteksi perangkat keras ialah dengan proteksi memori yaitu dengan pembatasan penggunaan memori. Disini diperlukan 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.

Sebagai contoh sebuah pengguna dibatasi mempunyai base register 300040 dan mempunyai limit register 120900 maka pengguna hanya diperbolehkan menggunakan alamat memori fisik antara 300040 hingga 420940 saja.

Pustaka

Buku ini dipersembahkan dari Gabungan Kelompok Kerja 21–28 IKI-20230 Semester Genap 2002/ 2003, oleh Gabungan Kelompok Kerja 21–28 IKI-20230 Semester Genap 2002/ 2003, untuk siapa saja yang ingin mempelajari Sistem Operasi. Tim penyusun buku ini ialah sebagai berikut:

Kelompok 21 (Koordinator)

Dhani Yuliarso, Fernan, Hanny Faristin, Melanie Tedja, Paramanandana D.M., Widya Yuwanda.

Kelompok 22 (Bab 1)

Budiono Wibowo, Agus Setiawan, Baya U.H.S., Budi A. Azis Dede Junaedi, Heriyanto, Muhammad Rusdi.

Kelompok 23 (Bab 2)

Indra Agung, Ali Khumaidi, Arifullah, Baihaki A.S., Christian K.F. Daeli, Eries Nugroho, Eko Seno P., Habrar, Haris Sahlan.

Kelompok 24 (Bab 3)

Adzan Wahyu Jatmiko, Agung Pratomo, Dedy Kurniawan, Samiaji Adisasmito, Zidni Agni.

Kelompok 25 (Bab 4)

Nasrullah, Amy S. Indrasari, Ihsan Wahyu, Inge Evita Putri, Muhammad Faizal Ardhi, Muhammad Zaki Rahman, N. Rifka N. Liputo, Nelly, Nur Indah, R. Ayu P., Sita A.R.

Kelompok 26 (Bab 5)

Rakhmad Azhari, Adhe Aries, Adityo Pratomo, Aldiantoro Nugroho, Framadhan A., Pelangi, Satrio Baskoro Y.

Kelompok 27 (Bab 6)

Teuku Amir F.K., Alex Hendra Nilam, Anggraini W., Ardini Ridhatillah, R. Ferdy Ferdian, Ripta Ramelan, Suluh Legowo, Zulkifli.

Kelompok 28 (Bab 7)

Sistem Operasi: Bahan Kuliah IKI-20230 oleh Gabungan Kelompok Kerja 21–28 IKI-20230 Semester Genap 2002/2003

$Revision: 1.3.0.0 $ Edisi

Diterbitkan 30 September 2003

Copyright (Hak Cipta) © 2003 oleh Gabungan Kelompok Kerja 21–28 IKI-20230 Semester Genap 2002/ 2003.

Silakan menyalin, mengedarkan, dan/ atau, memodifikasi bagian dari dokumen — $Revision: 1.3.0.0 $ — — yang dikarang oleh Gabungan Kelompok Kerja 21–28 IKI-20230 Semester Genap 2002/ 2003, sesuai dengan ketentuan “GNU Free Documentation License versi 1.1” atau versi selanjutnya dari FSF (Free Software Foundation); tanpa bagian “Invariant”, tanpa teks “Front-Cover”, dan tanpa teks “Back-Cover”. Lampiran A ini berisi salinan lengkap dari lisensi tersebut. Ketentuan ini TIDAK berlaku untuk bagian dan/ atau kutipan yang bukan dikarang oleh Gabungan Kelompok Kerja 21–28 IKI-20230 Semester Genap 2002/ 2003.

Catatan Revisi

Revisi 1.3 30–09–2003 Revised by: RMS46

Revisi ini diedit oleh Rahmat M. Samik-Ibrahim: melanjutkan perbaikan tata letak dan pengindeksan.

Revisi 1.2 17–09–2003 Revised by: RMS46

Revisi ini diedit oleh Rahmat M. Samik-Ibrahim: melanjutkan perbaikan.

Revisi 1.1 01–09–2003 Revised by: RMS46

Revisi ini diedit oleh Rahmat M. Samik-Ibrahim: melakukan perbaikan struktur SGML, tanpa terlalu banyak mengubah isi buku.

Revisi 1.0 27–05–2003 Revised by: RMS46

Kompilasi ulang, serta melakukan sedikit perapihan.

Revisi 0.21.4 05–05–2003 Revised by: Kelompok 21 Perapihan berkas dan penambahan entity.

Revisi 0.21.3 29–04–2003 Revised by: Kelompok 21 Perubahan dengan menyempurnakan nama file.

Revisi 0.21.2 24–04–2003 Revised by: Kelompok 21

Merubah Kata Pengantar.

Revisi 0.21.1 21–04–2003 Revised by: Kelompok 21

Menambahkan Daftar Pustaka dan Index.

Revision 0.21.0 26–03–2003 Revised by: Group 21 Initiating the Operating System lecture group work.

Christiono H, Arief Purnama LK, Arman Rahmanto, Fajar, Muhammad Ichsan, Rama P. Tardan, Unedo Sanro Simon.

Bundet

Written by

Bundet

Bundet is a reflection of failure in managing ideas and mixing them to put an end to brain noise — bundet.com

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade