Pertemuan #3: Sinkronisasi dan Deadlock

dokumen-dokumen yang mirip
DEADLOCK PADA WINDOWS DAN LINUX

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

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

Sinkronisasi dan Deadlock Sistem Operasi

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

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

Sistem Operasi Komputer. Pembahasan Deadlock

November Sistem operasi #0

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

Komunikasi & Sinkronisasi Proses

Sistem Operasi. Deadlock

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

SISTEM OPERASI. Deadlock.

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

Monitor. Makalah Sistem Operasi. Disusun oleh :

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock

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

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

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

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

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

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

Bab 7: Deadlock. Permasalahan Deadlock

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

Bab 6. Deadlock POKOK BAHASAN: TUJUAN BELAJAR:

BAB VIII DEADLOCK ...

SISTEM OPERASI DEADLOCK

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

IMPLEMENTASI PENANGANAN DEADLOCK MENGGUNAKAN METODE TASKKILL

Deadlock. Gambaran Umum Deadlock

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

Laporan Tugas Scheduling Pengantar Sistem Operasi

Penggunaan Brute Force untuk Mendeteksi Potensi Terjadinya Deadlock

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

Sistem Operasi. Deadlock & Penanganannya. Aditya Wikan Mahastama

DEADLOCK. KELOMPOK : Aurora Marsye Mellawaty Vidyanita Kumalasari Y

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

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

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

Bab 6: Sinkronisasi Proses. Latar Belakang

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

Sistem Operasi. Kongkurensi

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

1. DEADLOCK. Diagram Graf

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

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

BAB II TINJAUAN PUSTAKA

Pertemuan 4 KONKURENSI

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

PERANGKAT LUNAK SIMULASI DEADLOCK MENGGUNAKAN ILUSTRASI DINING PHILOSOPHERS PROBLEM

Untuk mengatasi kondisi pacu harus dijamin tidak boleh dua proses atau lebih memasuki critical section yang sama secara bersamaan.

Sleep and Wake Up. Tugas Kuliah. Mata kuliah : CF 1310 Sistem Operasi. Disusun oleh : UZLINA RAHMAWATI FIA MAHANANI

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

Apa yang akan dipelajari?

OLEH : HASANUDDIN SIRAIT

Bab 22. Perangkat Sinkronisasi II

Sistem Operasi. Proses dan Thread

BAB 4. SINKRONISASI & DEADLOCK

The Critical Section Problem Algorithm III

DEADLOCK. Haryono Setiadi, ST, M.Eng

PEDOMAN WAWANCARA UNTUK PENGAJAR

Bab 5. Sinkronisasi Proses POKOK BAHASAN: TUJUAN BELAJAR: 5.1 LATAR BELAKANG

Rencana Perkuliahan Sistem Operasi CSG3E3 2015/2016

7. Pengaturan Proses

Pertemuan #2: Proses dan Thread

Perbedaan Anatara Thread dan Proses

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

Analisis Penerapan Semaphore dalam Mengatasi Masalah Sinkronisasi Dining Philosophers.

Konkurensi. Faikul Umam

Process Synchronization

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

Pencegahan Deadlock pada Alokasi Resource dalam Sistem Operasi Menggunakan Algoritma Greedy

Sistem Operasi Pertemuan 5 Concurrency: Mutual Exclusion & Synchronization

Sinkronisasi dan Deadlock

Proses Sinkronisasi. Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors

SEKOLAH TINGGI INFORMATIKA & KOMPUTER INDONESIA (STIKI)

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

Koordinasi Antar Proses

DEADLOCK & ALGORITMA OSTRICH

The Critical Section Problem Algorithm III. Muhammad Fikry Hazmi (143) Kresna Ridwan (145) Guntur Kondang Prakoso (153)

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

SOLUSI QUIZ 2 SISOP CS3613

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Soal-jawab Quiz 2. Oleh: Endro Ariyanto (END) Oktober 2008

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

CRITICAL REGIONS DAN MONITORS

7 Sinkronisasi. Proses Sinkronisasi. Overview (1) Overview (2) Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors

SISTEM OPERASI. Sri Kusumadewi

