SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
Sistem Operasi - Deadlock -




                                    S ISTEM O PERASI
                                     - D EADLOCK -

                                      Arya Adhyaksa Waskita

                                            Fakultas Ilmu Komputer
                              Universitas Pembangunan Nasional Veteran Jakarta


                                             21 April 2012
Sistem Operasi - Deadlock -




AGENDA


          1      R EVIEW

          2      OVERVIEW & O BYEKTIF

          3      M ASALAH D EADLOCK

          4      A LOKASI P ROSES -R ESOURCE

          5      M ENGELOLA DEADLOCK
Sistem Operasi - Deadlock -
    Review




O UTLINE


          1      R EVIEW

          2      OVERVIEW & O BYEKTIF

          3      M ASALAH D EADLOCK

          4      A LOKASI P ROSES -R ESOURCE

          5      M ENGELOLA DEADLOCK
Sistem Operasi - Deadlock -
    Review




S INKRONISASI P ROSES



                   Proses-proses terlibat hubungan kerjasama (saling ketergantungan)
                   melalui shared data
                   Sinkronisasi perlu dilakukan agar diperoleh shared data yang konsisten
                   Beberapa istilah:
                              Critical section: code segment yang harus dieksekusi dengan cara mutual
                              exclusion
                              Mutual exclusion: jika proses Pi sedang berada dalam critical section,
                              tidak ada proses lain yang boleh mengaksesnya
                              Atomic operation: sebuah operasi yang ketika dijalankan harus
                              diselesaikan tanpa terbagi (uninterrupted)
Sistem Operasi - Deadlock -
    Review




I LUSTRASI : critical section




                              G AMBAR : Critical section
Sistem Operasi - Deadlock -
    Review




P ENERAPAN



                   Level user:
                              Solusi Peterson
                              Lock
                   Level kernel (HW):
                              TestAndSet
                              Swap
                   Semaphore
                   Monitor
Sistem Operasi - Deadlock -
    Review




C ONTOH KASUS




                   Bounded Buffer
                   Readers Writers
                   Dinining Philosopher
Sistem Operasi - Deadlock -
    Overview & Obyektif




O UTLINE


          1      R EVIEW

          2      OVERVIEW & O BYEKTIF

          3      M ASALAH D EADLOCK

          4      A LOKASI P ROSES -R ESOURCE

          5      M ENGELOLA DEADLOCK
Sistem Operasi - Deadlock -
    Overview & Obyektif




                   Mempelajari konsep deadlock yang mencegah terhentinya eksekusi dua
                   proses konkuren
                   Mempelajari sejumlah metode untuk menghindari deadlock dalam
                   sistem
Sistem Operasi - Deadlock -
    Masalah Deadlock




O UTLINE


          1      R EVIEW

          2      OVERVIEW & O BYEKTIF

          3      M ASALAH D EADLOCK

          4      A LOKASI P ROSES -R ESOURCE

          5      M ENGELOLA DEADLOCK
Sistem Operasi - Deadlock -
    Masalah Deadlock




KONSEP


                   Sekumpulan proses yang masing-masing memegang resource yang
                   dibutuhkan proses lain, sementara dan di waktu yang sama
                   membutuhkan resource yang dimiliki proses lain
                   Contoh:
                              Semaphore A dan B, dieksekusi oleh proses P0 dan P1 dengan skenario
                              berikut

                                                    P0          P0
                                                wait(A)      wait(B)
                                                wait(B)      wait(A)
Sistem Operasi - Deadlock -
    Masalah Deadlock




I LUSTRASI




                                       G AMBAR : Ilustrasi deadlock


                   Tiap sisi jembatan adalah resource
                   Agar proses dapat dilanjutkan, harus ada proses yang ditunda
                   eksekusinya
                   Beberapa proses dapat ditunda eksekusinya untuk menyelesaikan
                   deadlock
Sistem Operasi - Deadlock -
    Masalah Deadlock




K ARAKTER deadlock


         Deadlock terjadi ketika kondisi berikut terjadi secara simultan
                   Mutual exclusion: hanya ada satu proses mengakses sebuah resource
                   di saat yang sama
                   Hold and wait: sebuah proses yang memegang sebuah resource
                   menunggu resource lain yang sedang digunakan proses lain
                   No preemption: resource hanya dapat dilepas secara sukarela oleh
                   proses yang menggunakannya, ketika proses tersebut selesai
                   menggunakannya (penggunaan resource tidak dapat dibatalkan)
                   Circular wait: hubungan Hold and wait yang melingkar (tidak berujung
                   pangkal)
Sistem Operasi - Deadlock -
    Masalah Deadlock




M ODEL SYSTEM




                   Setiap resource Ri , memiliki instance Wi
                   Setiap proses memanfaatkan resource dengan pola
                              request
                              use
                              release
Sistem Operasi - Deadlock -
    Alokasi Proses-Resource




