Page 70 - สถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการ
P. 70
11-60 สถาปัตยกรรมคอมพิวเตอร์แ ละร ะบบป ฏิบัติก าร
ถ้าระบบอยู่ในสถานะปลอดภัย ระบบสามารถหลีกเลี่ยงพื้นที่ที่ทำ�ให้เกิดการติดตายได้ แต่ถ้าระบบอยู่ใน
สถานะไม่ปลอดภัย ระบบอาจไม่สามารถป ้องกันก ารร้องขอท รัพยากรจากโพรเซสซึ่งท ำ�ให้เกิดว งจรร อค อยได้
ตวั อยา่ งท ่ี 1 สมมติระบบคอมพิวเตอร์ระบบหนึ่งมี 3 โพรเซสคือ P0 P1 และ P2 มีเครื่องขับเทปแ ม่เหล็ก
จำ�นวน 12 เครื่อง โดยโพรเซส P0 P1 และ P2 มีค วามต ้องการใช้เครื่องขับเทปแม่เหล็กท ั้งหมด (maximum need)
และเครื่องข ับเทปแม่เหล็กป ัจจุบันที่ต้องการ (current need) ณ เวลา T0 วินาที ดังต ารางต ่อไปนี้
โพรเซส ความต้องการเคร่ืองขบั เทปแม่เหลก็ ทั้งหมด เครอ่ื งขับเทปแมเ่ หล็กท่ีตอ้ งการในปัจจบุ นั
P0 10 5
P1 4 2
P2 9 7
ณ เวลา T0 วินาที สมมติว่าระบบได้จัดสรรให้โพรเซสทั้งสามได้ครอบครองเครื่องขับเทปแม่เหล็กจำ�นวน
9 เครื่อง ดังน ั้นมีเครื่องข ับเทปแ ม่เหล็กว่างจำ�นวน 3 เครื่องที่ไม่ม ีโพรเซสใดค รอบค รอง ทำ�ให้โพรเซส P1, P2 และ
P3 อยู่ในส ถานะปลอดภัย เพราะร ะบบป ฏิบัติก ารสามารถจัดสรรทรัพยากรท ี่เหลือให้แ ก่โพรเซส P1 ได้ท ันทีเพราะ P1
ต้องการเครื่องขับเทปแม่เหล็กเพียง 2 เครื่องทำ�ให้ P1 สามารถท ำ�งานได้จนเสร็จแ ละคืนท รัพยากรท ั้งหมดแ ก่ระบบ
ทำ�ให้ร ะบบม ีเครื่องขับแม่เหล็กที่ย ังไม่ได้ค รอบค รองโดยโพรเซสใดเพิ่มข ึ้นเป็น 5 เครื่อง ระบบสามารถจ ัดสรรเครื่อง
ขับเทปแ ม่เหล็กจำ�นวน 5 เครื่องให้แก่โพรเซส P0 ได้ ดังน ั้น เมื่อโพรเซส P0 ทำ�งานเสร็จและค ืนเครื่องขับเทปแม่เหล็ก
ทั้งหมดให้ร ะบบ ดังน ั้น โพรเซส P2 ซึ่งต ้องการเครื่องขับเทปอ ีก 7 เครื่อง สามารถท ำ�งานจนเสร็จสมบูรณ์ได้เช่นก ัน
แต่ถ้าระบบปฏิบัติการตัดสินใจผิดพลาดในการอนุญาตให้โพรเซสที่ไม่เหมาะสมได้ครอบครองทรัพยากร
จะส่งผลให้ระบบอยู่ในสถานะไม่ปลอดภัยทำ�ให้เกิดการติดตายได้ เช่น สมมติว่า ณ เวลา T1 โพรเซส P2 ร้องขอ
เครอื่ งข บั เทปแ มเ่ หลก็ เพมิ่ ข นึ้ อ กี 1เครอื่ ง จากเดมิ 5เครอื่ งก ลายเปน็ 6เครอื่ งแ ละถ า้ ร ะบบอ นญุ าตตามค �ำ รอ้ งข อ จะส ง่ ผ ล
ให้ร ะบบกลายเป็นสถานะไม่ป ลอดภัยท ันที เพร าะ ณ เวลา T1 มีเครื่องข ับเทปแม่เหล็กว ่างเพียง 4 เครื่องเท่านั้น
จากแนวคิดของสถานะปลอดภัยนี้ ระบบสามารถสร้างอัลกอริทึมหลีกเลี่ยงวงจรลูกโซ่ เพื่อประกันว่าจะไม่
เกิดก ารต ิดต ายเกิดข ึ้นในร ะบบ โดยเมื่อใดก ็ตามท ี่โพรเซสร้องขอท รัพยากรเพิ่มและทรัพยากรย ังมีว ่างพอ ระบบต้อง
ตัดสินใจว ่าจ ะใหท้ รัพยากรต ามท ีร่ ้องขอห รือไม่ โดยพ ิจารณาจ ากก ารร ้องขอข องโพรเซส แ ล้วร ะบบต ้องค งอ ยูใ่นส ถานะ
ปลอดภัย อัลกอร ิท ึมนี้อาจท ำ�ให้การใช้ทรัพยากรของระบบมีป ระสิทธิผลต ํ่าก ว่าท ี่ค วรจะเป็น เนื่องจากโพรเซสย ังคง
ต้องร อถ ึงแ ม้ว่าจะม ีทรัพยากรว ่างอยู่ก ็ตาม