DEADLOCK PADA DISTRIBUSI DATA DAN PEMECAHANNYA

Masalah-Masalah Klasik Sinkronisasi

RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER

PROSES DAN THREADS DALAM SISTEM OPERASI

Interaksi Antar Proses

Bab 19. Solusi Critical Section

Bab 13. Konsep Penjadwalan

Concurrency 1: y Mutual Exclusion dan Sinkronisasi (Perte rt muan ke muan -10) 10 Oktober 2014

Optimasi Algoritma Banker dengan Algoritma Greedy

Sequential Process. Keterangan SISTEM OPERASI KOMUNIKASI ANTAR PROSES

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

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

Transkripsi:

Pertemuan #3: Sinkronisasi dan Deadlock Lecturer: Abdusy Syarif Prodi Teknik Informatika Fakultas Ilmu Komputer

LATAR BELAKANG Akses-akses yang dilakukan secara bersama-sama ke data yang sama, dapat menyebabkan data menjadi tidak konsisten. Untuk menjaga agar data tetap konsisten, dibutuhkan mekanisme-mekanisme untuk memastikan pemintaan ekseskusi dari proses yang bekerja. Race Condition: Situasi dimana beberapa proses mengakses dan memanipulasi data secara bersamaan. Nilai terakhir dari data bergantung dari proses mana yang selesai terakhir. Untuk menghindari Race Condition, proses-proses secara bersamaan harus disinkronisasikan. Slide - 2

CRITICAL SECTION Critical Section adalah sebuah segmen kode di mana sebuah proses yang mana sumber daya bersama di akses. Critical Section terdiri dari entry section, exit section dan remainder section. Dalam critical section solusi yang diberikan harus memuaskan permintaaan berikut: - mutual exclution - deadlock free - starvation free Slide - 3

SEMAPHORE Semaphore adalah pendekatan yang diajukan oleh Djikstra, dengan prinsip bahwa dua proses atau lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana. Semaphore mempunyai dua sifat 1.Semaphore dapat diinisialisasi dengan nilai nonnegatif. 2.Terdapat dua operasi yaitu Down (menurunkan nilai) dan Up (menaikkan nilai). Slide - 4

PROBLEM KLASIK Tiga hal yang selalu menjadi masalah pada proses sinkronisasi: 1.Problem Bounded buffer. 2.Problem Reades and Writer. 3.Problem Dining Philosophers. Slide - 5

MONITOR Merupakan kumpulan prosedur, variabel dan struktur data di satu modul atau paket khusus. Properti-properti monitor: 1. Variabel-variabel data lokal, hanya dapat diakses oleh prosedur-prosedur dalam monitor dan tidak oleh prosedur di luar monitor. 2. Hanya satu proses yang dapat aktif di monitor pada satu saat. Kompilator harus mengimplementasi ini(mutual exclusion). 3. Terdapat cara agar proses yang tidak dapat berlangsung di-blocked. Menambahkan variabelvariabel kondisi, dengan dua operasi, yaitu Wait dan Signal. 4. Versi Hoare: Setelah signal, membangunkan proses baru agar berjalan dan menunda proses lain. 5. Versi Brinch Hansen: Setelah melakukan signal, proses segera keluar dari monitor. Slide - 6

Pokok Bahasan Deadlock - Pengertian & Latar Belakang Deadlock - Penyebab Deadlock - Strategi untuk mengatasi Deadlock Slide - 7

Pengertian dan Latar Belakang Keadaan dimana 2 atau lebih proses saling menunggu meminta resources untuk waktu yang tidak terbatas lamanya. Analoginya seperti pada kondisi jalan raya dimana terjadi kemacetan parah. Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel digunakan oleh 2 proses Slide - 8

Model Deadlock Slide - 9

Penyebab Deadlock Mutual Exclusion Hold and Wait Circular Waiting No Preemption Deadlock harus memenuhi semua syarat diatas Slide - 10

Circular Wait Contoh Circular Wait Slide - 11

