SISTEM OPERASI SISTEM OPERASI Sri Kusumadewi SISTEM OPERASI Oleh: Sri Kusumadewi Edisi Pertama Cetakan Pertama, 2000 Edisi Kedua Cetakan Pertama, 2002 Perum Candi Gebang Permai Blok R No. 6 Yogyakarta 55511 Telp. : 0274-882262; 4462135 Fax. : 0274-4462136 E-mail : info@grahailmu.co.id Hak Cipta © 2000 pada penulis, Hak Cipta dilindungi undang-undang. Dilarang memperbanyak atau memindahkan sebagian atau seluruh isi buku ini dalam bentuk apapun, secara elektronis maupun mekanis, termasuk memfotokopi, merekam, atau dengan teknik perekaman lainnya, tanpa ijin tertulis dari penerbit. Anggota IKAPI : 016/DIY/01 ISBN: 979-3289-12-0 Sistem operasi merupakan salah satu bagian terpenting dalam sistem komputer. Tanpa adanya sistem operasi, komputer tak akan ada artinya, karena interaksi antara perangkat lunak dengan perangkat keras hanya dimungkinkan dengan adanya sistem operasi. Karena pentingnya sistem operasi ini, maka matakuliah sistem operasi menjadi matakuliah wajib pada program studi ilmu komputer dan informatika. Dengan demikian mahasiswa diharuskan mengerti dan lebih mendalami sistem operasi secara teoritis, agar kelak dapat mengembangkan atau bahkan menciptakan sistem operasi baru. Pada dasarnya buku ini hanya memuat bagain-bagian pokok dari teori sistem operasi. Untuk itu, selain membaca buku ini, dianjurkan agar mahasiswa membaca buku-buku referensi yang tersebut dalam dagtar pustaka. Mengingat terus berkembangnya sistem operasi, perlu juga dibaca majalah-majalah komputer terbaru. Atas tersusunnya buku ini penulis mengucapkan banyak terima kasih kepada Bapak Ir. Sri Suwarno, M.Eng., dan Bapak Ir. P. Insap Santosa, M.Sc. yang telah memberikan banyak bimbingan tentang sistem operasi pada penulis selama mengikuti pendidikan di Teknik elektro Program Pascasarjana Universitas Gadjah Mada Yogyakarta. vi Sistem Operasi Demi perbaikan buku ini, penulis mengharapkan kritik dan saran dari para pembaca. Semoga buku ini bermanfaat. Yogyakarta, Januari 2000 Sri Kusumadewi KATA PENGANTAR DAFTAR ISI BAB 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 BAB 2 2.1 v vii PENDAHULUAN 1 Definisi Sistem Operasi Sistem Operasi Ditinjau Dari Apa yang Dilakukan-nya Tujuan adanya Sistem Operasi: Sejarah Singkat Perkembangan Sistem Operasi Batch System Multiprogramming System Time Sharing System Multiprocessing System Distributed System Real Time System Latihan 2 2 2 2 4 6 7 8 9 9 9 STRUKTUR SISTEM KOMPUTER Operasi Sistem Komputer 2.1.1 Siklus Instruksi 2.1.2 Interrupt 2.2 Struktur I/O 2.2.1 I/O Interrupt 2.2.2 Struktur DMA 2.3 Struktur Penyimpanan 2.3.1 Cache Memory 2.3.2 Memori Utama 2.3.3 Magnetic Disk 2.3.4 RAM Disk 11 11 12 14 17 17 19 19 19 24 25 31 viii 2.4 2.5 2.6 BAB 3 3.1 3.2 3.3 3.4 3.5 3.6 Sistem Operasi Clock 2.4.1 Clock hardware 2.4.2 Clock software Proteksi Hardware 2.5.1 Operasi Dual-Mode 2.5.2 Proteksi I/O 2.5.3 Proteksi Memori 2.5.4 Proteksi CPU Latihan 32 32 33 34 34 35 35 36 36 STRUKTUR SISTEM OPERASI 37 Komponen-komponen Sistem 3.1.1 Manajemen Proses 3.1.2 Manajemen Memori Utama 3.1.3 Manajemen Memori Sekunder 3.1.4 Manajemen I/O 3.1.5 Manajemen File Pelayanan Sistem Operasi System Call 3.3.1 Kontrol Proses 3.2.2 Manipulasi File 3.3.3 Manipulasi Device 3.3.4 Informasi Lingkungan 3.3.5 Komunikasi Sistem Program Struktur Sistem Operasi 3.5.1 Struktur Sederhana 3.5.2 Monolithic System 3.5.3 Pendekatan Terlapis (Layered Approach) 3.5.4 Mesin Virtual (Virtual Machine) 3.5.5 Client-Server Model Latihan 37 37 37 37 38 38 38 39 39 39 39 40 40 41 41 41 43 45 47 48 49 BAB 4 PROSES-PROSES 4.1 Konsep Proses 4.1.1 Definisi Proses 4.1.2 Status Proses 4.1.3 Process Control Block (PCB) 4.2 Penjadwalan Proses 4.2.1 Scheduling Queue 4.2.2 Schedulers 51 51 51 51 52 54 54 55 ix Daftar Isi 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.2.3 Context Switch Operasi Pada Proses 4.3.1 Pembuatan Proses 4.3.2 Penghentian Proses Proses-proses yang Saling Bekerjasama (Cooperating Process) Threads Komunikasi Antar Proses 4.6.1 Komunikasi Langsung 4.6.2 Komunikasi Tak Langsung Buffering Kondisi-kondisi Perkecualian 4.8.1 Proses dihentikan 4.8.2 Kehilangan Pesan 4.8.3 Pesan Terganggu Latihan BAB 5 PENJADWALAN PROSES 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 Konsep Dasar CPU Scheduler Preemptive Scheduling Dispatcher Kriteria Penjadwalan Algoritma Penjadwalan 5.6.1 First-Come First-Served Scheduling (FCFS) 5.6.2 Shortest Job First Scheduler (SJF) 5.6.3 Priority Scheduling 5.6.4 Round-Robin Scheduling 5.6.5 Multilevel Queue Scheduling 5.6.6 Multilevel Feedback Queue Scheduling 5.6.7 Guaranteed Scheduling 5.6.8 Policy versus Mechanism 5.6.9 Two-level Scheduling Implementasi Penjadwalan Prosesor Implementasi Penjadwalan Multiprosesor Latihan BAB 6 SINKRONISASI 6.1 6.2 6.3 Latar Belakang Masalah Critical Section Sinkronisasi Software 55 55 55 56 57 59 60 60 61 62 63 63 64 64 64 67 67 67 68 68 68 69 69 71 73 74 76 77 78 80 80 81 89 92 95 95 97 98 x Sistem Operasi 6.4 6.5 6.6 6.7 6.8 BAB 7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 Sinkronisasi Hardware 6.4.1 Instruksi Test And Set Lock 6.4.2 Instruksi Exchange Semaphore Deadlock dan Starvation 6.6.1 Deadlock 6.6.2 Starvation Masalah-masalah Klasik dalam Sinkronisasi. 6.7.1 The Bounded-Buffer (Producer-Concumer) Problem 6.7.2 The Reader and Writers Problem 6.7.3 The Dining-Philosophers Problem 6.7.4 The Sleeping Barber Problem Latihan 106 107 108 110 112 112 112 113 DEADLOCK 121 Resource Karakteristik Deadlock Resource-Allocation Graph Metode untuk Mengendalikan Deadlock Deadlock Prevention Deadlock Avoidence 7.6.1 Safe State 7.6.2 Algoritma Resource-Allocation Graph 7.6.3 Algoritma Banker 7.6.4 Algoritma Safety 7.6.5 Algoritma Resource-Request Deadlock Detection Latihan 121 124 125 128 128 129 129 130 131 132 133 134 135 BAB 8 MANAJEMEN MEMORI 8.1 Konsep Dasar 8.1.1 Konsep Binding 8.1.2 Dynamic Loading 8.1.3 Dynamic Linking 8.1.4 Overlay 8.2 Strategi Manajemen Memori 8.3 Ruang Alamat Logika & Fisik 8.4 Swapping 8.5 Pencatatan Pemakaian Memori 8.5.1 Peta Bit (Bit Map) 113 114 115 117 118 137 137 139 140 140 141 142 143 144 145 145