รูปแบบของปัญหา (System Model) กระบวนการหนึ่งๆ จะต้องร้องขอใช้ ทรัพยากรก่อนที่จะได้ใช้ทรัพยากรก่อน ได้ใช้ทรัพยากรนั้น และจะต้องคืน ทรัพยากรนั้นกลับสู่ระบบเมื่อใช้เสร็จ กระบวนการอาจจะร้องขอทรัพยากรได้ มากเท่าที่ต้องการเพื่อที่จะทำงานของตน ให้เสร็จสมบูรณ์ แต่จำนวนทรัพยากรที ร้องขอจะต้องไม่มากกว่าจำนวนที่มีอยู่ จริงในระบบ
เมื่อกระบวนการต้องการใช้ ทรัพยากรของระบบ จะต้อง ทำตามลำดับขั้นตอนต่างๆ ดังนี้ 1. การร้องขอ (Request) 2. การใช้งาน (Use) 3. การคืน (Release)
ลักษณะของวงจรอับ (Deadlock characterization) วงจรอับเป็นสถานการณ์ที่ไม่เป็นที่ ต้องการจะให้เกิดขึ้นในระบบ เพราะว่า เมื่อเกิดวงจรอับแล้วจะพบว่า ไม่มี กระบวนการใดได้ทำงานจนเสร็จ สมบูรณ์ และทรัพยากรของระบบต่างก็ ถูกครอบครองจนหมด ซึ่งจะเป็นตัวกัน ไม่ให้งานอื่นได้ทำงาน
เงื่อนไขในการติดวงจรอับ (Necessary Conditions) วงจรอับจะเกิดขึ้นได้ก็ต่อเมื่อ ทรัพยากรเป็นแบบใช้ร่วมกันไม่ได้ (Mutual exclusion) การถือครองแล้วรอคอย (Hold and wait) ห้ามแทรกกลางคัน (No preemption) วงจรรอคอย (Circular wait)
กราฟการจัดสรรพทรัพยากร (Resource Allocation Graph) เมื่อกระบวนการ P ₁ ร้องขอ ทรัพยากรประเภท R ₁ เราก็จะเขียน เส้นร้องขอลงในกราฟ การจัดสรรพ ทรัพยากร และเมื่อการร้องขอนั้น ได้รับอนุมัติจากระบบ เส้นร้องขอก็ จะถูกแปลง ไปเป็นเส้นถือครอง แทน และหลังจากที่กระบวนการ ปล่อยทรัพยากรคืนสู่ระบบแล้ว เส้น ถือครองก็จะถูกลบออกไปจากกราฟ เช่นกัน
แสดงกราฟการจัดสรร ทรัพยากร
กราฟการจัดสรรพทรัพยากร ในรูปข้างต้น แสดงสถานะ ของระบบได้ ดังนี้ เซต P = { P ₁, P ₂, P ₃ } เซต R = { R ₁, R ₂, R ₃, R ₄ } เซต E = { P ₁ R ₁, P ₂ R ₃, R ₁ P ₂, R ₂ P ₂, R ₂ P ₁, R ₃ P ₃ }
การจัดการปัญหาวงจรอับ (Methods for Handing Deadlocks) กำหนดกฎเกณฑ์บางอย่างในการใช้ ทรัพยากร เพื่อให้แน่ใจว่าระบบไม่มี ทางเกิดวงจรอับได้ ไม่ต้องป้องกันใดๆเลย ปล่อยให้ระบบ เกิดวงจรอับขึ้นก่อน แล้วค่อยตามแก้ไข ทีหลัง มองข้ามปัญหาทั้งหมด ทำว่าวงจรอับ ไม่เคยเกิดขึ้นในระบบ
การป้องกันการเกิดวงจรอับ (Deadlock Prevention) ห้ามใช้ทรัพยากรร่วมกัน (Mutual Exclusion) ระบบจะไม่ให้ใช้ทรัพยากร ร่วมกัน การถือครองและรอคอย (Hold and Wait) เมื่อ Process ใดร้องขอทรัพยากร ในระบบ Process นั้นจะต้องไม่ถือครอง ทรัพยากรนั้น
การแก้ไขวงจรอับ (Recovery from Deadlock) รายงานให้ผู้ควบคุมเครื่องทราบว่า ขณะนี้เกิดวงจรอับขึ้นในระบบแล้ว และ ให้ผู้ควบคุมจัดการแก้ไขวงจรอับเอง ระบบแก้ไขวงจรอับเองโดยอัตโนมัติ มี 2 วิธี คือ 1. ยกเลิกการบวนการที่ติดอยู่ในวงจร อับบางกระบวนการเพื่อที่จะตัดวงจรอับ 2. อนุญาตให้มีการแทรกกลางคัน ทรัพยากรบางส่วนที่ติดอยู่ในวงจรอับ ได้ เพื่อให้ระบบกลับคืนสู่สภาวะปกติ
จัดทำโดย นางสาววีราภรณ์ หามนตรี รหัส กลุ่ม 1