SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch (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
 

Ähnlich wie Os07

Slide3 manajemen proses
Slide3 manajemen prosesSlide3 manajemen proses
Slide3 manajemen proses
Hz 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.pdf
ARYAPUTRAABSHARI
 

Ähnlich wie 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
 

Kürzlich hochgeladen

HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
nabilafarahdiba95
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
novibernadina
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
ssuser35630b
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
JuliBriana2
 

Kürzlich hochgeladen (20)

HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
 
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptxRegresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
 
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
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
 
Materi Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptxMateri Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptx
 
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
 
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXAKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAMODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.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