SISTEM OPERASI. Deadlock.

dokumen-dokumen yang mirip
Sistem Operasi Komputer. Pembahasan Deadlock

Bab 7: Deadlock. Permasalahan Deadlock

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

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

Bab 6. Deadlock POKOK BAHASAN: TUJUAN BELAJAR:

Sistem Operasi. Deadlock

Sistem Operasi. Deadlock & Penanganannya. Aditya Wikan Mahastama

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

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

Deadlock. Gambaran Umum Deadlock

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

BAB VIII DEADLOCK ...

DEADLOCK. KELOMPOK : Aurora Marsye Mellawaty Vidyanita Kumalasari Y

DEADLOCK. Haryono Setiadi, ST, M.Eng

SISTEM OPERASI DEADLOCK

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

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

DEADLOCK PADA WINDOWS DAN LINUX

1. DEADLOCK. Diagram Graf

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock

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

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

Penggunaan Brute Force untuk Mendeteksi Potensi Terjadinya Deadlock

Sinkronisasi dan Deadlock Sistem Operasi

Deadlock Ch. 7. Deadlock. SISTIM OPERASI (Operating System) IKI Johny Moningka

BAB 2 LANDASAN TEORI

Komunikasi & Sinkronisasi Proses

November Sistem operasi #0

DEADLOCK PADA DISTRIBUSI DATA DAN PEMECAHANNYA

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

Aplikasi Graf dalam Pendeteksian Deadlock

Pertemuan #3: Sinkronisasi dan Deadlock

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

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

Bab 24. Diagram Graf Pendahuluan

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

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

Pertemuan 4 KONKURENSI

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

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

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

Deadlock Kasus Pada Sistem Operasi

PEMAKAIAN GRAF UNTUK PENDETEKSIAN DAN PENCEGAHAN DEADLOCK PADA SISTEM OPERASI

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

7. Pengaturan Proses

DEADLOCK & ALGORITMA OSTRICH

Sistem Operasi. Kongkurensi

DEADLOCK = kompi loe nge-hang tuh..

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

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

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

Pencegahan Deadlock pada Alokasi Resource dalam Sistem Operasi Menggunakan Algoritma Greedy

Oleh : Arief Ristanto ( ) Edwin Kurniawan ( )

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

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

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

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

BAB 1 PENDAHULUAN. Algoritma Banker dikemukakan oleh Edsger W.Djikstra dan merupakan salah satu

PEDOMAN WAWANCARA UNTUK PENGAJAR

Optimasi Algoritma Banker dengan Algoritma Greedy

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

Koordinasi Antar Proses

DEADLOCK & RECOVERY SYSTEM

Menghindari Deadlock Pada Sistem Operasi

Sistem Operasi PENGATURAN PROSES

Recap. Proses. Proses. Multiprogramming. Multiprocessing 9/16/2016. Ricky Maulana Fajri

GARIS GARIS BESAR PROGRAM PENGAJARAN/GBPP (Rencana Kegiatan Belajar Mengajar)

IMPLEMENTASI PENANGANAN DEADLOCK MENGGUNAKAN METODE TASKKILL

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

SISTEM OPERASI. Deskripsi Proses. Multiprogramming. Istilah dalam Proses. (multitasking) MANAJEMEN PROSES. Multiprogramming.

BAB II TINJAUAN PUSTAKA

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Struktur Sistem Komputer

Struktur Sistem Komputer. Abdullah Sistem Informasi Universitas Binadarma

SISTEM PEMODELAN SIMULASI PERMOHONAN KREDIT MENGGUNAKAN ALGORITMA BANKER

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

1.Proses control block dalam istilah lain Taks controlling block, Taks struct, atau Switchframe. Jelaskan dan berikan gambaran proses control block?

Tujuan Pembelajaran. Memahami proses swapping Memahami proses alokasi memori berurutan (Contiguous Memori Allocation)

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

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

BAB II TINJAUAN PUSTAKA

Struktur Sistem Operasi

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi

Rencana Perkuliahan Sistem Operasi CSG3E3 2015/2016

PERANGKAT LUNAK SIMULASI ALGORITMA BANKER TUGAS AKHIR JEANY CYNTHYA

Konsep dasar memori virtual

