Anda di halaman 1dari 21

Click to edit Master subtitle style

DEADLOC K
OLEH ANNAS RAHMA FATH F1B 007 009
Jurusan Teknik Elekto Fakultas Teknik Universitas Mataram

3/14/13

AnnazJuventus.blogspot.com

DEADLOCK

LATAR BELAKANG

Misalkan

pada suatu komputer terdapat dua buah program, sebuah tape drive dan sebuah printer. Program A mengontrol tape drive, sementara program B mengontrol printer. Setelah beberapa saat, program A meminta printer, tapi printer masih digunakan. Berikutnya, B meminta tape drive, sedangkan A masih mengontrol tape drive. Dua program tersebut memegang kontrol terhadap sumber daya yang Annaz3/14/13 dibutuhkan oleh program Juventus.blogspot.com yang lain. Tidak

DEADLOCK

PENYEBAB DEADLOCK
Kemungkinan 1. 2.

3.

3/14/13

et al. (1971)) Mutual Exclusion: satu proses satu sumber daya Hold and Wait: proses yang memegang sumber daya bisa meminta sumber daya lain No Preemption: sumber daya yang sedang digunakan oleh suatu proses tidak bisa sembarangan diambil dari Annazproses tersebut, melainkan harus Juventus.blogspot.com

