Sistem Operasi

Bahan Kuliah IKI-20230

Gabungan Kelompok Kerja 21–28 IKI-20230 Semester Genap 2002/2003


Persembahan

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

Kelompok 21 (Koordinator)

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

Kelompok 22 (Bab 1)

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

Kelompok 23 (Bab 2)

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

Kelompok 24 (Bab 3)

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

Kelompok 25 (Bab 4)

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

Kelompok 26 (Bab 5)

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

Kelompok 27 (Bab 6)

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

Kelompok 28 (Bab 7)

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

Daftar Isi
Kata Pengantar
1. Pendahuluan
Sistem Operasi
Fungsi Dasar
Tujuan Mempelajari Sistem Operasi
Sasaran Sistem Operasi
Sejarah Sistem Operasi
Layanan Sistem Operasi
Struktur Komputer
Sistem Operasi Komputer
Struktur I/O
Struktur Penyimpanan
Storage Hierarchy
Proteksi Perangkat Keras
Struktur Sistem Operasi
Komponen-komponen Sistem
Managemen Proses
Managemen Memori Utama
Managemen Secondary-Storage
Managemen Sistem I/O
Managemen Berkas
Sistem Proteksi
Jaringan
Command-Interpreter System
Layanan Sistem Operasi
System Calls
Mesin Virtual
Perancangan Sistem dan Implementasi
System Generation (SYSGEN)
Rangkuman
Pertanyaan
Rujukan
2. Proses dan Thread
Proses
Konsep Dasar dan Definisi Proses
Keadaan Proses
Process Control Block
Threads
Penjadualan Proses
Penjadualan Antrian
Penjadual
Alih Konteks
Operasi-Operasi Pada Proses
Pembuatan Proses
Terminasi Proses
Hubungan Antara Proses
Proses yang Kooperatif
Komunikasi Proses Dalam Sistem
Thread
Konsep Dasar
Keuntungan
User Threads
Kernel Threads
Model Multithreading
Model Many to One
Model One to One
Model Many to Many
Thread Dalam Solaris 2
Thread Java
Managemen Thread
Keadaan Thread
Thread dan JVM
JVM dan Sistem Operasi
Contoh Solusi Multithreaded
Penjadual CPU
Konsep Dasar
Algoritma Penjadual First Come, First Served
Penjadual Shortest Job First
Penjadual Prioritas
Penjadual Round Robin
Penjadualan Multiprocessor
Penjadualan Multiple Processor
Penjadualan Real Time
Penjadualan Thread
Java Thread dan Algoritmanya
Penjadualan Java Thread
Evaluasi Algoritma
Kesimpulan
Proses
Thread
Penjadualan CPU
Soal-soal Latihan
Proses
Thread
Penjadualan CPU
Rujukan
Daftar Istilah
3. Sinkronisasi dan Deadlock
Sinkronisasi
Latar Belakang
Critical Section
Solusi Hardware pada Sinkronisasi
Semaphore
Problem Klasik pada Sinkronisasi
Monitors
Deadlock
Latar Belakang
Resources-Allocation Graph
Model Sistem
Strategi menghadapi Deadlock
Mencegah Deadlock
Menghindari Deadlock
Algoritma Bankir
Mendeteksi Deadlock dan Memulihkan Deadlock
Kesimpulan
Latihan
Rujukan
Rujukan Sinkronisasi
Rujukan Deadlock
4. Memori
Latar Belakang
Pengikatan Alamat
Ruang Alamat Fisik dan Logik
Penempatan Dinamis
Perhubungan Dinamis dan Berbagi Library
Lapisan Atas
Penukaran (Swap)
Alokasi Memori Yang Berdampingan
Pemberian Halaman
Metode Dasar
Struktur Tabel Halaman
Pemberian Halaman Secara Multilevel
Segmentasi
Metode Dasar
Perangkat Keras
Pemeliharaan dan Pembagian
Fragmentasi
Segmentasi Dengan Pemberian Halaman
Pengertian
Kelebihan Segmentasi dengan Pemberian Halaman
Perbedaan Segmentasi dan Paging
Pengimplementasian Segmentasi dengan Pemberian Halaman Intel i386
Memori Virtual
Pengertian
Keuntungan
Implementasi
Permintaan Pemberian Halaman (Demand Paging)
Permasalahan pada Page Fault
Skema Bit Valid - Tidak Valid
Pemindahan Halaman
Skema Dasar
Pemindahan Halaman Secara FIFO
Pemindahan Halaman Secara Optimal
Pemindahan Halaman Secara LRU
Pemindahan Halaman Secara Perkiraan LRU
Dasar Perhitungan Pemindahan Halaman
Algoritma Page-Buffering
Alokasi Frame
Jumlah Frame Minimum
Algoritma Alokasi
Alokasi Global lawan Local
Thrashing
Penyebab Thrashing
Model Working Set
Frekuensi Kesalahan Halaman
Contoh Pada Sistem Operasi
Windows NT
Solaris 2
Linux
Pertimbangan Lain
Sebelum Pemberian Halaman
Ukuran Halaman
Tabel Halaman yang Dibalik
Struktur Program
Penyambungan Masukan dan Keluaran
Pemrosesan Waktu Nyata
5. Sistem Berkas
Pengertian
Berkas
Konsep Dasar
Atribut Pada Berkas
Operasi Pada Berkas
Jenis Berkas
Struktur Berkas
Struktur Berkas Pada Disk
Penggunaan Berkas Secara Bersama-sama
Metode Akses
Akses Secara Berurutan
Akses Langsung
Akses Dengan Menggunakan Indeks
Struktur Direktori
Operasi Pada Direktori
Direktori Satu Tingkat
Direktori Dua Tingkat
Direktori Dengan Struktur Tree
Direktori Dengan Struktur Acyclic-Graph
Direktori Dengan Struktur Graph
Proteksi Berkas
Tipe Akses Pada Berkas
Akses List dan Group
Pendekatan Sistem Proteksi yang Lain
Struktur Sistem Berkas
Organisasi Sistem Berkas
Mounting Sistem Berkas
Metode Alokasi Berkas
Alokasi Secara Berdampingan (Contiguous Allocation)
Alokasi Secara Berangkai (Linked Allocation)
Alokasi Dengan Indeks (Indexed Allocation)
Kinerja Sistem Berkas
Managemen Ruang Kosong (Free Space)
Menggunakan Bit Vektor
Linked List
Grouping
Counting
Implementasi Direktori
Linear List
Hash Table
Efisiensi dan Unjuk Kerja
Efisiensi
Kinerja
Recovery
Pemeriksaan Rutin
Back Up and Restore
Macam-macam Sistem Berkas
Sistem Berkas Pada Windows
Sistem Berkas pada UNIX (dan turunannya)
Perbandingan antara Windows dan UNIX
Macam-macam Sistem Berkas di UNIX
Kesimpulan
Soal-Soal Sistem Berkas
6. I/O dan Disk
Perangkat Keras I/O
Polling
Interupsi
DMA
Interface Aplikasi I/O
Peralatan Block dan Karakter
Peralatan Jaringan
Jam dan Timer
Blocking dan Nonblocking I/O
Kernel I/O Subsystem
I/O Scheduling
Buffering
Caching
Spooling dan Reservasi Device
Error Handling
Kernel Data Structure
Penanganan Permintaan I/O
Kinerja I/O
Pengaruh I/O pada Kinerja
Cara Meningkatkan Efisiensi I/O
Implementasi Fungsi I/O
Struktur Disk
Penjadualan Disk
Penjadualan FCFS
Penjadualan SSTF
Penjadualan SCAN
Penjadualan C-SCAN
Penjadualan LOOK
Pemilihan Algoritma Penjadualan Disk
Managemen Disk
Memformat Disk
Boot Block
Bad Blocks
Penanganan Swap-Space
Penggunaan Swap-Space
Lokasi Swap-Space
Pengelolaan Swap-Space
Kehandalan Disk
Implementasi Stable-Storage
Tertiary-Storage Structure
Macam-macam Tertiary-Strorage Structure
Masalah-Masalah yang Berkaitan Dengan Sistem Operasi
Interface Aplikasi
Penamaan Berkas
Managemen Penyimpanan Hirarkis
Rangkuman
I/O
Disk
Soal Latihan
Rujukan
Daftar Istilah
7. LINUX
Sejarah
Kernel Linux
Sistem Linux
Distribusi Linux
Lisensi Linux
Linux Saat Ini
Tux: Logo Linux
Prinsip Rancangan
Prinsip Desain Linux
Komponen Sistem Linux
Modul Kernel Linux
Pengertian Modul Kernel Linux
Managemen Modul Kernel Linux
Registrasi Driver
Resolusi Konflik
Manajemen Proses
Pendahuluan
Deskriptor Proses
Pembuatan Proses Dan Thread
Penjadual
Sinkronisasi Kernel
Penjadualan Proses
Symmetric Multiprocessing
Managemen Memori di Linux
Managemen Memori Fisik
Memori Virtual
Load dan Eksekusi Program
Sistem Berkas Linux
Sistem Berkas Virtual
Sistem Berkas Linux
Pembagian Sistem Berkas Secara Ortogonal
I/O Linux
Device Karakter
Device Blok
Device Jaringan
Komunikasi Antar Proses
Sinyal
Pipa
Struktur Jaringan
Jaringan TCP/IP
Protokol Internet (IP)
Protokol Pengontrol Transmisi (TCP)
Protokol Pengontrol Pesan di Internet (ICMP)
Protokol Datagram Pengguna (UDP)
IPX dan Sistem Berkas NCP
Keamanan
Pendahuluan
Keamanan Fisik
Keamanan Lokal
Perangkat Lunak Bebas
Serba-Serbi PLB
Pembagian Perangkat Lunak
Latihan
Point-Point Kernel Linux dan PLB
Sejarah Linux
Design Principles
Modul Kernel Linux
Managemen Proses
Penjadualan
Managemen Memori di Linux
Sistem Berkas di Linux
I/O Linux
Komunikasi Antar Proses
Struktur Jaringan
Keamanan
Perangkat Lunak Bebas
Kesimpulan Kernel Linux dan Perangkat Lunak Bebas
Daftar Istilah
Rujukan Kernel Linux dan Perangkat Lunak Bebas
Sejarah Linux (Rujukan)
Linux Umumnya (Rujukan)
Modul Kernel (Rujukan)
Process Management(Rujukan)
GNU (Rujukan)
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
2-1. Tabel untuk soal 4 — 5
3-1. Tabel Deadlock
5-1. Tabel Jenis Berkas
5-2. Contoh sistem daftar akses pada UNIX
Daftar Gambar
2-1. Keadaan Proses. Sumber: . . .
2-2. Process Control Block. Sumber: . . .
2-3. CPU Register. Sumber: . . .
2-4. Device Queue. Sumber: . . .
2-5. Diagram Anrian. Sumber: . . .
2-6. Penjadual Medium-term. Sumber: . . .
2-7. Alih Konteks. Sumber: . . .
2-8. Pohon Proses. Sumber: . . .
2-9. Operasi pada Proses. Sumber: . . .
2-10. Program Fork. Sumber: . . .
2-11. Program Produser Konsumer. Sumber: . . .
2-12. Program Produser Konsumer Alternatif. Sumber: . . .
2-13. Keluaran Program Produser Konsumer. Sumber: . . .
2-14. Keluaran Program Produser Konsumer. Sumber: . . .
2-15. Program Send/ Receive. Sumber: . . .
2-16. Thread. Sumber: . . .
2-17. User dan Kernel Thread. Sumber: . . .
2-18. Model Multithreading. Sumber: . . .
2-19. Model Many to One. Sumber: . . .
2-20. Model One to One. Sumber: . . .
2-21. Model Many to Many. Sumber: . . .
2-22. Thread Solaris dan Java. Sumber: . . .
2-23. Runnable. Sumber: . . .
2-24. Class Worker2. Sumber: . . .
2-25. Keadaan Thread. Sumber: . . .
2-26. CPU Burst. Sumber: . . .
2-27. Kedatangan Proses. Sumber: . . .
2-28. Gannt Chart Kedatangan Proses I. Sumber: . . .
2-29. Gannt Chart Kedatangan Proses II. Sumber: . . .
2-30. Gannt Chart Kedatangan Proses III. Sumber: . . .
2-31. Gannt Chart Kedatangan Proses IV. Sumber: . . .
2-32. Kedatangan Proses. Sumber: . . .
2-33. Gannt Chart SJF Non-Preemtive. Sumber: . . .
2-34. Rata-rata Menunggu. Sumber: . . .
2-35. Kedatangan Proses. Sumber: . . .
2-36. Gannt Chart SJF Preemtive. Sumber: . . .
2-37. Rata-rata Menunggu. Sumber: . . .
2-38. Round Robin. Sumber: . . .
2-39. Time Quantum dan Alih Konteks. Sumber: . . .
2-40. Round Robin. Sumber: . . .
2-41. Sinkronisasi. Sumber: . . .
2-42. Contoh Wait() dan Notify(). Sumber: . . .
3-1. Race Condition. Sumber...
3-2. Critical Section. Sumber: . . .
3-3. Prosis Pi. Sumber: . . .
3-4. Process Pi. Sumber: . . .
3-5. Kode. Sumber: . . .
3-6. Process Pi. Sumber: . . .
3-7. Process Pi. Sumber: . . .
3-8. Process Pi. Sumber: . . .
3-9. Lock. Sumber: . . .
3-10. Block. Sumber: . . .
3-11. Block. Sumber: . . .
3-12. Mutex. Sumber: . . .
3-13. Persimpangan. Sumber: . . .
3-14. Graph. Sumber: . . .
3-15. Non Deadlock. Sumber: . . .
3-16. Deadlock. Sumber: . . .
3-17. Safe. Sumber: . . .
4-1. Alokasi Kembali. Sumber: . . .
4-2. Alokasi Kembali. Sumber: . . .
4-3. Perangkat Keras Pemberian Halaman. Sumber: . . .
4-4. Model pemberian halaman dari memori fisik dan logis. Sumber: . . .
4-5. Alamat logis. Sumber: . . .
4-6. Skema Tabel Halaman Dua Tingkat. Sumber: . . .
4-7. Penterjemahan alamat untuk arsitektur pemberian halaman dua tingkat 32-bit logis. Sumber: . . .
4-8. Tabel halaman yang dibalik. Sumber: . . .
4-9. Berbagi kode pada lingkungan berhalaman. Sumber: . . .
4-10. Alamat Logis Sumber: . . .
4-11. String Acuan. Sumber: . . .
4-12. String Acuan. Sumber: . . .
4-13. String Acuan. Sumber: . . .
4-14. String Acuan. Sumber: . . .
4-15. Derajat dari Multiprogramming. Sumber: . . .
4-16. Jumlah Frame. Sumber: . . .
5-1. Lapisan pada sistem berkas. Sumber: . . .
6-1. Polling Operation. Sumber: . . .
6-2. DMA Interface. Sumber: . . .
6-3. DMA Controller. Sumber: . . .
6-4. Floppy Disk. Sumber: . . .
6-5. Magneto Optic. Sumber: . . .
6-6. Optical Disk. Sumber: . . .
6-7. Worm Disk. Sumber: . . .
6-8. Tape. Sumber: . . .
7-1. Logo Linux. Sumber: . . .
7-2. Pemetaan Memori Virtual ke Alamat Fisik. Sumber: . . .
7-3. Struktur Sistem Berkas EXT2. Sumber: . . .
7-4. Inode Sistem Berkas EXT2. Sumber: . . .
7-5. CharDev. Sumber: . . .
7-6. Buffer. Sumber: . . .
7-7. Pipa. Sumber: . . .
7-8. Jaringan. Sumber: . . .
7-9. Kategori. Sumber: . . .
Daftar Contoh
4-1. Tabel Halaman
7-1. Isi Deskriptor Proses
7-2. Antrian Tunggu