Deadlock
Tugas
Sistem Operasi
1.
Pengertian
Deadlock

Deadlock adalah 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. Contohnya
prosesor, Channel I/O, disk, semaphore. Contoh lainnya misalkan sebuah proses
memakai disk A dan B, maka akan terjadi Deadlock jika setiap proses sudah
memiliki salah satu disk dan meminta disk yang lain.
Contoh lain yang menyebabkan
Deadlock dari sumber yang dapat dipakai berulang-ulang ialah berkaitan dengan
jumlah proses yang memakai memori utama. Ada empat kondisi yang dapat
menyebabkan terjadinya deadlock. Keempat kondisi tersebut tidak dapat berdiri
sendiri, namun saling mendukung.
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.
2.
Hold and wait. Proses yang sedang
memakai sumber daya boleh meminta sumber daya lagi maksudnya menunggu hingga
benar-benar sumber daya yang diminta tidak dipakai oleh proses lain, hal ini
dapat menyebabkan kelaparan sumber daya sebab dapat saja sebuah proses tidak
mendapat sumber daya dalam waktu yang lama.
3.
No preemption. Pencegahan
kondisi ini dengan cara membolehkan terjadinya preemption. Maksudnya bila ada
proses yang sedang memiliki sumber daya dan ingin mendapatkan sumber daya
tambahan, namun tidak bisa langsung dialokasikan, maka akan preempted. Sumber
daya yang dimiliki proses tadi akan diberikan pada proses lain yang membutuhkan
dan sedang menunggu. Proses akan mengulang kembali eksekusinya setelah
mendapatkan semua sumber daya yang dibutuhkannya, termasuk sumber daya yang
dimintanya terakhir.
4.
Circular wait.
Kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang
dipegang proses berikutnya. Kondisi 'lingkaran setan' ini dapat 'diputus'
dengan jalan menentukan total kebutuhan terhadap semua tipe sumber daya yang
ada. Selain itu, digunakan pula mekanisme enumerasi terhadap tipe-tipe sumber
daya yang ada. Setiap proses yang akan meminta sumber daya harus meminta sumber
daya dengan urutan yang menaik. Misalkan sumber daya printer memiliki nomor 1
sedangkan CD-ROM memiliki nomor 3. Proses boleh melakukan permintaan terhadap
printer dan kemudian CD-ROM, namun tidak boleh sebaliknya.
Strategi mengatasi Deadlock :
Add beberapa cara untuk
menanggulangi terjadinya deadlock, diantaranya adalah:
a.
Mengabaikan masalah deadlock.
b.
Mendeteksi dan memperbaiki
c. Penghindaran yang
terus menerus dan pengalokasian yang baik dengan menggunakan protocol
untuk memastikan sistem tidak pernah memasuki keadaan deadlock. Yaitu dengan
deadlock avoidance sistem untuk mendata informasi tambahan tentang proses mana
yang akan meminta dan menggunakan sumber daya.
d. Pencegahan yang secara struktur bertentangan dengan
empat kondisi terjadinya deadlock dengan deadlock prevention sistem untuk
memastikan bahwa salah satu kondisi yang penting tidak dapat menunggu.
2.
Pengertian
Mutual Exclusion
Mutual Exclusion adalah suatu cara yang menjamin jika ada sebuah proses yang
menggunakan variabel atau berkas yang sama (digunakan juga oleh proses lain),
maka proses lain akan dikeluarkan dari pekerjaan yang sama. Jadi, Mutual Exclusive terjadi
ketika 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.
Pengertian
lain Mutual exclusion adalah jaminan hanya satu proses yang mengakses sumber
daya pada suatu interval waktu tertentu, sedangkan proses lain dilarang
mengerjakan hal yang sama -> contoh : sumberdaya printer hanya bisa diakses
1 proses, tidak bisa bersamaan -> sumber daya ini disebut sumber daya
kritis.
Bagian program yang sedang
mengakses memori atau sumberdaya yang dipakai bersama disebut critical
section / region. Kesuksesan proses-proses kongkuren memerlukan
pendefinisian critical section dan memaksakan mutual exclusion diantara
proses-proses kongkuren yang sedang berjalan. Pemaksaan mutual exclusion
merupakan landasan pemrosesan kongkuren, namun pemaksaan mutual exclusion dapat
menimbulkan 2 masalah yaitu :
- Deadlock
Adalah
banyak proses yang saling menunggu hasil dari proses yang lain untuk dapat
melanjutkan atau menyelesaikan tugasnya.
- Startvation
Adalah
suatu proses akan menunggu suatu kejadian atau hasil suatu proses lain supaya
dapat menyelesaikan tugasnya, tetapi kejadian yang ditunggu tidak pernah
terjadi karena selalu diambil lebih dulu oleh proses yang lain.
3.
Pengertian
Hold and Wait
Kondisi yang menyatakan proses-proses yang sedang
memakai suatu sumber daya dapat meminta sumber daya yang lain atau proses yang
sedang memegang resource bisa meminta resource yang lain. Kondisi yang kedua
adalah hold and wait yaitu beberapa proses saling menunggu sambil menahan
sumber daya yang dimilikinya. Suatu proses yang memiliki minimal satu buah
sumber daya melakukan request lagi terhadap sumber daya. Akan tetapi, sumber
daya yang dimintanya sedang dimiliki oleh proses yang lain. Pada saat yang
sama, kemungkinan adanya proses lain yang juga mengalami hal serupa dengan
proses pertama cukup besar terjadi. Akibatnya, proses-proses tersebut hanya
bisa saling menunggu sampai sumber daya yang dimintanya dilepaskan. Sambil
menunggu, sumber daya yang telah dimilikinya pun tidak akan dilepas. Semua
proses itu pada akhirnya saling menunggu dan menahan sumber daya miliknya.
4.
Pengertian
Deadlock Avoidance
Algoritma penghindaran
(avoidence) deadlock memastikan tidak akan terjadi kondisi circular wait. Penghindaran
yang terus menerus dan pengalokasian yang baik dengan menggunakan protocol untuk memastikan sistem tidak
pernah memasuki keadaan deadlock. Yaitu dengan deadlock avoidance sistem untuk
mendata informasi tambahan tentang proses mana yang akan meminta dan
menggunakan sumber daya.
5.
Pengertian
Deadlock Prevention
Pencegahan yang secara struktur bertentangan dengan
empat kondisi terjadinya deadlock dengan deadlock prevention sistem untuk
memastikan bahwa salah satu kondisi yang penting tidak dapat menunggu.
Comments
Post a Comment