Deadlock Kasus Pada Sistem Operasi

dokumen-dokumen yang mirip
Case Study Pengalokasian Memory

Menghindari Deadlock Pada Sistem Operasi

Proses Menagemen Memori

Metode Akses File. Akses File Berurutan

Alokasi Ruang Swap Pada Disk

Konsep Dasar Sistem Komputer

KONSEP DASAR IMPLEMENTASI SISTEM FILE

MANAJEMEN MEMORI VIRTUAL

Macam-Macam Fungsi Hash

PENJADWALAN PROSES. Tiga Level Penjadwalan

ALGORITMA PAGE REPLACEMENT

Macam-Macam Skturtur Tertiary-Strorage

Masalah-Masalah Klasik Sinkronisasi

MANAGEMENT DISK. Memformat Disk

Bab 6. Deadlock POKOK BAHASAN: TUJUAN BELAJAR:

Sinkronisasi dan Deadlock Sistem Operasi

ARSITEKTUR SISTEM OPERASI

Sistem Operasi Komputer. Pembahasan Deadlock

Bab 24. Diagram Graf Pendahuluan

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

BAB VIII DEADLOCK ...

DEADLOCK & ALGORITMA OSTRICH

Bab 7: Deadlock. Permasalahan Deadlock

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

SISTEM OPERASI. Deadlock.

Aplikasi Graf dalam Pendeteksian Deadlock

1. DEADLOCK. Diagram Graf

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

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

Bab 13. Konsep Penjadwalan

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Kontrak Kuliah. Sistem Operasi

DEADLOCK PADA DISTRIBUSI DATA DAN PEMECAHANNYA

Penggunaan Brute Force untuk Mendeteksi Potensi Terjadinya Deadlock

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

Deadlock. Gambaran Umum Deadlock

A. Deskripsi Singkat. B. Tujuan Instruksional Umum (TIU) C. Bahasan. SILABUS MATA KULIAH Kode MK: Semester: Bobot SKS: 3. Matakuliah : SISTEM OPERASI

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

Makalah PENJADWALAN PROSES. Dosen : Azwar, M. Kom DI SUSUN OLEH ELAN K.LUWITI NIM :T KELAS 2/KC FAKULTAS ILMU KOMPUTER (FIKOM)

DEADLOCK. Haryono Setiadi, ST, M.Eng

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock

PEMAKAIAN GRAF UNTUK PENDETEKSIAN DAN PENCEGAHAN DEADLOCK PADA SISTEM OPERASI

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

Pertemuan #1: Pengenalan Sistem Operasi

Sistem Operasi. Deadlock

7. Pengaturan Proses

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

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

RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER

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

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

1. Memori manajer 2. Manajemen memori dengan swapping dan paging

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

Bab 19. Solusi Critical Section

BAB 2 LANDASAN TEORI

Penjadualan Process Bagian 1

SISTEM OPERASI DEADLOCK

Pencegahan Deadlock pada Alokasi Resource dalam Sistem Operasi Menggunakan Algoritma Greedy

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

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Pertemuan #3: Sinkronisasi dan Deadlock

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

Sistem Operasi. Deadlock & Penanganannya. Aditya Wikan Mahastama

BAB IV PENJADWALAN MEMORI MATERI

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

PENYELARASAN PADA MASALAH DINING PHILOSOPHERS MENGGUNAKAN ALGORITMA LOCK & RELEASE

DEADLOCK PADA WINDOWS DAN LINUX

IKI Sistem Operasi Konsep Page Replacement (Pemindahan Halaman)

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

DEADLOCK. KELOMPOK : Aurora Marsye Mellawaty Vidyanita Kumalasari Y

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

ANALISIS DAN PERANCANGAN SISTEM BASIS DATA UNTUK PEMESANAN HOTEL PEONY BERBASIS WEB

SILABUS JURUSAN MANAJEMEN - PROGRAM STUDI D3 MANAJEMEN INFORMATIKA DIREKTORAT DIPLOMA TEKNOLOGI INFORMASI UNIVERSITAS GUNADARMA

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi Manajemen Disk dan Algoritma Penjadualan Disk

