Deadlock.

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.
MOH. NURUDDIN EF ( ) HABIB ABDULLAH ( ) Operating System NICKA PUSPITA SRIMINANGGA ( )
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
Prinsip-Prinsip Deadlock (1)
Penjadwalan Sistem Interaktif
Deadlock.
Sistem Operasi (Operating Systems) Minggu 7
SINKRONISASI.
Sistem Operasi Sinkronisasi Proses.
Deadlock.
SINKRONISASI DAN DEADLOCK
Sinkronisasi dan Deadlock Proses
Deadlock.
Sistem Operasi 7 “Deadlock”.
Sistem Operasi DEADLOCK.
Deadlock.
Pertemuan 11 DIAGRAM GRAF By: Asriadi.
DEADLOCK. Pokok Bahasan  Pengertian & Latar Belakang Deadlock  Penyebab Deadlock  Strategi untuk mengatasi Deadlock  Kesimpulan.
DEADLOCK Minggu ke 7.
SISTEM OPERASI MODUL Deadlock Yuli Haryanto, M.Kom
L/O/G/O Deadlock Sistem Operasi danarpamungkas.wordpress.com.
Penjadwalan Process.
Konkurensi 3 Deadlock dan Starvation
Memori Virtual.
Sistem Operasi Pertemuan 15.
Deadlock.
Deadlock Edi Sugiarto, S.Kom.
DEADLOCK.
Deadlock Sistem Operasi dan Resource Monitor
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.
DEADLOCK.
Pertemuan 10 DEADLOCK By: Asriadi.
Slide 7 – Penjadwalan Process
Deadlock.
VII. Deadlock dan Starvation
SINKRONISASI & DEADLOCK
Sinkronisasi dan Deadlock
Deadlock.
Tim Teaching Grant Mata Kuliah Sistem Operasi
DEADLOCK Situasi Deadlock terjadi, jika:
PENGENDALIAN DEADLOCK
DEADLOCK KELOMPOK 8 Sistem Operasi Budi Nofianto
Sistem Operasi: Deadlock
Koordinasi Antar Proses DI DALAM SISTEM TERDISTRIBUSI
Manajemen Proses Firdaus, M.T..
Kongkurensi.
Deadlock SISTEM OPERASI.
DEADLOCK.
OPERATING SYSTEM AND USE
Deadlock.
SINKRONISASI DAN DEADLOCK
8 Deadlock.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Slide 7 – Penjadwalan Process
SISTEM OPERASI MODUL Deadlock Maria Cleopatra, S.Kom
DEADLOCK Minggu ke 7.
PENGURUSAN PROSES BAB 5.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Transcript presentasi:

Deadlock

Pembahasan System Model Karakteristik Deadlock Metode-metode Penanganan Deadlock Deadlock Prevention Deadlock Avoidance Deadlock Detection

Deadlock Deadlock adalah suatu kondisi dimana dua proses atau lebih tidak dapat meneruskan eksekusinya

Resources (1) Contoh resources sistem komputer printers tape drives Proses-proses membutuhkan akses ke resource secara teratur Contoh 1 : suatu proses memegang (hold) resource A dan meminta resource B pada saat yang sama proses lain sedang memegang resource B dan meminta resource A masing-masing proses melakukan block, dalam kondisi seperti ini terjadi deadlock

Resources (2) Contoh 2 : P0 P1 semaphores A dan B, di-inisialisasi 1 wait (A); wait(B) wait (B); wait(A) . . signal(A) signal(B) signal(B) signal(A)

Resources (3) Contoh 3 : Bridge Crossing Traffic hanya satu arah Masing-masing bagian jembatan dapat digambarkan sebagai resource. Jika deadlock terjadi, dapat diselesaikan dengan cara satu mobil mundur ke belakang. Beberapa mobil harus kembali jika terjadi deadlock Memungkinkan terjadinya starvation

Resources (4) Deadlock terjadi ketika… Preemptable resources proses-proses diberikan hak akses secara eksklusif ke devices (resources) Preemptable resources dapat diambil dari proses tanpa menimbulkan efek yang buruk Nonpreemptable resources akan menyebabkan proses gagal jika diambil

System Model Tipe resource R1, R2, . . ., Rm CPU cycles, memory space, I/O devices Masing-masing proses melakukan utilisasi resources Meminta (request) resource Menggunakan resource Membebaskan (release) the resource

