Konkurensi 3 - PowerPoint PPT Presentation

About This Presentation
Title:

Konkurensi 3

Description:

Rahmady Liyantanto liyantanto_at_gmail.com liyantanto.wordpress.com Sistem Operasi D3 Manajemen Informatika Universitas Trunojoyo Pengertian & Latar Belakang Deadlock ... – PowerPoint PPT presentation

Number of Views:238
Avg rating:3.0/5.0
Slides: 21
Provided by: Lel66
Category:
Tags: konkurensi

less

Transcript and Presenter's Notes

Title: Konkurensi 3


1
Konkurensi 3 Deadlock dan Starvation
  • Rahmady Liyantanto
  • liyantanto_at_gmail.com
  • liyantanto.wordpress.com

Sistem Operasi
2
Sub Pokok Bahasan
  • Pengertian Latar Belakang Deadlock
  • Penyebab Deadlock
  • Strategi untuk mengatasi Deadlock
  • Starvation
  • Kesimpulan

3
Pengertian dan Latar Belakang(1)
  • 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

4
Pengertian dan Latar Belakang(2)
  • Deadlock dalam arti sebenarnya adalah kebuntuan
    dalam sistem operasi adalah kebuntuan proses.
    Jadi Deadlock ialah suatu kondisi dimana proses
    tidak berjalan lagi atau pun tidak ada komunikasi
    lagi antar proses.
  • Deadlock disebabkan karena proses yang satu
    menunggu sumber daya yang sedang dipegang oleh
    proses lain yang sedang menunggu sumber daya yang
    dipegang oleh proses tersebut..

5
Model Deadlock
6
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, denganmenunggu hingga
    benar-benar sumber daya yang diminta tidak
    dipakai oleh proses lain. Hal ini dapat sebuah
    proses tidak mendapat sumber daya dalam waktu
    yang lama

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

8
Circular Wait
  • Contoh Circular Wait

9
Strategi mengatasi Deadlock
  • 1. Mengabaikan masalah deadlock.
  • 2. Mendeteksi dan memperbaiki
  • (Detection and Recovery )? Algoritma Ostrich
  • 3. Menghindari Deadlock(Avoidance) ? Algoritma
    Banker
  • 4. Pencegahan yang secara struktur bertentangan
    dengan empat kondisi terjadinya deadlock.

10
1. Mengabaikan Masalah Deadlock
  • Metode ini lebih dikenal dengan Algoritma
    Ostrich. Dalam algoritma ini dikatakan bahwa
    untuk menghadapi Deadlock ialah dengan
    berpura-pura bahwa tidak ada masalah apa pun.
    Jadi jika terjadi Deadlock, maka tabel akan
    penuh, sehingga proses yang menjalankan proses
    melalui operator harus menunggu pada waktu
    tertantu dan mencoba lagi.

11
2. Mendeteksi dan memperbaiki (Detection and
Recovery )(1)
  • 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.
  • Hal-hal yang terjadi dalam mendeteksi adanya
    Deadlock adalah
  • 1. Permintaan sumber daya dikabulkan selama
    memungkinkan.
  • 2. Sistem operasi memeriksa adakah kondisi
    circular wait secara periodik.

12
2. Mendeteksi dan memperbaiki (Detection and
Recovery )(2)
  • 3. Pemeriksaan adanya Deadlock dapat dilakukan
    setiap ada sumber daya yang hendak digunakan oleh
    sebuah proses.
  • 4. Memeriksa dengan algoritma tertentu.
  • Tindakan recovery yang dilakukan adalah
    melakukan preemption, membuat checkpoint untuk
    rollback lalu membunuh proses yang prioritasnya
    kecil

13
3. Menghindari Deadlock(Avoidance)
  • Sistem sudah harus dapat mengenali bahwa sumber
    daya itu aman atau tidak( dalam arti tidak
    terkena Deadlock), setelah itu baru dialokasikan.
    Ada dua cara yaitu
  • 1. Jangan memulai proses apa pun jika proses
    tersebut akan membawa kita pada kondisi Deadlock.
  • 2. Jangan memberi kesempatan pada suatu proses
    untuk meminta sumber daya lagi jika penambahan
    ini akan membawa kita pada suatu keadaan Deadlock

14
4. Pencegahan Deadlock
  • Mutual Exclusion membuat file spool untuk
    resource yang digunakan bersama-sama
  • 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

15
Algoritma Banker(1)
  • Algoritma ini dapat digambarkan sebagai seorang
    bankir dikota kecil 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 ini mempertimbangkan apakah
    permintaan mereka itu sesuai dengan jumlah dana
    yang ia miliki, sekaligus memperkirakan jumlah
    dana yang mungkin diminta lagi.

16
Algoritma Banker(2)
  • Secara umum algoritma bankir dapat dibagi menjadi
    4 struktur data
  • 1. Tersedia jumlah sumber daya/dana yang
    tersedia
  • 2. Maksimum jumlah sumber daya maksimum yang
    diminta oleh setiap proses
  • 3. Alokasi jumlah sumber daya yang dibutuhkan
    oleh setiap proses
  • 4. Kebutuhan sumber daya yang sedang dibutuhkan
    oleh setiap proses

17
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

18
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,
    Proses-proses yang mengakses USB device tersebut
    menunggu giliran mengakses, sementara scheduler
    belum menjadwalkan masing-masing proses.
  • Kasus ini juga terjadi pada Serial device

19
Starvation
  • Starvation? Kelaparan
  • Suatu keadaan dimana pemberian akses bergantian
    terus-menerus dan ada suatu proses yang tidak
    mendapatkan gilirannya.

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
Write a Comment
User Comments (0)
About PowerShow.com