Bab 9
Deadlock dan Kelaparan
Metode untuk menegakkan saling pengecualian dibahas dalam bab sebelumnya.
Seperti yang dijelaskan, menegakkan saling pengecualian mencegah race condition. Artinya,
proses tidak akan menghasilkan hasil yang salah karena penggunaan yang tidak terkontrol kritis
sumber daya. Namun, beberapa proses, di istana pertama, mungkin tidak pernah menghentikan untuk
menghasilkan hasil yang benar. Pada bagian berikut, situasi macet yang tidak diinginkan
yang mungkin terjadi untuk proses dibahas, plus dan metode untuk mencegah
atau menyembuhkan ini.
9.1 Deadlock
Bayangkan sebuah situasi di mana setiap orang membutuhkan satu kursi dan satu meja di
untuk melakukan tugas, apa pun itu mungkin menjadi. Hanya ada satu kursi dan
satu meja yang tersedia yang jangka panjang bersama sumber daya kritis bahwa orang harus
menggunakan secara eksklusif jangka pendek. Sebuah solusi pengecualian bebas saling akan
menjamin bahwa tidak ada lebih dari satu orang yang pernah akan duduk di kursi di setiap diberikan
waktu. Demikian pula, tidak lebih dari satu orang yang pernah akan menggunakan meja di setiap diberikan
waktu. Namun, bagaimana jika seseorang mendapat memegang kursi dan orang lain
meraih meja. Tak satu pun dari orang-orang ini akan mampu melakukan tugas mereka
juga, dengan metode yang menjamin mutual exclusion, akan mereka dapat membiarkan
pergi dari apa yang telah mereka diambil dalam rangka untuk memecahkan macet tersebut. Standstill ini
disebut kebuntuan. Oleh karena itu, kebuntuan adalah situasi di mana dua atau lebih
proses yang tidak dapat melanjutkan eksekusi mereka karena menunggu
proses lain. Tanpa intervensi eksternal situasi tunggu ini tidak akan
berakhir.
Sedang diterjemahkan, harap tunggu..
