concurency deadlock, starvation & mutual ex
TRANSCRIPT
![Page 1: Concurency Deadlock, Starvation & Mutual Ex](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/1.jpg)
KONKURENSI (KEBERSAMAAN)
Anggun N ugroho
![Page 2: Concurency Deadlock, Starvation & Mutual Ex](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/2.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/3.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/4.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/5.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/6.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/7.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/8.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/9.jpg)
MasalahMasalah padapada konkurensikonkurensi (1)(1)
Beberapa masalah yang muncul pada konkurensiantara lain :
Mutual exclusionDeadlockStarvationRace condition
![Page 10: Concurency Deadlock, Starvation & Mutual Ex](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/10.jpg)
Mutual exclusion
![Page 11: Concurency Deadlock, Starvation & Mutual Ex](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/11.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/12.jpg)
Deadlock
![Page 13: Concurency Deadlock, Starvation & Mutual Ex](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/13.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/14.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/15.jpg)
MasalahMasalah padapada konkurensikonkurensi (5)(5)
![Page 16: Concurency Deadlock, Starvation & Mutual Ex](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/16.jpg)
Starvation
![Page 17: Concurency Deadlock, Starvation & Mutual Ex](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/17.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/18.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/19.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/20.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022100220/5571f8e749795991698e596d/html5/thumbnails/21.jpg)
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.