SlideShare a Scribd company logo
1 of 57
Pertemuan 8 & 9 
Konkurensi: 
Deadlock & Starvation 
TIM DOSEN PENGAMPU SISTEM OPERASI 
Sarjana Teknik Informatika Fakultas Informatika 
SISTEM OPERASI
Daftar Isi 
1. Prinsip Prinsip Deadlock 
2. Deadlock Prevention 
3. Deadlock Avoidance 
4. Deadlock Detection 
5. Perbandingan Metode Penanganan Deadlock 
6. Kasus Dinning Philosopher
Prinsip Prinsip Deadlock 
1. Definisi dan Konsep Deadlock 
2. Joint Progress Diagram (JPD) 
3. Reusable Resources 
4. Consumable Resources 
5. Resource Allocation Graphs (RAG) 
6. Kondisi Deadlock
Definisi dan Konsep Deadlock 
Deadlock adalah kondisi dimana sejumlah proses ter-blok 
secara permanen akibat saling memperebutkan atau saling 
menunggu pesan / resource 
Definisi 
Solusi Tidak ada solusi yang efisien 
Deadlock 
prevention 
Deadlock 
avoidance 
Deadlock 
detection
Contoh Analogi 
Deadlock 
Deadlock Possible 
Deadlock
Contoh Deadlock 
P1 P2 
Perlu Ra dan Rb untuk dieksekusi Perlu Rb dan Ra untuk dieksekusi 
get b get a 
get a get b 
Ra Rb 
Deadlock!!
Joint Progress 
Diagram 
1 2 
3 
4 5 
6
Solusi Joint Progress Diagram 
Contoh Solusi 
Proses P1 dan P2 tidak menggunakan resource pada saat yang bersamaan 
P1 P2 
Get Ra 
Get Rb 
Get Ra 
Release Ra 
Release Rb 
Get Rb 
Release Ra 
Get Ra
Solusi Joint Progress 
Diagram (Simulasi) 
P1 P2 
get b get a 
release b release a 
get a get b 
release a release b 
Ra Rb
Solusi Joint 
Progress Diagram
Reusable Resources 
Definisi 
Contoh 
merupakan resource yang hanya dapat digunakan oleh satu proses saja 
dalam satu waktu dan tidak pernah habis (selalu tersedia) 
Processor I/O Channel Memory 
Device Data Structure 
File, database, etc 
Semaphore 
Kasus Deadlock Dua proses berebutmenggunakan hardisk atau 
berebut menggunakan ruang memori
Contoh Deadlock pada 
Reusable Resources (1) 
P1 P2 
Deadlock 
Eksekusi interleave
Contoh Deadlock pada Reusable Resources (2) 
Main Memory 
(200 KB) 
20 KB 
20 KB 
20 KB 
20 KB 
20 KB 
20 KB 
20 KB 
20 KB 
20 KB 
20 KB 
P1 
... 
Request 80 KB 
... 
Request 60 KB 
P2 
... 
Request 70 KB 
... 
Request 80 KB 
Blocked 
kurang 10 KB 
Blocked 
kurang 30 KB 
Deadlock
Consumable Resources 
Definisi 
Contoh 
Merupakan resource yang dapat dibuat (produced) dan 
dihancurkan (destroyed) berulang-ulang 
Interrupt Signal message informasi yang terletak di dalam buffer I/O 
Kasus Deadlock Dua proses atau lebih saling menunggu pesan 
Sumber deadlock, salah satunya kesalahan perancangan
Contoh Deadlock pada Consumable Resources 
P1 
... 
Receive (P2) 
... 
Send(P2, M) 
P2 
... 
Receive (P1) 
... 
Send(P1, M) 
waiting 
Deadlock 
waiting
Resource Allocation Graphs (RAG) 
Resource Allocation Graphs (RAG) merupakan grafik berarah yang 
menggambarkan status resource dan proses dimana setiap proses dan setiap 
resource digambarkan dengan node 
Definisi 
Grafik 
Proses Meminta Resource P • Ra 
Proses Memegang Resource P • Ra
Representasi Deadlock dengan Resource Allocation 
Graphs (RAG) 
Ra 
P1 P2 
Ra 
Circular Wait 
Ra 
P1 P2 
Ra 
No Deadlock
Kondisi Yang Menyebabkan 
Deadlock (1) 
Mutual Exclusion 
Hold and Wait 
Sebuah resource hanya boleh digunakan oleh sebuah proses dalam satu waktu 
Kondisi ini memungkinkan deadlock 
Sebuah proses boleh terus menerus menggunakan sebuah resource 
sambil menunggu resource yang lain 
Kondisi ini memungkinkan deadlock 
No Preemption Resource yang sedang digunakan oleh suatu proses tidak boleh direbut, 
Proses tersebut tidak bisa disela (preempted) 
Kondisi ini memungkinkan deadlock
Kondisi Yang Menyebabkan Deadlock (2) 
Bila ketiga kondisi tersebut terdapat di dalamsebuah 
komputer apakah pasti terjadi deadlock ? 
Merupakan rangkaian beberapa proses dan 
resource yang membentuk sebuah cincin 
dimana setiap proses sedang menggunakan 
minimal sebuah resource yang juga sedang 
dibutuhkan oleh proses di dekatnya 
Ra 
P1 P2 
Ra 
Belum tentu, kondisi yang memastikan terjadinya 
Deadlock adalah ? 
Circular Wait
Kondisi Yang Menyebabkan Deadlock (3) 
U 
P1 
P4 
P3 P2 
P1 P2 
R1 R1 
R2 
R3 
R4 P3 P4 
R2 R3 R4
Strategi Penanganan Deadlock 
Deadlock Prevention 
Menghilangkan salah satu kondisi atau lebih yang memungkinkan terjadinya deadlock 
Pada saat perancangan program 
DeadlockAvoidance 
Dilakukan pemilihan langkah yang dinamis untuk 
mencegah terjadinya deadlock berdasarkan alokasi resource saat itu 
Pada saat eksekusi program 
Deadlock Detection Mendeteksi adanya kondisi yang memungkinkan deadlock dan circular wait, 
kemudian melakukan langkah-langkah penanganan 
Pada saat eksekusi program
Deadlock Prevention 
1. Definisi dan Konsep Deadlock Prevention 
2. Indirect Method 
3. Direct Method
Definisi dan Konsep Deadlock 
Prevention 
Definisi 
Indirect Method 
Pada saat perancangan 
menghilangkan salah satu kondisi atau lebih yang memungkinkan terjadinya deadlock 
Sebisa mungkin tidak menggunakan kondisi yang memungkinkan deadlock 
berikut ini secara bersamaan (mutual exclusion, hold and wait, dan no preemption) 
Direct Method Mencegah terjadinya kondisi circular wait
Indirect Method 
Mutual Exclusion 
Hold & Wait 
No Preemption 
Tidak bisa dihilangkan, jika terdapat resource yang harus diproteksi 
Harus disediakan oleh sistem operasi 
setiap proses yang membutuhkan resource akan ter-blok dan baru dapat dieksekusi 
jika semua resource yang diperlukan telah tersedia 
Tidak efisien, 
• Menunggu terlalu lama 
• Mengeklaim resource yang belum tentu dibutuhkan 
• Tidak mengetahui resource 
• Harus mengetahui semua resource 
Solusi 1: tetap boleh no preemption 
Proses yang sedang menggunakan sebuah resource tidak boleh 
menggunakan resource yang lain sebelum resource pertama dilepaskan 
Solusi 2: Preemption 
Sistem operasi dapat menyela (preempt) proses yang sedang running sehingga resource 
yang sedang digunakannya dapat diberikan kepada proses lain 
Syarat: prioritas proses harus berbeda
Direct Method 
Mekanisme 
Contoh 
Mencegah terjadinya kondisi circular wait, 
Setiap resource diberi nomor indeks yang terurut secara linier dan 
penggunaannya harus urut sesuai nomor indeksnya. 
Proses A membutuhkan resoure Ri kemudian resource Rj, karena i < j, maka program 
tersebut benar. 
Jika program pada proses B terdapat baris program yang membutuhkan resource Rj 
diikuti dengan resource Ri 
bisa terjadi deadlock. Kesalahan ada pada proses B karena j > i, seharusnya i < j. 
Kekurangan 
Tidak efisien, lambat. 
Terdapat resource yang sedang tidak digunakan tetapi tidak dapat dipakai
Deadlock Avoidance 
1. Konsep DeadlockAvoidance 
2. Prosess Initiation Denial 
3. Resources Allocation Denial 
4. Kelebihan dan Kekurangan
Konsep Deadlock Avoidance 
Konsep 
Tidak mempertimbangkan ketiga kondisi 
yang memungkinkan terjadinya deadlock 
Langkah-langkah 
1. Cari informasi kebutuhan resource untuk setiap proses 
2. Block proses yang menyebabkan deadlock 
3. Jangan berikan resource baru kepada proses yang menyebabkan deadlock 
Mekanisme Process Initiation Denial 
Resource Allocation Denial
Process Initiation Denial (Konsep) 
P1 P2 P3 P4 Pn 
= Σ 푃 
R1 
. . . . . . 
R2 R3 Rm 
. . . . . . 
= Σ 푅 
= Σ 푉
Process Initiation Denial (Claim Resource) 
Daftar Claim Resource = C = C11 C21 Cn1 C33 C43 Cn3 
m 
m 
C C  
C 
11 12 1 
C C  
C 
21 22 2 
    
