MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock

dokumen-dokumen yang mirip
BAB VIII DEADLOCK ...

DEADLOCK. Haryono Setiadi, ST, M.Eng

Bab 6. Deadlock POKOK BAHASAN: TUJUAN BELAJAR:

SISTEM OPERASI. Deadlock.

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM IV Penjadwalan Proses I

DEADLOCK PADA WINDOWS DAN LINUX

Sistem Operasi. Deadlock

Sistem Operasi Komputer. Pembahasan Deadlock

Sinkronisasi dan Deadlock Sistem Operasi

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

Bab 7: Deadlock. Permasalahan Deadlock

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

DEADLOCK. KELOMPOK : Aurora Marsye Mellawaty Vidyanita Kumalasari Y

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

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

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

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM IX I/O INTERRUPT

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

SISTEM OPERASI DEADLOCK

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

Pertemuan #3: Sinkronisasi dan Deadlock

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

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM III Sinkronisasi Proses

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

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

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

Sistem Operasi. Kongkurensi

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

1. DEADLOCK. Diagram Graf

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

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

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

BAB 2 LANDASAN TEORI

Deadlock. Gambaran Umum Deadlock

BAB II TINJAUAN PUSTAKA

Komunikasi & Sinkronisasi Proses

Sistem Operasi. Deadlock & Penanganannya. Aditya Wikan Mahastama

7. Pengaturan Proses

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)

Ruko Jambusari No. 7A Yogyakarta Telp. : ; Fax. :

DEADLOCK & ALGORITMA OSTRICH

Overview Penjadwalan (1)

Monitor. Makalah Sistem Operasi. Disusun oleh :

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

Bab 24. Diagram Graf Pendahuluan

Penjadwalan Process. Konsep Dasar Penjadwalan Proses. Preemptive & Non-Preemtive Scheduling. Dispatcher.

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

November Sistem operasi #0

Pencegahan Deadlock pada Alokasi Resource dalam Sistem Operasi Menggunakan Algoritma Greedy

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

DEADLOCK PADA DISTRIBUSI DATA DAN PEMECAHANNYA

IMPLEMENTASI PENANGANAN DEADLOCK MENGGUNAKAN METODE TASKKILL

PEMAKAIAN GRAF UNTUK PENDETEKSIAN DAN PENCEGAHAN DEADLOCK PADA SISTEM OPERASI

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

Oleh : Arief Ristanto ( ) Edwin Kurniawan ( )

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

Koordinasi Antar Proses

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

DEADLOCK = kompi loe nge-hang tuh..

BAB II TINJAUAN PUSTAKA

Pertemuan 4 KONKURENSI

Aplikasi Graf dalam Pendeteksian Deadlock

Simulasi Algoritma Penjadualan Proses

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Praktikum 10. Penjadwalan CPU 2 POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI: 1 Penjadwalan CPU Premptive. ü Membuat program simuliasi Pendawalan CPU

PENERAPAN KRIPTOGRAFI DAN GRAF DALAM APLIKASI KONFIRMASI JARKOM

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

Laporan Tugas Scheduling Pengantar Sistem Operasi

PEDOMAN WAWANCARA UNTUK PENGAJAR

SISTEM OPERASI PENJADWALAN PROSES

SMK MUHAMMADIYAH 4 JAKARTA TEKNIK KOMPUTER DAN JARINGAN SISTEM OPERASI MENEJEMEN MEMORI

Sistem Operasi. Konsep Dasar. Histogram Waktu CPU-Burst. Penjadwal CPU PENJADWALAN CPU. Pertukaran Urutan Pada CPU Dan I/O Burts

Operating System. Scheduling. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

PROSES. DESKRIPSI PROSES. PROSES MERUPAKAN UNIT TERKECIL YANG SECARA INDIVIDU MEMILIKI SUMBER DAYASUMBER DAYA YANG DIJADWALKAN SISTEM OPERASI

