Sistem Operasi: 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.
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)
Concurrency M-03.
Penjadwalan Sistem Interaktif
Deadlock.
Sistem Operasi (Operating Systems) Minggu 7
Sistem Operasi Sinkronisasi Proses.
Deadlock.
SINKRONISASI DAN DEADLOCK
Sinkronisasi dan Deadlock Proses
Deadlock.
Sistem Operasi 7 “Deadlock”.
Sistem Operasi DEADLOCK.
Deadlock.
MUTUAL EXCLUSION.
Manajemen Transaksi (1)
Konkurensi: Mutual Exclusion dan Sikronisasi
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
1 concurrency. Concurrency Sejumlah transaksi diperkenankan untuk mengakses data yang sama dalam aktu yang bersamaan.
Sistem Operasi Pertemuan 15.
Sistem Operasi Pertemuan 11.
Deadlock.
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.
Serializabilitas Two Phase Locking
Wahyu nurjaya wk, st., m.kom.
DEADLOCK.
Pertemuan 10 DEADLOCK By: Asriadi.
Deadlock.
Deadlock.
VII. Deadlock dan Starvation
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
Serializabilitas Two Phase Locking
DEADLOCK KELOMPOK 8 Sistem Operasi Budi Nofianto
Konkurensi (Lanjutan)
Koordinasi Antar Proses DI DALAM SISTEM TERDISTRIBUSI
Deadlock SISTEM OPERASI.
DEADLOCK.
OPERATING SYSTEM AND USE
Deadlock.
SINKRONISASI DAN DEADLOCK
8 Deadlock.
SISTEM TERDISTRIBUSI TIME AND COORDINATION.
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:

Sistem Operasi: Deadlock

Overview Definisi Strategi Anti Deadlock Sumber Daya Deadlock Strategi Anti Deadlock Beberapa Hal Terkait dengan Deadlock

DEFINISI

Sumber Daya Diperlukan oleh proses Bisa berupa hardware atau informasi Sumber daya menurut reusability Serially reusable: acquire  use  release Consumable: create  acquire  use Sumber daya menurut preemptiveness Preemptible (memory, CPU time) vs. non-preemptible (CD recorder) Sumber daya menurut sifat pemakaian bersama Shared vs. dedicated

Sumber Daya dan Deadlock Deadlock lebih susah ditangani untuk sumber daya non- preemptible Agar proses bisa mengelola sumber daya yang dibutuhkan digunakan semaphore/mutex untuk setiap sumber daya Deadlock masih bisa terjadi (ingat masalah dining philosophers)

Definisi Deadlock Sekumpulan proses terjebak dalam deadlock jika setiap proses menunggu event (terblok) yang hanya bisa disebabkan oleh proses lain yang terlibat dalam deadlock Biasanya event ini adalah pelepasan sumber daya yang sedang dikuasai oleh satu proses  resource deadlock Resource deadlock akan kita bahas paling banyak

Syarat Terjadinya Resource Deadlock Mutual exclusion: sumber daya tidak bisa dipakai bersama pada saat yang sama Hold and Wait bagi tiap proses, tiap proses bisa butuh lebih dari 1 sumber daya dan tidak melepaskan sumber daya yang sedang dikuasainya No preemption: sumber daya tidak bisa dilepaskan dari proses kecuali proses tersebut sendiri yang melepaskan Circular Wait: kondisi saling tunggu yang membentuk siklus

Pemodelan Deadlock Dimodelkan dengan graph Node berupa lingkaran untuk proses dan segi empat untuk sumber daya Anak panah dari sumber daya ke proses menyatakan penguasaan sumber daya Anak panah dari proses ke sumber daya menyatakan proses menunggu sumber daya Deadlock dikenali dari adanya siklus

Contoh Graph (1) A R B R S R B A

STRATEGI ANTI DEADLOCK

Strategi Anti Deadlock Mengabaikan: algoritma burung unta (Ostrich) Deteksi dan Recovery: deteksi proses dan sumberdaya yang terlibat deadlock dan tangani Menghindari deadlock dengan alokasi secara hati-hati Pencegahan dengan merancang sistem yang menghindari terjadinya salah satu dari keempat kondisi deadlock

Algoritma Burung Unta Abaikan saja, cukup restart komputer Jika biaya untuk menangani deadlock tidak sebanding dengan frekuensi terjadinya deadlock

Deteksi Deadlock dan Recovery Deteksi deadlock untuk 1 sumber daya per tipe Deteksi deadlock untuk banyak sumber daya per tipe Recovery deadlock

Deteksi Deadlock untuk 1 Sumberdaya per Tipe Gunakan graph sumber daya untuk mengenali siklus Algoritma untuk mengenali siklus: Untuk setiap node N lakukan langkah 2-6 List L diinisialisasi (kosong) dan tidak ada busur yang ditandai Tambahkan N ke L dan cek apakah N sudah pernah muncul (deadlock) Jika ada busur yang belum ditandai dari N pergi ke5, jika tidak ke 6 Tandai salah satu busur yang belum ditandai, jadikan node berikutnya N lalu pergi ke 3 Jika N node awal maka tidak ada siklus. Jika tidak jadikan node sebelumnya N dan pergi ke 4