4 Kondisi Terjadinya Deadlock Kondisi Mutual exclusion hanya satu proses dalam satu waktu yang dapat memegang (hold) resource Hold and wait condition suatu proses memegang satu resource dan me-request resource yang lain No preemption condition resource hanya dapat di-release setelah proses menyelesaikan task-nya pada resource tersebut Circular wait condition Masing-masing proses menunggu resource yang digunakan oleh proses lain secara berantai. Terdapat himpunan proses yang sedang menunggu {P0, P1, …, P0} sedemikian sehingga P0 menunggu resource yang dipegang oleh P1 , P1 sedang menunggu resource yang dipegang oleh P2, …, Pn–1 . Pn–1 menunggu resource yang dipegang oleh Pn . Dan Pn menunggu resource yang dipegang oleh P0 .

Resource-Allocation Graph (1) Terdapat himpunan vertices V dan himpunan edges E. V dipartisi ke dalam dua tipe : P = {P1, P2, …, Pn}, himpunan proses dalam sistem. R = {R1, R2, …, Rm}, himpunan tipe resource dalam sistem. Request edge – directed edge P1  Rj Assignment edge – directed edge Rj  Pi

Resource-Allocation Graph (2) Proses Tipe Resource dengan 4 instances Pi meminta (requests) instance dari Rj Pi mendapat (holding) instance dari Rj Pi Rj Pi Rj

Contoh Resource Allocation Graph

Resource Allocation Graph-Deadlock

Siklus Graph P1  R1  P2  R3  P3  R2  P1 P2  R3  P3  R2  P2 Proses P1, P2 dan P3 akan mengalami deadlock Proses P2 menunggu resource R3 yang dibawa oleh P3 Disisi lain, P3 menunggu proses P1 atau P2 untuk membebaskan resource R2 Proses P1 menunggu P2 untuk membebaskan R1

Resource Allocation Graph Cycle - Tidak Deadlock

Siklus Graph P1  R1  P3  R2  P1 Tidak ada proses yang mengalami deadlock P4 dapat membebaskan satu anggota resource tipe R2 yang kemudian dapat dialokasikan ke P3 sehingga mampu memutuskan siklus yang ada.

Basic Facts Jika graph tidak mengandung cycle  no deadlock. Jika graph mengandung cycle  Jika hanya satu instance per tipe resource, maka terjadi deadlock. Jika beberapa instances per tipe resource, kemungkinan dapat terjadi deadlock.

Metode-metode Penanganan Deadlocks Memastikan bahwa sistem tidak akan pernah masuk ke dalam kondisi (state) deadlock. Memungkinkan sistem untuk masuk ke dalam kondisi deadlock dan kemudian melakukan recovery (pemulihan). Mengabaikan masalah deadlock dan membuat deadlock tidak pernah terjadi dalam sistem; digunakan pada OS umumnya (Unix).

Metode Pencegahan Deadlock (1) Cara pencegahan (Prevention) dari sisi permintaan (request) resources : Mutual Exclusion – tidak diperlukan untuk resource-resource yang di-share; harus dipegang (hold) untuk resource-resource yang tidak di-share (nonsharable resources). Hold and Wait – harus dijamin bahwa kapanpun suatu permintaan proses pada resource, proses tersebut tidak memegang resource yang lain. Membutuhkan proses untuk me-request dan mengalokasikan resources sebelum memulai eksekusi, atau membolehkan proses untuk me-request resource hanya ketika proses tidak sedang memegang resource. Utilisasi resource yang rendah memungkinkan terjadinya starvation.

Metode Pencegahan Deadlock (2) No Preemption Jika suatu proses yang memegang beberapa resource me-request resource yang lain yang tidak dapat secara langsung dialokasikan, maka semua resource yang sedang dipegang dibebaskan (released). Preempted resources ditambahkan ke list resources dimana proses sedang menunggu. Proses akan di-restart hanya jika dapat mengambil kembali (regain) resource, juga resource yang baru yang di-request. Circular Wait Membuat penomoran pada proses-proses yang mengakses resource. Suatu proses dimungkinkan untuk dapat meminta resource kapanpun, tetapi permintaannya harus dibuat terurut.

Tabel Deadlock Syarat Langkah Kelemahan Mutual Exclusion Spooling resource Dapat menyebabkan chaos Hold & Wait Meminta resource diawal Sulit memperkirakan di awal dan tidak optimal No Pre-emptive Mengambil resource di tengah jalan Hasil proses tidak akan baik Circular Wait Penomoran permintaan resource Tidak ada penomoran yang memuaskan semua pihak

