Deadlock Edi Sugiarto, S.Kom.

Slides:



Advertisements
Presentasi serupa
Sinkronisasi dan Deadlock Universitas Airlangga
Advertisements

D EADLOCK Kelompok 6 Baskoro Arif Widodo( ) Fevi Henda Ayumitha( ) Khoirun Nisa’( )
Tim Teaching Grant Mata Kuliah Sistem Operasi
Proses.
6 Deadlock.
DEADLOCK & STARVATION.
Resource Allocation Denial
Arief Cahyo S Rachmad Wahyudi S Abdul Qodir Jailani M. Choirur Rozi Rahmat Aidil FR
Deadlock.
Matakuliah: Sistem Operasi
PERTEMUAN – 7 KULIAH SISTEM OPERASI DEADLOCK
PERTEMUAN KE-4 PERKULIAHAN SISTEM OPERASI
Penjadwalan Sistem Interaktif
Deadlock.
Sistem Operasi (Operating Systems) Minggu 7
SINKRONISASI.
Deadlock.
Sinkronisasi dan Deadlock Proses
Deadlock.
Bab 12 Pengelolaan Proses Bab
Sistem Operasi 7 “Deadlock”.
Sistem Operasi DEADLOCK.
Deadlock.
MUTUAL EXCLUSION.
KONKURENSI.
DEADLOCK. Pokok Bahasan  Pengertian & Latar Belakang Deadlock  Penyebab Deadlock  Strategi untuk mengatasi Deadlock  Kesimpulan.
SISTEM OPERASI MODUL Deadlock Yuli Haryanto, M.Kom
L/O/G/O Deadlock Sistem Operasi danarpamungkas.wordpress.com.
Konkurensi 3 Deadlock dan Starvation
Sistem Operasi Pertemuan 15.
Sistem Operasi Pertemuan 11.
Deadlock.
DEADLOCK.
Manajemen Perangkat I/O
Menghindari Deadlock Sebuah keputusan yang dibuat secara dinamis apakah alokasi sumber daya sekarang akan ada permintaan, jika diberikan, berpotensi menjadi.
Wahyu nurjaya wk, st., m.kom.
STMIK-IM Bandung Oleh : Chalifa Chazar
DEADLOCK.
Pertemuan 10 DEADLOCK By: Asriadi.
Deadlock.
Deadlock.
VII. Deadlock dan Starvation
SINKRONISASI & DEADLOCK
Sinkronisasi dan Deadlock
Deadlock.
Kongkurensi Edi Sugiarto, S.Kom.
Tim Teaching Grant Mata Kuliah Sistem Operasi
DEADLOCK Situasi Deadlock terjadi, jika:
PENGENDALIAN DEADLOCK
Kongkurensi.
TEGUH IMAN HERMANTO, M.Kom
DEADLOCK KELOMPOK 8 Sistem Operasi Budi Nofianto
Sistem Operasi: Deadlock
Koordinasi Antar Proses DI DALAM SISTEM TERDISTRIBUSI
Kongkurensi.
Deadlock SISTEM OPERASI.
DEADLOCK.
OPERATING SYSTEM AND USE
Manajemen Proses.
Deadlock.
SINKRONISASI DAN DEADLOCK
8 Deadlock.
Tim Teaching Grant Mata Kuliah Sistem Operasi
SISTEM OPERASI MODUL Deadlock Maria Cleopatra, S.Kom
Bab 12 Pengelolaan Proses 1.
Kongkurensi By Jajang Kusnendar
Tim Teaching Grant Mata Kuliah Sistem Operasi
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Transcript presentasi:

Deadlock Edi Sugiarto, S.Kom

Pendahuluan Proses dikatakan deadlock jika proses menunggu suatu kejadian tertentu yang tidak akan pernah terjadi. Semua deadlock yang terjadi melibatkan persaingan untuk mendapatkan sumber daya eksklusif oleh dua proses atau lebih. Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel digunakan oleh dua proses

Model Deadlock Urutan kejadian perangkat M/K adl : Meminta (request) : meminta layanan perangkat M/K. Memakai (use) : memakai perangkat M/K Melepaskan (release) : melepaskan pemakaian perangkat M/K

Model permintaan dan alokasi 2 proses dan 2 sumber daya digambarkan sbb :

Model deadlock dan alokasi 2 proses dan 2 sumber daya digambarkan sbb :

