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

11-56 สถาปัตยกรรม​คอมพิวเตอร์​และ​ระบบป​ ฏิบัติ​การ

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

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

เรอื่ ง​ท่ี 11.2.2
การป​ อ้ งกนั ​และก​ คู้​ ืนก​ าร​ติด​ตาย

1. 	วิธ​กี าร​จดั การ​การต​ ิด​ตาย

       เมื่อเ​กิดเ​หตุการณก์​ ารต​ ิดต​ ายเ​กิดข​ ึ้นใ​นร​ ะบบ ระบบป​ ฏิบัตกิ​ ารส​ ่วนม​ าก เช่น UNIX และ Windows จะพ​ ัฒนา​
โปรแกรมเ​พื่อจ​ ัดการก​ าร​ติดต​ าย​ที่​เกิดข​ ึ้น โดย​หนทางใ​นการแ​ ก้ป​ ัญหา​การต​ ิด​ตายม​ ี 3 วิธี​การ​ได้แก่

       1.1		ก�ำ หนดก​ ฎเ​กณฑ์ (protocol) ในก​ ารใ​ชท​้ รัพยากร เพื่อป​ ้องกัน (prevent) หรือ​หลีก​เลี่ยง (avoid) ไม่ใ​ห้​
เกิดก​ ารต​ ิดต​ าย

       1.2		อนุญาตใ​ห้ร​ ะบบ​เกิด​การ​ตดิ ​ตาย​ได้ ต่อ​จากน​ ั้น​ทำ�การต​ รวจ​จับ (detect) และกู้​คืน (recover)
       1.3		เพกิ ​เฉย (ignore) ปญั หา​ท​เ่ี กดิ ​ขึน้ ​ทัง้ หมด เหมือนก​ ับ​ว่าการ​ติด​ตายไ​ม่เ​คยเ​กิด​ขึ้นใ​นร​ ะบบ เช่น ทำ�การ​ปิด​
เครื่องค​ อมพิวเตอร์แ​ ละ​เปิด​ใหม่ (restart) เป็นต้น

2. 	การ​ปอ้ งกนั ก​ ารต​ ิด​ตาย

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

       การป​ ้องกัน​ไม่​ให้​เกิด​การต​ ิด​ตาย​เป็นการ​ป้องกัน​ไม่ใ​ห้​ระบบ​เกิด​เงื่อนไขใ​ดเ​งื่อนไข​หนึ่งอ​ ย่างน​ ้อย 1 ข้อ​โดย
       2.1		ปฏิเสธ​การไ​ ม​่เกดิ ร​ ว่ ม (denying the mutual exclusion condition) ระบบป​ ฏิบัติก​ ารจ​ ะ​ทำ�การพ​ ิจารณา​
ทรัพยากร​ที่​สามารถ​ใช้​ร่วม​กัน​ได้ และ​ใช้​ร่วม​กัน​ไม่​ได้​ของ​ระบบ เช่น การ​อ่าน​แฟ้ม​ข้อมูล​เดียวกัน​ของ​หลาย​โพรเซส
ระบบ​สามารถ​อนุ​ญาตให้​สามารถ​ใช้​แฟ้ม​ข้อมูล​ร่วม​กัน​ได้ แต่​ถ้า​เป็น​เครื่องพิมพ์ ระบบ​ต้อง​ปฏิเสธ​การ​ไม่​เกิด​ร่วม
เนื่องจาก​เป็นท​ รัพยากร​ที่​ไม่ส​ ามารถ​ใช้​ร่วมก​ ัน​ได้​พร้อม ๆ กัน
       สำ�หรับ​ทรัพยากร​ที่​ไม่​สามารถ​ใช้​ร่วม​กัน​ได้​นั้น ระบบ​ปฏิบัติ​การ​แก้ไข​โดย​นำ�​การ​ร้องขอ​ใช้​ทรัพยากร​ที่​ไม่​
สามารถใ​ช้ร​ ่วมก​ ันไ​ด้ข​ อง​โพรเ​ซส​ต่าง ๆ เก็บ​ในท​ ี่พัก (spool) เช่น ดิสก์ ดังต​ ัวอย่างท​ ี่ 1
       ตวั อยา่ ง​ที่ 1 ระบบ​คอมพิวเตอร์​เครื่อง​หนึ่งม​ ี 3 โพร​เซส​ที่ม​ ีก​ ารร​ ้องขอ​ใช้เ​ครื่องพิมพ์​พร้อมก​ ัน ดังน​ ั้นค​ ำ�ร้อง​
ขอ​ใช้​เครื่องพิมพ์​ของ​ทั้ง​สาม​โพร​เซส​จะ​ถูก​ส่ง​ไป​ยัง​ระบบ เมื่อ​ระบบ​อนุญาต​ให้​โพรเซส A ได้​รับ​จัดสรร​เครื่องพิมพ​์
ดงั น​ ัน้ ค�ำ รอ้ งข​ อใ​ชเ​้ ครือ่ งพมิ พข​์ องโ​พรเซส B และโพรเซส C จะถ​ กู ส​ ง่ เ​ขา้ ท​ เี​่ กบ็ พ​ กั บ​ นด​ สิ ก์ เมือ่ โ​พรเซส A ใชเ​้ ครือ่ งพมิ พ​์
   61   62   63   64   65   66   67   68   69   70   71