O UTLINE


          1      R EVIEW

          2      OVERVIEW & O BYEKTIF

          3      M ASALAH D EADLOCK

          4      A LOKASI P ROSES -R ESOURCE

          5      M ENGELOLA DEADLOCK
Sistem Operasi - Deadlock -
    Alokasi Proses-Resource




D IAGRAM ALOKASI resource


                              P= proses (lingkaran )
                              R= resource (segiempat)
                              Request: P → R
                              Assignment: R → P
Sistem Operasi - Deadlock -
    Alokasi Proses-Resource




I LUSTRASI deadlock




                              G AMBAR : Ilustrasi deadlock
Sistem Operasi - Deadlock -
    Alokasi Proses-Resource




S IKLUS TANPA deadlock




                              G AMBAR : Siklus tanpa deadlock
Sistem Operasi - Deadlock -
    Alokasi Proses-Resource




DARI GRAFIK




                   Tanpa siklus: tidak terjadi deadlock
                   Dengan siklus:
                              jika hanya ada satu resource instance → deadlock
                              jika ada beberapa resource instance → bisa deadlock
Sistem Operasi - Deadlock -
    Mengelola deadlock




O UTLINE


          1      R EVIEW

          2      OVERVIEW & O BYEKTIF

          3      M ASALAH D EADLOCK

          4      A LOKASI P ROSES -R ESOURCE

          5      M ENGELOLA DEADLOCK
Sistem Operasi - Deadlock -
    Mengelola deadlock




C ONTOH deadlock
Sistem Operasi - Deadlock -
    Mengelola deadlock




C ONTOH deadlock




                              G AMBAR : Contoh deadlock
Sistem Operasi - Deadlock -
    Mengelola deadlock




M ENGELOLA deadlock




                              G AMBAR : Mengelola deadlock
Sistem Operasi - Deadlock -
    Mengelola deadlock




M ENGELOLA deadlock




                              G AMBAR : Mengelola deadlock
Sistem Operasi - Deadlock -
    Mengelola deadlock




P ENDEKATAN DALAM MENGELOLA deadlock




                   Pastikan sistem tidak akan pernah memasuki deadlock
                   Jika harus memasuki deadlock, siapkan metode recovery
                   Abaikan potensi deadlock, gunakan asumsi deadlock tidak terjadi
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Mencegah deadlock




M ENCEGAH deadlock


         Mencegah deadlock didasarkan pada kondisi deadlock dapat terjadi. Jika
         kondisi tersebut dapat dicegah, deadlock dapat dicegah.
                   Mutual exclusion: non-shareable resource
                   Hold and wait: memastikan bahwa proses yang meminta suatu resource
                   tidak sedang memengang resource lain, dilakukan dengan cara:
                              kebutuhan resource sebuah proses harus dipenuhi dulu, sebelum instruksi
                              dieksekusi
                              proses hanya dapat meminta resource ketika tidak sedang memegang
                              resource apapun
                              dapat menimbulkan low resource utilization, starvation
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Mencegah deadlock




M ENCEGAH deadlock


                   No-preemption:
                              jika proses yang sedang memegang kendali resource, lalu menunggu
                              resource lain, maka resource yang dipegangnya harus dilepas
                              jika ada proses yang meminta resource, evaluasi ketersediaannya:
                   Dalam mengevaluasi
                              jika tersedia, alokasikan
                              jika sedang digunakan proses lain, sementara proses tersebut menunggu
                              resource lain, pre-empted, lalu alokasikan
                              jika menunggu (wait):
                                   dalam kondisi menunggu, resource yang sedang dipegangnya dapat di
                                   pre-empted jika ada proses yang membutuhkan.
                                   proses dapat diulang ketika resource yang diperlukan tersedia dan
                                   mengembalikan resource yang di pre-empted saat sedang menunggu
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Mencegah deadlock




M ENCEGAH deadlock




                   Circular wait:
                              menerapkan sistem pengurutan jenis resource, setiap resource diberi
                              identitas bilangan integer
                              mensyaratkan proses untuk meminta resource secara terurut, jika sedang
                              memegang resource dengan identitas i, proses hanya bisa meminta
                              resource dengan identitas j, dengan j > i, jika sebaliknya resource i harus
                              dilepas
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Mencegah deadlock




M ENCEGAH DEADLOCK




                   Mencegah deadlock adalah mekanisme merancang interaksi
                   request-allocate resource dengan menjamin bahwa kondisi deadlock
                   tidak terjadi.
                   Kekurangan:
                              penggunaan resource rendah
                              penurunan system throughput
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Menghindari deadlock




M ENGHINDARI DEADLOCK



                   Mengelola informasi untuk digunakan sebagai dasar request-allocate
                   resource tidak menimbulkan deadlock.
                   Informasi tersebut mengenai:
                              resource yang tersedia
                              resource yang sedang dialokasikan ke proses tertentu
                              request-release resource dari setiap proses
                   Dari informasi tersebut, sistem akan menentukan apakah sebuah
                   permintaan dapat dialokasikan atau harus menunggu untuk
                   menghindari deadlock
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Menghindari deadlock