Syarat terjadinya deadlock Coffman,et al. [cof-71] menyatakan empat syarat terjadinya deadlock : Mutual exclusion Sumber daya saat itu diberikan pada tepat satu proses Hold and wait condition Proses menggunakan dan menunggu sumber daya baru Non preemption condition Sumber daya yg diberikan tidak dpt diambil alih dari proses yg menggunakan / menggenggam Circular wait condition Pada rantai sirkuler, dua atau lebih proses saling menunggu sumber daya yang digenggam proses lain pada rantai tsb

Metode Mengatasi Deadlock Beragam metode mengatasi deadlock dapat dikelompokkan menjadi tiga, yakni : Metode pencegahan terjadinya deadlock (deadlock prevention) Metode penghindaran terjadinya deadlock (deadlock avoidance) Metode deteksi dan pemulihan dari deadlock (deadlock detection and recovery)

Pencegahan Deadlock Havender[HAV-68] mengemukakan jika beberapa syarat dari empat syarat terjadinya deadlock tidak terpenuhi maka tidak akan terjadi deadlock. Havender menyarankan strategi-strategi untuk meniadakan syarat-syarat sbb : Proses harus meminta semua sumber daya sekaligus dan tidak berlanjut hingga semua diberikan. Proses yg memegang sumber daya harus melepas sumber daya tsb jika akan menggunakan sumber daya lain. Memberikan pengurutan linear terhadap tipe-tipe sumber daya pada semua proses

Meniadakan Mutual Exclusion Penyebab deadlock salah satunya adalah terdapatnya pengaksesan secara eksklusif thd sumber daya. Jika tidak ada sumber daya eksklusif untuk satu proses tunggal maka tidak akan terjadi deadlock Cara lain adalah melakukan spooling Masalah dlm teknik ini Tdk semua sumber daya eksklusif dapat di spooling Mutex tidak lagi tdp di level perangkat namun terjadi pada level lokasi memori.

Meniadakan syarat hold and wait Dapat dilakukan dengan cara Mengalokasikan semua sumber daya atau tidak sama sekali Hold and release Masalah yang dihadapi Sukar mengetahui lebih dahulu sumber daya yg dibutuhkan suatu proses Cara ini mengakibatkan penggunaan sumber daya tidak efisien

Meniadakan Non-Preemptive Meniadakan non-preemptive artinya mencegah proses-proses lain harus menunggu. Masalah yang ditimbulkan Tidak mungkin meniadakan non-preemptive sebagai contoh : saat proses A menulis ke printer, tiba2 dihentikan oleh proses B yang juga menulis ke printer yang sama. Jika kondisi preemptive dimungkinkan maka kedua proses akan mencetak dengan tidak benar.

Meniadakan Circular Wait Condition Kondisi ini dapat ditiadakan dengan bermacam cara, antaralain : Proses hanya dapat menggenggam satu sumber daya dalam satu saat. Penomoran global semua sumber daya Masalah Tidak ada cara pengurutan nomor sumber daya yang memuaskan semua pihak

Penghindaran Deadlock Gagasan utama penghindaran deadlock adalah memberi akses ke sumber daya yang tidak mungkin menimbulkan deadlock Biasanya strategi ini diimplementasikan dengan pengalokasian sumber daya dan memeriksa dampak- dampak pemberian akses ke suatu proses. Strategi penghindaran deadlock mengharuskan semua proses menyatakan jumlah kebutuhan sumber daya maksimum sebelum dieksekusi. Untuk menghindari deadlock diperlukan pengertian mengenai state selamat (safe state) dan state tak selamat (unsafe state)

State Selamat dan State Tak Selamat State selamat (safe state) State dikatakan selamat jika tidak deadlock dan terdapat cara untuk memenuhi semua permintaan yang ditunda tanpa terjadi deadlock. Contoh : terdapat 10 sumber daya setipe, proses A memerlukan maksimal 10, sedangkan saat ini menggenggam 2 sumber daya. Proses B memerlukan sumber daya maksimal 3, dan saat ini menggenggam 1 sumber daya. Proses C memerlukan sumber daya maksimum sebanyak 7 sedang saat ini menggenggam 3 sumber daya. Masih tersedia 4 sumber daya

Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 2 10 B Proses Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 2 10 B 1 3 C 7 Tersedia : 4 Langkah 1 : Proses Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 2 10 B 1 3 C 7 Tersedia : 0

Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 2 10 B Proses Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 2 10 B 1 3 C - Tersedia : 7 Langkah 2 : Proses Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 2 10 B 3 C - Tersedia : 5

Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 2 10 B Proses Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 2 10 B - C Tersedia : 8 Langkah 3 : Proses Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 10 B - C Tersedia : 0

Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A - B C Proses Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A - B C Tersedia : 0

