SistemOperasi-2.0

download SistemOperasi-2.0

of 349

Transcript of SistemOperasi-2.0

Pengantar Sistem Operasi KomputerPlus Studi Kasus Kernel Linux

Masyarakat Digital Gotong Royong (MDGR)

Pengantar Sistem Operasi Komputer: Plus Studi Kasus Kernel Linux oleh Masyarakat Digital Gotong Royong (MDGR) $Revision: 2.0 $ Edisi Diterbitkan $Date: 2004/09/09 13:26:10 $ Copyright (Hak Cipta) 2003, 2004 Masyarakat Digital Gotong Royong (MDGR).Silakan menyalin, mengedarkan, dan/atau, memodikasi bagian dari dokumen $Revision: 2.0 $ yang dikarang oleh Masyarakat Digital Gotong Royong (MDGR), 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 Masyarakat Digital Gotong Royong (MDGR). Versi digital terakhir dari buku ini dapat diambil dari http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/ (http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/).

Catatan Revisi Revisi 2.0 09-09-2004 Direvisi oleh: RMS46 Memulai revisi 2.0 Revisi 1.10 09-09-2004 Direvisi oleh: RMS46 Perbaikan kecil. Pesiapan ke revisi 2.0 Revisi 1.9.2.10 24-08-2004 Direvisi oleh: RMS46 Ambil alih kelompok 51, perbaikan isi buku. Revisi 1.9.1.2 15-03-2004 Direvisi oleh: RMS46 Revisi lanjutan: perbaikan sana-sini, ejaan, indeks, dst. Revisi 1.9.1.0 11-03-2004 Direvisi oleh: RMS46 Revisi ini diedit ulang oleh Rahmat M. Samik-Ibrahim, serta perbaikan sana-sini. Revisi 1.9 24-12-2003 Direvisi oleh: Kelompok 49 Versi rilis nal buku OS. Revisi 1.8 08-12-2003 Direvisi oleh: Kelompok 49 Versi rilis beta buku OS. Revisi 1.7 17-11-2003 Direvisi oleh: Kelompok 49 Versi rilis alfa buku OS. Revisi 1.5 17-11-2003 Direvisi oleh: Kelompok 49 Penggabungan pertama (kel 41-49), tanpa indeks dan rujukan utama. ada. Revisi 1.4 08-11-2003 Direvisi oleh: Kelompok 49 Pengubahan template versi 1.3 dengan template yang baru yang akan digunakan dalam versi 1.4-2.0 Revisi 1.3.0.5 12-11-2003 Direvisi oleh: RMS46 Revisi ini diedit oleh Rahmat M. Samik-Ibrahim dipilah sesuai dengan sub-pokok bahasan yang ada. Revisi 1.3 30-09-2003 Direvisi oleh: RMS46 Revisi ini diedit oleh Rahmat M. Samik-Ibrahim melanjutkan perbaikan tata letak dan pengindeksan. Revisi 1.2 17-09-2003 Direvisi oleh: RMS46 Revisi ini diedit oleh Rahmat M. Samik-Ibrahim melanjutkan perbaikan. Revisi 1.1 01-09-2003 Direvisi oleh: 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 Direvisi oleh: RMS46 Kompilasi ulang, serta melakukan sedikit perapihan. Revisi 0.21.4 05-05-2003 Direvisi oleh: Kelompok 21 Perapihan berkas dan penambahan entity. Revisi 0.21.3 29-04-2003 Direvisi oleh: Kelompok 21 Perubahan dengan menyempurnakan nama le. Revisi 0.21.2 24-04-2003 Direvisi oleh: Kelompok 21 Merubah Kata Pengantar. Revisi 0.21.1 21-04-2003 Direvisi oleh: Kelompok 21 Menambahkan Daftar Pustaka dan Index. Revisi 0.21.0 26-03-2003 Direvisi oleh: Kelompok 21 Memulai membuat tugas kelompok kuliah Sistem Operasi.

Persembahan

