SlideShare a Scribd company logo
1 of 5
Download to read offline
MODUL S.O – DEADLOCK
TUJUAN
 Menjelaskan perbedaan antara starvation dan deadlock
 Menyebutkan kondisi-kondisi penyebab deadlock
 Menjelaskan mekanisme mencegah dan menghadapi deadlock
MASALAH PADA CONCURRENCY
MASALAH STARVATION
 Sebuah keadaan yang dapat mengakibatkan thread tidak dieksekusi
 Satu atau lebih thread menunggu dalam ketidaktentuan
contoh starvation
 Real World : Meninggu pada saat standby untuk sebuah penerbangan
 S.O: Thread dengan prioritas rendah menunggu untuk menggunakan/mengakses resource yang
sedang digunakan secara konstan oleh thread berprioritas tinggi.
MASALAH LIVELOCK
 Sebuah keadaan yang mengakibatkan semua thread melakukan sesuatu tanpa akhir, tanpa
melakukan progress apapun.
 Contoh : out of memory , tetapi multiple thread terus mencoba mendapatkan alokasi
MASALAH DEADLOCK
 Sebuah keadaan yang mengakibatkan semua thread stuck, sehingga tidak dapat dilakukan apapun
 Semua thread mmenunggu selamanya
 Deadlock terjadi di antara sebuah kumpulan thread bila :
o Setiap thread pada kumpulan tersebut menunggu sebuah event (utk mendapatkan akses ke
resource atau melepaskan resource)
o Event ini hanya dapat dilakukan oleh thread lain dalam kumpulan tersebut
 Contoh :
o Real Word : Gridlock pada lalulintas
o S.O :
 Thread 1 me –lock Resource A menunggu resource B
 Thread 2 me-lock Resource B menunggu Resource A
STARVATION VS DEADLOCK
 Key Idea :
 Deadlock => starvation (tapi tidak sebaliknya)
 Penyelesaian :
o Starvation : dapat berakhir ( tapi tidak harus)
o Deadlock : tidak dapat diakhiri kecuali dengan intervensi eksternal
KONDISI PENYEBAB DEADLOCK
1. Mutual Exclusion : paling sedikit satu proses menggunakan resource yang tidak boleh dishare
2. Hold and wait : ada sebuah proses yang menggunakan (holding) sebuah resource sambil menunggu
resource lainnya
3. No preemption : Resource tidak boleh di preempt ( dikuasai/direbut)
4. Circular Wait : Ada sekumpulan proses {P1, P2, ..PN} sedemikian sehingga P1 menunggu P2, P2
menunggu P3, ..dan PN menunggu P1.
Ke empat kondisi ini harus terpenuhi untuk menyebabkan deadlock terjadi
CONTOH DEADLOCK
Bagaimana keempat kondisi yang menyebabkan lock terjadi pada contoh di atas?
1. Mutual Exclusion : terjadi pd contoh di atas, krn kedua thread melakukan lock. Lock menghasilkan
mutual exclusion
2. Hold and wait : thread 1 dan 2 menginginkan untuk melock sebuah resource tertentu dan dalam
waktu yang sama tetap menahan (me-lock) re source lainnya.
3. No preemption : tidak ada satu halpun yang dapat memaksa thread 1 dan 2 untuk melepaskan lock
nya
4. Circular wait : thread 1 menunggu/memembutuhkan apa yang di lock oleh thread 2 dan thread 2
menunggu/membutuhkan apa yang dilock oleh thread 1.
MENGHADAPI DEADLOCK
MENGHADAPI DEADLOCK : IGNORE
 Berpura-pura deadlock tidak akan terjadi
 Ternyata pendekatan yang paling umum
MENGHADAPI DEADLOCK : REACTIVE
 Secara periodeik mengecek bukti deadlock
o Dengan timeout: bila sampai batas waktu tertentu tidak terjadi apa apa berarti kemungkinan
terjadi deadlock dan SO harus melakukan sesuatu utk menghadapinya
 Recover
o Blue screen dan reboot komputer
o Memilih thread yang akan di-terminate
 Hanya mungkin dilakukan pada beberapa aplikasi (yang tidak kritikal)
 Thread harus di clean up ketika di terminate
 Thread biasanya akan diulangi dari awal
