การหยุดชะงักเกิดขึ้น เมื่อ 2 กระบวนการแข่งขันกันเพื่อเข้าถึงทรัพยากรแบบเอกสิทธิ์เฉพาะบุคคล แต่ไม่สามารถเข้าถึงทรัพยากรแบบเอกสิทธิ์เฉพาะบุคคลได้ เนื่องจากกระบวนการอื่นกำลังป้องกันอยู่ ส่งผลให้เกิดความขัดแย้งซึ่งกระบวนการไม่สามารถดำเนินการได้ วิธีเดียวที่จะหลุดจากภาวะชะงักงันคือให้กระบวนการใดกระบวนการหนึ่งยุติลง
การหยุดชะงักคืออะไรและจะเกิดขึ้นเมื่อใด
ในระบบปฏิบัติการ การหยุดชะงักเกิดขึ้น เมื่อกระบวนการหรือเธรดเข้าสู่สถานะรอเนื่องจากทรัพยากรระบบที่ร้องขอถูกระงับโดยกระบวนการรออื่น ซึ่งจะรอ ทรัพยากรอื่นที่ถือโดยกระบวนการรออื่น
เงื่อนไข 4 สี่ประการที่จำเป็นสำหรับการหยุดชะงักคืออะไร
mutual exclusion: ต้องมีการดำเนินการอย่างน้อยหนึ่งกระบวนการในโหมดที่ไม่สามารถแชร์ได้ 2. ถือและรอ: จะต้องมีกระบวนการถือทรัพยากรหนึ่งและรออีกทรัพยากร
การหยุดชะงักในฐานข้อมูลเป็นอย่างไร
ในฐานข้อมูล การชะงักงันคือสถานการณ์ ซึ่งธุรกรรมตั้งแต่สองรายการขึ้นไปกำลังรอการปลดล็อก … กิจกรรมทั้งหมดต้องหยุดชะงักและหยุดนิ่งตลอดไป เว้นแต่ DBMS จะตรวจพบการหยุดชะงักและยกเลิกธุรกรรมใดธุรกรรมหนึ่ง รูปต่อไปนี้แสดงสถานการณ์นี้
เงื่อนไขอะไรทำให้เกิดการหยุดชะงัก
เงื่อนไขสำหรับ Deadlock- Mutual Exclusion, Hold and Wait, No preemption, Circular wait. เงื่อนไข 4 ข้อนี้ต้องถือไว้พร้อม ๆ กันสำหรับเกิดภาวะชะงักงัน