C C C 
n n nm 
Claim C 
 
1 2 
  
Claimproses ke n 
terhadap resource ke m
Process Initiation Denial (Daftar Alokasi Resource) 
Daftar Alocation Resource A = A11 A21 An1 A33 A43 An3 
m 
m 
A A  
A 
11 12 1 
A A  
A 
21 22 2 
    
A A A 
n n nm 
Allocation A 
 
1 2 
  
Alokasi resource ke m 
terhadap proses ke n
Process Initiation Denial (Aturan) 
 
Rumusan dan aturan 
R  V  
A 
j j ij n 
i 
1 
untuk semua j 
ij j C  R untuk semua i,j 
ij ij A  C untuk semua i,j
Process Initiation Denial (Claim Proses Baru) 
Proses baru (Pn+1) dapat dieksekusi jika kondisi berikut terpenuhi: 
untuk semua j 
푅푗 ≥ + 퐶푖푗 
jumlah resource 
yang diklaim oleh 
proses baru 
jumlah resource yang telah 
diklaim oleh proses-proses 
sebelumnya 
퐶 푛+1 푗 
푛 
푖=1
Resource Allocation Denial (konsep) 
Menggunakan algoritma banker (seperti model peminjaman 
uang pada bank) 
State (status) Sistem 
Safe State 
Unsafe State 
alokasi sejumlah resource kepada suatu proses saat ini 
kondisi dimana setiap saat setidaknya terdapat 
sebuah proses yang dapat dieksekusi, 
sehingga seluruh proses dapat dieksekusi hingga selesai 
kondisi dimana semua proses tidak dapat dieksekusi (deadlock)
Resource Allocation Denial 
(Contoh kasus – Initial State) 
R1 R2 R3 
P1 3 2 2 
P2 6 1 3 
P3 3 1 4 
P4 4 2 2 
Initial State 
R1 R2 R3 
P1 1 0 0 
P2 6 1 2 
P3 2 1 1 
P4 0 0 2 
Resource tersedia 
R1 R2 R3 
P1 2 2 2 
P2 0 0 1 
P3 1 0 3 
P4 4 2 0 
R1 R2 R3 
9 3 6 
R1 R2 R3 
0 1 1 
Total resource 
Daftar Claim (C) Daftar Alokasi (A) Kekurangan = C-A
Resource Allocation Denial 
(Contoh kasus – Execution State) 
R1 R2 R3 
P1 3 2 2 
P2 6 1 3 
P3 3 1 4 
P4 4 2 2 
R1 R2 R3 
P1 1 0 0 
P2 6 1 2 
P3 2 1 1 
P4 0 0 2 
Resource tersedia 
- 
P1 terblok 
P2 tidak terblok 
R1 R2 R3 
P1 2 2 2 
P2 0 0 1 
P3 1 0 3 
P4 4 2 0 
R1 R2 R3 
9 3 6 
R1 R2 R3 
0 1 1 
Total resource 
Daftar Claim (C) Daftar Alokasi (A) Kekurangan = C-A
Resource Allocation Denial (Contoh kasus – Execution State (1)) 
Proses Resource 
Jumlah resource yang tersedia 
setelah proses selesai dieksekusi 
Vt+1 =Vt+C 
R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 
No 
P1 3 2 2 1 0 0 2 2 2 0 1 1 -2 -1 -1 Blocked 1 0 0 6 2 3 
P2 6 1 3 6 1 2 0 0 1 0 1 1 0 1 0 Pilih 6 1 3 6 2 3 
P3 3 1 4 2 1 1 1 0 3 0 1 1 -1 1 -2 Blocked 2 1 1 6 2 3 
P4 4 2 2 0 0 2 4 2 0 0 1 1 -4 -1 1 Blocked 0 0 2 6 2 3 
P1 3 2 2 1 0 0 2 2 2 6 2 3 4 0 1 Pilih 3 2 2 7 2 3 
P2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Selesai 0 0 0 0 0 0 
P3 3 1 4 2 1 1 1 0 3 6 2 3 5 2 0 Blocked 2 1 1 7 2 3 
P4 4 2 2 0 0 2 4 2 0 6 2 3 2 0 3 Blocked 0 0 2 7 2 3 
ResourceTotal 
Ekse 
kusi 
1 
2 
Status Akhir 
Avalaible Resource 
(Vt+1) 
Status 
Claim (C) Alokasi (A) C-A (K) Avalaible (Vt) V-K Proses 
Status Akhir 
Alokasi Proses 
R1 R2 R3 
9 3 6 
Kebutuhan resource Proses 
yang harus dipenuhi 
untuk dapat dieksekusi 
Jumlah Resource yang sudah 
dimiliki/dipegang oleh proses 
Jumlah resource yang harus 
didapatkan agar memenuhi Claim (C) 
Jumlah resource yang 
tidak dipegang proses 
Proses terpilih karena 
kebutuhan resource 
dapat dipenuhi oleh 
resource yang tersedia 
Jumlah resource yang dimiliki 
oleh proses yang terpilih/dieksekusi 
Pada 
eksekusi 
ke 2 
P2 sudah 
selesai 
dieksekusi 
Jumlah resource yang tersedia pada eksekusi ke 2 
diupdate sesuai dengan status akhir avalaible resource (Vt+1) 
P1 dipilih 
sesuai 
dengan 
waktu 
kedatangan
Resource Allocation Denial (Contoh kasus – Execution State (2)) 
Status 
Proses 
Status Akhir 
Alokasi Proses 
Status Akhir 
Avalaible Resource 
Claim (C) Alokasi (A) C-A (K) Avalaible (Vt) V-K 
No (Vt+1) 
R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 
P1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Selesai 0 0 0 0 0 0 
P2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Selesai 0 0 0 0 0 0 
P3 3 1 4 2 1 1 1 0 3 7 2 3 6 2 0 Pilih 3 1 4 9 3 4 
P4 4 2 2 0 0 2 4 2 0 7 2 3 3 0 3 Blocked 0 0 2 9 3 4 
P1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Selesai 0 0 0 0 0 0 
P2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Selesai 0 0 0 0 0 0 
P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Selesai 0 0 0 0 0 0 
P4 4 2 2 0 0 2 4 2 0 9 3 4 5 1 4 Pilih 4 2 2 9 3 6 
Ekse 
kusi 
3 
4 
Proses Resource 
ResourceTotal Jumlah resource akhir avalaible 
R1 R2 R3 
9 3 6 
resource HARUS SAMA dengan 
Total Resource
Resource Allocation Denial (Contoh kasus – Execution State (1)) 
Proses Resource 
R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 
No 
P1 3 2 2 2 0 1 1 2 1 0 1 1 -1 -1 0 Blocked 1 0 0 6 2 3 
P2 6 1 3 5 1 1 1 0 2 0 1 1 -1 1 -1 Blocked 5 1 1 4 2 0 
P3 3 1 4 2 1 1 1 0 3 0 1 1 -1 1 -2 Blocked 2 1 1 6 2 3 
P4 4 2 2 0 0 2 4 2 0 0 1 1 -4 -1 1 Blocked 0 0 2 6 2 3 
Ekse 
kusi 
1 
Status Akhir 
Avalaible Resource 
(Vt+1) 
Status 
Claim (C) Alokasi (A) C-A (K) Avalaible (Vt) V-K Proses 
Status Akhir 
Alokasi Proses 
ResourceTotal Permintaan proses terhadap 
R1 R2 R3 
9 3 6 
resource (C-K) lebih besar 
dibandingkan resource yang 
tersedia (Vt)
Contoh Algoritma Deadlock Avoidance 
Proses 
meminta 
resource 
Resource alloc algoritm Banker algorithm 
Valid? 
Resource 
yang 
tersedia 
cukup? 
blocked 
Berikan resource 
dan perbaharui 
data 
Permintaan 
safe 
error 
valid 
Tidak valid 
cukup 
Tidak cukup 
Tidak safe 
safe 
IF alloc [i, *] + request [*] > claim[i, *] 
THEN error 
IF request [*] > claim[i, *] 
THEN blocked 
IF claim[k, *] – alloc [k, *] <= currentavail 
THEN safe
Contoh Algoritma Deadlock Avoidance (Global Data Structure) 
Global Data Structure
Contoh Algoritma Deadlock Avoidance (Resource Allocation 
Algorithm) 
Sistem Operasi/20101103 #41 
Resource allocation algoritm 
Cek valid atau tidak? 
Cek resource cukup 
atau tidak? 
Cek kondisi safe atau tidak
Contoh Algoritma Deadlock Avoidance (Banker Algorithm) 
Pengecekkan kondisi 
safe atau tidak?
Kelebihan dan Kekurangan 
Deadlock Avoidance 
Kelebihan 
Kekurangan 
(+) Tidak perlu mem-preempt dan mengembalikan data konteks suatu proses 
(+) Lebih fleksibel dibanding metode deadlock prevention 
(-) Jumlah kebutuhan resource maksimum setiap proses harus sudah diketahui di awal 
(-) Urutan eksekusi proses tidak dapat ditentukan dengan aturan tertentu 
(-) Jumlah resource yang dialokasikan ke suatu proses bersifat tetap (tidak boleh berubah) 
(-) Proses tidak boleh keluar (exit) selamamasihmemegang resource
Deadlock Detection 
1. Mekanisme Deadlock Detection 
2. Algoritma Deadlock Detection 
3. Contoh Deadlock Detection 
4. Solusi Jika Terjadi Deadlock
Mekanisme Deadlock Detection 
Setiap Proses boleh meminta resource selama resource masih tersedia 
Setiap periodik Sistem Operasi menjalankan algoritma untuk mendeteksi deadlock 
Proses-proses yang tidak menyebabkan deadlock akan diberikan tanda (mark) 
Menggunakan matrik Alokasi (A), Vektor Avalaible (V), Vektor Resource (R) 
Menggunakan matrik request (Q), berisi daftar resource yang diminta oleh Proses
Algoritma Deadlock Detection 
Beri tanda (mark) proses yang nilai alokasi (A) = 0. 
Inisialisasi temporari vektor W dengan nilai vektor alokasi (A). W = A 
Cari proses ke i yang belum diberi tanda. 
Bandingkan nilai request proses tersebut (Q) dengan vektor W. 
푄푖푗 ≤ 푊푘 , untuk 1 ≤ k ≤ m. Jika tidak ditemukan, terminasi algoritma 
Jika nilai Q ≤ W, beri tanda proses tersebut. Tambahkan alokasi (A) ke W 
Sistem Operasi/20101103 #46 
푊푘 = 푊푘 + 퐴푖푘 
Lanjutkan pencarian hingga seluruh proses diperiksa.
Contoh Deadlock Detection 
Sistem Operasi/20101103 #47 
1. Beri tanda (mark) P4. 2. Inisialisasi temporari vektor W 
dengan nilai vektor alokasi (A). 
W = (0 0 0 0 1) 
3. P1 dan P2 tidak diberi tanda, karena 
푄푖푗 > 푊푘 . Terminasi algoritma. 
Deadlock terdeteksi
Solusi Jika Terjadi Deadlock 
Sistem Operasi/20101103 #48 
Batalkan (kill) semua proses yang mengalami deadlock 
Kembalikan status proses tersebut ke status checkpoint yang telah dibuat sebelumnya 
(sebelum terjadi deadlock) 
Restart proses tersebut 
Satu per satu batalkan proses lain yang mengalami deadlock hingga tidak ada lagi proses yang deadlock 
Satu per satu ambil (preempt) resource dari proses yang mengalami deadlock 
hingga deadlock tidak terjadi lagi
Solusi Jika Terjadi Deadlock (pemilihan proses 
yang dibatalkan) 
Sistem Operasi/20101103 #49 
Biaya proses yang paling murah 
Paling sedikit menggunakan waktu prosesor 
Paling sedikit memberikan hasil 
Membutuhkan waktu eksekusi paling lama 
Paling sedikit mendapatkan resource 
Prioritas terendah
Perbandingan Metode Penanganan Deadlock
Kasus Dining Philosopher 
1. Deskripsi Masalah 
2. Solusi Dengan Semaphore 
3. Solusi Dengan Monitor
Deskripsi Masalah Dining Philosophers 
1. Terdapat 5 ahli filsafat 
3. Setiap ahli filsafat membutuhkan 
2 garpu untuk makan spaghetti 
4. Ketika seluruh ahli filsafat makan 
bersamaan akan terjadiDEADLOCK 
5. Bagaimana agar tidak terjadi 
deadlock ketika ahli filsafat 
makan bersama? 
2. Terdapat meja makan bundar 
dengan 5 piring dan 5 garpu
Solusi untuk Dining Philosophers 
Sistem Operasi/20101103 #53 
Membeli 5 buah garpu tambahan 
Mengajari ahli filsafatmakan dengan satu garpu 
Ada pelayan yang bertugas menyuapi ahli filsafat 
Ada pelayan yang bertugas mengawasi ruangan, 
agar dalam satu waktu hanya ada 4 ahli filsafat yang makan 
Semaphore
Masalah Dining Philosophers (Semaphore) 
Mendapatkan garpu di tangan kanan 
Mendapatkan garpu di tangan kiri 
Melepaskan garpu di tangan kiri 
Melepaskan garpu di tangan kiri 
Critical 
section 
Memungkinkan terjadinya deadlock dan starvation
Masalah Dining Philosophers (Semaphore room) 
Terdapat semaphore untuk 
mengakses ruangan (room) 
untuk menjamin hanya 4 orang 
yang berada di ruang makan
Masalah Dining Philosophers (monitor) 
Cari Informasi implementasi monitor untuk permasalahan 
dining philosopher
Referensi 
[STA09] Stallings, William. 2009. Operating System: Internal and 
Design Principles. 6th edition. Prentice Hall

