Chapter 4 : Dead Lock

33
Chapter 4 : Dead Lock Chapter 4 : Dead Lock Computer Operating System รรรรรรรรรรรรรร รรรรรรรรรรร ร.รรรรรรร รรรรรรรรร

description

Chapter 4 : Dead Lock. Computer Operating System ระบบปฏิบัติการคอมพิวเตอร์. วัตถุประสงค์. วงจรอับคืออะไร เงื่อนไขที่ทำให้เกิดวงจรอับ แผนภาพแสดงของวงจรอับ การป้องกันการเกิดวงจรอับ การหลีกเลี่ยงวงจรอับ วิธีการตรวจสอบการกู้คืนเมื่อเกิดวงจรอับ การที่ไม่ต้องสนใจอะไรเลย - PowerPoint PPT Presentation

Transcript of Chapter 4 : Dead Lock

Page 1: Chapter 4 :  Dead Lock

Chapter 4 : Dead LockChapter 4 : Dead Lock

Computer Operating System ระบบปฏิ�บ�ติ�การคอมพิ�วเติอร�อ.คเชนทร� ซ่�อนกลิ่��น

Page 2: Chapter 4 :  Dead Lock

วงจรอ�บค�ออะไร เง��อนไขท��ท าให้#เก�ดวงจรอ�บ แผนภาพิแสดงของวงจรอ�บ การป)องก�นการเก�ดวงจรอ�บ การห้ลิ่�กเลิ่��ยงวงจรอ�บ ว�ธี�การติรวจสอบการก,#ค�นเม��อเก�ดวงจรอ�บ การท��ไม�ติ#องสนใจอะไรเลิ่ย สร-ปว�ธี�การเก�ดวงจรอ�บ

วั�ตถุ�ประสงค์�วั�ตถุ�ประสงค์�2

Page 3: Chapter 4 :  Dead Lock

Introduction ระบบคอมพิ�วเติอร�ประกอบด#วยทร�พิยากร(resource) จ านวนมาก ทร�พิยากรเห้ลิ่�าน�.ถู,กเร�ยกใช#ได#ท�ลิ่ะ 1 โปรเซ่ส เช�น เคร��องพิ�มพิ� , ด�สก�ไดรฟ์2 , harddiskเป�าหมาย ทร�พิยากรจะติ#องถู,กครอบครองเพิ�ยง 1 โปรเซ่สเท�าน�.น ณ เวลิ่า

ใดเวลิ่าห้น4�งป�ญหา ม�ห้ลิ่ายโปรแกรมท างานในเวลิ่าพิร#อม ๆ ก�น 1 โปรแกรมม�ห้ลิ่ายโปรเซ่ส แติ�ลิ่ะโปรเซ่สติ#องการทร�พิยากร ซ่4�งบางคร�.งอาจเป6นทร�พิยากร

เด�ยวก�นก7ได#

วังจรอั�บ วังจรอั�บ ((Dead Lock)Dead Lock)3

Page 4: Chapter 4 :  Dead Lock

โปรเซ่ส A ขอใชสแกนเนอร� แลิ่ะได#ใช# โปรเซ่ส B ขอใชเคร��องเข�ยนซ่�ด� (CD writer) แลิ่ะได#ใช# โปรเซ่ส A ขอใช#เคร��องเข�ยนซ่�ด�บ#าง แติ� B ไม�ยอม ในขณะเด�ยวก�น B เก�ดร#องขอเพิ��อใช#สแกนเนอร�บ#าง ซ่4�ง A ก าลิ่�งใช#อย,� ติ�างคนติ�างไม�ได#ใช#ทร�พิยากรของแติ�ลิ่ะฝ่9าย

โปรเซ่ส A

โปรเซ่ส B

ครอบครอง ร#องขอ

ครอบครองร#องขอ

ร�ปที่�� 41. การเก�ดวงจรอ�บโดยโปรเซ่สท�.งสองติ�างรอใช#ทร�พิยากร

วังจรอั�บ วังจรอั�บ ((Dead Lock)Dead Lock)4

Page 5: Chapter 4 :  Dead Lock

“วังจรอั�บ (Deadlock) ค�อกลิ่-�มของโปรเซ่สท��ถู,กปฏิ�เสธีไม�ให้#ท างาน (blocking) อ�นม�ผลิ่ส�บ

เน��องมาจากการแย�งช�งทร�พิยากร ห้ร�อการส��อสาร โดยท��โปรเซ่สในกลิ่-�มติ�างรอคอยส�ญญาณท างานท��จะเก�ดข4.นได#เฉพิาะจากโปรเซ่สภายในกลิ่-�มน�.เท�าน�.น”