Struktur Sistem Komputer

Apa yang akan dipelajari?

Sistem Operasi AGUS PAMUJI. Teknik Informatika

Laporan Tugas Scheduling Pengantar Sistem Operasi

SISTEM OPERASI TERDISTRIBUSI

Penguncian pada Concurrency Control

Pertemuan V Penjadwalan Proses

MODUL 7 MANAJEMEN DISK

Sistem Operasi. Konkurensi

STRUKTUR SISTEM OPERASI

Modul ke: Aplikasi Komputer. Sistem Operasi. Fakultas Fikom. Eppstian Syah As ari. Program Studi Jati Sampurna / Kranggan

SISTEM OPERASI. Sri Kusumadewi

4. Apa yang dimaksud dengan user mode?(nilai 3) Jawab: Adalah kondisi pada saat program user (job) sedang dieksekusi oleh prosesor.

Sistem Operasi Pertemuan 2 Sistem Operasi. (Pengenalan) H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

Transkripsi:

SISTEM OPERASI Deadlock ruliriki@gmail.com http://blogriki.wordpress.com

Pembahasan System Model Karakteristik Deadlock Metode-metode Penanganan Deadlock Deadlock Prevention Deadlock Avoidance Deadlock Detection

Deadlock Deadlock adalah suatu kondisi dimana dua proses atau lebih tidak dapat meneruskan eksekusinya Permasalahan deadlock terjadi karena sekumpulan proses-proses yang di-blok dimana setiap proses membawa sebuah sumber daya dan menunggu mendapatkan sumber daya yang dibawa oleh proses lain. Misalnya sistem mempunyai 2 tape drive dan terdapat duaproses P1 dan P2 yang masing masing membawa satu tape drive dan masingmasingmemerlukantape

Resources (1) Contoh resources sistem komputer printers tape drives Proses-proses membutuhkan akses ke resource secara teratur Contoh 1 : suatu proses memegang(hold) resource A dan meminta resource B pada saat yang sama proses lain sedang memegang resource B dan meminta resource A masing-masing proses melakukan block, dalam kondisi seperti ini terjadi deadlock

Resources (2) Contoh 2 : semaphores A dan B, di-inisialisasi 1 P 0 P 1 wait (A); wait(b) wait (B); wait(a)...... signal(a) signal(b) signal(b) signal(a)

Contoh 3 : Bridge Crossing Resources (3) Traffic hanya satu arah Masing-masing bagian jembatan dapat digambarkan sebagai resource. Jika deadlock terjadi, dapat diselesaikan dengan cara satu mobil mundur ke belakang. Beberapa mobil harus kembali jika terjadi deadlock Memungkinkan terjadinya starvation

Resources (4) Deadlock terjadi ketika proses-proses diberikan hak akses secara eksklusif ke devices (resources) Preemptable resources dapat diambil dari proses tanpa menimbulkan efek yang buruk Nonpreemptable resources akan menyebabkan proses gagal jika diambil

System Model Tipe resource R 1, R 2,..., R m CPU cycles, memory space, I/O devices Masing-masing proses melakukan utilisasi resources 1. Meminta (request) resource 2. Menggunakan resource 3. Membebaskan (release) the resource

4 Kondisi Terjadinya Deadlock Kondisi Mutual exclusion hanya satu proses dalam satu waktu yang dapat memegang (hold) resource Hold and wait condition suatu proses memegang satu resource dan me-request resource yang lain No preemption condition resource hanya dapat di-release setelah proses menyelesaikan tasknya pada resource tersebut Circular wait condition Masing-masing proses menunggu resource yang digunakan oleh proses lain secara berantai. Terdapat himpunan proses yang sedang menunggu {P 0, P 1,, P 0 } sedemikian sehingga P 0 menunggu resource yang dipegang oleh P 1, P 1 sedang menunggu resource yang dipegang oleh P 2,, P n 1. P n 1 menunggu resource yang dipegang oleh P n. Dan P n menunggu resource yang dipegang oleh P 0.

Resource-Allocation Graph (1) Terdapat himpunan vertices V dan himpunan edges E. V dipartisi ke dalam dua tipe : P= {P 1, P 2,, P n }, himpunan proses dalam sistem. R= {R 1, R 2,, R m }, himpunan tipe resource dalam sistem. Request edge directed edge P 1 R j Assignment edge directed edge R j P i