More Related Content

What's hot

Proses di Sistem Operasi
Proses di Sistem OperasiProses di Sistem Operasi
Proses di Sistem Operasieddie Ismantoe
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaDEDE IRYAWAN
 
Deadlock pada sistem operasi
Deadlock pada sistem operasiDeadlock pada sistem operasi
Deadlock pada sistem operasiAyu Arri Andanni
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerohohervin
 
Matematika Diskrit - 10 pohon - 04
Matematika Diskrit - 10 pohon - 04Matematika Diskrit - 10 pohon - 04
Matematika Diskrit - 10 pohon - 04KuliahKita
 
Matematika Diskrit - 10 pohon - 02
Matematika Diskrit - 10 pohon - 02Matematika Diskrit - 10 pohon - 02
Matematika Diskrit - 10 pohon - 02KuliahKita
 
Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)Tri Sugihartono
 
Cara kerja rangkaian up counter dan down counter
Cara kerja rangkaian up counter dan down counterCara kerja rangkaian up counter dan down counter
Cara kerja rangkaian up counter dan down counterPT.goLom na
 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLDejiko Chaem
 
Materi 2 Kompleksitas Waktu dan Ruang (2).pdf
Materi 2 Kompleksitas Waktu dan Ruang (2).pdfMateri 2 Kompleksitas Waktu dan Ruang (2).pdf
Materi 2 Kompleksitas Waktu dan Ruang (2).pdfAnandaPrasta
 