ภาพที่�� 42 การเก�ดวงจรอ�บ

41. 41. วังจรอั�บค์�อัอัะไร วังจรอั�บค์�อัอัะไร ((Dead Lock)Dead Lock)5

Page 6: Chapter 4 :  Dead Lock

วงจรอ�บอาจจะเก�ดข4.นก7ติ�อเม��อเง��อนไขท�.งสามข#อติ�อไปน�. 1. เม��อทร�พิยากรท��ไม�สามารถูถู,กใช#ร�วมก�นได#ห้ลิ่าย ๆ โปรเซ่สพิร#อมก�นได# (Mutual exclusion condition)

2. เม��อม�การถู�อครองแลิ่ะรอ (hold and wait condition)

3. เม��อการท างานในระบบไม�ม�การแทรกกลิ่างคร�น (no preemptive condition) ไม�สามารถูบ�งคร�บให้#ม�การปลิ่ดปลิ่�อยทร�พิยากรได#

4. เก�ดวงจรรอคอย (Circuit wait condition) ทร�พิยากร A

ทร�พิยากร B

ProcessA

ProcessB

ครอบครอง

ร#องขอ

ครอบครอง

ร#องขอ

42 42 เง��อันไขการเก$ดวังจรอั�บเง��อันไขการเก$ดวังจรอั�บ6

Page 7: Chapter 4 :  Dead Lock

กราฟจ�ดสรรที่ร�พยากร ลิ่,กศรจากโห้นดทร�พิยากรช�.ไปห้าโห้นดโปรเซ่ส ห้มายถู4ง

ทร�พิยากรน�.นได#ถู,กร#องขอแลิ่ะโปรเซ่สน�.นก7ได#ใช#ไปแลิ่#ว แลิ่ะก าลิ่�งถู�อครองอย,� ในร,ป ทร�พิยากร R ในขณะน�.นถู,กโปรเซ่ส A ถู�อครองอย,�

A

R

การถุ�อัค์รอังที่ร�พยากร

43 43 แผนภาพขอังวังจรอั�บแผนภาพขอังวังจรอั�บ

โปรเซ่ส

ทร�พิยากร

7

Page 8: Chapter 4 :  Dead Lock

กราฟจ�ดสรรที่ร�พยากร ลิ่,กศรจากโห้นดโปรเซ่สช�.ไปห้าโห้นดทร�พิยากร ห้มายถู4ง

โปรเซ่สในขณะน�.นก าลิ่�งรอคอยทร�พิยากรน�.นอย,� โปรเซ่ส B ก าลิ่�งรอทร�พิยากร S

B

S

การรอัค์อัยที่ร�พยากร

43 43 แผนภาพขอังวังจรอั�บแผนภาพขอังวังจรอั�บ

โปรเซ่ส

ทร�พิยากร

8

Page 9: Chapter 4 :  Dead Lock

กราฟจ�ดสรรที่ร�พยากร ในร,ปท�� 44. (ค ) จะเห้7นได#ว�าม�วงจรอ�บเก�ดข4.น โปรเซ่ส C ก าลิ่�งรอคอยท��จะใช#

ทร�พิยากร T ซ่4�งในขณะน�.นก7ถู,กถู�อครองโดยโปรเซ่ส D โปรเซ่ส D เองไม�สามารถูปลิ่�อยทร�พิยากร T ได# เพิราะว�าติ�วเองก7ก าลิ่�งรอคอยทร�พิยากร U ท��ถู�อครองโดยโปรเซ่ส C เช�นก�น โปรเซ่สท�.งสองก7จะรอคอยอย�างไม�ม�ท��ส�.นส-ด แผนภาพิวงกลิ่มในกราฟ์แสดงว�าวงจรอ�บน�.นเก��ยวข#องก�บโปรเซ่สแลิ่ะทร�พิยากรท��ม�เส#นกราฟ์ติ�อก�นเป6นลิ่,กโซ่� โดยจากติ�วอย�างในร,ปน�.น ค�อ วงจร C-T-D-U-C

C

D

T U

(ค์ ) วังจรอั�บ

43 43 แผนภาพขอังวังจรอั�บแผนภาพขอังวังจรอั�บ9

Page 10: Chapter 4 :  Dead Lock

43 43 แผนภาพขอังวังจรอั�บแผนภาพขอังวังจรอั�บ

