Top Banner

Click here to load reader

21

Concurency Deadlock, Starvation & Mutual Ex

Jun 26, 2015

Download

Documents

deviasyari
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Concurency Deadlock, Starvation & Mutual Ex

KONKURENSI (KEBERSAMAAN)

Anggun N ugroho

Page 2: Concurency Deadlock, Starvation & Mutual Ex

OBJEK PEMBELAJARANOBJEK PEMBELAJARAN

Overview Overview KonkurensiKonkurensiPersainganPersaingan Dan Dan KerjasamaKerjasama AntarAntar ProsesProsesKesulitanKesulitan--kesulitankesulitan dalamdalam kongkurensikonkurensiMasalahMasalah padapada konkurensikonkurensi

Mutual exclusionMutual exclusionDeadlockDeadlockStartvationStarvationRace conditionRace condition

Page 3: Concurency Deadlock, Starvation & Mutual Ex

Overview Konkurensi (1)

Proses-proses disebut konkuren jika proses-proses(lebih dari 1 proses) berada pada saat yang sama. Proses-proses konkuren dapat sepenuhnya takbergantung dengan lainnya tapi dapat juga salingberinteraksi/kerjasama. Proses-proses yang berinteraksi memerlukansinkronisasi/koordinasi agar terkendali dengan baik.

Page 4: Concurency Deadlock, Starvation & Mutual Ex

Overview Konkurensi (2)

Konkurensi merupakan landasan umum perancangansistem operasi. Perkembangan sistem komputer mendatang multi-processing, multiprogramming, terdistribusi dan paralel

mengharuskan adanya proses-proses yang berjalanbersama dalam waktu yang bersamaan (konkuren)Untuk penanganan konkuren, bahasa pemogramansaat ini telah memiliki mekanisme kongkurensi dimanadalam penerapannya perlu dukungan sistem operasi.

Page 5: Concurency Deadlock, Starvation & Mutual Ex

Contoh KasusSambil menunggu selesainya layanan (misalnya transferdata oleh modem) pemakai dapat berinteraksi denganaplikasi lain seperti aplikasi permainan game ataumengetikkan perintah pada text editor

Proses tersebut harus berjalan konkuren dan tidakterjadi deadlock (hang)

Page 6: Concurency Deadlock, Starvation & Mutual Ex

PersainganPersaingan Dan Dan KerjasamaKerjasama AntarAntar ProsesProses (1)(1)Persaingan antar proses terjadi ketika beberapa prosesakan menggunakan sumber daya yang sama.Jika ada 2 proses yang akan mengakses ke suatusumber daya tunggal, kemudian satu prosesdialokasikan ke sumber daya tersebut oleh SO prosesyang lainnya akan menunggu.

Page 7: Concurency Deadlock, Starvation & Mutual Ex

PersainganPersaingan Dan Dan KerjasamaKerjasama AntarAntar ProsesProses (2)(2)Pada kasus yang ekstrim, proses yang menunggu tersebutada kemungkinan tidak akan pernah mendapatkan akseske sumber daya sehingga tidak akan pernah selesaidengan sempurna. Hal ini juga terjadi akibat antar proses yang saling tidakpeduli.Proses-proses yang mengalami kongkuren dapat berdirisendiri (independen) atau dapat saling berinteraksi, sehingga membutuhkan sinkronisasi atau koordinasiproses yang baik.

Page 8: Concurency Deadlock, Starvation & Mutual Ex

Meskipun proses-proses tidak bekerja bersama, SO perlu mengatur persaingan diantara proses-proses itudalam memperoleh sumber daya yang terbatas

Contoh :Dua buah aplikasi (word & corel) berusaha mengaksesprinter yang sama.Bila kedua aplikasi mengakses printer yang sama benar-benar secara bersamaan maka kedua proses akanmemperoleh hasil yang tidak dikehendaki.

Page 9: Concurency Deadlock, Starvation & Mutual Ex

MasalahMasalah padapada konkurensikonkurensi (1)(1)

Beberapa masalah yang muncul pada konkurensiantara lain :

Mutual exclusionDeadlockStarvationRace condition

Page 10: Concurency Deadlock, Starvation & Mutual Ex

Mutual exclusion

Page 11: Concurency Deadlock, Starvation & Mutual Ex

MasalahMasalah padapada konkurensikonkurensi (2)(2)

