วันจันทร์ที่ 18 สิงหาคม พ.ศ. 2551

หน่วยที่ 6 Deadlock(วงจรอับ)

System Model รูปแบบของระบบ Deadlock
Deadlock Characterization ลักษณะของ Deadlock
Methods for Handing Deadlocks การจัดการปัญหา Deadlock
Deadlock Prevention การป้องกัน Deadlock
Deadlock Avoidance การหลีกเลี่ยงการเกิด Deadlock
Recovery from Deadlock การแก้ไข Deadlock
Combined Approach to Deadlock Handing การแก้ไขปัญหาแบบผสมผสาน

THe Deadlock Problem ปัญหาที่ทำให้เกิดของ Deadlock
ปัญหาของระบบDL ซึ่งจะขึ้นในระบบ Muti program เพราะเนื่องมาจาก processเกิดการ แย่ง Resource กัน ซึ่งตัวไหนที่ได้ใช้งานหรือครอบครองอยู่ก็จะใช้งานไปเรื่อยๆแต่อีกตัวซึ่งไม่ได้ใช้งานอยู่ก็จะเกิดการรอ และเมื่อมีตัวอื่นซึ่งมาใช้งาน มันก็ต้องรออีกต่อไป เราจึงเรียกภาวะนี้ว่าระบบ Deadlock
System Model รูปแบบของระบบ Deadlock
Resource แทนด้วย R และแทนด้วย รูปสี่เหลี่ยม
Process แทนด้วย P และแทนด้วย รูปวงกลม
Process จะทำตามระบบดังนี้
Request,Use,Release = ร้องขอ,ใช้งาน,คืนค่า
Deadlock Characterization คุณลักษณะของ DL
เงื่อนไขต่อไปนี้จะก่อให้เกิด DL
1. ทรัพยากรณ์เป็นแบบใช้ร่วมกันไม่ได้ ซึ่งจะสามารถใช้ P ได้ตัวเดียวเท่านั้นในเวลาเดียวกัน
2. ถือครองและรอคอย เมื่อมี P 1 P กำลังถือครองทรัพยากรณ์อยู่ และใน ขณะเดียวกัน P จะสามารถร้องขอทรัพยากรอื่นได้
3. ห้ามแทรก เมื่อ P กำลังใช้ทรัพยากรณ์อยู่ตัวอื่นห้ามแทรกกลางคัน และ P จะคืนทรัพยากรณ์ให้เมื่อกำลังเสร็จสมบูรณ์
4. วงจรรอคอย P ของระบบที่กำลังรอคอยใช้ทรัพยากรณ์
Methods for Handing Deadlocks การจัดการปัญหา Deadlock
1. กำหนดกฎเกณฑ์บางอย่างในขณะใช้ทรัพยากรณ์เพื่อไม่ให้เกิด DL
2. ไม่ป้องกันใดๆเลย ปล่อยให้เกิด DL ก่อนแล้วค่อยแก้ไข
3. มองข้ามปัญหาทั้งหมดว่าไม่เคยเกิด DL ในระบบ แล้วจึงแก้ไขดังนี้
3.1 กด Ctrl+Alt+Delee
3.2 กด Restart
Deadlock Prevention การป้องกัน Deadlock
การป้องกันมีด้วยกัน 4 วิธี
1. ห้ามใช้ทรัพยากรณ์ร่วมกัน
2. ถือครองและรอคอย
- ให้ P ร้องขอทรัพยากรณ์ทั้งหมดก่อนเริ่มทำงาน
- ยินยอมให้ P ร้องขอทรัพยากรได้ก็ต่อเมื่อ P นั้นมิได้ถือครองทรัพยากรใดไว้ได้เลย(ว่างอยู่)
3. ห้ามแซง - ถ้า P ถือครองทรัพยากรอยู่แล้วระบบจะตรวจสอบเพื่อป้องกันมิให้ร้องขอทรัพยากรณ์อื่นได้อีก
- ถ้าทรัพยากรถูกร้องขอด้วย P อื่นระบบก็จะทำการแทรก
- ให้หยุด P แล้วก็ Restart
4. วงจรรอคอย กำหนดลำดับความสำคัญของทรัพยากรทั้งหมด
Deadlock Avoidance การหลีกเลี่ยงการเกิด Deadlock
การที่จะหลีกเลี่ยงการเกิด DL ได้ระบบจะต้องมีความสามารถในการตัดสินใจได้ว่าการร้องขอทรัพยากรใดๆนั้นจะทำให้ระบบปลอดภัยหรือไม่ และจะอนุญาติให้ P นั้น ได้ ก็ต่อเมื่อระบบปลอดภัย
Recovery from Deadlock การแก้ไข Deadlock
1. ยกเลิก P ทั้งหมด (ข้อเสียคือ ทำให้เสียเวลาและค่าใช้จ่าย)
2. ยกเลิก P ในวงจร DL ทีละ P จนระบบเข้าสู่สภาวะปกติ มีหลักพิจรณาดังต่อไปนี้
- ลำดับความสำคัญของ P
- P นั้นใช้เวลานานเท่าใด และจะใช้เวลานานเท่าไหรจึงจะเสร็จสมบูรณ์
- P นั้นได้ถือครองทรัพยกรณ์ประเภทใดนานเท่าใด
- มีกี่ P ที่ถูกยกเลิก
- P ที่เราจะยกเลิกเป็นแบบตอบโต้หรือแบบกลุ่ม
Combined Approach to Deadlock Handing การแก้ไขปัญหาแบบผสมผสาน
มีหลักการอยู่ด้วยกัน 3 วิธี คือ
- Prevention การป้องกัน
- Avoidance การหลีกเลี่ยง
- Detection การตรวจหา
หลักการทั้งหมดนี้ใช้เพื่อให้เกิดประโยชน์สูงสุดในการ Resource ในระบบ

1 ความคิดเห็น:

I am weekung กล่าวว่า...

เออ...ไม่เขียน Processes Syncronization
ก่อนหรอครับ น่าจะเขียนด้วยนะ