ALGORITMA MENARA HANOI MENGGUNAKAN FUNGSI REKURSIF
ALGORITMA MENARA HANOI MENGGUNAKAN FUNGSI REKURSIFALGORITMA MENARA HANOI MENGGUNAKAN FUNGSI REKURSIF
ALGORITMA MENARA HANOI MENGGUNAKAN FUNGSI REKURSIFcalonmayat
 
Bagan terstruktur
Bagan terstrukturBagan terstruktur
Bagan terstrukturiimpunya3
 
Teori bilangan
Teori bilanganTeori bilangan
Teori bilanganUjang Kbm
 

What's hot (20)

Deadlock
DeadlockDeadlock
Deadlock
 
Proses di Sistem Operasi
Proses di Sistem OperasiProses di Sistem Operasi
Proses di Sistem Operasi
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
 
Deadlock
DeadlockDeadlock
Deadlock
 
Efisiensi algoritma
Efisiensi algoritmaEfisiensi algoritma
Efisiensi algoritma
 
Deadlock pada sistem operasi
Deadlock pada sistem operasiDeadlock pada sistem operasi
Deadlock pada sistem operasi
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
 
Data Management (Relational Database)
Data Management (Relational Database)Data Management (Relational Database)
Data Management (Relational Database)
 
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
 
Matematika Diskrit - 10 pohon - 04
Matematika Diskrit - 10 pohon - 04Matematika Diskrit - 10 pohon - 04
Matematika Diskrit - 10 pohon - 04
 
Matematika Diskrit - 10 pohon - 02
Matematika Diskrit - 10 pohon - 02Matematika Diskrit - 10 pohon - 02
Matematika Diskrit - 10 pohon - 02
 
Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)
 
