Di Posting Oleh : wandi
Kategori : Informasi Pemprograman
Pengertian Mutual Exclusion
Pada system komputer terdapat sumber daya yang tidak dapat dipakai bersama pada saat yang bersamaan seperti pada penggunaan printer, Sumber daya seperti hanya dapat menjalankan satu proses pada suatu saat, sumber daya ini disebut sumber daya kritis. Program yang menggunakan sumber daya kritis disebut sedang memasuki critical region / section.
mutual exclusion adalah suatu metode untuk menjamin hanya satu proses saja yang berjalan dalam suatu critical region / section. Mutual exclusion juga dapat diartikan sebagai jaminan hanya sebuah proses yang mengakses sumber daya pada suatu interval waktu tertentu. Proses proses yang lain dilarang mengerjakan hal yang sama. Mutual exclusion merupakan solusi bagi masalah pada critical region / section.
Ilustrasi Mutual Exclusion
Misalnya ada jaringan komputer sebuah Bank, dimana server untuk penyimpanan datanya terpusat:
- Seorang nasabah dapat melakukan penyimpanan maupun penarikan dari cabang mana saja dan kapan saja termasuk pengambilan lewat ATM.
- Sehingga jika ingin data tepat, ketika ada salah satu nasabah melakukan transaksi, record nasabah bersangkutan harus dikunci supaya record tersebut tidak dapat akses oleh orang lain.
- Setelah transaksi selesai, record tempat data nasabah disimpan, record baru dibuka kembali. Ini adalah salah satu contoh penjaminan bahwa satu sumber daya hanya bisa dipakai oleh satu proses.
Baca juga pengertian segmentasi dan kombinasi paging-segmentasi
Pemaksaan atau pelanggaran mutual exclusion dapat menyebabkan deadlock dan startvation.
Deadlock
Deadlock merupakan suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut.
Contoh Deadlock dalam kehidupan sehari - hari
Startvation
kondisi yang biasanya terjadi setelah deadlock. Proses yang kekuranganresource (karena terjadi deadlock) tidak akan pernah mendapat resource yang dibutuhkan sehingga mengalami starvation (kelaparan).
Contoh Startvation
Tiga proses : P1, P2, P3
P1,P2,P3 memerlukan pengaksesan sumber daya R secara periodik
Skenario berikut dapat terjadi :
- P1 diberi sumberdaya R, P2 dan P3 blocked menunggu sumber daya R
- Ketika P1 keluar dari critical section, P2 dan P3 diijinkan mengakses R
- Asumsi P3 diberi hak akses, kemudian setelah selesai hak akses kembali diberikan ke P1 yang saat itu kembali membutuhkan sumberdaya R.
- Jika pemberian hak akses terus-menerus antara P1 dan P3, maka P2 tidak pernah memperoleh pengaksesan sumberdaya R, meski tidak ada deadlock. Pada situasi ini P2 mengalami startvation
Baca juga Manajemen memori dan pemartisian statis dan dinamis
Critical Section
Critical region/section adalah sebuah segmen kode di mana sebuah proses yang mana sumber daya bersama diakses. Mutual exclusion sangat bermanfaat sebagai cara untuk menjamin hanya ada 1 proses aja yang mengakses sumberdaya pada interval waktu tertentu
Solusi dari masalah critical section harus memenuhi tiga syarat berikut:
- mutual exclusion
- terjadi kemajuan(progress)
- ada batas waktu tunggu (bounded waiting)
Mau liat atau download source code aplikasi premium bisa disini.
0 Komentar