VII. Deadlock dan Starvation

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.
Dosen: Jajang Kusnendar, M.T
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
KONKURENSI DEADLOCK DAN STARVATION
Prinsip-Prinsip Deadlock (1)
Concurrency M-03.
Penjadwalan Sistem Interaktif
Deadlock.
Sistem Operasi (Operating Systems) Minggu 7
Deadlock.
SINKRONISASI DAN DEADLOCK
Sinkronisasi dan Deadlock Proses
Deadlock.
Sistem Operasi 7 “Deadlock”.
Sistem Operasi DEADLOCK.
Deadlock.
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.
Konkurensi 3 Deadlock dan Starvation
Sistem Operasi Pertemuan 15.
Deadlock.
TIU Memahami konsep I/O system Memahami mekasnisme dasar dalam I/O system.
Deadlock Edi Sugiarto, S.Kom.
DEADLOCK.
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.
Konkurensi.
DEADLOCK.
Pertemuan 10 DEADLOCK By: Asriadi.
Deadlock.
Kongkurensi (Concurrency)
Deadlock.
Jurusan Teknik Informatika UPN Surabaya
SINKRONISASI & DEADLOCK
Sinkronisasi dan Deadlock
Deadlock.
Tim Teaching Grant Mata Kuliah Sistem Operasi
DEADLOCK Situasi Deadlock terjadi, jika:
PENGENDALIAN DEADLOCK
Struktur Sistem Komputer
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
Hierarki Memori Dan Cache Memori..
Deadlock.
SINKRONISASI DAN DEADLOCK
8 Deadlock.
Struktur Sistem Komputer
Tim Teaching Grant Mata Kuliah Sistem Operasi
SISTEM OPERASI MODUL Deadlock Maria Cleopatra, S.Kom
DEADLOCK Minggu ke 7.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Transcript presentasi:

VII. Deadlock dan Starvation Prinsip Deadlock: Deadlock dapat didefinisikan sebagai blocking permanen pada beberapa proses yang saling berkompetisi maupun berkomunikasi untuk memperoleh suatu sumber daya Sumber daya dapat dikatagorikan secara umum menjadi: Reusable resource Consumable resource

Reusable Resource Didefinisikan sebagai : Sumber daya yang dapat digunakan dengan aman oleh satu proses pada suatu saat Terdapat tiga kondisi perlakukan sumber daya oleh proses yaitu : request – hold – release Contoh reusable resource : - Processor - I/O channel - Main memory dan secondary memory - Device - File - Database - Semaphore

Contoh deadlock yang melibatkan reusable resource Misal terdapat dua proses yang berkompetisi untuk mengakses disk file (D) dan tape drive (T) P1 P2 repeat repeat … … Request (D); Request (T); Request (T); Request (D); Release (T); Release (D); Release (D); Release (T); forever forever

Deadlock terjadi jika masing-masing proses memegang (hold) sumber daya dan meminta (request) sumber daya yang lain yang dipegang oleh proses yang lain. Constraint on design system Cara mengatasinya dengan memberi batasan pada disain sistem untuk perintah request Consumable Resource Didefinisikan : Sumber daya yang dapat dibuat atau dilenyapkan Kondisi tidak terblock menghasilkan proses-proses yang siap melepaskan sumber daya

Saat suatu sumber daya diperlukan oleh sebuah proses sumber daya tersebut akan muncul Contoh consumable resource : - interrupt - sinyal - message - informasi dalam I/O buffer Contoh Deadlock yang melibatkan consumable resource : P1 P2 … … Receive(P2,M); Receive(P1,Q); … … Send (P2,N) Send (P1,R); Deadlock terjadi jika pesan Recive terblock di salah satu proses

Beberapa kondisi yang memungkinkan terjadinya deadlock Mutual exclusion : hanya satu proses yang boleh menggunakan sebuah sumber daya pada suatu saat Hold and wait : suatu proses dapat mememegang (hold) sumber daya yang sebenarnya ditunggu-tunggu oleh proses lain No preemption : Tidak ada sumber daya yang dapat dipaksa lepas dari suatu proses yang memegangnya Circular wait : Rantai tertutup yang menyatakan suatu proses memegang sumber daya yang diperlukan oleh proses lain sehingga terjadi saling menunggu

Circular Wait

Metoda mengatasi Deadlock Cara mengatasi deadlock : Pencegahan deadlock (deadlock prevention) Pendeteksian dan pemulihan deadlock (deadlock detection and recovery) Penghindaran deadlock (deadlock avoidance)

Deadlock prevention 1. Meniadakan mutual exclusion Deadlock disebabkan terdapatnya pengaksesan eksklusif sumber daya. Jika tidak ada sumber daya ekslusif ke satu proses tunggal, maka tidak pernah dijumpai deadlock Cara yang ditempuh untuk mengganti pengaksesan eksklusif adalah dengan spooling sumber daya yaitu proses pengakesan sumber daya diantrikan di disk 2. Mencegah hold and wait Proses me-request seluruh sumber daya pada sekaligus dan proses terblock samapai seluruh permintaan terpenuhi