Deteksi Deadlock untuk > 1 Sumberdaya per Tipe (1) Terdapat n proses P1,…,Pn dan m tipe sumber daya masing- masing Ei buah Bisa digunakan vektor untuk sumber daya yang ada dan yang bebas E = (E1,…,Em), A = (A1,…,Am) Bisa digunakan matriks untuk menyatakan sumber daya yang dikuasai (C) dan diminta oleh setiap proses (R) Setiap sumber daya pasti bebas atau dikuasai

Deteksi Deadlock untuk > 1 Sumberdaya per Tipe (2) Algoritma akan menandai proses satu per satu Proses yang tidak ditandai berarti terlibat deadlock Algoritma deteksi Cari proses Pi yang belum ditandai di mana Ri ≤ A Tambahkan Ci ke A dan tandai Pi lalu kembali ke 1 Jika tidak ada lagi proses serupa, selesai Semua proses yang belum ditandai terlibat deadlock

Contoh E = (4,2,3,1), A = (2,1,0,0) C = R = Tandai P3, P2, P1 Tidak ada deadlock

Kapan Perlu Mendeteksi Deadlock? Setiap kali ada resource request Secara periodik setiap k menit Bila penggunaan CPU turun di bawah suatu ambang

Deadlock Recovery Dengan preemption, jika memungkinkan, seringkali harus secara manual Dengan rollback, mengembalikan suatu proses yang terlibat deadlock ke kondisi terakhir yang dicatat Dengan membunuh proses yang terlibat deadlock, harus dipilih proses yang bisa di-rerun dengan mudah

Menghindari Deadlock Algoritma deteksi deadlock yang sudah dibahas mengasumsikan permintaan sumber daya serentak Realisasinya satu-per-satu Perlu algoritma alokasi sumber daya secara hati-hati agar terhindar dari deadlock

Resource Trajectories Menggambarkan kapan deadlock terjadi (shaded area) Dengan demikian alokasi sumber daya secara hati-hati bisa dilakukan untuk menghindari deadlock (safe states)

State yang Aman Untuk setiap state akan dicatat E, A, R, C State yang aman adalah bila ada alokasi sumber daya agar setiap proses pada state tersebut bisa selesai dengan selamat Has Max Has Max Free:3 (aman) Free: 2 (tidak aman) A 3 9 B 2 4 C 7 A 4 9 B 2 C 7

Algoritma untuk Menghindari Deadlock Algoritma Banker, mirip dengan seorang bankir yang melayani kredit dari nasabahnya (Dijkstra, 1965) Setiap permintaan sumber daya yang membawa pada state yang tidak aman akan ditunda Sumber daya yang dikuasai Sumberdaya yang masih dibutuhkan E=(6,3,4,2), C=(5,3,2,2), A=(1,0,2,0) A 3 1 B C D E A 1 B 2 C 3 D E

Pencegahan Deadlock Mencegah kondisi Mutual Exclusion Beberapa sumberdaya bisa sharing Menghindari pengalokasian sumberdaya yang tidak perlu Mencegah kondisi Hold and Wait Semua proses request semua kebutuhan di awal Mencegah kondisi No Preemption Virtualisasi (mis: spooling), namun tidak semua sumber daya bisa Mencegah kondisi Circular Wait Penomoran sumberdaya, request terurut nomor, atau tidak boleh lebih dari nomor yang sudah dikuasai

BEBERAPA HAL TERKAIT DENGAN DEADLOCK

Two Phase Locking Proses yang butuh database record mencoba mengunci record yang dibutuhkannya agar tidak diakses proses lain Berpotensi terjadi deadlock Biasanya dilakukan dalam 2 tahap: Tahap pertama mencoba mengunci semua record yang dibutuhkannya Jika berhasil baru masuk ke tahap kedua untuk mengakses record tersebut. Jika tidak, perlu mekanisme release (semua record yang telah dikunci) dan restart (kembali ke tahap 1). Tidak selalu bisa dilakukan

Communication Deadlock Deadlock yang disebabkan bukan karena sumber daya, melainkan karena komunikasi (jaringan) antar proses Proses A sudah mengirim pesan kepada B dan B sudah membalas, namun pesan balasannya hilang Tidak bisa dicegah atau dihindari dengan teknik untuk menangani resource deadlock Timeout bisa digunakan, namun butuh protokol untuk menghindari efek samping Resource deadlock masih bisa terjadi dalam jaringan, misalnya dalam hal buffer

Livelock Mirip dengan deadlock namun proses tidak terblok melainkan melakukan busy waiting Biasanya terjadi terkait dengan ukuran tabel pada sistem operasi Jika jarang terjadi lebih baik diabaikan (algoritma Ostrich)

Starvation Terjadi bila suatu proses tidak pernah mendapatkan sumberdaya yang dibutuhkan karena policy sistem operasi (meskipun tidak deadlock) Algoritma FCFS menjamin tidak ada starvation