Strategi mengatasi Deadlock Prevention : memastikan paling sedikit satu penyebab Deadlock tidak berlaku Avoidance : sistem menolak request terhadap resource yang berpotensi deadlock, Algoritma Banker Detection and Recovery : membiarkan Deadlock terjadi, lalu mendeteksinya, kemudian melakukan recovery, Algoritma Ostrich Slide - 12

Prevention Mutual Exclusion : membuat file spool untuk resource yang digunakan bersamasama Hold and Wait : memaksa sebuah proses untuk melepaskan resource yang dimilikinya ketika meminta resource baru Circular Waiting : memberikan penamaan resource berdasarkan urutan atau level No Preemption : membolehkan adanya preemption Slide - 13

Avoidance Resource manager menolak proses yang meminta resource yang berpotensi deadlock. Jika ada permintaan resource yang maksimum digunakan, maka proses tersebut akan dipaksa untuk melepaskan resource yang sudah dimiliknya. Perlu adanya informasi tambahan. Slide - 14

Algoritma Banker Didasarkan pada kondisi bank, dimana konsumen meminjam sejumlah uang, lalu meminta pinjaman uang lagi. Proses dan resource dimodelkan dalam satu tabel. A 3 0 1 1 B 0 1 0 0 C 1 1 1 0 D 1 1 0 1 E 0 0 0 0 Resources assigned A 1 1 0 0 B 0 1 1 2 C 3 1 0 0 D 0 0 1 0 E 2 1 1 0 Remaining resources Slide - 15

Detection dan Recovery Membiarkan deadlock terjadi lalu mendeteksinya kemudian melakukan tindakan recovery seperlunya. Algoritma yang paling dikenal adalah algoritma Ostrich. Tindakan recovery yang dilakukan adalah : melakukan preemption, membuat checkpoint untuk rollback lalu membunuh proses yang prioritasnya kecil. Slide - 16

Fakta tentang Deadlock dalam OS Pada windows NT, deteksi deadlock yaitu berupa BSOD(Blue Screen Of Death), recoverynya adalah reboot sederhana. Pada linux untuk mengetahui apakah terjadi deadlock yaitu dengan menggunakan xosview untuk mengetahui proses yang menggunakan CPU 100%, lalu kill saja proses tersebut. Slide - 17

Deadlock di Linux If a system has more than two processors (including virtual processors) and is running any version of Linux which utilizes a 2.4 series kernel, it may experience a three-way CPU deadlock in the network layer. This deadlock is most prevalent whenever Ethernet channel bonding (teaming) is being utilized. This is not architecture specific and affects all x86, EM64T, and IA64 platforms. This is also not distribution specific and affects all kernel 2.4 based distributions including multiple Red Hat releases. To reduce exposure, the only option is to not utilize channel bonding (teaming) on these platforms. There will be no fix for this issue other than migrating to RHEL 4. For other non-red Hat distributions, contact the distribution vendor for a fix. Slide - 18

Deadlock di Linux Linux dengan kernel versi 2.4 mengalami deadlock pada sistem dengan prosesor lebih dari 2 unit. Deadlock ini pada umumnya terjadi bila akses melalui Ethernet dilakukan, terutama bila melakukan teaming pada jaringan. Proses akan terblock dan saling menunggu resource Ethernet tersebut bebas. Slide - 19

Deadlock di Linux Beberapa kasus deadlock juga terjadi ketika OS Linux dijalankan dari kondisi sleep, proses yang mengakses USB device akan mengalami deadlock. Hal ini disebabkan fungsi scheduler pada kernel yang digunakan tidak menyimpan state sebelum sleep, sehingga ketika kernel dijalankan kembali, Prosesproses yang mengakses USB device tersebut menunggu giliran mengakses, sementara scheduler belum menjadwalkan masing-masing proses. Kasus ini juga terjadi pada Serial device. Slide - 20

Kesimpulan Deadlock adalah situasi dimana 1 atau lebih proses tidak akan pernah selesai tanpa adanya recovery. Empat kondisi penting untuk deadlock : mutual exclusion, hold and wait, circular wait, and no preemption. Deadlock bisa diatasi oleh berbagai strategi : prevention, avoidance, detection and recovery. Slide - 21