Sistem Operasi. Deadlock

dokumen-dokumen yang mirip
Operating System. Synchronization & Deadlock. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

1. DEADLOCK. Diagram Graf

DEADLOCK = kompi loe nge-hang tuh..

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

Aplikasi Graf dalam Pendeteksian Deadlock

SISTEM OPERASI. Deadlock.

DEADLOCK PADA WINDOWS DAN LINUX

Deadlock. Gambaran Umum Deadlock

Sinkronisasi dan Deadlock Sistem Operasi

DEADLOCK & ALGORITMA OSTRICH

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

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

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

Bab 6. Deadlock POKOK BAHASAN: TUJUAN BELAJAR:

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

Bab 7: Deadlock. Permasalahan Deadlock

BAB VIII DEADLOCK ...

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

DEADLOCK. Haryono Setiadi, ST, M.Eng

Sistem Operasi Komputer. Pembahasan Deadlock

Penggunaan Brute Force untuk Mendeteksi Potensi Terjadinya Deadlock

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

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

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

DEADLOCK. KELOMPOK : Aurora Marsye Mellawaty Vidyanita Kumalasari Y

BAB 2 LANDASAN TEORI

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock

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

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

Sistem Operasi. Deadlock & Penanganannya. Aditya Wikan Mahastama

Pencegahan Deadlock pada Alokasi Resource dalam Sistem Operasi Menggunakan Algoritma Greedy

PEMAKAIAN GRAF UNTUK PENDETEKSIAN DAN PENCEGAHAN DEADLOCK PADA SISTEM OPERASI

SISTEM OPERASI DEADLOCK

November Sistem operasi #0

Pertemuan 4 KONKURENSI

Bab 24. Diagram Graf Pendahuluan

Pertemuan #3: Sinkronisasi dan Deadlock

Sistem Operasi. Kongkurensi

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

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

7. Pengaturan Proses

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

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

IMPLEMENTASI PENANGANAN DEADLOCK MENGGUNAKAN METODE TASKKILL

Komunikasi & Sinkronisasi Proses

Optimasi Algoritma Banker dengan Algoritma Greedy

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

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

DEADLOCK PADA DISTRIBUSI DATA DAN PEMECAHANNYA

PENERAPAN KRIPTOGRAFI DAN GRAF DALAM APLIKASI KONFIRMASI JARKOM

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

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

PENYELARASAN PADA MASALAH DINING PHILOSOPHERS MENGGUNAKAN ALGORITMA LOCK & RELEASE

Model Proses : 1. Sequential Process / bergantian 2. Multiprogramming 3. CPU Switching peralihan prosedur dalam mengolah 1 proses ke proses lainnya.

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

Konsep Dasar Sistem Operasi

Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

Pendeteksian Deadlock dengan Algoritma Runut-balik

Sistem Operasi. Konkurensi

DEADLOCK & RECOVERY SYSTEM

Bab 19. Solusi Critical Section

Koordinasi Antar Proses

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

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

PEDOMAN WAWANCARA UNTUK PENGAJAR

Monitor. Makalah Sistem Operasi. Disusun oleh :

Oleh : Arief Ristanto ( ) Edwin Kurniawan ( )

Kongkurensi LPOHLVSFOTJ!

Gambar Layar pertama untuk pemecahan masalah Lost Update

Modul ke: Sistem Operasi. Tipe penjadwalan di prosessor non-preemptive. Fakultas FASILKOM. Juliansyahwiran, S. Kom, MTI.

Bab 3 - Manajemen Proses 3.1

Rencana Perkuliahan Sistem Operasi CSG3E3 2015/2016

PRINSIP-PRONSIP KONGKURENSI meliputi halhal berikut : 1. alokasi waktu pemrosesan untuk prosesproses

BAB II TINJAUAN PUSTAKA

Interaksi Antar Proses

Apa yang akan dipelajari?

Deadlock Kasus Pada Sistem Operasi

Sistem Operasi PENGATURAN PROSES

Pengantar Teknologi Sistem Informasi 1b. Concurency

BAB II TINJAUAN PUSTAKA

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

RENCANA PEMBELAJARAN

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

Bab 13. Konsep Penjadwalan

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

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

2 Konsep Dasar Sistem Operasi

Laporan Tugas Scheduling Pengantar Sistem Operasi