Resource-Allocation Graph (2) Proses Tipe Resource dengan 4 instances P i meminta(requests) instance darir j P i R j P i mendapat(holding) instance darir j P i Rj

Contoh Resource Allocation Graph

Resource Allocation Graph-Deadlock

Siklus Graph P1 R1 P2 R3 P3 R2 P1 P2 R3 P3 R2 P2 Proses P1, P2 dan P3 akan mengalami deadlock Proses P2 menunggu resource R3 yang dibawa oleh P3 Disisi lain, P3 menunggu proses P1 atau P2 untuk membebaskan resource R2 Proses P1 menunggu P2 untuk membebaskan R1

Resource Allocation Graph Cycle - Tidak Deadlock

Siklus Graph P1 R1 P3 R2 P1 Tidak ada proses yang mengalami deadlock P4 dapat membebaskan satu anggota resource tipe R2 yang kemudian dapat dialokasikan ke P3 sehingga mampu memutuskan siklus yang ada.

Basic Facts Jika graph tidak mengandung cycle no deadlock. Jika graph mengandung cycle Jika hanya satu instance per tipe resource, maka terjadi deadlock. Jika beberapa instances per tipe resource, kemungkinan dapat terjadi deadlock.

Metode-metode Penanganan Deadlocks Memastikan bahwa sistem tidak akan pernah masuk ke dalam kondisi (state) deadlock. Memungkinkan sistem untuk masuk ke dalam kondisi deadlock dan kemudian melakukan recovery (pemulihan). Mengabaikan masalah deadlock dan membuat deadlock tidak pernah terjadi dalam sistem; digunakan pada OS umumnya (Unix).

Metode Pencegahan Deadlock (1) Cara pencegahan (Prevention) dari sisi permintaan (request) resources : Mutual Exclusion tidak diperlukan untuk resourceresource yang di-share; harus dipegang (hold)untuk resource-resource yang tidak di-share (nonsharable resources). Hold and Wait harus dijamin bahwa kapanpun suatu permintaan proses pada resource, proses tersebut tidak memegang resource yang lain. Membutuhkan proses untuk me-request dan mengalokasikan resources sebelum memulai eksekusi, atau membolehkan proses untuk me-request resource hanya ketika proses tidak sedang memegang resource. Utilisasi resource yang rendah memungkinkan terjadinya starvation.

Metode Pencegahan Deadlock (2) No Preemption Jika suatu proses yang memegang beberapa resource merequest resource yang lain yang tidak dapat secara langsung dialokasikan, maka semua resource yang sedang dipegang dibebaskan(released). Preempted resources ditambahkankelist resources dimana proses sedang menunggu. Proses akan di-restart hanya jika dapat mengambil kembali (regain) resource, juga resource yang baru yang di-request. Circular Wait Membuat penomoran pada proses-proses yang mengakses resource. Suatu proses dimungkinkan untuk dapat meminta resource kapanpun, tetapi permintaannya harus dibuat terurut.

Tabel Deadlock Syarat Mutual Exclusion Hold & Wait No Pre-emptiveemptive Circular Wait Langkah Spooling resource Meminta resource diawal Mengambil resource di tengah jalan Penomoran permintaan resource Kelemahan Dapat menyebabkan chaos Sulit memperkirakan di awal dan tidak optimal Hasil proses tidak akan baik Tidak ada penomoran yang memuaskan semua pihak

Metode Penghindaran Deadlock (1) Memberi kesempatan ke permintaan resource yang tidak mungkin menyebabkan deadlock. Jika pemberian akses tidak mungkin mengarah pada deadlock, maka resource akan diberikan pada proses yang meminta. Jika tidak aman, proses yang meminta akan di-suspend sampai suatu waktu permintaannya aman untuk diberikan. Kondisi aman (safe state) Jika tidak terjadi deadlock Kondisi tidak aman (unsafe state) Jika tidak terdapat cara untuk memenuhi semua permintaan

