180 likes | 426 Views
DEADLOCK. KELOMPOK 8 Budi Nofianto 100010761 I Wayan Agus Wiratama 100010745 AA Ngurah Bagus 100010767 I Made Doni Daryanto 100010744 Kade Bangkit Ardana 100010700. Sistem Operasi. Pokok Bahasan. Pengertian & Latar Belakang Deadlock Pengertian Resource
E N D
DEADLOCK KELOMPOK 8 • Budi Nofianto 100010761 • I Wayan Agus Wiratama 100010745 • AA Ngurah Bagus 100010767 • I Made Doni Daryanto 100010744 • Kade Bangkit Ardana 100010700 Sistem Operasi
Pokok Bahasan • Pengertian & Latar Belakang Deadlock • Pengertian Resource • Metode Penanganan Deadlock • Penyebab Terjadinya Deadlock • Kesimpulan
Pengertian dan Latar Belakang • Keadaandimana 2 ataulebihprosessalingmenunggumeminta resources untukwaktu yang tidakterbataslamanya • Analoginyasepertipadakondisijalanrayadimanaterjadikemacetanparah • Deadlock adalahefeksampingdarisinkronisasi, dimanasatuvariabeldigunakanoleh 2 proses MENU
Model Deadlock MENU
RESOURCE • Resource dapat berupa hardware device (seperti tape drive, memori) atau berupa informasi (record dalam suatu basis data, variable global, dll). Resource ada 2 jenis, yaitu: • Peemptable • Nonpreemtable. MENU
Dua Jenis Resource : • Resource preemtable adalah resource yang dapat diambil (dilepas) dari proses yang sedang memakainya tanpa memberi efek apapun pada proses tersebut. • Resource nonpreemtableadalah resource yang tidak dapat diambil dari proses yang sedang membawanya karena akan menimbulkan kegagalan komputasi. Resource jenis ini yang sering Menyebabkan deadlock. MENU
Metode Penanganan Deadlock • Deadlock Prevention: Pencegahan adanya faktor-faktor penyebab deadlock • Deadlock Avoidance: Menghindari dari situasi yang potensial dapat mengarah menjadi deadlock • Deadlock Detection: Jika deadlock ternyata tidak terhindari maka bagaimana mendeteksi terjadinya deadlock, dilanjutkan dengan penyelamatan (recovery). MENU
I. DEADLOCK PREVENTION • Adalah suatu pencegahan faktor-faktorpenyebab deadlock • 4 faktor yang harusdipenuhiuntukterjadi deadlock: • Mutual Exclusion: pemakaian resources. • Hold and Wait: caramenggunakan resources. • No preemption resource: otoritas/hak. • Circular wait: kondisisalingmenunggu. • Jikasalahsatubisadicegahmaka deadlock pastitidakterjadi! MENU
Penyebab Deadlock 1. Mutual Exclusion • Adalah Suatu kondisi dimana setiap sumber daya diberikan tepat pada satu proses pada suatu waktu. Tiga kondisi untuk menentukan mutual Exclusion diantaranya : • Tidak ada dua proses yang pada saat bersamaan berada di critical region. • Tidak ada proses yang berjalan diluar critical region yang bisa menghambat proses lain • Tidak ada proses yang tidak bisa masuk ke critical region MENU
Penyebab Deadlock 2. HOLD and WAIT • Adalah Situasi dimana suatu proses sedang hold suatu resource secara eksklusif dan ia menunggu mendapatkan resource lain (wait). MENU
Penyebab Deadlock 3. Circular Waiting • Situasi dimana terjadi saling menunggu antara beberapa proses sehingga membentuk waiting chain (circular) MENU
Penyebab Deadlock 4. No Preemption • Resource yang hanya dapat dibebaskan secara sukarela oleh proses yang telah mendapatkannya • Proses tidak dapat dipaksa (pre-empt) untuk melepaskan resource yang sedang di hold MENU
II. DEADLOCK AVOIDANCE • Resource manager menolak proses yang meminta resource yang berpotensi deadlock • Jika ada permintaan resource yang maksimum digunakan, maka proses tersebut akan dipaksa untuk melepaskan resource yang sudah dimiliknya • Perlu adanya informasi tambahan MENU
III. DEADLOCK DETECTION • Membiarkan deadlock terjadi lalu mendeteksinya kemudian melakukan tindakan recovery seperlunya • Tindakan recovery yang dilakukan adalah : • Batalkan semua proses deadlock • Batalkan satu proses pada satu waktu hingga siklus deadlock dapat dihilangkan • Lakukan preemption, membuat checkpoint untuk rollback lalu membunuh proses yang prioritasnya kecil MENU
Fakta tentang Deadlock dalam OS • Pada windows NT, deteksi deadlock yaitu berupa BSOD(Blue Screen Of Death), recoverynya adalah reboot sederhana • Pada linux untuk mengetahui apakah terjadi deadlock yaitu dengan menggunakan xosview untuk mengetahui proses yang menggunakan CPU 100%, lalu kill saja proses tersebut MENU
Kesimpulan • Deadlock adalah situasi dimana 1 atau lebih proses tidak akan pernah selesai tanpa adanya recovery • Empat kondisi penting untuk deadlock : mutual exclusion, hold and wait, circular wait, and no preemption • Deadlock bisa diatasi oleh berbagai strategi : prevention, avoidance, detection dan recovery MENU
SEKIAN dan TERIMA KASIH MENU