DEADLOCK & ALGORITMA OSTRICH

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

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

Aplikasi Graf dalam Pendeteksian Deadlock

Sinkronisasi dan Deadlock Sistem Operasi

Sistem Operasi. Deadlock

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

Bab 19. Solusi Critical Section

Bab 24. Diagram Graf Pendahuluan

1. DEADLOCK. Diagram Graf

REVIEW DAN REVISI BUKU

DEADLOCK = kompi loe nge-hang tuh..

Bab 13. Konsep Penjadwalan

Deadlock. Gambaran Umum Deadlock

PEMAKAIAN GRAF UNTUK PENDETEKSIAN DAN PENCEGAHAN DEADLOCK PADA SISTEM OPERASI

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

Kelompok 12. Thread Java

IKI Sistem Operasi Konsep Page Replacement (Pemindahan Halaman)

DEADLOCK PADA WINDOWS DAN LINUX

DEADLOCK. KELOMPOK : Aurora Marsye Mellawaty Vidyanita Kumalasari Y

DEADLOCK. Haryono Setiadi, ST, M.Eng

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

Penggunaan Brute Force untuk Mendeteksi Potensi Terjadinya Deadlock

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

SISTEM OPERASI DEADLOCK

Deadlock Kasus Pada Sistem Operasi

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

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

Bab 6. Deadlock POKOK BAHASAN: TUJUAN BELAJAR:

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B

Bab 10. Konsep Proses

BAB 2 LANDASAN TEORI

SISTEM OPERASI. Deadlock.

Bab 26. Readers/Writers

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock

Penjadualan Process Bagian 2

Penjadualan Process Bagian 1

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

Pencegahan Deadlock pada Alokasi Resource dalam Sistem Operasi Menggunakan Algoritma Greedy

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

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

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

RENCANA PEMBELAJARAN

Pengantar Teknologi Sistem Informasi 1b. Concurency

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

BAB VIII DEADLOCK ...

Bab 7: Deadlock. Permasalahan Deadlock

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

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

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

MATA KULIAH SISTEM OPERASI (CSD60021)

Bab 27. Sinkronisasi Dengan Semafor

Sistem Operasi Komputer. Pembahasan Deadlock

PENERAPAN KRIPTOGRAFI DAN GRAF DALAM APLIKASI KONFIRMASI JARKOM

Monitor. Makalah Sistem Operasi. Disusun oleh :

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Copyright Sistem Operasi - silakan merevisi dan menyebarluaskan materi ini

Sistem Operasi. Kongkurensi

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

Sistem Operasi. Deadlock & Penanganannya. Aditya Wikan Mahastama

Komunikasi & Sinkronisasi Proses

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

Case Study Pengalokasian Memory

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

Operating System: An Overview. Ch. 8: Virtual Memory. Page Replacement Algorithms. Chapter Objectives. Agenda. Page Replacement Algorithms

7. Pengaturan Proses

Menghindari Deadlock Pada Sistem Operasi

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

Pertemuan #3: Sinkronisasi dan Deadlock

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

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

Pertemuan 4 KONKURENSI

RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER

BAB IV PENJADWALAN MEMORI MATERI

KONTRAK PERKULIAHAN MATA KULIAH KOM311 SISTEM OPERASI

Apa yang akan dipelajari?

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

Mata Kuliah : Pemrograman Berbasis Objek Pertemuan : 4

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

PEDOMAN WAWANCARA UNTUK PENGAJAR

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Strategi Pembelajaran

RENCANA PEMBELAJARAN SEMESTER

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

Operating System: An Overview. Ch. 6: Process Scheduling. Ch. 6: Process Scheduling. Agenda. Basic Concept Scheduling Criteria Scheduling Algorithms

1. Istilah-istilah dalam penjadwalan proses

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

Minimisasi waktu penyelesaian tugas berdepedensi dengan pekerja homogen terbatas menggunakan algoritma greedy

DEADLOCK PADA DISTRIBUSI DATA DAN PEMECAHANNYA

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

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Masalah-Masalah Klasik Sinkronisasi

SATUAN ACARA PENGAJARAN

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

Pendeteksian Deadlock dengan Algoritma Runut-balik

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

Optimasi Algoritma Banker dengan Algoritma Greedy

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

Hendy Kusumo Nugroho ( kelas A)

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

IMPLEMENTASI PENANGANAN DEADLOCK MENGGUNAKAN METODE TASKKILL

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

Transkripsi:

DEADLOCK & ALGORITMA OSTRICH DIAJUKAN UNTUK MEMENUHI TUGAS MATA KULIAH Sistem Operasi Dosen Pengampu Bapak Adi Sucipto, Ir., M.Kom. oleh : Damas Fahmi Assena NIM : 161240000500 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NAHDLATUL ULAMA JEPARA 2017