o Memecahkan kondisi preemption
 Biasanya pada database.
MENGHADAPI DEADLOCK : PROACTIVE
 Mencegah salah 1 dari 4 kondisi yang mengakibatkan deadlock
 Tidak ada pendekatan tunggal yang sesuai untuk semua situasi
o Perlu teknik untuk tiap 4 kondisi
MENCEGAH DEADLOCK : NO MUTUAL EXCLUSION
 Membuat resource bisa dishare (dengan batasan batasan tertentu)  ‘Jangan pelit!’
 Contoh : read-only file
 Contoh : Alih alih memakai variabel global, digunakan variabel untuk tiap thread  counter untuk
tiap thread (bukan counter global)
MENCOBA MEMPERBAIKI DEADDLOCK
 Sample Deadlock :
Bagaimana memperbaikinya?
MENCEGAH DEADLOCK : NO HOLD AND WAIT
 Hanya meminta resource bila sedang tidak ‘mengenggam’ resource yang lain (Jangan serakah!);
lepaskan resource yang sedang ‘digenggam’ sebelum minta resource yang lain
 Contoh :
MENCEGAH DEADLOCK : PREEMPTION
 Memaksa penyerahan resource (preempt resource)
 Contoh :
o Bila Thread A menunggu resource yang ditahan oleh Thread B, maka ambil resource tersebut
dari B dan berikan ke A
 Problem :
o Hanya dapat berlaku untk beberapa resource ( ct CPU dan memori)
o Tidak mungkin berlaku bila resource tidak bisa disimpan dan direstore.
MENCEGAH DEADLOCK : NO CIRCULAR WAIT
 Terapkan pengaturan/urutan pada resource.
o Berikan semua resource sebuah ranking; ranking tertinggi mendapat akses resource  Lock
Hierarchy
KUIS
1. Sebutkan contoh starvation dan deadlock (bila perlu gambarkan) dalam kehidupan sehari hari (selain
dari contoh di modul ini)
2. Jelaskan cara cara menghadapi/mencegah deadlock.

More Related Content

More from DEDE IRYAWAN

APPLIED DATABASE III - Slide Arsitektur Data Mining
APPLIED DATABASE III - Slide Arsitektur Data MiningAPPLIED DATABASE III - Slide Arsitektur Data Mining
APPLIED DATABASE III - Slide Arsitektur Data MiningDEDE IRYAWAN
 
APPLIED DATABASE III - Modul Data Preprocessing
APPLIED DATABASE III - Modul Data PreprocessingAPPLIED DATABASE III - Modul Data Preprocessing
APPLIED DATABASE III - Modul Data PreprocessingDEDE IRYAWAN
 
Riset Teknologi Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...
Riset Teknologi  Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...Riset Teknologi  Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...
Riset Teknologi Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...DEDE IRYAWAN
 
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEKMANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEKDEDE IRYAWAN
 
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEKMANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEKDEDE IRYAWAN
 
TOEFL Exercise 22 Slide
TOEFL Exercise 22 SlideTOEFL Exercise 22 Slide
TOEFL Exercise 22 SlideDEDE IRYAWAN
 
TOEFL Exercise 17 - Listen for IDIOMS
TOEFL Exercise 17 - Listen for IDIOMSTOEFL Exercise 17 - Listen for IDIOMS
TOEFL Exercise 17 - Listen for IDIOMSDEDE IRYAWAN
 
TOEFL EXERCISE 15 - UNTRUE CONDITION
TOEFL EXERCISE 15 - UNTRUE CONDITIONTOEFL EXERCISE 15 - UNTRUE CONDITION
TOEFL EXERCISE 15 - UNTRUE CONDITIONDEDE IRYAWAN
 
TOEFL EXERCISE 14 - Listen for WISHES
TOEFL EXERCISE 14 - Listen for  WISHESTOEFL EXERCISE 14 - Listen for  WISHES
TOEFL EXERCISE 14 - Listen for WISHESDEDE IRYAWAN
 
TOEFL Exercise 13 - Emphatic Expression of SURPRISE
TOEFL Exercise 13 - Emphatic Expression of SURPRISETOEFL Exercise 13 - Emphatic Expression of SURPRISE
TOEFL Exercise 13 - Emphatic Expression of SURPRISEDEDE IRYAWAN
 
TOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTION
TOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTIONTOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTION
TOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTIONDEDE IRYAWAN
 
TOEFL Exercise 11 - Expression of AGREEMENT
TOEFL Exercise 11 - Expression of AGREEMENTTOEFL Exercise 11 - Expression of AGREEMENT
TOEFL Exercise 11 - Expression of AGREEMENTDEDE IRYAWAN
 
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVE
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVETOEFL Exercise 10 - NEGATIVE WITH COMPARATIVE
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVEDEDE IRYAWAN
 
TOEFL Exercise 9 - “ALMOST NEGATIVE” Expression
TOEFL Exercise 9 - “ALMOST NEGATIVE” ExpressionTOEFL Exercise 9 - “ALMOST NEGATIVE” Expression
TOEFL Exercise 9 - “ALMOST NEGATIVE” ExpressionDEDE IRYAWAN
 
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONS
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONSTOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONS
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONSDEDE IRYAWAN
 
TOEFL Exercise 7 - NEGATIVE EXPRESSION
TOEFL Exercise 7 - NEGATIVE EXPRESSIONTOEFL Exercise 7 - NEGATIVE EXPRESSION
TOEFL Exercise 7 - NEGATIVE EXPRESSIONDEDE IRYAWAN
 
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDS
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDSTOEFL EXERCISE 3 - AVOID SIMILAR SOUNDS
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDSDEDE IRYAWAN
 
TOEFL EXERCISE 1 - FOCUS ON THE SECOND LINE
TOEFL EXERCISE 1 - FOCUS ON THE SECOND LINETOEFL EXERCISE 1 - FOCUS ON THE SECOND LINE
TOEFL EXERCISE 1 - FOCUS ON THE SECOND LINEDEDE IRYAWAN
 
English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...
English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...
English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...DEDE IRYAWAN
 
Kapita Selekta Applied Database : Slide 5 - Desain Penelitian
Kapita Selekta Applied Database : Slide 5 - Desain PenelitianKapita Selekta Applied Database : Slide 5 - Desain Penelitian
Kapita Selekta Applied Database : Slide 5 - Desain PenelitianDEDE IRYAWAN
 

More from DEDE IRYAWAN (20)

APPLIED DATABASE III - Slide Arsitektur Data Mining
APPLIED DATABASE III - Slide Arsitektur Data MiningAPPLIED DATABASE III - Slide Arsitektur Data Mining
APPLIED DATABASE III - Slide Arsitektur Data Mining
 
APPLIED DATABASE III - Modul Data Preprocessing
APPLIED DATABASE III - Modul Data PreprocessingAPPLIED DATABASE III - Modul Data Preprocessing
APPLIED DATABASE III - Modul Data Preprocessing
 
Riset Teknologi Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...
Riset Teknologi  Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...Riset Teknologi  Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...
Riset Teknologi Informasi - Modul 6 - Judul, Baris Kepemilikan, Abstrak, dan...
 
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEKMANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 6 - MANAJEMEN BIAYA PROYEK
 
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEKMANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEK
MANAJEMEN PROYEK PERANGKAT LUNAK - Modul 5 - MANAJEMEN WAKTU PROYEK
 
TOEFL Exercise 22 Slide
TOEFL Exercise 22 SlideTOEFL Exercise 22 Slide
TOEFL Exercise 22 Slide
 
TOEFL Exercise 17 - Listen for IDIOMS
TOEFL Exercise 17 - Listen for IDIOMSTOEFL Exercise 17 - Listen for IDIOMS
TOEFL Exercise 17 - Listen for IDIOMS
 
TOEFL EXERCISE 15 - UNTRUE CONDITION
TOEFL EXERCISE 15 - UNTRUE CONDITIONTOEFL EXERCISE 15 - UNTRUE CONDITION
TOEFL EXERCISE 15 - UNTRUE CONDITION
 
TOEFL EXERCISE 14 - Listen for WISHES
TOEFL EXERCISE 14 - Listen for  WISHESTOEFL EXERCISE 14 - Listen for  WISHES
TOEFL EXERCISE 14 - Listen for WISHES
 
