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, memodifikasi bagian dari dokumen – $Revision: 2.0 $ – – yang dikarang oleh Masyarakat Digital Gotong Royong (MDGR), sesuai dengan ketentuan "GNU Free Documentation Licenseversi 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 iniTIDAKberlaku 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 final 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 file. 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.
Persembahan
Buku ini dipersembahkandariMasyarakat Digital Gotong Royong (MDGR),olehMasyarakat Digital Gotong Royong (MDGR),untuksiapa saja yang ingin mempelajari Sistem Operasi dari sebuah komputer. Buku ini bukan merupakan karya individual, melainkan merupakan hasil keringat dariratusanpeserta Masyarakat Digital Gotong Royong (MDGR)! Masyarakat Digital Gotong Royong (MDGR) ini merupakan Gabungan Kelompok Kerja 21–28 Semester Genap 2002/2003, 41–49 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.
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 dandeadlock. 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, Zulkifli.
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 dandeadlock. 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.
Daftar Isi
Kata 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. Definisi 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
Bibliografi ... 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 SistemI/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, danSystem 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, danSystem 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
3.1. Konsep Proses ... 42
3.1.1. Definisi 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 danClient/Server... 56
3.4.1. Hubungan Antara Proses ... 56
3.4.2.Socket Client/Server System... 64
3.5. KonsepThread... 66
3.5.1. Apa ituThread... 67
3.5.2. KeuntunganThread... 68
3.5.3.UserdanKernel Threads... 68
3.5.4.Multithreading Models... 69
3.5.5.ForkdanExec System Call... 71
3.5.6.Cancellation... 71
3.5.7. Penanganan Sinyal... 72
3.5.8.Thread Pools... 73
3.5.9.Thread Specific Data... 73
3.5.10.Pthreads... 73
3.6. IlustrasiThreaddengan Linux dan Java... 73
3.6.1.Threaddengan Linux... 74
3.6.2.Threaddengan Java ... 74
3.7. Penjadual CPU ... 76
3.7.1. Konsep Dasar... 76
3.7.2. SiklusBurstCPU-I/O ... 76
3.7.3. Penjadualan CPU ... 78
3.7.4. PenjadualanPreemptive... 78
3.7.5.Dispatcher... 78
3.7.6. Kriteria Penjadualan ... 79
3.7.7. PenjadualanPreemptive... 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. SistemHard Real-Time... 82
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 danDeadlock... 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.WaitdanSignal... 101
4.3.6. Macam-macam Semafor... 102
4.3.7. Semafor Menyelesaikan MasalahCritical Section... 103
4.3.8. Semafor Menyelesaikan Masalah Sinkronisasi antar Proses... 104
4.3.9. Solusi PembuatanCounting SemaphoredariBinary Semaphore. ... 104
4.3.10. PemrogramanWindows... 105
4.3.11. Pemrograman Javatm... 105
4.3.12. Masalah Umum yang Berkaitan dengan Sinkronisasi ... 106
4.4.Bounded Buffer... 106
4.5. MasalahReaders/WritersdanDining Philosophers... 109
4.5.1. Gambaran Umum MasalahReaders/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. MasalahDining 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 dariDeadlock... 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 Terjadinyadeadlock... 125
4.7.5. Mengabaikan Masalahdeadlock... 126
4.7.6. Mendeteksi dan Memperbaiki ... 126
4.8.1. Komponen Graf Alokasi Sumber Daya ... 130
4.8.2. DeteksiDeadlockBerdasarkan Graf Alokasi Sumber Daya ... 132
4.8.3. Algoritma Graf Alokasi Sumber Daya untuk MencegahDeadlock... 135
4.8.4. DeteksiDeadlockdengan Menggunakan Graf Tunggu... 136
4.9. Rangkuman... 137
4.10. Latihan... 139
4.11. Rujukan ... 152
Bibliografi ... 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 SecaraMultilevel... 166
5.4.3. Tabel Halaman secaraInverted... 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 danDemand 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. KinerjaDemand Paging... 178
5.6.7. Permasalahan Lain yang berhubungan denganDemand 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.2. Algoritma Optimal... 185
5.9.3. AlgoritmaLeast Recently Used(LRU)... 186
5.9.4. Algoritma Perkiraan LRU... 187
5.9.5. AlgoritmaCounting... 188
5.9.6. AlgoritmaPage Buffering... 189
5.10. Strategi Alokasi Frame... 189
5.10.1. AlokasiFrame... 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. JangkauanTLB... 195
5.11.4. Tabel Halaman yang Dibalik ... 196
5.11.5. Struktur Program ... 196
5.11.6. I/OInterlock... 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.6. Konsep Alokasi Blok Sistem Berkas... 232
6.6.1. Metode Alokasi... 232
6.6.2. Manajemen Ruang Kosong... 236
6.7. Efisiensi 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 Streamsdan Kinerja I/O... 257
7.3.1.I/O Streams... 257
7.3.2. Kinerja I/O ... 258
7.4. ManagemenDisk... 260
7.4.1. StrukturDisk... 260
7.4.2. PenjadualanDisk... 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 PenjadualanDisk... 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 RuangSwap... 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
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 Konflik... 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.DeviceBlok... 311
8.4.2.3.DeviceJaringan ... 312
8.4.2.3.1. Nama... 313
8.4.2.3.2. Informasi Bus ... 313
8.5. Rangkuman... 314
8.6. Latihan... 316
8.7. Rujukan ... 316
9. Rujukan ... 317
Bibliografi... 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
Daftar Tabel
3-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 Gambar
1-1. Abstraksi Komponen Sistem Komputer ... 21-2. Arsitektur Komputer von Neumann ... 3
1-3. Bagan Memori Untuk SistemMonitor BatchSederhana ... 4
1-4. Bagan Memori untuk ModelMultiprogram 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. StrukturHarddisk... 15
1-10. StrukturOptical 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. ProduserBounded Buffer Problem... 55
3-10. KonsumerBounded Buffer Problem... 55
3-11.Bounded Buffer... 57
3-12.Producer Consumer... 61
3-16.Mailbox... 63
3-23. SiklusBurst... 76
3-24.Burst... 77
3-25. GrafikHard Real-Time... 83
3-26. GrafikSoft 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. ProgramDining 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 dengandeadlock... 132
4-30. Tanpadeadlock... 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-8. Tabel Halaman secaraInverted... 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 prosesmemory-mapped files... 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 dariMultiprogramming... 191
5-21. Kecepatanpage-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 kosonglinked list... 237
6-15. Tanpaunified buffer cache... 240
6-16. Menggunakanunified buffer cache... 240
6-17. Macam-macam lokasidisk-caching... 241
7-1. Model Bus Tunggal ... 247
7-2. ProsesPolling... 247
7-3. Struktur Kernel ... 250
7-4. Spooling... 254
7-5. StrukturStream... 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-5. CharDev. Sumber: . . ... 310 8-6. Buffer. Sumber: . . . ... 311
Daftar Contoh
Kata Pengantar Revisi 1.X
Buku 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 danDeadlock. Bab 5 akan membahas Managemen Memori. Bab 6 akan membahas Sistem Berkas. Bab 7 akan membahasI/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 sangatberbaubuku karya Schilberschatz dan kawan-kawan. Kebanyakan sub-pokok bahasan buku ini memang berbasis kerangka kerja (framework) buku tersebut. Diharapkan secara perlahan, bau tersebut akan pudar pada revisi-revisi yang mendatang. Silakan menyampaikan
Kata Pengantar Revisi 2.X
Maaf -- selesai tidak selesai -- mulai semester ganjil 2004/2005, buku ini digunakan sebagai rujukan utama mata ajar IKI-20230 Sistem Operasi (http://rms46.vlsm.org/2/117.html) di Fakultas Ilmu Komputer Universitas Indonesia. Selanjutnya, buku ini akan diperbaiki sambil jalan. Diharapkan, revisi tiga akan jauh lebih baik daripada revisi ini. Seperti biasa, silakan menyampaikan kritik/tanggapan/usulan anda ke <writeme04 <@T>
Bab 1. Konsep Dasar Perangkat Komputer
Sebuah komputer modern merupakan sistem yang kompleks. Komputer tersebut, secara fisik terdiri dari beberapa bagian seperti prosesor, memori, disk, pencetak (printer), serta perangkat lainnya. Sebuah komputer dapat menjalankan berbagai perangkat lunak aplikasi (software aplication). Sebuahsistem operasimerupakan perangkat lunak penghubung antara perangkat keras (hardware) dengan perangkat lunak aplikasi tersebut di atas. Secara singkat, bab pendahuluan ini akan memberikan gambaran umum perihal komponen-komponen komputer tersebut. Mula-mula, akan diperkenalkan apa yang dimaksud dengan sistem operasi. Uraian yang lebih lengkap akan dilanjutkan pada bab berikutnya (Bab 2). Selanjutnya, akan diuraikan aspek-aspek yang terkait dengan perangkat keras komputer. Aspek-aspek tersebut diperlukan untuk memahami konsep-konsep sistem operasi yang akan dijabarkan dalam buku ini. Selain itu, akan dibahas perihal proteksi perangkat keras, keamanan, serta jaringan komputer. Tentunya tidak dapat diharapkan bahwa pembahasan yang dalam. Rincian lanjut, sebaiknya dilihat pada rujukan yang berhubungan dengan "Pengantar Organisasi Komputer", "Pengantar Struktur Data", serta "Pengantar Jaringan Komputer".
1.1. Pengenalan Sistem Operasi Komputer
1.1.1. Definisi Umum Sistem Operasi
Para pembaca sepertinya pernah mendengar istilah "sistem operasi". Mungkin pula pernah berhubungan secara langsung atau pun tidak langsung dengan istilah tersebut. Namun, belum tentu dapat menjabarkan perihal apa yang sebetulnya dimaksud dengan kata "sistem operasi". Sebaliknya, banyak pula yang pernah mendengar merek dagang "WindowsTM 1)" atau pun istilah "GNU/Linux2)", lalu mengidentikkan namaWindowsTMatau
GNU/Linux dengan istilah "sistem operasi" tersebut. Mendefinisikan istilah "sistem operasi" mungkin merupakan hal yang mudah, namun mungkin juga merupakan hal yang sangat ribet!
Sistem operasi merupakan salah satu komponen utama dari sebuah "sistem komputer". Komponen komputer lainnya ialah "perangkat keras", "perangkat lunak aplikasi", dan "para pengguna" (Gambar 1-1). "Perangkat keras" merupakan penyedia sumber daya untuk komputasi. Perangkat keras merupakan benda konkret yang dapat dilihat dan disentuh. Perangkat lunak merupakan sarana yang memberitahukan perangkat keras apa yang harus dikerjakannya. Berbeda dengan perangkat keras, perangkat lunak merupakan benda abstrak yang hanya dapat dilihat dari sudut apa yang dilakukannya terhadap perangkat keras. Perangkat lunak dibagi lagi menjadi dua bagian yaitu "sistem operasi" dan "program aplikasi". Program aplikasi merupakan perangkat lunak yang menentukan bagaimana sumber daya digunakan untuk menyelesaikan masalah para pengguna. Terakhir, istilah "pengguna komputer" yang dimaksud di sini dapat berupa manusia, program aplikasi lain, atau pun komputer lain.
Secara lebih rinci, sistem operasi didefinisikan sebagai sebuah program yang mengatur perangkat keras komputer, dengan menyediakan landasan untuk aplikasi yang berada di atasnya, serta bertindak sebagai penghubung antara para pengguna dengan perangkat keras. Sistem operasi bertugas untuk mengendalikan (kontrol) serta mengkoordinasikan pengunaan perangkat keras untuk berbagai program aplikasi untuk
bermacam-macam pengguna. Dengan demikian, sebuah sistem operasibukanmerupakan bagian dari perangkat keras komputer, dan jugabukanmerupakan bagian dari perangkat lunak aplikasi komputer, apalagi tentunya bukanmerupakan bagian dari para pengguna komputer.
Sistem operasi berada di antara perangkat keras komputer dan perangkat aplikasinya. Namun, bagaimana caranya menentukan secara pasti, letak perbatasan antara "perangkat keras komputer" dan "sistem operasi", dan terutama antara "perangkat lunak aplikasi" dan "sistem operasi"? Umpamanya, apakah "Internet ExplorerTM3)"
sebuah pengadilan? Apakah para politisi (busuk?) sebaiknya mengajukan sebuah Rencana Undang Undang Sistem Operasi terlebih dahulu? Ha!
Gambar 1-1. Abstraksi Komponen Sistem Komputer
Pengertian dari sistem operasi dapat dilihat dari berbagai sudut pandang. Dari sudut pandang pengguna, sistem operasi merupakan sebagai alat untuk mempermudah penggunaan komputer. Dalam hal ini sistem operasi seharusnya dirancang dengan mengutamakan kemudahan penggunaan, dibandingkan mengutamakan kinerja atau pun utilisasi sumber daya. Sebaliknya dalam lingkungan berpengguna-banyak (multi-user), sistem operasi dapat dipandang sebagai alat untuk memaksimalkan penggunaan sumber daya komputer. Akan tetapi pada sejumlah komputer, sudut pandang pengguna dapat dikatakan hanya sedikit atau tidak ada sama sekali. Misalnya embedded computerpada peralatan rumah tangga seperti mesin cuci dan sebagainya mungkin saja memiliki lampu indikator untuk menunjukkan keadaan sekarang, tetapi sistem operasi ini dirancang untuk bekerja tanpa campur tangan pengguna.
Dari sudut pandang sistem, sistem operasi dapat dianggap sebagai alat yang menempatkan sumber daya secara efisien (Resource Allocator). Sistem operasi ialah manager bagi sumber daya, yang menangani konflik
permintaan sumber daya secara efisien. Sistem operasi juga mengatur eksekusi aplikasi dan operasi dari alat I/O. Fungsi ini dikenal juga sebagai program pengendali (Control Program). Lebih lagi, sistem operasi merupakan suatu bagian program yang berjalan setiap saat yang dikenal dengan istilah kernel.
Dari sudut pandang tujuan sistem operasi, sistem operasi dapat dipandang sebagai alat yang membuat komputer lebih nyaman digunakan (convenient) untuk menjalankan aplikasi dan menyelesaikan masalah pengguna. Tujuan lain sistem operasi ialah membuat penggunaan sumber daya komputer menjadi efisien.
Dapat disimpulkan, bahwa sistem operasi merupakan komponen penting dari setiap sistem komputer. Akibatnya, pelajaran "sistem operasi" selayaknya merupakan komponen penting dari sistem pendidikan berbasis "ilmu komputer".
Konsep sistem operasi dapat lebih mudah dipahami, jika juga memahami jenis perangkat keras yang digunakan. Demikian pula sebaliknya. Dari sejarah diketahui bahwa sistem operasi dan perangkat keras saling
sangat dipengaruhi dari hal-hal yang diperlukan oleh sebuah sistem operasi. Dalam bagian-bagian berikut ini, akan diberikan berbagai ilustrasi perkembangan dan jenis sistem operasi beserta perangkat kerasnya.
1.1.2. Sejarah Perkembangan Sistem Operasi
Arsitektur komputer tradisional terdiri dari empat komponen utama yaitu "Prosesor", "Memori Penyimpanan", "Masukan" (Input), dan "Keluaran" (Output). Model tradisional tersebut sering dikenal dengan nama arsitektur von Neumann (Gambar 1-2). Pada saat awal, komputer berukuran sangat besar sehingga
komponen-komponennya dapat memenuhi sebuah ruangan yang sangat besar. Sang pengguna -- menjadi programmer yang sekali gus merangkap menjadi menjadi operator komputer -- juga bekerja di dalam ruang komputer tersebut.
Gambar 1-2. Arsitektur Komputer von Neumann
Walau pun berukuran besar, sistem tersebut diketegorikan sebagai "komputer pribadi" (PC). Siapa saja yang ingin melakukan komputasi; harus memesan/antri untuk mendapatkan alokasi waktu (rata-rata 30-120 menit). Jika ingin melakukan kompilasi Fortran, maka pengguna pertama kali akan me-loadkompilator Fortran, yang diikuti dengan "load" program dan data. Hasil yang diperoleh, biasanya berbentuk cetakan (print-out). Timbul beberapa masalah pada sistem PC tersebut. Umpama, alokasi pesanan harus dilakukan dimuka. Jika pekerjaan rampung sebelum rencana semula, maka sistem komputer menjadi "idle"/tidak tergunakan. Sebaliknya, jika perkerjaan rampung lebih lama dari rencana semula, para calon pengguna berikutnya harus menunggu hingga pekerjaan selesai. Selain itu, seorang pengguna kompilator Fortran akan beruntung, jika pengguna sebelumnya juga menggunakan Fortran. Namun, jika pengguna sebelumnya menggunakan Cobol, maka pengguna Fortran harus me-"load". Masalah ini ditanggulangi dengan menggabungkan para pengguna kompilator sejenis ke dalam satu kelompokbatchyang sama. Medium semula yaitupunch carddiganti dengan tape.
Medium yang lazim digunakan ialah kartu berlubang (punch card). Setiap kartu dapat menampung informasi satu baris hingga 80 karakter Set kartujoblengkap tersebut kemudian diserahkan kepada para operator.
Perkembangan sistem operasi dimulai dari sini, dengan memanfaatkan sistembatch(Gambar 1-3). Para operator mengumpulkanjob-jobyang mirip yang kemudian dijalankan secara berkelompok. Umpama,jobyang
memerlukan kompilator Fortran akan dikumpulkan ke dalam sebuahbatchbersama denganjob-joblainnya yang juga memerlukan kompilator Fortran. Setelah sebuah kelompokjobrampung, maka kelompokjobberikutnya akan dijalankan secara otomatis.
Gambar 1-3. Bagan Memori Untuk SistemMonitor BatchSederhana
Pada perkembangan berikutnya, diperkenalkan konsepMultiprogrammed System. Dengan sistem inijob-job disimpan di main memory di waktu yang sama danCPUdipergunakan bergantian. Hal ini membutuhkan beberapa kemampuan tambahan yaitu: penyediaanI/O routineoleh sistem, pengaturan memori untuk
mengalokasikanmemorypada beberapaJob,penjadualanCPUuntuk memilihjobmana yang akan dijalankan, serta pengalokasian perangkat keras lain (Gambar 1-4).
Peningkatan lanjut dikenal sistem "bagi waktu"/"tugas ganda"/"komputasi interaktif" (Time-Sharing
System/Multitasking/Interactive Computing). Sistem ini, secara simultan dapat diakses lebih dari satu pengguna. CPUdigunakan bergantian olehjob-jobdi memori dan di disk.CPUdialokasikan hanya padajobdi memori dan jobdipindahkan dari dan ke disk. Interaksi langsung antara pengguna dan komputer ini melahirkan konsep baru, yaituresponse timeyang diupayakan wajar agar tidak terlalu lama menunggu.
Hingga akhir tahun 1980-an, sistem komputer dengan kemampuan yang "normal", lazim dikenal dengan istilah main-frame. Sistem komputer dengan kemampuan jauh lebih rendah (dan lebih murah) disebut "komputer mini". Sebaliknya, komputer dengan kemampuan jauh lebih canggih disebut komputer super (super-computer). CDC 6600 merupakan yang pertama dikenal dengan sebutan komputer super menjelang akhir tahun 1960-an. Namun prinsip kerja dari sistem operasi dari semua komputer tersebut lebih kurang sama saja.
perangkatnya sepertiVGA Card AGP,Optical Mouse, dan lain-lain.
Gambar 1-4. Bagan Memori untuk ModelMultiprogram System
1.1.3. Sistem Operasi Komputer Meja (Desktop)
Dalam pembahasan ini, semua yang layak diletakan di atas meja kerja dikategorikan ke dalam keluarga "komputer meja" (desktop). Salah satu jenis desktop yang paling mudah dikenal ialah komputer personal (PC). Pada awalnya, perangkat keras dari jenis komputer ini relatif sederhana. Sedangkan sistem operasinya hanya mampu secara nyaman, melayani satu pengguna dengan satu job per saat.
Baik komputer meja mau pun sistem operasinya, sudah sangat popular sehingga mungkin tidak perlu perkenalan lebih lanjut. Bahkan, mungkin banyak yang belum menyadari bahwa masih terdapat banyak jenis komputer dan sistem operasi lainnya. Dewasa ini, komputer meja lebih canggih ribuan kali dibandingkan IBM PC yang pertama (1981, prosesor 8088, 4.77 MHz). Sedangkan PC pertama tersebut, beberapa kali lebih canggih dibandingkanmain-frametahun 1960-an.
Titik fokus perancangan sistem operasi jenis komputer meja agak berbeda dibadingkan dengan sistem operasi "main-frame".Pertama, kinerja serta derajat kerumitan komponen perangkat keras komputer meja jauh lebih sederhana (dan murah). Karena itu, "utilisasi" perangkat keras tidak lagi menjadi masalah utama.Kedua, para pengguna komputer meja tidak selalu merupakan "pakar", sehingga kemudahan penggunaan menjadi prioritas utama dalam perancangan sistem operasinya. Ketiga, akibat dari butir kedua di atas, "keamanan" dan
"perlindungan" kurang mendapatkan perhatian. Dewasa ini, "virus" dan "cacing" (worm) telah menjadi masalah utama yang dihadapi para pengguna sistem operasi komputer meja tertentu.
Yang juga termasuk keluarga komputer meja ini ialah komputer jinjing. Pada dasarnya, tidak terdapat banyak perbedaan, kecuali:
c. bobot komputer yang lebih ringan, serta ukuran komputer yang nyaman untuk dijinjing. Sistem ini nyaman digunakan untuk bekerja di perjalanan atau pekerjaan yang menuntut fleksibilitas tempat.
1.1.4. Sistem Operasi Prosesor Jamak
Pada umumnya, setiap komputer dilengkapi dengan satu buah prosesor (CPU). Namun, dewasa ini mulai umum, jika sebuat sistem komputer memiliki lebih dari satu prosesor (multi-procesor). Terdapat dua jenis sistem prosesor jamak, yaituSymmetric MultiProcessing (SMP)danAsymmetric MultiProcessing (ASMP).DalamSMP setiap prosesor menjalankan salinan identik dari sistem operasi dan banyak job yang dapat berjalan di suatu waktu tanpa pengurangan kinerja. Sementara itu dalamASMPsetiap prosesor diberikan suatu tugas yang spesifik. Sebuah prosesor bertindak sebagaiMaster processoryang bertugas menjadualkan dan mengalokasikan pekerjaan pada prosesor lain yang disebutslave processors. Umumnya ASMP digunakan pada sistem yang besar. Sistem Operasi Jamak memiliki beberapa keunggulan [Silbeschatz 2004]:
a. Peningkatanthroughputkarena lebih banyak proses/threadyang dapat dijalankan sekali gus. Perlu diingat hal ini tidak berarti daya komputasinya menjadi meningkat sejumlah prosesornya. Yang meningkat ialah jumlah pekerjaan yang bisa dilakukannya dalam waktu tertentu.
b. Economy of Scale: Ekonomis dalam peralatan yang dibagi bersama. Prosesor-prosesor terdapat dalam satu komputer dan dapat membagiperipheral(ekonomis) seperti disk dan catu daya listrik.
c. Peningkatan Kehandalan: Jika satu prossor mengalami suatu gangguan, maka proses yang terjadi masih dapat berjalan dengan baik karena tugas prosesor yang terganggu diambil alih oleh prosesor lain. Hal ini dikenal dengan istilahGraceful Degradation. Sistemnya sendiri dikenal bersifatfault tolerantataufail-soft system.
1.1.5. Sistem Operasi Terdistribusi dan Terkluster
Melaksanakan komputasi secara terdistribusi diantara beberapa prosesor. Hanya saja komputasinya bersifat loosely coupled systemyaitu setiap prosesor mempunyai local memory sendiri. Komunikasi terjadi melalui bus atau jalur telepon. Keuntungannya hampir sama dengan prosesor jamak,multiprocessor, yaitu adanya
pembagian sumber daya dan komputasi lebih cepat. Namun, pada distributed system juga terdapat keuntungan lain, yaitu memungkinkan komunikasi antar komputer.
Sistem terdistribusi merupakan kebalikan dari Sistem Operasi Prosesor Jamak. Pada sistem tersebut, setiap prosesor memiliki memori lokal tersendiri. Kumpulan prosesornya saling berinteraksi melalui saluran
komunikasi seperti LAN dan WAN menggunakan protokol standar seperti TCP/IP. Karena saling berkomunikasi, kumpulan prosesor tersebut mampu saling berbagi beban kerja, data, serta sumber daya lainnya. Namun, keduanya berbagi keunggulan yang serupa seperti dibahas sebelum ini.
Terdapat sekurangnya tiga model dalam sistem terdistribusi ini. Pertama, sistemclient/serveryang membagi jaringan berdasarkan pemberi dan penerima jasa layanan. Pada sebuah jaringan akan didapatkan:file server,time server,directory server,printer server, dan seterusnya. Kedua, sistempoint to pointdimana sistem dapat sekali gus berfungsi sebagaiclientmau punserver. Terakhir sistem terkluster, yaitu beberapa sistem komputer yang digabungkan untuk mendapatkan derajat kehandalan yang lebih baik.
Gambar 1-5.Distributed System
Sistem kluster ialah gabungan dari beberapa sistem individual (komputer) yang dikumpulkan pada suatu lokasi, saling berbagi tempat penyimpanan data (storage), dan saling terhubung dalam jaringan lokal (Local Area Network). Sistem kluster memiliki persamaan dengan sistem paralel dalam hal menggabungkan beberapa CPU untuk meningkatkan kinerja komputasi. Jika salah satu mesin mengalami masalah dalam menjalankan tugas maka mesin lain dapat mengambil alih pelaksanaan tugas itu. Dengan demikian, sistem akan lebih andal dan fault tolerantdalam melakukan komputasi.
Dalam hal jaringan, sistem kluster mirip dengan sistem terdistribusi (distributed system). Bedanya, jika jaringan pada sistem terdistribusi melingkupi komputer-komputer yang lokasinya tersebar maka jaringan pada sistem kluster menghubungkan banyak komputer yang dikumpulkan dalam satu tempat.
Dalam ruang lingkup jaringan lokal, sistem kluster memiliki beberapa model dalam pelaksanaannya: asimetris dan simetris. Kedua model ini berbeda dalam hal pengawasan mesin yang sedang bekerja. Pengawasan dalam model asimetris menempatkan suatu mesin yang tidak melakukan kegiatan apapun selain bersiap-siaga
mengawasi mesin yang bekerja. Jika mesin itu mengalami masalah maka pengawas akan segera mengambil alih tugasnya. Mesin yang khusus bertindak pengawas ini tidak diterapkan dalam model simetris. Sebagai gantinya, mesin-mesin yang melakukan komputasi saling mengawasi keadaan mereka. Mesin lain akan mengambil alih tugas mesin yang sedang mengalami masalah.
Jika dilihat dari segi efisiensi penggunaan mesin, model simetris lebih unggul daripada model asimetris. Hal ini disebabkan terdapat mesin yang tidak melakukan kegiatan apapun selain mengawasi mesin lain pada model asimetris. Mesin yang ’menganggur’ ini dimanfaatkan untuk melakukan komputasi pada model simetris. Inilah yang membuat model simetris lebih efisien.
Isu yang menarik tentang sistem kluster ialah bagaimana mengatur mesin-mesin penyusun sistem dalam berbagi tempat penyimpanan data (storage). Untuk saat ini, biasanya sistem kluster hanya terdiri dari dua hingga empat mesin berhubung kerumitan dalam mengatur akses mesin-mesin ini ke tempat penyimpanan data.
Isu di atas juga berkembang menjadi bagaimana menerapkan sistem kluster secara paralel atau dalam jaringan yang lebih luas (Wide Area Network). Hal penting yang berkaitan dengan penerapan sistem kluster secara paralel ialah kemampuan mesin-mesin penyusun sistem untuk mengakses data distoragesecara serentak. Berbagai softwarekhusus dikembangkan untuk mendukung kemampuan itu karena kebanyakan sistem operasi tidak menyediakan fasilitas yang memadai. Salah satu contoh perangkat-lunak-nya-nya ialahOracle Parallel Server yang khusus didesain untuk sistem kluster paralel.
Komputasi model terbaru ini juga berbasis jaringan denganclustered system. Digunakansuper computeruntuk melakukan komputasinya. Pada model ini komputasi dikembangkan melaluipc-farm. Perbedaan yang nyata dengan komputasi berbasis jaringan ialah bahwa komputasi berbasisgriddilakukan bersama-sama seperti sebuahmultiprocessordan tidak hanya melakukan pertukaran data seperti pada komputasi berbasis jaringan.
1.1.6. Sistem Operasi Waktu Nyata
Sistem waktu nyata (Real Time Systems) ialah suatu sistem yang mengharuskan suatu komputasi selesai dalam jangka waktu tertentu. Jika komputasi ternyata belum selesai maka sistem dianggap gagal dalam melakukan tugasnya. Sistem waktu nyata memiliki dua model dalam pelaksanaannya:hard real time systemdansoft real time system.
Hard real time systemmenjamin suatu proses yang paling penting dalam sistem akan selesai dalam jangka waktu yang valid. Jaminan waktu yang ketat ini berdampak pada operasi dan perangkat keras (hardware) yang
mendukung sistem. Operasi I/O dalam sistem, seperti akses data kestorage, harus selesai dalam jangka waktu tertentu. Dari segi (hardware), memori jangka pendek (short-term memory) atauread-only memory(ROM) menggantikanhard-disksebagai tempat penyimpanan data. Kedua jenis memori ini dapat mempertahankan data mereka tanpa suplai energi. Ketatnya aturan waktu dan keterbatasanhardwaredalam sistem ini membuat ia sulit untuk dikombinasikan dengan sistem lain, seperti sistim multiprosesor dengan sistemtime-sharing.
Soft real time systemtidak memberlakukan aturan waktu seketathard real time system.Namun, sistem ini menjamin bahwa suatu proses terpenting selalu mendapat prioritas tertinggi untuk diselesaikan diantara
proses-proses lainnya. Sama halnya denganhard real time system, berbagai operasi dalam sistem tetap harus ada batas waktu maksimum.
Aplikasi sistem waktu nyata banyak digunakan dalam bidang penelitian ilmiah, sistem pencitraan medis, sistem kontrol industri, dan industri peralatan rumah tangga. Dalam bidang pencitraan medis, sistem kontrol industri, dan industri peralatan rumah tangga, model waktu nyata yang banyak digunakan ialah modelhard real time system. Sedangkan dalam bidang penelitian ilmiah dan bidang lain yang sejenis digunakan modelsoft real time system.
Menurut Morgan [MORG92], terdapat sekurangnya lima karakteristik dari sebuah sistem waktu nyata
• deterministik, dapat ditebak berapa waktu yang dipergunakan untuk mengeksekusi operasi.
• responsif, kapan secara pasti eksekusi dimulai serta diakhiri.
• kendali pengguna, dengan menyediakan pilihan lebih banyak daripada sistem operasi biasa.
• kehandalan, sehingga dapat menanggulangi masalah-masalah pengecualian dengan derajat tertentu.
• penanganan kegagalan, agar sistem tidak langsungcrash.
1.1.7. Aspek Lain Sistem Operasi
Masih terdapat banyak aspek sistem operasi yang lain; yang kurang cocok diuraikan dalam bab pendahuluan ini. Sebagai penutup dari sub-pokok bahasan ini; akan disinggung secara singkat perihal:
• Sistem Multimedia • Embeded System
• PDA dan Telepon Seluler
• Smart Card
Sistem MultiMedia
Sistem multimedia merupakan sistem yang mendukung sekali gus berbagai medium seperti gambar tidak bergerak, video (gambar bergerak), data teks, suara, dan seterusnya. Sistem operasi yang mendukung multimedia seharusnya memiliki karakteristik sebagai berikut:
• Handal: para pengguna tidak akan gembira jika sistem terlalu seringcrash/tidak handal.
• Sistem Berkas: ukuran berkas multimedia cenderung sangat besar. Sebagai gambaran, berkas video dalam format MPEG dengan durasi 60 menit akan berukuran sekitar 650MBytes. Untuk itu, diperlukan sistem operasi yang mampu menangani berkas-berkas dengan ukuran tersebut secara efektif dan efisien.
• Bandwidth: diperlukanbandwidth(ukuran saluran data) yang besar untuk multimedia.
• Waktu Nyata (Real Time): selainbandwidthyang besar, berkas multimedia harus disampaikan secara lancar berkesinambungan, serta tidak terputus-putus. Walau pun demikian, terdapat toleransi tertentu terhadap kualitas gambar/suara (soft real time).
Embeded System
Komputasiembeddedmelibatkan komputerembeddedyang menjalankan tugasnya secarareal-time. Lingkungan komputasi ini banyak ditemui pada bidang industri, penelitian ilmiah, dan lain sebagainya.
Mengacu pada sistem komputer yang bertugas mengendalikan tugas spesifik dari suatu alat seperti mesin cuci digital, tv digital, radio digital. Terbatas dan hampir tak memilikiuser-interface. Biasanya melakukan tugasnya secarareal-timemerupakan sistem paling banyak dipakai dalam kehidupan.
Komputasi Berbasis Jaringan
Pada awalnya komputasi tradisional hanya meliputi penggunaan komputer meja (desktop) untuk pemakaian pribadi di kantor atau di rumah. Namun, seiring dengan perkembangan teknologi maka komputasi tradisional sekarang sudah meliputi penggunaan teknologi jaringan yang diterapkan mulai daridesktophingga sistem genggam. Perubahan yang begitu drastis ini membuat batas antara komputasi tradisional dan komputasi berbasis jaringan sudah tidak jelas lagi.
Komputasi berbasis jaringan menyediakan fasilitas pengaksesan data yang luas oleh berbagai perangkat
elektronik. Akses tersedia asalkan perangkat elektronik itu terhubung dalam jaringan, baik dengan kabel maupun nirkabel.
PDA dan Telepon Seluler
Secara umum, keterbatasan yang dimiliki oleh sistem genggam sesuai dengan kegunaan/layanan yang
Sistem genggam ialah sebutan untuk komputer-komputer dengan kemampuan tertentu, serta berukuran kecil sehingga dapat digenggam. Beberapa contoh dari sistem ini ialahPalm Pilots,PDA,dan telepon seluler. Isu yang berkembang tentang sistem genggam ialah bagaimana merancang perangkat lunak dan perangkat keras yang sesuai dengan ukurannya yang kecil.
Dari sisi perangkat lunak, hambatan yang muncul ialah ukuran memori yang terbatas dan ukuran monitor yang kecil. Kebanyakan sistem genggam pada saat ini memiliki memori berukuran 512 KB hingga 8 MB. Dengan ukuran memori yang begitu kecil jika dibandingkan dengan PC, sistem operasi dan aplikasi yang diperuntukkan untuk sistem genggam harus dapat memanfaatkan memori secara efisien. Selain itu mereka juga harus dirancang agar dapat ditampilkan secara optimal pada layar yang berukuran sekitar 5 x 3 inci.
Dari sisi perangkat keras, hambatan yang muncul ialah penggunaan sumber tenaga untuk pemberdayaan sistem. Tantangan yang muncul ialah menciptakan sumber tenaga (misalnya baterai) dengan ukuran kecil tapi
berkapasitas besar atau merancanghardwaredengan konsumsi sumber tenaga yang sedikit.
Smart Card
Smart Card (Kartu Pintar) merupakan sistem komputer dengan ukuran kartu nama. Kemampuan komputasi dan kapasitas memori sistem ini sangat terbatas sehingga optimasi merupakan hal yang paling memerlukan
perhatian. Umumnya, sistem ini digunakan untuk menyimpan informasi rahasia untuk mengakses sistem lain. Umpamanya, telepon seluler, kartu pengenal, kartu bank, kartu kredit, sistem wireless, uang elektronis, dst. Dewasa ini (2004), smart card dilengkapi dengan prosesor 8 bit (5 MHz), 24 kB ROM, 16 kB EEPROM, dan 1 kB RAM. Namun kemampuan ini meningkat drastis dari waktu ke waktu.
1.2. Struktur Sistem Komputer
Tidak ada suatu ketentuan khusus tentang bagaimana seharusnya struktur sistem sebuah komputer. Setiap ahli dan desainer arsitektur komputer memiliki pandangannya masing-masing. Akan tetapi, untuk mempermudah kita memahami detail dari sistem operasi di bab-bab berikutnya, kita perlu memiliki pengetahuan umum tentang struktur sistem komputer.
1.2.1. Operasi Sistem Komputer
Secara umum, sistem komputer terdiri atas CPU dan sejumlahdevice controlleryang terhubung melalui sebuah busyang menyediakan akses ke memori. Umumnya, setiapdevice controllerbertanggung jawab atas sebuah hardware spesisfik. Setiapdevicedan CPU dapat beroperasi secara konkuren untuk mendapatkan akses ke memori. Adanya beberapahardwareini dapat menyebabkan masalah sinkronisasi. Karena itu untuk mencegahnya sebuahmemory controllerditambahkan untuk sinkronisasi akses memori.
Gambar 1-6. Arsitektur Umum Komputer
Tanggung jawab sinkronisasibusyang secara tak langsung juga mempengaruhi sinkronisasi memori dilakukan oleh sebuahbus controlleratau dikenal sebagaibus master.Bus masterakan mengendalikan aliran data hingga pada satu waktu, bus hanya berisi data dari satu buahdevice. Pada prakteknyabridgedanbus masterini disatukan dalam sebuahchipset.
NB:GPU= Graphics Processing Unit;AGP= Accelerated Graphics Port;HDD= Hard Disk Drive;FDD= Floppy Disk Drive;FSB= Front Side Bus;USB= Universal Serial Bus;PCI= Peripheral Component Interconnect;RTC= Real Time Clock;PATA= Pararel Advanced Technology Attachment;SATA= Serial Advanced Technology Attachment;ISA= Industry Standard Architecture;IDE= Intelligent Drive Electronics/Integrated Drive Electronics;MCA= Micro Channel Architecture;PS/2= Sebuahportyang dibangun IBM untuk menghubungkan mouse kePC;
Jika komputer dinyalakan, yang dikenal dengan namabooting, komputer akan menjalankanbootstrap program yaitu sebuah program sederhana yang disimpan dalam ROM yang berbentuk chipCMOS (Complementary Metal Oxide Semiconductor). Chip CMOS modern biasanya bertipeElectrically Erasable Programmable Read Only Memory(EEPROM), yaitu memorinon-volatile(tak terhapus jika power dimatikan) yang dapat ditulis dan dihapus dengan pulsa elektronik. Lalubootsrap programini lebih dikenal sebagaiBIOS (Basic Input Output System).
Bootstrap programutama, yang biasanya terletak dimotherboardakan memeriksa perangkat keras utama dan melakukan inisialisasi terhadap program dalamhardwareyang dikenal dengan namafirmware.
Gambar 1-7. Arsitektur PC Modern
Kejadian ini pada komputer modern biasanya ditandai dengan munculnyainterruptdari software atau hardware, sehingga Sistem Operasi ini disebutInterrupt-driven. Interruptdarihardwarebiasanya dikirimkan melalui suatu signal tertentu, sedangkansoftwaremengiriminterruptdengan cara menjalankansystem callatau juga dikenal dengan istilahmonitor call. System/Monitor callini akan menyebabkantrapyaituinterruptkhusus yang dihasilkan oleh software karena adanya masalah atau permintaan terhadap layanan sistem operasi.Trapini juga sering disebut sebagaiexception.
Setiapinterruptterjadi, sekumpulan kode yang dikenal sebagaiISR (Interrupt Service Routine)akan menentukan tindakan yang akan diambil. Untuk menentukan tindakan yang harus dilakukan, dapat dilakukan dengan dua cara yaitupollingyang membuat komputer memeriksa satu demi satu perangkat yang ada untuk menyelidiki sumberinterruptdan dengan cara menggunakan alamat-alamatISRyang disimpan dalam array yang dikenal sebagaiinterrupt vectordi mana sistem akan memeriksaInterrupt Vectorsetiap kaliinterruptterjadi.
1.2.2. Struktur I/O
Ada dua macam tindakan jika ada operasiI/O. Kedua macam tindakan itu adalah:
Setelah proses I/O dimulai, kendali akan kembali ke user program saat proses I/O selesai(Synchronous). Instruksi wait menyebabkan CPU idle sampaiinterruptberikutnya. Akan terjadiWait loop(untuk menunggu akses berikutnya). Paling banyak satu proses I/O yang berjalan dalam satu waktu.
Setelah proses I/O dimulai, kendali akan kembali ke user program tanpa menunggu proses I/O selesai (Asynchronous). System call permintaan pada sistem operasi untuk mengizinkan user menunggu sampai I/O selesai.Device-status table mengandung data masukkan untuk tiap I/O device yang menjelaskan tipe, alamat, dan keadaannya. Sistem operasi memeriksa I/O device untuk mengetahui keadaan device dan mengubah tabel untuk memasukkaninterrupt.Jika I/O device mengirim/mengambil data ke/dari memory hal ini dikenal dengan nama Direct Memory Access(DMA).
Gambar 1-8. Struktur I/O
Direct Memory Access
mengirimkan atau menerima signal dari memori danI/O device.Prosesor hanya mengirimkan alamat awal data, tujuan data, panjang data keDMA Controller.Interruptpada prosesor hanya terjadi saat proses transfer selesai. Hak terhadap penggunaanbus memoryyang diperlukanDMA controllerdidapatkan dengan bantuanbus arbiter yang dalam PC sekarang berupachipset Northbridge.
Bus
Suatu jalur transfer data yang menghubungkan setiapdevicepada komputer. Hanya ada satu buahdeviceyang boleh mengirimkan data melewati sebuah bus, akan tetapi boleh lebih dari satudeviceyang membaca data bus tersebut. Terdiri dari dua buah model:Synchronous busdi mana digunakan dengan bantuan clock tetapi berkecepatan tinggi, tapi hanya untuk device berkecepatan tinggi juga;Asynchronous busdigunakan dengan sistemhandshaketetapi berkecepatan rendah, dapat digunakan untuk berbagai macamdevice.
1.2.3. Struktur Penyimpanan
Hal penting yang perlu diingat adalah program adalah bagian dari data.
Register
Tempat penyimpanan beberapa buah datavolatileyang akan diolah langsung di prosesor yang berkecepatan sangat tinggi. Register ini berada di dalam prosesor dengan jumlah yang sangat terbatas karena fungsinya sebagai tempat perhitungan/komputasi data
Cache Memory
Tempat penyimpanan sementara (volatile) sejumlah kecil data untuk meningkatkan kecepatan pengambilan atau penyimpanan data di memori oleh prosesor yang berkecepatan tinggi. Dahulucachedisimpan di luar prosesor dan dapat ditambahkan. Misalnyapipeline burstcache yang biasa ada di komputer awal tahun 90-an. Akan tetapi seiring menurunnya biaya produksidieatauwafer dan untuk meningkatkan kinerja,cacheditanamkan di prosesor. Memori ini biasanya dibuat berdasarkan desainstatic memory.
Random Access Memory
Tempat penyimpanan sementara sejumlah datavolatileyang dapat diakses langsung oleh prosesor. Pengertian langsung di sini berarti prosesor dapat mengetahui alamat data yang ada di memori secara langsung. Sekarang, RAMdapat diperoleh dengan harga yang cukup murah dangan kinerja yang bahkan dapat melewaticachepada komputer yang lebih lama.
Memori Ekstensi
Secondary Storage
Media penyimpanan data yang non-volatile yang dapat berupaFlash Drive,Optical Disc,Magnetic Disk, Magnetic Tape.
Gambar 1-9. StrukturHarddisk
Gambar 1-10. StrukturOptical Drive
1.2.4. Penyimpanan Hirarkis
Dasar susunan sistem storage adalah kecepatan, biaya, sifat volatilitas.Cachingmenyalin informasi kestorage mediayang lebih cepat; Main memory dapat dilihat sebagai cache terakhir untuksecondary storage.
Gambar 1-11. Penyimpanan Hirarkis
1.3. Proteksi Perangkat Keras dan Struktur Jaringan
1.3.1. Proteksi Perangkat Keras
Dual Mode Operation
Membagi sumber daya sistem yang memerlukan sistem operasi untuk menjamin bahwa program yang salah tidak menyebabkan program lain berjalan salah juga. Menyediakan dukungan perangkat keras untuk membedakan minimal dua mode operasi yaitu:User Mode- Eksekusi dikendalikan oleh user;
Gambar 1-12.Dual Mode Operation
I/O Protection
Semua instruksi I/O umumnyaPrivileged Instruction(kecuali pada DOS, dan program tertentu). Harus menjamin user program tidak dapat mengambil alih kontrol komputer dimonitor mode.
Gambar 1-13.I/O Protection
Proteksi Memori
Gambar 1-14.Memory Protection
Proteksi CPU
1.3.2. Struktur Jaringan
Local Area Network
Gambar 1-15.Local Area Network
Muncul untuk menggantikan komputer besar. Dirancang untuk melingkupi suatu daerah yang kecil.
Wide Area Network
Gambar 1-16.Wide Area Network
Menghubungkan daerah yang lebih luas. Lebih lambat, dihubungkan olehroutermelalui jaringan data telekomunikasi.
1.4. Rangkuman
Sistem operasi telah berkembang selama lebih dari 40 tahun dengan dua tujuan utama. Pertama, sistem operasi mencoba mengatur aktivitas-aktivitas komputasi untuk memastikan pendayagunaan yang baik dari sistem komputasi tersebut. Kedua, menyediakan lingkungan yang nyaman untuk pengembangan dan jalankan dari program.
Pada awalnya, sistem komputer digunakan dari depan konsol. Perangkat lunak seperti assembler, loader, linkerdan compiler meningkatkan kenyamanan dari sistem pemrograman, tapi juga memerlukan waktu set-up yang banyak. Untuk mengurangi waktu set-up tersebut, digunakan jasa operator dan menggabungkan tugas-tugas yang sama (sistembatch).
menggunakan beberapa sistem reader-to-tape dan tape-to-printer untuk satu CPU. Untuk meningkatkan keseluruhan kemampuan dari sistem komputer, para developer memperkenalkan konsepmultiprogramming. Denganmultiprogramming, beberapa tugas disimpan dalam memori dalam satu waktu; CPU digunakan secara bergantian sehingga menambah utilisasi CPU dan mengurangi total waktu yang dibutuhkan untuk
menyelesaikan tugas-tugas tersebut.Multiprogramming, yang dibuat untuk meningkatkan kemampuan, juga mengizinkan time sharing. Sistem operasi yang bersifattime-sharedmemperbolehkan banyak pengguna untuk menggunakan komputer secara interaktif pada saat yang bersamaan.
PC adalah mikrokomputer yang dianggap lebih kecil dan lebih murah dibandingkan komputermainframe. Sistem operasi untuk komputer-komputer seperti ini diuntungkan oleh pengembangan sistem operasi untuk komputermainframedalam beberapa hal. Namun, semenjak penggunaan komputer untuk keperluan pribadi, maka utilisasi CPU tidak lagi menjadi perhatian utama. Karena itu, beberapa desain untuk komputermainframe tidak cocok untuk sistem yang lebih kecil.
Paralel System mempunyai lebih dari satu CPU yang mempunyai hubungan yang erat; CPU-CPU tersebut berbagi bus komputer, dan kadang-kadang berbagi memori dan perangkat yang lainnya. Sistem seperti itu dapat meningkatkan throughput dan reliabilititas.
Sistem hard real-time sering kali digunakan sebagai alat pengontrol untuk applikasi yang dedicated. Sistem operasi yang hard real-time mempunyai batasan waktu yang tetap yang sudah didefinisikan dengan baik.Pemrosesan harus selesai dalam batasan-batasan yang sudah didefinisikan, atau sistem akan gagal. Sistemsoft real-timemempunyai lebih sedikit batasan waktu yang keras, dan tidak mendukung penjadualan dengan menggunakan batas akhir. Pengaruh dari internet dan World Wide Webbaru-baru ini telah mendorong pengembangan sistem operasi modern yang menyertakan web browser serta perangkat lunak jaringan dan komunikasi sebagai satu kesatuan.
Multiprogramming dan sistem time-sharing meningkatkan kemampuan komputer dengan melampaui batas operasi (overlap) CPU dan I/O dalam satu mesin. Hal seperti itu memerlukan perpindahan data antara CPU dan alat I/O, ditangani baik dengan polling atau interrupt-drivenakses ke I/O port, atau dengan perpindahan DMA. Agar komputer dapat menjalankan suatu program, maka program tersebut harus berada di memori utama (main memory).
Memori utama adalah satu-satunya tempat penyimpanan yang besar yang dapat diakses secara langsung oleh prosessor, merupakan suatu array dari word atau byte, yang mempunyai ukuran ratusan sampai jutaan ribu. Setiap word memiliki alamatnya sendiri. Memori utama adalah tempat penyimpanan yang volatile, dimana isinya hilang bila sumber energinya (energi listrik) dimatikan. Kebanyakan sistem komputer menyediakan secondary storage sebagai perluasan dari memori utama. Syarat utama dari secondary storage adalah dapat menyimpan data dalam jumlah besar secara permanen.
Secondary storage yang paling umum adalah disk magnetik, yang meyediakan penyimpanan untuk program mau pun data. Disk magnetik adalah alat penyimpanan data yang nonvolatile yang juga menyediakan akses secara random. Tape magnetik digunakan terutama untuk backup, penyimpanan informasi yang jarang digunakan, dan sebagai media pemindahan informasi dari satu sistem ke sistem yang lain.
Beragam sistem penyimpanan dalam sistem komputer dapat d isusun dalam hirarki berdasarkan kecepatan dan biayanya. Tingkat yang paling atas adalah yang paling mahal, tapi cepat. Semakin kebawah, biaya perbit menurun, sedangkan waktu aksesnya semakin bertambah (semakin lambat).