This page needs JavaScript activated to work correctly !

This page will be redirect in 3 second !

Deadlock & Starvation - Networking | IDRaya.com

Deadlock & Starvation

Triawan NETWORKING 10/10/2020 0 Discuss 94 Views

Deadlock yaitu kondisi dimana lebih dari dua proses/thread saling menunggu satu sama lainnya untuk melepaskan resource yang sedang dipakai.

DeadLock Gambar Analogika DeadLock.

Pada gambar diatas dapat dianalogikakan kejadian deadlock menggunakan ilustrasi seperti didunia nyata, yaitu pada lalu lintas yang terdapat sebuah jembatan yang merepresentasikan sebuah resource dan mobil merepresentasikan proses. Kedua mobil tersebut saling berebut menggunakan jembatan dengan arah saling berlawanan, namun karna resource tersebut hanyda dapat digunakan oleh satu proses saja, maka terjadilah deadlock. Kondisi ini jika terjadi dalam waktu yang lama (mobil tidak ada yang mau mengalah/mundur) maka akan terjadi starvation terhadap proses/mobil lainnya.

Starvation yaitu terdapat satu proses atau lebih yang tidak pernah mendapat giliran untuk dieksekusi atau mendapatkan resource (kelaparan), biasanya terjadi setelah deadlock. Kasus lain tanpa deadlock karena kesalahan dalam sistem/program sehingga terjadi ketimpangan dalam pembagian resource.

Starvation Gambar Analogika Starvation.

Pada analogika deadlock telah dijelaskan melalui ilustrasi lalu lintas yang terdiri dari satu jembatan sebagai satu resource dan terdapat beberapa mobil yang menggambarakan proses-proses. Terjadinya deadlock bukanlah satu-satunya penyebab terjadi starvation. Pada ilustrasi starvation gambar diatas, ketika lalu lintas didominasi oleh kendaraan-kendaraan hanya dari satu arah saja dalam menggunakan satu jembatan, maka dapat menyebabkan starvation, sehingga kendaraan lain menjadi terus menerus menunggu. Sehingga cukup jelas starvation merupakan keadaan atau kondisi proses tidak pernah mendapatkan/tersedianya resource karena terus menerus atau berkepanjangan menunggu agar resource tersebut dilepas dan diberikan kepadanya.

Sebenarnya terdapat kondisi atau situansi lainnya yang dapat mengakibatkan dua/lebih proses tidak dapat menyelesaikan pekerjaannya saat menggunakan resource yang sama, yaitu kondisi Livelock. Kondisi livelock adalah situasi di mana dua atau lebih proses terus-menerus mengubah statusnya sebagai respons terhadap perubahan dalam proses lain tanpa melakukan pekerjaan yang berguna. Contoh livelock pada gambar analogika deadlock diatas, ketika bus sebelah kanan yang berada diatas jembatan, mundur (melepaskan resource jembatan), kemudian bus sebelah kanan kembali maju (menggunkan resource jembatan), dan sama halnya yang dilakukan oleh bus sebelah kiri. Oleh karna livelock berkaitan erat dengan deadlock maupun starvation.

Referensi

  1. Operating Systems: Internals and Design Principles (8th Edition), William Stallings, 2014.
  2. Operating System Concepts (9th Edition in Chinese) by Abraham Silberschatz et al.
  3. The Linux Programming Interface: A Linux and UNIX System Programming Handbook, Michael Kerrisk.

Agus Triawan/Triawan

 matriawan@gmail.com

Triawan is just an ordinary person, founder idraya[dot]com who just a little bit knows also likes try and error about devices, networks and programming/applications to solve challenges related to information technology.

If there is question, please discuss below. Very welcome and expected to provide corrections, criticisms, and suggestions.


We'll not share/display your email.
Example: Say <b>Hello</b> &lt;?php echo 'World'; ?&gt;
Output: Say Hello <?php echo 'World'; ?>
Words can come true for you, so be wise in speaking.

Be the first :D