สมม-ติ�ว�า ในระบบม�โปรเซ่ส 3 ติ�ว ค�อ A, B แลิ่ะ C แลิ่ะทร�พิยากร 3 ติ�ว ค�อ R, S แลิ่ะ T การร#องขอแลิ่ะการปลิ่�อยทร�พิยากรของท�.งสามโปรเซ่ส ด�งร,ป ระบบปฏิ�บ�ติ�การม�อ�สระในการอน-ญาติให้#โปรเซ่สใดท างานห้ร�อป)องก�นไม�ให้#โปรเซ่สงานใดท างานก7ได# โดยอาจจะเร��มจากให้# A ท างานจนกว�า A จะท างานเสร7จ แลิ่ะจ4งให้# B ท างานจนเสร7จ แลิ่#ว C จ4งท างานติ�อ ลิ่�กษณะการก าห้นดให้#โปรเซ่สท างานด�งกลิ่�าวจะไม�ท าให้#เก�ดวงจรอ�บอย�างแน�นอน เพิราะไม�ม�การแข�งข�นในการใช#ทร�พิยากรร�วมก�บโปรเซ่สอ��น

10

Page 11: Chapter 4 :  Dead Lock

A

R

B

S

C

T

A

R

B

S

C

T

A

R

B

S

C

T

A

R

B

S

C

T

A

R

B

S

C

T

A

R

B

S

C

T

A request R B request S C request T

A request S B request T C request R

43 43 แผนภาพขอังวังจรอั�บแผนภาพขอังวังจรอั�บ

ก าห้นดให้#โปรเซ่สสามารถูท าการค านวณแลิ่ะแสดงผลิ่พิร#อมก�นได# การจ�ดการ ติารางท างานท��เห้มาะสมควรเป6นการท างานแบบห้ม-นเว�ยนก�นไป ห้ร�อ round

robin น��นเอง

11

Page 12: Chapter 4 :  Dead Lock

A

R

B

S

C

T

A

R

B

S

C

T

A

R

B

S

C

T

A

R

B

S

C

T

A

R

B

S

C

T

A

R

B

S

C

T

A request R C request T A request S

C request R A dedicate RA request S

43 43 แผนภาพขอังวังจรอั�บแผนภาพขอังวังจรอั�บ

ถู#าคาดว�าวงจรอ�บจะเก�ดข4.น ระบบอาจจะระง�บไม�ให้#โปรเซ่ส B ได#ร�บทร�พิยากร S แลิ่ะให้#เพิ�ยงโปรเซ่ส A แลิ่ะ C ท างานก�อน ท าให้#ได#ลิ่ าด�บของการร#องขอแลิ่ะการปลิ่�อยทร�พิยากรเป6นด�งร,ป

12

Page 13: Chapter 4 :  Dead Lock

441. . การให*ใช้*ที่ร�พยากรร,วัมก�นได* (Mutual exclusion prevention)

- ทร�พิยากรในระบบไม�อน-ญาติให้#ห้ลิ่ายโปรเซ่ส ใช#งานพิร#อมๆ ก�นได#- ว�ธี�การแก#ไขระบบปฏิ�บ�ติ�การจะติ#องจ�ดการให้#โปรเซ่สในระบบสามารถู

ใช#งานทร�พิยากรเห้ลิ่�าน�.นร�วมก�นได# (เช�น ไฟ์ลิ่�ข#อม,ลิ่ ระบบอาจจะอน-ญาติให้#

ห้ลิ่ายโปรเซ่สเข#าถู4งไฟ์ลิ่�ข#อม,ลิ่น�.นได# โดยม�การก าห้นดให้#ม�การเข#าถู4งเป6นแบบอ�านได#

อย�างเด�ยว (read only))- เคร��องพิ�มพิ�ไม�สามารถูใช#ทร�พิยากรร�วมก�นได# อาจจะใช#ว�ธี�สพิ,ลิ่ลิ่��งเข#า

มาช�วย โดยใช#พิ�.นท��ด�สก�เป6นติ�วร�บเอาติ�พิ-ติแทนเคร��องพิ�มพิ�

44. 44. การป�อังก�นการเก$ดวังจรอั�บการป�อังก�นการเก$ดวังจรอั�บ13

Page 14: Chapter 4 :  Dead Lock

