Pengertian Deadlock Dan Starvation Terlengkap

Posted on

Pengertian Deadlock Dan Starvation Terlengkap

STARVATION

A. Pengertian Starvation

Pengertian Deadlock Dan Starvation Terlengkap-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.

deadlock

loading...

Hal tersebut merupakan masalah yang perlu perhatian dari perancang sistem operasi. Dimana kondisi  pada saat yang bersamaan terdapat lebih dari satu proses “proses-proses yang kongkuren” biasa disebut dengan kongkurensi.
Dan dalam kongruensi ini pasti ada masalah yang salah satunya adalah STARVATION.

Starvation biasanya terjadi setelah deadlock itu terjadi namun tidak harus deadloack itu terjadi. Proses yang kekurangan resource (karena terjadi deadlock) tidak akan pernah mendapat resource yang dibutuhkan sehingga mengalami starvation.

Ada beberapa cara Starvation dapat diselesaikan dengan resource(sumber daya) yang dialokasikan dengan  melibatkan sistem operasi. Sistem operasi ini sudah terprogram melalui sistem call jadi antara proses satu dengan yang lain tidak ada pembedaan yang mengakibatkan persaingan antara proses-proses tersebut.

B. Algoritma Starvation

Starvation terjadi pada proses proses penjadwalan yang menggunakan prinsip “proses yang paling cepat diselesaikan didahulukan”, seperti pada Shortest Job First atau yang biasa di singkat SJF dan Penjadwalan Prioritas.
Logikanya, Misalkan saya mempunyai banyak sekali kebutuhan, saya akan memilihnya mana yang didahulukan berdasarkan sesuatu.

Setelah saya selesai menyusunnya, ternyata ada kebutuhan lain yang datang (misalkan kebutuhan 1) dan ternyata kebutuhan itu mengalahkan salah satu kebutuhan kita. Sebelum kebutuhan 1 terpenuhi, datang lagi kebutuhan lain yang mengalahkan kebuthan awal. Jika hal ini terjadi secara terus menerus, maka ada kebuthan awal kita yang tidak terpenuhi (starvation).

C. Mengatasi Starvation
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 dilihat waktu 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.

DEADLOCK

Deadlock iyalah suatu kondisi dimana terdapat dua proses atau bahkan lebih dalam antrian proses yang lain untuk melepaskan resource yang sedang dipakai.http://www.gurupendidikan.com/
Karena beberapa proses itu saling menunggu antrian, maka tidak akan terjadi kemajuan dalam kerja proses-proses tersebut. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam satu waktu.

Prinsip-Prinsip Deadlock

1. Definisi Deadlock

Diblokiran secara permanen sejumlah proses yang berkompetesi dalam mendapatkan Resource(sumber daya) sistem atau yang berinteraksi satu dengan lainnya.
Semua Deadlock mencakup konflik kebutuhan akan Resource(sumber daya) oleh dua proses Bahkan lebih. Contoh yang umumnya adalah Deadlock lalu lintas . menunjukan situasi empat mobil tiba dipersimpangan empat arah dalam waktu yang hampir bersamaan.

Aturan pada jalan raya yang normal adalah  mobil yang sedang berada pada persimpangan empat arah harus memberikan jalan kepada mobil yang berada pada sebelah kanannya. Aturan ini akan berfungsi apabila terdapat hanya dua atau tiga mobil di persimpangan itu.

2. Mengatasi Deadlock

Mutual  Exclusion

Mutual  exclusion adalah  proses  memiliki  hak milik pribadi terhadap sumber daya yang sedang digunakannya. Jadi, hanya ada satu proses yang menggunakan suatu Resource(sumber daya). Proses lain yang juga ingin menggunakannya harus menunggu hingga sumber daya tersebut dilepaskan oleh proses yang telah selesai menggunakannya. Suatu proses hanya dapat menggunakan secara langsung sumber daya yang tersedia secara bebas.

Hold   and   Wait

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.

No  Preemption

Kondisi  yang  selanjutnya ini adalah no preemption  yaitu  sebuah  Resource (sumber  daya) hanya   dapat dilepaskan oleh proses yang memilikinya secara sukarela setelah ia selesai menggunakannya. Proses yang menginginkan sumber daya tersebut harus  menunggu sampai sumber daya tersedia, tanpa bisa merebutnya dari proses yang memilikinya.

Circular Wait

Circular Wait iyalah kondisi yang membentuk siklus  berisi proses yang satu sama lain saling membutuhkan. Proses pertama membutuhkan (Resource) sumber daya yang dimiliki proses kedua, proses kedua membutuhkan sumber daya   milik proses ketiga, dan seterusnya sampai proses ke n-1 yang membutuhkan sumber daya milik proses ke n. Terakhir, proses ke n membutuhkan sumber daya  milik proses yang pertama. Yang akan terjadi iyalah proses-proses tersebut akan terus menunggu antrian.

Avoidance 

sistem ini menolak request terhadap resource yang berpotensi deadlock, Algoritma Banker
Resource manager menolak proses yang meminta resource yang berpotensi deadlock,
Jika ada permintaan resource yang maksimum digunakan, maka proses itu akan dipaksa untuk melepaskan resource yang sudah dimiliknya perlu adanya informasi tambahan.

Detection and Recovery 

Pada Detection and Recovery membiarkan Deadlock terjadi, kemudian mendeteksinya, setelah itu melakukan recovery, Algoritma Ostrich
Yang dilakukan recovery yang dilakukan adalah  melakukan preemption, membuat checkpoint untuk rollback kemudian membunuh proses yang prioritasnya kecil

3. Menghindari Deadlock
Sistem ini perlu memiliki informasi awal tentang kebutuhan sumber daya
Tiap proses menyatakan kebutuhan maksimum tiap jenis sumber yg dibutuhkan
Algoritma deadlock-avoidance secara dinamis memeriksa state alokasi sumber daya untuk menjamin tidak terjadinya kondisi circular-wait
State alokasi sumber daya didefinisikan oleh banyaknya sumber daya yang ada dan yang dialokasikan, dan permintaan sumber daya maksimum oleh proses

Jika proses meminta sumber daya yang tersedia, sistem harus memutuskan apakah alokasi sumber daya ini   akan menghasilkan safe states
Sistem berada pada safe state jika terdapat urutan event yang tidak menyebabkan deadlock jika semua proses meminta sumber daya maksimum sekaligus

Logikanya:
– Jika Sistem berada pada safe state  no deadlock
– Jika Sistem berada pada unsafe state  kemungkinan deadlock
– Melakukan Pencegahan: sistem tidak masuk ke unsafe state

4. Mencegah Deadlock
Tiap proses harus meminta semua sumber daya yang diperlukan sekaligus dan tidak berlanjut sampai semuanya diberikan
Jika proses telah sedang memegang resource tertentu, untuk permintaan berikutnya proses harus melepas dulu resource yg dipegangnya.

Demikian Penjelasan tentang Pengertian Deadlock Dan Starvation Terlengkap Semoga Dapat Bermanfaat Bagi Para Pembaca Gurupendidikan.com 🙂


No ratings yet.

Please rate this