Masalah Deadlock. Contoh Persimpangan Jalan. Resource-Allocation Graph. Deadlock

dokumen-dokumen yang mirip
Deadlock Ch. 7. Deadlock. SISTIM OPERASI (Operating System) IKI Johny Moningka

Bab 7: Deadlock. Permasalahan Deadlock

Sistem Operasi Komputer. Pembahasan Deadlock

Bab 6. Deadlock POKOK BAHASAN: TUJUAN BELAJAR:

Deadlock. Pada kasus ini juga bisa terjadi kelaparan, yaitu ada proses yang tidak terlayani

Sistem Operasi. Deadlock & Penanganannya. Aditya Wikan Mahastama

SISTEM OPERASI DEADLOCK

SISTEM OPERASI. Deadlock.

DEADLOCK. KELOMPOK : Aurora Marsye Mellawaty Vidyanita Kumalasari Y

Bab 23. Deadlocks Pendahuluan. Gambar Contoh kasus deadlock pada lalu lintas di jembatan

Fairuz El Said Sekedar Berbagi Sistem Operasi (SO) Konkurensi KONGKURENSI

Konsep Deadlock. Kelompok 54.7 Ferry Sulistiyanto ( ) Ibnu Mubarok ( )

DEADLOCK PADA DISTRIBUSI DATA DAN PEMECAHANNYA

DEADLOCK. Haryono Setiadi, ST, M.Eng

1. DEADLOCK. Diagram Graf

Sinkronisasi & Deadlock AGUS PAMUJI. SISTEM OPERASI - Sinkronisasi & Deadlock

Bab 24. Diagram Graf Pendahuluan

Operating System: An O verview. Ch. 5: Deadlock

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock

Penggunaan Brute Force untuk Mendeteksi Potensi Terjadinya Deadlock

Komunikasi & Sinkronisasi Proses

Deadlock. Gambaran Umum Deadlock

B. Jawablah dengan ringkas dan lengkap. (Jawaban tidak lebih dari 10 kalimat) (Nilai 40) Solusi: kata kunci dalam huruf miring.

Sinkronisasi dan Deadlock Sistem Operasi

BAB VIII DEADLOCK ...

MAKALAH DEADLOCK. DIAJUKAN UNTUK MEMENUHI TUGAS MATA KULIAH Sistem Operasi Dosen Penampu Bapak Adi Sucipto, Ir., M.Kom. oleh :

Pertemuan #3: Sinkronisasi dan Deadlock

Pertemuan 4 KONKURENSI

Process Control Block (PCB) Masing-masing proses Direpresentasikan oleh Sistem Operasi dengan menggunakan Process Control Block (PCB),

Sistem Operasi Pertemuan 6 Concurrency: Deadlock & Starvation. H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