Arsitektur Komputer. Pertemuan - 1. Oleh : Riyanto Sigit, S.T, M.Kom Nur Rosyid Mubtada i S.Kom Setiawardhana, S.T Hero Yudo Martono, S.

BAB II TINJAUAN PUSTAKA

Oleh : Arief Ristanto ( ) Edwin Kurniawan ( )

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

BAB 6 KESIMPULAN DAN SARAN

SISTEM APLIKASI PEMINJAMAN FASILITAS UNIVERSITAS WIDYATAMA

BAB 8 KESIMPULAN DAN SARAN

1. Istilah-istilah dalam penjadwalan proses

Bab 10. Konsep Proses

RENCANA PEMBELAJARAN

Aplikasi Komputer PERANGKAT LUNAK (SOFTWARE) Sulis Sandiwarno, S.Kom.,M.Kom. Sistem Informasi. Modul ke: Fakultas FASILKOM.

Komunikasi & Sinkronisasi Proses

FAKTOR-FAKTOR PENDEWASAAN HCI

Penjadualan Process Bagian 2

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

KELOMPOK 57.2 APLIKASI ANTARMUKA I/O SUBSISTEM KERNEL OPERASI PERANGKAT KERAS. Kritik dan saran :

Sistem Terdistribusi. Silabus

Pertemuan 4 KONKURENSI

November Sistem operasi #0

IMPLEMENTASI PENANGANAN DEADLOCK MENGGUNAKAN METODE TASKKILL

Copyright Sistem Operasi - silakan merevisi dan menyebarluaskan materi ini

Sistem Operasi. Kongkurensi

MATA KULIAH SISTEM OPERASI (CSD60021)

PELABELAN PRODUCT CORDIAL PADA TENSOR PRODUCT PATH DAN SIKEL

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

Transkripsi:

Deadlock Kasus Pada Sistem Operasi Abas Ali Pangera, Dony Ariyus, Jurusan Teknik Informatika, STMIK AMIKOM Yogyakarta, Jl. Ring Road Utara, Condong Catur, Sleman, Yogyakarta - Indonesia Pada bagian ini akan membahas konsep dari deadlock, yang akan membahas Model Sistem, Karakteristik Deadlock, Metode untuk Menangani Deadlock, Mencegah Deadlock, Menghindari Deadlock, Mendeteksi Deadlock, Perbaikan dari Deadlock dan Kombinasi Penanganan Deadlock. 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 dua proses P1 dan P2 yang masing masing membawa satu tape drive dan masing-masing memerlukan tape drive yang dibawa proses lain sehingga terjadi keadaan saling menunggu resource dan sistem di-blok. Contoh lain, misalnya terdapat semaphore A dan B yang diinisialisasi 1 dan terdapat dua proses P0 dan P1 masing-masing membawa semaphore A dan B. Kemudian P0 dan P1 meminta semaphore B dan A dengan menjalankan operasi wait. Hal ini mengakibatkan proses di-blok dan terjadi deadlock. Model Sistem Deadlock Ilutrasi Terjadinya Deadlock Pada sistem terdapat beberapa sumber daya (resource) yang digunakan untuk proses-proses untuk menyelesaikan task. Sumber daya yang pada sistem terdiri dari tipe resource CPU cycle, ruang memori, perangkat I/O yang disebut dengan tipe sumber daya R1, R2,..., Rm. Setiap tipe sumber daya Ri mempunyai beberapa anggota Wi. Setiap proses yang menggunakan sumber daya menjalankan urutan operasi sebagai berikut: Meminta (request) : meminta sumber daya Memakai (use) : memakai sumber daya

