tài liệu Hệ phân tán - pdf 16

Download miễn phí Đề tài Hệ phân tán



Một tiến trình kết thúc xử lý khi nó hoàn tất chỉ thị cuối cùng và sử dụng một lời gọi hệ thống để yêu cầu hệ điều hành hủy bỏ nó. Đôi khi một tiến trình có thể yêu cầu hệ điều hành kết thúc xử lý của một tiến trình khác. Khi một tiến trình kết thúc, hệ điều hành thực hiện các công việc :
• thu hồi các tài nguyên hệ thống đã cấp phát cho tiến trình
• hủy tiến trình khỏi tất cả các danh sách quản lý của hệ thống
• hủy bỏ PCB của tiến trình
Hầu hết các hệ điều hành không cho phép các tiến trình con tiếp tục tồn tại nếu tiến trình cha đã kết thúc. Trong những hệ thống như thế, hệ điều hành sẽ tự động phát sinh một loạt các thao tác kết thúc tiến trình con.

PHẦN I: TỔNG QUAN VỀ HỆ PHÂN TÁN.
I. HỆ PHÂN TÁN
1. Mở đầu
Hệ phân tán là tập hợp nhiều máy tính độc lập kết nối với nhau qua mạng và được cài đặt phần mềm của hệ phân tán. Các phần mềm của hệ phân tán được thiết kế để giúp cho các máy phối hợp hoạt động với nhau, cùng sử dụng những tài nguyên chung của hệ như phần cứng, phần mềm và dữ liệu. Khi sử dụng một hệ phân tán có thiết kế tốt có thể nhận được một tiện ích tính toán thong nhất, ngay cả khi tiện ích đó được sử dụng ở nhiều máy tính đặt ở những vị trí khác nhau.
Các hệ phân tán được lắp đặt trên cơ sở các phần cứng với phạm vi khác nhau, từ một số ít trạm làm việc kết nối bằng mạng LAN vào INTERNET, đến tập hợp các mạng LAN và WAN rộng khắp thế giới kết nối hàng triệu máy tính với nhau.
Hệ phân tán có phạm vi ứng dụng rất rộng, từ cung cấp các tiện ích tính toán dung cho mục đích chug của nhiều nhóm người sử dụng đến các hệ thống tryền thông đa phương tiện, hệ thống thu ngân ngân hang tự động, và hầu như chúng chứa đựng hầu hết các ứng dụng kỹ thuật và thương mại về máy tính.
Hiện nay, chúng ta đã có nhiều nghiên cứu phát triển về thiết kế các hệ điều hành phân tán và những nguyên tắc cơ sở của chùng. Nhiều hệ điều hành phân tán đã ra đời và các ứng dụng của chúng ngày càng có hiệu quả hơn.
2. Những đặc trưng chủ yếu của hệ phân tán
Hệ phân tán mang tính hữu dụng là nhờ có đặc tính chủ yếu, đó là: chia sẻ tài nguyên, tính mở, tính đồng thời, tính quy mô, tính chịu lỗi, và tính trong suốt.
Trong phần này ta sẽ xét từng đặc tính cụ thể. Cần lưu ý rằng, những đặc tính đó không phải là kết quả tự nhiên của sự phân tán, mà là do thiết kế của hệ thống và phần mềm ứng dụng.
a. Chia sẻ tài nguyên
Tài nguyên bao gồm những thành phần phần cứng như: đĩa, máy in, và những thành phần phần mềm như: file, cơ sở dữ liệu và những đối tượng dữ liệu khác.Lợi ích của viêc truy cập vào hệ thống chứa các cơ sở dữ liệu, chương trình, tài liệu vào những thông tin chung khác được thể hiện rõ trong hệ thống chia sẻ thời gian hay hệ thống nhiều người sử dụng vào đầu những năm 1960, vào các hệ thống UNIX MultiUser vào những năm 1970.
Tài nguyên của máy tính nhiều người dung thường được dùng chung cho tất cả những người sử dụng nó, những người làm việc trong các máy trạm đơn lẻ vào của các máy tính cá nhân không có đặc tính hữu ích này. Các tài nguyên chung trong hệ phân tán được đóng gói vật lý trong một máy tính của hệ, và từ các máy khác chỉ có thể truy cập vào bằng con đường truyền thông. Để dùng chung một cách hiệu quả, tài nguyên phải được quản lý bằng một chương trình cung cấp giao diện truyền thông cho phép truy cập vào tài nguyên chung, sử dụng và cập nhật tài nguyên thường xuyên và chắc chắn.
Thuật ngữ quản lý tài nguyên đôi khi dung để biểu thị module phần mềm quản lý những tài nguyên thộc một dạng đặc biệt. Mỗi dạng tài nguyên đòi hỏi có cách và biện pháp quản lý riêng, nhưng cũng có những cái chung. Đó là việc cung cấp sơ đồ đặt tên cho mỗi nhóm tài nguyên, giúp truy cập vào các tài nguyên riêng lẻ từ bất kỳ vị trú nào, việc đưa tài nguyên vào địa chỉ truyền thông và việc phối hơp các truy cập đồng thời làm thay đổi trạng thái của các tài nguyên chung, bảo đảm tính nhất quán của chúng.
Hệ phân tán gồm tập hợp các quản lý tài nguyên và tập hợp chương trình sử dụng tài nguyên. Những người sử dụng tài nguyên liên lạc với bộ quản lý tài nguyên để truy cập vào tài nguyên chung của hệ. Chúng ta có thể phát triển phối cảnh này để tạo ra 2 mô hình rất thú vị cho các hệ phân tán, mô hình khách-chủ( client-Server model ) và mô hình dựa trên đối tượng (object- based model).
• Mô hình khách chủ: Hiện nay nó là mô hình nổi tiếng nhất và sử dụng rộng rãi nhất cho các hệ phân tán. Máy chủ có nhiều tiến trình, mỗi tiến trình đóng vai trò là một trình quản lý tài nguyên của nhiều tài nguyên thuộc một dạng nhất định, máy khách ( client ) cũng có nhiều tiến trình, mỗi tiến trình thực hiện một nhiệm vụ, đòi hỏi phải truy cập vào tài nguyên chung mà tiến trình khác quản lý, do đó một só tiến trình vừa là trình khách, vừa là trình chủ. Trong mô hình khách - chủ, tất cả các tài nguyên chung đều được lưu giữ và quản lý bởi các trìh chủ. Trình khách đưa ra yêu cầu cho Server mỗi khi chúng cần truy cập vào một trong những tài nguyên của Server. Nếu yêu cầu hợp lệ, thì Server thực hiện yêu cầu và gửi phúc đáp cho trình khách.
Trong mô hình khách chủ mỗi trình chủ có thể coi là nơi cung cấp tập trung tài nguyên mà nó quản lý. Việc cung cấp tài nguyên là bất đắc dĩ trong các hệ phân tán với nhiều lý do. Một trong những lý do đó là sự phân biệt giữa các dịch vụ cung cấp tài nguyên cho client và Server cung cấp dịch vụ đó. Dịch vụ được coi là một thực thể trừu tượng cung cấp từ nhiều trình chủ chạy ở nhiều máy riêng lẻ liên kết qua mạng.
Mô hình khách chủ được khai thác rất hiệu quả trong hệ thống hiện nay, chúng có nhiều dịch vụ quản lý các dạng tài nguyên chung khác nhau: thư tín điện tử (email), các thông báo (message ), file, giờ đồng bộ toàn mạng, lưu trữ lên đĩa, máy in, truyền thông diện rộng và thậm chí cả không gian hiển thị cửa sổ trên màn hình các máy nối mạng. Nhưng không thể quản lý và dung chung tất cả các tài nguyên trong hệ phân tán theo cách này. Để hoạt động có hiệu quả hơn, một số loại tài nguyên phụ giữ nguyên tại chỗ của mỗi máy. Bộ nhớ truy cập ngẫu nhiên, bộ xử lý trung tâm và giao diện mạng LAN thường được coi là tập hợp tối thiểu những tài nguyên đó. Những tài nguyên chủ chốt này được quản lý riêng biệt trong hệ điều hành của mỗi máy, chúng chỉ được dùng chung cho các tiến trình trong cùng một máy.
Trong một số ứng dụng đòi hỏi sự phối hợp trực tiếp giữa các máy khách, mô hình khách-chủ không đáp ứng được tất cả các yêu cầu, nhưng nó lại đáp ứng được hầu hết các ứng dụng hiện tại và là cơ sở cho các hệ điều hành phát triển mục đích chung.
• Mô hình dựa trên đối tượng: Mô hình này không giống mô hình lập trình hướng đối tượng truyền thống, ở mô hình lập trình hướng đối tượng truyền thống mỗi thực thể trong chương trình thực hiện đều được coi là một đối tượng có giao diện xử lý thông báo co phép truy cập vào các hoạt động của nó. Còn trong mô hình dựa trên đối tượng dùng cho các hệ phân tán, mỗi tài nguyên chung được coi là một đối tượng. Đối tượng được xác định là duy nhất và di chuyển đến mọi chỗ trên mạng không cần thay đổi tính nhận dạng của chúng. Mỗi khi chương trình dung tài nguyên muốn truy cập vào tài nguyên phải gửu đi thông báo yêu cầu đến đối tượng tương ứng. Thông báo được chuyển đến cho thủ tục hay tiến trình thích hựp thực hiện yêu cầu đó và gửi thông báo trả lời cho tiến trình yêu cầu nếu cần thiết.
Nó nổi trội hơn ở tính đơn giản và tính linh hoạt. Nó giúp người sử dụng xem xét tài nguyên theo một chá thông nhất. Cũng như trong mô hình khách chủ, các đối tượng có thể đóng vài trò vừa là người sử dụng tài nguyên, vừa là trình quản lý tài nguyên. Tài nguyên mô hình khách chủ, sơ đồ đặt tên dùng cho tài nguyên theo một cách thống nhất.
Việc ứng dụng mô hình dựa trên đối tượng làm nảy sinh một số vấn đề khó khăn. Vì các đối tượng bao hàm cả sự biểu diễn trạng thái của chúng, nên để trình quản lý mỗi đối tượng có thể truy cập trạng thái của đối tượng đó, thì nó phải được định vị ở nơi mà đối tượng đó định vị. Điều này thể hiện rất rõ ràng, khi các đối tượng không thể di chuyển tự do chỉ mới ứng dụng trong các hệ thử nghiệm như Arjuna(1989), Clouds và Êmerald (1987 ). Trong mô hình đó các đối tượng được định vị bằng một tập hợp các trình quản lý đối tượng ở dạng tương ứng, và bộ quản lý đối tượng tương ứng được sao chép lại ở vị trí mới mỗi khi có một đối tượng di chuyển.
b. Tính mở
Tính mở của hệ thống máy tính là đặc trưng để xác định xem hệ thống có thể mở rộng theo nhiều cấp độ khác nhau hay không. Tính mở hay đóng của hệ thống được xét dựa theo khả năng hỗ trợ việc mở rộng của thiết bị phần cứng (ví dụ: bổ sung các thiết bị ngoại vi, bộ nhớ và các giao diện truyền thông ) và hỗ trợ việc mở rộng các phần mềm, như: bổ sung thêm các chức năng của hệ điều hành, các giao thức truyền thông và các dịch vụ chia sẻ tài nguyên. Tính mở của các hệ phân tán được đánh giá theo mức độ bổ sung các dịch vụ chía sẻ tài nguyên mà không phá vỡ hay lặp lại các dịch vụ hiện có.
Tính mở được thể hiện nhờ những giao diện phần mềm chủ chốt của hệ thống giao diện đó được xác định rõ và lập thành tài liệu sẵn cho những người phát triển phần mềm.
Về mặt lịch sử, các hệ máy tính đã từng mang tích chất đóng. Chúng thực hiện các chương trình trong phạm vi các ngôn ngữ lập trình, nhưng không cho phép những người phát triển trình ứng dụng mở rộng ngữ nghĩa để khai thác các phần cứng hay các chức năng mới của hệ điều hành. UNIX là hệ thống có thiết kế mang tính mở đầu tiên. Ngôn ngữ lập trình C mà nó cung cấp cho phép người lập trình truy cập vào ttất cả các tài nguyên mà hệ điều hành quản lý. C là ngôn ngữ cấp cao, cho phép các chương trình có thể biên dịch và thực hiện trên nhiều máy tính khác nhau.
Việc truy cập tài nguyên của hệ điều hành UNIX được thực hiện thông qua một tập hợp thủ tục gọi là các lời gọi hệ thống, tập hợp thủ tục này được lập thành tài liệu sẵn dùng cho các chương trình viết bằng ngôn ngữ C và những ngôn ngữ khác hỗ trợ các tiện ích theo thủ tục thông thường. Khi có một thiết bị ngoại vi mới được cài đặt vào UNIX, hệ điều hành có thể được mở rộng để giúp cho các chương trình ứng dụng có thể truy cập được tới thiết bị này bằng việc bổ sung thêm các lời gọi hệ thống mới hay phổ biến hơn là bằng việc cài đặt một số giá trị tham số bổ sung cho các lời gọi hệ thống hiện có.
So với các hệ thống trước, UNIX có tích chất mở hơn vì :
• Đối với những người phát triển ứng dụng : chúng có thể truy cập tới toàn bộ những tiện ích mà hệ thống cung cấp.
• Đối với những người cung cấp phần cứng và những người quản lý hệ thống: hệ điều hành có thể mở rộng để bổ sung các thiết bị ngoại vi mới hay trình điều khiển mạng tương đối dễ dàng.
• Đối với người bán phần mềm và người sử dụng: Do hệ điều hành không phụ thộc phần cứng, nên những người phát triển phần mềm có thể tạo ra những chương trình chạ được ở nhiều máy thuộc các hãn sản xuất khác nhau, mà không cần thay đổi gì. (Điều này chỉ đúng khi các nhà sản xuất máy tính thống nhất hoàn toàn về phiên bản UNIX mà họ sẽ cung cấp).
Tính mở thông qua truyền thông: Những tài nguyên mà lõi của UNIX đầu tiên cung cấp là file và tiến trình. File với cấu trúc đặt tên của chúng rất hữu dụng cho việc lưu trữ cố định và chúng còn được dung để truy cập trực tiếp vào một số loại thiết bị ngoại vi khác. Các tiến trình cung cấp cơ chế thực hiện đồng thời các chương trình.
Tính sẵn dùng của truyền thông giữa các tiến trình trong UNIX và các hệ điều hành khác cùng tính sẵn dụng của các giao thức chuẩn trong truyền thông đã mở ra nhiều cơ hội để đạt được tính mở trong thiết kế hệ thống máy tính. Nhờ đó, các tiến trình chủ chạy được ở bất kỳ máy nào, bất kỳ hệ điều hành nào.


MbWKY3HugYS4AKV
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status