Bab 22. Perangkat Sinkronisasi II

Bab 3 - Manajemen Proses 3.1

PERANGKAT LUNAK SIMULASI ALGORITMA BANKER TUGAS AKHIR JEANY CYNTHYA

Rencana Perkuliahan Sistem Operasi CSG3E3 2015/2016

Sistem Operasi PENGATURAN PROSES

Optimasi Algoritma Banker dengan Algoritma Greedy

Modul ke: Sistem Operasi. Tipe penjadwalan di prosessor preemptive. Fakultas FASILKOM. Juliansyahwiran, S. Kom, MTI. Program Studi Sistem Informasi

Bab 4. Penjadwalan CPU POKOK BAHASAN: TUJUAN BELAJAR: 4.1 KONSEP DASAR. Konsep Dasar Kriteria Penjadwalan Algoritma Penjadwalan

Praktikum 9. Penjadwalan CPU 1

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1

Dukungan Sistem Operasi :

BAB I PENDAHULUAN. commerce atau online shop yang diinginkan kemudian melakukan registrasi. seperti cara transaksi pembayaran dan cara pengiriman.

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

Pertemuan V Penjadwalan Proses

Sistem Operasi Penjadwalan Proses

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

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

Pendeteksian Deadlock dengan Algoritma Runut-balik

MANAJEMEN MEMORI SISTEM OPERASI

Algoritma Penjadwalan 2

Praktikum 13. Manajemen Memori 1 ALOKASI MEMORI POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Konsed Dasar Penjadualan Proses

BAB 4 PENJADWALAN CPU 55

Transkripsi:

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock A. Tujuan Pada akhir praktikum ini, peserta dapat: 1. Menggunakan graf pengalokasi sumber daya (resource allocation graph) untuk mendeteksi deadlock. 2. Menggunakan simulator untuk membuat situasi deadlock. 3. Menggunakan beberapa metode untuk mengatasi deadlock. B. Dasar Teori Deadlock yang terjadi ketika proses-proses membutuhkan akses ke lebih dari satu sumber daya (yang tidak dapat dipakai bersama) sering terjadi pada sistem operasi modern. Keterangan: a. Proses A sedang memakai (allocate) sumber daya R b. Proses B meminta (request) sumber daya S c. Terjadi deadlock, karena proses C meminta sumber daya T yang sedang dipakai oleh D, namun D tidak (akan) melepas D karena sedang meminta sumber daya U yang dipakai oleh C. Kasus Deadlock dengan empat proses dan empat sumber daya