KONSEP Safe state



                   Kondisi di mana sistem dapat mengalokasi resource ke proses tanpa
                   deadlock
                   Pada suatu sistem terdapat proses < P1 , P2 , . . . Pn >. Permintaan
                   proses Pi dapat dipenuhi oleh resource yang tersedia, ditambah
                   resource dari proses Pj dengan j < i
                              Jika permintaan tidak segera terpenuhi Pi harus menunggu
                              Ketika Pj selesai menggunakan resource, Pj melepaskan resource
                              sehingga dapat digunkan Pi
                              Pi kemudian menggunakan resource dan menyelesaikan pekerjaan
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Menghindari deadlock




KONSEP Safe state



                   System safe: tidak terjadi
                   deadlock
                   System unsafe:
                   kemungkinan deadlock
                   Menghindari deadlock:
                   mencegah sistem masuk
                   ke kondisi unsafe
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Menghindari deadlock




A LGORITMA




                   Jika instance sebuah resource tunggal:
                              resource-allocation graph
                   Jika instance sebuah resource jamak:
                              algoritma banker’s
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Menghindari deadlock




S KEMA resource-allocation graph




                   Claim: P      R
                   Request: P → R
                   Assignment: R → P
                   Cegah terjadinya circular wait
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Menghindari deadlock




I LUSTRASI

         Safe state           Unsafe state
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Menghindari deadlock




A LGORITMA BANKER ’ S


         Diperlukan struktur data:
                   Available: jika Available [j ] = k , maka ada k instance dari resource j
                   Max: jika Max [i , j ] = k , kebutuhan maksimum Pi adalah sebesar k
                   instance dari resource dari jenis j
                   Allocation: jika Allocation [i , j ] = k , Pi sedang diberi alokasi sebesar k
                   instance dari resource j
                   Need: jika Need [i , j ] = k , Pi perlu tambahan k instance lagi dari
                   resource j
                              Need [i , j ] = Max [i , j ] − Allocation [i , j ]
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Menghindari deadlock




I LUSTRASI

                   Terdapat 5 proses: P0 , P1 , P2 , P3 , P4
                   3 jenis resource, masing-masing:
                              A = 10 instances
                              B = 5 instances
                              C = 7 instances
                   Saat t = 0

                                                 Alokasi   Max   Tersedia
                                                  ABC      ABC    ABC
                                           P0     010      753    332
                                           P1     200      322
                                           P2     302      902
                                           P3     211      222
                                           P4     002      433
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Menghindari deadlock




I LUSTRASI


                   Need = Max − Allocation

                                                  Need
                                                   ABC
                                             P0    743
                                             P1    122
                                             P2    600
                                             P3    011
                                             P4    431

                   Bagaimana urutan eksekusi proses agar tergolong sebagai safe state?
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Menghindari deadlock




C ONTOH

                   Banyaknya resource: A=10, B=5, C=7
                   Dengan P1 meminta tambahan alokasi 1 untuk A dan 2 untuk C, pada
                   t =0

                                        Alokasi   Max    Tersedia
                                          ABC     ABC      ABC
                                   P0     010     753      230
                                   P1     302     322
                                   P2     302     902
                                   P3     211     222
                                   P4     002     433

                   Bagaimana urutan eksekusi proses agar tergolong sebagai safe state?
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Deteksi deadlock




D ETEKSI deadlock




                   Sistem diperbolehkan memasuki kondisi deadlock
                   Menerapkan algoritma deteksi deadlock
                   Melakukan recovery
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Deteksi deadlock




Resource DENGAN instance TUNGGAL




                   Memperhatikan grafik alokasi resource:
                              kotak=resource
                              lingkaran=proses
                   Menjaga grafik wait-for: Pi → Pj menunjukkan proses Pi menunggu Pj
                   Secara periodik menjalankan algoritma untuk mendeteksi circular wait
                   dalam grafik wait-for
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Deteksi deadlock




I LUSTRASI




                              G AMBAR : (a). Resource-allocation graph   (b). Wait-for graph
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Deteksi deadlock




Resource DENGAN instance JAMAK




                   Beberapa variabel yang diperlukan:
                              Available: jumlah instance resource yang tersedia
                              Allocation: jumlah resource yang telah teralokasi
                              Request: Request [i , j ] = k , Pi meminta sejumlah k resource lebih dari
                              yang telah dialokasikan
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Deteksi deadlock




I LUSTRASI

                   5 proses: P0 , P1 , P2 , P3 , P4
                   Resource: A = 7, B = 2, C = 6
                   Saat t = 0

                                          Alokasi     Permintaan   Tersedia
                                            ABC         ABC         ABC
                                   P0       010         000         000
                                   P1       200         202
                                   P2       302         000
                                   P3       211         100
                                   P4       002         002

                   Bagaimana urutan eksekusi proses agar tergolong sebagai safe state?
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Deteksi deadlock




