# data[].attributes.headline
Deadlock ialah satu keadaan dalam sistem (biasanya dalam sistem komputer / sistem pengendalian / rangkaian) apabila dua atau lebih proses saling menunggu antara satu sama lain untuk mendapatkan sumber, menyebabkan semua proses tersebut terhenti dan tidak boleh diteruskan

# data[].attributes.subject
Deadlock ialah satu keadaan dalam sistem (biasanya dalam sistem komputer / sistem pengendalian / rangkaian) apabila dua atau lebih proses saling menunggu antara satu sama lain untuk mendapatkan sumber, menyebabkan semua proses tersebut terhenti dan tidak boleh diteruskan

# data[].attributes.body
Deadlock (kebuntuan) komputer ialah situasi di mana dua atau lebih proses terhenti secara kekal kerana masing-masing menunggu sumber daya (resource) yang dipegang oleh proses lain untuk dilepaskan. Keadaan ini menyebabkan sistem terhenti (freeze), tidak produktif, dan proses yang terlibat tidak dapat diselesaikan.

# data[].attributes.body
Deadlock berlaku apabila dua atau lebih proses dalam sistem terhenti secara kekal kerana masing-masing sedang menunggu sumber (resource) yang dipegang oleh proses lain. Dengan kata lain, tiada proses yang boleh terus berjalan kerana “saling bergantung” antara satu sama lain.

# data[].attributes.body
Deadlock ialah situasi dalam sistem (terutamanya dalam komputer/IT) apabila dua atau lebih proses saling menunggu antara satu sama lain untuk mendapatkan sumber, sehingga tiada siapa boleh teruskan kerja — semuanya “terkunci” dan terhenti.

# data[].attributes.body
4 syarat deadlock (wajib ada semua)

1. mutual exclusion – sumber tak boleh kongsi (satu proses je boleh guna)

2. hold and wait – proses pegang satu sumber sambil tunggu sumber lain

3. no preemption – sumber tak boleh dirampas paksa

4. circular wait – proses tunggu secara bulat (A tunggu B, B tunggu C, C tunggu A)

# data[].attributes.body
apabila dua atau lebih proses/program saling menunggu antara satu sama lain, menyebabkan semuanya berhenti dan tak boleh teruskan kerja.

contohnya, Ada 2 orang dan 2 benda Ali pegang pen, Abu pegang kertas Ali nak kertas , Abu nak pen. Ali tak nak lepaskan pen. Abu tak nak lepaskan kertas

Dua-dua tunggu. Tak jalan apa-apa. Itulah deadlock.

# data[].attributes.body
Keadaan di mana dua atau lebih proses tersekat kerana masing-masing sedang menunggu sumber yang dipegang oleh proses lain, dan tiada satu pun boleh meneruskan kerja.

Contoh mudah

Bayangkan dalam komputer:

Proses A pegang Printer dan tunggu Scanner

Proses B pegang Scanner dan tunggu Printer

# data[].attributes.body
cara atasi deadlock

prevention – buang salah satu syarat deadlock

avoidance – elak deadlock sebelum berlaku (contoh: banker’s algorithm)

detection & recovery – kesan deadlock dan hentikan proses

ignore – biarkan (sesetengah OS buat cara ni)

# data[].attributes.body
Deadlock maksud dia keadaan sistem tersekat bila dua atau lebih proses saling menunggu antara satu sama lain, sampai tak ada satu pun boleh jalan.

Contoh senang faham 👇

Bayangkan:

Proses A pegang Resource 1, nak Resource 2

Proses B pegang Resource 2, nak Resource 1

Dua-dua tunggu, dua-dua tak lepas → terkunci terus. Itulah deadlock.

Dalam IT / OS / rangkaian:

Deadlock berlaku bila:

Setiap proses pegang sesuatu

Dan tunggu sesuatu yang dipegang proses lain

Tiada siapa lepaskan resource

Contoh real life 😂

Dua kereta sempit:

Kereta A tak nak undur

Kereta B pun tak nak undur
→ jalan jem, tak bergerak langsung

# data[].attributes.body
Deadlock ialah keadaan dalam sistem komputer di mana dua atau lebih proses saling menunggu sumber (resource) yang dipegang oleh proses lain sehingga tiada satu pun dapat meneruskan kerja — sistem jadi tersekat / tergantung.

# data[].attributes.body
Deadlock (kebuntuan/jalan buntu) ialah situasi dalam sains komputer di mana dua atau lebih proses terhenti kerana masing-masing menunggu sumber (data/fail) yang dipegang oleh proses lain, menyebabkan sistem tidak dapat meneruskan operasi. Ini sering berlaku dalam pangkalan data atau perundingan apabila pihak-pihak saling menunggu.

Maksud dan Ciri-ciri Utama:

Definisi: Keadaan di mana sekumpulan proses tidak dapat berjalan semula kerana berebut sumber daya.

Situasi: Proses A memegang Data 1 dan menunggu Data 2, manakala Proses B memegang Data 2 dan menunggu Data 1, menghasilkan situasi "saling menunggu".

Kesan: Aplikasi atau sistem akan hang (terhenti) atau berhenti berfungsi (stalemate).

Punca: Terjadi apabila terdapat saling eksklusi, pegang-dan-tunggu, tiada pra-pampasan (preemption), dan menunggu secara kitaran.

Deadlock memerlukan pengesanan dan pemulihan, seperti menetapkan timeout dalam pangkalan data untuk mengelakkan sistem terhenti secara kekal.

# data[].attributes.body
deadlock ialah satu keadaan kritikal di mana sekumpulan proses (programs) terhenti sepenuhnya kerana masing-masing sedang memegang sumber (resource) dan pada masa yang sama menunggu sumber lain yang sedang dipegang oleh proses lain dalam kumpulan

