Trong các hệ thống tập trung, mỗi một loại tài nguyên của hệ được quản lý bởimột chương trình cung cấp duy nhất, chương trình này tiếp nhận tất cả các yêu cầu,khuyến nghị giải phóng và s
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
TIỂU LUẬN MÔN HỌC
HỆ PHÂN TÁN
ĐỀ TÀI:
I Tài nguyên và chiến lược cung cấp tài nguyên
II Cho hai loại tài nguyên: tài nguyên truy cập theo kiểu loại trừ và tài nguyên truy cập theo kiểu chia sẻ Trình bày thuật toán Lomet và Menasce nhằm xử lý việc cung cấp tài nguyên của hai nhóm tài nguyên nêu trên.
Giảng viên hướng dẫn: PGS.TS Lê Văn Sơn
Học viên thực hiện: Nguyễn Nương Quỳnh Lớp: Khoa học Máy tính - K24 Quảng Bình
Quảng Bình, tháng 12 năm 2012
Trang 2LỜI MỞ ĐẦU
Hệ thống tin học hiện đại ngày nay đóng một vai trò quan trọng không thểthiếu trong sự phát triển của toàn xã hội Một thành tựu nổi bật nhất trong hệ thốngcông nghệ thông tin là sự phát triển các phần mềm cơ sở nhằm trực tiếp làm tăngkhả năng điều hành, khai thác hiệu quả tất cả các tài nguyên của hệ thống thông tin
Hệ thống tin học nói chung là hệ thống bao gồm hai phần cơ bản là phần cứng
và phần mềm được gắn bó một cách hữu cơ với nhau để thực hiện có hiệu quả caonhất về xử lý thông tin Hệ tin học phân tán (hay nói gọn hệ phân tán) cũng là một
hệ thống xử lý thông tin nhưng bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các
vị trí khác nhau và được liên kết với nhau thông qua phương tiện viễn thông dưới sựđiều khiển thống nhất của một hệ điều hành Có thể xem hệ phân tán như là một tậphợp bao gồm các bộ xử lý, bộ vi xử lý với bộ nhớ và đồng hồ nhịp độc lập (tức là hệphân tán không chia sẻ bộ nhớ và đồng hồ) Do vậy, hệ tin học phân tán đòi hỏi hệthống phần cứng của máy tính phải trang bị bộ nhớ cục bộ, các bộ xử lý trao đổi vớinhau thông qua các hệ thống đường truyền khác nhau Trong hệ phân tán, hệ xử lýthông tin thành phần phải được thiết kế sao cho về cấu trúc, số lượng và dung lượng
có thể cho phép thực hiện một cách trọn vẹn các chức năng của nó
Khác nhau cơ bản của hệ tin học phân tán với hệ tin học tập trung là ngoài hệthống phần cứng, phần mềm, dữ liệu như cấu thành hệ tin học tập trung, hệ tin họcphân tán còn có hệ thống truyền thông Với sự khác nhau đó mà một số vấn đề đượcđặt ra là: Một xu hướng kỹ thuật mới ra đời - xu hướng phân tán các thành phần tạonên hệ tin học theo hướng tiếp cận nơi sử dụng và nơi sản xuất thông tin Đồng thời
để khai thác có hiệu quả cao nhất của hệ thống thông tin, vấn đề hàng đầu là cầnphải tính đến các tài nguyên nói chung, tài nguyên thông tin nói riêng và các chiếnlược khai thác, cung cấp, sử dụng tài nguyên ấy một cách tối ưu nhất
Trong các hệ thống tập trung, mỗi một loại tài nguyên của hệ được quản lý bởimột chương trình cung cấp duy nhất, chương trình này tiếp nhận tất cả các yêu cầu,khuyến nghị giải phóng và sắp xếp chúng trong một hàng đợi xử lý theo kiểu loạitrừ và xử lý chúng theo một trật tự nhất định của hàng đợi đó Còn trong hệ phântán, chương trình cung cấp được nằm trên một trạm và các tiến trình đề nghị lại ởtrên các trạm khác, các yêu cầu khuyến nghị giải phóng được truyền cho chươngtrình cung cấp thông qua hình thức thông điệp chuyển theo các kênh của hệ thốngviễn thông Hơn nữa, vì lý do ổn định và hiệu quả mà ta phải phân tán chức năngcung cấp trên nhiều trạm khác nhau Sự hoạt động gắn bó với nhau giữa các chươngtrình cung cấp là rất cần thiết để đảm bảo cho hoạt động cung cấp được hoàn toànchính xác
Trang 3Hệ tin học phân tán là hệ xử lý thông tin bao gồm nhiều bộ xử lý hay bộ vi xử
lý được phân bổ tại những vị trí khác nhau và được nối ghép vào nhau thông quacác phương tiện truyền tin và được điều khiển bởi một hệ điều hành duy nhất Vìvậy, thời hạn truyền thông tin trong hệ sẽ 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ố bất cứ lúc nào Mặt khác, một hay nhiều máy tính cấu thành của
hệ phân tán cũng có thể xảy ra sự cố và hoạt động của hệ sẽ trở nên đình trệ, kémhiệu quả Do đó, việc bảo vệ tính vẹn toàn dữ liệu, quản lý tài nguyên, cung cấp tàinguyên và sử dụng tài nguyên là vấn quan trọng hàng đầu Chiến lược cung cấp tàinguyên và các biện pháp khắc phục tình trạng bế tắc là nội dung được trình bàytrong tiểu luận này
Với một lĩnh vực kiến thức còn khá mới, đa dạng và phức tạp cho nên việcnghiên cứu của tôi còn nhiều hạn chế, rất mong được sự góp ý và định hướng củaThầy Lê Văn Sơn và các anh chị cùng lớp để tôi có thể tiếp tục nghiên cứu và đạtđược kết quả tốt hơn trong thời gian tới
Xin chân thành cảm ơn Thầy PGS.TS Lê Văn Sơn đã nhiệt tình giảng dạy vàgiúp tôi hoàn thành tiểu luận này
Trang 4MỤC LỤC
LỜI MỞ ĐẦU 1
MỤC LỤC 3
Chương 1 4
HỆ TIN HỌC PHÂN TÁN 4
1 Quá trình phát triển hệ thống tin học 4
2 Hệ tin học phân tán 5
2.1 Khái niệm hệ tin học phân tán 5
2.2 Đặc điểm cơ bản của hệ tin học phân tán 6
2.3 Các vấn đề liên quan đến mạng máy tính 7
2.4 Các đặc trưng của hệ tin học phân tán 7
Chương 2 9
TÀI NGUYÊN VÀ CHIẾN LƯỢC CUNG CẤP TÀI NGUYÊN 9
1 Một số khái niệm 9
1.1 Tài nguyên 9
1.2 Giao dịch, thông điệp yêu cầu và bộ cung cấp 9
1.3 Tải 10
1.4 Bế tắc và vấn đề thiếu tài nguyên vĩnh viễn 10
2 Các chiến lược cung cấp tài nguyên 11
2.1 Chiến lược cung cấp tài nguyên duy nhất 12
2.2 Chiến lược cung cấp một tập hợp các tài nguyên Vấn đề bế tắc 14
Chương 3 19
THUẬT TOÁN DỰ PHÒNG BẾ TẮC 19
THUẬT TOÁN PHÁT HIỆN BẾ TẮC 19
1 Thuật toán dự phòng bế tắc - Thuật toán Lomet 19
1.1 Các định nghĩa 19
1.2 Nguyên lý 21
1.3 Thuật toán 22
2 Thuật toán phát hiện bế tắc - Thuật toán Menasce 23
2.1 Các định nghĩa 23
2.2 Thuật toán 24
2.3 Minh họa 25
KẾT LUẬN 26
TÀI LIỆU THAM KHẢO 27
Trang 5Chương 1
HỆ TIN HỌC PHÂN TÁN
1 Quá trình phát triển hệ thống 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ềuhà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 baogồm bộ xử lý trung tâm, bộ nhớ, và các thiết bị ngoại vi đóng vai trò là một tronghai loại tài nguyên cơ sở của hệ thống tin học Các chương trình ứng dụng là thànhphần tiếp theo sau hệ điều hành ví dụ như các phần mềm ứng dụng
Người sử dụng có thể là các nhà chuyên môn, các máy tính, các hệ tự độngvận hành gắn với máy tính,… đang khai thác hệ thống thông qua các lệnh điềukhiển theo một thuật toán nào đó nhằm đạt được mục tiêu xác định từ trước Ở từngthời điểm, số lượng người sử dụng cho mỗi thành phần ứng dụng là khác nhau và bịgiới hạn trong khả năng kỹ thuật ghép
Chiếc máy tính đầu tiên ra đời trong những năm 50 của thế kỷ 20 là các hệthống đồ sộ, nặng nề, tiêu tốn nhiều năng lượng, hiệu quả hoạt động kém, dunglượng bé và đặc biệt là rất khó khăn trong quá trình sử dụng, vận hành nhưng chínhcác hệ thống này đã đóng góp cho nhân loại những bài học về nguyên lý mà giá trịcủa chúng vẫn còn nguyên vẹn cho đến tận hôm này và có lẽ mãi mãi về sau Đặctrưng của thời kỳ này là tỷ trọng phần mềm trong hệ thống không đáng kể so vớiphần cứng Các chương trình trợ giúp hệ thống vừa thiếu về số lượng vừa yếu vềchức năng phục vụ
Và theo thời gian, con người đã xây dựng nên các chương trình trợ giúp cótính chất hệ thống như chương trình dịch từ hợp ngữ sang ngôn ngữ máy, chượngtrình soạn thảo theo dòng,…do đó làm giảm nhẹ công việc lập chương trình
Vào cuối những năm 50, đầu những năm 60, con người đã xay dựng cácchương trình monitor thường trú cho phép liên kết hợp các công việc lại với nhau vàthực hiện một lần Việc liên kết ấy có ý nghĩa rất lớn trong tự động hoá và các hoạtđộng của hệ tin học
Năm 1960, chương trình BPS( Batch processing system) được xây dựng thànhcông nhằm vào các thiết bị phần cứng nhằm sử dụng hết hiệu năng của bộ xử lý vàbước đầu triển khai cơ chế bảo vệ
Năm 1969, hệ điều hành UNIX được xây dựng bởi ông Ken Thompson chophép người sử dụng làm việc theo kiểu chia sẽ thời gian trong hệ thống đa nhiệm.Vào những năm 70, các máy tính cá nhân ra đời với sự tiện ích cao, khả năngvượt trội, và đặc biệt là giá cả hợp lý đã nhanh chóng chinh phục mọi người và mở
ra một trang mới trong việc phát triển ngành tin học
Trang 6Tiếp theo là sự xuất hiện của hệ thống song song cho phép cải tiến các máyvốn sử dụng một bộ xử lý hay bộ vi xử lý duy nhất thành hệ thống đa bộ xử lý nhằmtăng độ tin cậy của hệ thống.
Vào những năm 80 Hệ thống mạng cục bộ Ethernet và Token Ring được phátminh là những mạng tiêu biểu cả về lý thuyết lẫn triển khai ứng dụng
Hệ tin học phân tán đòi hỏi phần cứng của mình phải trang bị bộ nhớ cục bộ,các bộ xử lý trao đổi thông qua các hệ thống đường truyền khác nhau như cápchuyên dụng, bus trao đổi, đường điện thoại, đường cáp quang, mạng điện chiếusáng cao và hạ thế.’…
Hệ thống thời gian thực với hệ điều hành tiêu biểu là hệ tự động hoá điềukhiển lò luyện thép
Vào năm 1974, xuất hiện mạng Internet toàn cầu là mạng ARPANET với giaothức NCP Tuy nhiên, khi giao thức TCP/IP được xây dựng bởi Vint Cert và RobertKahn thì khái niệm mạng của các mạng mới được hình thành Và đến năm 1990 thìmạng Internet phát triển vượt bậc với những kết quả mà chúng ta có được như ngàyhôm nay
2 Hệ tin học phân tán
2.1 Khái niệm hệ tin học phân tán
Hệ tin học phân tán hay gọi tắt là hệ phân tán là một hệ thống xử lý thông tinbao gồm nhiều bộ xử lý hoặc các bộ vi xử lý được đặt ở xa tại các vị trí khác nhau
và được liên kết với nhau thông qua các phương tiện viễn thông dưới sự thống nhấtcủa hệ điều hành
Hệ tin học phân tán là một hệ thống không chia sẽ bộ nhớ và đồng hồ Cáctính toán trong hệ tin học phân tán có thể được thực hiện trên nhiều bộ xử lý hay vi
xử lý của hệ thống đa bộ xử lý Do đó hệ thống tin học phân tán đòi hỏi hệ thốngcủa mình phải trang bị bộ nhớ cục bộ Các bộ xử lý trao đổi thông tin thông qua cácđường truyền khác nhau như cáp mạng chuyên dụng, bus trao đổi, đường điện thoại,cáp quang hoặc có thể là sóng…
Không như các máy tính đơn lẽ, mạng máy tính là tập hợp các thiết bị đầucuối được nối với nhau bởi hệ thống đường truyền, những đường truyền nối với cáctrạm rất xa nhau có thể là một mạng viễn thông Các thiết bị đầu cuối của mạng máytính rất đa dạng, bao gồm tập hợp các máy tính, các thiết bị chuyên dụng, các thiết
bị truyền tin, các thiết bị nhận và hiển thị thông tin…Hệ thống mạng máy tính đượcđiều khiển bằng hệ điều hành mạng Hệ tin học này có thể là hệ tập trung hay là hệphân tán
Trang 72.2 Đặ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, ta nhận thấy hệ tin học phân tán có thểbao gồm bốn thực thể như hình 1 bên dưới
Cấu hình phần cứng của mạng có thể bao gồm các bộ xử lý có cấu tạo hoàntoàn khác nhau về khả năng, tốc độ và được thiết kế cho các chức năng không giốngnhau Chúng có thể là các bộ xử lý, các trạm làm việc, các máy tính trung và cácmáy tính điện tử vạn năng lớn
Bên cạnh hệ thống phần cứng, phần mềm, dữ liệu, hệ phân tán còn có hệ thốngtruyền thông Nhưng điều cơ bản để phân biệt hệ tin học phân tán với mạng máy tính và hệđiều hành mạng chính là nguyên tắc xây dựng hệ được liệt kê như bản dưới đây:
1. Chia sẽ tàinguyê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 lớn nào đó nếu chỉ sử dụng một trạm thì thời gian cho kết quả lâu Tính toán này được chia nhỏ và thực hiện song song trên các trạm Điều này cũng cần thiết đối với các trạm quá tải
Một trong những tư tưởng lớn của hệ phân tán là phân tán hoá các quá trình xử
lý thông tin và thực hiện công việc đó trên các trạm xa nhau Đó là những cơ sở căn
Các hệ thống phần mềm
Hệ thống dữ liệu
Các hệ thống phần cứng
Hệ thống truyền thông
Hình 1: Bốn thực thể của hệ tin học phân tán.
Trang 8bả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ử và bệnh viện ảo.
2.3 Các vấn đề liên quan đến mạng máy tính
Liên lạc là thuật ngữ được sử dụng để chỉ các thao tác trao đổi thông tin giữacác thực thể thuộc hệ thống Trạm phát sẽ phát thông tin được gọi là thông điệp, làmột hình thức phổ biến trao đổi thông tin đến trạm nhận
Nếu người sử dụng mạng muốn liên hệ với nhau, họ phải sử dụng hệ thống tênquy ước hay còn gọi là địa chỉ mạng Các địa chỉ này phải tuân theo nguyên tắc xâydựng nhất định và không trùng nhau Trong mạng, một người sử dụng nào đó có thể
sử dụng bất cứ trạm nào để liên lạc với người sử dụng mà họ muốn liên lạc
Trong cấu trúc tập trung, ta có hệ thống máy trung tâm để cho phép lưu trữtoàn bộ thông tin, người sử dụng có thể truy cập vào đó để xử lý thông tin của mình.Giải pháp này dễ dàng triển khai và được ứng dụng rộng rãi trong thập niên 60 và70
Khi nhiều người sử dụng liên lạc với nhau trong mạng để thực hiện công việcnào đó thông qua kênh truyền hình bằng cách sử dụng giao diện của mình, giao thức
là tập hợp những quy tắc cần thiết cho các dịch vụ tầng có thể thực hiện được vàcho phép việc nhận và gửi thông tin đến tầng tương ứng
Người sử dụng có thể chia cắt thông tin truyền theo các kiểu khác nhau, song,chung quy có thể có hai kiểu là chia cắt logic và chia cắt vật lý
Chia cắt logic thường khi các thông điệp bao gồm tập hợp thông tin gắn bó vớinhau theo một logic nào đó như bản ghi, tập tin, do đó kích cỡ của thông điệpthường không phải là đại lượng cố định, để truyền các thông điệp này người ta phải
có thêm những thông tin điều khiển như giá trị số chỉ kích cỡ, tín hiệu bắt đầu vàkết thúc một thông điệp
Chia cắt vật lý thông thường được phân nhóm nhằm thoả mãn những ràngbuộc đường truyền hoặc ràng buộc về mặt lưu trữ Những thông điệp này thường lànhững gói thông tin có 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 những quy ước chặt chẽ Quá trìnhnày được tiến hành tự động ở các tầng thấp và người sử dụng không thể nhận biếtđược quá trình đó
2.4 Các đặc trưng của hệ tin học phân tán
Đối tượng nghiên cứu của môn học hệ tin học phân tán là xử lý các vấn đề đặt
ra một cách tương đối chi tiết
Các khía cạnh của hệ tin học phân tán chỉ dừng lại ở các vấn đề cơ bản có tínhchất nguyên lý
Trang 9Vấn đề lập trình và thực hiện ứng dụng phân tán mô tả các phương pháp điềukhiển thực hiện chương trình phân tán, vấn đề định danh và đặc biệt là vấn đề cấutrúc truy vấn tổng quát trong hệ.
Trình tự và đồng bộ các tiến trình chỉ ra cho ta 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ệ
Cung cấp tài nguyên cho thấy được những khó khăn đang 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 gianphân tán ta 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ấptài nguyên và cũng khó có thể tránh được tình trạng bế tắc diễn ra
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ể 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 của hệ phân tán có thể bị sự cố và hoạtđộng của toàn bộ hệ sẽ trở nên kém hiệu quả
Không có phương pháp xử lý duy nhất cho các vấn đề về độ tin cậy của hệphân tán, các phương pháp nhằm tăng độ tin cậy chủ yếu nhằm vào các vấn đềchống dư thừa, tái lập cấu hình, phát hiện sự cố,…
Trang 10Chương 2 TÀI NGUYÊN VÀ CHIẾN LƯỢC CUNG CẤP TÀI NGUYÊN
Vấn đề cung cấp tài nguyên được đánh giá như là một trong những lĩnh vực trithức rất quan trọng vì nó vận dụng thường xuyên trong quá trình triển khai nghiêncứu, khảo sát, phân tích, thiết kế và xây dựng các hệ điều hành nói chung, hệ tin họcphân tán nói riêng Trong chương này sẽ tập trung nghiên cứu vấn đề về tài nguyên
và các chiến lược cung cấp tài nguyên cho hệ phân tán
1 Một số khái niệm
1.1 Tài nguyên
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ềntruy 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àinguyê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 giaodị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 chongườ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 đadạ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 ứngdụ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ậptin, chia sẻ tài liệu, hay chia sẻ những đối tượng nào đó,…
1.2 Giao dịch, thông điệp yêu cầu và bộ cung cấp
Giao dịch là phép toán hợp thành một logic hoàn chỉnh mà việc triển khai nó
có thể dẫn đến 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 Trường hợp dẫn đến thực hiện nhiều tiến trình trên cáctrạm ở xa là đối tượng mà ta cần quan tâm nghiên cứu Khái niệm giao dịch được sửdụng như là một thực thể sử dụng (ví dụ như người sử dụng các tài nguyên)
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ìnhphải yêu cầu 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 (ta quy
ước gọi các thông điệp yêu cầu là yêu cầu) Như thế 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 đó còn chưa được giải phóng hay chưa đượccung 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 duynhấ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ụngtà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ệncác lệnh đặc biệt,…
Trang 111.3 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ộ cungcấ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 thoả 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 theo 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 đã đượccung cấp trước đó Đó là:
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
Trong hệ phân tán, hoạt động của một tập hợp các tiến trình trên một tập hợpcác tài nguyên dùng chung được xem là tuyệt vời, nếu không xảy ra bế tắc hay thiếuthốn tài nguyên vĩnh viễn
1.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à khoá 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 tài nguyên lạiphá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
Ví dụ xét đồ thị cung cấp tài nguyên như hình vẽ sau đây:
T4T3
Hình 1: Đồ thị cung cấp tài nguyên bị bế tắc
Theo đồ thị này, ta có bốn tài nguyên T1,T2, T3, T4 và có ba tiến trình nhu cầutài nguyên là Tr1, Tr2, và Tr3 Cả 3 tiến trình này đang ở tình trạng bế tắc Tiến trình
Tr2 chờ tài nguyên T2 do Tr3 đang chiếm giữ Tiến trình Tr3 chờ tài nguyên T3 đượcgiải phóng bởi Tr1 trạm Tr3 Thêm vào đó, tiến trình Tr1 chờ tiến trình Tr2 giải phóng
T1 Ta có hai chu trình kín trong đồ thị trên là:
Trang 12Thiế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ầucủa nó trễ đến mức không thể xác định được Nguyên nhân của hiện tượng vừa nêu
có nhiều, nhưng ta có thể chỉ ra ví dụ thường gặp là do sử dụng luật ưu tiên để cungcấp tài nguyên
2 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ạihiệ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ươngtrì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 gianphâ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ấptà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ệnphá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ânphố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
Ta có thể chia thành hai phương diện để nghiên cứu:
- Phương diện 1: Phân tán các yêu cầu giữa các tài nguyên tương đương có
khả năng thỏa mãn Chức năng này gọi là phân phối tải Trong hệ thống phân tán ,
nó cần phải tạo điều kiện để tránh tình hình mà ở đó các yêu cầu đợi đến lượt đượcthoã mãn trên một trạm bị đầy, trong khi đó các tài nguyên tương đương lại rỗi trêncác trạm khác
- Phương diện 2: Giới hạn số lượng các yêu cầu được phép cho một số tài
nguyên Việc đó có thể thực hiện bằng cách hạn chế (tĩnh hay động) số các tiếntrình hay số các giao dịch được chọn (trúng tuyển) sử dụng toàn bộ hay từng phầntài nguyên Ta gọi trường hợp này là điều khiển tải tổng quát
Tóm lại, 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 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ốnghoạt động đạt mức hiệu quả nhất định
Chu trình 1: Tr1-T1-Tr2-T2-Tr3-T3-Tr1
Chu trình 2: Tr3-T3-Tr2-T2-Tr3
Trang 132.1 Chiến lược 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ênquan đế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ếntrình có thể đề nghị sử dụng tài nguyên ngay tại trạm và cũng có thể ở các trạmkhá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ựchiện theo hai cách:
- Truy cập bằng một tiến trình duy nhất
- Truy cập bằng các tiến trình tương tranh
Truy cập bởi tiến trình duy nhất
Một tiến trình duy nhất hay còn gọi là server được giao nhiệm vụ quản lý tàinguyê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 khách (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ờicũng là chương trình đánh thức Chương trình như sau:
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 2: Đồ thị truy cập vào tài nguyên bằng server duy nhất
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ôngthườ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 ứngvới các yêu cầu dưới dạng gọi 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
T: Tài nguyênTr: Tiến trình (Khách)
Trang 14Hình 3: Đồ thị truy cập tài nguyên bằng một chương trình trực duy nhất
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 3
cho thấy việc truy cập được tiến hành bằng một chương trình trực duy nhất
Trong cách thứ hai, việc truy cập được tiến hành trực tiếp với các server và thể
hiện bằng hình 4 sau đây:
S1
Tr1
S2 Tr2
Sn Trn
T
KiÓm tra truy cËp
Hình 4: Truy cập trực tiếp vào các server
Trong hình 3, ta thấy một tiến trình đánh thức D duy nhất sau hàng đợi làm
nhiệm vụ phân phối các yêu cầu cho các server cục bộ Các tiến trình khách không
biết server Ngược lại trong hình 4, các máy server đều được các tiến trình khách
biết trước
Việc triển khai đặc biệt đối với các server có liên quan đến việc phối hợpchúng với các điểm của một mô-đun quản lý các tài nguyên như chương trìnhmonitor chẳng hạn
Hàng đợi các yêu cầu
T: Tài nguyên Tr: Tiến trình (Khách)Si- Server D-Đánh thức