Page 78 - สถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการ
P. 78
11-68 สถาปัตยกรรมค อมพิวเตอร์และร ะบบปฏิบัติการ
โอกาสท ำ�งานเสร็จน ้อยก ว่าโพรเซสท ีไ่ดค้ รอบค รองท รัพยากรจ �ำ นวนม ากแ ละเหลือท รัพยากรท ีต่ ้องการเพิ่มเติมจ �ำ นวน
น้อยก ว่า
e) พิจารณาจ ากจ ำ�น วนโพรเซสท ี่ยกเลิก
f) พิจารณาจ ากป ระเภทก ารป ระมวลผลว่าเป็นแ บบก ลุ่มหรือแ บบโต้ตอบ
5.2 การแทรกก ลางคันท รพั ยากร เมื่อเกิดการติดตาย (deadlock) การคืนส ภาพให้ระบบอ ยู่ในสภาวะป กติ
อีกว ิธีหนึ่งค ือ การแ ทรกกลางค ันทรัพยากร (resource preemtion) เป็นวิธีการที่ระบบปฏิบัติการจ ะท ำ�การต ัดตอน
การใช้ทรัพยากรของโพรเซสที่ติดอยู่ในวงจรรอคอย โดยยึดทรัพยากรนั้นและมอบให้โพรเซสอื่นที่ต้องการใช้
ทรัพยากรนี้ ในกรณีที่ระบบยังไม่อยู่ในสภาวะปกติ ระบบจะคัดเลือกโพรเซสเพื่อทำ�การตัดตอนการใช้ทรัพยากรไป
จนกระทั่งระบบอยู่ในสถานะปลอดภัย ไม่เกิดวงจรรอคอยในระบบ ซึ่งการแทรกกลางคันทรัพยากรนี้ระบบต้อง
พิจารณาใน 3 ประเด็นต่อไปน ี้
a) การเลือกผู้รับเคราะห์ (selection a victim) ระบบตัดสินใจเลือกโพรเซสที่เมื่อถูกตัดตอนการใช้
ทรัพยากรแล้วเสียค ่าใช้จ ่ายน้อยท ี่สุด ปัจจัยที่น ำ�มาพิจารณา ได้แก่ จำ�นวนทรัพยากรท ี่โพรเซส นั้นถ ือค รองอยู่ และ
ระยะเวลาที่เหลือท ี่โพรเซสต ้องการป ระมวลผลจนเสร็จส มบูรณ์ เป็นต้น
b) การถ อยก ลบั (rollback) ระบบต ้องส ามารถเปลี่ยนส ถานะข องโพรเซสท ีถ่ ูกต ัดตอนก ารใชท้ รัพยากร
ใหอ้ ยูใ่นจ ุดท ีป่ ลอดภัยไดอ้ ย่างถ ูกต ้อง วิธที ีง่ ่ายท ี่สุดคือ ยกเลิกโพรเซสเพื่อใหโ้พรเซสเริ่มต ้นท �ำ งานใหมอ่ ีกค รั้ง แตถ่ ้า
เป็นไปได้ระบบสามารถให้โพรเซสถอยกลับไปเท่าที่จำ�เป็นในการแก้วงจรรอคอยเท่านั้น แต่ระบบต้องเก็บข้อมูล
เกี่ยวก ับส ถานะต ่าง ๆ ของโพรเซสท ั้งหมดท ี่กำ�ลังท ำ�งานอ ยู่อย่างถูกต้อง
c) การอ ดตาย (starvation) ระบบต ้องรับประกันได้ว่าโพรเซสจะไม่เกิดการอ ดตายโดยร อคอยไม่มีว ัน
สิ้นส ุด ระบบป ฏิบัติก ารต ้องส ามารถค ัดเลือกโพรเซสท ี่ต ้องถ ูกแ ทรกก ลางค ันท รัพยากรให้เหมาะส มเพื่อห ลีกเลี่ยงก าร
อดต าย โดยกำ�หนดจำ�นวนครั้งส ูงสุดในการถ ูกตัดตอนก ารใช้ท รัพยากรของโพรเซส เป็นต้น
การจ ัดการป ัญหาว งจรร อค อยน ั้นร ะบบป ฏบิ ตั กิ ารอ าจใชห้ ลายว ธิ ผี สมก ัน โดยเลอื กว ิธที เี่หมาะส มก บั ล ักษณะ
ของร ะบบน ั้น ๆ โดยอาจจัดแบ่งกลุ่มข องท รัพยากรเป็น 4 กลุ่มตามล ักษณะการใช้ง าน แต่ละกลุ่มใช้ว ิธีจัดการปัญหา
แตกต่างกัน เช่น
กลุ่มที่ 1 ทรัพยากรภายในของระบบ ป้องกันโดยการจ ัดลำ�ดับทรัพยากร เพราะโพรเซสที่ร้องขอทรัพยากร
เหล่าน ี้ ล้วนเป็นกระบวนก ารภายในข องระบบ
กลุม่ ท ี่ 2 หน่วยค วามจ ำ�หลกั ปอ้ งกนั โดยก ารใหม้ กี ารแทรกก ลางค นั ได้ เพราะร ะบบส ามารถย า้ ยง านจ ากห นว่ ย
ความจำ�หลักไปเก็บไว้ในห น่วยค วามจำ�สำ�รองได้ง่าย
กลุ่มท ี่ 3 อุปกรณ์ต ่าง ๆ ในระบบ ป้องกันโดยใช้ว ธิ ีการห ลกี เลย่ี ง เพราะข้อมูลเกี่ยวกับค วามต ้องการส ูงสุด
ของแ ต่ละงานอ าจรู้ล่วงหน้าได้ จากบัตรค วบคุมง าน (job control card)
กลุ่มที่ 4 หน่วยค วามจำ�ส ำ�รอง ป้องกันโดย การจ ดั สรรล่วงห นา้ เพราะมีการกำ�หนดจำ�นวนหน่วยความจำ�
สำ�รองสูงสุดข องแต่ละงานไว้ก ่อนประมวลผล
การจ ดั แ บง่ ก ลุม่ ข องท รพั ยากรแ ละเลอื กว ธิ กี ารท มี่ ปี ระสทิ ธภิ าพส งู สดุ ส �ำ หรบั แ ตล่ ะก ลุม่ เปน็ การจ ดั การป ญั หา
วงจรร อค อยท ี่มีประสิทธิภาพท ี่ดีว ิธีการหนึ่ง