Syarat-syarat terjadinya deadlock : 1. Mutual exclution condition Tiap sumber daya saat itu diberikan pada tepat satu proses / proses meng-klaim kontrol eksklusif terhadap sumber daya yang dibutuhkannya. 2. Hold and wait condition Proses-proses yang sedang menggenggam sumber daya yang telah dialokasikan untuknya sementara menunggu sumber daya sumber daya tambahan yang baru. 3. Non-preemption condition Sumber daya sumber daya yang sebelumnya diberikan tidak dapat diambil paksa dari proses sampai sumber daya tersebut digunakan sampai selesai. Sumber daya - sumber daya harus secara eksplisit dilepaskan dari proses yang menggenggamnya. 4. Circular wait condition Harus terdapat rantai sirkuler/ satu lingkaran proses dari dua proses atau lebih dengan setiap proses memegang satu atau lebih sumber daya yang diminta oleh proses berikutnya pada lingkaran tersebut, masing-masing menunggu sumber daya yang digenggam oleh anggota berikutnya pada rantai itu. Tiga syarat yang pertama merupakan syarat perlu bagi terjadinya deadlock. Keberadaan deadlock selalu berarti terpenuhi kondisi-kondisi diatas, tidak mungkin terjadi deadlock bila tidak ada ketiga kondisi tersebut. Jika terjadi deadlock berarti terdapat tiga kondisi itu, tetapi keberadaan ketiga kondisi itu belum tentu terjadi deadlock. Deadlock baru benar-benar terjadi bila syarat keempat terpenuhi. Kondisi keempat merupakan keharusan bagi terjadinya peristiwa deadlock. Bila salah satu dari empat kondisi tidak terpenuhi maka deadlock tidak terjadi. Metode-metode mengatasi deadlock : 1. deadlock prevention pengkondisian sistem agar menghilangkan kemungkinan terjadinya deadlock. Pencegahan merupakan solusi yang bersih dipandang dari sudut tercegahnya deadlock. Jika mulainya satu atau lebih proses akan menyebabkan terjadinya deadlock, proses tersebut tidak akan dimulai sama sekali. - tiap proses harus meminta resource yang dibutuhkan sekaligus dan tidak bisa berjalan sampai semua di dapat (untuk wait for ) - jika ada resourcce yang tidak terpenuhi, yang lainnya harus dilepas (untuk no preemption ) - urutkan tipe-tipe resource secara linier / linier ordering (untuk circular wait ) 2. deadlock avoidance menghindarkan kondisi yang paling mungkin menimbulkan deadlock agar memperoleh sumber daya lebih baik. Penghindaran bukan berarti menghilangkan semua kemungkinan terjadinya deadlock. Jika sistem operasi mengetahui bahwa alokasi sumber daya menimbulkan resiko deadlock, sistem menolak / menghindari pengaksesan itu. Dengan demikian menghindari terjadinya deadlock. Contohnya dengan menggunakan algoritma Banker yang diciptakan oleh Dijkstra. 3. deadlock detection and recovery deteksi digunakan pada sistem yang mengijinkan terjadinya deadlock, dengan memeriksa apakah terjadi deadlock dan menentukan proses dan sumber daya yang terlibat deadlock secara presisi. Begitu telah dapat ditentukan, sistem dipulihkan dari deadlock dengan metode pemulihan. Metode pemulihan dari deadlock sistem sehingga beroperasi kembali, bebas dari deadlock. Proses yang terlibat deadlock mungkin dapat menyelesaikan eksekusi dan membebaskan sumber dayanya. Pencegahan deadlock : 1. Disallow hold and wait. Jika proses (telah) sedang memegang sumber daya tertentu, untuk permintaan berikutnya proses harus melepas dulu sumber daya yang dipegangnya. 2. Disallow circular wait. Tiap proses harus meminta semua sumber daya yang diperlukan sekaligus dan tidak berlanjut sampai semuanya diberikan. 3. Total ordering. Memberi nomor urut terhadap tipe-tipe sumber daya pada semua proses, sehingga jika proses telah memegang suatu tipe sumber daya, maka proses tersebut berikutnya hanya boleh meminta tipe sumber daya pada urutan yang lebih besar.

C. Langkah-langkah Praktikum 1. Pada kertas, buatlah suatu siklus resource allocation graph untuk 4 proses (P1, P2, P3, dan P4), dan 4 sumber daya yang tersedia (R0, R1, R2, dan R3). Tiap proses menggunakan hanya satu sumber daya, serta meminta sumber daya yang lainnya. Kondisi ini akan menyebabkan deadlock. 1# Gambarlah graf yang sesuai untuk skenario ini. Tanyakan asisten, jangan melanjutkan langkah berikutnya sebelum gambar anda benar. Jalankan CPU-OS Simulator. 2. Tuliskan kode berikut ini pada compiler. Program DeadlocksPN Resource(X, allocate) Wait(3) Resource(Y, allocate) For n = 1 to 20 next end Kode diatas membuat suatu program yang berusaha mengalokasikan dua sumber daya untuk dirinya. Setelah pengalokasian yang pertama kemudian menunggu 3 detik dan mencoba mengalokasikan sumber daya yang lain. Diakhiri dengan menghitung 1 hingga 20, kemudian selesai a. Salin kode diatas dan tempelkan (paste) ke 3 jendela editor baru, jadi sekarang kita memiliki 4 program. b. Pada tiap program gantilah N dengan nama 1 hingga 4, misal: DeadlockP1, DeadlockP2, dst. c. Perhatikan gambar graf yang telah anda kerjakan pada langkah (1) diatas dan gunakan informasi tersebut untuk mengisi tiap X dan Y pada empat kode program tersebut. Contoh Kode sumber d. Lakukan kompilasi pada tiap program. e. Muatkan keempat kode yang dihasilkan ke dalam memori. f. Beralihlah ke OS Simulator. g. Buatlah instansiasi untuk tiap program. Caranya dengan melakukan klik-ganda pada tiap nama program di PROGRAM LIST.

