modul_so-1
TRANSCRIPT
AB F D G
F D G A B
Diktat Kuliah Sistem Operasi
Penjadwalan Sistem Interaktif
Penjadwalan Round-Robin- Setiap proses diberi interval waktu, disebut quantum, waktu untuk run.- Pertukaran penggunaan CPU dari satu proses ke proses berikutnya
membutuhkan waktu untuk tugas administrasi, yaitu :- saving dan loading registers dan memory map, updating
beberapa tabel dan list, dll.
Proses pertukaran ini disebut process-switch atau context-switch.
Current Next processprocess
Currentprocess
1. Penjadwalan Prioritas- Proses dengan prioritas tertinggi di run terlebih dulu.- Untuk mencegah proses dengan prioritas tertinggi di run tanpa batas,
maka digunakan clock-interrupt untuk menurunkan prioritas proses yang sedang run.
- Penjadwalan prioritas di lakukan dalam kelas-kelas.
Queue headers
Highest Priority
Lowest Priority
Shortest Process Next Guaranteed Scheduling Lottery Scheduling Fair-Share Scheduling
Teknik Informatika Unindra Versi 1.0
1
priority 4
priority 3
priority 2
priority 1
Runable processes
Diktat Kuliah Sistem Operasi
Penjadwalan Sistem Real-Time- m periodic events.- event i terjadi dalam periode Pi dan membutuhkan Ci detik.
Policy Versus Mechanism- Pemisahan antara Mekanisme dan Policy.
Penjadwalan Thread
(a)
Kemungkinan penjadwalan User-Level Threadsdengan proses quantum 50-msec dan thread run 5-msec per CPU burst.
(b)
Kemungkinan penjadwalan Kernel-Level Threads dengan karakteristik yang sama seperti (a).
Teknik Informatika Unindra Versi 1.0
2
1
1m
i
i i
C
P=
≤∑
Diktat Kuliah Sistem Operasi
DEADLOCK
Situasi Deadlock terjadi, jika:- Proses diberi akses eksklusif ke device.- Device ini juga disebut resource/ sumber daya.- Contoh: dua proses hendak merekam dokumen yang di scan kedalam sebuah
CD.Resources- Preemptable.- Non Preemptable.
Urutan langkah untuk menggunakan resource:1. Request resource2. Use resource3. Release resource
Perolehan Resource- menggunakan semaphore untuk setiap resource
Syarat Kondisi Deadlock :1. Kondisi mutual exclusion2. Kondisi hold and wait3. Kondisi No Preemption4. Kondisi circular wait
Pemodelan Deadlock- Model Holt ( 1972 )
(a) Proses A menggunakan resource R.(b) Proses B meminta/menunggu resource S.(c) Deadlock, proses C dan D meminta resource T dan U.
Strategi untuk menghadapi Deadlock :1. Ignore ( abaikan )2. Detection and Recovery3. Dynamic avoidance, dengan cara mengalokasikan resource secara berhati - hati4. Prevention, dengan cara menghilangkan salah satu kondisi Deadlock
Teknik Informatika Unindra Versi 1.0
3
A B C
Diktat Kuliah Sistem Operasi
⇒ Algoritma Ostrich- “Stick your head in the sand and pretend there is no problem at all”
(menganggap tidak ada masalah).- Layak, jika:
- deadlock jarang terjadi- biaya pencegahan (prevention) sangat mahal.
• Deteksi Deadlock dan Pemulihan (Deadlock Detection and Recovery)
• Deteksi deadlock dengan satu resource untuk setiap jenis.
- Contoh: sebuah sistem dengan 7 proses (A – G) dan 6 resource (R – W), dengan status pemilikan dan permintaan resource sbb :
1. A holds R, wants S2. B holds nothing, wants T3. C holds nothing, wants S4. D holds U, wants S and T5. E holds T, wants S and T6. F holds W, wants S7. G holds V, wants U
Teknik Informatika Unindra Versi 1.0
4
Diktat Kuliah Sistem Operasi
- Algoritma pendeteksian siklus (cycle)Tanda panah akan diberi tanda untuk mengetahui sudah dilewati dan menggunakan struktur data, L, daftar simpul:
1. Untuk setiap simpul / node, N dalam graph, kerjakan 5 langkah berikut dengan N sebagai simpul awal.
2. Inisialisasi L menjadi daftar kosong, dan semua tanda panah belum di-tandai.
3. Tambahkan simpul yang dikunjungi ke daftar L dan periksa apakah simpul muncul dua kali dalam daftar L. Jika ya, maka dalam graph terdapat siklus dan algoritma selesai.
4. Dari simpul yang sudah anda tentukan, ikuti jika ada tanda panah keluar yang belum di-tandai. Jika ada, kerjakan langkah 5; jika tidak kerjakan langkah 6.
5. Pilih sebuah tanda panah keluar secara acak dan beri tanda. Kemudian ikuti ke simpul berikutnya dan kerjakan langkah 3.
6. Kita sampai ke jalan buntu. Kembali ke simpul sebelumnya dan kerjakan langkah 3. Jika simpul ini adalah simpul awal maka graph tidak terdapat siklus dan algoritma selesai.
• Deteksi deadlock dengan banyak resource untuk setiap jenis- Existing resource vector
- Available resource vector- Current allocation matrix- Request matrix
Teknik Informatika Unindra Versi 1.0
5
Diktat Kuliah Sistem Operasi
Empat struktur data yang diperlukan untuk algoritma deteksi deadlock
Algoritma deteksi deadlock sbb:
1. Cari proses Pi yang belum di-tandai, dimana baris ke-i mempunyai R ≤ A.
2. Jika proses yang dicari ditemukan, tambahkan C dari baris ke-i ke A, tandai proses dan kembali ke langkah 1.
3. Jika proses yang dicari tidak ada, algoritma selesai.
Contoh:
Teknik Informatika Unindra Versi 1.0
6
Diktat Kuliah Sistem Operasi
• Pemulihan dari DeadlockJika deadlock terjadi, apa yang harus dilakukan agar sistem bekerja kembali?
- Pemulihan melalui preemption- Pemulihan melalui rollback- Pemulihan melalui killing process
Menghindari Deadlock (Deadlock Avoidance)
Lintasan Resource (Resource Trajectories)- Algoritma untuk menghindari deadlock bekerja berdasarkan “status aman” (safe
state).- Contoh: Lintasan resource yang terdiri dari dua proses dan dua resource.
⇒ Status Aman dan Tidak Aman
- Contoh status (a) adalah aman, dimana terdapat total 10 buah resource.
HAS MAX HAS MAXA 3 9 A 3 9B 2 4 B 4 4C 2 7 C 2 7
Free : 3 Free : 1(a) (b)
Teknik Informatika Unindra Versi 1.0
7
Diktat Kuliah Sistem Operasi
HAS MAX HAS MAXA 3 9 A 3 9B 0 - B 0 -C 2 7 C 7 7
Free : 5 Free : 0(c) (d)
HAS MAXA 3 9B 0 -C 0 -
Free : 7(e)
- Status (b) adalah tidak aman.
HAS MAX HAS MAXA 3 9 A 4 9B 2 4 B 2 4C 2 7 C 2 7
Free:3 Free:2(a) (b)
HAS MAX HAS MAXA 4 9 A 4 9B 4 4 B - -C 2 7 C 2 7
Free:0 Free:4(c) (d)
⇒ Algoritma Banker untuk satu jenis resource
HAS MAX HAS MAXA 0 6 A 1 6B 0 5 B 1 5C 0 4 C 2 4D 0 7 D 4 7
Free : 10 Free : 2(a) (b)
HAS MAXA 1 6B 2 5C 2 4D 4 7
Free : 1(c)
Teknik Informatika Unindra Versi 1.0
8
Diktat Kuliah Sistem Operasi
⇒ Algoritma Banker dengan banyak jenis resource
Process
Tape Drive
Plotters
Printers
CD ROM
Process
Tape Drive
Plotters
Printers
CD ROM
A 3 0 1 1 A 1 1 0 0B 0 1 0 0 B 0 1 1 2C 1 1 1 0 C 3 1 0 0D 1 1 0 1 D 0 0 1 0E 0 0 0 0 E 2 1 1 0
resources assigned resources still needed
E = ( 6342 )P = ( 5322 )A = ( 1020 )
Pencegahan Deadlock (Deadlock Prevention)
⇒ Menghilangkan kondisi mutual exclusion- Printer dapat di-spool.- Tidak semua alat dapat di-spool.- Prinsip:
- Hindari pemberian resource yang tidak perlu.- Proses yang meng-claim resource diusahakan seminimal mungkin.
⇒ Menghilangkan kondisi hold dan wait- Proses mendapat semua resource-nya sebelum di-run.- Masalah:
- Proses tidak mengetahui kebutuhannya.- Penggunaan resource yang tidak optimal.
⇒ Menghilangkan kondisi no preemption- tidak dapat dilakukan.- Contoh: printer tidak dapat diambil dengan paksa saat sedang bekerja.
⇒ Menghilangkan kondisi circular wait- Menentukan aturan, satu proses hanya dapat menggunakan satu resource
(masalah: tidak dapat diterima semua proses).- Memberikan nomor dan meng-urutkan semua resource serta menetapkan aturan
dalam meminta resource.
Teknik Informatika Unindra Versi 1.0
9
Diktat Kuliah Sistem Operasi
Isu-isu lain dalam Deadlock:
- Two phase lockingPhase satu: - proses melakukan lock pada data yang akan digunakan.
Phase dua:- data di-update.- lock dilepaskan.
- Non-resource DeadlockDeadlock juga dapat terjadi jika kita menuliskan urutan yang salah dalam operasi “down” untuk dua semaphore.
- StarvationMemilih algoritma alokasi resource yang tidak menyebabkan starvation. Algoritma FCFS menghindari terjadinya starvation.
Teknik Informatika Unindra Versi 1.0
10
Diktat Kuliah Sistem Operasi
Pengaturan Memori (Memory Management)
1. Teknik Dasar Pengaturan Memori
2. Swapping
3. Virtual memory
4. Page Replacement Algorithms
5. Modeling Page Replacement Algorithms
6. Isu Perancangan untuk Sistem Paging
7. Isu Implementasi
8. Segmentation
1. Teknik Dasar Pengaturan Memori
• Monoprogramming tanpa Swapping atau Paging
Tiga Cara Pengorganisasian Memori denganSistem Operasi dan Satu Proses Pemakai
Teknik Informatika Unindra Versi 1.0
11
Diktat Kuliah Sistem Operasi
Tiga Cara Pengorganisasian Memori dengan Sistem Operasi dan Satu Proses Pemakai
• Multiprogramming dengan Fixed Partitions
• Modeling Multiprogramming• Utilisasi CPU = 1 - pn
Degree of multiprogramming
Teknik Informatika Unindra Versi 1.0
12
Diktat Kuliah Sistem Operasi
• Analisa Unjuk Kinerja Sistem Multiprogramming
• Job 1 – 4 : 80 % I/O Wait
• Relokasi dan Proteksi• Relokasi:
o Address o User-Written Procedureso Library Procedureso Contoh Masalah
• Proteksi:o Contoh Masalah
• Solusi:o Base Register o Limit Register
Teknik Informatika Unindra Versi 1.0
13
Diktat Kuliah Sistem Operasi
Swapping
Pengaturan Memori dengan Bitmaps dan Link Lists
Teknik Informatika Unindra Versi 1.0
14
Diktat Kuliah Sistem Operasi
• Kombinasi Posisi Proses dan Holes
Algoritma Pengalokasian Memori• First Fit• Next Fit• Best Fit• Worst Fit• Quick Fit
2. Virtual Memori• Paging• Memory Management Unit (MMU)
Teknik Informatika Unindra Versi 1.0
15
Diktat Kuliah Sistem Operasi
• Page Table• Virtual Memory Address• Physical Memory Address
TLBs – Translation Lookaside Buffer
• Inverted Page Table
Teknik Informatika Unindra Versi 1.0
16
Diktat Kuliah Sistem Operasi
Page Replacement Algorithms• Page Fault• Pemilihan Page• Pertukaran Page• Contoh Permasalahan
Optimal Page Replacement Algorithm
• Memilih Page yang berada pada posisi terjauh• Optimal tetapi tidak mungkin di implementasi
Not recently Used Page Replacement Algorithm• Reference Bit• Modified Bit• Klasifikasi Page• Random
FIFO Page Replacement Algoritma• Membuat Daftar Page sesuai urutan masuk • Memilih Page yang Pertama Masuk• Terjadi Kelemahan
Second Chance Page Replacement Algorithm • FIFO Order• R Bit
Teknik Informatika Unindra Versi 1.0
17
Diktat Kuliah Sistem Operasi
The Clock Page Replacement Algorithm
Teknik Informatika Unindra Versi 1.0
18
Diktat Kuliah Sistem Operasi
Least Recently Used (LRU) Page Replacement Algorithm
• Memilih Page yang Paling Lama Tidak Terpakai• Membuat Daftar Page• Update Page
LRU using a matrix – pages referenced in order0,1,2,3,2,1,0,3,2,3
Simulating LRU in Software
• The aging algorithm simulates LRU in software• Note 6 pages for 5 clock ticks, (a) – (e)
Teknik Informatika Unindra Versi 1.0
19
Diktat Kuliah Sistem Operasi
The Working Set Page Replacement Algorithm
• The aging algorithm simulates LRU in software• Note 6 pages for 5 clock ticks, (a) – (e)
The working set algorithm
Teknik Informatika Unindra Versi 1.0
20
Diktat Kuliah Sistem Operasi
The WSClock Page Replacement Algorithm
The working set algorithm
Review Page Replacement Algorithm
Algorithm Comment
1. Optimal Tidak dapat diimplementasi tetapi berguna sebagai Benchmark
2. NRU Tidak optimal
3. FIFO Sering mengganti Page yang penting
4. Second Chance Modifikasi dari FIFO
5. Clock Realistis
6. LRU Bagus tetapi sulit untuk diimplementasi
7. Aging Efisien dalam mengimplementasi LRU
8. Working Set Mahal untuk diimplementasi
9. WSClock Cukup Efisien
Teknik Informatika Unindra Versi 1.0
21
Diktat Kuliah Sistem Operasi
Modeling Page Replacement Algorithms
• Belady’s Anomalyo Reference Pages: 0 1 2 3 0 1 4 0 1 2 3 4
• FIFO with 3 page frames• FIFO with 4 page frames• P's show which page references show page faults
• Stacks Algorithms• Reference String terdiri dari 4 Pages:
0 2 1 3 5 4 6 3 7 4 7 3 3 5 5 3 1 1 1 7 2 3 4 1
7 4 6 5
Teknik Informatika Unindra Versi 1.0
22
Diktat Kuliah Sistem Operasi
• Distance String
Probability density functions for two hypothetical distance strings
• Memprediksi Page Fault Rates
• Computation of page fault rate from distance string– the C vector– the F vector
Isu Perancangan untuk Sistem Paging• Local Vs Global Allocation Policies
• Original configuration• Local page replacement• Global page replacement
Teknik Informatika Unindra Versi 1.0
23
Diktat Kuliah Sistem Operasi
• Page Fault Rates
Page fault rate as a function of the number of page frames assigned
• Besar Pageo Overhead = se/p + p/2o –se/p2 + ½ = 0o p = √ (2se)
Isu Implementasi
10 Tahap Page Fault Handling Locking Pages in Memory Backing Store
(a) Paging to static swap area(b) Backing up pages dynamically
Teknik Informatika Unindra Versi 1.0
24
Diktat Kuliah Sistem Operasi
Segmentation
• One-dimensional address space with growing tables• One table may bump into another
Allows each table to grow or shrink, independently
I• Implementasi Pure Segmentation
(a)-(d) Development of checkerboarding(e) Removal of the checkerboarding by compaction
Teknik Informatika Unindra Versi 1.0
25
Diktat Kuliah Sistem Operasi
• Segmentation with Paging: MULTICS
• Descriptor segment points to page tables• Segment descriptor – numbers are field lengths
• Segmentation with Paging: The Intel Pentium
• Pentium code segment descriptor• Data segments differ slightly
Teknik Informatika Unindra Versi 1.0
26
Diktat Kuliah Sistem Operasi
INPUT / OUTPUT
Salah satu fungsi dari Sistem Operasi adalah mengendalikan seluruh peralatan input/output komputer. Sistem operasi melakukan interupsi, menangani error, dan memberi instruksi ke peralatan I/O.
Beberapa pokok bahasan tentang input / output antara lain :• Prinsip perangkat keras I/O • Prinsip perangkat lunak I/O • Layer perangkat lunak I/O • Clock• Disk• Character Oriented Terminal• Graphic User Interfaces• Network Terminals • Power Management
PRINSIP PERANGKAT KERAS INPUT / OUTPUT
Peralatan Input/Output (I/O DEVICES)Dua jenis Peralatan I/O :♦ Block devices
Data dikirim atau diterima dalam bentuk Block ( Disk, Pita magnetik). Peralatan ini menyimpan informasi dalam Block yang berukuran tetap, dan setiap block memiliki alamat sendiri.
♦ Character devices Data dikirim atau diterima dalam bentuk karakter ( Seperti : Line printer, Pita kertas, Punched card, Mouse, Network interface, dsb). Data pada peralatan ini tidak memiliki alamat, juga tidak ada operasi seek terhadap data.
Teknik Informatika Unindra Versi 1.0
27
Diktat Kuliah Sistem Operasi
DEVICE CONTROLLER
Komponen yang membentuk I/O Device• Komponen mekanis• Komponen Elektronik
Device Controller (adapter) adalah komponen elektronik, yang dapat menangani beberapa peralatan yang sejenis.Tugas Controller• Konversi rangakian bit serial menjadi Block data• Koreksi Error jika diperlukan• Menyediakan data di memory utama
MEMORY-MAPPED I/O
(a). Separate I/O and memory space(b). Memory Mapped I/O(c). Hybrid
Single–bus Architecture Dual–bus memory Architecture
Teknik Informatika Unindra Versi 1.0
28
Diktat Kuliah Sistem Operasi
DIRECT MEMORY ACCESS (DMA)
Cara kerja DMA :• Controller membaca block data dari drive secara serial, bit per bit, hingga block
tersebut berada dalam buffer internal dari controller• Dilakukan perhitungan checksum untuk verifikasi bahwa tidak terjadi kesalahan
pembacaan• Controller melakukan transfer data byte per byte dari buffer controller ke memory
dengan menaikkan nilai address dan mengurangi nilai count dengan 1• Controller menyebabkan interupsi• Pada saat Sistem Operasi mulai running, ia dapat langsung membaca data dari
memory, tanpa harus mengeksekusi loop untuk membaca dari buffer controller
Operation of a DMA transfer
INTERRUPT REVISITED
Interupsi terjadi dengan koneksi antara peralatan I/O dengan Interrupt controller menngunakan interrupt line di bus, dan bukan dedicated wires
Teknik Informatika Unindra Versi 1.0
29
Diktat Kuliah Sistem Operasi
Teknik Informatika Unindra Versi 1.0
30