DEADLOCK Pendahuluan Dalam sistem komputer, terdapat banyak sumber daya yang hanya bisa dimanfaatkan oleh satu proses pada suatu waktu. Contohnya adalah penggunaan sumber daya seperti printer, tape drives dan CD-ROM drives. Dua buah proses yang menggunakan slot yang sama pada tabel proses dapat menyebabkan kerusakan pada sistem. Untuk itu, setiap sistem operasi memiliki mekanisme yang memberikan akses eksklusif pada sumber daya. Pada kenyataannya, proses membutuhkan akses eksklusif untuk beberapa sumber daya sekaligus. Bayangkan apabila sebuah proses, sebut saja proses A, meminta sumber daya X dan mendapatkannya. Kemudian ada proses B yang meminta sumber daya Y dan mendapatkannya juga. Setelah itu, proses A meminta sumber daya Y dan proses B meminta sumber daya X. Pada situasi tersebut, kedua proses harus ter- block dan menunggu secara terus-menerus. Keadaan seperti itu dinamakan deadlock. Deadlock secara bahasa berarti buntu atau kebuntuan. Dalam definisi lebih lengkap, deadlock berarti suatu keadaan dimana sistem seperti terhenti dikarenakan setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Keadaan seperti ini hanya dapat terjadi pada akses terhadap sumber daya yang tidak bisa dibagi atau non-sharable. Gambar 23.1. Contoh kasus deadlock pada lalu lintas di jembatan Pada contoh di atas, digambarkan ilustrasi dari kejadian deadlock pada dunia nyata, yaitu pada lalu lintas di jembatan. Dapat dilihat bahwa kedua mobil yang berada di tengah-tengah jembatan tidak dapat maju dan hanya menunggu. Penyelesaian dari masalah tersebut adalah salah satu dari mobil tersebut mundur, sehingga mobil yang lain dapat maju. Mobil pada kasus ini adalah proses, sedangkan jembatan adalah sumber daya. Kedua mobil berebut untuk menggunakan sumber daya, namun karena sumber daya tersebut hanya dapat digunakan oleh satu proses saja, maka terjadilah deadlock. Kondisi tersebut bila terjadi dalam waktu yang lama dapat menyebabkan terjadinya starvation.

Gambar 23.2. Contoh kasus deadlock pada lalu lintas di persimpangan Gambar di atas adalah contoh lain terjadinya deadlock pada dunia nyata. Pada gambar jelas terlihat bahwa lalu lintas terhenti dan terjadi antrian pada empat arah datangnya mobil. Tidak ada mobil yang bisa melanjutkan perjalanan dan hanya menunggu saja. Permasalahan ini dapat dipecahkan dengan cara salah satu dari antrian tersebut mundur dan memberikan kesempatan antrian lain untuk berjalan terlebih dahulu. Kasus seperti ini sangat potensial untuk terjadinya starvation. Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan resource (sumber daya) yang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut. Deadlock dalam arti sebenarnya adalah kebuntuan. Kebuntuan yang dimaksud dalam sistem operasi adalah kebuntuan proses. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam satu waktu. Jadi deadlock ialah suatu kondisi dimana proses tidak berjalan lagi atau pun tidak ada komunikasi lagi antar proses. Salah satu contoh sebuah deadlock: a. Proses A menggunakan CD-ROM. b. Proses B menggunakan Scanner. c. Proses A meminta Scanner (tanpa melepas CD-ROM) menunggu. d. Proses B meminta CD-ROM (tanpa melepas Scanner) menunggu. e. Menunggu menunggu DEADLOCK.

Contohnya dapat dilihat dari kode berikut ini : //dari kelas proses kita tambahkan method yaitu meminta public void meminta (int banyaka) { //meminta dari sumber daya a if ( banyaka < banyak ) banyak = banyak - banyaka; else wait(); } //mengubah kode pada mainnya sebagai berikut public static void main ( String [] args ) { Proses P = new Proses(); Proses Q = new Proses(); P.meminta(80); Q.meminta(70); P.meminta(60); Q.meminta(80); } private int banyak = 200; private int banyaka; Setelah proses P dan Q telah melakukan fungsi meminta untuk pertama kali, maka sumber daya yang tersedia dalam banyak ialah 50 (200-70-80). Maka saat P menjalankan fungsi meminta lagi sebanyak 60, maka P tidak akan menemukan sumber daya dari banyak sebanyak 60, maka P akan menunggu hingga sumber daya yang diminta dipenuhi. Demikian juga dengan Q, akan menunggu hingga permintaannya dipenuhi, akhirnya terjadi deadlock. Cara mengatasinya dengan menggunakan memori maya.