Klik ganda tiap program yang telah dimuatkan ke memori Proses dalam keadaan ready h. Pilih penjadwalan Round Robin (RR). i. Maksimalkan kecepatan simulator. (jangan klik START dulu) j. Pilih tab Views dan klik tombol VIEW RESOURCES. k. Klik Stay on top pada jendela System Resource. Kondisi awal

l. Kembali ke tab OS Control, tekan START, dan amati simulasi pada jendela proses dan resources. m. Apakah anda mendapat kondisi deadlock seperti yang di rancang pada langkah (1) diatas? Jika belum, teliti kembali langkah-langkah diatas atau ulang dari awal jika diperlukan. Jangan melanjutkan sebelum anda berhasil memperoleh peringatan Deadlock seperti gambar dibawah ini. Deadlock terdeteksi n. Jika telah memperoleh kondisi deadlock, kemudian klik SHOW DEADLOCKED PROCESSES pada jendela System Resources. Apakah gambar graf yang disajikan tampak seperti yang anda gambarkan pada langkah (1)? Jendela pengamatan kejadian deadlock

3. Metode untuk keluar dari kondisi deadlock a. Pada jendela System Resources, seharusnya tampak empat resources berwarna merah yang menandakan resources tersebut sedang digunakan (allocated) oleh satu proses dan dibutuhkan (requested) oleh proses lain. b. Pilih satu diantara resources (merah) tersebut dan klik tombol Release didekatnya. c. Amati yang terjadi pada proses-proses melalui jendela OS simulator. d. Apakah situasi deadlock teratasi? 2# Jelaskan bagaimana langkah tersebut dapat mengatasi deadlock. e. Buat ulang kondisi deadlock seperti sebelumnya (langkah 2). f. Setelah kondisi deadlock diperoleh kembali, pada jendela OS simulator pilih satu proses pada waiting queue dalam frame WAITING PROCESS. g. (Tekan tombol suspend) Lalu tekan tombol REMOVE, kemudian amati yang terjadi pada proses-proses. h. Apakah situasi deadlock teratasi? 3# Jelaskan bagaimana langkah tersebut dapat mengatasi deadlock. 4. Metode untuk mencegah kondisi deadlock (sebelum terjadi). a. Pada jendela System Resources beri tanda check pada Disallow hold and wait b. Buatlah kondisi deadlock seperti sebelumnya. Apakah berhasil? Apa yang terjadi? Klik tombol SHOW DEADLOCKED PROCESSES dan amati informasi yang ditampilkan pada jendela teks. c. Berikutnya singkirkan tanda check pada Disallow hold and wait, dan beri tanda check pada Disallow circular wait. d. Ulangi langkah (4b).

5. Metode pencegahan deadlock yang ketiga menggunkan Total ordering. a. Pada jendela System Resources pilih Use Total Ordering, dan singkirkan tanda check pada pilihan yang lain. b. Buatlah kondisi deadlock seperti sebelumnya. Apakah berhasil? Apa yang terjadi? Klik tombol SHOW DEADLOCKED PROCESSES dan amati informasi yang ditampilkan pada jendela teks. 4# Jelaskan prinsip pencegahan deadlock menggunakan tiap metode tersebut.