Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin, đặc biệt là các thiết bị, mạng viễn thông và máy vi tính…chỉ cần kết nối là con người có thể giao tiếp và chia sẻ tài nguyên
Trang 1MỤC LỤC
LỜI MỞ ĐẦU 2
CHƯƠNG I 3
CÁC KHÁI NIỆM VỀ HỆ TIN HỌC PHÂN TÁN 3
I.Hệ tin học 3
II.Hệ tin học phân tán 3
1.Đặc điểm cơ bản của hệ tin học phân tán 4
2.Các vấn đề điều hành mạng máy tính 5
3.Các đặc trưng của hệ phân tán 5
CHƯƠNG II 8
MỘT SỐ KHÁI NIỆM LIÊN QUAN ĐẾN CHIẾN LƯỢC CUNG CẤP TÀI NGUYÊN TRONG HỆ PHÂN TÁN 8
I.Một số khái niệm 8
1.Tài nguyên 8
2.Giao dịch, thông điệp yêu cầu, và bộ cung cấp 8
3.Thuật ngữ tải 9
4.Bế tắc và vấn đề thiếu tài nguyên vĩnh viễn 10
II.Các chiến lược cung cấp tài nguyên 11
1.Cung cấp tài nguyên duy nhất 11
2.Cung cấp một tập hợp các tài nguyên Vấn đề bế tắc 13
CHƯƠNG III 19
VẤN ĐỀ ĐẢM BẢO LIÊN LẠC GIỮA CÁC 19
TIẾN TRÌNH TRONG HỆ PHÂN TÁN 19
I.Đồng bộ hóa giữa các thực thể trao đổi 19
II.Bản chất các thông điệp 20
III.Lai lịch của đối tác (tiến trình) 20
IV.Khả năng có lỗi trong quá trình liên lạc 24
V.Trường hợp trao đổi giữa hai tiến trình 25
1.Chơ chế 1 25
2.Cơ chế 2 25
VI.Trường hợp trao đổi giữa n tiến trình (n>2) 26
TÀI LIỆU THAM KHẢO 29
Trang 2Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin, đặc biệt là các thiết
bị, mạng viễn thông và máy vi tính…chỉ cần kết nối là con người có thể giao tiếp và chia sẻ tài nguyên thông tin, chia sẻ dữ liệu cho dù khoảng cách giữa họ là xa hay gần.Nhờ những thành quả của ngành công nghệ thông tin và viễn thông mà nhiều thành tựu mới đã ra đời, trong đó có sự ra đời của những phần mềm ứng dụng Hệ thống tin học phân tán (Hệ phân tán): Phần mềm khai thác tài nguyên thông tin, khai thác chia
sẽ dữ liệu, thương mại điện tử (e-commerce)…
Nội dung của tiểu luận tập trung trình bày Vấn đề liên quan đến chiến lược cung cấp tài nguyên và liên lạc gắn bó giữa các tiến trình, bao gồm các phần chính:
- Một số khái niệm về hệ tin học phân tán
- Một số khái niệm liên quan đến chiến lược cung cấp tài nguyên trong hệ phân tán
- Ngoài ra còn có phần bài tập là đảm bảo việc liên lạc gắn bó giữa các tiến trình.Nhân đây, tôi xin chân thành cảm ơn PGS.TS Lê Văn Sơn và các bạn lớp Khoa học máy tính khoá 2008 – 2011 - Đại học Đà Nẵng đã giúp tôi hoàn thành báo cáo tiểu luận này
Trong tiểu luận không thể tránh khỏi những thiếu sót về mặt nội dung lẫn hình thức, em rất mong nhận được sự góp ý, đánh giá của Thầy và các anh, chị học viên nhằm giúp cho em có một cái nhìn hoàn thiện hơn và bổ sung thêm những kiến thức
về Hệ phân tán
Học viên thực hiện
Văn Đỗ Cẩm Vân
Trang 3Các khái niệm về hệ tin học phân tán
CHƯƠNG I CÁC KHÁI NIỆM VỀ HỆ TIN HỌC PHÂN TÁN
I Hệ tin học
Hệ tin học có thể bao gồm các thành phần cơ bản như phần cứng, hệ điều hành, các chương trình ứng dụng và người sử dụng,…
Các thiết bị phần cứng bao gồm bộ xử lý trung tâm, bộ nhớ và các thiết bị ngoại vi
và đóng vai trò là một trong hai loại tài nguyên của hệ thống tin học
Các chương trình ứng dụng là thành phần tiếp theo sau hệ điều hành được hiểu như
là các phần mềm cơ sở phục vụ cho việc triển khai các ứng dụng cụ thể
Người sử dụng là một đối tượng phải được hiểu theo nghĩa rộng, dưới góc độ hệ điều hành NSD có thể là cách nhà chuyên môn, các máy tính, các hệ tự động vân hành gắn với máy tính,… đang khai thác hệ thống qua các lệnh điều khiển theo một thuật toán nào đó nhằm đạt được mục tiêu xác định từ trước
Như vậy xét về mặt quản lý – điều hành các hoạt động của hệ thống thì các thực thể vừa nêu trên bao gồm phần cứng, phần mềm, và dữ liệu là những đối tượng mà hệ điều hành phải quan tâm Những đối tượng này chính là thực thể cơ bản của hệ tin học
Hình 1 Ba thực thể của hệ tin học.
II Hệ tin học phân tán
Hệ tin học phân tán là hệ thống không chia sẻ bộ nhớ và đồng hồ Điều đó cho phép phân biệt với một xu hướng tin học khác về phân tán các tính toán trên nhiều bộ
xử lý hay vi xử lý của hệ thống đa bộ xử lý Như vậy, hệ tin học phân tán đòi hỏi hệ thống phần cứng phải trang bị bộ nhớ cục bộ Các bộ xử lý trao đổi với nhau thông qua
Phầ
n cứng
Phầ
n mềm
Dữ liệu
Trang 4câc hệ thống đường truyền khâc nhau như lă câp chuyín dụng, bus trao đổi, đường điện thoại, đường câp quang, mạng điện chiếu sâng cao vă hạ thế, …
1 Đặc điểm cơ bản của hệ tin học phđn tân
Căn cứ văo thănh phần của hệ tin học, hệ tin học phđn tân có thể bao gồm bốn thực thể sau:
Hình 2 Bốn thực thể của hệ tin học phđn tân.
Để xđy dựng một hệ tin học phđn tân, cần phải quan tđm đến 4 vấn đề sau:
1 Chia sẻ tài nguyín
Một tií́n trình trín một trạm nào đó có thí̉ yíu cđ̀u được cung cđ́p tài nguyín dùng chung ở một trạm khác
Các thực thí̉ của hị́ thống có thí̉ trao đổi, liín lạc với nhau khi hị́ thống đã được mắt nối với nhau
Một trạm của hị́ bị sự cố thì không làm ảnh hưởng cho toàn hị́, ngược lại, công viị́c của trạm đó được phđn cho các trạm khác thực hiị́n Ngoài ra, trạm bị sự cố có khả năng phục hồi lại trạng thái trước khi bị sự cố hay trạng thái ban đđ̀u của nó
4 Tăng tốc Đđy là khái niị́m mới ví̀ phđn tán tải Một tính
toán nào đó, ní́u chỉ sử dụng một trạm, thì thời gian trả kí́t quả sẽ rđ́t lớn Tính toán này được chia nhỏ và thực hiị́n song song trín các trạm
Các hệ thống phần mềm
Hệ thống dữ liệu
Tập hợp phần c ứ n g
Hệ thống truyền thông
Trang 5Các khái niệm về hệ tin học phân tán
Điều này cũng rất cần thiết đối với những trạm bị quá tải
Mộ trong những tư tưởng lớn của hệ tin học phân tán là phân tán hóa các quá trình xử
lý thông tin và thực hiện các công việc đó trên các trạm xa nhau Đó là những cơ sở căn bản cho việc xây dựng các ứng dụng lớn như thương mại điện tử, giáo dục điện tử, chính phủ điện tử, thư viện điện tử số và bệnh viện ảo
2 Các vấn đề điều hành mạng máy tính
a Liên lạc: là thuật ngữ được sử dụng để chi các tác vụ trao đổi
thông tin giữa các thực thể thuộc hệ thống, trong đó thực thể gửi gọi là trạm phát Trạm phát sẽ phát thông tin cho một hay nhiều thực thể nhận, gọi là trạm nhận Thông tin trong quá trình gửi và nhận gọi là thông điệp
b Vấn đề trỏ thông tin: Trường hợp NSD mạng muốn liên lạc với
nhau, họ phải sử dụng hệ thống tên quy ước hay còn gọi là địa chỉ mạng Các địa chỉ này tuân theo nguyên tắc xây dựng nhất định và không trùng nhau Trong mạng, một NSD nào đó có thể sử dụng bất cứ trạm nào để liên lạc với NSD mà họ muốn
c Thông điệp: Các thông điệp được chia cắt theo kiểu vật lý thông
thường được phân nhóm nhằm thỏa mãn những ràng buộc đường truyền hoặc ràng buộc về lưu trữ Những thông điệp này còn gọi là các gói thông tin với kích cỡ cố định Trước khi phát thông tin vào đường truyền, trạm phát phải chia thông tin thành các gói theo quy ước chặt chẽ Quá trình này được tiến hành tự động ở các tầng thấp
và NSD thường không thể biết
d Truyền thông: là sự trao đổi thông tin bằng hình thức thông điệp
giữa các đối tượng gửi và đối tượng nhận Trao đổi thông tin có thể thực hiện dưới dạng từng đôi một gọi là đối thoại hoặc một đối tượng gửi cho nhiều đối tượng nhận gọi là hội thảo
3 Các đặc trưng của hệ phân tán
a Trình tự và đồng bộ các tiến trình: chỉ ra các vấn đề đồng bộ có thể dẫn đến
phải thiết chế một trật tự tổng quát của các sự kiện diễn ra trong hệ cần phải xác định mối liên hệ trao đổi thông qua các thông điệp với thời hạn truyền khác nhau, những thông tin tạm thời trao đổi không có giá trị tuyệt đối và trình tự tổng quát cần phải
Trang 6được thể hiện bằng phương tiện giải thuật đảm bảo hoạt động nhịp nhàng giữa các tiến trình có liên quan với nhau.
b Cung cấp tài nguyên: cho thấy những khó khăn gặp phải trong quá trình phân
tán dữ liệu và cung cấp các tài nguyên vật lý hay logic Trong không gian phân tán, khó có thể nắm bắt được ngay lập tức trạng thái tổng quát của việc cung cấp tài nguyên và cũng khó có thể tránh được tình trạng bế tắc diễn ra Tồn tài nhiều biện pháp khác nhau cho phép khắc phục hiện tượng vừa nêu
c Các thao tác chuẩn của hệ phân tán bao gồm:
- Tiếp nhận và ghi yêu cầu chỉ dẫn
- Dịch yêu cầu để có thể tìm thông tin cần thiết Thực hiện một số việc riêng của hệ thống cục bộ như: kiểm tra quyền truy cập thông tin, lập hóa đơn dịch vụ…
- Gửi kết quả cho hệ thống đã phát yêu cầu
Hệ thống gửi yêu cầu gọi là Client, còn hệ thống tiếp nhận và giải quyết yêu cầu gọi là Server Phép toán yêu cầu chỉ dẫn gọi là phép giao dịch Hệ hoạt động theo kiểu này là tuân thủ các ý tưởng của mô hình Client/Server
Trong mô hình này việc bảo đảm tính toàn vẹn dữ liệu là một trong các yêu cầu quan trọng hàng đầu Một trong những biện pháp có thể áp dụng để giải quyết vấn đề
này là sử dụng thủ thục then_cai và mo_then_cai với các đối tượng găng Tuy nhiên
biện pháp vừa nêu không phải là duy nhất
Các biện pháp vừa nêu nhằm:
- Phát hiện xung đột
- Hủy bỏ công việc thực hiện của các chương trình tham gia xung đột
- Tái lập việc thực hiện các chương trình bị xung đột
- Đề phòng trường hợp chờ vô thời hạn
d Các đặc điểm cơ bản của tất cả các hệ thống tin học phân tán là:
Trang 7Các khái niệm về hệ tin học phân tán
- Thời hạn truyền thông tin trong hệ không giống nhau, các thông điệp có thể bị mất trong quá trình chuyển tải, các thông điệp có thể được truyền kép và hệ thống có thể rơi vào sự cố
- Một (hay nhiều) máy tính cấu thành hệ phân tán có thể bị sự cố và hoạt động của tòan hệ trở nên kém hiệu quả
Trang 8Thực hiện các tiến trình của một ứng dụng phân tán đòi hỏi phải có các đối tượng khác nhau như bộ xử lý, bộ nhớ, thiết bị ngoại vi, các tập tin… cũng như quyền được truy cập theo kiểu loại trừ tương hỗ đến các thông tin, quyền được sử dụng các hàm, thủ tục, chương trình.
Chúng ta định nghĩa tài nguyên như là một đối tượng mà trong đó các quy tắc sử dụng và chia sẻ được kết hợp với nhau Nói chính xác, đó là những vấn đề quyền truy cập loại trừ hay truy cập chia sẻ, có hạn chế người sử dụng hay không,….Trong đó, tài nguyên truy cập theo kiểu loại trừ chỉ cung cấp cho một giao dịch và tài nguyên truy cập theo kiểu chia sẻ được cung cấp cho một tập hợp bất kỳ các giao dịch Hệ tin học phân tán thực hiện chức năng cơ bản nhất là đảm bảo cung cấp cho người sử dụng khả năng truy cập có kết quả đến các loại tài nguyên vốn có và rất đa dạng của hệ thống như là những tài nguyên dùng chung, nó mang đến cho người sử dụng những tiện ích và đem lại cho hệ những hiệu năng tốt trong khai thác ứng dụng
Chia sẻ tài nguyên có thể hiểu là chia sẻ dữ liệu, chia sẻ máy in, chia sẻ các tập tin, chia sẻ tài liệu, hay chia sẻ những đối tượng nào đó,…
2 Giao dịch, thông điệp yêu cầu, và bộ cung cấp
Trong hệ phân tán, thông thường người ta hay sử dụng khái niệm giao dịch như là thực thể sử dụng, ví dụ người sử dụng các tài nguyên
Trang 9Các chiến lược cung cấp tài nguyên trong hệ phân tán
Giao dịch là phép toán hợp thành một logic hòan chỉnh mà việc triển khai nó có thể dẫn đến việc thực hiện một tiến trình duy nhất hay nhiều tiến trình được định vị trên các trạm khác nhau
Một tiến trình nào đó cần sử dụng tài nguyên để phát triển công việc của mình theo yêu cầu bộ cung cấp một cách hợp thức bằng cách gửi thông điệp yêu cầu Như vậy, một tiến trình có nhu cầu tài nguyên sẽ bị treo chừng nào tài nguyên đó chưa được giải phóng hay chưa được cung cấp cho nó
Bộ cung cấp có thể áp dụng nhiều kiểu cung cấp khác nhau như tiến trình duy nhất, tập hợp các tiến trình, tập hợp các thủ tục… Các thông điệp yêu cầu sử dụng tài nguyên cũng có thể có các dạng khác nhau như gọi thủ tục, thông báo, thực hiện các lệnh đặc biệt,…
3 Thuật ngữ tải
Thuật ngữ tải là tập hợp các yêu cầu phục tùng các quy tắc của một bộ cung cấp.Các tham số đặc trưng cho tải là:
1 Số lượng các yêu cầu được cung cấp tài nguyên
2 Bản chất của các yêu cầu
3 Phân tán theo thời gian các yêu cầu tạo ra nó
Một yêu cầu được thỏa mãn bởi bộ cung cấp tài nguyên cho tiến trình đề nghị với điều kiện là yêu cầu đó phải tuân thủ các quy tắc nhất định
Có hai điều kiện làm cho tiến trình mất khả năng sử dụng tài nguyên đã được cung cấp trước đó Đó là:
STT Tên gọi Điều kiện
1 Giải phóng Tiến trình phát tín hiệu ngừng sử dụng tài nguyên
2 Thu hồi Sự lấy lại tài nguyên đã được cung cấp cho tiến trình
Bộ cung cấp tài nguyên sẽ tiến hành công việc này
Trang 10Trong hệ, hoạt động của một tập hợp các tiến trình trên một tập hợp các tài nguyên dùng chung được xem là tuyệt vời, nếu không để xay ra bế tắc và thiếu thốn tài nguyên vĩnh viễn.
4 Bế tắc và vấn đề thiếu tài nguyên vĩnh viễn
Bế tắc hay còn gọi là khóa tương hỗ là sự kẹt chéo lẫn nhau có tính chất sống còn của các tiến trình Bế tắc diễn ra khi hai tiến trình đang sử dụng hai tài nguyên lại phát yêu cầu về nhu cầu sử dụng tài nguyên mà tiến trình kia còn đang sử dụng
Hình vẽ sau cho phép hình dung vấn đề một cách rõ ràng hơn Theo hình vẽ có bốn tài nguyên T1, T2, T3, T4 và có ba tiến trình Tr1, Tr2, Tr3 và cả ba tiến trình này đang ở trong tình trạng bế tắc Tiến trình Tr2 đang chờ tài nguyên T3 do Tr3 đang chiếm giữ Tiến trình Tr3 chờ tài nguyên T2 được giải phóng bởi Tr1 và Tr2 Thêm vào đó, tiến trình Tr1 chờ tiến trình Tr2 giải phóng T1
Hình 3 Đồ thị cung cấp tài nguyên bị bế tắc.
Lúc này, có hai chu trình kín trong đồ thị:
Tr1- T1 – Tr2 – T3 – Tr3 – T2 – Tr1 và Tr3 – T2 – Tr2 – T3 – Tr3
Thiếu tài nguyên vĩnh viễn là sự chờ đợi bất tận của một tiến trình mà yêu cầu của
nó trễ đến mức không thể xác định được Để tránh hiện tượng này, bộ cung cấp tài
nguyên cần phải bảo đảm chức năng điều khiển Bộ cung cấp cần phải phân phối các
tài nguyên trên cơ sở tuân thủ các quy tắc sử dụng, tránh xảy ra bế tắc và thiếu vô hạn,
T3 T1
T2
T4 Tr2
Trang 11Các chiến lược cung cấp tài nguyên trong hệ phân tán
phân bố tải tương đối đồng đều giữa các tài nguyên cùng loại và giới hạn nhu cầu nhằm duy trì hệ thống hoạt động đạt mức hiệu quả nhất định
II Các chiến lược cung cấp tài nguyên
Một chiến lược cung cấp tài nguyên tồi cũng có thể là nguồn gốc hủy hoại hiệu năng hoạt động của hệ do các hiện tượng "sốc", làm tăng các yêu cầu mà không được đáp ứng của một số tài nguyên (ví dụ như sự sụp đổ của hệ đa chương trình) Để tránh hiện tượng đó, bộ cung cấp tài nguyên cần phải bảo đảm chức năng điều khiển
Cung cấp tài nguyên cho chúng ta thấy những khó khăn gặp phải trong quá trình phân tán dữ liệu và cung cấp các tài nguyên vật lý và logic Trong không gian phân tán, ta khó có thể nắm bắt ngay lập tức trạng thái tổng quát của việc cung cấp tài nguyên và khó có thể tránh được tình trạng bế tắc xảy ra Tồn tại nhiều biện pháp khác nhau cho phép khắc phục hiện tượng vừa nêu Bộ cung cấp cần phải phân phối các tài nguyên trên cơ sở tuân thủ các quy tắc sử dụng, tránh xảy ra các bế tắc và thiếu thốn
vô hạn, phân bố tải tương đối đồng đều giữa các tài nguyên cùng loại và giới hạn nhu cầu nhằm duy trì hệ thống hoạt động để dạt hiệu quả cao nhất
1 Cung cấp tài nguyên duy nhất
Vấn đề cung cấp tài nguyên duy nhất trên một trạm trong hệ phân tán liên quan đến việc phân phối tài nguyên này cho một tập hợp các tiến trình trên cơ sở quy tắc : truy cập loại trừ hay chia sẻ, có hệ số ưu tiên, không được mất… Các tiến trình có thể đề nghị sử dụng tài nguyên ngay tại trạm có tài nguyên mà cũng có thể ở các trạm khác từ xa
Việc quản lý các truy cập đến một tài nguyên duy nhất có thể được thực hiện theo hai cách :
1 Truy cập bằng một tiến trình duy nhất
2 Truy cập bằng các tiến trình tương tranh
a Truy cập bởi Server duy nhất
Trang 12Một tiến trình duy nhất hay còn gọi là server được giao nhiệm vụ quản lý tài nguyên Nó xử lý tất cả các yêu cầu truy cập từ các tiến trình và các client Sự loại trừ truy cập được bảo đảm bởi tính duy nhất của server Server đồng thời cũng là chương
trình đánh thức
Chương trình có thể viết như sau:
Do vậy, sơ đồ này loại bỏ tất cả các đặc tính song song để truy cập vào tài nguyên Tiến trình Server có thể được lập trình để triển khai toàn bộ chiến lược liên quan đến loại trừ tương hỗ của các yêu cầu (độ ưu tiên, quyền truy cập tài nguyên)
Ví dụ: Server quản lý các tập tin hoạt động dựa vào nguyên lý trên trong môi
trường phân tán của Swinchart
Hình 4 Đồ thị truyu cập vào tài nguyên bằng Server duy nhất
b Truy cập tương tranh có điều khiển
Trong trường hợp này, tài nguyên được truy cập bởi nhiều server, thông thường, có
số lượng không cố định Các server này thực hiện các truy cập tương ứng với các yêu càu dưới dạng thực hiện các thủ tục Việc thực hiện các thủ tục này được điều khiển bởi cơ chế đảm bảo tôn trọng các quy tắc truy cập
Các quy tắc này được khởi sự bằng hai cách bởi các tiến trình khách Hình sau cho thấy được tiến trình bằng một chương trình trực duy nhất Tiến trình đánh thức duy nhất D đứng sau hàng đợi làm nhiệm vụ phân phối yêu cầu cho các server cục bộ Các tiến trình khách không biết server
Trang 13Các chiến lược cung cấp tài nguyên trong hệ phân tán
Hình 5 Đồ thị truy cập vào tài nguyên bằng một chương trình trực duy nhất.
Trong hình dưới việc truy cập được tiến hành trực tiếp với các server Vì vậy các server đều được tiến trình khách biết trước
Hình 6 Đồ thị truy cập trực tiếp vào các server.
Việc triển khai đặc biệt đối với server có liên quan đến việc phối hợp chúng với các
điểm vào một modul quản lý tài nguyên như chương trình monitor (thường dùng trong
hệ điều hành)
2 Cung cấp một tập hợp các tài nguyên Vấn đề bế tắc
Tiến trình p đưa ra yêu cầu cung cấp tài nguyên e để thực hiện phép tóan cài then
có tính loại trừ v_loai_tru_th(e) Ngoại trừ một số trường hợp đặc biệt, tất cả các tài
nguyên đều được truy cập theo kiểu loại trừ Nếu việc cung cấp hòan tòan hợp thức thì tài nguyên này được giao cho P sử dụng Ta nói rằng tài nguyên này đã được P cài then, nếu không thì P bị treo và đương nhiên P không cài then được tài nguyên này
T: Tài nguyên Tr: Tiến trìnhSi: Server D: Đánh thức
S1
S2
Sn
TTr2
Trn
Tr1
Trang 14Trong hệ phân tán sẽ xem xét các giao dịch Ti có thể sử dụng các tài nguyên được định vị trên các trạm Mỗi một giao dịch được triển khai nhờ một tập hợp các tiến trình thể hiện là các đại diện của chúng trên các trạm khác nhau Hai tiến trình của cùng một giao dịch được định vị trên các trạm có thể thực hiện song song Nhằm thu lại tài
nguyên e trên trạm Sj, giao dịch thực hiện phép tóan V_loai_tru_th(e) thông qua đại
diện Pij của mình trên trạm này
Ngoại trừ một số trường hợp đặc biệt, việc cung cấp diễn ra không có thu hồi Một tài nguyên bị khóa bởi một tiến trình không thể rút nó về được Như vậy nó cần được giải phóng một cách tường minh bởi tiến trình này nhờ phép tóan mở then cài
mo_then(e).
Như vậy có thể xảy ra rủi ro do bế tắc, khi các tiến trình truy cập loại trừ được phân phối mà không có khả năng thu hồi các tiến trình cần phải sử dụng đồng thời nhiều tài nguyên
Ví dụ: Giả sử có hai tiến trình p và q cùng sử dụng hai tài nguyên e1 và e2, chúng
được mô tả trong đoạn chương trình sau đây:
Nếu các yêu cầu được thoả mãn theo trình tự p1, q1 thì tất yếu xảy ra vấn đề chặn nhau giữa p và q Lý do hiển nhiên là p2 và q2 không bao giờ được đáp ứng, nếu e1 và e2 không được giải phóng.
Bế tắc có thể giải quyết bằng cách dự báo và vòng tránh (gọi chung là dự phòng)
có nghĩa là tài nguyên được cung cấp theo kiểu có đề phòng trường hợp bế tắc Một phương pháp khác có liên quan đến vấn đề này là phát hiện và chữa trị có nghĩa là khi
có sự cố thì quay trở về trạng thái trước đó
Các thuật toán dự phòng, phát hiện và chữa trị đã được nghiên cứu cho trường hợp
là tất cả các tài nguyên đều được quản lý bởi bộ cung cấp duy nhất Bộ cung cấp này tiếp nhận tất cả các yêu cầu và biết rất rõ trạng thái của tất cả các tài nguyên
Tiến trình p Tiến trình q p1: v_loai_tru_th(e1) q1:v_loai_tru_th(e2)
p2: v_loai_tru_th(e2) q2:v_loai_tru_th(e1)