เผยแพร่เมื่อ

เดดล็อก คืออะไร

ผู้เขียน

คุณเคยเห็นรถยนต์ขวางกันเองที่จุดตัดทางและไม่มีรถคันไหนขยับได้ไหม นั่นคือการล็อกตาย

Image

การล็อกตายเกิดขึ้นเมื่อมีหลายธุรกรรมกำลังรอการปลดล็อกทรัพยากรที่ต้องการเพื่อดำเนินการอย่างต่อเนื่อง ส่งผลให้ไม่มีธุรกรรมใดสามารถดำเนินการต่อได้ และต้องรออย่างไม่มีกำหนด

🔹 เงื่อนไขของ Coffman

เงื่อนไขของ Coffman ซึ่งตั้งชื่อตาม Edward G. Coffman, Jr. ผู้ที่กล่าวถึงมันเป็นครั้งแรกในปี 1971 ได้อธิบายเงื่อนไขที่จำเป็น 4 ประการที่ต้องเกิดขึ้นพร้อมกันจึงจะเกิดการล็อกตายได้:

  • การแยกตัว (Mutual Exclusion)
  • การถือครองและรอ (Hold and Wait)
  • การไม่พรีเอมป์ต (No Preemption)
  • การรอรอบวง (Circular Wait)

🔹 การป้องกันการล็อกตาย

  • การจัดลำดับทรัพยากร: กำหนดลำดับสมบูรณ์ของประเภททรัพยากรทั้งหมด และกำหนดให้กระบวนการต่างๆ ขอทรัพยากรตามลำดับที่เพิ่มขึ้นอย่างเคร่งครัด
  • การหมดเวลา: กระบวนการที่ถือครองทรัพยากรเป็นเวลานานเกินไปสามารถถูกยกเลิกได้
  • อัลกอริทึม Banker: อัลกอริทึมการหลีกเลี่ยงการล็อกตายที่จำลองการจัดสรรทรัพยากรให้กับกระบวนการต่างๆ และช่วยตัดสินใจว่าควรให้คำขอทรัพยากรหรือไม่ตามความพร้อมในอนาคตของทรัพยากร เพื่อหลีกเลี่ยงสถานะที่ไม่ปลอดภัย

🔹 การฟื้นฟูจากการล็อกตาย

  • การเลือกเหยื่อ: ระบบจัดการฐานข้อมูล (DBMS) และระบบปฏิบัติการสมัยใหม่ส่วนใหญ่มีอัลกอริทึมที่ซับซ้อนสำหรับการตรวจจับการล็อกตายและการเลือกเหยื่อ โดยมักจะอนุญาตให้ปรับแต่งเกณฑ์การเลือกเหยื่อผ่านการตั้งค่าระบบ การเลือกสามารถอาศัยการใช้ทรัพยากร ความสำคัญของธุรกรรม และต้นทุนการยกเลิก เป็นต้น
  • การยกเลิก: ฐานข้อมูลอาจยกเลิกธุรกรรมทั้งหมดหรือเพียงพอที่จะทำลายการล็อกตาย ธุรกรรมที่ถูกยกเลิกสามารถเริ่มต้นใหม่อัตโนมัติโดยระบบจัดการฐานข้อมูล

โปรดทราบว่าเวอร์ชันภาษาไทยได้รับการช่วยเหลือจาก AI ดังนั้นอาจมีข้อผิดพลาดเล็กน้อย

ผู้เขียน

Ai Base Network (ABN), ABN ASIA ถูกก่อตั้งขึ้นโดยคนที่มีรากฐานลึกในวงการวิชาการ มีประสบการณ์การทำงานในสหรัฐอเมริกา ดัตช์ ฮังการี ญี่ปุ่น เกาหลีใต้ สิงคโปร์ และเวียดนาม ABN Asia เป็นที่เราพบกันของวิทยาลัยและเทคโนโลยี ด้วยโซลูชันขั้นสูงและบริการพัฒนาซอฟต์แวร์ที่มีความสามารถ เราช่วยธุรกิจเติบโตและเข้าสู่ฉากโลก ความมุ่งมั่นของเรา: ด่วนขึ้น ดีขึ้น น่าเชื่อถือมากขึ้น ในกรณีส่วนมาก: ราคาถูกด้วย

หากคุณต้องการบริการ IT การให้คำปรึกษาดิจิทัล โซลูชันซอฟต์แวร์ใช้ได้หรือหากคุณต้องการส่งคำขอข้อเสนอ (RFPs) อย่าลังเลที่จะติดต่อเรา คุณสามารถติดต่อเราได้ที่ [email protected] เราพร้อมช่วยเหลือคุณด้านทุกความต้องการทางเทคโนโลยีของคุณทุกเมื่อ

ABNAsia.org

© ABN ASIA