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

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

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

       2.2		ปฏเิ สธก​ ารค​ รอบค​ รองแ​ ละก​ ารร​ อ (denying the hold and wait) การป​ ้องกันก​ ารต​ ิดต​ ายว​ ิธีก​ ารน​ ี้ร​ ะบบจ​ ะ​
อนุญาตใ​ห้โ​พรเ​ซส​ ร​ ้องขอใ​ช้ท​ รัพยากรไ​ด้แ​ ต่ต​ ้องไ​ม่ไ​ด้ค​ รอบค​ รองท​ รัพยากรใ​ด ๆ อยู่ วิธีก​ ารโ​ดยใ​ห้โ​พรเ​ซสท​ ั้งหมดใ​น​
ระบบร​ ้องขอท​ รัพยากรท​ ั้งหมดท​ ีต่​ ้องการก​ ่อนก​ ารป​ ระมวลผ​ ล ต่อจ​ ากน​ ั้นร​ ะบบจ​ ะท​ ำ�การต​ รวจส​ อบท​ รัพยากรท​ ีโ่​พรเ​ซส​ ​
ร้องขอ​ทรัพยากร​ต่าง ๆ ใน​กรณี​ที่​ทรัพยากร​ที่​ต้องการ​ว่าง​ทั้งหมด​ระบบ​จะ​จัดสรร​ทรัพยากร​นั้น​ให้​แก่​โพรเซส แต่​ถ้า​
ทรัพยากร​ที่​ต้องการ​ไม่​ว่าง​โพร​เซส​ต้อง​รอ​จนกว่า​ระ​จัดสรร​ทรัพยากร​ที่​ต้องการ​ครบ​ถ้วน และ​ใน​ระหว่าง​ประมวล​ผล​
โพรเ​ซสไ​ม่ส​ ามารถ​ร้องขอท​ รัพยากร​เพิ่ม​เติม​ได้​อีก

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

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

       2.3		การแ​ ทรก​การ​คัน (denying the no-preemption condition) การป​ ้องกัน​การ​ติดต​ าย​วิธี​นี้ ระบบส​ ามารถ​
บังคับใ​ห้โ​พรเ​ซสท​ ี่ก​ ำ�ลังใ​ช้ท​ รัพยากรอ​ ยู่ป​ ลดป​ ล่อยท​ รัพยากรน​ ั้นใ​ห้เ​ป็นอ​ ิสระไ​ด้ และจ​ ัดสรรใ​ห้โ​พรเ​ซส​ อื่น​ ที่เ​หมาะส​ ม​
ได้ เช่น โพรเซส A ได้ร​ ับก​ าร​จัดสรร​ให้​ครอบค​ รอง​ทรัพยากร R1 และ R2 ใน​เวลาต​ ่อม​ า โพรเซส A ร้องขอ​ทรัพยากร
R3 เพิ่มเ​ติม ระบบต​ รวจส​ อบก​ ารใ​ช้ท​ รัพยากรต​ ่าง ๆ ของ โพรเซส A พบว​ ่า ทรัพยากร R3 ถูกค​ รอบค​ รองโ​ดยโ​พรเซส B
ระบบ​ปฏิบัติก​ ารจ​ ะ​บังคับใ​ห้โ​พรเซส A ต้องป​ ล่อยท​ รัพยากรท​ ี่​ครอบ​ครอง​อยู่ท​ ั้งหมด​คือ​ทรัพยากร R1 และ R2 คืนให้​
ระบบ ดังน​ ั้น​โพรเซส A ต้องท​ ำ�การร​ ้องขอก​ าร​ใช้​ทรัพยากร​ทั้งหมด​ได้แก่ R1 R2 และ R3 ใหม่​อีก​ครั้งห​ นึ่ง

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

       2.4		ปฏเิ สธก​ ารร​ อแ​ บบว​ งกลม (denying the circular wait condition)  การป​ ้องกันก​ ารต​ ิดต​ ายว​ ิธีน​ ี้ เพื่อไ​ม่ใ​ห​้
เกิด​เหตุการณ์​เป็น​วงจร​ลูกโซ่​ของ​โพร​เซส​ที่​ต่าง​รอ​คอย​ทรัพยากร​ที่​ถือ​ครอง​โดย​โพร​เซส​ที่​อยู่​ใน​วงจร​ลูกโซ่​นั้น​เกิด​
การร​ อแ​ บบว​ งกลม วิธีก​ าร​นี้​จะ​ทำ�การก​ ำ�หนด​ตัวเลขใ​ห้​แก่ท​ รัพยากร​ชนิดต​ ่าง ๆ เป็น​ลำ�ดับ​จากท​ รัพยากร​ชนิดท​ ี่ 1 ถึง​
ทรัพยากรช​ นิด​ที่ n

       สมมติว​ ่าร​ ะบบ​หนึ่งม​ ี​ทรัพยากรท​ ั้งหมด n ชนิด สามารถ​เขียนแ​ ทนด​ ้วย เซต R ประกอบ​ด้วยท​ รัพยากร R1
จนถงึ Rn ดังนี้ R = {R1, R2, R3, R4, …, Rn} สามารถก​ ำ�หนดต​ วั เลขจ​ �ำ นวนเต็มท​ ไี​่ มซ​่ ํา้ กันใ​หแ้​ กท่​ รัพยากรแ​ ต่ละช​ นดิ ไ​ด​้
และ​สามารถ​นำ�ต​ ัวเลขท​ ี่ก​ ำ�หนด​มาใ​ช้​ใน​การ​เปรียบเ​ทียบ​เมื่อ​มี​การ​ร้องขอท​ รัพยากรจ​ ากโ​พร​เซส​ใน​ระบบ โดยร​ ะบบ​จะ​
   62   63   64   65   66   67   68   69   70   71   72