penyebab (menurut Coffman

DEADLOCK

PENGERTIAN

Deadlock

adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam satu waktu. Di kehidupan nyata, deadlock Annazdapat Juventus.blogspot.com 3/14/13

DEADLOCK

CONTOH DEADLOCK

3/14/13

AnnazJuventus.blogspot.com

DEADLOCK

CONTOH PENYEBERANGAN JEMBATAN


Pada satu jalan yang memungkinkan hanya satu arah yang berjalan : 1. Setiap jalan bisa dianggap sebagai sumber daya 2. Saat deadlock terjadi hanya bisa diatasi jika salah satu mobil mundur, dalam hal ini butuh sumber daya yang direalokasikan 3. Bahkan beberapa mobil harus mundur jika deadlock terjadi Annaz4. Pada kasus ini juga bisa terjadi Juventus.blogspot.com 3/14/13

DEADLOCK

CONTOH DEALOCK DALAM GRAPH

Saat D membutuhkan sumber daya U, U sedang digunakan oleh C, demikian juga sebaliknya, sehingga terjadi deadlock AnnazJuventus.blogspot.com

3/14/13

DEADLOCK

CONTOH PERSIMPANGAN JALAN


Dalam kasus ini, setiap mobil berjalan sesuai nomor yang ditentukan Tetapi pada akhirnya mereka akan bertemu pada suatu titik yang menyebabkan deadlock

3/14/13

AnnazJuventus.blogspot.com

DEADLOCK

MENCEGAH DEADLOCK
Mengatasi

Mutual Exclusion yaitu dengan cara tidak berbagi data dengan proses lain atau dengan kata lain menyediakan data sendiri Memegang dan menunggu yaitu menunggu sampai sumber daya yang akan digunakan tidak lagi digunakan oleh proses lain - Artinya proses dapat berlangsung jika semua sumber daya yang diperlukan tidak digunakan oleh proses lain Dapat menyebabkan terjadinya AnnazJuventus.blogspot.com kelaparan sebab ada proses yang tidak 3/14/13

DEADLOCK

MENCEGAH DEADLOCK
Mengatasi

masalah No Preemptive dengan cara memerintahkan seluruh proses menunggu dan mempersilakan hanya proses yang memiliki sumber daya lama dan baru sesuai dengan daftar sumber daya yang sama dengan yang lain yang boleh berjalan Setiap kebutuhan total didata terlebih dahulu
AnnazJuventus.blogspot.com

3/14/13

DEADLOCK

MENANGANI DEADLOCK
Memakai

protokol untuk menghindari atau mengabaikandeadlock, sehingga dipastikan tidak akan memasuki keadaandeadlock 1. Deadlock Avoidance => memerintahkan pada sistem operasi untuk memberi informasi tentang operasi mana yang bisa dan perlu dilaksanakan (keadaan aman). Selain itu bisa juga menggunakan algoritma bankir 2. Deadlock Prevention => memastikan Annazbahwa keadaan yang penting tidak bisa Juventus.blogspot.com 3/14/13 menunggu

DEADLOCK

MENANGANI DEADLOCK
Mengabaikan

adanya deadlock dan menganggap keadaan deadlock tidak pernah terjadi ( Algoritma Ostrich ) 1. Secara sederhana algoritma ini dapat dikatakan abaikan deadlock seakan-akan tidak ada masalah apapun dengannya 2. Algoritma ini disadur oleh Sistem Operasi Unix, meskipun memerlukan biaya yang cukup besar untuk mengatasi sebuah deadlock
AnnazJuventus.blogspot.com

3/14/13

DEADLOCK

Strategi Ostrich

Pendekatan yang paling sederhana adalah dengan menggunakan strategi burung unta: masukkan kepala dalam pasir dan seolah-olah tidak pernah ada masalah sama sekali. Beragam pendapat muncul berkaitan dengan strategi ini. Menurut para ahli Matematika, cara ini sama sekali tidak dapat diterima dan semua keadaan deadlock harus ditangani. Sementara menurut para ahli Teknik, jika komputer lebih sering mengalami kerusakkan disebabkan oleh kegagalan hardware, error pada kompilator atau bugs pada sistem operasi. Maka ongkos yang dibayar untuk melakukan penanganan deadlock sangatlah besar dan lebih baik mengabaikan keadaan deadlock tersebut. Metode ini diterapkan pada sistem operasi UNIX dan MINIX.
AnnazJuventus.blogspot.com

3/14/13

DEADLOCK

KONDISI AMAN

Saat sistem meminta izin untuk mengambil sumber dayanya, sistem operasi harus memastikan bahwa ia dalam kondisi aman Sistem dalam kondisi aman jika seluruh sistem dapat berjalan tanpa terancam kekurangan sumber daya atau deadlock

3/14/13

AnnazJuventus.blogspot.com

DEADLOCK

KONDISI TIDAK AMAN

Suatu state dinyatakan sebagai state tak selamat (unsafe state) jika tidak terdapat cara untuk memenuhi semua permintaaan yang saat ini ditunda dengan menjalankan proses-proses dengan suatu urutan.

3/14/13

AnnazJuventus.blogspot.com

DEADLOCK

ALGORITMA BANKIR
Setiap

proses yang masuk harus memberitahu berapa banyak sumber daya maksimum yang dibutuhkan Setelah itu sistem mendeteksi apakah sumber daya yang dibutuhkan memang bisa dijalankan dalam kondisi aman 1. Jika ya, maka sistem akan melepaskan sumber dayanya untuk digunakan 2. Jika tidak, maka proses harus menunggu hingga sumber Annazdayanya cukup
3/14/13

Juventus.blogspot.com

DEADLOCK

KELUAR DARI DEADLOCK


Mematikan

program 1.Matikan semua proses yang berjalan 2. Hanya matikan proses yang berjalan dalam siklus deadlock

Urutan

terminasinya: Prioritas rendah Seberapa jauh dan berapa banyak Annazbahan yang proses sudah atau akan 3/14/13 dibutuhkan atau dilakukan Juventus.blogspot.com

DEADLOCK

MENDETEKSI DAN MEMULIHKAN DEADLOCK


Metode

ini mengunakan pendekatan dengan teknik untuk menentukan apakah deadlock sedang terjadi serta prosesproses dan sumber daya yang terlibat dalam deadlock tersebut. Setelah kondisi deadlock dapat dideteksi, maka langkah pemulihan dari kondisi deadlock dapat segera dilakukan.

Langkah

pemulihan tersebut adalah Annazdengan memperoleh sumber daya yang Juventus.blogspot.com 3/14/13 diperlukan oleh proses-proses yang

DEADLOCK

1. TERMINASI PROSES
Metode ini akan menghapus proses-proses yang terlibat pada kondisi deadlock dengan mengacu pada beberapa syarat. Beberapa syarat yang termasuk dalam metode ini adalah : 1. Menghapus semua proses yang terlibat dalam kondisi deadlock (solusi ini terlalu mahal). 2. Menghapus satu persatu proses yang terlibat, sampai kondisi deadlock dapat diatasi (memakan banyak waktu). 3. Menghapus proses berdasarkan prioritas, waktu eksekusi, waktu untuk selesai, dan kedalaman dari rollback.

3/14/13

AnnazJuventus.blogspot.com

DEADLOCK

2. RESOURCE PREEMPTION
Metode

ini lebih menekankan kepada bagaimana menghambat suatu proses dan sumber daya, agar tidak terjebak pada unsafe condition. langkahnya, yaitu:

Beberapa

Pilih salah satu - proses dan sumber daya yang akan di-preempt. Rollback ke safe state yang Annazsebelumnya telah terjadi. Juventus.blogspot.com 3/14/13

DEADLOCK

Daftar Pustaka
Sumber Di Internet

Berbagai

3/14/13

AnnazJuventus.blogspot.com

Anda mungkin juga menyukai