P ENGGUNAAN



         Waktu dan bagaimana algoritma deteksi dijalankan tergantung pada:
                   Seberapa sering deadlock terjadi: semakin sering deadlock,
                              semakin sering algoritma deteksi dijalankan,
                              semakin sering resource yang terlibat deadlock, idle
                   Berapa banyak proses yang terpengaruh oleh deadlock
                              deadlock terjadi karena ada proses yang tidak dapat segera dilayani
                              permintaan resource untuknya
                              proses lain yang terkait akan terpengaruh, sehingga berpotensi menjadi
                              sumber deadlock juga
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Recovery




P ENGHENTIAN (terminated)



                   Menghentikan semua proses deadlock
                   Menghentikan proses deadlock satu per satu, hingga deadlock terurai,
                   pilihan didasarkan pada:
                              prioritas
                              berapa banyak eksekusi yang telah diselesaikan & berapa yang tersisa
                              resource yang digunakan
                              resource yang diperlukan untuk selesai
                              berapa banyak proses yang akan dibatalkan (terminated)
                              proses interactive atau batch
Sistem Operasi - Deadlock -
    Mengelola deadlock
       Recovery




P ENUNDAAN (pre-emted)




                   Pemilihan: didasarkan pada minimasi biaya
                   Rollback: mengembalikan kondisi proses ke safe state terdekat, lalu
                   ulangi eksekusi dari titik tersebut
                   Starvation: ada proses yang selalu dikorbankan (pre-empted) ketika
                   terjadi deadlock

Más contenido relacionado

Destacado

Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10
Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10
Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10belajarkomputer
 
Soal Pra S2 Ilmu Komputer UGM - Organisasi Komputer
Soal Pra S2 Ilmu Komputer UGM - Organisasi KomputerSoal Pra S2 Ilmu Komputer UGM - Organisasi Komputer
Soal Pra S2 Ilmu Komputer UGM - Organisasi KomputerDimaz Muda
 
Soal Pra S2 IlKom UGM - Algoritma & Struktur Data
Soal Pra S2 IlKom UGM - Algoritma & Struktur DataSoal Pra S2 IlKom UGM - Algoritma & Struktur Data
Soal Pra S2 IlKom UGM - Algoritma & Struktur DataDimaz Muda
 
Latihan soal-acept-ugm-5
Latihan soal-acept-ugm-5Latihan soal-acept-ugm-5
Latihan soal-acept-ugm-5qwlasting
 

Destacado (7)

Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10
Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10
Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10
 
Soal Pra S2 Ilmu Komputer UGM - Organisasi Komputer
Soal Pra S2 Ilmu Komputer UGM - Organisasi KomputerSoal Pra S2 Ilmu Komputer UGM - Organisasi Komputer
Soal Pra S2 Ilmu Komputer UGM - Organisasi Komputer
 
Soal Pra S2 IlKom UGM - Algoritma & Struktur Data
Soal Pra S2 IlKom UGM - Algoritma & Struktur DataSoal Pra S2 IlKom UGM - Algoritma & Struktur Data
Soal Pra S2 IlKom UGM - Algoritma & Struktur Data
 
Os04
Os04Os04
Os04
 
Os03
Os03Os03
Os03
 
Os05
Os05Os05
Os05
 
Latihan soal-acept-ugm-5
Latihan soal-acept-ugm-5Latihan soal-acept-ugm-5
Latihan soal-acept-ugm-5
 

Similar a Os07

6.deadlockdan starvation
6.deadlockdan starvation6.deadlockdan starvation
6.deadlockdan starvationnasib silaban
 
MF427_10_172043.ppt
MF427_10_172043.pptMF427_10_172043.ppt
MF427_10_172043.pptAdanImam1
 
Zulyanti Megasari - Deadlock
Zulyanti Megasari - DeadlockZulyanti Megasari - Deadlock
Zulyanti Megasari - Deadlockbelajarkomputer
 
Slide3 manajemen proses
Slide3 manajemen prosesSlide3 manajemen proses
Slide3 manajemen prosesHz Tena
 
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.pdfARYAPUTRAABSHARI
 
Deadlock rahmawati
Deadlock   rahmawatiDeadlock   rahmawati
Deadlock rahmawatisarman yahya
 
Ferli Apriadi - Deadlock
Ferli Apriadi - DeadlockFerli Apriadi - Deadlock
Ferli Apriadi - Deadlockbelajarkomputer
 
Bernis Sagita - Deadlock
Bernis Sagita -  DeadlockBernis Sagita -  Deadlock
Bernis Sagita - Deadlockbelajarkomputer
 
6. Konkurensi_deadlock & starvation (pert 9 & 10)
6. Konkurensi_deadlock & starvation (pert 9 & 10)6. Konkurensi_deadlock & starvation (pert 9 & 10)
6. Konkurensi_deadlock & starvation (pert 9 & 10)Novian Anggis
 
