SlideShare a Scribd company logo
1 of 23
Vấ n đề tắ c nghẽ n
Deadlock




Cả 5 triết gia   Mỗi người chỉ
cùng đồng lọat   lấy được đúng
muốn ăn          1 chiếc nĩa




PTIT, 2012
Deadlock




PTIT, 2012
Deadlock trong tổ chứ c tiế n trình
   Mỗi tiến trình trong nhóm đều chờ được cấp
    phát một tài nguyên.
   Tài nguyên đang tranh chấp bị một tiến trình
    khác cũng ở trạng thái blocked chiếm giữ.
   Không có tiến trình nào có thể tiếp tục xử lý để
    giải phóng tài nguyên.
   Tất cả các tiến trình trong nhóm đều bị khóa
    vĩnh viễn !



PTIT, 2012
Đ iề u kiệ n củ a tắ c nghẽ n
1.      Truy xuất lọai trừ (mutual exclusion): một
        tiến trình duy nhất được truy xuất
2.      Chiếm giữ và yêu cầu thêm (Hold and
        wait)
3.      Tiến trình chiếm giữ tài nguyên theo chế
        độ độc quyền (No preemption)
4.      Tồn tại chu kỳ (Circulation wait)


PTIT, 2012
Đồ thị cấ p phát tài nguyên

                    P đang chiếm R



 P: Tiến trình
 R: Tài nguyên

                 P đang yêu cầu R




PTIT, 2012
Đồ thị cấ p phát tài nguyên




PTIT, 2012
Đồ thị cấ p phát tài nguyên




   Có xảy ra
   deadlock
   không?




PTIT, 2012
Đồ thị cấ p phát tài nguyên

      Có xảy ra
      deadlock
      không?



   Kết luận???



PTIT, 2012
Giả i quyế t vấ n đề tắ t nghẽ n
   Ngăn chặn (Prevention):
            Lọai bỏ 4 điều kiện của tắc nghẽn
   Xử lý (Detection and recovery)
       Chấp     nhận cho tắc nghẽn xảy ra, thực hiện
          các thủ tục để phát hiện tắc nghẽn, nếu có thì
          xử lý.
   Không quan tâm (Ignore)



PTIT, 2012
Ngă n chặ n tắ c nghẽ n
   Loại bỏ các điều kiện tắc nghẽn
       Mutual Exclusion
       Hold and Wait
       No Preemption
       Circular Wait




PTIT, 2012
Trạ ng thái an toàn củ a hệ thố ng


 Trạng thái
 an toàn
 (safe state):
 hệ thống có
 thể cấp phát
 tài nguyên
 cho các tiến
 trình mà
 không bị tắc
 nghẽn.


PTIT, 2012
Trạ ng thái an toàn củ a hệ thố ng

   Chuỗi tiến trình <P1, P2, …, Pn> là an toàn
    đối với từng tiến trình Pi nếu các tài
    nguyên mà Pi cần sẽ được đáp ứng bởi
    các tài nguyên đang có cùng với các tài
    nguyên đang chiếm dụng bởi các tiến
    trình Pj, với j<i.




PTIT, 2012
Xác đị nh trạ ng thái an toàn
 Available [r]: Số tài nguyên sẵn sàng ứng
  với từng loại tài nguyên r.
 Max[p,r]: Nhu cầu tài nguyên của tiến trình
  p đối với tài nguyên r.
 Allocation [p,r]: số tài nguyên loại r đã cấp
  cho tiến trình p;
 Need [p,r]: số tài nguyên loại r mà tiến
  trình p cần sử dụng.
 Finish [p]: tiến trình p đã thực hiện xong


PTIT, 2012
Xác đị nh trạ ng thái an toàn
   B1: Tìm tiến trình i thỏa:
       Finish[i]= false;
       Need[i,j] <= Available[j];
       Nếu không tồn tại qua bước 3.
   B2: Cấp phát tài nguyên cho tiến trình i
       Allocation[i,j]   = Allocation[i,j] + Need[i,j];
       Need[i,j] = 0;
       Available[j] = Available[j] – Need[i,j];
       Finish[i] = true;
       Thu hồi các tài nguyên đã cấp cho Pi và quay lại B1
   B3: Nếu Finish[i] = true với mọi i thì hệ thống an
    toàn.

PTIT, 2012
Thuậ t toán Banker

   Nguyên tắc: Khi tiến trình yêu cầu tài
    nguyên, hệ thống cấp phát “thử”, sau đó
    xác định xem hệ thống có an toàn không.
    Nếu an toàn thì cấp phát “thật”, ngược lại
    thì không cấp phát




PTIT, 2012
Thuậ t toán Banker
   Tiến trình Pi yêu cầu k tài nguyên loại r.
       B1:  Nếu k <= Need[i,r] thì qua B2, ngược lại
        thì báo lỗi.
       B2: Nếu k <= Available[r] thì qua B3, ngược
        lại Pi phải chờ.
       B3:Thử cấp phát tài nguyên cho Pi:
              Available[r] = Available[r] – k;
              Allocation[i,r] = Allocation[i,r] + k;

              Need[i,r] = Need[i,r] – k;

       B4:      Kiểm tra trạng thái an toàn của hệ thống

