Please enable JavaScript.
Coggle requires JavaScript to display documents.
บทที่ 5 การติดตาย - Coggle Diagram
บทที่ 5 การติดตาย
บทที่ 5 การติดตาย
-
การแก้ปัญหาส่วนวิกฤติ
บางครั้งเมื่อโพรเซสต้องการใช้ทรัพยากรและร้องขอทรัพยากรจากระบบแต่ทรัพยากรที่โพรเซสต้องการไม่ว่าง เนื่องจากโพรเซสอื่นกำลังใช้งานอยู่ ทำให้โพรเซสนั้นต้องรอ อละเป็นการรอที่ไม่มีที่สิ้นสุด เหตุการณ์นี้คือ การติดตายหรือว่า Deadlock
-
การป้องกันการติดตาย
-
ที่ว่าเงื่อนไขทั้งสี่ข้อจะต้องเกิดขึ้นพร้อมกัน จึงจะทำให้เกิดวงจรอับได้ ดังนั้นถ้าป้องกันไม่ได้ให้เงื่อนไขใดเงื่อนไขหนึ่งเกิดขึ้น เราจะสามารถป้องกันการเกิดวงจรอับได้
-
ตัวอย่างของการติดตาย
เหตุการณ์ที่มีรถยนต์ 4 คัน แล่นมาจากเส้นทาง 4 เส้นที่แตกต่าง เข้ามาสู่สี่แยกพร้อมกกกกัน ณ เวลาเดียวกัน เราสามารถเปรียบเส้นทางทั้งสี่เส้นทางเป็นทรัพยากรที่ระบบจะต้องควบคุม และถ้ารถยนต์ทั้งสี่ต้องการแล่นตรงไปยังเส้นทางที่อยู่ตรงกันข้าม
-
-
-
การตรวจจับการติดตาย
ระบบต้องมีอัลกอริทึมที่สามารถตรวจสอบภาวะของระบบว่าจะเกิดการติดตายหรือไม่(การตรวจจับ) อัลกอริทึมที่จะกู้ระบบจากการติดตาย
-
-
การกู้คืนการติดตาย
ระบบที่เกิดการติดตายจะไม่สามารถทำงานใดๆต่อไปได้ จำเป็นต้องมีวิธีการกำจัดการติดตายที่เกิดขึ้น เพื่อกู้ระบบกลับคืนสู่สภาพที่ใกล้เคียงกับสภาพก่อนที่จะเกิดการติดตาย เพื่อให้ระบบสามารถทำงานที่ยังค้างอยู่ต่อไปได้
การยกเลิกโพรเซส
-
การยกเลิกทีละหนึ่งโพรเซส
วิธีนี้เป็นการยกเลิกโพรเซสทีละหนึ่งโพรเซส จนกว่าการติดตายจะถูกกำจัดออกไป โดยที่หลังจากแต่ละโพรเซสถูกยกเลิกหรือกำจัดไปนั้น ระบบอัลกอริทึมตรวจสอบการติดตายเพื่อตรวจสอบว่า
ระบบยังคงติดตายอยู่หรือไม่
การยกเลิกโพรเซสออกจากระบบไม่ได้เป็นสิ่งที่ทำได้ง่าย ถ้าโพรเซสไหนทำงานไปได้ระยะหนึ่ง แล้วสถานะของทรัพยากรต่างๆเปลี่ยนไป ระบบต้องกำหนดสถานะใหม่ ก่อนที่จะทำงานอื่น
-
-