Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác

Tóm tắt Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác: ... hành phân tán và hệ tự trị cộng tác 2/7 cầu. Dịch vụ mức cao có thể được cung cấp bằng cách giải quyết chúng từ những dịch vụ ở mức thấp hơn. Mọi hệ thống phần mềm có thể được định danh một cách thoải mái bằng cách tích hợp nhiều dịch vụ với sự thoả thuận nào đó theo cấu trúc. Đây là cách tiệm...). ODP là khung hệ thống công cộng hõ trợ phân tán, liên thao tác và khả chuyển đối với các xử lý phân tán hõn tạp cả bên trong và dọc theo tổ chức tự trị. CORBA ccung cho cùng triết lý và sử dụng mô hình hướng đối tượng để thi hành yêu cầu dịch vụ trong suốt dọc theo một hệ thống phân tán đa đố...ng được chỉ dẫn như các giao thức do chức năng của chúng là chủ yếu thiết lập lệnh hoặc quy tắc đối với sự hạn chế của hệ phân tán là thiếu những thông tin trạng thái hệ thống toàn cục. Mỗi quá trình có nhận thức khác nhau của hệ thống do sự thiếu vắng bộ nhớ chia xẻ và độ trễ truyền thông đáng ...

pdf7 trang | Chia sẻ: havih72 | Lượt xem: 164 | Lượt tải: 0download
Nội dung tài liệu Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Sơ lược về hệ điều hành phân
tán và hệ tự trị cộng tác
Bởi:
Hà Quang Huy
Sơ lược về hệ điều hành phân tán
HĐH phân tán mới thực sự là một HĐH quản lý tài nguyên máy tính trên phạm vi lãnh
thổ lớn. Các máy tính được kết nối lôgic (theo phần mềm) trong HĐH phân tán một
cách tương đối chặt chẽ, hệ thống tài nguyên của mỗi máy tính đóng góp thực sự vào
hệ thống tài nguyên chung thống nhất và tham gia vào việc giải quyết mỗi bài toán điều
phối quá trình, điều phối bộ nhớ, điều phối vào-ra v.v. HĐH phân tán, về lôgic là một
hệ thống thống nhất song về vật lý lại được “phân bố” chạy trên nhiều máy tính ở các vị
trí khác nhau.
Sự phát triển các trạm làm việc mạnh và những tiến bộ của công nghệ truyền thông tạo
ra sự cần thiết và hợp lý để mở rộng việc chia xẻ tài nguyên thêm một bước nữa: để bao
gồm dạng tổng quát hơn nữa các hoạt động cộng tác giữa một tập hợp gồm các máy tính
tự trị, được kết nối bởi một mạng truyền thông. Chia xẻ tài nguyên và cộng tác các hoạt
động phân tán kiểu này của môi trường tính toán là những mục tiêu chính trong thiết kế
HĐH phân tán và là tiêu điểm chính của tập bài giảng này.
Cần xác định những thành phần trong một hệ phân tán kết nối lỏng là cần phân tán hay
không tập trung. Tài nguyên vật lý là phân tán vì được thừa hưởng tự nhiên từ hệ kết
nối lỏng. Thông tin và nhu cầu thông tin trở nên phân tán do tính tự nhiên của nó hoặc
do nhu cầu tổ chức, chẳng hạn về tính hiệu quả và tính an toàn. Hơn nữa, hiệu năng hệ
thống cần được nâng cao nhờ tính toán phân tán. Làm thế nào để các tài nguyên và hoạt
động phân tán được quản lý và điều khiển là những trách nhiệm căn bản của HĐH phân
tán. Nên chăng HĐH phân tán tự nó cũng phân tán ? Lời giải đáp là về đại thể là nên
theo cách thức đó chính do tính tự nhien của nó và nhu cầu tổ chức. Điều đó đặt ra vấn
đề thi hành phân tán đối với các chức năng quản trị và điều khiển của HĐH phân tán,
chính là thiết kế các thuật toán phân tán. Nhu cầu về các thuật toán phân tán trong các
HĐH phân tán thúc đẩy việc tích hợp hai chủ thể có quan hệ mật thiết này trong một số
tài liệu.
Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác
1/7
Khi cho một HĐH phân tán trên một hệ phân tán, hy vọng có được sự che khuất các chi
tiết thi hành của hệ thống đó đối với người dùng. Điều phân biệt mấu chốt giữa HĐH
mạng và HĐH phân tán ở chính khái niệm trong suốt. Trong suốt là một khái niệm
mới. Trong HĐH tập trung, người sử dụng chia xẻ thời gian có sự trong suốt đồng thời
(concurrency transparency) nếu họ không nhận biết thực tế có nhiều người dung fkhác
cũng đang chia xẻ cùng một hệ thống. Một chương trình được gọi trong suốt định vị
(location transparrency) nếu như bản đồ của chương trình vào trong bộ nhớ vật lý và/
hoặc bộ xử lý là bị che khuất. Trong HĐH phân tán khái niệm này còn được mở rộng
tới định vị file và đồng thời truy nhập nếu file có thể nằm bất kỳ trên hệ thống lưu trữ
và truy nhập nó thông qua đường dẫn lôgic hơn là vật lý. Đối với quá trình phân tán, có
thể đạt được phân tán song song và phân tán hiệu năng nếu quá trình có thể được thực
hiện trên một bộ xử lý bất kỳ mà không kể sự nhận biết của người dùng và không kể sự
khác nhau đáng kể về hiệu năng. Còn nhiều ví dụ nữa và có giới hạn hay không ? Một
hệ thống trong suốt hoàn toàn là hợp lý hoặc thậm chí chỉ hy vọng là một câu hỏi còn
được bàn luận. Nói chung, tính trong suốt là một cái tốt đẹp cần có và chúng ta vẫn sử
dụng nó như mở rộng mấu chốt của HĐH phân tán.
Trong các mục trước đây, hệ thống tính toán được mô tả như một hệ thống trừu tượng
bao gồm các quá trình và các file. Cần bổ sung các thuật toán (chính xác hơn là các
thuật toán điều khiển phân tán) mà quản lý sự thực hiện các quá trình trên các file trong
hệ phân tán. Như vậy, HĐH phân tán bao gồm ba thành phần chính: điều phối các quá
trình phân tán, quản trị các tài nguyên phân tán và thi hành các thuật toán phân tán. Tại
mỗi nút trong hệ phân tán, giả thiết rằng tồn tại những môđun thực hiện việc quản trị tài
nguyên địa phương.
Một số HĐH phân tán điển hình như AMAEBA, MACH, CHORUS, DCE được giới
thiệu trong [8].
Sơ lược về hệ tự trị cộng tác
HĐH tự trị cộng tác cho một cách thức linh hoạt hơn so với HĐH phân tán. Các máy
tính thành viên vừa được phép tham gia kết nối vào toàn bộ hệ thống lại vừa được phép
chạy một cách độc lập. Khi tham gia vào hệ thống, tài nguyên của máy tính thành viên
được toàn bộ hệ thống sử dụng (gần như theo cách thức của HĐH phân tán) còn khi máy
thành viên chạy độc lập thì nó độc quyền sử dụng tài nguyên riêng. Về thực chất, trong
hệ tự trị cộng tác, tính "tự trị" của máy thành viên được chú trọng hơn so với tính thống
nhất lôgic của toàn bộ hệ thống.
Như vậy, nếu chỉ cần duy trì tính trong suốt ở một mức độ nào đó và hủy bỏ về cái nhìn
của một hệ thống nhất lôgic của hệ đa máy tính, nhận được cách nhìn khác nhau hoàn
toàn của một hệ (phần cứng và phần mềm) lỏng lẻo thuần túy. Mỗi người dùng hoặc quá
trình thao tác tự trị bằng cách cung cấp các dịch vụ của mình và yêu cầu các dịch vụ từ
nơi khác. Nhóm các hành động có thể được điều phối bằng việc trao đổi dịch vụ và yêu
Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác
2/7
cầu. Dịch vụ mức cao có thể được cung cấp bằng cách giải quyết chúng từ những dịch
vụ ở mức thấp hơn. Mọi hệ thống phần mềm có thể được định danh một cách thoải mái
bằng cách tích hợp nhiều dịch vụ với sự thoả thuận nào đó theo cấu trúc. Đây là cách
tiệm cận đã bắt chước cách ứng xử trong xã hội loài người: ứng xử trong hệ thống máy
tính làm theo cách ứng xử trong xã hội loài người phức tạp. Đây là cách nhìn của hệ tự
trị cộng tác.
Hình 1.8 minh họa một số khác biệt cơ bản giữa HĐH phân tán với hệ tự trị công tác.
Hệ phân tán được đặc trưng bằng phân tích dịch vụ trong khi hệ tự trị cộng tác lại nhấn
mạnh việc tích hợp dịch vụ.
Hệ tự trị cộng tác là hệ thống phần mềm định hướng dịch vụ mức cao đòi hỏi hỗ trợ
cơ chế truyền thông trên đó các giao thức truyền thông mức cai đã được xây dựng. Lấy
ví dụ hình ảnh cách thức giao dịch bất động sản có thể được thực hiện trong một hệ tự
trị cộng tác. Người mua nhà, là một quá trình khách, có thể tạo ra một yêu cầu tới hoặc
trực tiếp tới chủ ngôi nhà hoặc gián tiếp tới đại lý bất động sản (cả hai đều là quá trình
phục vụ). Chủ ngôi nhà là quá trình khách tới người môi giới. Người môi giới có thể từ
một đại lý bất động sản, một phục vụ lớn hơn có thể chỉ dẫn cho người mua nhà một
môi giới giành riêng. Người bán là khách tới đại lý bất động sản giống như một khách
tới người môi giới. Người mua có thể định vị được đại lý bất động sản nhờ xem thông
tin trên Trang vàng, đã được biết đến như một quá trình phục vụ trực tiếp. Nếu ngôi nhà
được chủ của nó bán trực tiếp thì người chủ có thể quảng cáo tại đâu đó nhờ quá trình
phục vụ với địa chỉ đã biết. Hình 1.9 trình bày một loạt các quan hệ Client/Server của
Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác
3/7
một ứng dụng hệ tự trị cộng tác. Phục vụ kiểu Trang vàng và đại lý bất động sản cung
cấp dịch vụ môi giới hoặc thương mại như những dịch vụ định vị. Khái niệm mấu chốt
của hệ tự trị cộng tác là tích hợp các dịch vụ thành dạng hoạt động cộng tác. Cả phần
cứng và phàn mềm là tách rời và không tập trung hoàn toàn.
Tư tưởng của hệ tự trị không tập trung hình như gượng gạo. Tuy nhiên, một mở
rộng đơn giản có khái niệm Làm việc cộng tác được hỗ trợ bằng máy tính (Computer
Supported Cooperative Work: CSCW). CSCW là một khung nhằm hỗ trợ phần mềm
nhóm (groupware), một ứng dụng phần mềm lớn mà bao gồm các người dùng cộng tác
và tài nguyên phân tán dọc theo một mạng hỗn tạp. Một ví dụ là hội thảo phân tán, trong
đó cuộc mit tinh điện tử trong một mạng vật lý phân tán có thể được tổ chức. Trái ngược
với triết lý máy tính đơn được chỉ cho người dùng và tài nguyên có thể thiết kế và quản
trị, là sự nhận biết rõ ràng sự tồn tại đa máy tính. Người dùng, từ mạng logic của họ
với mụctiêu riêng và được sẵn sàng cho điều khiển truy nhập và bảo vệ của nhóm. Hệ
cộng tác không tập trung là hệ thống cungg cấp những dịch vụ chuẩn cho phép tích hợp
các dịch vụ cộng tác mức cao trong một hệ thống mạng lớn. Với số lượng rất lớn đã lên
phương án về mạng và con người, đây là sự tiến hóa tự nhiên của HĐH mạng và HĐH
phân tán.
Nhu cầu trộn các ứng dụng hệ tự trị cộng tác có thể bùng phát một số cố gắng chuẩn hóa
cho việc phát triển tương lai của phần mềm phân tán, đáng chú ý là Quá trình phân tán
mở (Open Distributed Processing: ODP) và Kiến trúc môi giới yêu cầu đối tượng chung
(Common Object Request Broker Architeturre: CORBA). ODP là khung hệ thống công
cộng hõ trợ phân tán, liên thao tác và khả chuyển đối với các xử lý phân tán hõn tạp cả
bên trong và dọc theo tổ chức tự trị. CORBA ccung cho cùng triết lý và sử dụng mô hình
hướng đối tượng để thi hành yêu cầu dịch vụ trong suốt dọc theo một hệ thống phân
tán đa đối tượng hỗn tạp liên kết nối. Cả ODP và CORBA dùng dịch vụ thông minh
trader hoặc broker làm thuận tiện liên tương tác trong hệ tự trị cọng tác. Trang vàng và
đại lý bất động sản như những thương nhân. Chúng có thể được nhìn như tuyến phần
mềm liên kết quá trình khách và phục vụ và chúng phục vụ như một phần mềm lớp giữa
(middleware) hỗ trợ các ứng dụng cộng tác phân tán.
Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác
4/7
-Đồng thời với tiến trình phát triển trên đây của các HĐH, việc nghiên cứu về các hệ
thống xử lý song song cũng được phát triển. Tương ứng với các mô hình song song trên
các hệ thống tập trung SIMD, MISD, MIMD là các mô hình SPMD (Single Program
Multiple Data), MPSD, MPSD trong đó đối tượng thực hiện song song là chương trình
thay cho chỉ thị (instruction).
Một hướng nghiên cứu thời sự hiện nay là mô hình tính toán cụm (Cluster Computing)
trong đó việc song song hóa một cách hiệu quả là mục tiêu của các mô hình như vậy.
Trong các mô hình tính toán song song thì cách thức SPMD là điển hình nhất.
Tính toán song song trên mạng các máy tính cá nhân, khai thác công suất dư thừa của các
máy tính cá nhân trong mạng cũng là hướng đang được đặc biệt chú ý, theo đó tìm cách
"tổ hợp sức mạnh" các máy tính cá nhân trong mạng thành "siêu máy tính ảo" (có người
còn gọi là "siêu máy tính con nhà nghèo). Cách thức nói trên liên quan đến việc tạo
dựng "cụm máy tính cá nhân" (PC-cluster) bằng một hệ thống phần mềm (thuộc dạng
middleware) với tên gọi là phần mềm PC-cluster. Hiện tại có hai lớp phần mềm PC-
cluster miễn phí điển hình là PVM (Parallel Vitural Machine) và MPI (Message Passing
Interface). Tính đến thời điểm năm 2002, một số hệ thống PC-cluster đã được cài đặt
thử nghiệm tại một số cơ quan trong nước (trong đó có khoa Công nghệ, ĐHQGHN)
song hiệu quả thực sự của chúng hiện vẫn còn ở mức rất khiêm tốn.
Vấn đề thiết kế và nghiên cứu đối với HĐH tập trung (truyền thống), hoạt động trong
một hệ thống có một hoặc nhiều bộ xử lý, đã được nghiên cứu tương đối dầy đủ. Tuy
nhiên, với việc phát triển nhanh chóng các trạm làm việc cá nhân và mạng cục bộ dẫn
đến sự phát triển nhanh chóng các khái niệm HĐH mới, là HĐH mạng và HĐH phân
tán (một số tác giả, đặc biệt là các tác giả Việt kiều, dùng thuật ngữ "phân bố" thay cho
thuật ngữ "phân tán" được dùng trong tài liệu này). Vấn đề quan hệ đến mạng và HĐH
phân tán là mục tiêu nghiên cứu của giáo trình này. Một vấn đề khác nổi lên là phát triển
các hệ thống tự động cộng tác, trong đó nhấn mạnh việc thiết kế các thuật toán phân tán
Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác
5/7
trong một môi trường hệ thống mở. Một hệ thống mở liên quan đến tính mềm dẻo một
cách toàn vẹn và che khuất đi sự hỗn tạp các thành phần nhằm hỗ trợ việc cộng tác nhiều
cấp tại mức ứng dụng. Khái niệm này là rộng lớn hơn so với HĐH theo nghĩa truyền
thống.
Thuật toán phân tán
Việc thiết kế các thuật toán phân tán, được đòi hỏi nhằm hỗ trợ việc thi hành dịch vụ
HĐH phân tán để điều phối sự thực hiện của các quá trình đồng thời có vai trò quan
trọng trong nghiên cứu về HĐH phân tán. Các thuật toán thường được chỉ dẫn như các
giao thức do chức năng của chúng là chủ yếu thiết lập lệnh hoặc quy tắc đối với sự hạn
chế của hệ phân tán là thiếu những thông tin trạng thái hệ thống toàn cục. Mỗi quá trình
có nhận thức khác nhau của hệ thống do sự thiếu vắng bộ nhớ chia xẻ và độ trễ truyền
thông đáng kế giữa các quá trình. Cái nhien của họ về hệ thống thường là không đầy đủ
và không mạch lạc. Phần tử bản chất nhất của thông tin toàn cục là thông tin thời gian
toàn cục cỡ hệ thống, thường được chỉ dẫn như một đồng hồ toàn cục. Về mặt lý thuyết,
không thể đạt được nhằm đạt được một đồng hồ toàn cục thậm chí trong hệ phân tán có
một đồng hồ trung tâm chung. Bỏ qua thông tin thời gian toàn cục, sự thúc ép sự sắp
xếp sự xuất hiện các sự kiện trở thành một bài toán không tầm thường. Việc xấp xỉ đồng
hồ toàn cục với sự thứ lỗi thời gian nào đó và cơ chế thực hiện thứ tự sự kiện đúng đắn
không cần sử dụng thông tin đồng hồ toàn cục bắt buộc phải được phát triển. Nhiều thi
hành của các chức năng điều khiển mức cao chẳng hạn ĐBQT và TTQT dựa vào sự thứ
lỗi (fault tolerance) thời gian và cơ chế sắp xếp sự kiện này. Độ trễ truyền thông tạo ra
khó khăn lớn để đạt được thỏa thuận về trạng thái hệ thống, bản chất của các hoạt động
phân tán cộng tác.
Bổ sung tới tính phức tạp do độ trễ truyền thông, thiết kế thuật toán phân tán là phức tạp
hơn bởi vì nguồn lỗi và không tin cậy là phổ biến hơn trong hệ phân tán so với hệ tập
trung. Thứ lỗi trong hệ phân tán là vấn đề khó tính hơn đối với các thuật toán phân tán.
Bản chất là hệ thống bao gói nhiều kiểu của lỗi. Thậm chí nhiều thuật toán tập trung để
ĐBQT, lập lịch, và điều khiển đồng thời .. buộc phải được xem xét kỹ lưỡng để dùng
trong hệ phân tán. Thuật toán có thể được phân thành hai lớp: thuật toán không tập trung
đầy đủ và thuật toán phân tán với một điều phối tập trung thứ lỗi. Loại thứ hai đơn giản
hơn theo khái niệm cung cấp những cơ chế hiệu quả tồn tại nhằm kiểm soát lỗi của điều
khiển tập trung và chọn những chỉ đạo mới.
Kiến trúc phần cứng của hệ phân tán cũng có vai trò quan trọng trong thi hành các thuật
toán phân tán. Các phương pháp truyền thông phụ thuộc vào việc tôpô mạng là kết nối
đầy đủ hay không, thông thường hay không thông thường, và truyền dữ liệulà điểm-
điểm hay đa điểm. Kiến trúc thậm chí cho phép cả việc thay đổi tôpô, lỗi kết nối và các
nút là tồn tại. Về phía phần mềm dữ liệu thường được nhân bản nhằm cho phép truy
nhập đồng thời và đạt được độ tin cậy cao hơn. Nhân bản dữ liêu lại đưa đến vấn đề tính
Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác
6/7
chặt chẽ của dữ liệu. Quản lý nhân bản dữ liệu trở thành một vấn đề cũng khó tính trong
thiết kế hệ phân tán.
Dưới đây là một danh sách tổng quát các thuật toán phân tán khi lưu tâm tới những vấn
đề đáng kể của hệ phân tán được tóm tắt từ những điều mô tả trên.
-Chuyển thông điệp Hệ quả của việc không có bộ nhớ chia xẻ ngụ ý rằng điều phối giữa
các quá trình đồng thời bắt buộc phải thực hiện bằng CTĐ. Như vậy, thuật toán đồng bộ
và nắm giữ bế tắc cần được thiết kế lại trong môi trường phân tán. Thuật toán phân tán
có thể không tập trung hoàn toàn hoặc tập trung. Trong thuật toán tập trung, thuật toán
bầu cử phân tán thường được đòi hỏi để thiết lập và duy trì điều khiển tập trung.
-Sự thiếu thông tin toàn cục. Hiệu lực của thuật toán phân tán phụ thuộc vào tri thức của
nó về trạng thái của hệ thống. Do không hợp lý nếu đưa ra thông tin trạng thái toàn cục
do độ trễ mạng và các thành phần trong hệ thống không tin cậy, tương tác giữa các quá
trình bắt buộc phải dựa trên sự nhất trí nhận được từ một vài giao thức thỏa thuận nào
đó. Giao thức thoả thuận tự nó là thuật toán phân tán.
-Nhân bản dữ liệu. Quản lý nhân bản dữ liệu là chức năng cơ sở của hệ thống file
và cơ sở dữ liệu phân tán. Mục tiêu căn bản của giao thức là duy trì tính nhất quán
(consistency). Vấn đề tương đương lôgic cần đến tán phát tin cậy (reliable broadcast).
Tập các dữ liệu được nhân bản là tương tự như một nhóm thành viên được tán phát. Vấn
đề này kéo theo trong HĐH hoặc CSDL cũng được nhìn nhận.
-Lỗi và khôi phục. Độ tin cậy của hệ thống có thể được nâng cao theo nghĩa thứ lỗi hoặc
khôi phục tiếp sau lỗi. Tiếp cận thứ lỗi sử dụng giải pháp dư thừa hoặc đa phục vụ. Khôi
phục là cách tiếp cận sẵn có trong đó trạng thái của hệ thống là được duy trì và được
dùng để thực hiện lại từ điểm kiểm tra ngay trước. Thuật toán khôi phục giải quyết với
việc đăng nhập vào trạng thái hệ thống, các điểm kiểm tra và nắm giữ các quá trình và
thông điệp cô lập.
Câu hỏi và bài tập
1. Trình bày khái niệm và hai chức năng cơ bản của hệ điều hành.
2. Trình bày sơ lược về quá trình tiến hóa của hệ điều hành, những nét đặc trưng
nhất của mỗi lớp hệ điều hành. Nhận xét về quá trình tiến hóa đó.
3. Trình bày những bài toán điều khiển chủ yếu nhất của hệ điều hành truyền
thống và sơ bộ về một số giải pháp giải quyết mỗi bài toán đó.
4. Khái niệm vi nhân và sơ bộ về giải pháp vi nhân.
5. Tính mở và tính khả chuyển của hệ điều hành. Sơ bộ về giải pháp thi hành tính
mở và tính khả chuyển.
Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác
7/7

File đính kèm:

  • pdfso_luoc_ve_he_dieu_hanh_phan_tan_va_he_tu_tri_cong_tac.pdf