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

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

เรื่อง​ที่ 11.2.1
แนวคดิ พ​ น้ื ฐ​ าน​เก่ียวก​ ับก​ ารต​ ดิ ต​ าย

1. 	โมเดล​ของ​การต​ ิดต​ าย

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

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

                   ต้องการ​เลี้ยวเ​ข้า​ซอย​ที่ 1

                                                          ต้องการเ​ลี้ยว​เข้า​ซอยท​ ี่ 2

                                ภาพ​ท่ี 11.23 แสดง​การต​ ดิ ​ตายใ​นก​ ารจ​ ราจร
   57   58   59   60   61   62   63   64   65   66   67