442. . การป�อังก�นการถุ�อัค์รอังและรอัค์อัย (Hold and wait prevention)- อน-ญาติให้#โปรเซ่สร#องขอทร�พิยากรท��ติ#องการท�.งห้มดก�อน แลิ่ะจะไม�อน-ญาติให้#โปรเซ่สน�.นท างานจนกว�าจะได#ร�บทร�พิยากรท��ร #องขอไปพิร#อมก�นท�.งห้มดก�อน- ว�ธี�การน�.จะท าให้#ระบบปฏิ�บ�ติ�การท างานอย�างไม�ม�ประส�ทธี�ภาพิ เพิราะอย�างแรกโปรเซ่สจะติ#องถู�อครองทร�พิยากรเป6นเวลิ่านานในขณะท��รอให้#ติ�วเองได#ร�บทร�พิยากรท�.งห้มดก�อนจ4งจะท างานได# ท� .งๆ ท��โปรเซ่สเห้ลิ่�าน�.นเพิ�ยงได#ร�บทร�พิยากรบางติ�วก7สามารถูท างานก�อนได#เลิ่ย - บางทร�พิยากรท��ถู,กครอบครองโดยโปรเซ่สอาจจะย�งไม�ได#ถู,กใช#งาน แลิ่ะโปรเซ่สอ��นก7ไม�สามารถูเร�ยกน าไปใช#ได#ด#วย

44. 44. การป�อังก�นการเก$ดวังจรอั�บการป�อังก�นการเก$ดวังจรอั�บ14

Page 15: Chapter 4 :  Dead Lock

443. . ยอัมให*ม�การแที่รกกลางค์ร�น (Preemptable)

- ระบบจะไม�ยอมให้#โปรเซ่สร#องขอทร�พิยากรจนกว�าจะปลิ่ดปลิ่�อยทร�พิยากรของติ�วเอง

- ถู#าโปรเซ่สติ#องการเพิ��มติ#องปลิ่�อยทร�พิยากรแลิ่#วท าการขอให้ม�

- ระบบสามารถูแทรกได#กลิ่างคร�น ใช#ได#ก�บระบบท��ม�ส�ทธี�แลิ่ะลิ่ าด�บความส าค�ญ

(priority)

44. 44. การป�อังก�นการเก$ดวังจรอั�บการป�อังก�นการเก$ดวังจรอั�บ15

Page 16: Chapter 4 :  Dead Lock

444. . การป�อังก�นการเก$ดวังจรรอัค์อัย (Circular wait protection)- โปรเซ่สจะร#องขอได#เฉพิาะทร�พิยากรท��อย,�ในลิ่ าด�บส,งกว�าเท�าน�.น

เช�น ถู#าโปรเซ่สก าลิ่�งถู�อครองทร�พิยากร S อย,� แลิ่ะติ�อมาโปรเซ่สน�.ได#ท าการร#องขอ

ทร�พิยากร ซ่4�งระบบจะอน-ญาติให้#โปรเซ่สน�.นร#องขอได#เฉพิาะทร�พิยากรท��อย,�ในลิ่ าด�บ

ท��ส,งกว�า S การป)องก�นว�ธี�น�.จะส�งผลิ่ให้#การท างานของระบบปฏิ�บ�ติ�การไร#ประส�ทธี�ภาพิโดย

จะท าให้#การประมวลิ่ผลิ่ช#าลิ่งแลิ่ะม�การปฏิ�เสธีการใช#งานของทร�พิยากรโดยไม�ม�

ความจ าเป6น

44. 44. การป�อังก�นการเก$ดวังจรอั�บการป�อังก�นการเก$ดวังจรอั�บ16

Page 17: Chapter 4 :  Dead Lock

เง��อันไข วั$ธี�การการใช#ทร�พิยากรร�วมก�นไม�ได# ให้#ใช#ทร�พิยากรท��สามารถูใช#ร�วมก�นได# เช�น

น าด�สก� มาท าเป6น spooling

การถู�อครองแลิ่ะรอคอย ให้#โปรเซ่สร#องขอทร�พิยากรท�.งห้มดก�อน

การไม�การแทรกกลิ่างค�น ให้#ระบบสามารถูแทรกการท างานแลิ่ะเร�ยกค�นทร�พิยากรได#

การเก�ดวงจรรอคอย จ�ดเร�ยงแลิ่ะใช#ทร�พิยากรอย�างเป6นลิ่ าด�บ

44. 44. การป�อังก�นการเก$ดวังจรอั�บการป�อังก�นการเก$ดวังจรอั�บ17

Page 18: Chapter 4 :  Dead Lock

45 45 การหล�กเล��ยงการเก$ดวังจรอั�บ การหล�กเล��ยงการเก$ดวังจรอั�บ ((Avoidance)Avoidance)