PTIT, 2012
Ví dụ 1

                Max       Allocation    Available
             R1 R2 R3    R1 R2 R3      R1 R2 R3
      P1     3   2   2   1   0    0     4   1   2
      P2     6   1   3   2   1    1
      P3     3   1   4   2   1    1
      P4     4   2   2   0   0    2



 Nếu tiến trình P2 yêu cầu 4 cho R1, 1 cho R3. Hãy cho
 biết yêu cầu này có thể đáp ứng mà bảo đảm không xảy
 ra tình trạng deadlock hay không ?
PTIT, 2012
Ví dụ 1

               Need      Allocation    Available
             R1 R2 R3   R1 R2 R3      R1 R2 R3
     P1                 1   0   0     4   1   2
     P2                 2   1   1
     P3                 2   1   1
     P4                 0   0   2


   Xác định nhu cầu tài nguyên còn lại của từng
   tiến trình trong bảng Need

PTIT, 2012
Ví dụ 1

                  Need       Allocation    Available
                R1 R2 R3    R1 R2 R3      R1 R2 R3
      P1                                  4     1   2
      P2
      P3
      P4

             Thử cấp tài nguyên theo          Kiểm tra
             yêu cầu của P2 và cập nhật       trạng thái an
              trạng thái hệ thống             toàn

PTIT, 2012
Ví dụ 2

   5 tiến trình (P0 - P4).
   3 loại tài nguyên: A (10), B (5), C (7).
   Tại thời điểm T0:
               Allocation Max          Available
               ABC          ABC        ABC
         P0 0 1 0           753        332
         P1 2 0 0           322
         P2 3 0 2           902
         P3 2 1 1           222
         P4 0 0 2           433
PTIT, 2012
Ví dụ 2
   Xét tình huống
              Need
              ABC
        P0 7 4 3
             P1   122
             P2   600
             P3   011
             P4   431
   Chuỗi truy xuất < P1, P3, P4, P2, P0> có an toàn?
PTIT, 2012
Ví dụ 2
   Request ≤ Available : (1,0,2) ≤ (3,3,2)
               Allocation     Need           Available
               ABC            ABC            ABC
       P0      010            743            230
       P1      302            020
       P2      301            600
       P3      211            011
       P4      002            431
   Chuỗi truy xuất <P1, P3, P4, P0, P2> có an toàn không?
   Nếu P4 yêu cầu tài nguyên (3,3,0) thì có được đáp ứng
    không?
   Nếu P0 yêu cầu tài nguyên (0,2,0) thì có được đáp ứng
    không?
