Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
1,64 MB
Nội dung
Tiểu luận: Hệ Tin Học Phân Tán GVHD: PGS.TS. Lê Văn Sơn LỜ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ống cô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ăng khả năng điều hành, khai thác hiệu quả tất cả cáctàinguyê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ứngvà 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ả cao nhấ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ạicá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ập hợ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ới nhau 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ọc phâ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ạo nê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ần phải tính đến cáctàinguyên nói chung, tàinguyên thông tin nói riêng vàcácchiếnlược khai thác, cung cấp, sử dụng tàinguyên ấy một cách tối ưu nhất. Để xây dựng một hệ phân tán cần thể hiện được bốn khía cạnh sau: 1.Chia sẻ tài nguyên. 2.Hệ thống liên lạc. 3.Độ tin cậy. 4.Tốc độ truyền thông tin. Một 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ông việc đó trên các trạm khác nhau. Do đó hệ tin học phân tán phải bao gồm một hệ thống về cẩu trúc chặt chẽ và nó thực hiện hàng loạt các chức năng phức tạp, mà cơ bản nhất là đảm bảo cungcấp cho người sử dụng khả năng truy cập có kết quả đến các loại tàinguyên vốn có và rất đa dạng của hệ thống như là những tàinguyên dùng chung. Một tiến trình trên một trạm nào đó có thể yêu cầu được cungcấptàinguyên dùng chung ở một trạm khác. Cungcấptàinguyê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àcungcấpcáctàinguyê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 Học viên: Nguyễn Văn Phú - DĐ:0906 960 501 Trang 1 Tiểu luận: Hệ Tin Học Phân Tán GVHD: PGS.TS. Lê Văn Sơn cấptàinguyênvà khó có thể tránh được tình trạng bế tắc xảy ra. Những ưu điểm nổi bật trong việc sử dụng chung tàinguyên của hệ phân tán được thể hiện qua: 1.Tăng tốc độ bình quân trong tính toán, xử lý. 2.Cải thiện tình trạng luôn sẵn sàng của các loại tài nguyên. 3.Tăng độ an toàn cho dữ liệu. 4.Đa dạng hóa các loại hình dịch vụ tin học. 5.Đảm bảo tính vẹn toàn của thông tin. Tóm lại: Hệ 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 qua cá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ém hiệu quả. Do đó, việc bảo vệ tính vẹn toàn dữ liệu, quản lý tài nguyên, cungcấptàinguyênvà sử dụng tàinguyên là vấn quan trọng hàng đầu. Chiếnlượccungcấptàinguyênvà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ày trong tiểu luận này: Chương 1: Tàinguyênvàcácchiếnlượccungcấptài nguyên. Chương 2: Thuậttoán dự phòng bế tắc (Thuật toán Lomet) Thuậttoán phát hiện bế tắc (Thuật toán Menasce). 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ệc nghiê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ủa Thầ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 Lê Văn Sơn đã cungcấpvà định hướng để tôi có thể hoàn thành tiểu luận này! Học viên: Nguyễn Văn Phú - DĐ:0906 960 501 Trang 2 Tiểu luận: Hệ Tin Học Phân Tán GVHD: PGS.TS. Lê Văn Sơn Chương 1: TÀINGUYÊNVÀCÁCCHIẾNLƯỢCCUNGCẤPTÀINGUYÊN Trong các hệ thống tập trung, mỗi một loại tàinguyên của hệ được quản lý bởi một chương trình cungcấ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ại trừ và xử lý chúng theo một trật tự nhất định của hàng đợi đó. Còn trong hệ phân tán, chương trình cungcấ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ương trình cungcấp thông qua hình thức thông điệp chuyển theo các kênh của hệ thống viễ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ăng cungcấ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ương trình cungcấp là rất cần thiết để đảm bảo cho hoạt động cungcấp được hoàn toàn chính xác. Vấn đề cungcấptàinguyên được đánh giá như là một trong những lĩnh vực tri thức rất quan trọng vì nó vận dụng thường xuyên trong quá trình triển khai nghiên cứ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ọc phân tán nói riêng. Trong chương này sẽ tập trung nghiên cứu vấn đề về tàinguyênvàcácchiếnlượccungcấptàinguyên cho hệ phân tán. 1.1. Một số khái niệm: 1.1.1. Tài nguyên: Chúng ta định nghĩa tàinguyê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àinguyên truy cập theo kiểu loại trừ chỉ cungcấp cho một giao dịch vàtàinguyên truy cập theo kiểu chia sẻ được cungcấ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 cungcấp cho người sử dụng khả năng truy cập có kết quả đến các loại tàinguyên vốn có và rất đa dạng của hệ thống như là những tàinguyê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àinguyê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 đó,… 1.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 lô gích 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ác trạ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áctài nguyên). Học viên: Nguyễn Văn Phú - DĐ:0906 960 501 Trang 3 Tiểu luận: Hệ Tin Học Phân Tán GVHD: PGS.TS. Lê Văn Sơn Một tiến trình nào đó cần sử dụng tàinguyên để phát triển công việc của mình phải yêu cầu cungcấ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àinguyên sẽ bị treo chừng nào tàinguyên đó còn chưa được giải phóng hay chưa được cungcấp cho nó. Bộ cungcấp có thể áp dụng nhiều kiểu cungcấ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àinguyêncũ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, … 1.1.3. TảiThuậ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 cungcấptà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ộ cungcấptàinguyê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àinguyên đã được cungcấ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àinguyên 2 Thu hồi Sự lấy lại tàinguyên đã được cungcấp cho tiến trình. Bộ cungcấptàinguyê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ợp cáctàinguyên dùng chung được xem là tuyệt vời, nếu không xảy ra bế tắc hay thiếu thốn tàinguyên vĩnh viễn. 1.1.4. Bế tắc và vấn đề thiếu tàinguyê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àinguyên lại phát yêu cầu về nhu cầu sử dụng tàinguyên mà tiến trình kia còn đang sử dụng. Ví dụ xét đồ thị cungcấptàinguyên như hình vẽ sau đây: Học viên: Nguyễn Văn Phú - DĐ:0906 960 501 Trang 4 Tiểu luận: Hệ Tin Học Phân Tán GVHD: PGS.TS. Lê Văn Sơn T1 T2 T4 T3 Tr1 Tr2 Tr3 Hình 1: Đồ thị cungcấptàinguyên bị bế tắc Theo đồ thị này, ta có bốn tàinguyên T 1 ,T 2 , T 3 , T 4 và có ba tiến trình nhu cầu tàinguyên là Tr 1, Tr 2, và Tr 3. Cả 3 tiến trình này đang ở tình trạng bế tắc. Tiến trình Tr 2 chờ tàinguyên T 2 do Tr 3 đang chiếm giữ. Tiến trình Tr 3 chờ tàinguyên T 3 được giải phóng bởi Tr 1 trạm Tr 3 . Thêm vào đó, tiến trình Tr 1 chờ tiến trình Tr 2 giải phóng T 1 . Ta có hai chu trình kín trong đồ thị trên là: Thiếu tàinguyê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. 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ấptài nguyên. 1.2. Cácchiếnlượccungcấptàinguyên Một chiếnlượccungcấptàinguyê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àinguyên (ví dụ như sự sụp đổ của hệ đa chương trình). Để tránh hiện tượng đó, bộ cungcấptàinguyên cần phải bảo đảm chức năng điều khiển. Cungcấptàinguyê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àcungcấpcáctàinguyê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 cungcấptàinguyênvà 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ộ cungcấp cần phải phân phối cáctàinguyê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áctàinguyêncù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. Học viên: Nguyễn Văn Phú - DĐ:0906 960 501 Trang 5 Chu trình 1: Tr 1 -T 1 -Tr 2 -T 2 -Tr 3 -T 3 -Tr 1 Chu trình 2: Tr 3 -T 3 -Tr 2 -T 2 -Tr 3 Tiểu luận: Hệ Tin Học Phân Tán GVHD: PGS.TS. Lê Văn Sơn 1.2.1. Chiếnlượccungcấptàinguyên duy nhất: Vấn đề cungcấptàinguyê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àinguyê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àinguyên ngay tại trạm và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àinguyê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. 1.2.1.1. Truy cập bởi server 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à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 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ời cũng là chương trình đánh thức. Chương trình như sau: Vòng lặp M:=cho_thong-diep(nil) {treo} <Chương trình xử lý các yêu cầu và gửi trả kết quả> Kết thúc vòng lặp 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ếnlượ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ậptà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. Server T Tr1 Tr2 Tr3 Hình 2: Đồ thị truy cập vào tàinguyên bằng server duy nhất 1.2.1.2. Truy cập tương tranh có điều khiển Trong trường hợp này, tàinguyê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 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. Học viên: Nguyễn Văn Phú - DĐ:0906 960 501 Trang 6 T: Tàinguyên Tr: Tiến trình (Khách) Tiểu luận: Hệ Tin Học Phân Tán GVHD: PGS.TS. Lê Văn Sơn Tr2 Trn Tr1 D Sn . S2 S1 . T Hình 3: Đồ thị truy cậptàinguyê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. Học viên: Nguyễn Văn Phú - DĐ:0906 960 501 Trang 7 Hàng đợi các yêu cầu T: Tàinguyên Tr: Tiến trình (Khách) Si- Server D-Đánh thức Tiểu luận: Hệ Tin Học Phân Tán GVHD: PGS.TS. Lê Văn Sơn Việc triển khai đặc biệt đối với các server có liên quan đến việc phối hợp chúng với các điểm của một mô-đun quản lý cáctàinguyên như chương trình monitor chẳng hạn. 1.2.2. Chiếnlượccungcấp một tập hợp cáctài nguyên. Vấn đề bế tắc: *Một số thuật ngữ và khái niệm: Tiến trình p đưa ra yêu cầu cungcấptàinguyên e để thực hiện phép toán 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áctàinguyên đều được truy cập theo kiểu loại trừ. Nếu việc cungcấp hoàn toàn hợp thức thì tàinguyên này được trao cho p sử dụng. Ta nói rằng tàinguyê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àinguyên này. Trong hệ phân tán, ta sẽ tập trung xem xét các giao dịch T i có thể sử dụng cáctàinguyê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 khác nhau có thể được thực hiện song song. Nhằm thu hồi lại tàinguyên e trên trạm S j , giao dịch T i cho thực hiện phép toán v_loai_tru_th(e) thông qua đại diện p ij 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 cungcấp diễn ra không có thu hồi. Một tàinguyên bị khoá bởi một tiến trình không thể rút nó trở về được. Như thế, nó cần được giải phóng bởi tiến trình này một cách tường minh nhờ vào phép toán 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 và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àinguyên e 1 và e 2 , chúng được mô tả trong đoạn chương trình sau đây: 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) Nếu các yêu cầu được thoả mãn theo trình tự p 1 , q 1 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à p 2 và q 2 không bao giờ được đáp ứng, nếu e 1 và e 2 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àinguyên được cungcấ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ácthuậttoá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áctàinguyên đều được quản lý bởi bộ cungcấp duy nhất. Bộ cungcấ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áctài nguyên. Học viên: Nguyễn Văn Phú - DĐ:0906 960 501 Trang 8 Tiểu luận: Hệ Tin Học Phân Tán GVHD: PGS.TS. Lê Văn Sơn 1.2.2.1. Các phương pháp sử dụng trong hệ tập trung: A.Phương pháp dự phòng: Phương pháp dự phòng đơn giản và thường hay sử dụng là các nhóm sắp xếp Havender. Tư tưởng cơ bản của phương pháp này là cáctàinguyên được sắp xếp theo các nhóm con C 1 , C 2 ,…,C n . Một tiến trình nào đó chỉ có thể thu hồi cáctàinguyên của nhóm C i với i>1, nếu trước đó nó đã thu hồi tất cả cáctàinguyên của các nhóm cần thiết cho nó C 1 , C 2 , …,C i-1 . Như thế, trật tự duy nhất của việc thu hồi cáctàinguyên được xác định sẽ tránh bế tắc. Phương pháp này dẫn đến các tiến trình cần thu hồi trước (tạm ứng) cáctàinguyên của chúng và do vậy làm giảm khả năng thực hiện song song của hệ. Khi các tiến trình phát triển và thông báo trước về nhu cầu cực đại cáctài nguyên, thì các phương pháp mềm dẻo hơn có thể được sử dụng. B.Phương pháp phát hiện và chữa trị: Phương pháp Holt sử dụng một đồ thị trạng thái định hướng mà các nút là cáctàinguyên hay tiến trình. Cáccung tiến trình-tài nguyên biểu hiện các yêu cầu không được thoả mãn, cáccungtài nguyên-tiến trình thể hiện cáccungcấp đã được thực hiện. Nếu có sự hiện diện của vòng lặp khép kín trong đồ thị này thì đó chính là biểu hiện của tình trạng bế tắc. Sau khi đã phát hiện bế tắc, vấn đề chữa trị được đặt ra, nhưng các phương pháp này rất phức tạp, tốn kém. Hiện nay, thuậttoán chữa trị đang được các nhà chuyên môn quan tâm nghiên cứu và phát triển. C.Kết luận: Thực tế, trong các hệ điều hành người ta thường sử dụng: Hoặc là các phương pháp dự phòng đơn giản như cungcấp tổng quát tất cả cáctàinguyên hay phương pháp nhóm sắp xếp. Hoặc là các phương pháp phát hiện thường rất cồng kềnh, khắc phục nó đòi hỏi phải loại bỏ hoàn toàncác tiến trình và khởi sự chúng trở lại từ đầu. Điều đó đòi hỏi phải lưu trữ ngữ cảnh theo từng chu kỳ hết sức phức tạp và tốn kém bộ nhớ. Việc phát triển các cơ sở dữ liệu (CSDL) đã làm cho hệ phân tán có thêm các hoạt động mới về vấn đề bế tắc. Nhằm tăng khả năng thực hiện song song, các then thường mang dữ liệu rất sơ đẳng. Điều đó làm tăng số lượng tàinguyên cần quản lý. Một mặt, các phương pháp thông báo không phải lúc nào cũng sử dụng được bởi vì cáctàinguyên cần cho một giao dịch thông thường chỉ được xác định trong qúa trình thực hiện. Phương pháp đường tránh thường xuyên tỏ ra thích nghi được với CSDL đã được giới thiệu bởi Chamberlin. Mỗi một giao dịch có một điểm check-point (điểm không trở về), theo đó cáccập nhật thông tin trên CSDL là không thể quay trở lại nữa. Chừng nào mà một giao dịch không vượt quá điểm này, cáctàinguyên mà nó thu hồi có thể trưng dụng cho đề nghị cuối cùng, nếu bế tắc được phát hiện. Học viên: Nguyễn Văn Phú - DĐ:0906 960 501 Trang 9 Tiểu luận: Hệ Tin Học Phân Tán GVHD: PGS.TS. Lê Văn Sơn Sự thiếu thốn vô hạn có thể được loại bỏ bằng cách tuần hoàn một ấn phong bảo vệ cho giao dịch đang giữ nó và chống lại việc thu hồi. Đã có thuậttoán phân tán dựa trên nguyên tắc tương tự là thuậttoán quản lý nhiều bản sao. Các phương pháp mà ta vừa giới thiệu có thể áp dụng cho cấu trúc phân tán để làm rõ vai trò của các bộ cungcấp bằng cách cho một trạm có đặc quyền nhận tất cả các yêu cầu và duy trì bức tranh toàn cục về trạng thái cungcấp của tất cả cáctài nguyên. Giải pháp này còn chưa giải quyết vấn đề nhạy cảm đối với trường hợp sự cố trạm đặc quyền và qúa tải đối với trạm này cũng là nguyên nhân dừng mạng. Điều vừa nêu trên dẫn tới ý tưởng phân tán chức năng cungcấp trên các trạm của mạng. 1.2.2.2 Phân tán chức năng cung cấp: Bây giờ, ta giả định rằng chức năng cungcấp không thể tin tưởng giao phó hoàn toàn cho một bộ cungcấp duy nhất, mà được phân tán thành một tập hợp các bộ cungcấp trên các trạm khác nhau, trong đó mỗi bộ cungcấp chỉ quản lý các đố tượng cục bộ của trạm đó mà thôi. Tồn tại hai nhóm giải pháp cho vấn đề đặt ra: A.Duy trì tính duy nhất của trạng thái tài nguyên: Biểu hiện duy nhất của trạng thái tàinguyên được chia sẻ bởi tập hợp các bộ cung cấp. Biểu hiện này tuần hoàn giữa các trạm khác nhau dưới dạng một thông điệp. Các trạm luân phiên đóng vai trò của bộ cungcấpcáctàinguyên mà mình đang chịu trách nhiệm quản lý. Giải pháp này loại bỏ tất cả các khả năng song song, không loại bỏ khả năng mất thông điệp trạng thái, thiếu thốn tàinguyên một cách vô hạn. B.Phân tán biểu hiện trạng thái và chức năng cung cấp: Có rất nhiều giải pháp có thể: STT Giải pháp 1 Ta duy trì tại mỗi trạm một bản sao trạng thái tàinguyên tổng quát. Trong trường hợp này, cần phải bảo đảm gắn bó hữu cơ của các bản sao. 2 Ta phân tán biểu hiện trạng thái trên các trạm, mỗi một trạm chỉ có trạng thái của cáctàinguyên cục bộ của mình. Các quyết định được đưa ra trên các trạm khác nhau cần phải được phối hợp theo kiểu sao cho dữ liệu của việc cungcấp phải được gắn bó với nhau. 3 Một phương pháp đầy ấn tượng là nhóm sắp xếp nhằm bảo đảm cho tất cả các yêu cầu tàinguyên xuất phát từ các tiến trình đều được các bộ cungcấp khác nhau theo một trật tự nhất định cố định từ trước. Các phương pháp khác mang tính năng động cao cho phép ra các quyết định cungcấptàinguyên xuất phát từ quan điểm từng phần (ngược với toàn phần) của trạng thái tài nguyên. Học viên: Nguyễn Văn Phú - DĐ:0906 960 501 Trang 10 . 1: Tài nguyên và các chiến lược cung cấp tài nguyên. Chương 2: Thuật toán dự phòng bế tắc (Thuật toán Lomet) Thuật toán phát hiện bế tắc (Thuật toán Menasce) gặp là do sử dụng luật ưu tiên để cung cấp tài nguyên. 1.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