Sistem Operasi

Bahan Kuliah IKI-20230

Gabungan Kelompok Kerja 21–28 Semester Genap 2002/2003 dan 41–49 Semester Ganjil 2003/2004 Mata Kuliah Sistem Operasi

Silakan menyalin, mengedarkan, dan/ atau, memodifikasi bagian dari dokumen – $Revision: 1.5 $ – – yang dikarang oleh Gabungan Kelompok Kerja 21–28 Semester Genap 2002/2003 dan 41–49 Semester Ganjil 2003/2004 Mata Kuliah Sistem Operasi, sesuai dengan ketentuan "GNU Free Documentation License versi 1.1" atau versi selanjutnya dari FSF (Free Software Foundation); tanpa bagian "Invariant", tanpa teks "Front-Cover", dan tanpa teks "Back-Cover". Lampiran A ini> berisi salinan lengkap dari lisensi tersebut. Ketentuan ini TIDAK berlaku untuk bagian dan/ atau kutipan yang bukan dikarang oleh Gabungan Kelompok Kerja 21–28 Semester Genap 2002/2003 dan 41–49 Semester Ganjil 2003/2004 Mata Kuliah Sistem Operasi.


Persembahan

Buku ini dipersembahkan dari Gabungan Kelompok Kerja 21–28 Semester Genap 2002/2003 dan 41–49 Semester Ganjil 2003/2004 Mata Kuliah Sistem Operasi, oleh Gabungan Kelompok Kerja 21–28 Semester Genap 2002/2003 dan 41–49 Semester Ganjil 2003/2004 Mata Kuliah Sistem Operasi, untuk siapa saja yang ingin mempelajari Sistem Operasi. Tim penyusun buku ini ialah sebagai berikut:

Kelompok 21 (Koordinator)

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

Kelompok 22

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

Kelompok 23

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

Kelompok 24

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

Kelompok 25

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

Kelompok 26

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

Kelompok 27

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

Kelompok 28

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

Kelompok 41

Ahmad Furqan S K., Aristo, Obeth M S.

Kelompok 42

Puspita K S, Retno Amelia, Susi R, Sutia H.

Kelompok 43

Agus Setiawan, Adhita Amanda, Afaf M, Alisa Dewayanti, Andung J Wicaksono, Dian Wulandari L, Gunawan, Jefri Abdullah, M Gantino, Prita I.

Kelompok 44

Arnold W, Antonius H, Irene, Theresia B, Ilham W K, Imelda T, Dessy N, Alex C.

Kelompok 45

Bima Satria T, 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

Josef, 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

Bayu Putera, Enrico, Ferry Haris, Franky, Hadyan Andika, Ryan Loanda, Satriadi, Setiawan A, Siti P Wulandari, Tommy Khoerniawan, Wadiyono Valens, William Hutama.

Kelompok 48

Amir Murtako, Dwi Astuti A, M Abdushshomad E, Mauldy Laya, Novarina Azli, Raja Komkom S.

Kelompok 49 (Koordinator)

Fajran Iman Rusadi, Carroline D Puspa.