deadlock-150817101004-lva1-app6891.pptx
deadlock-150817101004-lva1-app6891.pptxdeadlock-150817101004-lva1-app6891.pptx
deadlock-150817101004-lva1-app6891.pptxDhiyaAlfiyyahAnsar1
 
Taofik Hidayat Ilham - Deadlock
Taofik Hidayat Ilham - DeadlockTaofik Hidayat Ilham - Deadlock
Taofik Hidayat Ilham - Deadlockbelajarkomputer
 
Chapter 12 - SISTER
Chapter 12 - SISTERChapter 12 - SISTER
Chapter 12 - SISTERbeiharira
 
42519051 bab 7 dead_lock
42519051 bab 7 dead_lock42519051 bab 7 dead_lock
42519051 bab 7 dead_lockAbdulRahman1543
 

Similar a Os07 (20)

6.deadlockdan starvation
6.deadlockdan starvation6.deadlockdan starvation
6.deadlockdan starvation
 
MF427_10_172043.ppt
MF427_10_172043.pptMF427_10_172043.ppt
MF427_10_172043.ppt
 
Zulyanti Megasari - Deadlock
Zulyanti Megasari - DeadlockZulyanti Megasari - Deadlock
Zulyanti Megasari - Deadlock
 
Slide3 manajemen proses
Slide3 manajemen prosesSlide3 manajemen proses
Slide3 manajemen proses
 
Pert.6 deadlock lanjutan
Pert.6 deadlock lanjutanPert.6 deadlock lanjutan
Pert.6 deadlock lanjutan
 
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
 
Deadlock rahmawati
Deadlock   rahmawatiDeadlock   rahmawati
Deadlock rahmawati
 
Ferli Apriadi - Deadlock
Ferli Apriadi - DeadlockFerli Apriadi - Deadlock
Ferli Apriadi - Deadlock
 
Deadlock
DeadlockDeadlock
Deadlock
 
Bernis Sagita - Deadlock
Bernis Sagita -  DeadlockBernis Sagita -  Deadlock
Bernis Sagita - Deadlock
 
Deadlock
DeadlockDeadlock
Deadlock
 
Tugas terdistribusi
Tugas terdistribusiTugas terdistribusi
Tugas terdistribusi
 
6. Konkurensi_deadlock & starvation (pert 9 & 10)
6. Konkurensi_deadlock & starvation (pert 9 & 10)6. Konkurensi_deadlock & starvation (pert 9 & 10)
6. Konkurensi_deadlock & starvation (pert 9 & 10)
 
Deadlock kelompok 3
Deadlock   kelompok 3Deadlock   kelompok 3
Deadlock kelompok 3
 
deadlock-150817101004-lva1-app6891.pptx
deadlock-150817101004-lva1-app6891.pptxdeadlock-150817101004-lva1-app6891.pptx
deadlock-150817101004-lva1-app6891.pptx
 
Taofik Hidayat Ilham - Deadlock
Taofik Hidayat Ilham - DeadlockTaofik Hidayat Ilham - Deadlock
Taofik Hidayat Ilham - Deadlock
 
Chapter 12 - SISTER
Chapter 12 - SISTERChapter 12 - SISTER
Chapter 12 - SISTER
 
Pertemuan ke 7
Pertemuan ke 7Pertemuan ke 7
Pertemuan ke 7
 
42519051 bab 7 dead_lock
42519051 bab 7 dead_lock42519051 bab 7 dead_lock
42519051 bab 7 dead_lock
 
Arkom1
Arkom1Arkom1
Arkom1
 

Último

Integrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaIntegrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxadimulianta1
 
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...Kanaidi ken
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTIndraAdm
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...asepsaefudin2009
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...Kanaidi ken
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk HidupUT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidupfamela161
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptxSirlyPutri1
 
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...MetalinaSimanjuntak1
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxdeskaputriani1
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptAgusRahmat39
 
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah DasarPPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasarrenihartanti
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxsukmakarim1998
 
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxssuser8905b3
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxIrfanAudah1
 

Último (20)

Integrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaIntegrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ika
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk HidupUT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx
 
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
 
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah DasarPPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
 
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 