Proses ini tidak efisien karena : - Proses menjadi lama karena menunggu semua sumber daya yang diminta terpenuhi yang sebenarnya dapat dikerjakan hanya dengan beberapa sumber daya - Sumber daya yang sudah dialokasikan pada proses ini mungkin saja tidak langsung digunakan tetapi karena sudah dialokasikan tidak dapat dipakai oleh proses lain 3. Mencegah no-preemption, dilakukan dengan alternatif: Jika sebuah proses yang telah menggenggam (hold) sumber daya tidak diperbolehkan meminta (request) lagi sumber daya, proses harus melepaskan (release) sumber daya tersebut dulu jika diperlukan dapat juga meminta kembali sumber daya yang dilepaskan bersamaan dengan sumber daya tambahannya

Jika proses meminta sumber daya yang sedang digenggam oleh proses lain, sistem operasi dapat menyela (preempt) proses yang menggenggam dengan meminta melepaskan sumber daya tersebut. Alternatif ini dapat dilakukan jika tidak ada dua proses yang memiliki prioritas yang sama. Contoh kasus ini adalah prosesor 4. Mencegah Circular wait Dapat dilakukan dengan mendefinisikan urutan linier dari jenis sumber daya. Jika proses telah dialokasikan pada sumber daya berjenis R maka urutan permintaan berikutnya dari proses tersebut adalah hanya yang berjenis R.

Misal sumber daya Ri mendahului Rj dengan urutan i < j Misal sumber daya Ri mendahului Rj dengan urutan i < j. Jika terdapat dua proses A dan B deadlock karena A telah memperoleh Ri dan meminta Rj dan B telah memperoleh Rj dan meminta Ri. Kondisi ini tidak akan terjadi karena pada kasus ini i < j dan juga j < I Deadlock Detection and Recovery Berbeda dengan Deadlock prevention, deadlock detection tidak membatasi akses sumber daya dan memberi larangan pada proses. Permintaan terhadap sumber daya akan diberikan jika memungkinkan

Pengecekan deadlock dilakukan setiap kali ada permintaan sumber daya Pengecekan deadlock dilakukan setiap kali ada permintaan sumber daya. Pendeteksian deadlock ini menguntungkan karena algoritmanya mudah hanya didasari perubahan state dan tidak mengkonsumsi waktu prosesor yang banyak Setelah dideteksi ada deadlock dilakukan beberapa strategi pemulihan berikut : - Keluarkan seluruh proses yang mengalami deadlock - Salin setiap proses yang deadlock ke titik pengecekan yang telah didefinisikan sebelumnya dan mulai kembali dari awal seluruh proses. Resikonya deadlock bisa terjadi lagi tapi karena proses kongkurensi tidak menentu hal ini tidak terjadi. - Sela (preempt) sumber daya sampai tidak ada deadlock

Deadlock Avoidance Process Initiation Denial Keputusan dibuat dinamik untuk mengetahui apakah suatu permintaan sumber daya jika dipenuhi dapat menyebabkan deadlock atau tidak. Dua pendekatan penghindaran deadlock - Jangan memulai proses jika proses tersebut akan menghasilkan deadlock - Jangan penuhi permintaan penambahan sumber daya jika alokasi ini dapat menyebabkan proses jadi deadlock Untuk mengetahui kondisi mendatang akan menyebabkan deadlock atau tidak digunakan langkah berikut Process Initiation Denial Misal terdapat n proses dan m jenis sumber daya. Didefinisikan dalam bentuk vektor dan matriks

Resource = = jumlah total tiap sumber daya di dalam sistem Available = = jumlah total tiap sumber daya yang belum dialokasikan Claim = = Kebutuhan tiap proses terhadap sumber daya

Allocation = Yang memiliki hubungan Sumber daya terdiri dari yang teralokasi dan yang available Untuk semua k, Tidak ada proses yang meminta sumber daya melebihi jumlah yang ada Untuk semua k, Jadi suatu proses akan dimulai hanya jika

Resource Allocation Denial State : sumber daya yang sedang dialokasikan pada suatu proses Safe state : state yang setidaknya memiliki satu urutan yang dapat menyebabkan seluruh proses selesai tanpa deadlock (Completion without deadlock) Contoh safe state dengan total sumber daya R1 = 9, R2 = 3 dan R3 =6

Urutan yang mungkin adalah P2, P1, P3, P4 Urutan yang mungkin adalah P2, P1, P3, P4. Mula-mula P2 memperoleh tambahan sumber daya R1 = 1, R2 = 0 dan R3 = 2

Contoh unsafe state Tidak ada sumber daya yang dapat dialokasikan agar proses selesai karena sumber daya yang available tidak mencukupi