Cara kerja rangkaian up counter dan down counter
Cara kerja rangkaian up counter dan down counterCara kerja rangkaian up counter dan down counter
Cara kerja rangkaian up counter dan down counter
 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
 
Jawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihanJawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihan
 
Distribusi normal
Distribusi normalDistribusi normal
Distribusi normal
 
Materi 2 Kompleksitas Waktu dan Ruang (2).pdf
Materi 2 Kompleksitas Waktu dan Ruang (2).pdfMateri 2 Kompleksitas Waktu dan Ruang (2).pdf
Materi 2 Kompleksitas Waktu dan Ruang (2).pdf
 
ALGORITMA MENARA HANOI MENGGUNAKAN FUNGSI REKURSIF
ALGORITMA MENARA HANOI MENGGUNAKAN FUNGSI REKURSIFALGORITMA MENARA HANOI MENGGUNAKAN FUNGSI REKURSIF
ALGORITMA MENARA HANOI MENGGUNAKAN FUNGSI REKURSIF
 
Bagan terstruktur
Bagan terstrukturBagan terstruktur
Bagan terstruktur
 
Teori bilangan
Teori bilanganTeori bilangan
Teori bilangan
 

Similar to OPTIMAL-DEADLOCK

Similar to OPTIMAL-DEADLOCK (20)

MF427_10_172043.ppt
MF427_10_172043.pptMF427_10_172043.ppt
MF427_10_172043.ppt
 
Slide3 manajemen proses
Slide3 manajemen prosesSlide3 manajemen proses
Slide3 manajemen proses
 
7 deadlock uplod
7 deadlock uplod7 deadlock uplod
7 deadlock uplod
 
6.deadlockdan starvation
6.deadlockdan starvation6.deadlockdan starvation
6.deadlockdan starvation
 
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdfDeadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
 
Helen Alida Abilio - Deadlock
Helen Alida Abilio - DeadlockHelen Alida Abilio - Deadlock
Helen Alida Abilio - Deadlock
 
Deadlock rahmawati
Deadlock   rahmawatiDeadlock   rahmawati
Deadlock rahmawati
 
Os07
Os07Os07
Os07
 
Zulyanti Megasari - Deadlock
Zulyanti Megasari - DeadlockZulyanti Megasari - Deadlock
Zulyanti Megasari - Deadlock
 
Os ppt.7
Os ppt.7Os ppt.7
Os ppt.7
 
Pert.6 deadlock lanjutan
Pert.6 deadlock lanjutanPert.6 deadlock lanjutan
Pert.6 deadlock lanjutan
 
Taofik Hidayat Ilham - Deadlock
Taofik Hidayat Ilham - DeadlockTaofik Hidayat Ilham - Deadlock
Taofik Hidayat Ilham - Deadlock
 
Tugas terdistribusi
Tugas terdistribusiTugas terdistribusi
Tugas terdistribusi
 
Ferli Apriadi - Deadlock
Ferli Apriadi - DeadlockFerli Apriadi - Deadlock
Ferli Apriadi - Deadlock
 
Sri Handayani - Deadlock
Sri Handayani  - DeadlockSri Handayani  - Deadlock
Sri Handayani - Deadlock
 
Bernis Sagita - Deadlock
Bernis Sagita -  DeadlockBernis Sagita -  Deadlock
Bernis Sagita - Deadlock
 
Pertemuan 6 rev 310108_ok
Pertemuan 6 rev 310108_okPertemuan 6 rev 310108_ok
Pertemuan 6 rev 310108_ok
 
Yogie Saputra - Deadlock
Yogie Saputra - DeadlockYogie Saputra - Deadlock
Yogie Saputra - Deadlock
 
Yogie Saputra - Deadlock
Yogie Saputra - DeadlockYogie Saputra - Deadlock
Yogie Saputra - Deadlock
 
Santi Yuliana - Deadlock
Santi Yuliana - DeadlockSanti Yuliana - Deadlock
Santi Yuliana - Deadlock
 

Recently uploaded

Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)3HerisaSintia
 
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxIPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxErikaPuspita10
 
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxPPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxHeruFebrianto3
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Abdiera
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5KIKI TRISNA MUKTI
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdfShintaNovianti1
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxherisriwahyuni
 
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASaku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASreskosatrio1
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdfvebronialite32
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxsudianaade137
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDmawan5982
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxFuzaAnggriana
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxalalfardilah
 
demontrasi kontekstual modul 1.2.a. 6.pdf
demontrasi kontekstual modul 1.2.a. 6.pdfdemontrasi kontekstual modul 1.2.a. 6.pdf
demontrasi kontekstual modul 1.2.a. 6.pdfIndri117648
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisNazla aulia
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxnerow98
 
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxKONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxawaldarmawan3
 

Recently uploaded (20)

Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)
 
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxIPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
 
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxPPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
 
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASaku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdf
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SD
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
 
demontrasi kontekstual modul 1.2.a. 6.pdf
demontrasi kontekstual modul 1.2.a. 6.pdfdemontrasi kontekstual modul 1.2.a. 6.pdf
demontrasi kontekstual modul 1.2.a. 6.pdf
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara Inggris
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
 
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxKONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
 