State Tak Selamat (unsafe state) State dinyatakan sebagai state tak selamat (unsafe state) jika tidak terdapat cara untuk memenuhi semua permintaan yang saat ini ditunda dengan menjalankan proses-proses dengan suatu urutan. Contoh : Proses Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 2 10 B 1 3 C 7 Tersedia : 4 Gambar diatas menunjukkan state selamat, namun state ini dapat berubah menjadi state tdk selamat bila alokasi sumber daya tidak terkendali.

Maka state menjadi : Proses Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 4 10 B 3 C 7 Tersedia : 0 Proses Jumlah sumber daya digenggam Maksimum sumber daya dibutuhkan A 4 10 B - C 3 7 Tersedia : 3 Saat ini hanya tersedia tiga sumber daya sementara dua proses yang sedang aktif masing-masing membutuhkan enam dan empat sumber daya

Deteksi dan Pemulihan Deadlock Deteksi adanya Deadlock Deteksi deadlock adalah teknik untuk menentukan apakah deadlock terjadi serta mengidentifikasi proses-proses dan sumber daya-sumber daya yang terlibat deadlock. Umumnya algoritma deteksi yang digunakan adalah menentukan keberadaan circular wait.

Pemulihan dari Deadlock Begitu sistem terdapat deadlock, deadlock harus diputuskan dengan menghilangkan satu syarat atau lebih. Biasanya beberapa proses akan kehilangan sebagian atau semua kerja yang telah dilakukan. Hal tsb merupakan ongkos yang harus dibayar dibanding terjadinya deadlock.

Pemulihan dari deadlock dirumitkan oleh faktor-faktor berikut : Belum tentu dapat menentukan adanya deadlock secepatnya. Kebanyakan sistem memiliki fasilitas buruk untuk men-suspend proses, menghilangkan dari sistem dan me-resume proses di lain waktu. Jikapun terdapat kemampuan suspend dan resume yang efektif. Kemampuan ini melibatkan sejumlah overhead.

Pendekatan berikut dapat digunakan untuk pemulihan deadlock [STA-95] : Abaikan semua proses yang terlibat deadlock Back-up semua proses yang terlibat deadlock ke suatu checkpoint yang didefinisikan sebelumnya (rollback dan restart). Secara berurutan abaikan (singkirkan) proses- proses hingga deadlock tidak ada lagi Secara berurutan preempt sumber daya-sumber daya sampai tidak ada deadlock lagi.

Strategi Penanggulangan Deadlock Terpadu Prinsip Kebijaksanaan alokasi sumber daya Skema-skema Keunggulan utama Kelemahan utama Pencegahan Konservatif, Menurunkan efisiensi sumber daya Meminta semua sumber daya sekaligus baik untuk proses yang melakukan satu aktifitas tunggal tidak perlu preemption tidak efisien memerlukan waktu tunda inisialisasi proses Preemption cocok ketika diterpaan ke sumber daya yang statenya dapat disimpan dan dikembalikan dengan mudah pereempt akan terjadi lebih sering daripada yang diperlukan dapat menjadi restart siklus Pengurutan sumber daya layak dipaksakan lewat pemeriksaan saat kompilasi tidak perlu komputasi saat berjalan karena masalah diselesaikan sewaktu perancangan sistem preempt tanpa banyak penggunaan tak mengjinkan permintaan sumber daya yang meningkat Deteksi Lebih bebas, sumber daya yang diminta diberikan bila mungkin Dijalankan secara periodik Tak pernah terdapat waktu tunda inisialisasi proses memberi fasilitas penanganan online Kehilangan preempt yang Inheren penghindaran Memilih jalan tengah antara deteksi dan pencegahan Memanipulasi untuk menemukan pada setidaknya satu jalur selamat Tidak memerlukan preemption Kebutuhan sumber daya masa datang harus diketahui proses-proses dapat diblock untuk periode yang lama

Silberschatz [SIL-94] menyarankan satu pendekatan terpadu yaitu : Pada tabel diatas Isloor[ISL-80] memperlihatkan keunggulan dan kelemahan skema penanggulangan deadlock. Silberschatz [SIL-94] menyarankan satu pendekatan terpadu yaitu : Kelompokkan sumber daya-sumber daya menjadi sejumlah kelas sumber daya Gunakan strategi pengurutan linear untuk mencegah deadlock diantara kelas-kelas sumber daya yang berbeda. Dalam satu kelas sumber daya, gunakan algoritma yang paling cocok untuk kelas-kelas sumber daya itu.