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 สถานะป​ ลอดภัย สถานะ​ไม่​ปลอดภัย และเ​นือ้ ทท​ี่ ​ีเ่ กดิ ​การ​ติด​ตาย
   64   65   66   67   68   69   70   71   72   73   74