Melepaskan (release) : melepaskan sumber daya Karakteristik Deadlock Pada umumnya terdapat dua karakteristik deadlock diantaranya adalah:kondisi yang Diperlukan dan Resource Allocation Graph Kondisi yang Diperlukan Deadlock terjadi bila terdapat empat kondisi berikut ini secara simultan. a. Mutual Exclusion : hanya satu proses pada satu waktu yang dapat menggunakan sumber daya. b. Genggam dan Tunggu (Hold and Wait) : suatu proses membawa sedikitnya satu sumber daya menunggu mendapatkan tambahan sumber daya baru yang dibawa oleh proses c. Non-Preemption : sebuah sumber daya dapat dibebaskan dengan sukarela oleh proses yang memegangnya setelah proses menyelesaikan task. d. Menunggu Secara Sirkuler (Circular Wait) : Terdapat sekumpulan proses {P0, P1,, P0} yang menunggu sumber daya dimana P0 menunggu sumber daya yang dibawa P1, P1 menunggu sumber daya yang dibawa P2, dan seterusnya, Pn 1 menunggu sumber daya yang dibawa oleh Pn, dan Pn menunggu sumber daya yang dibawa P0. Ketiga syarat pertama merupakan syarat perlu (necessary conditions) bagi terjadinya deadlock. Keberadaan deadlock selalu berarti terpenuhi kondisi-kondisi di atas, tak mungkin terjadi deadlock bila tidak ada ketiga kondisi itu. Deadlock terjadi berarti terdapat ketiga kondisi itu, tetapi adanya ketiga kondisi itu belum berarti terjadi deadlock. Deadlock baru benar-benar terjadi bila syarat keempat terpenuhi. Kondisi keempat merupakan keharusan bagi terjadinya peristiwa deadlock. Bila salah satu saja dari kondisi tidak terpenuhi maka deadlock tidak terjadi. Resource Allocation Graph Deadlock dapat digambarkan lebih presisi dengan menggunakan graph berarah yang disebut resource allocation graph. Graph terdiri dari himpunan titik V dan garis E. Himpunan titik (vertex) V dibagi menjadi dua tipe yaitu himpunan proses yang aktif pada sistem P = {P1, P2,..., Pn} dan tipe sumber daya pada sistem R = {R1, R2,..., Rm} Garis berarah dari proses Pi ke tipe sumber daya Rj dinotasikan dengan Pi Rj artinya proses Pi meminta satu anggota dari tipe sumber daya Rj dan sedang menunggu sumber daya tersebut. Garis berarah dari tipe sumber daya Rj ke proses Pi dinotasikan dengan Rj Pi artinya satu anggota tipe sumber daya Rj dialokasikan ke proses Pi. Garis berarah Pi Rj disebut request edge dan garis berarah Rj Pi disebut assignment edge. Notasi-notasi yang digunakan pada resource allocation graph adalah:

Dua proses P 0 dan P 1 Dua sumber daya R 0 dan R 1 Contoh Resources Allocation Graph Graph Meminta Sumber Daya dan Alokasi Aumber Daya

Perminta sumber daya R 0 diminta oleh proses P 0 dan sumber daya R 1 dialokasikan ke P 1 Contoh resource allocation graph dapat dilihat pada Gambar 6-1 dimana keadaan sistem adalah sebagai berikut : Himpunan P, R dan E : o P = {P1, P2, P3} o R = {R1, R2, R3, R4} o E = {P1 R1, P2 R3, R1 P2, R2 P2, R2 P1, R3 P3} Anggota sumber daya : o Satu anggota dari tipe sumber daya R1. o Dua anggota dari tipe sumber daya R2. o Satu anggota dari tipe sumber daya R3. o Tiga anggota dari tipe sumber daya R4. Status proses : o Proses P1 membawa satu anggota tipe sumber daya R2 dan menunggu satu anggota tipe sumber daya R1. o Proses P2 membawa satu anggota R1 dan R2 dan menunggu satu anggota tipe sumber daya R3. o Proses P3 membawa satu anggota R3. Fakta dasar dari resource allocation graph menunjukkan bahwa : Apabila pada graph tidak terdapat siklus maka tidak ada proses dalam sistem yang deadlock Apabila pada graph terdapat siklus sistem kemungkinan deadlock dengan ketentuan: o Jika pada setiap tipe sumber daya hanya terdapat satu anggota maka terjadi deadlock o Jika pada setiap tipe sumber daya terdapat beberapa anggota maka kemungkinan terjadi deadlock