. Bagaimana Deadlock Terjadi?Untuk membolehkan deadlock berlaku, empat syarat ini (digelar Coffman Conditions) mesti dipenuhi secara serentak:Mutual Exclusion: Sumber tersebut tidak boleh dikongsi. Hanya satu proses boleh gunakannya pada satu masa (contoh: pemacu rakaman atau pencetak).Hold and Wait: Proses sudah memegang sekurang-kurangnya satu sumber dan sedang menunggu untuk mendapatkan sumber tambahan yang dipegang oleh proses lain.No Preemption: OS tidak boleh merampas sumber daripada proses secara paksa. Sumber hanya dilepaskan secara sukarela oleh proses yang memegangnya.Circular Wait: Wujud rantaian proses yang menunggu dalam bentuk bulatan. Proses A tunggu B, B tunggu C, dan C tunggu A.tersebut.

# data[].attributes.body
Apa itu Deadlock?

Deadlock ialah situasi di mana dua atau lebih proses tidak dapat meneruskan operasi kerana setiap satu menunggu sumber (resource) yang sedang digunakan oleh yang lain. Hasilnya, proses-proses itu “terkunci” selamanya.

Contoh mudah:

Proses A pegang sumber X, nak guna sumber Y.

Proses B pegang sumber Y, nak guna sumber X.

Kedua-duanya menunggu, tapi tiada yang boleh maju → deadlock.

Ciri-ciri Deadlock

1. Mutual Exclusion: Sumber hanya boleh digunakan oleh satu proses pada satu masa.

2. Hold and Wait: Proses pegang satu sumber sambil menunggu sumber lain.

3. No Preemption: Sumber tidak boleh diambil paksa dari proses.

4. Circular Wait: Ada rantaian proses yang saling menunggu antara satu sama lain.

Cara Atasi Deadlock

Terdapat beberapa pendekatan:

1. Pencegahan Deadlock (Prevention)

Elakkan salah satu syarat deadlock berlaku, contohnya:

Jangan benarkan “hold and wait” → proses mesti minta semua sumber sekaligus.

Benarkan preemption → ambil sumber daripada proses jika perlu.

# data[].attributes.body
Necessary Conditions for Deadlock in OS

Deadlock can arise if the following four conditions hold simultaneously (Necessary Conditions)

1. Mutual Exclusion: Only one process can use a resource at any given time i.e. the resources are non-sharable.

2. Hold and Wait: A process is holding at least one resource at a time and is waiting to acquire other resources held by some other process.

3. No Preemption: A resource cannot be taken from a process unless the process releases the resource.

4. Circular Wait:  set of processes are waiting for each other in a circular fashion. For example, imagine four processes P1, P2, P3, and P4 and four resources R1, R2, R3, and R4.

# data[].attributes.body
Deadlock berlaku bila 4 syarat dipenuhi

4 kaedah urus deadlock:
Prevention, Avoidance, Detection, Ignorance

Recovery: terminate process atau rampas sumber

# data[].attributes.body
Deadlock dalam sistem operasi / komputer ada 4 ciri utama (syarat Coffman). Kalau keempat-empat ni berlaku serentak, barulah deadlock terjadi 👇

1️⃣ Mutual Exclusion (Pengecualian Bersama)

➡️ Sumber hanya boleh digunakan oleh satu proses pada satu masa

Contoh: Printer hanya boleh digunakan oleh satu proses, proses lain kena tunggu

2️⃣ Hold and Wait (Pegang dan Tunggu)

➡️ Proses sedang pegang satu sumber, sambil menunggu sumber lain

Contoh:

Proses A pegang Printer, tunggu Scanner

Proses B pegang Scanner, tunggu Printer

3️⃣ No Preemption (Tiada Rampasan)

➡️ Sumber tak boleh dirampas secara paksa

Proses mesti lepaskan sumber secara sukarela selepas siap

4️⃣ Circular Wait (Tunggu Berpusing)

➡️ Wujud kitaran proses yang saling menunggu

Contoh:

A tunggu sumber B

B tunggu sumber C

C tunggu sumber A 🔁

# data[].attributes.body
Deadlock ialah keadaan dalam sistem komputer / sistem pengoperasian (OS) bila dua atau lebih proses saling menunggu sumber antara satu sama lain dan tiada satu pun boleh teruskan.

Ringkasnya:

👉 semua tunggu, tiada siapa bergerak.

Contoh mudah

Bayangkan:

Proses A pegang Printer

Proses B pegang Scanner

Situasi:

A nak Scanner (yang B pegang)

B nak Printer (yang A pegang)

😵‍💫 Dua-dua tunggu → deadlock berlaku

4 Syarat Deadlock (wajib ada semua)

1. Mutual Exclusion
Sumber hanya boleh digunakan satu proses pada satu masa

2. Hold and Wait
Proses pegang satu sumber sambil tunggu sumber lain

3. No Preemption
Sumber tak boleh dirampas, mesti dilepaskan sendiri

4. Circular Wait
Proses menunggu dalam bentuk bulatan

Kalau satu syarat tiada → deadlock tak berlaku.

Dalam dunia sebenar 🌍

Persimpangan jalan tanpa lampu isyarat
Semua kereta berhenti sebab tunggu antara satu sama lain → deadlock 🚗🚙🚕

Cara OS atasi deadlock

Prevention: elak salah satu syarat

Avoidance: pastikan sistem kekal selamat (contoh: Banker’s Algorithm)

Detection & Recovery: kesan deadlock dan tamatkan proses

Ignore: buat tak tahu (macam Windows/Linux kebanyakannya