Metode Penghindaran Deadlock (2) Membutuhkan sistem yang memiliki informasi resource yang tersedia. Masing-masing proses memastikan jumlah maksimum resource yang diperlukan. Algoritma penghindaran (avoidence) deadlock memastikan tidak akan terjadi kondisi circular wait. Kondisi (state) alokasi resource didefinisikan sebagai jumlah dan alokasi resource yang tersedia dan maksimum permintaan resource oleh proses.

Basic Facts Jika sistem dalam kondisi aman (safe state) tidak ada deadlock. Jika sistem dalam kondisi tidak aman (unsafe state) kemungkinan dapat terjadi deadlock Pendekatan penghindaran (avoidence) memastikan bahwa sistem tidak akan pernah masuk ke dalam kondisi unsafe state.

Safe, Unsafe, Deadlock State

Algoritma Bankir (1) Dijkstra (1965) : algoritma penjadwalan dapat menghindari deadlock, dikenal dengan Algoritma Bankir. Algoritma ini digambarkan : bank sebagai OS, pinjaman sebagai resource, dan peminjam sebagai proses yang membutuhkan resource. Deadlock akan terjadi apabila terdapat seorang peminjam yang belum mengembalikan uangnya dan ingin meminjam kembali, padahal uang yang belum dikembalikan tadi dibutuhkan oleh peminjam lain yang juga belum mengembalikan uang pinjamannya.

Algoritma Bankir (2) Jadi algoritma bankir ini mempertimbangkan apakah permintaan mereka itu sesuai dengan jumlah dana yang ia miliki, sekaligus memperkirakan jumlah dana yang mungkin diminta lagi. Jangan sampai ia sampai pada kondisi dimana dananya habis dan tidak dapat meminjamkan uang lagi. Jika demikian maka akan terjadi kondisi Deadlock. Agar kondisi aman, maka asumsi setiap pinjaman harus dikembalikan waktu yang tepat.

Struktur Algoritma Bankir Tersedia Jumlah sumber daya/dana yang tersedia. Maksimum Jumlah sumber daya maksimum yang diminta oleh setiap proses. Alokasi Jumlah sumber daya yang dibutuhkan oleh setiap proses. Kebutuhan Maksimum-alokasi, sisa sumber daya yang dibutuhkan oleh proses setelah dikurangi dengan yang dialokasikan.

Kelemahan Algoritma Bankir Sulit mengetahui seluruh resource yang dibutuhkan proses pada awal eksekusi. Jumlah proses yang tidak tetap dan berubah-ubah. Mulai dari user login hingga logout. Resource yang tadinya tersedia dapat saja menjadi tidak tersedia kembali. Proses-proses yang dieksekusi haruslah tidak dibatasi oleh kebutuhan sinkronisasi antar proses. Algoritma bankir menghendaki memberikan semua permintaan selama waktu yang berhingga.

Deteksi dan Pemulihan Deadlock Menentukan apakah deadlock sedang terjadi, kemudian proses-proses dan resource yang terlibat dalam deadlock tersebut. Setelah kondisi deadlock terdeteksi, maka langkah pemulihan deadlock dilakukan.

Cara Pemulihan Deadlock Ada beberapa cara untuk pemulihan deadlock : Menggagalkan semua proses yang deadlock Mem-backup semua proses yang deadlock dan me-restart semua proses tersebut Menggagalkan proses-proses yang deadlock secara berturut-turut hingga tidak ada deadlock. Menggagalkan pengalokasian resource-resource secara berturut-turut hingga tidak ada deadlock. Kriteria proses-proses yang akan disingkirkan : Memiliki waktu proses (yang telah berjalan) kecil. Jumlah keluaran sedikit Memiliki estimasi sisa waktu eksekusi terbesar. Jumlah total resource terkecil yang telah dialokasikan Memiliki prioritas terkecil

Latihan 1. Sebutkan faktor-faktor apa saja yang dapat menimbulkan terjadinya deadlock! 2. Denganmenghindariadanyamutual exclusion apakahmenjaminbahwadeadlock tidak akan terjadi? Jelaskan! 3. KapanAlgoritmaResource-Allocation Graph dapat digunakan untuk menunjukkan adanya deadlock? 4. Apakah dengan menggunakan Algoritma Banker dapatmenjaminbahwadeadlock dapat dihindari? Jelaskan