PERANGKAT LUNAK SIMULASI ALGORITMA BANKER TUGAS AKHIR JEANY CYNTHYA

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B

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

Dibuat Oleh : 1. Andrey ( )

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

Penguncian pada Concurrency Control

BAB 3 ANALISIS DAN PERANCANGAN

BAB II GAMBARAN UMUM TENTANG PERJANJIAN PINJAM MEMINJAM. mempunyai sifat riil. Hal ini disimpulkan dari kata-kata Pasal 1754 KUH Perdata

Proses. - yaitu program yang sedang dieksekusi Proses merupakan satuan kerja terkecil yang secara individual dijadwalkan oleh sistem operasi

Optimisasi Penjadwalan Proses Pada Central Processing Unit Dengan Menggunakan Algoritma Greedy

Distributed System. 9 Concurrency Control. Genap 2011/2012. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

Struktur Sistem Operasi

Transkripsi:

Sistem Operasi Deadlock

Deadlock Deadlock dalam arti sebenarnya adalah kebuntuan. Kebuntuan yang dimaksud dalam sistem operasi adalah kebuntuan proses. Jadi Deadlock adalah suatu kondisi dimana proses tidak berjalan lagi atau tidak ada komunikasi lagi antar proses. Deadlock disebabkan karena proses yang satu menunggu sumber daya yang sedang dipegang oleh proses lain, proses lain itu pun sedang menunggu sumber daya yang dipegang olehnya. Dengan kata lain setiap proses dalam set menunggu untuk sumber yang hanya dapat dikerjakan oleh proses lain dalam set sedang menunggu.

Contoh Deadlock

Deadlock Resource

Penyebab Deadlock (1) 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. 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.

Penyebab Deadlock (2) 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. Circular wait. Kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang proses berikutnya.

Solusi Penanggulangan Deadlock Mengabaikan masalah deadlock. Mendeteksi dan memperbaiki Penghindaran yang terus menerus dan pengalokasian yang baik dengan menggunakan protokol untuk memastikan sistem tidak pernah memasuki keadaan deadlock. Yaitu dengan deadlock avoidance sistem untuk mendata informasi tambahan tentang proses mana yang akan meminta dan menggunakan sumber daya. Pencegahan yang secara struktur bertentangan dengan empat kondisi terjadinya deadlock dengan deadlock prevention sistem untuk memastikan bahwa salah satu kondisi yang penting tidak dapat menunggu.

Mengabaikan Masalah Deadlock 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. Metode ini lebih dikenal dengan Algoritma Ostrich.

Mengabaikan Masalah Deadlock (2) Dalam algoritma ini dikatakan bahwa untuk menghadapi Deadlock ialah dengan berpura-pura bahwa tidak ada masalah apa pun. Hal ini seakanakan melakukan suatu hal yang fatal, tetapi sistem operasi Unix 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.

Mendeteksi dan Memperbaiki Caranya ialah dengan cara mendeteksi jika terjadi deadlock pada suatu proses maka dideteksi sistem mana yang terlibat di dalamnya. Setelah diketahui sistem mana saja yang terlibat maka diadakan proses untuk memperbaiki dan menjadikan sistem berjalan kembali. Jika sebuah sistem tidak memastikan deadlock akan terjadi, dan juga tidak didukung dengan pendeteksian deadlock serta pencegahannya, maka kita akan sampai pada kondisi deadlock yang dapat berpengaruh terhadap performance sistem karena sumber daya tidak dapat digunakan oleh proses sehingga proses-proses yang lain juga terganggu. Akhirnya sistem akan berhenti dan harus direstart.

Mendeteksi dan Memperbaiki (2) Hal-hal yang terjadi dalam mendeteksi adanya Deadlock adalah: Permintaan sumber daya dikabulkan selama memungkinkan. Sistem operasi memeriksa adakah kondisi circular wait secara periodik. Pemeriksaan adanya deadlock dapat dilakukan setiap ada sumber daya yang hendak digunakan oleh sebuah proses. Memeriksa dengan algoritma tertentu.

Ada beberapa jalan untuk kembali dari Deadlock, yaitu: Preemption Melacak Kembali Mematikan proses yang menyebabkan Deadlock