Daftar Isi
Kata Pengantar
1. Konsep Dasar Perangkat Komputer
Pendahuluan
Komponen Sistem Komputer
Definisi Sistem Operasi
Kelas Komputer
Lingkungan Komputasi
Struktur Sistem Komputer
Operasi Sistem Komputer
Struktur I/O
Struktur Storage
Hirarki Storage
Proteksi Hardware dan Struktur Jaringan
Proteksi Perangkat Keras
Struktur Jaringan
Rangkuman
Latihan
2. Konsep Dasar Sistem Operasi
Struktur Sistem Operasi
Komponen-komponen Sistem
Layanan Sistem Operasi, System Calls, dan System Program
Layanan Sistem Operasi
System Calls
System Program
Struktur Sistem
Struktur Sederhana
Pendekatan Terlapis
Mikrokernel
Mesin Virtual, Desain Sistem dan Implementasinya, dan System Generation
Mesin Virtual
Desain Sistem dan Implementasinya
System Generation
Rangkuman
Latihan
Rujukan
3. Proses dan Penjadwalan
Konsep Proses
Definisi Proses
Status Proses
Process Control Block
Threads
Penjadwalan Proses
Queue Scheduling
Scheduler
Context Switch
Interaksi Proses
Proses yang Kooperatif
Masalah Produser/Konsumer
Hubungan Antara Proses dan Client/Server Proses
Hubungan Antara Proses
Client/Server System
Konsep Thread
Apa itu Thread
Keuntungan Thread
User dan Kernel Threads
Multithreading Models
Fork dan exec System Call
Cancellation
Penanganan Sinyal
Thread Pools
Hal-Hal Lainnya dari Thread
Ilustrasi Thread dengan Linux dan Java
Thread dengan Linux
Thread dengan Java
Penjadwal CPU
Konsep Dasar
Siklus Burst CPU-I/O
Penjadwalan CPU
Penjadwalan Preemptive
Dispatcher
Kriteria Penjadwalan
Penjadwalan Preemptive
Algoritma Penjadwalan
First-Come, First-Served
Shortest-Job First
Priority
Round-Robin
Multilevel Queue
Multilevel Feedback Queue
Prioritas dan Multiprosesor
Apa itu Prioritas
Multiprosesor
Sistem Waktu Nyata
Sistem Hard Real-Time
Sistem Soft Real-Time
Rangkuman
Proses
Thread
Penjadwalan CPU
Latihan
Proses
Thread
Penjadwalan CPU
Client/Server System
Rujukan
4. Sinkronisasi dan Deadlock
Latar Belakang Sinkronisasi
Masalah Bounded Buffer
Masalah Race Condition
Problema Critical Section
Pengertian Critical Section
Solusi Critical Section
Sinkronisasi dengan Perangkat Keras dan Semafor
Peran Hardware Dalam Proses Sinkronisasi
Metode dalam sinkronisasi hardware
Processor Synchronous
Memory Synchronous
Instruksi Atomic
Semafor
Macam - macam Semafor
Masalah - Masalah Sinkronisasi yang Dapat Diselesaikan oleh Semafor
Semafor di dalam Pemrograman
Masalah Bounded-Buffer
Pengertian Umum
Masalah Produsen-Konsumen
Sinkronisasi Masalah Bounded-Buffer Menggunakan Semafor
Sinkronisasi pada Java
Masalah Readers/Writers dan Dining Philosophers
Gambaran Umum Masalah Readers/Writers
Solusi Dengan Pembaca Diprioritaskan
Solusi Dengan Penulis Diprioritaskan
Solusi Dengan Pembaca Dan Penulis Mendapat Prioritas Secara Bergantian
Masalah Dining Philosophers
Critical Region dan Monitor
Pengantar
Konsep Critical Region
Komponen Critical Region
Cara Kerja Critical Region
Implementasi Critical Region dalam Bounded Buffer
Keterbatasan Critical Region
Konsep Monitor
Variabel Kondisi
Implementasi Monitor dalamDining Philosophers
Keterbatasan Monitor
Deadlock
Prinsip dari deadlock
Sumber Daya
Kondisi untuk Terjadinya deadlock
Penanganan deadlock
Diagram Graf
Komponen Graf Alokasi Sumber Daya
Deteksi Deadlock Berdasarkan Graf Alokasi Sumber Daya
Algoritma Graf Alokasi Sumber Daya untuk Mencegah Deadlock
Deteksi Deadlock dengan Menggunakan Graf Tunggu
Rangkuman
Latihan
5. Managemen Memori
Manajemen Memori
Latar Belakang
Pemberian Alamat
Ruang Alamat Logika & Fisik
Pemanggilan Dinamis
Penghubungan Dinamis dan Perpustakaan Bersama
Overlays
Penukaran dan Alokasi Memori
Penukaran
Pengalokasian Memori
Pemberian Halaman
Metode Dasar
Dukungan Perangkat Keras
Proteksi
Keuntungan dan Kerugian Pemberian Halaman
Struktur Tabel Halaman
Tabel Halaman
Pemberian Page Secara Multilevel
Tabel Halaman secara Inverted
Berbagi Halaman
Segmentasi
Arsitektur Segmentasi
Saling Berbagi dan Proteksi
Masalah dalam Segmentasi
Segmentasi dengan Pemberian Halaman
Penggunaan Segmentasi
Pengantar Memori Virtual; Demand Paging
Pengertian
Keuntungan
Implementasi
Demand Paging
Aspek Permintaan Halaman: Pembuatan Proses
Copy-On-Write
Memory-Mapped Files
Konsep Dasar Pemindahan Halaman
Konsep Dasar
Algoritma Pemindahan Halaman
Algoritma FIFO (First In First Out)
Algoritma Optimal
Algoritma LRU (Least Recently Used)
Algoritma Perkiraan LRU
Algoritma Counting
Algoritma Page Buffering
Strategi Alokasi Frame
Alokasi Frame
Thrashing
Pertimbangan Lain
Prepaging
Ukuran halaman
Jangkauan TLB
Tabel Halaman yang Dibalik
Struktur Program
I/O Interlock
Pemrosesan Waktu Nyata
Contoh pada Sistem Operasi
Windows NT
Solaris 2
Linux
Rangkuman
Latihan
Rujukan
6. Sistem Berkas
Sistem Berkas
Konsep Berkas
Atribut berkas
Tipe berkas
Operasi Berkas
Struktur Berkas
Metode Akses
Struktur Direktori
Operasi Direktori
Beberapa Struktur Direktori
Konsep Mounting, Sharing, dan Proteksi
Mounting
Sharing
Proteksi
Implementasi Sistem Berkas
Struktur Sistem Berkas
Implementasi Sistem Berkas
Implementasi Direktori
Filesystem Hierarchy Standard
Pendahuluan
Sistem Berkas
Sistem Berkas Root
Hirarki /usr
Hirarki /var
Konsep Alokasi Blok Sistem Berkas
Metode Alokasi
Manajemen Ruang Kosong
Efisiensi dan Kinerja
Recovery
Log-Structured File System
Rangkuman
Latihan
Rujukan
Rujukan Buku:
Rujukan Internet:
7. I/O
Perangkat Keras I/O
Prinsip-prinsip Perangkat Keras I/O
Polling
Interupsi
DMA (Direct Memory Access)
Aplikasi Antarmuka I/O; Subsistem Kernel; Operasi Perangkat Keras
Aplikasi Antarmuka I/O
Kernel I/O Subsystem
Penanganan Permintaan I/O
I/O Streams dan Kinerja I/O
I/O Streams
Kinerja I/O
Manajemen Disk
Struktur Disk
Penjadwalan Disk
Manajemen Disk; Swap, Struktur RAID; Kaitan Langsung dan Jaringan; Implementasi Penyimpanan Stabil.
Manajemen Disk
Managemen Ruang Swap
Struktur RAID
Kaitan Disk
Perangkat Penyimpanan Tersier
Macam-macam Struktur Penyimpanan Tersier
Future Technology
Aplikasi Antarmuka
Masalah Kinerja
Rangkuman
I/O
Disk
Latihan
Daftar Pustaka
8. Studi Kasus: GNU/Linux
Perangkat Lunak Bebas
Konsep bebas
Open source
Public Domain
Copylefted
Sejarah dan Rancangan Dasar GNU/Linux
Sejarah
Kernel Linux
Sistem Linux
Distribusi Linux
Lisensi Linux
Prinsip Rancangan
Prinsip Desain Linux
Komponen Sistem Linux
Kernel
Perpustakaan Sistem
Utilitas Sistem
Proses dan Memori
Manajemen Proses
Manajemen Memori
Sistem Berkas dan I/O Linux
Sistem Berkas Linux
I/O Linux
Rangkuman
Latihan
Rujukan
A. GNU Free Documentation License
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
COMBINING DOCUMENTS
COLLECTIONS OF DOCUMENTS
AGGREGATION WITH INDEPENDENT WORKS
TRANSLATION
TERMINATION
FUTURE REVISIONS OF THIS LICENSE
How to use this License for your documents
Indeks
Daftar Tabel
3-1. Tabel Flag dan Fungsinya
3-2. Tabel untuk soal 4 — 5
6-1. Direktori/link yang dibutuhkan dalam /.
6-2. Direktori/link yang dibutuhkan dalam /.
6-3. Direktori/link yang dibutuhkan dalam /usr.
6-4. Direktori/link yang merupakan pilihan dalam /usr.
6-5. Direktori/link yang dibutuhkan dalam /var.
6-6. Direktori/link yang dibutuhkan di dalam /var
Daftar Gambar
1-1. Abstraksi Komponen Sistem Komputer
1-2. Grid Computer
1-3. Mainframe Computer
1-4. Batch System
1-5. Multiprogram System
1-6. Mini Computer
1-7. Workstation
1-8. Desktop Computer
1-9. Desknote Computer
1-10. Notebook Computer
1-11. Distributed System
1-12. Arsitektur Umum Komputer
1-13. Arsitektur PC Modern
1-14. Struktur I/O
1-15. Struktur Harddisk
1-16. Struktur Optical Drive
1-17. Hirarki storage
1-18. Dual Mode Operation
1-19. I/O Protection
1-20. Memory Protection
1-21. Local Area Network
1-22. Wide Area Network
3-1. Status Proses
3-2. Process Control Block
3-3.
3-4. Device Queue
3-5. Diagram Antrian
3-6. Medium-term Scheduler
3-7. Context Switch
3-8. Thread
3-9. Many-To-One
3-10. One-To-One
3-11. Many-To-Many
3-12. Siklus Burst
3-13.
3-14. Grafik Hard Real-Time
3-15. Grafik Soft Real-Time
4-1. Struktur Monitor
4-2. Contoh Deadlock Sederhana
4-3. Contoh Deadlock di Jembatan Gantung
4-4. Contoh Deadlock di Persimpangan Jalan
4-5. Kondisi Deadlock Dilihat dari Safe State
4-6. Proses Pi
4-7. Sumber daya Rj dengan 2 instans
4-8. Proses Pi meminta sumber daya Rj
4-9. Sumber daya Rj yang mengalokasikan salah satu instansnya pada proses Pi
4-10. Graf Alokasi Sumber Daya
4-11. Graf dengan deadlock
4-12. Tanpa deadlock
4-13. Graf alokasi sumber daya dalam status aman
4-14. Graf alokasi sumber daya dalam status tidak aman
4-15. Graf alokasi sumber daya
4-16. Graf tunggu
5-1. Memory Management Unit
5-2. Two-Pass Assembler
5-3. Permasalahan alokasi penyimpanan dinamis
5-4. Penerjemahan Halaman
5-5. Struktur MMU
5-6. Skema Tabel Halaman 2 tingkat
5-7. Tabel Halaman secara Multilevel
5-8. Tabel Halaman secara Inverted
5-9. Arsitektur Segmentasi
5-10. Segmentasi dengan Pemberian Halaman
5-11. Penggunaan Segmentasi dengan Pemberian Halaman pada MULTICS
5-12. Penggunaan Segmentasi dengan Pemberian Halaman pada INTEL 30386
5-13. Memori Virtual
5-14. Bagan proses memory-mapped files
5-15. Kondisi yang memerlukan Pemindahan Halaman
5-16. Pemindahan halaman
5-17. Contoh Algoritma FIFO
5-18. Contoh Algoritma Optimal
5-19. Contoh Algoritma LRU
5-20. Solar Page Scanner
6-1. Single Level Directory
6-2. Two Level Directory
6-3. Tree-Structured Directory
6-4. Acyclic-Structured Directory
6-5. General Graph Directory
6-6. Mount Point
6-7. Disk Organization
6-8. Layered File System
6-9. Schematic View of Virtual File System
6-10. A UNIX directory entry
6-11. Contiguous allocation
6-12. Linked allocation
6-13. Indexed allocation
6-14. Ruang kosong linked list
6-15. Tanpa unified buffer cache
6-16. Menggunakan unified buffer cache
6-17. Macam-macam lokasi disk-caching
7-1. Model Bus Tunggal
7-2. Proses Polling
7-3. Struktur Kernel
7-4. Spooling
7-5. Struktur stream
7-6. gambar komunikasi interkomputer
7-7. Penjadwalan FCFS
7-8. Penjadwalan SSTF
7-9. Penjadwalan SCAN
7-10. Penjadwalan C-SCAN
7-11. Penjadwalan LOOK
7-12. Penjadwalan C-LOOK
7-13. Contoh Manajemen ruang swap: pemetaan swap segmen teks 4.3 BSD
7-14. Contoh Manajemen ruang swap: pemetaan swap segmen data 4.3 BSD
7-15. Level RAID
7-16. RAID 0 + 1 dan 1 + 0