More Related Content
More from maysasithon (6)
บทที่ 5
- 3. ลักษณะของการติดตาย
การติดตายสามารถเกิดขึ้นได้หากเกิดสถานการณ์ ดังต่อไปนี้
1. Mutual Exclusion ต้องมีทรัพยากรอย่างน้อย 1 ตัวที่ไม่ได้
อนุญาตให้ร่วมใช้งาน ดังนั้นมีเพียงโปรเซสเดียวที่สามารถเข้าใช้
งาน ถ้ามีโปรเซสอื่นมีการร้องขอเข้าใช้งาน การร้องขอต้องถูกรอ
จนกว่าทรัพยากรนั้นจะว่างให้ใช้งาน
2. Hold & Wait ต้องมีโปรเซสมีการใช้งานทรัพยากรอย่างน้อย
1 ตัว และกาลังรอเพื่อเข้าทางานทรัพยากรอีกตัวที่กาลังถูกโปรเซส
อื่นใช้งาน
- 4. 3. No Preemption ทรัพยากรสามารถถูกปล่อยได้ตามความพึง
พอใจของโปรเซสที่กาลังใช้งานซึ่งก็คือหลังจากที่งานของโปรเซส
นั้นเสร็จสิ้น เนื่องจากขึ้นอยู่กับความพอใจของโปรเซสว่าจะยอม
ปล่อยทรัพยากรออกให้ใช้งานได้เมื่อไหร่
4. Circular Wait มีเซตของ { PO, P1, …, Pn } ของโปรเซสที่
กาลังรอ เช่น P0 กาลังรอทรัพยากรที่ถูกใช้โดย P1 ขณะเดียวกัน P1
ก็รอเข้าใช้ทรัพยากรที่กาลังถูกโปรเซส P2 ใช้งานท้ายสุดโปรเซส
ตัวสุดท้ายกาลังรอเข้าใช้ทรัพยากรที่โปรเซสแรกกาลังใช้งาน
- 6. การป้ องกันการติดตาย ( Deadlock Prevention )
สาเหตุที่ทาให้เกิดการติดตายมาจากข้อ 4
- Mutual Exclusion เงื่อนไขของการเกิด Mutual คือการใช้
ทรัพยากรหนึ่ง ๆ จะอนุญาตให้ใช้ได้ทีละงาน เช่น เครื่องพิมพ์
- Hold / Wait รับรองได้ว่าเมื่อมีการร้องขอใช้ทรัพยากรทางาน
โปรเซสนั้นต้องไม่ได้กาลังใช้งานทรัพยากรอื่นอยู่ ซึ่งสามารถทา
ได้หลายวิธีการ เช่น
- 7. - No preemption ถ้าโปรเซสมีการใช้งานทรัพยากรอื่นอยู่
ดังนั้นก็จะไม่สามารถเข้าทางานในทรัพยากรที่ขอใช้ไปได้ทันที
ขณะนั้น แล้วทุก ๆ โปรเซสที่กาลังถูกใช้ในขณะนั้นจะถูก
ปลดปล่อยให้ว่าง โปรเซสที่ถูกบังคับให้ออกจากการใช้บริการจะ
ถูกเพิ่มเข้าไปในรายการของทรัพยากรที่มีโปรเซสรอใช้งาน
- Circular Wait ก่อนที่จะเริ่มใช้วิธีการนี้ทาการกาหนดลาดับ
ของชนิดทรัพยากรทั้งหมดและเมื่อร้องขอว่าในแต่ละโปรเซสที่ขอ
ใช้ทรัพยากรเป็นการเพิ่มจานวนลาดับของชนิดทรัพยากรที่ได้ระบุ
ไว้กาหนดให้ R เป็นเซตของชนิดทรัพยากร R1, R2 .. , Rn เรา
กาหนดในแต่ละชนิดทรัพยากรเป็นเลขจานวนเต็มเพื่อให้สามารถ
ทาการเปรียบเทียบได้เช่น ถ้าเซต ทรัพยากรกลุ่ม R คือมีเทป ดิสก์
- 8. การหลีกเลี่ยงการติดตาย ( Deadlock Avoidance )
จากข้อที่ผ่านมาเป็นการป้องกันการเกิดการติดตายโดยการจัดการ
กับสัญญาณที่ร้องขอใช้ทรัพยากร
แต่อาจส่งผลให้การใช้งานระบบ หรือประสิทธิภาพในการทางานลดลง
ดังนั้นจึงมีวิธีที่หลีกเลี่ยงการติดตายโดยพิจารณาจากข้อมูลทรัพยากรที่
ถูกร้องขอ เช่น ในระบบมีเทป และเครื่องพิมพ์อย่างละเครื่อง
การตรวจจับการติดตาย
ระบบต้องมีการจัดการ ดังนี้
- อัลกอริทึมที่ตรวจสอบภาวะของระบบว่าจะเกิดการติดตายหรือไม่
(การตรวจจับ)
- อัลกอริทึมที่จะกู้ระบบจากการติดตาย