Preemption Dengan cara untuk sementara waktu menjauhkan sumber daya dari pemakainya, dan memberikannya pada proses yang lain. Ide untuk memberi pada proses lain tanpa diketahui oleh pemilik dari sumber daya tersebut tergantung dari sifat sumber daya itu sendiri. Perbaikan dengan cara ini sangat sulit atau dapat dikatakan tidak mungkin. Cara ini dapat dilakukan dengan memilih korban yang akan dikorbankan atau diambil sumber dayanya untuk sementara, tentu saja harus dengan perhitungan yang cukup agar waktu yang dikorbankan seminimal mungkin. Setelah kita melakukan preemption dilakukan pengkondisian proses tersebut dalam kondisi aman. Setelah itu proses dilakukan lagi dalam kondisi aman tersebut.

Melacak Kembali Setelah melakukan beberapa langkah preemption, maka proses utama yang diambil sumber dayanya akan berhenti dan tidak dapat melanjutkan kegiatannya, oleh karena itu dibutuhkan langkah untuk kembali pada keadaan aman dimana proses masih berjalan dan memulai proses lagi dari situ. Tetapi untuk beberapa keadaan sangat sulit menentukan kondisi aman tersebut, oleh karena itu umumnya dilakukan cara mematikan program tersebut lalu memulai kembali proses. Meski pun sebenarnya lebih efektif jika hanya mundur beberapa langkah saja sampai deadlock tidak terjadi lagi. Untuk beberapa sistem mencoba dengan cara mengadakan pengecekan beberapa kali secara periodik dan menandai tempat terakhir kali menulis ke disk, sehingga saat terjadi deadlock dapat mulai dari tempat terakhir penandaannya berada.

Mematikan proses yang menyebabkan Deadlock Cara yang paling umum ialah mematikan semua proses yang mengalami deadlock. Cara ini paling umum dilakukan dan dilakukan oleh hampir semua sistem operasi. Namun, untuk beberapa sistem, kita juga dapat mematikan beberapa proses saja dalam siklus deadlock untuk menghindari deadlock dan mempersilahkan proses lainnya kembali berjalan. Atau dipilih salah satu korban untuk melepaskan sumber dayanya, dengan cara ini maka masalah pemilihan korban menjadi lebih selektif, sebab telah diperhitungkan beberapa kemungkinan jika si proses harus melepaskan sumber dayanya.

Kriteria pemilihan korban Yang paling jarang memakai prosesor Yang paling sedikit hasil programnya Yang paling banyak memakai sumber daya sampai saat ini Yang alokasi sumber daya totalnya tersedikit Yang memiliki prioritas terkecil

Menghindari Deadlock Pada sistem kebanyakan permintaan terhadap sumber daya dilakukan sebanyak sekali saja. Sistem sudah harus dapat mengenali bahwa sumber daya itu aman atau tidak (tidak terkena deadlock), setelah itu baru dialokasikan. Ada dua cara yaitu: Jangan memulai proses apa pun jika proses tersebut akan membawanya pada kondisi deadlock, sehingga tidak mungkin terjadi deadlock karena pada saat akan menuju deadlock, proses sudah dicegah. Jangan memberi kesempatan pada suatu proses untuk meminta sumber daya lagi jika penambahan ini akan membawa kita pada suatu keadaan deadlock.

Algoritma Bankir Menurut Dijkstra (1965) algoritma penjadwalan dapat menghindari Deadlock dan algoritma penjadwalan itu lebih dikenal dengan sebutan algoritma bankir. Algoritma ini dapat digambarkan sebagai seorang bankir yang berurusan dengan kelompok orang yang meminta pinjaman. Jadi kepada siapa dia dapat memberikan pinjamannya. Dan setiap pelanggan memberikan batas pinjaman maksimum kepada setiap peminjam dana.

Algoritma Bankir (2) Secara umum algoritma bankir dapat dibagi menjadi empat struktur data: 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.

Algoritma Bankir (3) 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.

Algorima Bankir (4) Beberapa kelemahan algoritma Bankir Tanenbaum (1992), Stallings (1995) dan Deitel (1990) adalah sebagai berikut: Sulit untuk mengetahui seluruh sumber daya yang dibutuhkan proses pada awal eksekusi. Jumlah proses yang tidak tetap dan berubah-ubah. Sumber daya yang tadinya tersedia dapat saja menjadi tidak tersedia kembali. Proses-proses yang dieksekusi haruslah tidak dibatasi oleh kebutuhan sinkronisasi antar proses. Algoritma ini menghendaki memberikan semua permintaan selama waktu yang berhingga.

Question?