Concurrency C oncurrency 2 : Deadlock dan Starvation (P ( ertemuan ke ert -15) November 2014

November Sistem operasi #0

PENGATURAN PROSES. Proses adalah program yang sedangdieksekusi atau sofware yang sedang dilaksanakan.

DEADLOCK PADA WINDOWS DAN LINUX

Sistem Operasi. Deadlock

Q U I Z 3B - SOLUSI Mngt Memory + Konkurensi 2. By: Endro Ariyanto (END)

MODUL 4 KONSEP PROSES, KONKURENSI, MANAJEMEN PROSES (1) M. R A J A B F A C H R I Z A L - S I S T E M O P E R A S I - M O D U L 4

Sistem Operasi. Kongkurensi

Menghindari Deadlock Pada Sistem Operasi

DEADLOCK & ALGORITMA OSTRICH

Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama.

PEMAKAIAN GRAF UNTUK PENDETEKSIAN DAN PENCEGAHAN DEADLOCK PADA SISTEM OPERASI

Interaksi Antar Proses

Pencegahan Deadlock pada Alokasi Resource dalam Sistem Operasi Menggunakan Algoritma Greedy

Q U I Z 3A - SOLUSI Mngt Memory + Konkurensi 2. By: Endro Ariyanto (END)

Oleh : Arief Ristanto ( ) Edwin Kurniawan ( )

BAB 2 LANDASAN TEORI

Operating System. Synchronization & Deadlock. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Koordinasi Antar Proses

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

Sistem Operasi. Konkurensi

Penguncian pada Concurrency Control

Optimasi Algoritma Banker dengan Algoritma Greedy

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Penjadualan CPU. Konsep Dasar. Penjadualan CPU. Penggantian Rangkaian Urutan CPU dan I/O Burst

BAB 2 LANDASAN TEORI. Secara umum, sebuah sistem komputer terbagi atas hardware, sistem operasi, program

Dosen pengampu : Mohamad Dani Sifat : Tutup buku dan peralatan elektronik

Konsep Dasar Kriteria Penjadualan Algoritma Penjadualan Penjadualan Multiple-Processor Penjadualan Real-Time Evaluasi Algorithm

PROSES & THREADS 2 AGUS PAMUJI. SISTEM OPERASI - Proses & Threads

1/3/2013. Race Condition adalah situasi di mana beberapa proses mengakses

Penjadualan CPU. Konsep Dasar Kriteria Penjadualan Algoritma Penjadualan Penjadualan Multiple-Processor Penjadualan Real-Time Evaluasi Algorithm

PRAKTIKUM SISTEM OPERASI LAPORAN RESMI MODUL 2 KONSEP DASAR SISTEM OPERASI (2)

Sistem Operasi. Critical section, konkurensi, mutasi exclusion, starvation dan deadlock. Juliansyahwiran, S. Kom, MTI. Modul ke: Fakultas FASILKOM

7. Pengaturan Proses

Process Synchronization

PEDOMAN WAWANCARA UNTUK PENGAJAR

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Kongkurensi LPOHLVSFOTJ!

Penjadwalan CPU. Badrus Zaman

DEADLOCK = kompi loe nge-hang tuh..

KOMPONEN DASAR SISTEM OPERASI, DEADLOCK, DAN IMPLEMENTASI GRAF UNTUK MENDETEKSI DEADLOCK PADA SISTEM OPERASI

Sistem Operasi PENGATURAN PROSES

Aplikasi Graf dalam Pendeteksian Deadlock

IMPLEMENTASI PENANGANAN DEADLOCK MENGGUNAKAN METODE TASKKILL

Deadlock Kasus Pada Sistem Operasi

Jawaban Soal UTS Instalasi dan Penggunaan Sistem Operasi Semester Genap 2014/2015 D3 Teknik Informatika, Fakultas Ilmu Terapan, Universitas Telkom

Apa yang akan dipelajari?

SISTEM OPERASI ( DITINJAU DARI SEGI PROSES) Seperti diketahui bahwa sistem operasi, terdiri dari sekumpulan

Sistem Operasi. Partisi Statis, Partisi Dinamis Sistem Paging dan Segmentasi. Juliansyahwiran, S. Kom, MTI. Modul ke: Fakultas FASILKOM

PENERAPAN KRIPTOGRAFI DAN GRAF DALAM APLIKASI KONFIRMASI JARKOM

7 Sinkronisasi. Proses Sinkronisasi. Overview (1) Overview (2) Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors

Bab 22. Perangkat Sinkronisasi II

Rencana Perkuliahan Sistem Operasi CSG3E3 2015/2016

T UGAS STUDI KASUS SISTEM OPERASI. Mutual Exclusion. Mata Kuliah : Sistem Operasi [ CF 1322] Disusun Oleh :

The Critical Section Problem Algorithm III

Pertemuan V Penjadwalan Proses

BAB 2 LANDASAN TEORI

Sistem Operasi. Silabus :

Konkurensi. Faikul Umam

SISTEM OPERASI. Sri Kusumadewi

KONGRUENSI. Pengertian. Mutual Exclusion. Masalah yang harus diselesaikan dalam kongruensi. (lebih. dapat saling berinteraksi.

SISTEM OPERASI PENJADWALAN PROSES

Kelas: Nilai (Diisi Dosen):... IF

Proses Sinkronisasi. Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors

Sistem Operasi Penjadwalan Proses

KONGKURENSI (KEBERSAMAAN) Haryono Setiadi, ST, M.Eng

Pengantar Teknologi Sistem Informasi 1b. Concurency

12 Input / Output. Sistem I/O. Hardware I/O. Struktur PC Bus

Laporan Tugas Scheduling Pengantar Sistem Operasi

The Critical Section Problem Algorithm III. Muhammad Fikry Hazmi (143) Kresna Ridwan (145) Guntur Kondang Prakoso (153)

Transkripsi:

Mata Kuliah : Sistem Operasi Kode MK : IT-012336 8 Deadlock Tim Teaching Grant Mata Kuliah Sistem Operasi Masalah Deadlock Sekumpulan proses sedang blocked karena setiap proses sedang menunggu (antrian) menggunakan resources yang sedang digunakan (hold) oleh proses lain. Contoh: OS hanya mempunyai akses ke 2 tape drives. P1 dan P2 memerlukan 2 tape sekaligus untuk mengerjakan task (copy). P1 dan P2 masing-masing hold satu tape drives dan sedang blocked, karena menunggu 1 tape drives available. 2 Contoh Persimpangan Jalan Resource-Allocation Graph Sekumpulan vertex V dan sekumpulan edge E Hanya terdapat satu jalur Mobil digambarkan sebagai proses yang sedang menuju sumber daya. Untuk mengatasinya beberapa mobil harus preempt (mundur) Sangat memungkinkan untuk terjadinya starvation (kondisi proses tak akan mendapatkan sumber daya). V dipartisi ke dalam 2 tipe P = {P 1, P 2,, P n }, terdiri dari semua proses dalam sistem. R = {R 1, R 2,, R m }, terdiri dari semua sumberdaya dalam sistem request edge/permintaan edge : arah edge P 1 R j assignment edge/penugasan edge arah edge R j P i 3 4

Resource-Allocation Graph (Cont.) Process Contoh Resource Allocation Graph Resource Type with 4 instances P i requests instance of R j P i R j P i is holding an instance of R j P i Rj 5 6 Graf Resource Allocation Dengan Deadlock Graf Resource Allocation dengan Cycle Tanpa Deadlock 7 8

Kondisi yang Diperlukan untuk Terjadinya Deadlock Kondisi yang Diperlukan untuk Terjadinya Deadlock (cont.) Mutual Exclusion Serially-shareable resources (mis. Buffer) Contoh: Critical section mengharuskan mutual exclusion (termasuk resource), sehingga potensi proses akan saling menunggu (blocked). Hold & wait : Situasi dimana suatu proses sedang hold suatu resource secara eksklusif dan ia menunggu mendapatkan resource lain (wait). No-Preemption Resouce : 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 Circular wait Situasi dimana terjadi saling menunggu antara beberapa proses sehingga membentuk waiting chain (circular) Misalkan proses (P0, P1,.. Pn) sedang blok menunggu resources: P0 menunggu P1, P1 menunggu P2,.. dan Pn menunggu P0. 9 10 Metode Penanganan Deadlock Deadlock Prevention Deadlock Prevention: Pencegahan adanya faktorfaktor 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). Pencegahan: Faktor-faktor penyebab deadlock yang harus dicegah untuk terjadi 4 faktor yang harus dipenuhi untuk terjadi deadlock: Mutual Exclusion: pemakaian resources. Hold and Wait: cara menggunakan resources. No preemption resource: otoritas/hak. Circular wait: kondisi saling menunggu. Jika salah satu bisa dicegah maka deadlock pasti tidak terjadi! 11 12

Deadlock Prevention (1) Tindakan preventif: Batasi pemakaian resources Masalah: sistim tidak efisien, tidak feasible Mutual Exclusion: tidak diperlukan untuk shareable resources read-only files/data : deadlock dapat dicegah dengan tidak membatasi akses (not mutually exclusive) tapi terdapat resource yang harus mutually exclusive (printer) Deadlock Prevention (2) Hold and Wait Request & alokasi dilakukan saat proses start (dideklarasikan dimuka program) Request hanya bisa dilakukan ketika tidak sedang mengalokasi resource lain; alokasi beberapa resource dilakukan sekaligus dalam satu request Simple tapi resource akan dialokasi walau tidak selamanya digunakan (low utilization) serta beberapa proses bisa mengalami starvation 13 14 Deadlock Prevention (3) Deadlock Prevention (4) Mencegah Circulair Wait Pencegahan: melakukan total ordering terhadap semua jenis resource Setiap jenis resource mendapatkan index yang unik dengan bilangan natural: 1, 2,.. Contoh: tape drive=1, disk drive=5, printer=12 Request resource harus dilakukan pada resource-resource dalam urutan menaik (untuk index sama - request sekaligus) Jika Pi memerlukan Rk yang berindeks lebih kecil dari yang sudah dialokasi maka ia harus melepaskan semua resource Rj yang berindeks >= Rk Mencegah No-Preemption Jika proses telah mengalokasi resource dan ingin mengalokasi resource lain tapi tidak diperoleh (wait) : maka ia melepaskan semua resource yang telah dialokasi. Proses akan di-restart kelak untuk mencoba kembali mengambil semua resources 15 16

Deadlock Avoidance Safe, unsafe, deadlock state Pencegahan: Apabila di awal proses; OS bisa mengetahui resource mana saja yang akan diperlukan proses. OS bisa menentukan penjadwalan yang aman ( safe sequence ) alokasi resources. Model: Proses harus menyatakan max. jumlah resources yang diperlukan untuk selesai. Algoritma deadlock-avoidance secara dinamik akan memeriksa alokasi resource apakah dapat mengarah ke status (keadaan) tidak aman (misalkan terjadi circulair wait condition) Jadi OS, tidak akan memberikan resource (walaupun available), kalau dengan pemberian resource ke proses menyebabkan tidak aman (unsafe). 17 18 Safe state Prasyarat: Proses harus mengetahui max. resource yang diperlukan (upper bound) => asumsi algoritma. Proses dapat melakukan hold and wait, tapi terbatas pada sekumpulan resource yang telah menjadi kreditnya. Setiap ada permintaan resource, OS harus memeriksa jika resource diberikan, dan terjadi worst case semua proses melakukan request max. resource Terdapat urutan yang aman dari resources yang available, untuk diberikan ke proses, sehingga tidak terjadi deadlock. Kondisi Safe Resources: 12 tape drive. A (Available): 12-10 = 2 Safe sequnce: 2 tape diberikan ke U2, U2 selesai => Av = 6, Berikan 3 tape ke U1, Berikan 3 tape ke U3. No deadlock. 19 20

Kondisi Unsafe Algoritma Banker s Resources: 12 tape drive. A (Available): 12-11 = 1 Terdapat 1 tape available, sehingga dapat terjadi Deadlock. Proses harus declare max. kredit resource yang diinginkan. Proses dapat block (pending) sampai resource diberikan. Banker s algorithm menjamin sistim dalam keadaan safe state. OS menjalankan Algoritma Banker s, Saat proses melakukan request resource. Saat proses terminate atau release resource yang digunakan => memberikan resource ke proses yang pending request. 21 22 Algoritma Banker s (2) Algoritma Banker s (3) Metode : 1. Scan tabel baris per baris untuk menemukan job yang akan diselesaikan 2. Tambahkan pada job terakhir dari sumberdaya yang ada dan berikan nomor yang available Ulangi 1 dan 2 hingga : Tidak ada lagi job yang diselesesaikan (unsafe) atau Semua job telah selesai (safe) Misalkan terdapat: n proses dan m resources. Definisikan: Available: Vector/array dengan panjang m. If available [j] = k, terdapat k instances resouce jenis Rj yang dapat digunakan. Max: matrix n x m. If Max [i,j] = k, maka proses Pi dapat request paling banyak k instances resource jenis Rj. Allocation: matrix n x m. If Allocation[i,j] = k maka Pi saat ini sedang menggunakan (hold) k instances Rj. Need: matrix n x m. If Need[i,j] = k, maka Pi palaing banyak akan membutuhkan instance Rj untuk selesai. Need [i,j] = Max[i,j] Allocation [i,j]. 23 24

Algoritma Safety Let Work and Finish be vectors of length m and n,respectively. Initialize: Work := Available // resource yang free Finish [i] = false for i = 1,3,, n. Find and i such that both: // penjadwalan alokasi resource (a) Finish [i] = false // asume, proses belum complete (b) Needi Work // proses dapat selesai, ke step 3 If no such i exists, go to step 4. Work := Work + Allocationi // proses dapat selesai Finish[i] := true go to step 2. If Finish [i] = true for all i, then the system is in a safe state. Algoritma Safety (2) Terdapat 3 proses: n = 3, 1 resource: m = 1 Jumlah resource m = 12. Snapshot pada waktu tertentu: 25 26 Algoritma Safety (3) Deadlock Detection Let Need[3]; Max[3]; Aloc[3]; Finish[3]; Work [1]; 1. Work = Available; // Work = 2; Finish[0]=false, Finish[1]=false, Finish[3]=false; 2. do { FlagNoChange = false; for I=0 to 2 { if ((Finish[I] == false)) && (Need[I] <= Work) { Finis[I] = true; Work = Work + Aloc[I]; FlagNoChange = true; } } until (FlagNoChange); 27 Mencegah dan menghidari dari deadlock sulit dilakukan: Kurang efisien dan utilitas sistim Sulit diterapkan: tidak praktis, boros resources Mengizinkan sistim untuk masuk ke state deadlock Gunakan algoritma deteksi (jika terjadi deadlock) Deteksi: melihat apakah penjadwalan pemakaian resource yang tersisa masih memungkinkan berada dalam safe state (variasi safe state ). Skema recovery untuk mengembalikan ke safe state 28

Single Instance Gunakan: resource allocation graph Node mewakili proses, arcus mewakili request dan hold dari resources. Dapat disederhanakan dalam wait-for-graph Pi Pj if Pi is waiting for Pj. Secara periodik jalankan algoritma yang mencari cycle pada graph: Jika terdapat siklus (cycle) pada graph maka telah terjadi deadlock. Recovery dari Deadlock Batalkan semua proses deadlock Batalkan satu proses pada satu waktu hingga siklus deadlock dapat dihilangkan Proses mana yang dapat dipilih untuk dibatalkan? Proses dengan prioritas Proses dengan waktu proses panjang Sumberdaya proses yang telah digunakan Sumberdaya proses yang lengkap Banyak proses yang butuh untuk ditunda Apakah proses tersebut interaktif atau batch 29 30 Recovery darideadlock Pendekatan Kombinasi Pilih proses meminimasi biaya Rollback kembali ke state safe, mulai lagi proses dari state tersebut Starvation proses yang sama selalu diambil sebagai pilihan, termasuk rollbak dalam faktor biaya Kombinasi dari tiga pendekatan dasar prevention avoidance detection Pemisahan sumberdaya ke dalam hirarki kelas 31 32