Contoh Resource Alokasi Graph Untuk ilustrasi konsep di atas kita lihat kembali resource allocation graph pada Gambar 8-4. Pada Gambar 6-1 tidak terdapat siklus, jadi tidak terjadi deadlock pada sistem. Misalnya proses P3 meminta satu anggota dari tipe sumber daya R2. Karena tidak tersedia anggota tipe sumber daya tersebut, request edge P3 R2 ditambahkan ke graph seperti pada Gambar 8-5. Pada kasus ini, terdapat dua siklus pada sistem, yaitu : P1 R1 P2 R3 P3 R2 P1 P2 R3 P3 R2 P2 Proses P1, P2 dan P3 terjadi deadlock. Proses P2 menunggu sumber daya R3 yang dibawa proses P3. Proses P3 sebaliknya menunggu proses P1 atau P2 melepas sumber daya R2. Proses P1 menunggu proses P2 melepas sumber daya R1. Resource Alokasi Graph yang Terjadi Deadlock Pada contoh resource allocation graph Gambar 8-6 terdapat siklus: P1 R1 P3 R3 P1 Akan tetapi pada sistem tidak terjadi deadlock. Terlihat bahwa proses P4 kemungkinan melepas tipe sumber daya R2. Sumber daya tersebut kemudian dapat dialokasikan untuk P3 dan akan menghapus siklus.

Resource Alokasi Graph yang tidak Terjadi Deadlock Metode Menangani Deadlock Terdapat tiga metode untuk menangani permasalahan deadlock yaitu: Menggunakan protocol untuk menjamin bahwa sistem tidak pernah memasuki status deadlock Mengijinkan sistem memasuki status deadlock dan kemudian memperbaikinya. Mengabaikan permasalahan dan seakan-akan deadlock tidak pernah terjadi pada sistem. Model ini yang banyak digunakan pada sistem operasi termasuk UNIX. Mencegah Deadlock Metode ini berkaitan dengan pengkondisian sistem agar menghilangkan kemungkinan terjadinya deadlock. Pencegahan merupakan solusi yang bersih dipandang dari sudut tercegahnya deadlock. Metode ini sering menghasilkan utilisasi sumber daya yang buruk. Pencegahan deadlock merupakan metode yang banyak dipakai. Untuk mencegah deadlock dilakukan dengan meniadakan salah satu dari syarat perlu sebagai berikut : Mencegah Mutual Exclusion Mutual exclusion benar-benar tak dapat dihindari. Hal ini dikarenakan tidak ada sumber daya yang dapat digunakan bersama-sama, jadi sistem harus membawa sumber daya yang tidak dapat digunakan bersama-sama. Mencegah Hold and Wait Untuk mencegah hold and wait, sistem harus menjamin bila suatu proses meminta sumber daya, maka proses tersebut tidak sedang memegang sumber daya yang lain. Proses harus meminta dan dialokasikan semua sumber daya yang diperlukan sebelum proses memulai eksekusi atau mengijinkan proses meminta sumber daya hanya jika proses tidak membawa sumber daya lain. Model ini mempunyai utilitas sumber daya yang rendah dan kemungkinan terjadi starvation jika proses membutuhkan sumber daya yang popular sehingga terjadi keadaan menunggu yang tidak terbatas karena setidaknya satu dari sumber daya yang dibutuhkannya dialokasikan untuk proses yang lain. Mencegah Non Preemption