Adapun 4 kondisi penyebab deadlock adalah sebagai berikut : a. Mutual Exclusion Hanya ada satu proses yang boleh memakai sumber daya, dan proses lain yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi dilepaskan atau tidak ada proses yang memakai sumber daya tersebut. b. Hold and Wait Proses yang sedang memakai sumber daya boleh meminta sumber daya lagi maksudnya menunggu hingga benar-benar sumber daya yang diminta tidak dipakai oleh proses lain, hal ini dapat menyebabkan kelaparan sumber daya sebab dapat saja sebuah proses tidak mendapat sumber daya dalam waktu yang lama. c. No Preemption Sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja oleh proses lainnya. Untuk mendapatkan sumber daya tersebut, maka harus dilepaskan terlebih dahulu oleh proses yang memegangnya, selain itu seluruh proses menunggu dan mempersilahkan hanya proses yang memiliki sumber daya yang boleh berjalan. d. Circular Wait Kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang proses berikutnya.

ALGORITMA OSTRICH Dalam algoritma ini dikatakan bahwa untuk menghadapi Deadlock ialah dengan berpura-pura bahwa tidak ada masalah apa pun. Diibaratnya seperti burung unta yang menempelkan kepalanya di pasir dan berpura-pura tidak terjadi masalah apa pun. Hal ini seakanakan melakukan suatu hal yang fatal, tetapi sistem operasi menanggulangi Deadlock dengan cara ini dengan tidak mendeteksi Deadlock dan membiarkannya secara otomatis mematikan program sehingga seakan-akan tidak terjadi apa pun. Jadi jika terjadi Deadlock, maka tabel akan penuh, sehingga proses yang menjalankan proses melalui operator harus menunggu pada waktu tertentu dan mencoba lagi. Untuk memastikan sistem tidak memasuki deadlock, sistem dapat menggunakan pencegahan deadlock atau penghindaran deadlock. Penghindaran deadlock membutuhkan informasi tentang sumber daya yang mana yang akan suatu proses meminta dan berapa lama akan digunakan. Dengan informasi tersebut dapat diputuskan apakah suatu proses harus menunggu atau tidak. Hal ini disebabkan oleh keberadaan sumber daya, apakah ia sedang digunakan oleh proses lain atau tidak. Algortima Ostrich di gunakan oleh dua metode sebagai berikut : 1. Trade-offs : merupakan metode penanganan deadlock dengan sistem dimana ada asumsi bahwa suatu masalah (dalam hal ini deadlock) jarang terjadi atau masalah tersebut belum tentu benar bisa saja sewaktu-waktu berubah atau bahkan akan kembali terjadi, sehingga jangan terlalu terpaku akan satu masalah yang ada. 2. Pendekatan Hybird : merupakan metode yang mengasumsikan masalah (dalam hal ini misal deadlock) sangat jarang terjadi atau bahkan tidak akan pernah terjadi sama sekali, dan biasanya bisa saja beralih pada algoritma yang lebih kompleks untuk mengetahui masalah tersebut benar-benar terjadi atau tidak.

Kesimpulan Dari uraian diatas, maka dapat ditarik kesimpulan yaitu: Deadlock adalah suatu kondisi dimana sekumpulan proses tidak dapat berjalan kembali akibat kompetisi memperebutkan sumber daya. Sebuah proses berada dalam keadaan deadlock apabila semua proses berada dalam keadaan menunggu (di dalam waiting queue) peristiwa yang hanya bisa dilakukan oleh proses yang berada dalam waiting queue tersebut. Sebenarnya deadlock dapat disebabkan oleh empat hal yaitu: 1. Proses Mutual Exclusion. 2. Proses memegang dan menunggu. 3. Proses Preemption. 4. Proses Menunggu dengan siklus deadlock tertentu. Rujukan [Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley & Sons. [Tanenbaum1997] Andrew S Tanenbaum dan Albert S Woodhull. 1997. Operating Systems Design and Implementation. Second Edition. Prentice-Hall. [WEBRpi2004] Computer Science RPI. 2004. Deadlock http://www.cs.rpi.edu/academics/courses/fall04/os/c10/index.html. Diakses 28 Maret 2007. [WEBWiki2006a] Wikipedia. 2006. Deadlock http://en.wikipedia.org/wiki/deadlock. Diakses 05 Februari 2007. [WEBWiki2006b] Wikipedia. 2006. Banker's Algorithm http://en.wikipedia.org/wiki/banker%27s_algorithm. Diakses 16 Februari 2007.