Metode Penghindaran Deadlock (1) Memberi kesempatan ke permintaan resource yang tidak mungkin menyebabkan deadlock. Jika pemberian akses tidak mungkin mengarah pada deadlock, maka resource akan diberikan pada proses yang meminta. Jika tidak aman, proses yang meminta akan di-suspend sampai suatu waktu permintaannya aman untuk diberikan. Kondisi aman (safe state) Jika tidak terjadi deadlock Kondisi tidak aman (unsafe state) Jika tidak terdapat cara untuk memenuhi semua permintaan

Metode Penghindaran Deadlock (2) Membutuhkan sistem yang memiliki informasi resource yang tersedia. Masing-masing proses memastikan jumlah maksimum resource yang diperlukan. Algoritma penghindaran (avoidence) deadlock memastikan tidak akan terjadi kondisi circular wait. Kondisi (state) alokasi resource didefinisikan sebagai jumlah dan alokasi resource yang tersedia dan maksimum permintaan resource oleh proses.

Basic Facts Jika sistem dalam kondisi aman (safe state)  tidak ada deadlock. Jika sistem dalam kondisi tidak aman (unsafe state)  kemungkinan dapat terjadi deadlock Pendekatan penghindaran (avoidence) memastikan bahwa sistem tidak akan pernah masuk ke dalam kondisi unsafe state.

Safe, Unsafe , Deadlock State

Algoritma Bankir (1) Dijkstra (1965) : algoritma penjadwalan dapat menghindari deadlock, dikenal dengan Algoritma Bankir. Algoritma ini digambarkan : bank sebagai OS, pinjaman sebagai resource, dan peminjam sebagai proses yang membutuhkan resource. Deadlock akan terjadi apabila terdapat seorang peminjam yang belum mengembalikan uangnya dan ingin meminjam kembali, padahal uang yang belum dikembalikan tadi dibutuhkan oleh peminjam lain yang juga belum mengembalikan uang pinjamannya.

Algoritma Bankir (2) Jadi algoritma bankir ini mempertimbangkan apakah permintaan mereka itu sesuai dengan jumlah dana yang ia miliki, sekaligus memperkirakan jumlah dana yang mungkin diminta lagi. Jangan sampai ia sampai pada kondisi dimana dananya habis dan tidak dapat meminjamkan uang lagi. Jika demikian maka akan terjadi kondisi Deadlock. Agar kondisi aman, maka asumsi setiap pinjaman harus dikembalikan waktu yang tepat.

Struktur Algoritma Bankir Tersedia Jumlah sumber daya/dana yang tersedia. Maksimum Jumlah sumber daya maksimum yang diminta oleh setiap proses. Alokasi Jumlah sumber daya yang dibutuhkan oleh setiap proses. Kebutuhan Maksimum-alokasi, sisa sumber daya yang dibutuhkan oleh proses setelah dikurangi dengan yang dialokasikan.

Kelemahan Algoritma Bankir Sulit mengetahui seluruh resource yang dibutuhkan proses pada awal eksekusi. Jumlah proses yang tidak tetap dan berubah-ubah. Mulai dari user login hingga logout. Resource yang tadinya tersedia dapat saja menjadi tidak tersedia kembali. Proses-proses yang dieksekusi haruslah tidak dibatasi oleh kebutuhan sinkronisasi antar proses. Algoritma bankir menghendaki memberikan semua permintaan selama waktu yang berhingga.

Deteksi dan Pemulihan Deadlock Menentukan apakah deadlock sedang terjadi, kemudian proses-proses dan resource yang terlibat dalam deadlock tersebut. Setelah kondisi deadlock terdeteksi, maka langkah pemulihan deadlock dilakukan.

Cara Pemulihan Deadlock Ada beberapa cara untuk pemulihan deadlock : Menggagalkan semua proses yang deadlock Mem-backup semua proses yang deadlock dan me-restart semua proses tersebut Menggagalkan proses-proses yang deadlock secara berturut-turut hingga tidak ada deadlock. Menggagalkan pengalokasian resource-resource secara berturut-turut hingga tidak ada deadlock. Kriteria proses-proses yang akan disingkirkan : Memiliki waktu proses (yang telah berjalan) kecil. Jumlah keluaran sedikit Memiliki estimasi sisa waktu eksekusi terbesar. Jumlah total resource terkecil yang telah dialokasikan Memiliki prioritas terkecil

END OF MODUL