Anda di halaman 1dari 4

Artikel sistem operasi

Deadlock dan Starvation

Oleh : Made Wendi Prayogi Putra


(BB223 / 220030345)

Pendahuluan
Penjelasan terkaitan dengan masalah deadlock, munculnya starvation, algoritma yang ada
pada SO, Round Robin.

Pembahasan
Deadlock adalah 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. Deadlock adalah
masalah yang biasa terjadi ketika banyak proses yang sebuah resource yang hanya boleh
dirubah oleh satu proses saja dalam satu waktu. Di kehidupan nyata, Deadlock dapat
didefinisikan sebagai pemblokiran permanen sejumlah proses yang berkompetisi dalam
mendapatkan sumber daya sistem atau yang berkomunikasi satu dengan yang lainnya. Semua
deadlock mencangkup konflik kebutuhan akansumber daya oleh dua proses atau lebih.
Berkembangannya Sistem Imformasi saat ini dan mendatang akan menuju ke sebuah sistem
multiprogramming, multi-processing, paralel dan terdistribusi yang mengharuskan adanya
proses-proses yang berjalan bersama sama dalam waktu yang bersamaan, Starvation adalah
kondisi yang biasanya terjadi setelah deadlock. Proses yang kekurangan resource (karena
terjadi deadlock) tidak akan pernah mendapat resource yang dibutuhkan sehingga mengalami
starvation (kelaparan). Starvation adalah kondisi yang biasanya terjadi setelah deadlock.
Proses yang kekurangan resource (karena terjadi deadlock) tidak akan pernah mendapat
resource yang dibutuhkan sehingga mengalami starvation (kelaparan). ¨Starvation dapat
terjadi pada proses penjadwalan yang menggunakan prinsip proses yang paling cepat
diselesaikan didahulukan, seperti pada Shortest Job First (SJF) dan Penjadwalan Prioritas.
Proses yang kekurangan resource (karena terjadi deadlock) tidak akan pernah mendapat
resource yang dibutuhkan sehingga mengalami starvation (kelaparan). Starvation dapat
diatasi dengan Aging dan pemrosesan dengan cara Round Robin.
SYARAT TERJADINYA DEADLOCK
1. Mutual exclusion (mutual exclusion conditional)
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. Kondisi tahan dan tunggu (hold and wait)
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. Kondisi non-preemption (non-preemption condition)
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.
4. Kondisi menunggu secara sirkuler (circular wait condition)
Kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang
proses berikutnya.
KONDISI UNTUK TERJADINYA DEADLOCK
1. Terjadi deadlock bila terdapat ketiga kondisi itu, tetapi adanya ketiga kondisi itu belum
berarti terjadi deadlock.
2. Deadlock benar-benar terjadi bila syarat keempat terpenuhi. Kondisi keempat merupakan
keharusan bagi terjadinya deadlock.
3. Deadlock bisa terjadi pada saat proses akan mengakses objek seperti file,device, dll secara
tidak semestinya. Objek tersebut dinamakan resource.

PENCEGAHAN DEADLOCK
Pencegahan deadlock dapat dilakukan dengan cara mencegah salah satu dari empat
karakteristik terjadinya deadlock. Berikut ini akan dibahas satu per satu cara pencegahan
terhadap empat karakteristik tersebut.
1. Mutual Exclusion .
Kondisi mutual exclusion pada sumber daya adalah sesuatu yang wajar terjadi, yaitu pada
sumber daya yang tidak dapat dibagi (non-sharable). Sedangkan pada sumber daya yang bisa
dibagi tidak ada istilah mutual exclusive. Jadi, pencegahan kondisi yang pertama ini sulit
karena memang sifat dasar dari sumber daya yang tidak dapat dibagi.
2. Hold and Wait .
Untuk kondisi yang kedua, sistem perlu memastikan bahwa setiap kali proses meminta
sumber daya, ia tidak sedang memiliki sumber daya lain. Atau bisa dengan prosesmeminta
dan mendapatkan sumber daya yang dimilikinya sebelum melakukan eksekusi, sehingga
tidak perlu menunggu.
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 'lingkaran setan' ini dapat 'diputus' dengan jalan menentukan totalkebutuhan 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 2019
PENGHINDARAN DEADLOCK
Pendekatan metode ini adalah dengan hanya memberi kesempatan ke permintaan sumber
daya yang tidak mungkin akan menyebabkan deadlock. Metode ini memeriksa dampak
pemberian akses pada suatu proses, jika pemberian akses tidak mungkin menuju kepada
deadlock, maka sumber daya akan diberikan pada proses yang meminta. Jika tidak aman,
proses yang meminta akan di-suspend sampai suatu waktu permintaannya aman untuk
diberikan. Kondisi ini terjadi ketika setelah sumber daya yang sebelumnya dipegang oleh
proses lain telah dilepaskan.