451. . แนวัเส*นขอังการใช้*ที่ร�พยากร- ว�ธี�การค�ด ห้ร�ออ�ลิ่กอร�ท4�มของการห้ลิ่�กเลิ่��ยงการเก�ดวงจรอ�บว�ธี�น�.ม�พิ�.นฐานอย,�บนแนวความค�ดค�อ ติ#องการให้#ระบบอย,�ในสถูานะท��ปลิ่อดภ�ย (safe state)- แผนภาพิจะถู,กใช#เพิ��อแสดงแนวความค�ดของค าว�า อย,�ในสถูานะท��ปลิ่อดภ�ย “ ”- ในบางคร�.งการใช#แผนภาพิจะไม�สามารถูส��อความห้มายโดยติรงเก��ยวก�บการใช#อ�ลิ่กอร�ท4�มน�.ก7ติาม แติ�สามารถูท าให้#เราเข#าใจความห้มายของป@ญห้าแลิ่ะห้นทางแก#ไขได#มากข4.น

18

Page 19: Chapter 4 :  Dead Lock

p q I1 I2 I3 I4

I8

I7

I6

I5r

s

t

เคร��องพิ�มพิ�พิลิ่7อติเติอร�

พิลิ่7อติเติอร�

เคร��องพิ�มพิ�

A

B