Buku ini dipersembahkan dari Masyarakat Digital Gotong Royong (MDGR), oleh Masyarakat Digital Gotong Royong (MDGR), untuk siapa saja yang ingin mempelajari Sistem Operasi dari sebuah komputer. Buku ini bukan merupakan karya individual, melainkan merupakan hasil keringat dari ratusan peserta Masyarakat Digital Gotong Royong (MDGR)! Masyarakat Digital Gotong Royong (MDGR) ini merupakan Gabungan Kelompok Kerja 2128 Semester Genap 2002/2003, 4149 Semester Ganjil 2003/2004, dan 51 Semester Genap 2003/2004, Mata Kuliah IKI-20230 Sistem Operasi, Fakultas Ilmu Komputer Universitas Indonesia (http://rms46.vlsm.org/2/101.html -- http://www.cs.ui.ac.id/), yang namanya tercantum berikut ini: Kelompok 21. Kelompok ini merupakan penjamin mutu yang bertugas mengkoordinir kelompok 22-28 pada tahap pertama dari pengembangan buku ini. Kelompok ini telah mengakomodir semua ide dan isu yang terkait, serta proaktif dalam menanggapi isu tersebut. Tahap ini cukup sulit dan membingungkan, mengingat sebelumnya belum pernah ada tugas kelompok yang dikerjakan secara bersama dengan jumlah anggota yang besar. Anggota dari kelompok ini ialah: Dhani Yuliarso (Ketua), Fernan, Hanny Faristin, Melanie Tedja, Paramanandana D.M., Widya Yuwanda. Kelompok 22. Kelompok ini merancang bab 1 (lama) yang merupakan penjelasan umum perihal sistem operasi serta perangkat keras/lunak yang terkait. Anggota dari kelompok ini ialah: Budiono Wibowo (Ketua), Agus Setiawan, Baya U.H.S., Budi A. Azis Dede Junaedi, Heriyanto, Muhammad Rusdi. Kelompok 23. Kelompok ini merancang bab 2 (lama) yang menjelaskan managemen proses, thread, dan

penjadualan. Anggota dari kelompok ini ialah: Indra Agung (Ketua), Ali Khumaidi, Arifullah, Baihaki Ageng Sela, Christian K.F. Daeli, Eries Nugroho, Eko Seno P., Habrar, Haris Sahlan. Kelompok 24. Kelompok ini merancang bab 3 (lama) yang menjelaskan komunikasi antar proses dan deadlock. Anggota dari kelompok ini ialah: Adzan Wahyu Jatmiko (Ketua), Agung Pratomo, Dedy Kurniawan, Samiaji Adisasmito, Zidni Agni. Kelompok 25. Kelompok ini merancang bab 4 (lama) yang menjelaskan segala hal yang berhubungan dengan memori komputer. Anggota dari kelompok ini ialah: Nasrullah (Ketua), 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. Kelompok ini merancang bab 5 (lama) yang menjelaskan segala hal yang berhubungan dengan managemen sistem berkas. Anggota dari kelompok ini ialah: Rakhmad Azhari (Ketua), Adhe Aries P., Adityo Pratomo, Aldiantoro Nugroho, Framadhan A., Pelangi, Satrio Baskoro Y. Kelompok 27. Kelompok ini merancang bab 6 (lama) yang menjelaskan segala hal yang berhubungan dengan managemen I/O dan Disk. Anggota dari kelompok ini ialah: Teuku Amir F.K. (Ketua), Alex Hendra Nilam, Anggraini Widjanarti, Ardini Ridhatillah, R. Ferdy Ferdian, Ripta Ramelan, Suluh Legowo, Zulkii. Kelompok 28. Kelompok ini merancang bab 7 (lama) yang menjelaskan segala hal yang berhubungan dengan Studi Kasus GNU/Linux. Anggota dari kelompok ini ialah: Christiono H3ndra (Ketua), Arief Purnama L.K., Arman Rahmanto, Fajar, Muhammad Ichsan, Rama P. Tardan, Unedo Sanro Simon. Kelompok 41. Kelompok ini menulis ulang bab 1 yang merupakan pecahan bab 1 yang lama. Anggota dari kelompok ini ialah: Aristo (Ketua), Ahmad Furqan S K., Obeth M S. Kelompok 42. Kelompok ini menulis ulang bab 2 yang merupakan bagian akhir dari bab 1 yang lama. Anggota dari kelompok ini ialah: Puspita Kencana Sari (Ketua), Retno Amelia, Susi Rahmawati, Sutia Handayani. Kelompok 43. Kelompok ini menulis ulang/memperbaiki bab 2 lama (kini bab 3) yang membahas managemen proses, thread, dan penjadualan. Anggota dari kelompok ini ialah: Agus Setiawan (Ketua), Adhita Amanda, Afaf M, Alisa Dewayanti, Andung J Wicaksono, Dian Wulandari L, Gunawan, Jefri Abdullah, M Gantino, Prita I. Kelompok 44. Kelompok ini menulis ulang/memperbaiki bab 3 lama (kini bab 4) yang membahas komunikasi antar proses dan deadlock. Anggota dari kelompok ini ialah: Arnold W (Ketua), Antonius H, Irene, Theresia B, Ilham W K, Imelda T, Dessy N, Alex C. Kelompok 45. Kelompok ini menulis ulang/memperbaiki bab 4 lama (kini bab 5) yang membahas segala hal yang berhubungan dengan memori komputer. Anggota dari kelompok ini ialah: Bima Satria T (Ketua), Adrian Dwitomo, Alfa Rega M, Boby, Diah Astuti W, Dian Kartika P, Pratiwi W, S Budianti S, Satria Graha, Siti Mawaddah, Vita Amanda. Kelompok 46. Kelompok ini menulis ulang/memperbaiki bab 5 lama (kini bab 6) yang membahas segala hal yang berhubungan dengan managemen sistem berkas. Anggota dari kelompok ini ialah: Josef (Ketua), Arief Aziz, Bimo Widhi Nugroho, Chrysta C P, Dian Maya L, Monica Lestari P, Muhammad Alaydrus, Syntia Wijaya Dharma, Wilmar Y Ignesjz, Yenni R. Kelompok 47. Kelompok ini menulis ulang/memperbaiki bab 6 lama (kini bab 7) yang membahas segala hal yang berhubungan dengan managemen I/O dan Disk. Anggota dari kelompok ini ialah: Bayu Putera (Ketua), Enrico, Ferry Haris, Franky, Hadyan Andika, Ryan Loanda, Satriadi, Setiawan A, Siti P Wulandari, Tommy Khoerniawan, Wadiyono Valens, William Hutama. Kelompok 48. Kelompok ini menulis ulang/memperbaiki bab 6 lama (kini bab 7) yang membahas segala hal yang berhubungan dengan Studi Kasus GNU/Linux. Anggota dari kelompok ini ialah: Amir Murtako (Ketua), Dwi Astuti A, M Abdushshomad E, Mauldy Laya, Novarina Azli, Raja Komkom S. Kelompok 49. Kelompok ini merupakan koordinator kelompok 41-48 pada tahap kedua pengembangan buku ini. Kelompok ini selain kompak, juga sangat kreatif dan inovatif. Anggota dari kelompok ini ialah: Fajran Iman Rusadi (Ketua), Carroline D Puspa.

4

Kelompok 51. Kelompok ini bertugas untuk memperbaiki bab 4 yang membahas komunikasi antar proses dan deadlock. Anggota dari kelompok ini ialah: V.A. Pragantha (Ketua), Irsyad F.N., Jaka N.I., Maharmon, Ricky, Sylvia S.

5

Daftar IsiKata Pengantar Revisi 1.X .....................................................................................................................................i Kata Pengantar Revisi 2.X ....................................................................................................................................ii 1. Konsep Dasar Perangkat Komputer ................................................................................................................ 1 1.1. Pengenalan Sistem Operasi Komputer .................................................................................................... 1 1.1.1. Denisi Umum Sistem Operasi .................................................................................................. 1 1.1.2. Sejarah Perkembangan Sistem Operasi ...................................................................................... 3 1.1.3. Sistem Operasi Komputer Meja (Desktop)................................................................................. 5 1.1.4. Sistem Operasi Prosesor Jamak .................................................................................................. 6 1.1.5. Sistem Operasi Terdistribusi dan Terkluster ............................................................................... 6 1.1.6. Sistem Operasi Waktu Nyata ...................................................................................................... 8 1.1.7. Aspek Lain Sistem Operasi ........................................................................................................ 8 1.2. Struktur Sistem Komputer..................................................................................................................... 10 1.2.1. Operasi Sistem Komputer......................................................................................................... 10 1.2.2. Struktur I/O............................................................................................................................... 12 1.2.3. Struktur Penyimpanan .............................................................................................................. 14 1.2.4. Penyimpanan Hirarkis .............................................................................................................. 16 1.3. Proteksi Perangkat Keras dan Struktur Jaringan ................................................................................... 17 1.3.1. Proteksi Perangkat Keras .......................................................................................................... 17 1.3.2. Struktur Jaringan....................................................................................................................... 19 1.4. Rangkuman............................................................................................................................................ 21 1.5. Latihan................................................................................................................................................... 22 1.6. Rujukan ................................................................................................................................................. 23 Bibliogra ........................................................................................................................................... 23 2. Konsep Dasar Sistem Operasi......................................................................................................................... 24 2.1. Struktur Sistem Operasi ........................................................................................................................ 24 2.1.1. Komponen-komponen Sistem................................................................................................... 24 2.1.2. Managemen Proses ................................................................................................................... 24 2.1.3. Managemen Memori Utama ..................................................................................................... 24 2.1.4. Managemen Berkas .................................................................................................................. 25 2.1.5. Managemen Sistem I/O ............................................................................................................ 25 2.1.6. Managemen Penyimpanan Sekunder........................................................................................ 25 2.1.7. Sistem Proteksi ......................................................................................................................... 26 2.1.8. Jaringan..................................................................................................................................... 26 2.1.9. Command-Interpreter System ................................................................................................... 26 2.2. Layanan Sistem Operasi, System Calls, dan System Program .............................................................. 26 2.2.1. Layanan Sistem Operasi ........................................................................................................... 26 2.2.2. System Calls.............................................................................................................................. 27 2.2.3. System Program ........................................................................................................................ 30 2.3. Struktur Sistem...................................................................................................................................... 31 2.3.1. Struktur Sederhana.................................................................................................................... 31 2.3.2. Pendekatan Berlapis.................................................................................................................. 32 2.3.3. Mikrokernel .............................................................................................................................. 37 2.4. Mesin Virtual, Desain Sistem dan Implementasinya, dan System Generation ..................................... 37 2.4.1. Mesin Virtual Java .................................................................................................................... 38 2.4.2. Desain Sistem dan Implementasinya ........................................................................................ 38 2.4.3. System Generation .................................................................................................................... 39 2.5. Rangkuman............................................................................................................................................ 39 2.6. Latihan................................................................................................................................................... 40 2.7. Rujukan ................................................................................................................................................. 40

vi

3. Proses dan Penjadualan................................................................................................................................... 42 3.1. Konsep Proses ....................................................................................................................................... 42 3.1.1. Denisi Proses .......................................................................................................................... 42 3.1.2. Status Proses ............................................................................................................................. 42 3.1.3. Process Control Block .............................................................................................................. 44 3.1.4. Threads ..................................................................................................................................... 46 3.2. Penjadualan Proses ................................................................................................................................ 46 3.2.1. Queue Scheduling ..................................................................................................................... 47 3.2.2. Scheduler .................................................................................................................................. 49 3.2.3. Context Switch .......................................................................................................................... 51 3.3. Interaksi Proses ..................................................................................................................................... 52 3.3.1. Proses yang Kooperatif............................................................................................................. 53 3.3.2. Masalah Produser/Konsumer.................................................................................................... 53 3.4. Hubungan Antara Proses dan Client/Server.......................................................................................... 56 3.4.1. Hubungan Antara Proses .......................................................................................................... 56 3.4.2. Socket Client/Server System ..................................................................................................... 64 3.5. Konsep Thread ...................................................................................................................................... 66 3.5.1. Apa itu Thread .......................................................................................................................... 67 3.5.2. Keuntungan Thread .................................................................................................................. 68 3.5.3. User dan Kernel Threads .......................................................................................................... 68 3.5.4. Multithreading Models ............................................................................................................. 69 3.5.5. Fork dan Exec System Call ....................................................................................................... 71 3.5.6. Cancellation.............................................................................................................................. 71 3.5.7. Penanganan Sinyal.................................................................................................................... 72 3.5.8. Thread Pools ............................................................................................................................. 73 3.5.9. Thread Specic Data ................................................................................................................ 73 3.5.10. Pthreads .................................................................................................................................. 73 3.6. Ilustrasi Thread dengan Linux dan Java................................................................................................ 73 3.6.1. Thread dengan Linux................................................................................................................ 74 3.6.2. Thread dengan Java .................................................................................................................. 74 3.7. Penjadual CPU ...................................................................................................................................... 76 3.7.1. Konsep Dasar............................................................................................................................ 76 3.7.2. Siklus Burst CPU-I/O ............................................................................................................... 76 3.7.3. Penjadualan CPU ...................................................................................................................... 78 3.7.4. Penjadualan Preemptive............................................................................................................ 78 3.7.5. Dispatcher ................................................................................................................................ 78 3.7.6. Kriteria Penjadualan ................................................................................................................. 79 3.7.7. Penjadualan Preemptive............................................................................................................ 79 3.8. Algoritma Penjadualan .......................................................................................................................... 79 3.8.1. First-Come, First-Served .......................................................................................................... 80 3.8.2. Shortest-Job First...................................................................................................................... 80 3.8.3. Priority...................................................................................................................................... 80 3.8.4. Round-Robin ............................................................................................................................. 81 3.8.5. Multilevel Queue....................................................................................................................... 81 3.8.6. Multilevel Feedback Queue....................................................................................................... 81 3.9. Prioritas dan Multiprosesor ................................................................................................................... 81 3.9.1. Prioritas..................................................................................................................................... 82 3.9.2. Multiprosesor............................................................................................................................ 82 3.10. Sistem Waktu Nyata ............................................................................................................................ 82 3.10.1. Sistem Hard Real-Time........................................................................................................... 82 3.10.2. Sistem Soft Real-Time............................................................................................................. 83

vii

3.11. Rangkuman.......................................................................................................................................... 85 3.11.1. Proses...................................................................................................................................... 85 3.11.2. Thread..................................................................................................................................... 86 3.11.3. Penjadualan CPU .................................................................................................................... 87 3.12. Latihan................................................................................................................................................. 87 3.12.1. Proses...................................................................................................................................... 87 3.12.2. Thread..................................................................................................................................... 88 3.12.3. Penjadualan CPU .................................................................................................................... 88 3.12.4. Client/Server System............................................................................................................... 89 3.13. Rujukan ............................................................................................................................................... 89 4. Sinkronisasi dan Deadlock .............................................................................................................................. 91 4.1. Latar Belakang Sinkronisasi.................................................................................................................. 91 4.2. Critical Section...................................................................................................................................... 92 4.2.1. Pengertian ................................................................................................................................. 92 4.2.2. Solusi Untuk Dua Proses .......................................................................................................... 93 4.2.3. Solusi Untuk Proses Jamak: Algoritma Tukang Roti ............................................................... 96 4.3. Perangkat Keras dan Semafor ............................................................................................................... 97 4.3.1. Peran Perangkat Keras Dalam Proses Sinkronisasi .................................................................. 97 4.3.2. Metode dalam sinkronisasi perangkat keras ............................................................................. 97 4.3.3. Instruksi Atomik ....................................................................................................................... 99 4.3.4. Semafor................................................................................................................................... 100 4.3.5. Wait dan Signal ....................................................................................................................... 101 4.3.6. Macam-macam Semafor......................................................................................................... 102 4.3.7. Semafor Menyelesaikan Masalah Critical Section................................................................. 103 4.3.8. Semafor Menyelesaikan Masalah Sinkronisasi antar Proses.................................................. 104 4.3.9. Solusi Pembuatan Counting Semaphore dari Binary Semaphore. .......................................... 104 4.3.10. Pemrograman Windows ........................................................................................................ 105 4.3.11. Pemrograman Javatm ............................................................................................................. 105 4.3.12. Masalah Umum yang Berkaitan dengan Sinkronisasi .......................................................... 106 4.4. Bounded Buffer.................................................................................................................................... 106 4.5. Masalah Readers/Writers dan Dining Philosophers ........................................................................... 109 4.5.1. Gambaran Umum Masalah Readers/Writers.......................................................................... 109 4.5.2. Solusi Dengan Pembaca Diprioritaskan ................................................................................. 110 4.5.3. Solusi Dengan Penulis Diprioritaskan .................................................................................... 114 4.5.4. Solusi Dengan Pembaca Dan Penulis Mendapat Prioritas Secara Bergantian ....................... 116 4.5.5. Masalah Dining Philosophers................................................................................................. 117 4.6. Critical Region Dan Monitor............................................................................................................... 120 4.6.1. Latar Belakang........................................................................................................................ 120 4.6.2. Critical Region........................................................................................................................ 120 4.6.2.1. Cara Kerja Critical Region......................................................................................... 121 4.6.3. Monitor ................................................................................................................................... 121 4.6.3.1. Keterbatasan Monitor................................................................................................. 121 4.7. Deadlock.............................................................................................................................................. 121 4.7.1. Prinsip dari Deadlock ............................................................................................................. 122 4.7.2. Sumber Daya yang Bisa Dipakai Berulang-Ulang ................................................................. 124 4.7.3. Sumber Daya Sekali Pakai...................................................................................................... 125 4.7.4. Kondisi untuk Terjadinya deadlock ........................................................................................ 125 4.7.5. Mengabaikan Masalah deadlock............................................................................................. 126 4.7.6. Mendeteksi dan Memperbaiki ................................................................................................ 126 4.7.7. Menghindari deadlock ............................................................................................................ 127 4.7.8. Pencegahan Deadlock ............................................................................................................. 129

viii

4.8. Diagram Graf....................................................................................................................................... 129 4.8.1. Komponen Graf Alokasi Sumber Daya .................................................................................. 130 4.8.2. Deteksi Deadlock Berdasarkan Graf Alokasi Sumber Daya .................................................. 132 4.8.3. Algoritma Graf Alokasi Sumber Daya untuk Mencegah Deadlock ....................................... 135 4.8.4. Deteksi Deadlock dengan Menggunakan Graf Tunggu.......................................................... 136 4.9. Rangkuman.......................................................................................................................................... 137 4.10. Latihan............................................................................................................................................... 139 4.11. Rujukan ............................................................................................................................................. 152 Bibliogra ......................................................................................................................................... 152 5. Managemen Memori...................................................................................................................................... 154 5.1. Managemen Memori ........................................................................................................................... 154 5.1.1. Latar Belakang........................................................................................................................ 154 5.1.2. Pemberian Alamat .................................................................................................................. 154 5.1.3. Ruang Alamat Logika dan Fisik ............................................................................................. 154 5.1.4. Pemanggilan Dinamis............................................................................................................. 155 5.1.5. Penghubungan Dinamis dan Perpustakaan Bersama .............................................................. 156 5.1.6. Overlays.................................................................................................................................. 156 5.2. Penukaran dan Alokasi Memori .......................................................................................................... 158 5.2.1. Penukaran ............................................................................................................................... 158 5.2.2. Alokasi Memori Berkesinambungan ...................................................................................... 159 5.2.3. Alokasi Memori dan Fragmentasi .......................................................................................... 161 5.3. Pemberian Halaman ............................................................................................................................ 162 5.3.1. Metode Dasar.......................................................................................................................... 162 5.3.2. Dukungan Perangkat Keras .................................................................................................... 163 5.3.3. Proteksi ................................................................................................................................... 163 5.3.4. Keuntungan dan Kerugian Pemberian Halaman..................................................................... 164 5.4. Struktur Tabel Halaman....................................................................................................................... 164 5.4.1. Tabel Halaman ........................................................................................................................ 165 5.4.2. Pemberian Page Secara Multilevel.......................................................................................... 166 5.4.3. Tabel Halaman secara Inverted ............................................................................................... 168 5.4.4. Berbagi Halaman .................................................................................................................... 169 5.5. Segmentasi........................................................................................................................................... 169 5.5.1. Arsitektur Segmentasi............................................................................................................. 169 5.5.2. Saling Berbagi dan Proteksi.................................................................................................... 170 5.5.3. Masalah Dalam Segmentasi.................................................................................................... 170 5.5.4. Segmentasi dengan Pemberian Halaman................................................................................ 170 5.5.5. Penggunaan Segmentasi ......................................................................................................... 171 5.6. Memori Virtual dan Demand Paging .................................................................................................. 173 5.6.1. Pengertian ............................................................................................................................... 173 5.6.2. Demand Paging....................................................................................................................... 176 5.6.3. Skema Bit Valid - Tidak Valid ................................................................................................ 176 5.6.4. Penanganan Kesalahan Halaman ............................................................................................ 177 5.6.5. Apa yang terjadi pada saat kesalahan? ................................................................................... 177 5.6.6. Kinerja Demand Paging.......................................................................................................... 178 5.6.7. Permasalahan Lain yang berhubungan dengan Demand Paging ............................................ 178 5.6.8. Persyaratan Perangkat Keras .................................................................................................. 179 5.7. Aspek Permintaan Halaman: Pembuatan Proses................................................................................. 179 5.7.1. Copy-On-Write ....................................................................................................................... 179 5.7.2. Memory-Mapped Files............................................................................................................ 180 5.8. Konsep Dasar Pemindahan Halaman .................................................................................................. 181 5.9. Algoritma Pemindahan Halaman ........................................................................................................ 184

ix

5.9.1. Algoritma First In First Out (FIFO) ....................................................................................... 184 5.9.2. Algoritma Optimal.................................................................................................................. 185 5.9.3. Algoritma Least Recently Used (LRU)................................................................................... 186 5.9.4. Algoritma Perkiraan LRU....................................................................................................... 187 5.9.5. Algoritma Counting ................................................................................................................ 188 5.9.6. Algoritma Page Buffering ....................................................................................................... 189 5.10. Strategi Alokasi Frame...................................................................................................................... 189 5.10.1. Alokasi Frame ...................................................................................................................... 189 5.10.2. Thrashing .............................................................................................................................. 191 5.11. Pertimbangan Lain ............................................................................................................................ 194 5.11.1. Prepaging.............................................................................................................................. 194 5.11.2. Ukuran halaman.................................................................................................................... 195 5.11.3. Jangkauan TLB...................................................................................................................... 195 5.11.4. Tabel Halaman yang Dibalik ................................................................................................ 196 5.11.5. Struktur Program .................................................................................................................. 196 5.11.6. I/O Interlock.......................................................................................................................... 196 5.11.7. Pemrosesan Waktu Nyata ..................................................................................................... 197 5.11.8. Windows NT......................................................................................................................... 197 5.11.9. Solaris 2 ................................................................................................................................ 198 5.11.10. Linux................................................................................................................................... 198 5.12. Rangkuman........................................................................................................................................ 199 5.13. Latihan............................................................................................................................................... 200 5.14. Rujukan ............................................................................................................................................. 201 6. Sistem Berkas ................................................................................................................................................. 202 6.1. Sistem Berkas...................................................................................................................................... 202 6.1.1. Konsep Berkas ........................................................................................................................ 202 6.1.2. Atribut berkas ......................................................................................................................... 202 6.1.3. Jenis Berkas ............................................................................................................................ 203 6.1.4. Operasi Berkas........................................................................................................................ 203 6.1.5. Struktur Berkas ....................................................................................................................... 204 6.1.6. Metode Akses ......................................................................................................................... 204 6.2. Struktur Direktori ................................................................................................................................ 205 6.2.1. Operasi Direktori .................................................................................................................... 205 6.2.2. Direktori Satu Tingkat (Single Level Directory)..................................................................... 206 6.2.3. Direktori Dua Tingkat (Two Level Directory) ........................................................................ 206 6.2.4. Direktori dengan Struktur Tree (Tree-Structured Directory).................................................. 207 6.2.5. Direktori dengan Struktur Graf Asiklik (Acyclic-Structured Directory) ................................ 207 6.2.6. Direktori dengan Struktur Graf Umum................................................................................... 207 6.3. Konsep Mounting, Sharing, dan Proteksi............................................................................................ 208 6.3.1. Mounting................................................................................................................................. 208 6.3.2. Sharing.................................................................................................................................... 210 6.3.3. Proteksi ................................................................................................................................... 211 6.4. Implementasi Sistem Berkas ............................................................................................................... 213 6.4.1. Struktur Sistem Berkas ........................................................................................................... 214 6.4.2. Implementasi Sistem Berkas................................................................................................... 217 6.4.3. Implementasi Direktori........................................................................................................... 220 6.5. Filesystem Hierarchy Standard ........................................................................................................... 222 6.5.1. Pendahuluan............................................................................................................................ 222 6.5.2. Sistem Berkas ......................................................................................................................... 223 6.5.3. Sistem Berkas Root................................................................................................................. 223 6.5.4. Hirarki /usr.............................................................................................................................. 226

x

6.5.5. Hirarki /var.............................................................................................................................. 228 6.6. Konsep Alokasi Blok Sistem Berkas................................................................................................... 232 6.6.1. Metode Alokasi....................................................................................................................... 232 6.6.2. Manajemen Ruang Kosong..................................................................................................... 236 6.7. Esiensi dan Kinerja ........................................................................................................................... 239 6.8. Recovery .............................................................................................................................................. 241 6.9. Log-Structured File System ................................................................................................................. 242 6.10. Rangkuman........................................................................................................................................ 242 6.11. Latihan............................................................................................................................................... 243 6.12. Rujukan ............................................................................................................................................. 244 6.12.1. Rujukan Buku ....................................................................................................................... 245 6.12.2. Rujukan Internet ................................................................................................................... 245 7. I/O.................................................................................................................................................................... 246 7.1. Perangkat Keras I/O ............................................................................................................................ 246 7.1.1. Perangkat I/O .......................................................................................................................... 246 7.1.2. Pengendali Perangkat.............................................................................................................. 246 7.1.3. Polling..................................................................................................................................... 247 7.1.4. Interupsi .................................................................................................................................. 247 7.1.5. Direct Memory Access (DMA) ............................................................................................... 249 7.2. Aplikasi Antarmuka I/O; Subsistem Kernel; Operasi Perangkat Keras.............................................. 250 7.2.1. Aplikasi Antarmuka I/O ......................................................................................................... 250 7.2.2. Kernel I/O Subsystem.............................................................................................................. 252 7.2.3. Penanganan Permintaan I/O ................................................................................................... 256 7.3. I/O Streams dan Kinerja I/O................................................................................................................ 257 7.3.1. I/O Streams ............................................................................................................................. 257 7.3.2. Kinerja I/O .............................................................................................................................. 258 7.4. Managemen Disk................................................................................................................................. 260 7.4.1. Struktur Disk........................................................................................................................... 260 7.4.2. Penjadualan Disk .................................................................................................................... 261 7.4.3. Penjadualan FCFS .................................................................................................................. 261 7.4.4. Penjadualan SSTF................................................................................................................... 262 7.4.5. Penjadualan SCAN ................................................................................................................. 263 7.4.6. Penjadualan C-SCAN ............................................................................................................. 264 7.4.7. Penjadualan LOOK................................................................................................................. 265 7.4.8. Penjadualan C-LOOK............................................................................................................. 266 7.4.9. Pemilihan Algoritma Penjadualan Disk.................................................................................. 267 7.5. Managemen Disk; Swap, Struktur RAID; Kaitan Langsung dan Jaringan; Implementasi Penyimpanan Stabil. ................................................................................................................................................ 267 7.5.1. Managemen Disk .................................................................................................................... 268 7.5.2. Managemen Ruang Swap ....................................................................................................... 269 7.5.3. Struktur RAID ........................................................................................................................ 270 7.5.4. Kaitan Disk ............................................................................................................................. 273 7.6. Perangkat Penyimpanan Tersier .......................................................................................................... 276 7.6.1. Macam-macam Struktur Penyimpanan Tersier....................................................................... 276 7.6.2. Future Technology .................................................................................................................. 278 7.6.3. Aplikasi Antarmuka................................................................................................................ 278 7.6.4. Masalah Kinerja...................................................................................................................... 279 7.7. Rangkuman.......................................................................................................................................... 280 7.7.1. I/O ........................................................................................................................................... 280 7.7.2. Disk......................................................................................................................................... 280 7.8. Latihan................................................................................................................................................. 281

xi

Daftar Pustaka ............................................................................................................................................ 282 8. Studi Kasus: GNU/Linux .............................................................................................................................. 283 8.1. Perangkat Lunak Bebas ....................................................................................................................... 283 8.1.1. Konsep Kebebasan.................................................................................................................. 283 8.1.2. Open source ............................................................................................................................ 283 8.1.3. Public Domain ........................................................................................................................ 284 8.1.4. Copylefted/Non-Copylefted .................................................................................................... 284 8.1.5. GPL-covered........................................................................................................................... 284 8.1.6. GNU........................................................................................................................................ 285 8.1.7. Perangkat Lunak Semi-Bebas................................................................................................. 285 8.1.8. Perangkat Lunak Berpemilik .................................................................................................. 286 8.1.9. Freeware ................................................................................................................................. 286 8.1.10. Shareware.............................................................................................................................. 286 8.1.11. Perangkat Lunak Komersial.................................................................................................. 286 8.2. Sejarah dan Rancangan Dasar GNU/Linux......................................................................................... 287 8.2.1. Sejarah .................................................................................................................................... 287 8.2.2. Kernel Linux ........................................................................................................................... 287 8.2.3. Sistem Linux........................................................................................................................... 288 8.2.4. Distribusi Linux ...................................................................................................................... 288 8.2.5. Lisensi Linux .......................................................................................................................... 289 8.2.6. Linux Saat Ini ......................................................................................................................... 289 8.2.7. Tux: Logo Linux ..................................................................................................................... 289 8.2.8. Prinsip Rancangan .................................................................................................................. 290 8.2.9. Prinsip Desain Linux .............................................................................................................. 290 8.2.10. Komponen Sistem Linux ...................................................................................................... 291 8.2.11. Kernel.................................................................................................................................... 291 8.2.12. Perpustakaan Sistem ............................................................................................................. 291 8.2.13. Utilitas Sistem....................................................................................................................... 292 8.2.14. Modul Kernel Linux ............................................................................................................. 292 8.2.14.1. Pengertian Modul Kernel Linux............................................................................... 292 8.2.14.2. Managemen Modul Kernel Linux ............................................................................ 293 8.2.14.3. Registrasi Driver ...................................................................................................... 293 8.2.14.4. Resolusi Konik....................................................................................................... 293 8.3. Proses dan Memori.............................................................................................................................. 294 8.3.1. Manajemen Proses .................................................................................................................. 294 8.3.2. Manajemen Memori................................................................................................................ 301 8.4. Sistem Berkas dan I/O Linux .............................................................................................................. 305 8.4.1. Sistem Berkas Linux............................................................................................................... 305 8.4.2. I/O Linux ................................................................................................................................ 309 8.4.2.1. Device Karakter ......................................................................................................... 310 8.4.2.2. Device Blok................................................................................................................ 311 8.4.2.3. Device Jaringan .......................................................................................................... 312 8.4.2.3.1. Nama.............................................................................................................. 313 8.4.2.3.2. Informasi Bus ................................................................................................ 313 8.4.2.3.3. Flags Interface............................................................................................... 313 8.4.2.3.4. Informasi Protokol......................................................................................... 314 8.4.2.3.5. MTU .............................................................................................................. 314 8.4.2.3.6. Keluarga......................................................................................................... 314 8.4.2.3.7. Jenis ............................................................................................................... 314 8.4.2.3.8. Alamat ........................................................................................................... 314 8.4.2.3.9. Antrian Paket ................................................................................................. 314

xii

8.4.2.3.10. Fungsi Pendukung ....................................................................................... 314 8.5. Rangkuman.......................................................................................................................................... 314 8.6. Latihan................................................................................................................................................. 316 8.7. Rujukan ............................................................................................................................................... 316 9. Rujukan .......................................................................................................................................................... 317 Bibliogra................................................................................................................................................... 317 A. GNU Free Documentation License ............................................................................................................... 319 A.1. PREAMBLE....................................................................................................................................... 319 A.2. APPLICABILITY AND DEFINITIONS........................................................................................... 319 A.3. VERBATIM COPYING ..................................................................................................................... 320 A.4. COPYING IN QUANTITY................................................................................................................ 320 A.5. MODIFICATIONS ............................................................................................................................. 320 A.6. COMBINING DOCUMENTS ........................................................................................................... 322 A.7. COLLECTIONS OF DOCUMENTS................................................................................................. 322 A.8. AGGREGATION WITH INDEPENDENT WORKS........................................................................ 322 A.9. TRANSLATION ................................................................................................................................ 322 A.10. TERMINATION............................................................................................................................... 323 A.11. FUTURE REVISIONS OF THIS LICENSE ................................................................................... 323 A.12. How to use this License for your documents ................................................................................... 323 Indeks .................................................................................................................................................................. 324

xiii

Daftar Tabel3-1. Tabel Flag dan Fungsinya............................................................................................................................... 74 3-2. Tabel untuk soal 4 - 5 ..................................................................................................................................... 88 6-1. Direktori/link yang dibutuhkan dalam /........................................................................................................ 223 6-2. Direktori/link yang dibutuhkan dalam /........................................................................................................ 224 6-3. Direktori/link yang dibutuhkan dalam /usr. .................................................................................................. 226 6-4. Direktori/link yang merupakan pilihan dalam /usr. ...................................................................................... 227 6-5. Direktori/link yang dibutuhkan dalam /var................................................................................................... 229 6-6. Direktori/link yang dibutuhkan di dalam /var .............................................................................................. 229

Daftar Gambar1-1. Abstraksi Komponen Sistem Komputer ........................................................................................................... 2 1-2. Arsitektur Komputer von Neumann ................................................................................................................. 3 1-3. Bagan Memori Untuk Sistem Monitor Batch Sederhana ................................................................................. 4 1-4. Bagan Memori untuk Model Multiprogram System ......................................................................................... 5 1-5. Distributed System ............................................................................................................................................ 6 1-6. Arsitektur Umum Komputer........................................................................................................................... 10 1-7. Arsitektur PC Modern .................................................................................................................................... 11 1-8. Struktur I/O..................................................................................................................................................... 13 1-9. Struktur Harddisk ........................................................................................................................................... 15 1-10. Struktur Optical Drive .................................................................................................................................. 15 1-11. Penyimpanan Hirarkis .................................................................................................................................. 16 1-12. Dual Mode Operation................................................................................................................................... 17 1-13. I/O Protection ............................................................................................................................................... 18 1-14. Memory Protection ....................................................................................................................................... 18 1-15. Local Area Network...................................................................................................................................... 20 1-16. Wide Area Network ....................................................................................................................................... 21 2-1. Memberikan parameter melalui tabel ............................................................................................................. 28 2-2. Eksekusi MS-DOS.......................................................................................................................................... 28 2-3. Multi program pada Unix ............................................................................................................................... 30 2-4. Mekanisme komunikasi.................................................................................................................................. 30 2-5. Lapisan pada Sistem Operasi.......................................................................................................................... 32 2-6. Tabel Level pada Sistem Operasi.................................................................................................................... 33 2-7. Lapisan Sistem Operasi secara umum ............................................................................................................ 36 3-1. Status Proses ................................................................................................................................................... 43 3-2. Process Control Block .................................................................................................................................... 44 3-3. Status Proses ................................................................................................................................................... 45 3-4. Device Queue.................................................................................................................................................. 47 3-5. Diagram Antrian ............................................................................................................................................. 48 3-6. Medium-term Scheduler ................................................................................................................................. 50 3-7. Context Switch ................................................................................................................................................ 51 3-8. Bounded Buffer Problem ................................................................................................................................ 53 3-9. Produser Bounded Buffer Problem ................................................................................................................. 55 3-10. Konsumer Bounded Buffer Problem............................................................................................................. 55 3-11. Bounded Buffer ............................................................................................................................................. 57 3-12. Producer Consumer...................................................................................................................................... 61 3-13. Consumer...................................................................................................................................................... 61 3-14. Keluaran Program (1) .................................................................................................................................. 62

xiv

3-15. Keluaran Program (2) .................................................................................................................................. 63 3-16. Mailbox......................................................................................................................................................... 63 3-17. WebServer ..................................................................................................................................................... 65 3-18. Thread........................................................................................................................................................... 67 3-19. Many-To-One................................................................................................................................................ 69 3-20. One-To-One .................................................................................................................................................. 69 3-21. Many-To-Many ............................................................................................................................................. 70 3-22. Thread........................................................................................................................................................... 75 3-23. Siklus Burst .................................................................................................................................................. 76 3-24. Burst ............................................................................................................................................................. 77 3-25. Grak Hard Real-Time ................................................................................................................................. 83 3-26. Grak Soft Real-Time ................................................................................................................................... 84 4-1. Produser/Konsumer ........................................................................................................................................ 91 4-2. Counter (1) ..................................................................................................................................................... 91 4-3. Counter (2) ..................................................................................................................................................... 92 4-4. Critical Section (1) ......................................................................................................................................... 93 4-5. Critical Section (2) ......................................................................................................................................... 94 4-6. Algoritma Tukang Roti ................................................................................................................................... 97 4-7. Critical Section ............................................................................................................................................... 98 4-8. testANDset ...................................................................................................................................................... 99 4-9. waitSpinLock ................................................................................................................................................ 101 4-10. signalSpinLock............................................................................................................................................ 102 4-11. Bounded buffer dengan sinkronisasi........................................................................................................... 106 4-12. Ilustrasi Penulis/Pembaca ........................................................................................................................... 110 4-13. Tampilan Layar........................................................................................................................................... 114 4-14. Ilustrasi Penulis/Pembaca ........................................................................................................................... 115 4-15. Tampilan Layar........................................................................................................................................... 116 4-16. Program Dining Philosopher...................................................................................................................... 117 4-17. Contoh deadlock pada rel kereta ................................................................................................................ 122 4-18. Contoh Deadlock di Jembatan Gantung ..................................................................................................... 122 4-19. Contoh Deadlock di Persimpangan Jalan ................................................................................................... 123 4-20. Lalulintas .................................................................................................................................................... 123 4-21. P-Q.............................................................................................................................................................. 124 4-22. Deadlock..................................................................................................................................................... 125 4-23. Kondisi Deadlock Dilihat dari Safe State................................................................................................... 128 4-24. Proses Pi ..................................................................................................................................................... 130 4-25. Sumber daya Rj dengan 2 instans............................................................................................................... 130 4-26. Proses Pi meminta sumber daya Rj ............................................................................................................ 131 4-27. Sumber daya Rj yang mengalokasikan salah satu instansnya pada proses Pi ............................................ 131 4-28. Graf Alokasi Sumber Daya......................................................................................................................... 131 4-29. Graf dengan deadlock ................................................................................................................................. 132 4-30. Tanpa deadlock ........................................................................................................................................... 134 4-31. Graf alokasi sumber daya dalam status aman............................................................................................. 135 4-32. Graf alokasi sumber daya dalam status tidak aman.................................................................................... 135 4-33. Graf alokasi sumber daya ........................................................................................................................... 136 4-34. Graf tunggu................................................................................................................................................. 137 5-1. Memory Management Unit .......................................................................................................................... 154 5-2. Two-Pass Assembler ..................................................................................................................................... 156 5-3. Permasalahan alokasi penyimpanan dinamis ............................................................................................... 161 5-4. Penerjemahan Halaman ................................................................................................................................ 162 5-5. Struktur MMU .............................................................................................................................................. 165 5-6. Skema Tabel Halaman Dua tingkat .............................................................................................................. 166

xv

5-7. Tabel Halaman secara Multilevel.................................................................................................................. 167 5-8. Tabel Halaman secara Inverted..................................................................................................................... 168 5-9. Arsitektur Segmentasi................................................................................................................................... 169 5-10. Segmentasi dengan Pemberian Halaman.................................................................................................... 171 5-11. Penggunaan Segmentasi dengan Pemberian Halaman pada MULTICS .................................................... 172 5-12. Penggunaan Segmentasi dengan Pemberian Halaman pada INTEL 30386 ............................................... 173 5-13. Memori Virtual ........................................................................................................................................... 174 5-14. Bagan proses memory-mapped les ........................................................................................................... 180 5-15. Kondisi yang memerlukan Pemindahan Halaman...................................................................................... 181 5-16. Pemindahan halaman.................................................................................................................................. 182 5-17. Contoh Algoritma FIFO ............................................................................................................................. 184 5-18. Contoh Algoritma Optimal......................................................................................................................... 185 5-19. Contoh Algoritma LRU .............................................................................................................................. 187 5-20. Derajat dari Multiprogramming.................................................................................................................. 191 5-21. Kecepatan page-fault .................................................................................................................................. 193 5-22. Solar Page Scanner .................................................................................................................................... 198 6-1. Single Level Directory.................................................................................................................................. 206 6-2. Two Level Directory ..................................................................................................................................... 206 6-3. Tree-Structured Directory............................................................................................................................. 207 6-4. Acyclic-Structured Directory ....................................................................................................................... 207 6-5. General Graph Directory .............................................................................................................................. 207 6-6. Mount Point .................................................................................................................................................. 209 6-7. Disk Organization......................................................................................................................................... 214 6-8. Layered File System...................................................................................................................................... 215 6-9. Schematic View of Virtual File System.......................................................................................................... 219 6-10. A UNIX directory entry............................................................................................................................... 222 6-11. Contiguous allocation ................................................................................................................................ 232 6-12. Linked allocation ........................................................................................................................................ 233 6-13. Indexed allocation ...................................................................................................................................... 235 6-14. Ruang kosong linked list............................................................................................................................. 237 6-15. Tanpa unied buffer cache .......................................................................................................................... 240 6-16. Menggunakan unied buffer cache............................................................................................................. 240 6-17. Macam-macam lokasi disk-caching ........................................................................................................... 241 7-1. Model Bus Tunggal ...................................................................................................................................... 247 7-2. Proses Polling ............................................................................................................................................... 247 7-3. Struktur Kernel ............................................................................................................................................. 250 7-4. Spooling........................................................................................................................................................ 254 7-5. Struktur Stream............................................................................................................................................. 257 7-6. Gambar Komunikasi Interkomputer ............................................................................................................. 259 7-7. Penjadualan FCFS ........................................................................................................................................ 261 7-8. Penjadualan SSTF......................................................................................................................................... 262 7-9. Penjadualan SCAN ....................................................................................................................................... 264 7-10. Penjadualan C-SCAN ................................................................................................................................. 264 7-11. Penjadualan LOOK..................................................................................................................................... 265 7-12. Penjadualan C-LOOK................................................................................................................................. 266 7-13. Contoh Managemen ruang swap: pemetaan swap segmen teks 4.3 BSD .................................................. 269 7-14. Contoh Managemen ruang swap: pemetaan swap segmen data 4.3 BSD .................................................. 270 7-15. Level RAID ................................................................................................................................................ 272 7-16. RAID 0 + 1 dan 1 + 0 ................................................................................................................................. 273 8-1. Logo Linux. Sumber: . . ............................................................................................................................... 290 8-2. Pemetaan Memori Virtual ke Alamat Fisik. Sumber: . . .............................................................................. 302 8-3. Struktur Sistem Berkas EXT2. Sumber: . . .................................................................................................. 306

xvi

8-4. Inode Sistem Berkas EXT2. Sumber: . . ...................................................................................................... 307 8-5. CharDev. Sumber: . . .................................................................................................................................... 310 8-6. Buffer. Sumber: . . . ...................................................................................................................................... 311

Daftar Contoh8-1. Isi Deskriptor Proses..................................................................................................................................... 294 8-2. Antrian Tunggu............................................................................................................................................. 296

xvii

Kata Pengantar Revisi 1.XBuku ini merupakan hasil karya Masyarakat Digital Gotong Royong (MDGR) Fakultas Ilmu Komputer Universitas Indonesia (Fasilkom UI). Kelompok Kerja 21-28 mengawali penulisan buku ini, lalu Kelompok Kerja 41-49, 51 melakukan revisi dan perbaikan. Tujuan utama penulisan buku ini ialah untuk dimanfaatkan sendiri sebagai rujukan utama pada mata ajar IKI-20230 Sistem Operasi (http://rms46.vlsm.org/2/101.html) di Fakultas Ilmu Komputer Universitas Indonesia (http://www.cs.ui.ac.id/). Versi digital terakhir dari buku ini dapat diambil dari http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/ (http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/). Buku ini mencakup delapan pokok bahasan bidang Sistem Operasi. Setiap pokok bahasan dipisahkan ke dalam bab yang tersendiri, yang kemudian dibagi menjadi beberapa sub-pokok bahasan. Setiap sub-pokok bahasan dirancang untuk mengisi satu jam tatap muka kuliah. Buku yang terdiri dari 52 sub-pokok bahasan ini, sehingga cocok untuk sebuah mata ajar dengan bobot empat Satuan Kredit Semester (SKS). Pembahasan buku ini diawali dengan pengenalan Konsep Dasar Sistem Komputer (Bab 1). Bab ini akan membahas tiga sub-pokok bahasan, yaitu Pengenalan Sistem Operasi Komputer, Pengenalan Perangkat Keras Komputer, serta Aspek Lainnya seperti: Proteksi, Keamanan, Jaringan. Bab ini bersifat pengulangan hal-hal yang menjadi prasyarat untuk buku ini. Jika mengalami kesulitan memahami bab ini, sebaiknya mendalami kembali subyek yang berhubungan dengan Pengantar Organisasi Komputer serta Pengantar Struktur Data. Bab 2 akan membahas Konsep Dasar Sistem Operasi. Ini merupakan bab yang paling penting dari buku ini. Bab 3 akan membahas Proses dan Penjadualan. Bab 4 akan membahas Sinkronisasi dan Deadlock. Bab 5 akan membahas Managemen Memori. Bab 6 akan membahas Sistem Berkas. Bab 7 akan membahas I/O. Akhirnya, Bab 8 akan membahas sebuah studi kasus yaitu sistem GNU/Linux. Setiap bab berisi soal-soal latihan agar para pembaca dapat mengulas kembali pembahasan pada bab tersebut dan mengevaluasi sejauh mana pengetahuan mengenai bab tersebut. Gambar dipilih sedemikian rupa sehingga dapat memberikan ilustrasi yang membantu pembaca untuk lebih memahami pembahasan. Kami menyadari bahwa pada buku ini sangat berbau buku karya Schilberschatz dan kawan-kawan. Kebanyakan sub-pokok bahasan buku ini memang berbasis kerangka kerja (framew