TOEFL Exercise 13 - Emphatic Expression of SURPRISE
TOEFL Exercise 13 - Emphatic Expression of SURPRISETOEFL Exercise 13 - Emphatic Expression of SURPRISE
TOEFL Exercise 13 - Emphatic Expression of SURPRISE
 
TOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTION
TOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTIONTOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTION
TOEFL Exercise 12 - Expression of UNCERTAINITY and SUGGESTION
 
TOEFL Exercise 11 - Expression of AGREEMENT
TOEFL Exercise 11 - Expression of AGREEMENTTOEFL Exercise 11 - Expression of AGREEMENT
TOEFL Exercise 11 - Expression of AGREEMENT
 
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVE
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVETOEFL Exercise 10 - NEGATIVE WITH COMPARATIVE
TOEFL Exercise 10 - NEGATIVE WITH COMPARATIVE
 
TOEFL Exercise 9 - “ALMOST NEGATIVE” Expression
TOEFL Exercise 9 - “ALMOST NEGATIVE” ExpressionTOEFL Exercise 9 - “ALMOST NEGATIVE” Expression
TOEFL Exercise 9 - “ALMOST NEGATIVE” Expression
 
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONS
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONSTOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONS
TOEFL EXERCISE 8 - DOUBLE NEGATIVE EXPRESSIONS
 
TOEFL Exercise 7 - NEGATIVE EXPRESSION
TOEFL Exercise 7 - NEGATIVE EXPRESSIONTOEFL Exercise 7 - NEGATIVE EXPRESSION
TOEFL Exercise 7 - NEGATIVE EXPRESSION
 
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDS
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDSTOEFL EXERCISE 3 - AVOID SIMILAR SOUNDS
TOEFL EXERCISE 3 - AVOID SIMILAR SOUNDS
 
TOEFL EXERCISE 1 - FOCUS ON THE SECOND LINE
TOEFL EXERCISE 1 - FOCUS ON THE SECOND LINETOEFL EXERCISE 1 - FOCUS ON THE SECOND LINE
TOEFL EXERCISE 1 - FOCUS ON THE SECOND LINE
 
English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...
English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...
English for Proficiency Certification (EPC) - Modul 2 - Further Exercises and...
 
Kapita Selekta Applied Database : Slide 5 - Desain Penelitian
Kapita Selekta Applied Database : Slide 5 - Desain PenelitianKapita Selekta Applied Database : Slide 5 - Desain Penelitian
Kapita Selekta Applied Database : Slide 5 - Desain Penelitian
 