Peniadaan non preemption mencegah proses-proses lain harus menunggu. Seluruh proses menjadi preemption, sehingga tidak ada tunggu menunggu. Cara mencegah kondisi non preemption : o Jika suatu proses yang membawa beberapa sumber daya meminta sumber daya lain yang tidak dapat segera dipenuhi untuk dialokasikan pada proses tersebut, maka semua sumber daya yang sedang dibawa proses tersebut harus dibebaskan. o Proses yang sedang dalam keadaan menunggu, sumber daya yang dibawanya ditunda dan ditambahkan pada daftar sumber daya. o Proses akan di restart hanya jika dapat memperoleh sumber daya yang lama dan sumber daya baru yang diminta. Mencegah Kondisi Menunggu Sirkular Sistem mempunyai total permintaan global untuk semua tipe sumber daya. Proses dapat meminta proses kapanpun menginginkan, tapi permintaan harus dibuat terurut secara numerik. Setiap proses yang membutuhkan sumber daya dan memintanya maka nomor urut akan dinaikkan. Cara ini tidak akan menimbulkan siklus. Masalah yang timbul adalah tidak ada cara pengurutan nomor sumber daya yang memuaskan semua pihak. Table 8-1 Mencegah Deadlock Syarat Langkah Kelemahan Mutual Exclusion Spooling sumber daya Dapat menyebabkan chaos Hold and Wait No Pre-emptive Circular Wait Daftar Pustaka Meminta sumber daya di awal Mengambil sumber daya di tengah proses Penomoran permintaan sumber daya Ariyus,Dony,2006, Computer Security, Andi Offset, Yogyakarta Ariyus, Dony,2005, kamus hacker, Andi offset, Yogyakarta Sulit memperkirakan di awal dan tidak optimal Hasil proses tidak akan baik Tidak ada penomoran yang memuaskan semua pihak Bob DuCharme, 2001, The Operating System Handbook or, Fake Your Way Through Minis and Mainframes Singapore: McGraw-Hill Book Co Bill Venners.1998. Inside the Java Virtual Machin e. McGraw-Hill. Deitel, Harvey M, 2004 operating systems 3 th Edition, Massachusetts: Addison-Wesley Publshing Company Gary B. Shelly, 2007, Discovering Computers: Fundamentals Thomson Gollmann, Dieter,1999 Computer Security Jhon Willey & Son Inc, Canada

Grosshans,D. 1986, File system: design and implementation, Englewwod Cliffs, New Jersey : Prentice-Hall Inc. Harvey M Deitel dan Paul J Deitel. 2005. Java How To Program. Sixth Edition. Prentice Hall. Hoare, C.A.R. 1985 Communication sequential processes Englewood Cliffs, New Jersey, Prentice Hall Inc Jean Bacon, Tim Harris, 2003 Operating Systems: Concurrent and Distributed Software Design Massachhussets. Addison Wesley Kenneth H Rosen. 1999. Discrete Mathematics and Its Application. McGraw Hill. Madnick,Stuart E dan John J. Donovan, 1974 operating system, Singapore: McGraw-Hill Book Co Michael Kifer and Scott A. Smolka, 2007 Introduction to Operating System Design and Implementation The OSP 2 Approach, Springer-Verlag London Microsoft 1999. Microsoft Windows User Experience. Microsoft Press. Milenkovie, Milan. 1992. Operationg system: Concepts and Design, Singapore: McGraw-Hill Book Co Randall Hyde. 2003. The Art of Assembly Language. First Edition. No Strach Press Robert betz, 2001 Intoduction to Real-time operation system, Department of Electrical and Computer Engineering University of Newcastle, Australia Robert Love. 2005. Linux Kernel Development. Second Edition. Novell Press Ron White,1998, How Computers Work, Fourth Edition, Que corporation, A Division of Macmillan Computer Publishing, USA Shay, William A. 1993, Introduction to Operationg System New York: HarperCollins College Publishers Silberschatz, Peter Galvin, dan Grag Gagne. 2000. Applied Operating System, 1 s t John Wile & Hiil Book Co Silberschatz, A., dan Galvin, P.2003, Operating Sistem Concept. Sixth Edition. Massachhussets. Addisson- Wasley Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley & Sons.

Stalling, William, 1995, Operating Sistems. New Jersey. Prentice Hall Stalling, William, 1996 Computer Organization and Architecture. New Jersey. Prentice Hall Stalling William, 1995, Network and Internetwork Security Prentice-Hall, USA Tanenbaum, Andrew S, 1992 Modern Operating Sistems. New Jersey. Prentice Hall Taenbaum, Andrew S, 2006, Operating Systems Design and Implementation, Third Edition Massachusetts