Os07

  • 1. Sistem Operasi - Deadlock - S ISTEM O PERASI - D EADLOCK - Arya Adhyaksa Waskita Fakultas Ilmu Komputer Universitas Pembangunan Nasional Veteran Jakarta 21 April 2012
  • 2. Sistem Operasi - Deadlock - AGENDA 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 M ASALAH D EADLOCK 4 A LOKASI P ROSES -R ESOURCE 5 M ENGELOLA DEADLOCK
  • 3. Sistem Operasi - Deadlock - Review O UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 M ASALAH D EADLOCK 4 A LOKASI P ROSES -R ESOURCE 5 M ENGELOLA DEADLOCK
  • 4. Sistem Operasi - Deadlock - Review S INKRONISASI P ROSES Proses-proses terlibat hubungan kerjasama (saling ketergantungan) melalui shared data Sinkronisasi perlu dilakukan agar diperoleh shared data yang konsisten Beberapa istilah: Critical section: code segment yang harus dieksekusi dengan cara mutual exclusion Mutual exclusion: jika proses Pi sedang berada dalam critical section, tidak ada proses lain yang boleh mengaksesnya Atomic operation: sebuah operasi yang ketika dijalankan harus diselesaikan tanpa terbagi (uninterrupted)
  • 5. Sistem Operasi - Deadlock - Review I LUSTRASI : critical section G AMBAR : Critical section
  • 6. Sistem Operasi - Deadlock - Review P ENERAPAN Level user: Solusi Peterson Lock Level kernel (HW): TestAndSet Swap Semaphore Monitor
  • 7. Sistem Operasi - Deadlock - Review C ONTOH KASUS Bounded Buffer Readers Writers Dinining Philosopher
  • 8. Sistem Operasi - Deadlock - Overview & Obyektif O UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 M ASALAH D EADLOCK 4 A LOKASI P ROSES -R ESOURCE 5 M ENGELOLA DEADLOCK
  • 9. Sistem Operasi - Deadlock - Overview & Obyektif Mempelajari konsep deadlock yang mencegah terhentinya eksekusi dua proses konkuren Mempelajari sejumlah metode untuk menghindari deadlock dalam sistem
  • 10. Sistem Operasi - Deadlock - Masalah Deadlock O UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 M ASALAH D EADLOCK 4 A LOKASI P ROSES -R ESOURCE 5 M ENGELOLA DEADLOCK
  • 11. Sistem Operasi - Deadlock - Masalah Deadlock KONSEP Sekumpulan proses yang masing-masing memegang resource yang dibutuhkan proses lain, sementara dan di waktu yang sama membutuhkan resource yang dimiliki proses lain Contoh: Semaphore A dan B, dieksekusi oleh proses P0 dan P1 dengan skenario berikut P0 P0 wait(A) wait(B) wait(B) wait(A)
  • 12. Sistem Operasi - Deadlock - Masalah Deadlock I LUSTRASI G AMBAR : Ilustrasi deadlock Tiap sisi jembatan adalah resource Agar proses dapat dilanjutkan, harus ada proses yang ditunda eksekusinya Beberapa proses dapat ditunda eksekusinya untuk menyelesaikan deadlock
  • 13. Sistem Operasi - Deadlock - Masalah Deadlock K ARAKTER deadlock Deadlock terjadi ketika kondisi berikut terjadi secara simultan Mutual exclusion: hanya ada satu proses mengakses sebuah resource di saat yang sama Hold and wait: sebuah proses yang memegang sebuah resource menunggu resource lain yang sedang digunakan proses lain No preemption: resource hanya dapat dilepas secara sukarela oleh proses yang menggunakannya, ketika proses tersebut selesai menggunakannya (penggunaan resource tidak dapat dibatalkan) Circular wait: hubungan Hold and wait yang melingkar (tidak berujung pangkal)
  • 14. Sistem Operasi - Deadlock - Masalah Deadlock M ODEL SYSTEM Setiap resource Ri , memiliki instance Wi Setiap proses memanfaatkan resource dengan pola request use release
  • 15. Sistem Operasi - Deadlock - Alokasi Proses-Resource O UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 M ASALAH D EADLOCK 4 A LOKASI P ROSES -R ESOURCE 5 M ENGELOLA DEADLOCK
  • 16. Sistem Operasi - Deadlock - Alokasi Proses-Resource D IAGRAM ALOKASI resource P= proses (lingkaran ) R= resource (segiempat) Request: P → R Assignment: R → P
  • 17. Sistem Operasi - Deadlock - Alokasi Proses-Resource I LUSTRASI deadlock G AMBAR : Ilustrasi deadlock
  • 18. Sistem Operasi - Deadlock - Alokasi Proses-Resource S IKLUS TANPA deadlock G AMBAR : Siklus tanpa deadlock
  • 19. Sistem Operasi - Deadlock - Alokasi Proses-Resource DARI GRAFIK Tanpa siklus: tidak terjadi deadlock Dengan siklus: jika hanya ada satu resource instance → deadlock jika ada beberapa resource instance → bisa deadlock
  • 20. Sistem Operasi - Deadlock - Mengelola deadlock O UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 M ASALAH D EADLOCK 4 A LOKASI P ROSES -R ESOURCE 5 M ENGELOLA DEADLOCK
  • 21. Sistem Operasi - Deadlock - Mengelola deadlock C ONTOH deadlock
  • 22. Sistem Operasi - Deadlock - Mengelola deadlock C ONTOH deadlock G AMBAR : Contoh deadlock
  • 23. Sistem Operasi - Deadlock - Mengelola deadlock M ENGELOLA deadlock G AMBAR : Mengelola deadlock
  • 24. Sistem Operasi - Deadlock - Mengelola deadlock M ENGELOLA deadlock G AMBAR : Mengelola deadlock
  • 25. Sistem Operasi - Deadlock - Mengelola deadlock P ENDEKATAN DALAM MENGELOLA deadlock Pastikan sistem tidak akan pernah memasuki deadlock Jika harus memasuki deadlock, siapkan metode recovery Abaikan potensi deadlock, gunakan asumsi deadlock tidak terjadi
  • 26. Sistem Operasi - Deadlock - Mengelola deadlock Mencegah deadlock M ENCEGAH deadlock Mencegah deadlock didasarkan pada kondisi deadlock dapat terjadi. Jika kondisi tersebut dapat dicegah, deadlock dapat dicegah. Mutual exclusion: non-shareable resource Hold and wait: memastikan bahwa proses yang meminta suatu resource tidak sedang memengang resource lain, dilakukan dengan cara: kebutuhan resource sebuah proses harus dipenuhi dulu, sebelum instruksi dieksekusi proses hanya dapat meminta resource ketika tidak sedang memegang resource apapun dapat menimbulkan low resource utilization, starvation
  • 27. Sistem Operasi - Deadlock - Mengelola deadlock Mencegah deadlock M ENCEGAH deadlock No-preemption: jika proses yang sedang memegang kendali resource, lalu menunggu resource lain, maka resource yang dipegangnya harus dilepas jika ada proses yang meminta resource, evaluasi ketersediaannya: Dalam mengevaluasi jika tersedia, alokasikan jika sedang digunakan proses lain, sementara proses tersebut menunggu resource lain, pre-empted, lalu alokasikan jika menunggu (wait): dalam kondisi menunggu, resource yang sedang dipegangnya dapat di pre-empted jika ada proses yang membutuhkan. proses dapat diulang ketika resource yang diperlukan tersedia dan mengembalikan resource yang di pre-empted saat sedang menunggu
  • 28. Sistem Operasi - Deadlock - Mengelola deadlock Mencegah deadlock M ENCEGAH deadlock Circular wait: menerapkan sistem pengurutan jenis resource, setiap resource diberi identitas bilangan integer mensyaratkan proses untuk meminta resource secara terurut, jika sedang memegang resource dengan identitas i, proses hanya bisa meminta resource dengan identitas j, dengan j > i, jika sebaliknya resource i harus dilepas
  • 29. Sistem Operasi - Deadlock - Mengelola deadlock Mencegah deadlock M ENCEGAH DEADLOCK Mencegah deadlock adalah mekanisme merancang interaksi request-allocate resource dengan menjamin bahwa kondisi deadlock tidak terjadi. Kekurangan: penggunaan resource rendah penurunan system throughput
  • 30. Sistem Operasi - Deadlock - Mengelola deadlock Menghindari deadlock M ENGHINDARI DEADLOCK Mengelola informasi untuk digunakan sebagai dasar request-allocate resource tidak menimbulkan deadlock. Informasi tersebut mengenai: resource yang tersedia resource yang sedang dialokasikan ke proses tertentu request-release resource dari setiap proses Dari informasi tersebut, sistem akan menentukan apakah sebuah permintaan dapat dialokasikan atau harus menunggu untuk menghindari deadlock
  • 31. Sistem Operasi - Deadlock - Mengelola deadlock Menghindari deadlock KONSEP Safe state Kondisi di mana sistem dapat mengalokasi resource ke proses tanpa deadlock Pada suatu sistem terdapat proses < P1 , P2 , . . . Pn >. Permintaan proses Pi dapat dipenuhi oleh resource yang tersedia, ditambah resource dari proses Pj dengan j < i Jika permintaan tidak segera terpenuhi Pi harus menunggu Ketika Pj selesai menggunakan resource, Pj melepaskan resource sehingga dapat digunkan Pi Pi kemudian menggunakan resource dan menyelesaikan pekerjaan
  • 32. Sistem Operasi - Deadlock - Mengelola deadlock Menghindari deadlock KONSEP Safe state System safe: tidak terjadi deadlock System unsafe: kemungkinan deadlock Menghindari deadlock: mencegah sistem masuk ke kondisi unsafe
  • 33. Sistem Operasi - Deadlock - Mengelola deadlock Menghindari deadlock A LGORITMA Jika instance sebuah resource tunggal: resource-allocation graph Jika instance sebuah resource jamak: algoritma banker’s
  • 34. Sistem Operasi - Deadlock - Mengelola deadlock Menghindari deadlock S KEMA resource-allocation graph Claim: P R Request: P → R Assignment: R → P Cegah terjadinya circular wait
  • 35. Sistem Operasi - Deadlock - Mengelola deadlock Menghindari deadlock I LUSTRASI Safe state Unsafe state
  • 36. Sistem Operasi - Deadlock - Mengelola deadlock Menghindari deadlock A LGORITMA BANKER ’ S Diperlukan struktur data: Available: jika Available [j ] = k , maka ada k instance dari resource j Max: jika Max [i , j ] = k , kebutuhan maksimum Pi adalah sebesar k instance dari resource dari jenis j Allocation: jika Allocation [i , j ] = k , Pi sedang diberi alokasi sebesar k instance dari resource j Need: jika Need [i , j ] = k , Pi perlu tambahan k instance lagi dari resource j Need [i , j ] = Max [i , j ] − Allocation [i , j ]
  • 37. Sistem Operasi - Deadlock - Mengelola deadlock Menghindari deadlock I LUSTRASI Terdapat 5 proses: P0 , P1 , P2 , P3 , P4 3 jenis resource, masing-masing: A = 10 instances B = 5 instances C = 7 instances Saat t = 0 Alokasi Max Tersedia ABC ABC ABC P0 010 753 332 P1 200 322 P2 302 902 P3 211 222 P4 002 433
  • 38. Sistem Operasi - Deadlock - Mengelola deadlock Menghindari deadlock I LUSTRASI Need = Max − Allocation Need ABC P0 743 P1 122 P2 600 P3 011 P4 431 Bagaimana urutan eksekusi proses agar tergolong sebagai safe state?
  • 39. Sistem Operasi - Deadlock - Mengelola deadlock Menghindari deadlock C ONTOH Banyaknya resource: A=10, B=5, C=7 Dengan P1 meminta tambahan alokasi 1 untuk A dan 2 untuk C, pada t =0 Alokasi Max Tersedia ABC ABC ABC P0 010 753 230 P1 302 322 P2 302 902 P3 211 222 P4 002 433 Bagaimana urutan eksekusi proses agar tergolong sebagai safe state?
  • 40. Sistem Operasi - Deadlock - Mengelola deadlock Deteksi deadlock D ETEKSI deadlock Sistem diperbolehkan memasuki kondisi deadlock Menerapkan algoritma deteksi deadlock Melakukan recovery
  • 41. Sistem Operasi - Deadlock - Mengelola deadlock Deteksi deadlock Resource DENGAN instance TUNGGAL Memperhatikan grafik alokasi resource: kotak=resource lingkaran=proses Menjaga grafik wait-for: Pi → Pj menunjukkan proses Pi menunggu Pj Secara periodik menjalankan algoritma untuk mendeteksi circular wait dalam grafik wait-for
  • 42. Sistem Operasi - Deadlock - Mengelola deadlock Deteksi deadlock I LUSTRASI G AMBAR : (a). Resource-allocation graph (b). Wait-for graph
  • 43. Sistem Operasi - Deadlock - Mengelola deadlock Deteksi deadlock Resource DENGAN instance JAMAK Beberapa variabel yang diperlukan: Available: jumlah instance resource yang tersedia Allocation: jumlah resource yang telah teralokasi Request: Request [i , j ] = k , Pi meminta sejumlah k resource lebih dari yang telah dialokasikan
  • 44. Sistem Operasi - Deadlock - Mengelola deadlock Deteksi deadlock I LUSTRASI 5 proses: P0 , P1 , P2 , P3 , P4 Resource: A = 7, B = 2, C = 6 Saat t = 0 Alokasi Permintaan Tersedia ABC ABC ABC P0 010 000 000 P1 200 202 P2 302 000 P3 211 100 P4 002 002 Bagaimana urutan eksekusi proses agar tergolong sebagai safe state?
  • 45. Sistem Operasi - Deadlock - Mengelola deadlock Deteksi deadlock P ENGGUNAAN Waktu dan bagaimana algoritma deteksi dijalankan tergantung pada: Seberapa sering deadlock terjadi: semakin sering deadlock, semakin sering algoritma deteksi dijalankan, semakin sering resource yang terlibat deadlock, idle Berapa banyak proses yang terpengaruh oleh deadlock deadlock terjadi karena ada proses yang tidak dapat segera dilayani permintaan resource untuknya proses lain yang terkait akan terpengaruh, sehingga berpotensi menjadi sumber deadlock juga
  • 46. Sistem Operasi - Deadlock - Mengelola deadlock Recovery P ENGHENTIAN (terminated) Menghentikan semua proses deadlock Menghentikan proses deadlock satu per satu, hingga deadlock terurai, pilihan didasarkan pada: prioritas berapa banyak eksekusi yang telah diselesaikan & berapa yang tersisa resource yang digunakan resource yang diperlukan untuk selesai berapa banyak proses yang akan dibatalkan (terminated) proses interactive atau batch
  • 47. Sistem Operasi - Deadlock - Mengelola deadlock Recovery P ENUNDAAN (pre-emted) Pemilihan: didasarkan pada minimasi biaya Rollback: mengembalikan kondisi proses ke safe state terdekat, lalu ulangi eksekusi dari titik tersebut Starvation: ada proses yang selalu dikorbankan (pre-empted) ketika terjadi deadlock