Upload
phichya-laemluang
View
152
Download
0
Embed Size (px)
Citation preview
Deadlocks 1
บทท�� 8สภาวะเดรสล็อคDeadlocks
Deadlocks 2
หั�วข้�อบรรยาย ร�ปแบบข้องป�ญหัาเดรสล็อค ล็�กษณะข้องวงจรเดรสล็อค การจ�ดการป�ญหัาวงจรเดรสล็อค การป�องก�นการเก�ดวงจรเดรสล็อค การหัล็ กเล็ !ยงการเก�ดวงจรเดรสล็อค การตรวจหัาวงจรเดรสล็อค การก��ค#นจากวงจรเดรสล็อค การจ�ดการป�ญหัาวงจรเดรสล็อคโดยว�ธี ผสมผสาน
Deadlocks 3
ร�ปแบบข้องป�ญหัาเดรสล็อค ค#อ กล็)*มข้องโปรเซสกล็)*มหัน,!งที่ !อย�*ในสถานะการที่ !ถ�กบล็อก
โดยที่ !ต*างกถ#อครองที่ร�พยากรบางอย*างเอาไว� แล็ะต�องการใช้�ที่ร�พยากรใหัม*เพ�!มเต�ม ซ,!งที่ร�พยากรที่ !ต�องการเพ�!มเต�มกถ�กถ#อครองโดยโปรเซสอ#!นที่ !อย�*ในเดรสล็อคเด ยวก�น
ต�วอย*างเช้*น ระบบม เที่ปไดร3 2 ต�ว โดยโปรเซส p1 แล็ะ p2 ต*างกถ#อครอง เที่ปไดร3เอาไว�
คนล็ะต�ว แล็ะแต*ล็ะโปรเซสต*างกต�องการเที่ปไดร3เพ�!มอ กโปรเซสล็ะ 1 ต�ว เช้*นน 4จะถ#อว*าระบบอย�*ในสภาวะเดรสล็อค
Deadlocks 4
ต�วอย*างสภาวะเดรสล็อค
ก5าหันดใหั�ระบบสามารถเด�นรถได�ที่างเด ยว พ#4นที่ !บนถนนเปร ยบเสม#อนที่ร�พยากรในระบบ ถ�าสภาวะเดรสล็อคเก�ดข้,4น สามารถแก�ไข้ได�โดยใหั�รถที่�ศที่างใด
ที่�ศที่างหัน,!งถอยหัล็�งออกไป เร ยกว*าที่5าการ rollback เปร ยบเสม#อนการเร ยกที่ร�พยากรข้องระบบค#นจากโปรเซส
ซ,!งกรณ เช้*นน 4 อาจเป7นไปได�ที่ !รถหัล็ายๆค�นอาจจะต�องถ�กที่5าการ rollback ถ�าม สภาวะเดรสล็อคเก�ดข้,4นมา
Deadlocks 5
ร�ปแบบข้องระบบ ในระบบประกอบด�วยที่ร�พยากร เช้*น
CPU cycles, memory space, I/O devices ที่ร�พยากรแต*ล็ะอย*าง เปร ยบเสม#อน Ri ซ,!งม จ5านวนที่�4ง
ส�4น Wi ช้�4น การใช้�ที่ร�พยากรในระบบข้องแต*ล็ะโปรเซส ม ข้�4นตอนด�งน 4
request -การร�องข้อใช้�ที่ร�พยากร use - สภาวะที่ !โปรเซสก5าล็�งใช้�ที่ร�พยากรน�4น release -การค#นที่ร�พยากรที่ !ใช้�แล็�วใหั�แก*ระบบ
Deadlocks 6
ล็�กษณะข้องวงจรเดรสล็อค(Deadlock Characterization)
Mutual exclusion: เวล็าใดๆจะม โปรเซสเพ ยงโปรเซสเด ยวเที่*าน�4นที่ !สามารถใช้�ที่ร�พยากรน�4นได�
Hold and wait: โปรเซสก5าล็�งถ#อครองที่ร�พยากรอย*างน�อย 1 ต�วแล็ะก5าล็�งร�องข้อที่ร�พยากรเพ�!ม
No preemption: ที่ร�พยากรน�4น ๆ เม#!อถ�กเร�!มต�นใช้�งานแล็�วจะต�องถ�กใช้�งานต*อเน#!อง จะค#นกต*อเม#!อที่5างานน�4นเสรจแล็�วเที่*าน�4น
Circular wait: การถ#อครองแล็ะการข้อใช้�ที่ร�พยากรต*อเน#!องก�นเป7นวงกล็ม
Deadlocks 7
ล็�กษณะข้อง Resource-Allocation Graph
V ถ�กแบ*งออกเป7น 2 ประเภที่: P = {P1, P2, …, Pn}, ค#อกล็)*มข้องโปรเซสที่ !อย�*ในระบบ
R = {R1, R2, …, Rm}, ค#อกล็)*มข้องที่ร�พยากรที่ !ม อย�*ที่� 4งหัมดในระบบ
request edge – ค#อที่�ศที่างข้องเส�นจาก Pi Rj
assignment edge – ค#อที่�ศที่างข้องเส�นจาก Rj Pi
ค#อ กล็)*มข้องโหันด V แล็ะแข้น E
Deadlocks 8
ล็�กษณะข้อง Resource-Allocation Graph (ต*อ)
โปรเซสใช้�ส�ญล็�กษณ3
ที่ร�พยากรใช้�ส�ญล็�กษณ3เป7นร�ปส !เหัล็ !ยม
ถ�าโปรเซส pi ร�องข้อใช้�ที่ร�พยากร Rj
Pi
Rj
Deadlocks 9
ล็�กษณะข้อง Resource-Allocation Graph (ต*อ)
ถ�าโปรเซส pi ก5าล็�งถ#อครองที่ร�พยากร Rj ใหั�ใช้�
Pi
Rj
Deadlocks 10
ต�วอย*างข้อง Resource Allocation Graph
Deadlocks 11
ต�วอย*างข้อง Resource Allocation Graph ที่ !เก�ดเดรสล็อค
Deadlocks 12
ต�วอย*างข้อง Resource Allocation Graph ที่ !ไม*เก�ดเดรสล็อค
Deadlocks 13
ความหัมายข้อง Resource Allocation Graph ถ�ากราฟไม*ม cycle แสดงว*าไม*ม สภาวะวงจรเดรสล็อค
เก�ดข้,4น ถ�ากราฟม cycle กพ�จารณาเพ�!มเต�มค#อ
ถ�าในระบบที่ !ที่ร�พยากรแต*ล็ะช้น�ดม เพ ยงต�วเด ยว แสดงว*าได�เก�ดสภาวะวงจรเดรวล็อคข้,4นแล็�ว
ในกรณ ที่ !ที่ร�พยากรแต*ล็ะช้น�ดม หัล็ายต�ว แสดงว*าระบบอย�*ในสภาพที่ !เส !ยงต*อการเก�ดวงจรเดรสล็อค
Deadlocks 14
การจ�ดการป�ญหัาวงจรเดรสล็อค ในระบบปฏิ�บ�ต�การที่�!วๆไป ม 3 แนวที่างที่ !จ�ดการก�บ
ป�ญหัาน 4 ที่5าใหั�แน*ใจว*าระบบจะไม*เข้�าส�*วงจรเดรสล็อค ยอมใหั�ระบบเข้�าส�*วงจรเดรสล็อคก*อนแล็�ว จ,งค*อยแก�ไข้ในภาย
หัล็�ง ไม*ใหั�ความสนใจก�บป�ญหัาวงจรเดรสล็อค โดยต�4งสมม)ต�ฐานว*า
ระบบจะไม*ม ที่างที่ !จะเก�ดป�ญหัาวงจรเดรสล็อค
Deadlocks 15
การป�องก�นการเก�ดวงจรเดรสล็อค (Deadlock Prevention)
Mutual Exclusion – ค)ณสมบ�ต�น 4ไม*สามารถหัล็ กเล็ !ยงได� เพราะเป7นค)ณสมบ�ต�ตามธีรรมช้าต�ข้องที่ร�พยากรแต*ล็ะช้น�ด
Hold and Wait – ระบบจะต�องร�บประก�นว*า เม#!อใดที่ !โปรเซสร�องข้อใช้�ที่ร�พยากร โปรเซสน 4จะต�องไม*ครอบครองที่ร�พยากรอ#!นๆ อย�* บ�งค�บใหั�โปรเซสจะต�องประกาศล็*วงหัน�าว*าต�องการใช้�
ที่ร�พยากรอะไรบ�าง ด�งน�4นโปรเซสจะเร�!มประมวล็ผล็ได�กต*อเม#!อได�ร�บการจ�ดสรรที่ร�พยากรที่ !ต�องการใช้�ใหั�หัมดเร ยบร�อยเส ยก*อน
ม การใช้�ที่ร�พยากรข้องระบบในระด�บต5!าแล็ะเก�ดป�ญหัาการอดอยาก (Starvation)
Deadlocks 16
การป�องก�นการเก�ดวงจรเดรสล็อค (Deadlock Prevention) (ต*อ)
No Preemption – ก5าหันดกฎการที่5างานใหั�เป7นด�งน 4 ถ�าโปรเซสที่ !ก5าล็�งครอบครองที่ร�พยากรอย*าง
ใดอย*างหัน,!งร�องข้อใช้�ที่ร�พยากรเพ�!มเต�ม แต*ระบบปฏิ�บ�ต�การไม*สามารพจ�ดหัาได�ในที่�นที่ กใหั�โปรเซสน�4นค#นที่ร�พยากรที่ !ครอบครองอย�*ที่� 4งหัมดใหั�แก*ระบบ
เพ�!มเต�มที่ร�พยากรที่ !สามารถหัย)ดการที่5างานกล็างค�นได�
โปรเซสจะสามารถที่5างานได�อ กคร�4งเม#!อระบบปฏิ�บ�ต�การสามารถจ�ดสรรที่ร�พยากรเก*ารวมที่�4งที่ร�พยากรใหัม*ที่ !โปรเซสน�4นร�องข้อใหั�แก*โปรเซสน�4นได�
Deadlocks 17
การป�องก�นการเก�ดวงจรเดรสล็อค (Deadlock Prevention) (ต*อ)
Circular Wait –ว�ธี ก5าหันดหัมายเล็ข้เฉพาะใหั�แก*ที่ร�พยากรที่)กต�ว เร ยกว*า การจ�ดล็5าด�บที่�4งระบบโปรเซสใด ๆ จะได�ร�บอน)ญาตใหั�ร�องข้อที่ร�พยากรที่ !ม หัมายเล็ข้ส�งกว*าเที่*าน�4น
Deadlocks 18
การหัล็ กเล็ !ยงการเก�ดวงจรเดรสล็อค Deadlock Avoidance
ว�ธี การที่ !ง*ายที่ ส)ดแล็ะเป7นประโยช้น3มากที่ !ส)ดค#อใหั�แต*ล็ะโปรเซสประกาศล็*วงหัน�าว*าต�องการใช้�ที่ร�พยากรใดบ�างแล็ะต�องการใช้�ที่ร�พยากรจ5านวนส�งส)ดเที่*าใด
อ�ล็กอร�ที่,มจะที่5าการตรวจสอบสถานการณ3ถ#อครองที่ร�พยากรข้องโปรเซสต*าง ๆ อย�*ตล็อดเวล็าเพ#!อที่5าใหั�แน*ใจว*าไม*เก�ดเง#!อนไข้ circular-wait ข้,4น
สถานะresource allocation state ก5าหันดข้,4นโดยจ5านวนที่ร�พยากรที่ !ว*างอย�*แล็ะจ5านวนที่ร�พยากรที่ !จ�ดสรรใหั�แก*โปรเซสต*าง ๆ ไปแล็�ว
Deadlocks 19
สภาวะ Safe State เม#!อโปรเซสร�องข้อใช้�ที่ร�พยากรที่ !ว*างอย�* ระบบจะต�อง
ตรวจสอบว*าเม#!อใหั�ที่ร�พยากรน�4นไปแล็�วระบบจะย�งคงอย�*ในสถานะ safe state
ระบบจะอย�*ในสถานะ safe state ถ�าสามารถค�นหัา safe sequence ข้องโปรเซสที่�4งหัมดได�
ส5าหัร�บแต*ล็ะโปรเซส ระบบปฏิ�บ�ต�การจะสามารถจ�ดสรรที่ร�พยากรใหั�แก*โปรเซสที่ !ร �องข้อน�4นได� ซ,!งรวมที่�4งจ5านวนที่ !โปรเซส Pi (เม#!อ j<i ) ร�องข้อได� ถ�าโปรเซส Pi ต�องการใช้�ที่ร�พยากรที่ !ระบบไม*
สามารถจ�ดสรรใหั�ได�ที่�นที่ โปรเซส Pi จะต�องหัย)ดรอจนโปรเซส Pi ที่�4งหัมดจะที่5างานเสรจส�4นแล็ะค#นที่ร�พยากรใหั�แก*ระบบ
Deadlocks 20
สภาวะ Safe State (ต*อ) เม#!อโปรเซส Pi ที่5างานเสรจ โปรเซส Pi จ,งจะได�ร�บ
การจ�ดสรรที่ร�พยากรใหั� สามารถประมวล็ผล็แล็ะค#นที่ร�พยากรใหั�แก*ระบบเม#!อเสรจส�4นการที่5างาน
เม#!อโปรเซส Pi ที่5างานเสรจ โปรเซส Pi 1+ จ,งจะได�ร�บการจ�ดสรรที่ร�พยากรใหั�แล็ะที่5างานได�ต*อไป
Deadlocks 21
ความหัมายข้องสภาวะ Safe State ถ�าระบบอย�*ในสภาวะ safe state ไม*ม เดรสล็อคเก�ด
ข้,4น
ถ�าระบบอย�*ในสภาวะ unsafe state เป7นไปได�ที่ !จะม เดรสล็อคเก�ดข้,4นในระบบ
การหัล็ กเล็ !ยง ค#อ ที่5าใหั�แน*ใจว*าระบบจะไม*เข้�าส�*สภาวะ unsafe state
Deadlocks 22
สภาวะ Safe, Unsafe , Deadlock State
Deadlocks 23
ต�วอย*าง Resource-Allocation Graph เพ#!อหัล็ กเล็ !ยงเดรสล็อค
Deadlocks 24
ต�วอย*าง Resource-Allocation Graph ในสภาวะ Unsafe
Deadlocks 25
อ�ล็กอร�ธี,ม Banker ก5าหันดใหั�ม ที่ร�พยากรหัล็ายอย*างแล็ะที่ร�พยากรแต*ล็ะ
อย*างม อย�*หัล็ายช้�4น แต*ล็ะโปรเซสจะต�องแจ�งใหั�ที่ราบล็*วงหัน�าว*าต�องการใช้�
ที่ร�พยากรอะไรบ�าง ส�งส)ดเที่*าไร เม#!อโปรเซสร�องข้อที่ร�พยากรอาจจะไม*ได�ร�บการจ�ดสรรใน
ที่�นที่ จ,งอาจต�องรอคอยบ�าง เม#!อโปรเซสได�ร�บการจ�ดสรรที่ร�พยากรใหั�แล็�ว โปรเซสน�4น
จะต�องค#นที่ร�พยากรใหั�แก*ระบบภายในระยะเวล็าอ�นสมควร
Deadlocks 26
โครงสร�างข้�อม�ล็ข้อง Banker’s Algorithm
Available: เป7นค*าเวกเตอร3ความยาว m ถ�า available [j] = k หัมายความว*า ม ที่ร�พยากรประเภที่ Rj อย�* k ต�ว
Max: เป7นเมตร�กข้นาด n x m ถ�า Max [i,j] = k หัมายความว*า โปรเซสช้#!อ Pi ต�องการที่ร�พยากรประเภที่ Rj ส�งส)ด k ต�ว
ก5าหันดใหั� n = จ5านวนข้องโปรเซส, แล็ะ m = จ5านวนประเภที่ข้องที่ร�พยากร
Deadlocks 27
โครงสร�างข้�อม�ล็ข้อง Banker’s Algorithm (ต*อ)
Allocation: เป7นค*าเมตร�กข้นาด n x m ถ�า Allocation[i,j] = k หัมายความว*า โปรเซสPi ครอบครองที่ร�พยากร Rj. เป7นจ5านวนที่�4งส�4น k ต�วในข้ณะน 4
Need: เป7นค*าเมตร�กข้นาด n x m ถ�า Need[i,j] = k หัมายความว*า โปรเซส Pi ต�องการที่ร�พยากร Rj อ กจ5านวน k ต�ว จ,งจะที่5างานส5าเรจ
Need [i,j] = Max[i,j] – Allocation [i,j].
Deadlocks 28
การที่5างานข้องอ�งกอร�ธี,มใหั� Requesti เป7นเวกเตอร3แสดงค5าร�องข้อข้อง
กระบวนการ Pi ได�ร�องข้อที่ร�พยากรประเภที่ Rj เป7นจ5านวน k ต�ว1. ถ�า Requesti Needi แล็�ว ระบบ
จะแจ�งข้�อผ�ดพล็าดว*า กระบวนการการข้อที่ร�พยากรมากกว*าที่ !ระบ) แล็ะกระบวนการจะถ�กข้�บออกจากระบบ แต*ถ�า Requesti Needi แล็�ว จะไปที่5างานในข้�4นตอนที่ ! 2
2. ถ�า Requesti Available แล็�วใหั� Pi รอจนกว*าที่ร�พยากรที่ !ร �องข้อจะว*าง จากน�4นจ,งไปที่5างานในข้�4นตอนที่ ! 3 แต*ถ�า Requesti Available แล็�ว จะไปที่5างานในข้�4นตอนที่ ! 3ที่�นที่
Deadlocks 29
การที่5างานข้องอ�งกอร�ธี,ม (ต*อ)
3. ระบบสมมต�ว*าได�จ�ดสรรที่ร�พยากรใหั�ตามที่ !กระบวนการ Pi ร�องข้อมา โดยระบบจะม สถานะเปล็ !ยนไปด�งน 4
Available = Available = Requesti;
Allocationi = Allocationi + Requesti;
Needi = Needi – Requesti;;
• ถ�า safe ที่ร�พยากรน�4นได�ร�บการจ�ดสรรใหั� Pi
• ถ�า unsafe Pi จะต�องรอ
Deadlocks 30
ต�วอย*างข้อง Banker’s Algorithm ม โปรเซสอย�* 5 โปรเซส ค#อ P0 ถ,ง P
4 แล็ะม ที่ร�พยากรอย�* 3 ประเภที่
โดยม ประเภที่ A อย�* 10 ต�ว ประเภที่ B อย�* 5 ต�วแล็ะประเภที่ C อย�* 7 ต�ว
เร�!มต�นที่ !ข้�อม�ล็ในระบบเป7นด�งน 4Allocation MaxAvailableA B CA B C A B CP0 0 1 0 7 5 3 3 3 2
P1 2 0 0 3 2 2
P2 3 0 2 9 0 2
P3 2 1 1 2 2 2
P4 0 0 2 4 3 3
Deadlocks 31
ต�วอย*างข้อง Banker’s Algorithm (ต*อ)
เน#!องจากเมที่ร�กซ3 Need เก�ดจาก Max-Allocation จะได�ว*าNeedA B C
P0 7 4 3
P1 1 2 2
P2 6 0 0
P3 0 1 1
P4 4 3 1 พบว*าระบบอย�*ในสถานะปล็อดภ�ยเน#!องจากระบวนการอาจที่5างานได�
ตามล็5าด�บ ซ,!งเป7นไปตามเง#!อนไข้ข้องสถานะปล็อดภ�ย < P1, P3, P4, P2, P0>
Deadlocks 32
การตรวจจ�บสภาวะเดรสล็อค อน)ญาตใหั�ระบบเข้�าส�*สภาวะเดรสล็อค
ใช้� Detection algorithm เพ#!อตรวจสอบ
ถ�าพบกที่5าการก��ค#นกล็�บมา
Deadlocks 33
กรณ ที่ร�พยากรแต*ล็ะประเภที่ม เพ ยงแค*หัน,!งต�ว
ใช้� wait-for graph ช้*วย โหันดค#อโปรเซส Pi Pj ถ�า Pi รอที่ร�พยากรที่ ! Pj ใช้�งานอย�*
จากน�4นที่5าการค�นหัา cycle ในกราฟ
ค*าการด5าเน�นงานที่ !ใช้�ในการค�นหัาในกราฟ ม ค*าเป7น n2 operations เม#!อ n ค#อจ5านวนข้องโหันดในกราฟ
Deadlocks 34
ต�วอย*างการแปล็ง Resource-Allocation Graph เป7น Wait-for Graph
Resource-Allocation Graph Corresponding wait-for graph
Deadlocks 35
กรณ ที่ร�พยากรแต*ล็ะประเภที่ม หัล็ายๆต�ว Available: ค#อเวกเตอร3ข้นาด m ซ,!งแที่นจ5านวน
ประเภที่ข้องที่ร�พยากร
Allocation: ค#อเมตร�กข้นาด n x m ใช้�บอกจ5านวนที่ร�พยากรแต*ล็ะประเภที่ที่ !แต*ล็ะโปรเซสครอบครองอย�*
Request: ค#อเมตร�กข้นาด n x m ใช้�บอกจ5านวนที่ร�พยากรที่ !โปรเซสต*ล็ะโปรเซสร�องข้อเพ�!ม
Deadlocks 36
ต�วอย*าง Detection Algorithm ในระบบประกอบด�วยโปรเซสที่�4งส�4น 5 โปรเซส ช้#!อว*า P0
จนถ,ง P4 โดยม ที่ร�พยากรอย�* 3 ประเภที่ ค#อ A (7 ต�ว),
B (2 ต�ว), แล็ะ C (6 ต�ว) ที่ !เวล็าเร�!มต�น ข้�อม�ล็ในระบบเป7นด�งน 4
Deadlocks 37
ต�วอย*าง Detection Algorithm (ต*อ)
AllocationRequestAvailableA B C A B C A B C
P0 0 1 0 0 0 0 0 0 0
P1 2 0 0 2 0 2
P2 3 0 3 0 0 0
P3 2 1 1 1 0 0
P4 0 0 2 0 0 2
ล็5าด�บ <P0, P2, P3, P1, P4> เป7นผล็ที่5าใหั� Finish[i] = true ในที่)ก i
Deadlocks 38
การใช้�งาน Detection-Algorithm จะตรวจสอบเม#!อใดแล็ะบ*อยแค*ไหัน
ความถ !หัร#อโอกาสที่ !จะเก�ดสภาวะข้�ดตายข้,4นในระบบ จ5านวนโปรเซสที่ !ต�อง roll back ที่5างานย�อนกล็�บ
หัล็�ง)
ถ�าอ�ล็กอร�ที่,มตรวจหัาสภาวะข้�ดตาย ถ�กน5ามาใช้�อย*างไม*สมบ�รณ3 อาจเป7นไปได�ว*าจะเก�ดcycle ข้,4นเป7นจ5านวนหัล็าย cycle ที่5าใหั�ไม*สามารถบอกได�ว*า โปรเซสใดอย�*ในกล็)*ม cycle ใดที่ !เก�ดสภาวะข้�ดตายข้,4น
Deadlocks 39
การก��ระบบค#นจากสภาวะเดรสล็อค บ�งค�บใหั�ที่)กโปรเซสที่ !เก !ยวข้�องหัย)ดที่5างานที่�4งหัมด ส�!งใหั�โปรเซสหัย)ดที่5างานในที่�นที่ ที่ ล็ะโปรเซสจนกว*าหั*วงโซ*ข้อง
โปรเซสที่ !ที่5าใหั�เก�ดสภาวะข้�ดตายจะหัมดไป การเล็#อกโปรเซสที่ !จะถ�กส�!งใหั�หัย)ดที่5างาน พ�จารณาจาก
เล็#อกตามล็5าด�บความส5าค�ญข้องแต*ล็ะโปรเซส เวล็าซ พ ย�ที่ !ใช้�ไป หัร#อเวล็าซ พ ย�ที่ !เหัล็#ออย�*ข้องแต*ล็ะโปรเซส ปร�มาณที่ร�พยากรที่ !ใช้�ไปแล็�ว ปร�มาณที่ร�พยากรที่ !ต�องการใช้�เพ�!ม จ5านวนโปรเซสที่ !จะต�องถ�กส�!งใหั�หัย)ดที่5างาน ล็�กษณะข้องโปรเซส ค#อเป7นงานแบบ interactive หัร#อ
batch
Deadlocks 40
การก��ระบบค#นจากสภาวะเดรสล็อค(ต*อ) เล็#อกโปรเซสโดยพ�จารณาจากโปรเซสที่ !ม ม�ล็ค*าการ
ที่5างานต5!าที่ !ส)ด Rollback –เล็#อกโปรเซสที่ !จะที่5าใหั�เก�ดโรล็แบก ต5!าที่ !ส)ด
การโรล็แบก ค#อการย�อนการที่5างานข้องโปรเซสหัน,!งกล็�บไปย�งจ)ดที่ !ปล็อดภ�ย
Starvation –ว�ธี การเล็#อกโปรเซสที่ !ไม*เหัมาะสมอาจที่5าใหั�เก�ดป�ญหัา starvation ค#อโปรเซสกล็)*มหัน,!งม�กจะถ�กเล็#อกใหั�หัย)ดที่5างานเสมอเม#!อเก�ดป�ญหัาข้�ดตายข้,4น
Deadlocks 41
การจ�ดการป�ญหัาวงจรเดรสล็อคโดยว�ธี ผสมผสาน
รวมเที่คน�คที่�4งสามว�ธี เข้�าด�วยก�น เที่คน�คการป�องก�น เที่คน�คการหัล็ กเล็ !ยง เที่คน�คการตรวจสอบ
อน)ญาตใหั�ใช้�เที่คน�คที่ !เหัมาะก�บที่ร�พยากรแต*ล็ะประเภที่ในระบบ
แบ*งที่ร�พยากรออกเป7นคล็าสๆ เล็#อกเที่คน�คที่ !เหัมาะสมในแต*ล็ะคล็าส โดยไม*จ5าเป7นต�อง
เหัม#อนก�น