u (โปรเซ่สท�.งสองเสร7จเร�ยบร#อย

45 45 การหล�กเล��ยงการเก$ดวังจรอั�บ การหล�กเล��ยงการเก$ดวังจรอั�บ ((Avoidance)Avoidance)

451. . แนวัเส*นขอังการใช้*ที่ร�พยากร19

Page 20: Chapter 4 :  Dead Lock

45 45 การหล�กเล��ยงการเก$ดวังจรอั�บ การหล�กเล��ยงการเก$ดวังจรอั�บ ((Avoidance)Avoidance)

452 การปฏิ$เสธีให*โปรเซสที่2างาน (ระบบท��ม�โปรเซ่ส n ติ�ว แลิ่ะม�ทร�พิยากรติ�างชน�ด

ก�น m ติ�ว ) โดยม�การน�ยามเวกเติอร�แลิ่ะแมติทร�กซ่� ด�งน�.

แมตที่ร$กซ� Claim แสดงถู4งความติ#องการทร�พิยากรแติ�ลิ่ะชน�ดส,งส-ดของแติ�ลิ่ะโปรเซ่ส โดยให้#แติ�ลิ่ะแถูวแทนโปรเซ่ส 1 ติ�ว น��นค�อ Cij = จ านวนทร�พิยากร j ท��โปรเซ่ส i ติ#องการ

20

Page 21: Chapter 4 :  Dead Lock

45 45 การหล�กเล��ยงการเก$ดวังจรอั�บ การหล�กเล��ยงการเก$ดวังจรอั�บ ((Avoidance)Avoidance)

452. . การปฏิ$เสธีให*โปรเซสที่2างาน

Aij = จ านวนทร�พิยากร j ท��ถู,กครอบครองโดยโปรเซ่ส i

21

Page 22: Chapter 4 :  Dead Lock

Cij = จ านวนทร�พิยากร j ท��โปรเซ่ส i ติ#องการAij = จ านวนทร�พิยากร j ท��ถู,กครอบครองโดยโปรเซ่ส i

ทร�พิยากรท�.งห้มดจะเท�าก�บทร�พิยากรท��ว�างรวมก�บทร�พิยากรท��ถู,กครอบครองRi = Vi + Aki

ไม�ม�โปรเซ่สใดร#องขอได#มากกว�าจ านวนทร�พิยากรท��ม�อย,�ท� .งห้มดCki Ri

ไม�ม�โปรเซ่สใดท��สามารถูครอบครองทร�พิยากรมากกว�าท��ติ�วเองร#องขอในติอนแรก

Aki Cki จะเร��มโปรเซ่สให้ม�ก7ติ�อเม��อ

Ri C(n+1) + Cki

45 45 การหล�กเล��ยงการเก$ดวังจรอั�บ การหล�กเล��ยงการเก$ดวังจรอั�บ ((Avoidance)Avoidance)

452. . การปฏิ$เสธีให*โปรเซสที่2างาน22

Page 23: Chapter 4 :  Dead Lock

453. . การปฏิ$เสธีไม,ให*ค์รอับค์รอังที่ร�พยากร

Banker’s Algorithm ลิ่,กค#าเปร�ยบได#ก�บโปรเซ่ส เง�นเปร�ยบได#ก�บทร�พิยากร ห้ลิ่�กท��วไป

*** ธีนาคารม�ส�ทธี�ปฏิ�เสธีการให้#ก,#ได#

23

45 45 การหล�กเล��ยงการเก$ดวังจรอั�บ การหล�กเล��ยงการเก$ดวังจรอั�บ ((Avoidance)Avoidance)

ธีนาคารม�จ านวนเง�นจ าก�ด ลิ่,กค#าติ#องการก,#ในวงเง�นส,งส-ด ลิ่,กค#าจะช าระค�นเม��อได#ร�บเง�นจากธีนาคาร

Page 24: Chapter 4 :  Dead Lock

453. . การปฏิ$เสธีไม,ให*ค์รอับค์รอังที่ร�พยากร

A 3 9

B 4 4

C 2 7

A 3 9

B 2 4

C 2 7

A 3 9

B 0 -

C 2 7

A 3 9

B 0 -

C 7 7

A 3 9

B 0 -

C 0 -

Free 3 Free 1 Free 5 Free 0 Free 7 (ก ) (ข ) (ค ) (ง ) (จ)

HAS MAX HAS MAX HAS MAX HAS MAX HAS MAX

24

45 45 การหล�กเล��ยงการเก$ดวังจรอั�บ การหล�กเล��ยงการเก$ดวังจรอั�บ ((Avoidance)Avoidance)

โดย HAS ค�อ ทร�พิยากรท��ได#ร�บ MAX ค�อ ทร�พิยากรท��ติ#องการท�.งห้มด

ต�วัอัย,างการแสดงขอังสถุานะที่��ปลอัดภ�ย

ให้# B ท างานเสร7จก�อนโดยเพิ��มทร�พิยากรให้#อ�ก 2 ติ�ว เม��อ B ท างานเสร7จแลิ่ะค�นทร�พิยากรส,�ระบบ ก าห้นดให้# C ท างานโดยให้#ทร�พิยากรเพิ��มด�งร,ป (ง) เม��อ C ท างานเสร7จแลิ่#วจะได#ผลิ่ด�งร,ป (จ ) ท าให้# A สามารถูท างานจนเสร7จ

สมบ,รณ�ได#

Page 25: Chapter 4 :  Dead Lock

453. . การปฏิ$เสธีไม,ให*ค์รอับค์รอังที่ร�พยากร

A 4 9

B 2 4

C 2 7

A 3 9

B 2 4

C 2 7

A 4 9

B 4 4

C 2 7

A 4 9

B - -C 2 7

Free 3 Free 2 Free 0 Free 4 (ก ) (ข ) (ค ) (ง)

ต�วัอัย,าง การแสดงขอังสถุานะที่��ไม,ปลอัดภ�ย

25

45 45 การหล�กเล��ยงการเก$ดวังจรอั�บ การหล�กเล��ยงการเก$ดวังจรอั�บ ((Avoidance)Avoidance)

HAS MAX HAS MAX HAS MAX HAS MAX

ให้#การติ�ดส�นใจจาก (ก ) ไป (ข ) เป6นการติ�ดส�นใจท��น าพิาระบบเข#าส,�สถูานะท��ไม�ปลิ่อดภ�ย แติ�ไม�ได#ห้มายความว�าระบบจะเข#าส,�วงจรอ�บเสมอวั$ธี�แก*ไข ระบบควรปฏิ�เสธีการร#องขอการครอบครองทร�พิยากรของโปรเซ่ส A

Page 26: Chapter 4 :  Dead Lock

A 3 0 1 1

B 0 1 0 0

C 1 1 1 0

D 1 1 0 1

E 0 0 0 0

โปรเ

ซส

เที่ป

พล3อัต

เตอัร

เค์ร��อั

งพ$มพ

ซ� ด� รอั

มA 1 1 0 0

B 0 1 1 2

C 3 1 0 0

D 0 0 1 0

E 2 1 1 0โป

รเซส

เที่ป

พล3อัต

เตอัร

เค์ร��อั

งพ$มพ

ซ� ด� รอั

R = [6342] ทร�พิยากรท��ม�อย,�ท� .งห้มดAllocate (A) Claim (C)

26

45 45 การหล�กเล��ยงการเก$ดวังจรอั�บ การหล�กเล��ยงการเก$ดวังจรอั�บ ((Avoidance)Avoidance)

454. . วั$ธี�การที่2างานแบบนายธีนาค์ารส2าหร�บระบบที่��ม�ที่ร�พยากรหลายต�วั

P = [5322] ทร�พิยากรท��ถู,กครอบครองในขณะน�.น

V = [1020] ทร�พิยากรท��ว�าง

V = R – PV = R – P

Page 27: Chapter 4 :  Dead Lock

A 3 0 1 1

B 0 1 0 0

C 1 1 1 0

D 1 1 0 1

E 0 0 0 0

โปรเ

ซส

เที่ป

พล3อัต

เตอัร

เค์ร��อั

งพ$มพ

ซ� ด� รอั

มA 1 1 0 0

B 0 1 1 2

C 3 1 0 0

D 0 0 1 0

E 2 1 1 0โป

รเซส

เที่ป

พล3อัต

เตอัร

เค์ร��อั

งพ$มพ

ซ� ด� รอั

Allocate (A) Claim (C)

27

45 45 การหล�กเล��ยงการเก$ดวังจรอั�บ การหล�กเล��ยงการเก$ดวังจรอั�บ ((Avoidance)Avoidance)

454. . วั$ธี�การที่2างานแบบนายธีนาค์ารส2าหร�บระบบที่��ม�ที่ร�พยากรหลายต�วั

V = [1020] น ามาเท�ยบก�บ ค�าท��อย,�ในแมติทร�กซ่� C แลิ่#วน าค�าจาก Allocate (A ) มารวมก�บค�า V ก7จะได#ค�าทร�พิยากรท��ว�าง ห้ลิ่�งจากม�การค�นค�าทร�พิยากรจากโปรเซ่สท��ท างานเสร7จแลิ่#ว ท าจนครบท-กโปรเซ่สท��อย,�ในระบบ

Page 28: Chapter 4 :  Dead Lock

ว�ธี�การติรวจสอบด,ว�าระบบอย,�ในสถูานะปลิ่อดภ�ยห้ร�อไม� เร��มติรวจสอบแถูวของโปรเซ่สในติาราง C ว�าม�แถูวใดบ#างท��ม�

จ านวนทร�พิยากรท��ติ#องการน#อยกว�าห้ร�อเท�าก�บ V ถู#าไม�ม�แสดงว�าอย,�ในวงจรอ�บแลิ่#ว

สมม-ติ�ว�าม� 1 แถูวท��สามารถูได#ร�บทร�พิยากรแติ�ลิ่ะติ�วท�.งห้มด (เช�นโปรเซ่ส D ) แลิ่ะท างานได# ให้#ท าเคร��องห้มายว�าท างานส าเร7จแลิ่ะค�นทร�พิยากรส,�ระบบ

ท าซ่ .าข#อ 1 แลิ่ะ 2 จนกระท��งท-กโปรเซ่สท างานเสร7จ

28

45 45 การหล�กเล��ยงการเก$ดวังจรอั�บ การหล�กเล��ยงการเก$ดวังจรอั�บ ((Avoidance)Avoidance)

454. . วั$ธี�การที่2างานแบบนายธีนาค์ารส2าหร�บระบบที่��ม�ที่ร�พยากรหลายต�วั

Page 29: Chapter 4 :  Dead Lock

461. . ข�4นตอันการตรวัจหาวังจรอั�บ ท าการติรวจท-กคร�.งท��ม�การร#องขอ

สามารถูติรวจพิบวงจรอ�บได#รวดเร7ว ก าห้นดเวลิ่าได#ง�ายข*อัเส�ย ติ#องเส�ยเวลิ่าในการติรวจ

29

46 46 วั$ธี�การตรวัจสอับและก�*ค์�นเม��อัเก$ดวังจรอั�บวั$ธี�การตรวัจสอับและก�*ค์�นเม��อัเก$ดวังจรอั�บ

Page 30: Chapter 4 :  Dead Lock

461. . ข�4นตอันการตรวัจหาวังจรอั�บอ�ลิ่กอร�ธี4ม

เร��มติ#นโปรเซ่สไม�ม�เคร��องห้มายใด ๆ ท าเคร��องห้มายบนโปรเซ่สท-กติ�ว ท��ม�ค�าของแถูวในแมติร�กซ่� A เป6น

0 ห้มด สร#างเวกเติอร� W ให้#ม�ค�าเท�าก�บเวกเติอร� V ค#นห้าติ าแห้น�งแถูวท�� I โดยท��โปรเซ่ส I จะติ#องไม�ถู,กท าเคร��องห้มาย

แลิ่#ว แลิ่ะแถูวท�� i ของ Q ม�ค�าน#อยกว�าห้ร�อเท�าก�บ W น��นค�อ Qjk Wk ,ส าห้ร�บท-กค�าของ 1 k m ถู#าไม�พิบแถูวติามท��ก าห้นดให้#ห้ย-ดการท างาน

ถู#าพิบแถูวติรงติามเง��อนไข ให้#ท าเคร��องห้มายท��โปรเซ่ส i แลิ่ะเพิ��มค�าของ W โดยการบวกเพิ��มค�าของแถูวท��ติรงก�นในแมติร�กซ่� A น��นค�อให้# Wk = Wk + Ajk

30

46 46 วั$ธี�การตรวัจสอับและก�*ค์�นเม��อัเก$ดวังจรอั�บวั$ธี�การตรวัจสอับและก�*ค์�นเม��อัเก$ดวังจรอั�บ

Page 31: Chapter 4 :  Dead Lock

461. . ข�4นตอันการตรวัจหาวังจรอั�บ

วั$ธี�การตรวัจหาวังจรอั�บ ท าเคร��องห้มายท��โปรเซ่ส P4 เพิราะว�า P4 ไม�ม�ทร�พิยากรในครอบครอง ก าห้นดให้# W = [00001] ทร�พิยากรท��โปรเซ่ส P3 ติ#องการน#อยกว�าห้ร�อเท�าก�บ W ด�งน�.นให้#ท า

เคร��องห้มายท�� P3 แลิ่ะเพิ��มค�า W = W + [00010] = [00011] ออกจากการติรวจสอบ

1 0 1 1 0

1 1 0 0 0

0 0 0 1 0

0 0 0 0 0 0 0 0 0 1

0 1 0 0 1

0 0 1 0 1

0 0 0 0 1

1 0 1 0 1

2 1 1 2 1R1 R2 R3 R4 R5

P1

P3P4

P2

P1

P3P4

P2

R1 R2 R3 R4 R5 R1 R2 R3 R4 R5

R1 R2 R3 R4 R5

V

R

แมติร�กซ่� (Q ) ท��ร #องขอ แมติร�กซ่� (A ) การครอบครองทร�พิยากร เวกเติอร�ทร�พิยากรท��เห้ลิ่�อ

เวกเติอร�ทร�พิยากร

31

46 46 วั$ธี�การตรวัจสอับและก�*ค์�นเม��อัเก$ดวังจรอั�บวั$ธี�การตรวัจสอับและก�*ค์�นเม��อัเก$ดวังจรอั�บ

Page 32: Chapter 4 :  Dead Lock

วั$ธี�ที่��สามารถุน2าไปใช้*ในการก�*ค์�นระบบ 1.ยกเลิ่�กการท างานของแติ�ลิ่ะโปรเซ่สท��เก�ดวงจรอ�บ เลิ่�อกโปรเซ่สท��ได#ใช#เวลิ่าของติ�วประมวลิ่ผลิ่ไปแลิ่#วน#อยท��ส-ด เลิ่�อกโปรเซ่สท��ได#ให้#ผลิ่ลิ่�พิธี� ห้ร�อเอาติ�พิ-ติออกมาแลิ่#วน#อยท��ส-ด เลิ่�อกโปรเซ่สท��ได#ครอบครองทร�พิยากรไปแลิ่#วน#อยท��ส-ด เลิ่�อกโปรเซ่สท��ม�ลิ่ าด�บความส าค�ญ ห้ร�อ priority น#อยท��ส-ด เลิ่�อกโปรเซ่สท��ย�งติ#องการเวลิ่าในการท างานมากท��ส-ด 2 . ท าการแทรกห้ร�อเร�ยกทร�พิยากรค�นจากโปรเซ่สท�ลิ่ะติ�วจนกว�าวงจรอ�บจะห้ายไป

3. ยกเลิ่�กการท างานของท-กโปรเซ่สท��เก�ดวงจรอ�บ 4. ท าการส ารองข#อม,ลิ่ของท-กโปรเซ่สท��เก�ดวงจรอ�บไปย�งจ-ดท��ท าการ

ติรวจสอบก�อนห้น#าน�.

32

462. . ข�4นตอันการก�*ค์�นระบบ

46 46 วั$ธี�การตรวัจสอับและก�*ค์�นเม��อัเก$ดวังจรอั�บวั$ธี�การตรวัจสอับและก�*ค์�นเม��อัเก$ดวังจรอั�บ

Page 33: Chapter 4 :  Dead Lock

33

แบบฝึ6กห�ดที่*ายบที่ที่�� แบบฝึ6กห�ดที่*ายบที่ที่�� 44