Page 69 - สถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการ
P. 69
การจัดเวลาซ ีพียูแ ละการต ิดต าย 11-59
จากภ าพที่ 11.27 แสดงการร้องขอการใช้ท รัพยากรของโพรเซส P1, P2 และ P3
- โพรเซส P1 ได้ค รอบค รองท รัพยากร R3, R4, R6, R7 และได้ร้องขอใช้ท รัพยากร R8
- โพรเซส P2 ได้ครอบครองทรัพยากร R1, R5, R8 และได้ร้องขอใช้ท รัพยากร R9
- โพรเซส P3 ได้ค รอบค รองท รัพยากร R9 และ R10
ในร ะบบน ีไ้มเ่กิดก ารร อแ บบว งกลม เพราะก ารข อใชท้ รัพยากรเป็นการข อแ บบเรียงล ำ�ดับห มายเลขท รัพยากร
จากน้อยไปม าก
แต่ถ้าโพรเซส P1 ร้องขอใช้ทรัพยากร R2 ซึ่งมีหมายเลขน้อยกว่าหมายเลขทรัพยากรที่ได้ครอบครองอยู่
โพรเซส P1 ต้องปล่อยทรัพยากรท ุกตัวที่ครอบค รองอ ยู่ค ืนส ู่ระบบ
3. การห ลกี เล่ียงการต ิดต าย
วิธีก ารหนึ่งในก ารจ ัดการก ารติดต ายของร ะบบป ฏิบัติการ คือ การห ลีกเลี่ยงก ารต ิดต าย (deadlock avoid-
ance) ระบบจะไม่ยอมให้เกิดเงื่อนไขวงจรร อคอย (circuit wait condition) ซึ่งเกิดเหตุการณ์เป็นว งจรลูกโซ่ของ
โพรเซส 2 ตวั หรอื มากกวา่ ท ตี่ า่ งร อค อยท รพั ยากรท ถี่ อื ค รอง ระบบป ฏบิ ตั กิ ารม คี วามส ามารถในต ดั สนิ ใจในก ารอ นญุ าต
ให้โพรเซสใช้ทรัพยากรซ ึ่งทำ�ให้ระบบอยู่ในส ถานะป ลอดภัย (safe state) ไม่เกิดก ารต ิดต าย
วิธกี ารห ลีกเลี่ยงก ารเกิดก ารต ิดต ายน ีม้ หี ลายว ิธกี าร ได้แก่ วิธสี ถานะป ลอดภัย (safe state) อัลก อร ทิ ึมก ราฟ
จัดสรรท รัพยากร (resource-allocation-graph algorithm) และอื่น ๆ ดังรายละเอียดต ่อไปน ี้
3.1 สถานะปลอดภัย การหลีกเลี่ยงการติดตายวิธีนี้มีพื้นฐานบนแนวความคิดที่ต้องการให้ระบบอยู่ใน
สถานะป ลอดภัย (safe state) โดยระบบปฏิบัติก ารต้องท ราบค วามต้องการทรัพยากรท ั้งหมดข องโพรเซสท ั้งหมดใน
ระบบ และไม่อนุญาตให้โพรเซสร้องขอการใช้ทรัพยากร ถ้าการครอบครองทรัพยากรของโพรเซสนั้นอาจทำ�ให้เกิด
ก ารต ิดต ายได้
ระบบอ ยูใ่นส ถานะป ลอดภัยก ต็ ่อเมื่อร ะบบม ลี �ำ ดับก ารจ ัดสรรท รัพยากรอ ย่างป ลอดภัยแ กโ่พรเซสท ั้งหมดใน
ระบบ สถานะป ลอดภัยเป็นส ถานะที่ไม่เกิดว งจรรอคอยแ ละในท างก ลับก ัน สถานะไม่ปลอดภัยเป็นสถานะท ี่อาจเกิด
วงจรร อค อยได้ แต่ไม่ได้หมายความว ่า สถานะไม่ป ลอดภัยทั้งหมดจะก่อให้เกิดการต ิดต ายเสมอไป ดังภ าพท ี่ 11.28
deadlock unsafe
safe
ภาพท่ี 11.28 สถานะป ลอดภัย สถานะไม่ปลอดภัย และเนือ้ ทที่ ีเ่ กดิ การติดตาย