Mutual exclusion adalah jaminan hanya satu proses yang mengakses sumber daya pada suatu interval waktutertentu, sedangkan proses lain dilarang mengerjakan halyang sama.

contoh : sumberdaya printer hanya bisa diakses 1 proses, tidak bisa bersamaan sumber daya ini disebut sumberdaya kritis

Page 12: Concurency Deadlock, Starvation & Mutual Ex

Deadlock

Page 13: Concurency Deadlock, Starvation & Mutual Ex

MasalahMasalah padapada konkurensikonkurensi (3)(3)• Deadlock

Adalah banyak proses yang saling menunggu hasil dariproses yang lain untuk dapat melanjutkan ataumenyelesaikan tugasnya.

Page 14: Concurency Deadlock, Starvation & Mutual Ex

MasalahMasalah padapada konkurensikonkurensi (4)(4)Model deadlock 2 proses dan 2 sumber daya

Misal : 2 proses P0 dan P1 2 sumber daya R0 dan R1 P0 meminta sumberdaya R0. Sumber daya R1 dialokasikan ke P1.

Page 15: Concurency Deadlock, Starvation & Mutual Ex

MasalahMasalah padapada konkurensikonkurensi (5)(5)

Page 16: Concurency Deadlock, Starvation & Mutual Ex

Starvation

Page 17: Concurency Deadlock, Starvation & Mutual Ex

MasalahMasalah padapada konkurensikonkurensi (6)(6)• Starvation

Adalah suatu proses akan menunggu suatu kejadianatau hasil suatu proses lain, supaya dapatmenyelesaikan tugasnya, tetapi kejadian yang ditunggutidak pernah terjadi karena selalu diambil lebih dulu olehproses yang lain.

Page 18: Concurency Deadlock, Starvation & Mutual Ex

Contoh :Terdapat tiga proses, yaitu P1, P2 dan P3. P1, P2 dan P3 memerlukan pengaksesan sumber daya R secara periodikSkenario berikut terjadi :

P1 sedang diberi sumber daya R sedangkan P2 dan P3 diblocked menunggu sumber daya R. Ketika P1 keluar dari critical section, maka P2 dan P3 diijinkan mengakses R. Asumsi P3 diberi hak akses, kemudian setelah selesai, hakakses kembali diberikan ke P1 yang saat itu kembalimembutuhkan sumber daya R.

Jika pemberian hak akses bergantian terus-menerus antara P1 dan P3, maka P2 tidak pernah memperoleh pengaksesansumber daya R. Dalam kondisi ini memang tidak terjadi deadlock, hanya saja P2 mengalami starvation (tidak ada kesempatan untuk dilayani).

Page 19: Concurency Deadlock, Starvation & Mutual Ex

Race conditionRace conditionMerupakan sebuah kondisi dimana 2 atau lebih prosesmembaca atau menulis data/variabel yang digunakanbersama, dan hasilnya tergantung dari proses mana yang terakhir menggunakan data tersebut.

Page 20: Concurency Deadlock, Starvation & Mutual Ex

ContohContoh : : AplikasiAplikasi BankBankPada aplikasi tabungan, misal rekening A berisi Rp. 1 jutaterdaftar di kantor cabang Solo. Pada suatu saat program aplikasi di kantor cabangJakarta melayani penyetoran Rp.3 juta ke rekeningtersebut. Program aplikasi membaca saldo akhir rekening A. Pada waktu yang hampir bersamaan di kantor cabangSolo juga terjadi transaksi yaitu penyetoran Rp. 5 juta kerekening A. Program aplikasi di Solo membaca saldo Akhir rekening A

Page 21: Concurency Deadlock, Starvation & Mutual Ex

Beberapa skenario yang terjadi bila mutual exclusion tidak terjamin, yaitu:

1. Program aplikasi Solo Menulis ke Rekening A secara cepat sehinggadihasilkan saldo 6.000.000, setelah itu kantor cabang jakartamenimpal hasil itu dengan saldo 4.000.000 bukan 9 .000.000 (yang seharusnya)

2. Program aplikasi jakarta menulis kerekening secara cepat sehinggadihasilkan 4.000.000. Setelah itu program aplikasi di kantor cabangsolo menimpa hasilnya itu dengan saldo 6.000.000,-Hasil yang lebih baik dibandingkan dengan skenario pertamaternyata masih di bawah hasil yang seharusnya.