21
DEADLOCK OLEH ANNAS RAHMA FATH F1B 007 009 Jurusan Teknik Elekto Fakultas Teknik Universitas Mataram Annaz- Juventus.blogspot.com

Deadlock Sistem Operasi by Annas

Embed Size (px)

Citation preview

Page 1: Deadlock Sistem Operasi by Annas

DEADLOCKOLEH

ANNAS RAHMA FATHF1B 007 009

Jurusan Teknik ElektoFakultas Teknik

Universitas MataramAnnaz-Juventus.blogspot.com

Page 2: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

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 dibutuhkan

oleh program yang lain. Tidak ada yang dapat melanjutkan

proses masing-masing sampai program yang lain

memberikan sumber dayanya, tetapi tidak ada yang

mengalah. Kondisi inilah yang disebut Deadlock atau pada

beberapa buku disebut Deadly Embrace

Page 3: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

PENYEBAB DEADLOCK

Kemungkinan penyebab (menurut Coffman et al. (1971))

1. ´Mutual Exclusion: satu proses satu sumber daya

2. ´Hold and Wait: proses yang memegang sumber daya bisa meminta sumber daya lain

3. ´No Preemption: sumber daya yang sedang digunakan oleh suatu proses tidak bisa sembarangan diambil dari proses tersebut, melainkan harus dilepaskan dengan sendirinya oleh proses.

4. ´Circular Wait : setiap proses menunggu sumber daya dari proses berikutnya

Page 4: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

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 dapat

Page 5: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

CONTOH DEADLOCK

Page 6: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

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

4. Pada kasus ini juga bisa terjadi “kelaparan”, yaitu ada proses yang tidak terlayani

Page 7: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

CONTOH DEALOCK DALAM GRAPH

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

Page 8: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

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

Page 9: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

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 “kelaparan” sebab ada proses yang tidak mendapat sumber daya sehingga menunggu terlalu lama

Page 10: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

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

Page 11: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

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 bahwa keadaan yang penting tidak bisa menunggu

Membiarkan sistem memasuki waktu deadlock, mendeteksinya, dan memperbaikinya

1. ´Algoritma mendeteksi deadlock

2. ´Algoritma memperbaiki deadlock

Page 12: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

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

Page 13: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

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.

Page 14: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

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

Page 15: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

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.

Page 16: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

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 dayanya cukup

Page 17: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

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 bahan yang proses sudah atau akan dibutuhkan atau dilakukan

Data sumber daya yang dibutuhkan sebelumnya

1. ´Pilih korban proses dengan sumber daya terkecil

2. ´Kembali ke keadaan aman, jika deadlock sudah terdeteksi

3. ´Resiko yang harus dihadapi ialah proses dengan sumber daya terkecil akan mengalami kelaparan atau tidak pernah dieksekusi

Page 18: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

MENDETEKSI DAN MEMULIHKAN DEADLOCK

Metode ini mengunakan pendekatan dengan teknik untuk menentukan apakah deadlock sedang terjadi serta proses-proses 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 dengan memperoleh sumber daya yang diperlukan oleh proses-proses yang membutuhkannya. Beberapa cara digunakan untuk mendapatkan sumber daya yang diperlukan, yaitu dengan terminasi proses dan pre-emption (mundur) suatu proses. Metode ini banyak digunakan pada komputer mainframe berukuran besar.

Page 19: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

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.

 

Page 20: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

2. RESOURCE PREEMPTION Metode ini lebih menekankan kepada bagaimana

menghambat suatu proses dan sumber daya, agar tidak terjebak pada unsafe condition. 

Beberapa langkahnya, yaitu:

 

• Pilih salah satu - proses dan sumber daya yang akan di-preempt. 

• Rollback ke safe state yang sebelumnya telah terjadi. 

• Mencegah suatu proses agar tidak terjebak pada starvation karena metode ini.

 

Page 21: Deadlock Sistem Operasi by Annas

DEADLOCK

Annaz-Juventus.blogspot.com

Daftar Pustaka

Berbagai Sumber Di Internet