Modul Sistem Operasi Deadlock

  • 1. MODUL S.O – DEADLOCK TUJUAN  Menjelaskan perbedaan antara starvation dan deadlock  Menyebutkan kondisi-kondisi penyebab deadlock  Menjelaskan mekanisme mencegah dan menghadapi deadlock MASALAH PADA CONCURRENCY MASALAH STARVATION  Sebuah keadaan yang dapat mengakibatkan thread tidak dieksekusi  Satu atau lebih thread menunggu dalam ketidaktentuan contoh starvation  Real World : Meninggu pada saat standby untuk sebuah penerbangan  S.O: Thread dengan prioritas rendah menunggu untuk menggunakan/mengakses resource yang sedang digunakan secara konstan oleh thread berprioritas tinggi. MASALAH LIVELOCK  Sebuah keadaan yang mengakibatkan semua thread melakukan sesuatu tanpa akhir, tanpa melakukan progress apapun.  Contoh : out of memory , tetapi multiple thread terus mencoba mendapatkan alokasi MASALAH DEADLOCK  Sebuah keadaan yang mengakibatkan semua thread stuck, sehingga tidak dapat dilakukan apapun  Semua thread mmenunggu selamanya  Deadlock terjadi di antara sebuah kumpulan thread bila : o Setiap thread pada kumpulan tersebut menunggu sebuah event (utk mendapatkan akses ke resource atau melepaskan resource) o Event ini hanya dapat dilakukan oleh thread lain dalam kumpulan tersebut
  • 2.  Contoh : o Real Word : Gridlock pada lalulintas o S.O :  Thread 1 me –lock Resource A menunggu resource B  Thread 2 me-lock Resource B menunggu Resource A STARVATION VS DEADLOCK  Key Idea :  Deadlock => starvation (tapi tidak sebaliknya)  Penyelesaian : o Starvation : dapat berakhir ( tapi tidak harus) o Deadlock : tidak dapat diakhiri kecuali dengan intervensi eksternal KONDISI PENYEBAB DEADLOCK 1. Mutual Exclusion : paling sedikit satu proses menggunakan resource yang tidak boleh dishare 2. Hold and wait : ada sebuah proses yang menggunakan (holding) sebuah resource sambil menunggu resource lainnya 3. No preemption : Resource tidak boleh di preempt ( dikuasai/direbut) 4. Circular Wait : Ada sekumpulan proses {P1, P2, ..PN} sedemikian sehingga P1 menunggu P2, P2 menunggu P3, ..dan PN menunggu P1. Ke empat kondisi ini harus terpenuhi untuk menyebabkan deadlock terjadi CONTOH DEADLOCK
  • 3. Bagaimana keempat kondisi yang menyebabkan lock terjadi pada contoh di atas? 1. Mutual Exclusion : terjadi pd contoh di atas, krn kedua thread melakukan lock. Lock menghasilkan mutual exclusion 2. Hold and wait : thread 1 dan 2 menginginkan untuk melock sebuah resource tertentu dan dalam waktu yang sama tetap menahan (me-lock) re source lainnya. 3. No preemption : tidak ada satu halpun yang dapat memaksa thread 1 dan 2 untuk melepaskan lock nya 4. Circular wait : thread 1 menunggu/memembutuhkan apa yang di lock oleh thread 2 dan thread 2 menunggu/membutuhkan apa yang dilock oleh thread 1. MENGHADAPI DEADLOCK MENGHADAPI DEADLOCK : IGNORE  Berpura-pura deadlock tidak akan terjadi  Ternyata pendekatan yang paling umum MENGHADAPI DEADLOCK : REACTIVE  Secara periodeik mengecek bukti deadlock o Dengan timeout: bila sampai batas waktu tertentu tidak terjadi apa apa berarti kemungkinan terjadi deadlock dan SO harus melakukan sesuatu utk menghadapinya  Recover o Blue screen dan reboot komputer o Memilih thread yang akan di-terminate  Hanya mungkin dilakukan pada beberapa aplikasi (yang tidak kritikal)  Thread harus di clean up ketika di terminate  Thread biasanya akan diulangi dari awal o Memecahkan kondisi preemption  Biasanya pada database. MENGHADAPI DEADLOCK : PROACTIVE  Mencegah salah 1 dari 4 kondisi yang mengakibatkan deadlock  Tidak ada pendekatan tunggal yang sesuai untuk semua situasi
  • 4. o Perlu teknik untuk tiap 4 kondisi MENCEGAH DEADLOCK : NO MUTUAL EXCLUSION  Membuat resource bisa dishare (dengan batasan batasan tertentu)  ‘Jangan pelit!’  Contoh : read-only file  Contoh : Alih alih memakai variabel global, digunakan variabel untuk tiap thread  counter untuk tiap thread (bukan counter global) MENCOBA MEMPERBAIKI DEADDLOCK  Sample Deadlock : Bagaimana memperbaikinya? MENCEGAH DEADLOCK : NO HOLD AND WAIT  Hanya meminta resource bila sedang tidak ‘mengenggam’ resource yang lain (Jangan serakah!); lepaskan resource yang sedang ‘digenggam’ sebelum minta resource yang lain  Contoh : MENCEGAH DEADLOCK : PREEMPTION  Memaksa penyerahan resource (preempt resource)  Contoh : o Bila Thread A menunggu resource yang ditahan oleh Thread B, maka ambil resource tersebut dari B dan berikan ke A  Problem : o Hanya dapat berlaku untk beberapa resource ( ct CPU dan memori) o Tidak mungkin berlaku bila resource tidak bisa disimpan dan direstore.
  • 5. MENCEGAH DEADLOCK : NO CIRCULAR WAIT  Terapkan pengaturan/urutan pada resource. o Berikan semua resource sebuah ranking; ranking tertinggi mendapat akses resource  Lock Hierarchy KUIS 1. Sebutkan contoh starvation dan deadlock (bila perlu gambarkan) dalam kehidupan sehari hari (selain dari contoh di modul ini) 2. Jelaskan cara cara menghadapi/mencegah deadlock.