PTIT, 2012

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Os 4 - deadlock

  • 1. Vấ n đề tắ c nghẽ n
  • 2. Deadlock Cả 5 triết gia Mỗi người chỉ cùng đồng lọat lấy được đúng muốn ăn 1 chiếc nĩa PTIT, 2012
  • 4. Deadlock trong tổ chứ c tiế n trình  Mỗi tiến trình trong nhóm đều chờ được cấp phát một tài nguyên.  Tài nguyên đang tranh chấp bị một tiến trình khác cũng ở trạng thái blocked chiếm giữ.  Không có tiến trình nào có thể tiếp tục xử lý để giải phóng tài nguyên.  Tất cả các tiến trình trong nhóm đều bị khóa vĩnh viễn ! PTIT, 2012
  • 5. Đ iề u kiệ n củ a tắ c nghẽ n 1. Truy xuất lọai trừ (mutual exclusion): một tiến trình duy nhất được truy xuất 2. Chiếm giữ và yêu cầu thêm (Hold and wait) 3. Tiến trình chiếm giữ tài nguyên theo chế độ độc quyền (No preemption) 4. Tồn tại chu kỳ (Circulation wait) PTIT, 2012
  • 6. Đồ thị cấ p phát tài nguyên P đang chiếm R P: Tiến trình R: Tài nguyên P đang yêu cầu R PTIT, 2012
  • 7. Đồ thị cấ p phát tài nguyên PTIT, 2012
  • 8. Đồ thị cấ p phát tài nguyên Có xảy ra deadlock không? PTIT, 2012
  • 9. Đồ thị cấ p phát tài nguyên Có xảy ra deadlock không? Kết luận??? PTIT, 2012
  • 10. Giả i quyế t vấ n đề tắ t nghẽ n  Ngăn chặn (Prevention):  Lọai bỏ 4 điều kiện của tắc nghẽn  Xử lý (Detection and recovery)  Chấp nhận cho tắc nghẽn xảy ra, thực hiện các thủ tục để phát hiện tắc nghẽn, nếu có thì xử lý.  Không quan tâm (Ignore) PTIT, 2012
  • 11. Ngă n chặ n tắ c nghẽ n  Loại bỏ các điều kiện tắc nghẽn  Mutual Exclusion  Hold and Wait  No Preemption  Circular Wait PTIT, 2012
  • 12. Trạ ng thái an toàn củ a hệ thố ng Trạng thái an toàn (safe state): hệ thống có thể cấp phát tài nguyên cho các tiến trình mà không bị tắc nghẽn. PTIT, 2012
  • 13. Trạ ng thái an toàn củ a hệ thố ng  Chuỗi tiến trình <P1, P2, …, Pn> là an toàn đối với từng tiến trình Pi nếu các tài nguyên mà Pi cần sẽ được đáp ứng bởi các tài nguyên đang có cùng với các tài nguyên đang chiếm dụng bởi các tiến trình Pj, với j<i. PTIT, 2012
  • 14. Xác đị nh trạ ng thái an toàn  Available [r]: Số tài nguyên sẵn sàng ứng với từng loại tài nguyên r.  Max[p,r]: Nhu cầu tài nguyên của tiến trình p đối với tài nguyên r.  Allocation [p,r]: số tài nguyên loại r đã cấp cho tiến trình p;  Need [p,r]: số tài nguyên loại r mà tiến trình p cần sử dụng.  Finish [p]: tiến trình p đã thực hiện xong PTIT, 2012
  • 15. Xác đị nh trạ ng thái an toàn  B1: Tìm tiến trình i thỏa:  Finish[i]= false;  Need[i,j] <= Available[j];  Nếu không tồn tại qua bước 3.  B2: Cấp phát tài nguyên cho tiến trình i  Allocation[i,j] = Allocation[i,j] + Need[i,j];  Need[i,j] = 0;  Available[j] = Available[j] – Need[i,j];  Finish[i] = true;  Thu hồi các tài nguyên đã cấp cho Pi và quay lại B1  B3: Nếu Finish[i] = true với mọi i thì hệ thống an toàn. PTIT, 2012
  • 16. Thuậ t toán Banker  Nguyên tắc: Khi tiến trình yêu cầu tài nguyên, hệ thống cấp phát “thử”, sau đó xác định xem hệ thống có an toàn không. Nếu an toàn thì cấp phát “thật”, ngược lại thì không cấp phát PTIT, 2012
  • 17. Thuậ t toán Banker  Tiến trình Pi yêu cầu k tài nguyên loại r.  B1: Nếu k <= Need[i,r] thì qua B2, ngược lại thì báo lỗi.  B2: Nếu k <= Available[r] thì qua B3, ngược lại Pi phải chờ.  B3:Thử cấp phát tài nguyên cho Pi:  Available[r] = Available[r] – k;  Allocation[i,r] = Allocation[i,r] + k;  Need[i,r] = Need[i,r] – k;  B4: Kiểm tra trạng thái an toàn của hệ thống PTIT, 2012
  • 18. Ví dụ 1 Max Allocation Available R1 R2 R3 R1 R2 R3 R1 R2 R3 P1 3 2 2 1 0 0 4 1 2 P2 6 1 3 2 1 1 P3 3 1 4 2 1 1 P4 4 2 2 0 0 2 Nếu tiến trình P2 yêu cầu 4 cho R1, 1 cho R3. Hãy cho biết yêu cầu này có thể đáp ứng mà bảo đảm không xảy ra tình trạng deadlock hay không ? PTIT, 2012
  • 19. Ví dụ 1 Need Allocation Available R1 R2 R3 R1 R2 R3 R1 R2 R3 P1 1 0 0 4 1 2 P2 2 1 1 P3 2 1 1 P4 0 0 2 Xác định nhu cầu tài nguyên còn lại của từng tiến trình trong bảng Need PTIT, 2012
  • 20. Ví dụ 1 Need Allocation Available R1 R2 R3 R1 R2 R3 R1 R2 R3 P1 4 1 2 P2 P3 P4 Thử cấp tài nguyên theo Kiểm tra yêu cầu của P2 và cập nhật trạng thái an trạng thái hệ thống toàn PTIT, 2012
  • 21. Ví dụ 2  5 tiến trình (P0 - P4).  3 loại tài nguyên: A (10), B (5), C (7).  Tại thời điểm T0: Allocation Max Available ABC ABC ABC P0 0 1 0 753 332 P1 2 0 0 322 P2 3 0 2 902 P3 2 1 1 222 P4 0 0 2 433 PTIT, 2012
  • 22. Ví dụ 2  Xét tình huống Need ABC P0 7 4 3 P1 122 P2 600 P3 011 P4 431  Chuỗi truy xuất < P1, P3, P4, P2, P0> có an toàn? PTIT, 2012
  • 23. Ví dụ 2  Request ≤ Available : (1,0,2) ≤ (3,3,2) Allocation Need Available ABC ABC ABC P0 010 743 230 P1 302 020 P2 301 600 P3 211 011 P4 002 431  Chuỗi truy xuất <P1, P3, P4, P0, P2> có an toàn không?  Nếu P4 yêu cầu tài nguyên (3,3,0) thì có được đáp ứng không?  Nếu P0 yêu cầu tài nguyên (0,2,0) thì có được đáp ứng không? PTIT, 2012