Page 63 - สถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการ
P. 63

การ​จัด​เวลาซ​ ีพียู​และก​ าร​ติด​ตาย 11-53

       จากภ​ าพท​ ี่ 11.23 เป็นเ​หตุการณท์​ ีท่​ ำ�ใหเ้​กิดก​ ารต​ ิดต​ ายโ​ดยซ​ อยท​ ี่ 1 และซ​ อยท​ ี่ 2 เปรียบเ​สมือนเ​ป็นท​ รัพยากร​
ที่​ต้อง​ใช้​ร่วม​กัน รถยนต์​ที่​วิ่ง​อยู่​เปรียบ​เส​มือ​น​โพร​เซส​ต่าง ๆ จาก​ภาพ​ที่​เห็น​ว่า​รถยนต์​บาง​คัน​ต้องการ​เลี้ยว​เข้า​ซอย​
แต่​ไม่​สามารถ​เลี้ยว​เข้า​ซอย​ที่​ต้องการ​ได้​เพราะ​ว่า​มี​รถยนต์​บาง​คัน​จอด​ขวาง​ทาง​อยู่ โดยที่​รถยนต์​ทั้งหมด​ต่าง​รอ​คอย​
จอด​นิ่ง​อยู่​กับ​ที่​รอ​ที่​จะ​ขับ​เคลื่อน​ต่อ​ไป แต่​ไม่มี​รถยนต์​คัน​ใด​ที่​จะ​ขยับ​เคลื่อนที่​ส่ง​ผล​ให้​รถยนต์​ทั้งหมด​ต้อง​รอ​อย่าง​
ไม่มีว​ ันส​ ิ้น​สุด

       สรุป​ได​ว้ ่า การ​ติดต​ าย (deadlock) หมายถ​ ึง เหตุการณ์​ที่ก​ ลุ่ม​ของ​โพร​เซส​ ​ถูกป​ ฏิเสธ​ไม่ใ​ห้​ทำ�งาน (blocking)
อัน​มี​ผล​สืบ​เนื่อง​มา​จาก​การ​แย่ง​ชิง​กัน​ใช้​งาน​ทรัพยากร โดย​ที่​โพร​เซส​ใน​กลุ่ม​ต่าง​รอ​คอย​สัญญาณ​การ​ทำ�งาน​ที่​จะ​
เกิด​ขึ้น​แต่​ไม่​มี​โพร​เซส​ใด​สามารถ​ส่ง​สัญญาณ​ทำ�งาน​ให้​กับ​โพร​เซ​สอื่​นภา​ย​ใน​กลุ่ม​ได้ ซึ่ง​จะ​ส่ง​ผล​ให้​โพร​เซส​ทั้งหมด​
ต้องร​ อ​อย่างไ​ม่มี​วันส​ ิ้นส​ ุด

2. 	คณุ ลักษณะข​ อง​การ​ตดิ ต​ าย

       การต​ ดิ ต​ าย เป็นส​ ถานการณท์​ ีท่​ �ำ ใหไ้​มม​่ โี​พรเ​ซสใ​ดส​ ามารถท​ �ำ งานจ​ นเ​สร็จส​ มบูรณไ์​ด้ และท​ รพั ยากรข​ องร​ ะบบ​
จะถ​ ูก​ครอบค​ รองจ​ น​หมด สาเหตุ​สำ�คัญท​ ี่ท​ ำ�ให้เ​กิดก​ าร​ติด​ตาย​ประกอบ​ด้วย 4 เงื่อนไข ​ได้แก่

       2.1		เงื่อนไข​การ​ไม่​เกิด​ร่วม (mutual exclusion condition) เมื่อ​มี​ทรัพยากร​ที่​ไม่​สามารถ​ถูก​ใช้​ร่วม​กับ​
หลาย ๆ โพรเ​ซสพ​ ร้อม​กันไ​ด้ ถ้าม​ ีท​ รัพยากรอ​ ย่าง​น้อย 1 ตัวใ​นร​ ะบบท​ ี่​ยอมใ​ห้​โพร​เซส​เพียง 1 ตัว ใช้​งาน​ได้​เท่านั้น​
นั่นค​ ือ ถ้าม​ โี​พรเ​ซส​ อื่นเ​ข้าม​ าร​ ้องขอใ​ชง้​ าน โพรเ​ซส​ นั้นจ​ ะต​ ้องร​ อจ​ นก​ ว่าโ​พรเ​ซส​ ดังก​ ล่าวไ​ดใ้​ชท้​ รัพยากรเ​สร็จแ​ ละป​ ล่อย​
ทรัพยากร​นั้นว​ ่าง

       2.2		เง่ือนไขก​ ารค​ รอบ​ครอง​และร​ อ (hold and wait condition)  ถ้า​โพรเ​ซส​ ส​ ามารถค​ รอบค​ รอง​ทรัพยากร​ที่​
ตัว​เอง​ได้​รับ และ​ในข​ ณะเ​ดียวกัน​ก็​สามารถ​ทำ�การ​ร้องขอ​และร​ อ​ทรัพยากรอ​ ื่น ๆ ได้

       2.3		เง่ือนไข​ไม่มี​การ​แทรก​กลาง​คัน (no preemption condition) ถ้า​โพร​เซ​สกำ�​ลัง​ใช้​งาน​ทรัพยากร​อยู่ และ​
ระบบ​ไม่​สามารถ​บังคับ​ให้​โพร​เซ​สนั้น​ปลด​ปล่อย​ทรัพยากร​นั้น​ให้​เป็น​อิสระ​ได้ โดย​ทรัพยากร​จะ​เป็น​อิสระ​ได้​ก็​ต่อ​เมื่อ​
โพร​เซสย​ กเลิกก​ ารถ​ ือค​ รอง​เท่านั้น

       2.4		เงื่อนไข​วงจร​รอ​คอย (circuit wait condition) เกิด​เหตุการณ์​เป็น​วงจร​ลูกโซ่​ของ​โพรเซส 2 ตัว หรือ
มากกว่าท​ ี่ต​ ่าง​รอ​คอย​ทรัพยากร​ที่​ถือ​ครองโ​ดย​โพร​เซสท​ ี่อ​ ยู่​ในว​ งจรล​ ูกโซ่​นั้น ดัง​แสดง​ภาพ​ที่ 11.24

เครื่อง​สแกน​เนอ​ร์​ถูก​ใช้​โดย A   โพรเซส A  A ร้องขอ​ใช้​เครื่อง​เล่นซ​ ีดี

B ร้องขอใ​ช้เ​ครื่องส​ แกนเ​นอร​ ์  โพรเซส B  เครื่องเ​ล่น​ซีดีถ​ ูก​ใช้โ​ดย B

ภาพ​ท่ี 11.24 การเ​กิด​การ​ติดต​ ายโ​ดยโ​พรเซส A และ​โพรเซส B
   58   59   60   61   62   63   64   65   66   67   68