OPTIMAL-DEADLOCK

  • 1. Pertemuan 8 & 9 Konkurensi: Deadlock & Starvation TIM DOSEN PENGAMPU SISTEM OPERASI Sarjana Teknik Informatika Fakultas Informatika SISTEM OPERASI
  • 2. Daftar Isi 1. Prinsip Prinsip Deadlock 2. Deadlock Prevention 3. Deadlock Avoidance 4. Deadlock Detection 5. Perbandingan Metode Penanganan Deadlock 6. Kasus Dinning Philosopher
  • 3. Prinsip Prinsip Deadlock 1. Definisi dan Konsep Deadlock 2. Joint Progress Diagram (JPD) 3. Reusable Resources 4. Consumable Resources 5. Resource Allocation Graphs (RAG) 6. Kondisi Deadlock
  • 4. Definisi dan Konsep Deadlock Deadlock adalah kondisi dimana sejumlah proses ter-blok secara permanen akibat saling memperebutkan atau saling menunggu pesan / resource Definisi Solusi Tidak ada solusi yang efisien Deadlock prevention Deadlock avoidance Deadlock detection
  • 5. Contoh Analogi Deadlock Deadlock Possible Deadlock
  • 6. Contoh Deadlock P1 P2 Perlu Ra dan Rb untuk dieksekusi Perlu Rb dan Ra untuk dieksekusi get b get a get a get b Ra Rb Deadlock!!
  • 8. Solusi Joint Progress Diagram Contoh Solusi Proses P1 dan P2 tidak menggunakan resource pada saat yang bersamaan P1 P2 Get Ra Get Rb Get Ra Release Ra Release Rb Get Rb Release Ra Get Ra
  • 9. Solusi Joint Progress Diagram (Simulasi) P1 P2 get b get a release b release a get a get b release a release b Ra Rb
  • 11. Reusable Resources Definisi Contoh merupakan resource yang hanya dapat digunakan oleh satu proses saja dalam satu waktu dan tidak pernah habis (selalu tersedia) Processor I/O Channel Memory Device Data Structure File, database, etc Semaphore Kasus Deadlock Dua proses berebutmenggunakan hardisk atau berebut menggunakan ruang memori
  • 12. Contoh Deadlock pada Reusable Resources (1) P1 P2 Deadlock Eksekusi interleave
  • 13. Contoh Deadlock pada Reusable Resources (2) Main Memory (200 KB) 20 KB 20 KB 20 KB 20 KB 20 KB 20 KB 20 KB 20 KB 20 KB 20 KB P1 ... Request 80 KB ... Request 60 KB P2 ... Request 70 KB ... Request 80 KB Blocked kurang 10 KB Blocked kurang 30 KB Deadlock
  • 14. Consumable Resources Definisi Contoh Merupakan resource yang dapat dibuat (produced) dan dihancurkan (destroyed) berulang-ulang Interrupt Signal message informasi yang terletak di dalam buffer I/O Kasus Deadlock Dua proses atau lebih saling menunggu pesan Sumber deadlock, salah satunya kesalahan perancangan
  • 15. Contoh Deadlock pada Consumable Resources P1 ... Receive (P2) ... Send(P2, M) P2 ... Receive (P1) ... Send(P1, M) waiting Deadlock waiting
  • 16. Resource Allocation Graphs (RAG) Resource Allocation Graphs (RAG) merupakan grafik berarah yang menggambarkan status resource dan proses dimana setiap proses dan setiap resource digambarkan dengan node Definisi Grafik Proses Meminta Resource P • Ra Proses Memegang Resource P • Ra
  • 17. Representasi Deadlock dengan Resource Allocation Graphs (RAG) Ra P1 P2 Ra Circular Wait Ra P1 P2 Ra No Deadlock
  • 18. Kondisi Yang Menyebabkan Deadlock (1) Mutual Exclusion Hold and Wait Sebuah resource hanya boleh digunakan oleh sebuah proses dalam satu waktu Kondisi ini memungkinkan deadlock Sebuah proses boleh terus menerus menggunakan sebuah resource sambil menunggu resource yang lain Kondisi ini memungkinkan deadlock No Preemption Resource yang sedang digunakan oleh suatu proses tidak boleh direbut, Proses tersebut tidak bisa disela (preempted) Kondisi ini memungkinkan deadlock
  • 19. Kondisi Yang Menyebabkan Deadlock (2) Bila ketiga kondisi tersebut terdapat di dalamsebuah komputer apakah pasti terjadi deadlock ? Merupakan rangkaian beberapa proses dan resource yang membentuk sebuah cincin dimana setiap proses sedang menggunakan minimal sebuah resource yang juga sedang dibutuhkan oleh proses di dekatnya Ra P1 P2 Ra Belum tentu, kondisi yang memastikan terjadinya Deadlock adalah ? Circular Wait
  • 20. Kondisi Yang Menyebabkan Deadlock (3) U P1 P4 P3 P2 P1 P2 R1 R1 R2 R3 R4 P3 P4 R2 R3 R4
  • 21. Strategi Penanganan Deadlock Deadlock Prevention Menghilangkan salah satu kondisi atau lebih yang memungkinkan terjadinya deadlock Pada saat perancangan program DeadlockAvoidance Dilakukan pemilihan langkah yang dinamis untuk mencegah terjadinya deadlock berdasarkan alokasi resource saat itu Pada saat eksekusi program Deadlock Detection Mendeteksi adanya kondisi yang memungkinkan deadlock dan circular wait, kemudian melakukan langkah-langkah penanganan Pada saat eksekusi program
  • 22. Deadlock Prevention 1. Definisi dan Konsep Deadlock Prevention 2. Indirect Method 3. Direct Method
  • 23. Definisi dan Konsep Deadlock Prevention Definisi Indirect Method Pada saat perancangan menghilangkan salah satu kondisi atau lebih yang memungkinkan terjadinya deadlock Sebisa mungkin tidak menggunakan kondisi yang memungkinkan deadlock berikut ini secara bersamaan (mutual exclusion, hold and wait, dan no preemption) Direct Method Mencegah terjadinya kondisi circular wait
  • 24. Indirect Method Mutual Exclusion Hold & Wait No Preemption Tidak bisa dihilangkan, jika terdapat resource yang harus diproteksi Harus disediakan oleh sistem operasi setiap proses yang membutuhkan resource akan ter-blok dan baru dapat dieksekusi jika semua resource yang diperlukan telah tersedia Tidak efisien, • Menunggu terlalu lama • Mengeklaim resource yang belum tentu dibutuhkan • Tidak mengetahui resource • Harus mengetahui semua resource Solusi 1: tetap boleh no preemption Proses yang sedang menggunakan sebuah resource tidak boleh menggunakan resource yang lain sebelum resource pertama dilepaskan Solusi 2: Preemption Sistem operasi dapat menyela (preempt) proses yang sedang running sehingga resource yang sedang digunakannya dapat diberikan kepada proses lain Syarat: prioritas proses harus berbeda
  • 25. Direct Method Mekanisme Contoh Mencegah terjadinya kondisi circular wait, Setiap resource diberi nomor indeks yang terurut secara linier dan penggunaannya harus urut sesuai nomor indeksnya. Proses A membutuhkan resoure Ri kemudian resource Rj, karena i < j, maka program tersebut benar. Jika program pada proses B terdapat baris program yang membutuhkan resource Rj diikuti dengan resource Ri bisa terjadi deadlock. Kesalahan ada pada proses B karena j > i, seharusnya i < j. Kekurangan Tidak efisien, lambat. Terdapat resource yang sedang tidak digunakan tetapi tidak dapat dipakai
  • 26. Deadlock Avoidance 1. Konsep DeadlockAvoidance 2. Prosess Initiation Denial 3. Resources Allocation Denial 4. Kelebihan dan Kekurangan
  • 27. Konsep Deadlock Avoidance Konsep Tidak mempertimbangkan ketiga kondisi yang memungkinkan terjadinya deadlock Langkah-langkah 1. Cari informasi kebutuhan resource untuk setiap proses 2. Block proses yang menyebabkan deadlock 3. Jangan berikan resource baru kepada proses yang menyebabkan deadlock Mekanisme Process Initiation Denial Resource Allocation Denial
  • 28. Process Initiation Denial (Konsep) P1 P2 P3 P4 Pn = Σ 푃 R1 . . . . . . R2 R3 Rm . . . . . . = Σ 푅 = Σ 푉
  • 29. Process Initiation Denial (Claim Resource) Daftar Claim Resource = C = C11 C21 Cn1 C33 C43 Cn3 m m C C  C 11 12 1 C C  C 21 22 2     C C C n n nm Claim C  1 2   Claimproses ke n terhadap resource ke m
  • 30. Process Initiation Denial (Daftar Alokasi Resource) Daftar Alocation Resource A = A11 A21 An1 A33 A43 An3 m m A A  A 11 12 1 A A  A 21 22 2     A A A n n nm Allocation A  1 2   Alokasi resource ke m terhadap proses ke n
  • 31. Process Initiation Denial (Aturan)  Rumusan dan aturan R  V  A j j ij n i 1 untuk semua j ij j C  R untuk semua i,j ij ij A  C untuk semua i,j
  • 32. Process Initiation Denial (Claim Proses Baru) Proses baru (Pn+1) dapat dieksekusi jika kondisi berikut terpenuhi: untuk semua j 푅푗 ≥ + 퐶푖푗 jumlah resource yang diklaim oleh proses baru jumlah resource yang telah diklaim oleh proses-proses sebelumnya 퐶 푛+1 푗 푛 푖=1
  • 33. Resource Allocation Denial (konsep) Menggunakan algoritma banker (seperti model peminjaman uang pada bank) State (status) Sistem Safe State Unsafe State alokasi sejumlah resource kepada suatu proses saat ini kondisi dimana setiap saat setidaknya terdapat sebuah proses yang dapat dieksekusi, sehingga seluruh proses dapat dieksekusi hingga selesai kondisi dimana semua proses tidak dapat dieksekusi (deadlock)
  • 34. Resource Allocation Denial (Contoh kasus – Initial State) R1 R2 R3 P1 3 2 2 P2 6 1 3 P3 3 1 4 P4 4 2 2 Initial State R1 R2 R3 P1 1 0 0 P2 6 1 2 P3 2 1 1 P4 0 0 2 Resource tersedia R1 R2 R3 P1 2 2 2 P2 0 0 1 P3 1 0 3 P4 4 2 0 R1 R2 R3 9 3 6 R1 R2 R3 0 1 1 Total resource Daftar Claim (C) Daftar Alokasi (A) Kekurangan = C-A
  • 35. Resource Allocation Denial (Contoh kasus – Execution State) R1 R2 R3 P1 3 2 2 P2 6 1 3 P3 3 1 4 P4 4 2 2 R1 R2 R3 P1 1 0 0 P2 6 1 2 P3 2 1 1 P4 0 0 2 Resource tersedia - P1 terblok P2 tidak terblok R1 R2 R3 P1 2 2 2 P2 0 0 1 P3 1 0 3 P4 4 2 0 R1 R2 R3 9 3 6 R1 R2 R3 0 1 1 Total resource Daftar Claim (C) Daftar Alokasi (A) Kekurangan = C-A
  • 36. Resource Allocation Denial (Contoh kasus – Execution State (1)) Proses Resource Jumlah resource yang tersedia setelah proses selesai dieksekusi Vt+1 =Vt+C R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 No P1 3 2 2 1 0 0 2 2 2 0 1 1 -2 -1 -1 Blocked 1 0 0 6 2 3 P2 6 1 3 6 1 2 0 0 1 0 1 1 0 1 0 Pilih 6 1 3 6 2 3 P3 3 1 4 2 1 1 1 0 3 0 1 1 -1 1 -2 Blocked 2 1 1 6 2 3 P4 4 2 2 0 0 2 4 2 0 0 1 1 -4 -1 1 Blocked 0 0 2 6 2 3 P1 3 2 2 1 0 0 2 2 2 6 2 3 4 0 1 Pilih 3 2 2 7 2 3 P2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Selesai 0 0 0 0 0 0 P3 3 1 4 2 1 1 1 0 3 6 2 3 5 2 0 Blocked 2 1 1 7 2 3 P4 4 2 2 0 0 2 4 2 0 6 2 3 2 0 3 Blocked 0 0 2 7 2 3 ResourceTotal Ekse kusi 1 2 Status Akhir Avalaible Resource (Vt+1) Status Claim (C) Alokasi (A) C-A (K) Avalaible (Vt) V-K Proses Status Akhir Alokasi Proses R1 R2 R3 9 3 6 Kebutuhan resource Proses yang harus dipenuhi untuk dapat dieksekusi Jumlah Resource yang sudah dimiliki/dipegang oleh proses Jumlah resource yang harus didapatkan agar memenuhi Claim (C) Jumlah resource yang tidak dipegang proses Proses terpilih karena kebutuhan resource dapat dipenuhi oleh resource yang tersedia Jumlah resource yang dimiliki oleh proses yang terpilih/dieksekusi Pada eksekusi ke 2 P2 sudah selesai dieksekusi Jumlah resource yang tersedia pada eksekusi ke 2 diupdate sesuai dengan status akhir avalaible resource (Vt+1) P1 dipilih sesuai dengan waktu kedatangan
  • 37. Resource Allocation Denial (Contoh kasus – Execution State (2)) Status Proses Status Akhir Alokasi Proses Status Akhir Avalaible Resource Claim (C) Alokasi (A) C-A (K) Avalaible (Vt) V-K No (Vt+1) R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 P1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Selesai 0 0 0 0 0 0 P2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Selesai 0 0 0 0 0 0 P3 3 1 4 2 1 1 1 0 3 7 2 3 6 2 0 Pilih 3 1 4 9 3 4 P4 4 2 2 0 0 2 4 2 0 7 2 3 3 0 3 Blocked 0 0 2 9 3 4 P1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Selesai 0 0 0 0 0 0 P2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Selesai 0 0 0 0 0 0 P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Selesai 0 0 0 0 0 0 P4 4 2 2 0 0 2 4 2 0 9 3 4 5 1 4 Pilih 4 2 2 9 3 6 Ekse kusi 3 4 Proses Resource ResourceTotal Jumlah resource akhir avalaible R1 R2 R3 9 3 6 resource HARUS SAMA dengan Total Resource
  • 38. Resource Allocation Denial (Contoh kasus – Execution State (1)) Proses Resource R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 R1 R2 R3 No P1 3 2 2 2 0 1 1 2 1 0 1 1 -1 -1 0 Blocked 1 0 0 6 2 3 P2 6 1 3 5 1 1 1 0 2 0 1 1 -1 1 -1 Blocked 5 1 1 4 2 0 P3 3 1 4 2 1 1 1 0 3 0 1 1 -1 1 -2 Blocked 2 1 1 6 2 3 P4 4 2 2 0 0 2 4 2 0 0 1 1 -4 -1 1 Blocked 0 0 2 6 2 3 Ekse kusi 1 Status Akhir Avalaible Resource (Vt+1) Status Claim (C) Alokasi (A) C-A (K) Avalaible (Vt) V-K Proses Status Akhir Alokasi Proses ResourceTotal Permintaan proses terhadap R1 R2 R3 9 3 6 resource (C-K) lebih besar dibandingkan resource yang tersedia (Vt)
  • 39. Contoh Algoritma Deadlock Avoidance Proses meminta resource Resource alloc algoritm Banker algorithm Valid? Resource yang tersedia cukup? blocked Berikan resource dan perbaharui data Permintaan safe error valid Tidak valid cukup Tidak cukup Tidak safe safe IF alloc [i, *] + request [*] > claim[i, *] THEN error IF request [*] > claim[i, *] THEN blocked IF claim[k, *] – alloc [k, *] <= currentavail THEN safe
  • 40. Contoh Algoritma Deadlock Avoidance (Global Data Structure) Global Data Structure
  • 41. Contoh Algoritma Deadlock Avoidance (Resource Allocation Algorithm) Sistem Operasi/20101103 #41 Resource allocation algoritm Cek valid atau tidak? Cek resource cukup atau tidak? Cek kondisi safe atau tidak
  • 42. Contoh Algoritma Deadlock Avoidance (Banker Algorithm) Pengecekkan kondisi safe atau tidak?
  • 43. Kelebihan dan Kekurangan Deadlock Avoidance Kelebihan Kekurangan (+) Tidak perlu mem-preempt dan mengembalikan data konteks suatu proses (+) Lebih fleksibel dibanding metode deadlock prevention (-) Jumlah kebutuhan resource maksimum setiap proses harus sudah diketahui di awal (-) Urutan eksekusi proses tidak dapat ditentukan dengan aturan tertentu (-) Jumlah resource yang dialokasikan ke suatu proses bersifat tetap (tidak boleh berubah) (-) Proses tidak boleh keluar (exit) selamamasihmemegang resource
  • 44. Deadlock Detection 1. Mekanisme Deadlock Detection 2. Algoritma Deadlock Detection 3. Contoh Deadlock Detection 4. Solusi Jika Terjadi Deadlock
  • 45. Mekanisme Deadlock Detection Setiap Proses boleh meminta resource selama resource masih tersedia Setiap periodik Sistem Operasi menjalankan algoritma untuk mendeteksi deadlock Proses-proses yang tidak menyebabkan deadlock akan diberikan tanda (mark) Menggunakan matrik Alokasi (A), Vektor Avalaible (V), Vektor Resource (R) Menggunakan matrik request (Q), berisi daftar resource yang diminta oleh Proses
  • 46. Algoritma Deadlock Detection Beri tanda (mark) proses yang nilai alokasi (A) = 0. Inisialisasi temporari vektor W dengan nilai vektor alokasi (A). W = A Cari proses ke i yang belum diberi tanda. Bandingkan nilai request proses tersebut (Q) dengan vektor W. 푄푖푗 ≤ 푊푘 , untuk 1 ≤ k ≤ m. Jika tidak ditemukan, terminasi algoritma Jika nilai Q ≤ W, beri tanda proses tersebut. Tambahkan alokasi (A) ke W Sistem Operasi/20101103 #46 푊푘 = 푊푘 + 퐴푖푘 Lanjutkan pencarian hingga seluruh proses diperiksa.
  • 47. Contoh Deadlock Detection Sistem Operasi/20101103 #47 1. Beri tanda (mark) P4. 2. Inisialisasi temporari vektor W dengan nilai vektor alokasi (A). W = (0 0 0 0 1) 3. P1 dan P2 tidak diberi tanda, karena 푄푖푗 > 푊푘 . Terminasi algoritma. Deadlock terdeteksi
  • 48. Solusi Jika Terjadi Deadlock Sistem Operasi/20101103 #48 Batalkan (kill) semua proses yang mengalami deadlock Kembalikan status proses tersebut ke status checkpoint yang telah dibuat sebelumnya (sebelum terjadi deadlock) Restart proses tersebut Satu per satu batalkan proses lain yang mengalami deadlock hingga tidak ada lagi proses yang deadlock Satu per satu ambil (preempt) resource dari proses yang mengalami deadlock hingga deadlock tidak terjadi lagi
  • 49. Solusi Jika Terjadi Deadlock (pemilihan proses yang dibatalkan) Sistem Operasi/20101103 #49 Biaya proses yang paling murah Paling sedikit menggunakan waktu prosesor Paling sedikit memberikan hasil Membutuhkan waktu eksekusi paling lama Paling sedikit mendapatkan resource Prioritas terendah
  • 51. Kasus Dining Philosopher 1. Deskripsi Masalah 2. Solusi Dengan Semaphore 3. Solusi Dengan Monitor
  • 52. Deskripsi Masalah Dining Philosophers 1. Terdapat 5 ahli filsafat 3. Setiap ahli filsafat membutuhkan 2 garpu untuk makan spaghetti 4. Ketika seluruh ahli filsafat makan bersamaan akan terjadiDEADLOCK 5. Bagaimana agar tidak terjadi deadlock ketika ahli filsafat makan bersama? 2. Terdapat meja makan bundar dengan 5 piring dan 5 garpu
  • 53. Solusi untuk Dining Philosophers Sistem Operasi/20101103 #53 Membeli 5 buah garpu tambahan Mengajari ahli filsafatmakan dengan satu garpu Ada pelayan yang bertugas menyuapi ahli filsafat Ada pelayan yang bertugas mengawasi ruangan, agar dalam satu waktu hanya ada 4 ahli filsafat yang makan Semaphore
  • 54. Masalah Dining Philosophers (Semaphore) Mendapatkan garpu di tangan kanan Mendapatkan garpu di tangan kiri Melepaskan garpu di tangan kiri Melepaskan garpu di tangan kiri Critical section Memungkinkan terjadinya deadlock dan starvation
  • 55. Masalah Dining Philosophers (Semaphore room) Terdapat semaphore untuk mengakses ruangan (room) untuk menjamin hanya 4 orang yang berada di ruang makan
  • 56. Masalah Dining Philosophers (monitor) Cari Informasi implementasi monitor untuk permasalahan dining philosopher
  • 57. Referensi [STA09] Stallings, William. 2009. Operating System: Internal and Design Principles. 6th edition. Prentice Hall