STARVATION
KARENA ADANYA DEADLOCK
Proses yang kekuranganresource (karena terjadi deadlock) tidak akan pernah mendapat
resource yang dibutuhkan sehingga mengalami starvation (kelaparan).

TANPA ADANYA DEADLOCK


Hal ini ketika terdapat kesalahan dalam sistem sehingga terjadi ketimpangan dalam
pembagian resouce. Satu proses selalu mendapat resource, sedangkan proses yang lain tidak
pernah mendapatkannya, Pada dasarnya deadlock dan starvation saling berkaitan.
MENGATASI STARVATION RR
Ada beberapa cara untuk mengatasi Starvation, salah satunya dengan Aging, proses awal
yang ada diberi urutan (N) pemrosesan dengan rumus N = ( P+T ) / P. N maksimum akan
mulai dikerjakan dan proses yang lain dinaikkan tingkat urutan prosesnya agar nanti jika ada
proses lain yang masuk, proses terdahulu mendapatkan bagian resource dan dapat
dikerjakan.Jika ada beberapa proses yang memiliki N maksimum, maka diantara proses
tersebut dilihat dari waktu yang dibutuhkan untuk menyelesaikannya. Jika masih sama juga,
maka dilihatwaktu kedatangannya. Selain itu, Starvation juga dapat diatasi dengan
pemrosesan dengan cara Round Robin.
Round Robin, adalah proses yang akan dimasukkan ke dalam antrian menurut proses
kedatangannya. Dalam penyelesainnya, suatu proses tidak akan langsung selesai jika waktu
yang dibutuhkan melebihi waktu kuantum yang diberikan.
Waktu kuantum itu sendiri adalah waktu telah yang diberikan untuk menyelesaikan suatu
proses. Ketika sutu proses telah mencapai batas waktu kuantum, sisa dari proses tersebut
dikembalikan ke antrian paling belakang dan resource dipindahkan ke proses selanjutnya.
Dengan cara ini, semua proses yang mengantri, akan mendapatkan resource secara bergantian
( tidak ada proses yang memonopoli resource ) sehingga semua proses dapat diselesaikan.

Round Robin
Adalah proses yang akan dimasukkan ke dalam antrian menurut proses kedatangannya.
Dalam penyelesainnya, suatu proses tidak akan langsung selesai jika waktu yang dibutuhkan
melebihi waktu kuantum yang diberikan.

Waktu kuantum
Adalah waktu telah yang diberikan untuk menyelesaikan suatu proses. Ketika sutu proses
telah mencapai batas waktu kuantum, sisa dari proses tersebut dikembalikan ke antrian paling
belakang dan resource dipindahkan ke proses selanjutnya. Dengan cara ini, semua proses
yang mengantri, akan mendapatkan resource secara bergantian ( tidak ada proses yang
memonopoli resource) sehingga semua proses dapat diselesaikan.

Status Aman Status ini terjadi jika sistem dapat mengalokasikan sumber daya bagi tiap proses
dalam keadaan tertentu dan masih dapat terjadi deadlock. Status aman bukanlah status
deadlock, jadi status deadlock merupakan status tidak aman, tetapi tidak selamanya status
tidak aman mengakibatkan status deadlock melainkan ada kemungkinan dapat terjadi.
PENUTUP
Kesimpulan
Dari hasil pembahasan dapat disimpulkan Deadlock adalah suatu kondisi dimana dua proses
atau lebih saling menunggu proses yang lain untuk melepaskan resource yang sedang dipakai
dan Starvation adalah kondisi yang biasanya terjadi setelah deadlock.
REFERENSI
https://www.coursehero.com/file/52673049/Modul-07-SOdocx/

Anda mungkin juga menyukai