1. Trang chủ
  2. » Luận Văn - Báo Cáo

TỔNG QUAN VỀ HỆ PHÂN TÁN.doc.DOC

47 1,7K 33
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tổng Quan Về Hệ Phân Tán
Thể loại tài liệu
Định dạng
Số trang 47
Dung lượng 702,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TỔNG QUAN VỀ HỆ PHÂN TÁN.

Trang 1

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 đượcthiế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àinguyê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ácnhau, 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ậphợ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ớinhau

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ínhtoán dung cho mục đích chug của nhiều nhóm người sử dụng đến các hệ thốngtryề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ànhphâ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àinguyê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ữngthà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ệuvào những thông tin chung khác được thể hiện rõ trong hệ thống chia sẻ thời gianhoặc hệ thống nhiều người sử dụng vào đầu những năm 1960, vào các hệ thốngUNIX 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ủacá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ácchỉ có thể truy cập vào bằng con đường truyền thông Để dùng chung một cáchhiệ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ệntruyề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àinguyên thường xuyên và chắc chắn

Trang 2

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óphương thức 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àinguyê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ênchung, 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àinguyên để truy cập vào tài nguyên chung của hệ Chúng ta có thể phát triển phốicả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ộngrã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 đóngvai 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ạngnhất định, máy khách ( client ) cũng có nhiều tiến trình, mỗi tiến trình thựchiệ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ìnhkhá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úngcầ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ậptrung tài nguyên mà nó quản lý Việc cung cấp tài nguyên là bất đắc dĩ trongcá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ữacá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ệnnay, 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ưutrữ 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à dungchung 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ốtnày được quản lý riêng biệt trong hệ điều hành của mỗi máy, chúng chỉ đượcdù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áykhá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ềuhành phát triển mục đích chung

Trang 3

 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ìnhhướng đối tượng truyền thống, ở mô hình lập trình hướng đối tượng truyềnthố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òntrong 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ênchung được coi là một đối tượng Đối tượng được xác định là duy nhất và dichuyể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 đếncho thủ tục hoặc 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ụngxem xét tài nguyên theo một chá thông nhất Cũng như trong mô hình kháchchủ, 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ùngcho 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ở hoặc đóngcủ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ầncứng (ví dụ: bổ sung các thiết bị ngoại vi, bộ nhớ và các giao diện truyềnthông ) và hỗ trợ việc mở rộng các phần mềm, như: bổ sung thêm các tínhnă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àinguyên Tính mở của các hệ phân tán được đánh giá theo mức độ bổ sung cácdịch vụ chía sẻ tài nguyên mà không phá vỡ hoặc 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ườiphá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úngthực hiện các chương trình trong phạm vi các ngôn ngữ lập trình, nhưngkhô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 hoặc các tính 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ấpcho 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

Trang 4

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ôngqua 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 đượclậ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 hoặc 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ệncó

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 hoặc trình điềukhiể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ữngchươ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ốngnhấ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êncung 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 choviệ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ạithiế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ácchươ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ềuhà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ở ranhiều cơ hội để đạt được tính mở trong thiết kế hệ thống máy tính Nhờ đó, cáctiến trình chủ chạy được ở bất kỳ máy nào, bất kỳ hệ điều hành nào

c Tính đồng thời

Khi một số tiến trình cùng tồn tại trong một máy tính, ta nói rằng, chúng đượcthực hiện đồng thời Nếu máy tính chỉ có một bộ xử lý trung tâm, thì tính đồngthời xảy ra khi thực hiện xen kẽ, các phần của một tiến trình Nếu máy có n bộ xử

lý thì sẽ có n tiến trình được thực hiện đồng thời, tăng hiệu xuất tính toán lên n lần.Trong hệ phân tán thường có nhiều máy, mỗi máy co một hoặc nhiều bộ xử lýtrung tâm Nếu có m máy, mỗi máy có một bộ xử lý trung tâm, thì sẽ có tới m tiếntrình chạy song song, miễn là các tiến trình định vị ở các máy khác nhau Hệ phântán dựa trên mô hình chia sẻ tài nguyên như mô tả ở trên có nhiều cơ hội để thựchiện song song với 2 lý do:

 Nhiều người sử dụng đồng thời gọi tới lệnh hoặc tương tác với cácchương trình ứng dụng

Trang 5

 Nhiều trình chủ chạy đồng thời, mỗi trình chủ đáp ứng với yêu cầu màtrình khách đưa ra.

Trường hợp một xuất hiện do một hoặc nhiều tiến trình ứng dụng đang chạy đạidiện cho một người sử dụng đang hoạt động Trong phần lớn các kiến trúc của hệphân tán, các tiến trình ứng dụng chạy trong trạm làm việc của người sử dụng vàchúng không xung đột với tiến trình ứng dụng của những người sử dụng khác để

xử lý tài nguyên Nếu trạm làm việc chỉ có một bộ xử lý nhưng có nhiều tiến trìnhứng dụng, thì các tiến trình đó được thực hiện theo cách xen kẽ Trạm làm việc cónhiều bộ xử lý cho phép người sử dụng thực hiện các phép tính một cách songsong hoặc cho phép thực hiện các trình ứng dụng có khả năng khai thác nhiều bộ

xử lý

Trường hơp 2: là nảy sinh do mỗi loại tài nguyên đều có một hoặc nhiềutiến trình chủ Các tiến trình chủ được xử lý song song với nhau và với các tiếntrình khách đang chạy trên các trạm làm việc Những yêu cầu truy cập tài nguyêncủa một Server và được giải quyết một cách tuần tự hoặcgiải quyết đông thời một

số yêu cầu bằng tiến trình quản lý tài nguyên Khi một số chương trình sử dụng tàinguyên đồng thời truy cập cùng một tài nguyên, thì trình chủ phải đông bộ hoá cáchoạt động của chúng, để chúng không xung đột với nhau.Việc đồng bộ hoá phảiđược lập kế hoạch cẩn thận, không làm mất đi tính hữu ích của việc thực hiệnđồng thời

Tóm lại tính đồng thời náy sinh một cách tự nhiên trong các hệ phân tán,xuất phát từ các hoạt động riêng biệt của người sử dụng, tính độc lập của tàinguyên và vị trí của các trình chủ nằm ở các máy khác nhau Sự tách biệt của cáchoạt động cho phép việc xử lý được tiến hành song song ở các máy khác nhau.Việc truy cập đồng thời và cập nhật tài nguyên chung phải được đồng bộ hoá

d Tính quy mô

Hệ phân tán hoạt động hiệu quả ở nhiều quy mô khác nhau Hệ phân tán nhỏ nhấtchỉ gồm 2 trạm làm việc và một file Server, trong khi đó hệ phân tán xây dựng từmột mạng LAN có thể bao gồm vài trăm trạm làm việc và một số file Server, printServer và các Server có mục đích đặc biệt khác nhau Một số mạng LAN thườngđược kết nối với nhau thành các liên mạng và liên mạng có thể bao gồm hàngnghìn máy, nhưng chúng chỉ tạo thành một hệ phân tán nhờ khả năng chia sẻ tàinguyên của chúng

Phần mềm hệ thống và phần mềm ứng dụng không cần thay đổi khi quy môcủa hệ thống tăng lên Đặc tính này có được nhờ khả năng mở rộng của hầu hếtcác hệ phân tán hiện nay và các thành phần của chúng Tuy nhiên, cần có nhữngnghiên cứu sâu hơn về lĩnh vực này trong sự phát triển các hệ thống và các phầnmềm có quy mô rất rộng, hoặc khi xuất hiện các mạng hiệu suất cao

Nhu cầu về tính quy mô không chỉ là vấn đề của phần cứng hay hoạt độngcủa mạng Vấn đề này sẽ xuyên suốt toàn bộ các mặt thiết kể của hệ phân tán.Trong các hệ máy tính tập trung, những tài nguyên chung cố định như bộ nhớ, bộ

xử lý, kênh vào ra, đều thuộc tài nguyên cung cấp hạn chế và không thể thay thế

Trang 6

một cách vô định Hệ phân tán không bị hạn chế về vấn đề đó vì chúng có tiềmnăng không hạn chế về số máy tính, mỗi máy đều có bộ nhớ, có một hoặc nhiều bộ

xử lý trung tâm và kênh vào ra Nhưng chúng có thể có hạn chế khác nếu thiết kếcủa hệ thống không nhận thấy rõ nhu cầu về tính quy mô

Yêu cầu về tính quy mô trong các hệ phân tán đòi hỏi một thiết kế mà trong

đó không có tài nguyên nào (phần cứng hoặc phần mềm) bị coi là tài nguyên cungcấp hạn chế Như vậy phải mở rộng hệ thống để đáp ứng yêu cầu phát triển tàinguyên Có thể phải bổ sung các Server để tránh tình trạng tắc nghẽn xảy ra khimột file Server phải xử lý tất cả các yêu cầu truy cập file Một số file có thể đượctruy cập thường xuyên đến mức chỉ xử lý những yêu cầu truy cập file cũng có thểgây ra tắc nghẽn Trong trường hợp đó, các file phải được sao chép lạị ở nhiềuServer và hệ thống phải được thiết kế để sao cho khi các file sao chép được cậpnhật thì cập nhật đó được áp dụng cho toàn bộ các bản sao

Khi quy mô và độ phức tạp của mạng máy tính tăng lên, thì thách thức chủyếu là việc thiết kế các phần mềm hệ phân tán có hiệu lực đối với các cấu hìnhmới của mạng Hiện nay, Internet đã kết nối hàng triệu máy tính Yêu cầu là phảithiết kế những dịch vụ phân tán có khả năng hoạt động hiệu quả với hàng nghìnhoặc hàng triệu khách hàng Việc xử lý bất kỳ yêu cầu truy cập nguồn tài nguyênchung nào cũng cần phải độc lập, gần như không phụ thuộc vào kích cỡ của mạng

e Tính chịu lỗi

Các hệ máy tính đôi khi vẫn bị hỏng Khi phần cứng hoặc phần mềm xuất hiện

hư hỏng, các chương trình sẽ cho kết quả sai, hoặc bị dừng trước khi hoàn thànhphép xử lý đã định Các thiết kế của các hệ máy tính chịu lỗi hiện nay thường sửdụng các phương pháp sau:

 Dùng dư phần cứng (hardware redundancy): sử dụng các thành phần dư đểkhác phục lỗi

Một điểm cần lưư ý là cần phải thiết kế việc cấp phát phần cứng dư, saocho phần cứng khác có thể khai thác được cho các hoạt động tới hạn, không nguykịch (non critical) những lúc không bị lỗi Ví dụ, có thể thay thế cơ sở dữ liệutrong một số Server để bảo đảm có thể truy cập được sau khi bị lỗi ở bất kì Servernào Các Server được thiết kế để phát hiện lỗi ở cấp của chúng: Mỗi khi phát hiệnthấy lỗi ở một Server, các khách hàng sẽ được chỉ những Server còn lại Vớínhững kỹ thuật này, các hệ phân tán có khả năng chịu được của một số loại lỗiphần cứng với giá thành tương đối thấp

Trang 7

Việc khôi phục lỗi bằng phần mềm đòi hỏi thiết kế phần mềm, sao cho chúng cóthể phục hồi được của trạng thái dữ liệu thường có khi thấy lỗi Nói chung cácphép xử lý của chương trình sẽ thực hiện không hoàn tất khi có lỗi, và dữ liệu màđang dùng chưa được cập nhật (file và các dữ liệu lưu thường xuyên lâu dài)không còn ở trạng thái nhất quán nữa trong phần sau sẽ mô tả một cách số cơ chếlàm cho file và các dữ liệu lâu dài khác có thể tái lưu lại trạng thái ban đầu củachúng.

Các hệ phân tán có tính sẵn dùng cao, mặc dù có các lỗi phần cứng Tính sẵn dùngcủa hệ thống là phép đo tỉ lệ thời gian mà chúng sẵn sàng cho sử dụng Một lỗitrong hệ thống máy tính đa người dùng thường dẫn đến việc hệ thống không sẵnsàng cho tất cả những người sử dụng nó Khi một trong các thành phần của hệthống phân tán bị lỗi, thì chỉ hành động đó ảnh hưởng Người sử dụng có thể dichuyển đến trạm làm việc mới nếu trạm của họ bị hỏng, tiến trình của một Servercũng có thể khởi động lại được ở máy tính khác

Trong các mạng thành phần của hệ phân tán thường không có phần dư, do

đó lỗi của mạng sẽ làm cho các chương trình sử dụng mạng phải cho tạm dừng chođến khi khôi phục lại thông tin, làm gián đoạn các dịch vụ của người sử dụng Sựquá tải của mạng làm suy thái các hoạt động và làm cho các hoạt động của mạngtrở nên không trong cậy Do đó, người ta thường cố gắng những mạng tin cậy vàchịu lỗi

Để đáp ứng các yêu cầu thực tế, cần phải thiết kế các phần mềm đặc biệt để

xử lý tính năng đồng thời một cách đầy đủ và có khả năng chịu lỗi cao hơn so với

hệ khách chủ thông thường Mô hình lý tưởng dể xây dựng các chương trình đồngthời liên quan đến việc thay thế là mô hình nhóm tiến trình Mô hình này giúp chonhiều tiến trình đồng thời hợp tác với nhau bằng cách có chung một cơ chế thôngtin “mạng máy tính thực” gồm một tập hợp những tiến trình có thể được tạo lập,

mở rộng hoặc thu nhỏ kích cỡ theo yêu cầu

f Tính trong suốt

Tính trong suốt chính là việc che dấu không cho người sử dụng hoặc người lậptrình ứng dụng thấy sự tách biệt giữa các thành phần trong hệ phân tán, và như vậyngười sử dụng chỉ thấy hệ phân tán như một tổng thể, chứ không phải là tập hợpcác thành phần độc lập Tính trong suốt có ảnh hưởng lớn đến thiết kế các phầnmềm của hệ phân tán

Sự tách biệt giữa các thành phần là một đặc tính cố hữư của các hệ phântán Sổ tay tra cứu của ANSA (ANSA 1989) và mô hình tham khảo của tổ chứctiêu chuẩn quốc tế về xử lý phân tán mở RM-ODP (ISO 1992) đã định rõ 8 dạngcủa tính trong suốt đó là:

 Truy cập trong suốt: cho phép truy cập vào các đối tượng thông tincục bộ và các thông tin từ xa sử dụng các thao tác thống nhất

 Định vị trong suốt: cho phép các đối tượng thông tin có thể truycập, mà không cần biết đến vị trí của nó

Trang 8

 Tính tương tranh: Cho phép một số tiến trình hoạt động đồng thời

sử dụng những đối tượng thông tin chung mà không gây trở ngại chonhau

 Thay thế trong suốt: Cho phép sử dụng thường xuyên nhiều đốitượng thông tin để tăng độ tin cậy và hiệu suất hoạt động, không cần biếtcác thay thế mà người sử dụng thực hiện hay các chương trình ứng dụngthực hiện

 Lỗi trong suốt: giúp che dấu các lỗi, cho phép người sử dụng và cácchương trình ứng dụng hoàn tất công việc của mình mặc dù có lỗi ở cácthành phần phần cứng hoặc phần mềm

 Tính trong suốt di trú: Cho phép các đối tượng thông tin di chuyểntrong hệ thống mà không ảnh hưởng đến hoạt động của người sử dụnghoặc các chương trình ứng dụng

 Thực hiện trong suốt: Cho phép cấu hình lại hệ thống để cải tiếnviệc thực hiện, khi lượng nạp thay đổi

 Tính quy mô trong suốt: Cho phép mở rộng hệ thống và các ứngdụng không cần thay đổi cấu trúc hệ thống hay các thuật toán ứng dụng.Hai thuộc tính trong suốt quan trọng nhất là: Truy cập trong suốt và định vị trongsuốt Đôi khi chúng được xem là tính trong suốt của mạng Tính trong suốt củamạng cung cấp mức độ che dấu tài nguyên tương tự như trong các hệ tập trung

g Một số kết luận

Hệ phân tán đã trở thành điển hình về tổ chức các tiện ích tính toán Chúng

được dùng để khai thác các hệ máy tính tương tác lẫn nhau vì mục đích chung theokiểu UNIX, khai thác các ứng dụng thương mại và công nghiệp của các máy tính

ở một phạm vi lớn Chúng càng ngày càng được sử dụng nhiều hơn, làm cơ sở chocác ứng dụng mới trong các lĩnh vực như: các dịch vụ thông tin nối mạng và cácứng dụng đa phương tiện, trong đó việc truyên thông là một yêu cầu cơ bản

3 Vấn đề phối hợp thời gian trong hệ phân tán

a Một số khái niệm

Thời gian là một vấn đề thú vị và quan trọng và thú vị trong hệ phân tán, nó là mộtđại lượng mà ta luôn luôn đo được chính xác Muốn biết biến cố đã xẩy ra ở thờiđiểm nào đó Việc này được gọi là đồng bộ hoá ngoài Nếu đồng hồ trong các máytính được đồng bộ hoá lẫn nhau theo một mức độ chính xác nhất định, thì sẽ đođược khoảng thời gian giữa hai biến cố xảy ra ở hai máy khác nhau, căn cứ theođồng hồ tại chỗ của chúng: điều này được gọi là đồng bộ hoá trong Khi các máyđược đồng bộ hoá trong thì không cần đồng bộ hoá ngoài, ví chúng có thể bị lệch

so với thời gian bên ngoài

Cần chú ý là nhiều thuật toán dựa trên đồng bộ hoá đồng hồ để giải quyếtnhững vấn đề phân tán như: vấn đề duy trì tính nhất quán của dữ liệu phân tán(ví

dụ sử dụng nhãn thời gian để sắp xếp thứ tự các giao dịch), vấn đề kiểm tra tínhxác thực của các yêu cầu gửi đến máy chủ (như trong giao thức xác nhận tính xác

Trang 9

thực-kerberos) dựa vào các đồng hồ đồng bộ hoá, vấn đề không xử lý những gìđược cập nhật hai lần

Khái niệm thời gian vật lý vẫn còn là một vấn đề cần bàn trong hệ phân tán.Vấn đề không phải là do hiệu ứng không đáng kể của tính tưng đối trong máy tínhthường( trừ khi tính đến cả những máy đang di chuyển trên tàu vũ trụ), mà là cácvấn đề liên quan đến khả năng hạn chế trong việc truyền thông tin từ máy này đếnmáy khác Bởi vì, trong phần lớn các trường hợp, đồng hồ ở các máy khác nhauchỉ có thể đồng bộ hoá bằng con đường truyền thông mạng Thông báo truyền đi

bị hạn chế bởi tốc độ, nhưng điều đó không quan trọng nếu ta biết việc chuyểnthông báo mất bao nhiêu thời gian Vấn đề là ở chỗ ta không thể đoán biết đượcthời gian cần để gửi thông báo đi Phần sau nêu những phưng pháp đồng bộ hoáxấp xỉ các đồng hồ máy tính bằng cách chuyển thông báo Song trong nhiềutrường hợp vẫn không thể xác định chính xác trật tự của các biến cố ở các máykhác nhau, Một điều may mắn là chúng ta có thể xác lập trật tự của mọt số biến cốcăn cứ theo luồng giữ liệu giữa các tiến trình trong hệ phân tán Trong phần nàyxem xét đến những đồng hồ logic dùng để xác định trật tự biến cố không cần đothời gian vật lý mà chúng xẩy ra

b Đồng bộ hoá các đồng hồ vật lý

Mỗi máy đều có một đồng hồ vật lý riêng: đó là một thiết bị điện tử đếm số daođộng trong tinh thể với tần số xác định, và chỉ số giao động đếm được, đồng thờilưu kết quả vào thanh ghi đếm Có thể lập trình cho đồng hồ để tạo ra nhữngquãng ngắt đều đặn, tuy nhiên ta sẽ không đi sâu vào phương tiện hoạt động này

Có thể đọc đồng hồ bằng phần mềm và có giá trị đọc được này dùng để dán nhãnthời gian cho bất cứ biến cố nào của tiến trình thực hiện ở máy này ở đây ta hiểu

“biến cố” là hoạt động đột nhiên xảy ra không chia tách được- như gửi hoặc nhậnthông báo Các biến cố kế tiếp nhau chỉ tương ứng với các nhãn thời gian khácnhau nếu độ phân giải của đồng hồ( quãng thời gian giữa lần cập nhật cho thanhghi giờ) nhỏ hơn tốc độ xẩy ra biến cố

Trong những ứng dụng, chỉ cần quan tâm đến trật tự biến cố, chứ không cầnqua tâm đến thời gian tuyệt đối mà biến cố xẩy ra, tức là, chỉ đòi hỏi giá trị trong

bộ đếm để dán nhãn cho biến cố Tuy nhiên có thể tính được cả ngày và thời giantrong ngày từ giá trị của bộ đếm, miễn là đã biết một vái giá trị thời gian gần đâycủa bộ đếm

Độ lệch giờ: Đồng hồ tinh thể trong máy tính, cũng như các đồng hồ khác, đều

bị lệch giờ, tức là chúng ta đếm giờ với tốc độ khác nhau và do đó lệch nhau.Những thiết kế hiện có đều cố gắng khắc phục sự biến đổi này, nhưng vẫn khôngtriệt để Sự khác biệt về chu kỳ dao động sẽ dấn đến khác biệt rõ ràng trong thanhghi đếm mà hai đồng hồ ghi được, dù chúng khởi động cùng giá trị Độ lệch giờchính là sự thay đổi từng đối giữa một đồng hồ với đồng hồ tham chiếu trong một

đn vị thời gian của đồng hồ tham chiếu Trong những đồng hồ tinh thể Quartz, độlệch này khong 10-6 tức là cứ 1.000.000 giây hay 11,6 ngày thì lệch 1 giây

Phối hợp thời gian toàn cầu: Nững đồng hồ vật lý nối tiếp chính xác nhất đều dùng

bộ tạo giao động nguyên tử, độ chính xác của chúng khong 10-13 Đầu ra của

Trang 10

đồng hồ nguyên tử được dùng để làm chuẩn cho thời gian thực, gọi là thời giannguyên tử quốc tế Từ năm 1967, một giây chuẩn được xác định là 9.192.631.770chu kỳ dịch chuyển giữa hai mức trạng thái siêu mịn của caseium-133.

Thời gian phối hợp toàn cầu ( viết tắt là UTP ) là một tiêu chuẩn quốc tế dựatrên thời gian nguyên tử, nhưng dôi khi phi chèn thêm hoặc xoá di một giây dểbằng với thời gian thiên văn.Tín hiệu UTC được dồng bộ hoá và truyền qung báthường xuyên từ các dài radio mặt dất và vệ tinh trên khắp thề giới.Ví dụ, ở Mỹ,đài radio WWV phát tín hiệu thời gian trên một tần số sóng ngắn Các nguồn vệtinh gồm có vệ tinh môi trường hoạt động địa tĩnh (GOES) và hệ thống định vịtoàn cầu (GPS Global Positioning System)

Sóng radio có tồc độ gần bằng tốc độ ánh sáng (3 108 m/s ), vì vậy trễ truyềnchúng khá bé.Ví dụ, thời gian để truyền thời gian suốt dọc chiều dài nước Mỹ(khoảng 1000km ) chỉ mất khong 3 miligiây Trễ truyền dẫn có thể tính được nếubiết chính xác tốc độ chuyền tín hiệu radio và khoảng cách từ nguồn Rủi thay tốc

độ truyền lại thay đổi theo điều kiện khí quuyển và do đó làm tang sai số Nóichung, sự chính xác của tín hiệu thu được là mọt hàm bao gồm cả sự chính xác củanguồn, và khoảng cách của nguồn qua khí quyển

Đài thu có sẵn trên thị trường So sánh với UTC “hoàn hảo”, tín hiệu thuđược từ các đài mặt đất có độ chính xác từ 0, 1-10 miligiây, tuỳ theo vị trí của đài.Tín hiệu thu từ vệ tinh GOES có độ chính xác khoảng 0,1 miligiay Những máycóđài thu gắn liền có thể đồng bộ các đồng hồ của chúng với những tín hiệu thời giannày Đáng tiếc là đài thu đắt tiền hơn so với trạm làm việc đặc biệt là những đàithu dùng để đồng bộ hoá với nguồn thời gian vệ tinh

Cần chú ý rằng: độ đo thời gian có độ chính xác 10 miligiây rất hạn chế trong việccho biết chật tự từng đối của biến cố xẩy ra ở nhiều máy khác nhau trong hệ phântán Trong 10 miligiay với bộ sử lý tôc độ10 triệu lệnh/giâycó thể thục hiện

100000 lệnh, và thời gian đó có thể chuyển đưc một số thông báo ngắn

Bù vì lệch giờ: Nếu thời gian nhận được từ một dịch vụ thời gian (chẳng hạn dịch

vụ tín hiệu thời gian phối hợp toàn cầu ), lớn hơn thời gian của máy cần đồng bộ,thì chỉ cần để đồng hồ trong máy bằng thời gian của dịch vụ, bởi vì làm như vậy sẽgây ra sự đo lộn những ứng dụng dựa trên giả thuyết là thời gian luôn tăng Giảipháp cho trường hợp này không phải là chỉnh lại đồng bộ, mà là làm cho nó chạychậm hơn trong các chu kỳ tiếp theo, cho đến khi nó phù hợp với thời gian cậpnhật cho các ứng dụng bằng phần mềm, mà không cần thay dổi tốc độ của đồng hồphần cứng (một việc không phải lúc nào cũng làm được với các đồng hồ phầncứng)

Ta gọi thời gian cung cấp cho các ứng dụng (số ghi của đồng hồ phần mềm)

là S và thời gian trong đồng hồ phần cứng là H Giả sử hệ số bù là , như vậyS(t)=H(t) + (t) (*) Dạng đơn giản nhất để  làm cho S thay đổi liên tục là:  làmhàm tuyến tính của đồng hồ phần cứng: (t)=aH(t)=b, trong đó a và b là nhữnghằng số tìm được Khi đó, thay thế giá trị của  vao biểu thức (*) ta có:

S(t)= (1+ a) H(t) +b

Trang 11

Giả sử giá trị của đồng hồ phần mềm là Tskew khi H=h, giả sử thời gianthực tế ở thời điểm đó là Treal Ta có Tskew > Treal hoặc Tsaw <Treal Nếu Scho biết thời gian thực tế sau N tích tắc tiếp theo, ta sẽ có:

Tsew = (1+a)h+b và Treal + N=(1+a)(h+N)+b

Giải phươg trình ta có:

a = (Treal - Tsew)/N và b = Tsew-(1+a)h

Phương pháp đồng bộ hoá đồng hồ của Christian : một cách khác để đồng

bộ hoá giữa các máy trong hệ phân tán là để tiến trình dịch vụ thời gian trung tâmcung cấp thời gian theo đồng hồ của nó vào lúc có yêu cầu, như trong hình 1.4.Máy cung câp dịch vụ thời gian có thể lắp thêm một máy thu phù hợp để đồng hồ

bộ hoá với UTC Nếu một tiến trình P yêu cầu thời gian trong thông báo mn, vànhận được giá trị thời gian T trong thông báo mt, thì theo nguyên tắc, nó có thểchỉnh đồng hồ ở thời gian t + Ttrans, trong đó Ttrans là thời gian chuyển mt từ S - P (tđược chèn vào mt vào điểm cuối trước khi truyền từ máy S )

Điều không may là Ttrans là đại lượng biến đổi : nó phụ thuộc vào số lượng cáctiến trình khác đang cạnh tranh với S và P về tài nguyên trong mỗi máy, và nhữngthông báo khác cạnh tranh với mt về mạng nói chung, các tham số này không thể

dự đoán và thực tế không thể đo chính xác trong các cài đặt Nói chung, ta có thểxem Ttrans = min + x, trong đó x>= 0 Giá trí nhỏ nhất min chỉ có thể có được nếukhông có tiến trình khác thực hiện và không có giao thông mạng nào khác diễn ra,min có thể đo được hoặc ước lượng được Giá trị x trong trường hợp cụ thể khôngnhận biết được, mặc dù có thể đo các giá trị phân tán cho một cài đặt cụ thể

Cristian đề xuất sử dụng dịch vụ thời gian nối với thiết bị thu tín hiệu UTC đểđồng bộ hoá các máy tính Việc đồng bộ hoá giữa dịch vụ thời gian và đài thuUTC của nó có thể thực hiện bằng phương pháp tương tự như thủ tục đồng bộ hoágiữa các máy tính Tiến trình P muốn biết thời gian của S có thể ghi lại tổng thờigian round-trip Tround (thời gian từ khi gửi yêu cầu mr và nhận phúc đáp mt ) nó

có thể đo thời gian này với mức độ chình xác hợp lý nếu như độ lệch đồng hồ của

nó khá nhỏ.Ví dụ, thời gian round-trip là trong khoảng 1-10 miligiây trên LAN,trong thời gian đó một đồng hồ bị lệch 10-6 chỉ khác biệt đi nhiều nhất là 10-5miligiây

Giả sử thời gian trở về trong thông báo mt của S là t Một ước lượng đơn giản

về thời gian mà P phải chỉnh đồng hồ là t + Tround/ 2 Gi sử rằng thời gian giữa việcgửi thông báo mr và thời gian nhận thông báo mt tương ứng là min + x và min+ y.Nếu giá trị min đã biết hoặc có thể ước lượng gần đúng, thì ta có thể xác định độchính xác của kết quả có được theo lập luận sau: Thời điểm sớm nhất mà S có thểđưa giá trị thời gian vào trong mt là min, sau khi P gủi mr đi Thời điểm muộn nhất

mà nó thưc hiện xong là min, trước khi mt đến P Do đó,thời gian thông báo phúcđáp đến nơi tính theo đồng hồ của S là nằm trong khoảng [t + min, t+ Tround - min]

Độ rộng của khoảng này là Tround- 2*min, do đó độ chính xác là (Tround- 2*min)

Trang 12

Sự biến đổi có liên quan đến việc mở rộng một số yêu cầu cho T và lấy giá trịnhỏ nhất của Tround để ước lượng với độ chính xác cao nhất Độ chính xác củacác yêu cầu càng lớn, thì khả năng thực hiện được nó càng nhỏ Bởi vì những kết

qu chính xác nhất chỉ có thể có được khi chuyển các thông báovào thời gian gầnmin nhất- tức là biến cố không thể xẩy ra khi mạng đang bận

Thuật toán của Christian: Như đã nói trên, phương pháp của cristian còn phảinghiên cứu đến trường hợp tất cả các dịch vụ được thực hiện bởi một máy chủ, màdịch vụ thời gian của nó bị hỏng dẫn tới việc không thể đồng bộ hoá tạm thời.Christian đưa ra giải pháp cung cấp thời gian bằng một nhóm dịch vụ thời gian đãđược đồng bộ hoá, mỗi dịch vụ có một máy thu các tín hiệu thời gian UTC Ví dụ,một khách hàng có thể gửi yêu cầu đến mọi Server và chỉ sử dụng phúc đáp nàonhận được đầu tiên

Nếu dịch vụ thời gian bị trục trặc thì nó sẽ phúc đáp với giá trị thời giankhông xác thực, điều này có thể gây ra nỗi tiến trình: trong hệ máy tính

Marzullo(1984) đã tìm được phương pháp phân biệt những dịch vụ tốt vớinhững dịch vụ cho thời gian không xác thực, miễn là những dịch vụ không xácthực đó chỉ là thiểu số (không vượt quá 1/3 tổng số các dịch vụ ) Vấn đề liên quanđến đồng hồ hỏng được xử lý từng phần bằng thuật toán Berkeley mô tả dưới đây.Vấn đề đồng bộ hoá thời gian, được xử lý bằng các kĩ thuật xác nhận

Một Server kỹ thuật xác nhận về phía mình, cũng phụ thuộc vào độ chính xác củaviệc đồng bộ hoá

Thuật toán Berkeley:

Guslla và Zatti (1989) mô tả thuật toán đồng bộ hoá bên trong dùng chonhững máy chạy UNIX Berkeley Theo thuật toán, máy điều vận (coodinatorcomputer) được chọn làm máy chủ (master) Không giống như giao thức củaCristian, máy này thăm dò định kì những máy khác có đồng hồ được đồng bộ hoá(gọi là các slave) các máy slave gửi các giá trị đồng hồ của chúng cho máy chủ,máy chủ ước tính đồng hồ thời gian tại chỗ của nó, bằng cách quan sát thời gianround-trip (tưng tự như kỹ thuật của Cristian ) và nó tính đến giá trị trung bình củacác giá trị nhận được (kể c đọc giờ tại chỗ của nó ) Server cân bằng các khả năngchính là ở chỗ giá trị trung bình này đã chặn ngang xu hướng chạy nhanh hoặcchậm của các đồng hồ Độ chính xác của giao thức phụ thuộc vào thời gian round-trip lớn nhất đã nhận được giữa máy chủ và máy slave Máy chủ ngăn ngừa mọitrường hợp đọc thời gian lớn hơn giá trị lớn nhất đã nhận ra này

Thay vì gửi thời gian cập nhật mới nhất cho những máy khác( những máynày có thể báo thời gian không chắc chắn do thời gian chuyển trường hợp thôngbáo) - máy chủ sẽ gửi giá trị thời gian mà đồng hồ trong mỗi máy slave yêu cầuđiều chỉnh Giá trị thời gian này có thể dương hoặc âm

Thuật toán nhằm loại bỏ kết quả đọc ở những đồng hồ chạy lệch qua nhiều,những đồng hồ hỏng và loại bỏ kết quả đọc không xác thực Máy chủ chỉ tính giátrị trung bình của những đồng hồ không lệch nhau quá một lượng thời gian xácđịnh nào đó

Trang 13

Gusella và Zatti đã thí nghiện trên 15 máy tính có đồng hồ đồng bộ hoátrong khoảng 20->25 miligiây sử dụng giao trường hợp phức của chúng Mức lệchtại chỗ của các đồng hồ đo được nhỏ hơn 2x10-5và thời gian round-trip tối đa là 10miligiây.

c Thời gian logic và đồng hồ logic

Trong trường hợp máy chủ bị hỏng, một máy khác sẽ được chọn để thực hiện chứcnăng của máy đó Trong phần sau sẽ mô tả một số thuật toán dùng cho việc lựachọn máy chủ thay thế nói trên, tuy nhiên các thuật toán này không bảo đảm đượcchọn được máy chủ mới trong thời gian tới hạn

Giao thức thời gian mạng: (NTP)

NTP là một kiến trúc cho dịch vụ thời gian và là một giao thức để phân tán cácthông tin về thời gian trên nhiều mạng liên kết NTP được thừa nhận như là mộttiêu chuẩn để đòng bộ hóa đồng hồ trên Internet Thiết kế NTP nhằm thực hiện cácmục đích sau:

 Cung cấp các dịch vụ giúp các khách hàng trên Internet đồng bộ hóachính xác theo UTC, dù có thể gặp giá trị trễ lớn hoặc trễ biến đổi trongtruyền thông Internet NTP áp dụng kỹ thuật thống kê để lọc giữ liệu thờigian và phân biệt chất lượng giữ liệu thời gian với các server khác

 Cung cấp các dịch vụ tin cậy, tránh bị mất kết nối lâu dài: Cần cónhững server dư và đường dẫn dư giữa các server Các server có thể cấuhình lại để vẫn cung cấp được dịch vụ nếu một trong số chúng không dùngđược

 Giúp các client (máy khác) tái đồng bộ hóa một cách thường xuyên

và hiệu quả, nhằm điều chỉnh tốc độ lệch trong hầu hết các máy tính Dịch

vụ được thiết kế phục vụ cho số lượng lớn các client và server

 Để bảo vệ dịch vụ thời gian, không cho chỉnh lại dịch vụ thời giancác dịch vụ thời gian luôn sử dụng các kỹ thuật xác nhận để kiểm tra dữliệu thời gian từ các nguồn ủy thác yêu cầu và xác nhận địa chỉ gửi thôngbáo cho nó

Dich vụ giao thức thời gian mạng được cung cấp bởi mạng cáacServer định vị quaInternet Các Server quan trọng nhất được kết nối trực tiếp tới nguồn thời gian nhưmáy thu thời gian UTC Các Server phụ được đồng bộ hóa dựa trên Server thứnhất Các Server được kết nối theo thứ bậc logic gọi là mạng con đồng bộ (hình1.5), các cấp được gọi là “giai tầng” Server chủ chiếm giai tầng 1: chính là gốccủa cây Các Server giai tầng 2 là dịch vụ phụ, chúng được đồng bộ hóa trực tiếp

từ Server chủ, các Server giai tầng 2 được đồng bộ hóa dựa trên Server giai tầng 1,

và tiếp tục như vậy cho các mức thấp hơn Server mức thấp được Server Serverthấp nhất được thực hiện trong các trạm của người Server sử dụng

Các đồng hồ có quan hệ với các Server có Server số hiệu giai tầng cao cókhả năng không chính xác bằng các đồng hồ có quan hệ với các dịch vụ có Server

số hiệu giai tầng thấp hơn, do lỗi này sinh ở các mức đồng bộ NTP cũng tính đếntổng thời gian trễ thông báo round-trip tới gốc trong việc đánh giá chất lượng của

dữ liệu đồng hồ, được cất giữ trong các dịch vụ riêng biệt

Trang 14

Hình I.1 Một mạng con đồng bộ hóa đơn giản Server sử dụng trong cài đặt NTP (hướng mũi tên chỉ hướng điều khiển đồng bộ, các Server biểu thị các cấp)

Mạng con đồng bộ hóa cũng có thể cấu hình lại như trong trường hợp các dịch

vụ bị lỗi Nếu như nguồn UTC trong dịch vụ chủ bị lỗi, thì nó có thể trở thành dịch

vụ phụ của giai tầng một Nếu tài nguyên dùng cho việc đồng bộ hóa trong dịch vụphụ lỗi thì nó có thể đồng bộ với các dịch vụ khác

Dịch vụ NTP được đồng bộ nhờ một trong ba chế độ : Multicast, gọi thủtục(procedure call) và đối xứng (Symmetric) Chế độ Multicast thường dùng trongcác mạng LAN, tốc độ cao Một hoặc một số các dịch vụ định kỳ truyền bá

(Multicast) thời gian tới các dịch vụ chạy trong các máy tính khác kết nối với nóqua LAN, các đồng hồ của máy tính này xem như có trễ khá nhỏ Chế độ này chỉthực hiện được với độ chính xác tương đối thấp, tuy nhiên chúng có khả năng duytrì một số mục đích

Chế độ gọi thủ tục tưng tự như thuật toán xử lý của Christian mô tả trên đây.Trong chế độ này một máy chủ sẽ nhận các yêu cầu từ máy tính khác, các yêu cầu

đó sẽ được đáp ứng thông qua việc phuc đáp với nhãn thời gian của nó Chế độnày thích hợp cho các mạng đòi hỏi độ tin cậy cao và do đó nó có thể thực hiệntrong trường hợp Multicast hoặc ở những mạng phần cứng không hỗ trợ Multicast

Ví dụ, các file Server trong cùng mạng hoặc trong mạng LAN khác kết nối với nó,cần phải lưu giữ các thông tin về thời gian cho những lần truy cập file một cáchchính xác, chúng cũng có thể giao tiếp với Server chủ cục bộ trong chế độ gọi thủtục

Cuối cùng, chế độ đối xứng thường được Serverử dụng trong các Serverchủ( những máy cung cấp các thông tin thời gian trong các mạng LAN) và các conđồng bộ hóa mức cao ( giai tầng thấp ), những nơi đòi hỏi tới độ chính xác caonhất Mỗi cặp máy chủ hoạt động trong chế độ đối xứng trao đổi các thông báomang thông tin thời gian với nhau Dữ liệu thời gian được giữ lại như một phầncủa Server kết hợp giữa các máy chủ, và được duy trì nhằm làm tăng độ chính xáccủa việc đồng bộ hóa thời gian của chúng

Trong tất cả các chế độ nêu trên, các thông báo được chuyển phát không đáng tincậy như trong Server sử dụng giao thức truyền thông Internet chuẩn UDP Trongchế độ gọi thủ tục và trong chế độ đối xứng các thông báo được trao dổi theo từng

1

Trang 15

cặp Mỗi thông báo mang một nhãn thời gian của biến cố thông báo hiện tại baogồm: các giá trị thời hạn cục bộ khi gửi và nhận thông báo NTP trước đó, và thờiđiểm truyền thông báo hiện tại Người nhận thông báo NTP sẽ ghi lại thời gian cục

bộ khi nhận được thông báo Bốn đơn vị thời gian Ti-3, Ti-2, Ti-1 và Ti của các thôngbáo m được gửi giữa các Server A và B, được mô tả như trong hình 1.6 Chú ýrằng, không giống như thuật toán Christian, chế độ đối xứng có thể có trễ khá lớn

từ lúc thông báo tới khi gửi thông báo tiếp theo Vì vậy, các thông báo có thể bịmất, nhưng các nhãn thời gian mang theo trong mỗi thông báo vẫn có giá trị

Máy chủ A Ti-2 Ti-1 thời gian

Máy chủ B Ti-3 Ti

Hình 1.6 Truyền dẫn các thông báo giữa các cặp NTP ngang hàng Với mỗi cặp các thông báo được gửi giữa hai Server, giao thức thời gian mạngNTP sẽ tính giá trị ước lượng độ lệch thực tế Oi giữa hai đồng hồ, và tổng trễ thờigian truyền dẫn hai thông báo di Nếu độ lệch của đồng hồ trong B đối với A là O,

và nếu thời gian truyền dẫn cho các thông báo m và m* tương ứng là t và t*, thì tacó:

Ti-2 = Ti-3 + O và Ti = Ti-1+ t* - O

đặt a=Ti-2-Ti-3 và b=Ti-1- Ti ta có:

d1= t + t* = a- b

Tương tự: O= Ti-2, Ti-3 = Oi + ( t*- t )/2, trong đó Oi=(a+b)/2;

Trên thực tế t, t* >=0, nên ta có Oi + di/2 >= 0 >=(Oi -di/2) Biểu thức nàychứng tỏ Oi là một ước lượng của độ lệch, và di là một phép đo chính xác của giátrị ước tính này

Các dịch vụ NTP áp dụng thuật toán lọc dữ liệu cho các cặp kế tiếp (Oi,di), cáccặp này ước tính độ lệch O và tính toán chất lượng ước tính đó bằng hàng loạt cácthống kê gọi là phân toán học Độ phân tán lọc cao biểu thị dữ liệu có độ tin cậythấp Cũng như thuật toán Christian, giá trị của Oi tương ứng với giá trị nhỏ nhấtcủa dj được chọn làm giá trị ước lượng O

Tuy nhiên, giá trị độ lệch nhận được được từ truyền thông với một nguồnkhông cần thiết phải dùng để điều chỉnh đồng hồ địa phương Nói chung, một NTPServer trao đổi thông báo với một dịch vụ ngang hàng với nó Ngoài việc lọc dữliệu để trao đổi với từng dịch vụ ngang hàng, NTP còn áp dụng thuật toán chọnngang hàng Khảo sát những giá trị nhận được từ việc trao đổi với các dịch vụngang hàng này, sẽ tìm ra được những giá trị không tin cậy Đầu ra của thuật toánnày có thể làm cho dich vụ phi thay đổi các dịch vụ ngang hàng mà lúc đầu nó đãdùng để đồng bộ hóa

Trang 16

Những dịch vụ ngang hàng có chỉ số giai tầng thấp ưa chuộng hơn nhưngdịch vụ ngang hàng ở giai tầng cao, vì chúng “gần” với các nguồn thời gian cấp 1hơn Tương tự, nhưng dịch vụ ngang hàng có độ phân tán đồng bộ hóa thấp nhấtđược ưa chuộng hơn Đây chính là tổng của bộ phân tán của bộ lọc đảo được giữadịch vụ và gốc của mạng đồng bộ con, (độ phân tán đồng bộ hóa trao đổi nganghàng trong các thông báo, cho phép tính được tổng này).

Theo Mill, trong năm 1991, khong 20->30 Server cấp 1 và hơn 2000 Server cấp 2hoạt động trên Internet, gồm ở Mỹ, Canada, Anh và Na uy Server cấp 1 thườngtrao đổi thông báo với hầu hết các Server cấp 1 khác Server cấp 2 đặc biệt thườngthông tin với 1 Server ngang hàng ở cùng giai tầng và hai Server ngang hàng khác

ở giai tầng thấp nhất tiếp theo

Các phép đo cho thấy lỗi đồng bộ hóa không quá 30 mili giây, nhưng chỉ1% giá trị thời gian mẫu lấy từ các Server được đồng bộ hóa bởi NTP Hơn nữa,bằng việc c chế vòng lặp đồng hồ để điều chỉnh tần số của các đồng hồ cục bộtrong việc đáp ứng với giữ liệu bù thêm, có thể đạt được độ chính xác ở mức 1mili giây bằng việc thực hiện nhiều chu kỳ trong một giờ Tuy nhiên không bảođảm có giới hạn nào về sự khác nhau giữa hai đồng hồ

Mô hình vồng lặp đồng hồ pha đã được Mills đưa ra vào năm 1991 Môhình này bao hàm cả việc chỉnh tần số đồng hồ địa phưng theo sự quan sát tốc độlệch của nó Xét ví dụ đơn giản, nếu thấy một đồng hồ luôn chạy nhanh 4 giâytrong 1 giờ thì tần số của nó có thể giảm nhẹ (bằng phần mềm hoặc bằng phầncứng) để bù cho việc chạy nhanh này Do đó, độ lệch đồng hồ trong các khoảngthời gian giữa các lần đồng bộ hóa sẽ giảm đi

Người ta quan niệm rằng bất kì một tiến trình đơn, một biến cố nào đều cóthể sắp xếp một cách duy nhất theo thời gian của đồng hồ địa phương Tuy nhiên,

vì chúng ta không thể đồng bộ hóa một cách hoàn hảo các đồng hồ cục bộ trong hệphân tán, nên nói chung ta không thể sử dụng thời gian vật lý để tìm ra trật tự củacặp biến cố bất kỳ nào xẩy ra trong nó

Nói chung, ta có thể sử dụng một sơ đồ tương tự tính nhân quả vật lý,nhưng nó chỉ được áp dụng trong hệ phân tán, để sắp xếp một biến cố xảy ra ở cáctiến trình khác nhau Việc sắp xếp này dựa trên hai điểm sau:

 Nếu hai biến cố xẩy ra trong cùng một tiến trình thì chúng xẩy ra theo trật

Ta sẽ viết X->p Y nếu hai biến cố X và Y xẩy ra trong cùng một tiến trình p,và X

xy ra trước Y Sử dụng trật tự giới hạn này ta có thể xác định mối quan hệ xảy ratrước, biểu thị bằng kí hiệu->p như sau:

 HB1: nếu tồn tại tiến trình p: X->p Y, thì X->Y

Trang 17

 HB2: đối với thông báo m bất kỳ: gửi(m)->nhận (m)Trong đó: gửi(m) là biến cố gửi thông báo, và nhận (m) là biến cố nhậnthông báo.

 HB3: nếu X,Y và Z là những biến cố mà Y->Yvà Y->Z, thì X->Z

Do đó, nếu X->Y thì ta có thể tìm được một dãy các biến cố e1, e2, e3, en xảy ratrong một hoặc một số tiến trình mà x=e1 và y=en, và với i=1,2 n-1, HB1 hoặcHB2 áp dụng được giữa ei và ei+1, điều này có nghĩa là chúng xảy ra liên tiếp trongcùng tiến trình, hoặc có một thông báo m nào đó mà ei=gửi(m) và ei+1=nhận(m).dãy các biến cố e1, e2, e3…en không cần thiết phải duy nhất

PHẦN II: TIẾN TRÌNH HỆ ĐIỀU HÀNH PHÂN TÁN.

Trang 18

I TỔNG QUAN VỀ HỆ ĐIỀU HÀNH.

Hệ điều hành là một chương trình hay một hệ chương trình hoạt động giữa

người sử dụng (user) và phần cứng của máy tính Mục tiêu của hệ điều hành làcung cấp một môi trường để người sử dụng có thể thi hành các chương trình Nólàm cho máy tính dể sử dụng hơn, thuận lợi hơn và hiệu quả hơn

Hệ điều hành là một phần quan trọng của hầu hết các hệ thống máy tính Một hệthống máy tính thường được chia làm bốn phần chí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 bộ xử lý thông tin với nhau thông qua các đường truyền thông như những bustốc độ cao hay đường dây điện thoại

Các bộ xử lý trong hệ phân tán thường khác nhau về kích thước và chức năng Nó

có thể bao gồm máy vi tính, trạm làm việc, máy mini, và những hệ thống máy lớn.Các bộ xử lý thường được tham khảo với nhiều tên khác nhau như site, node,computer v.v tùy thuộc vào trạng thái làm việc của chúng

Các nguyên nhân phải xây dựng hệ thống phân tán là:

Chia xẻ tài nguyên : Một người sử dụng A có thể sử dụng máy in laser của

người sử dụng B và người sử dụng B có thể truy xuất những tập tin của A.Tổng quát, chia xẻ tài nguyên trong hệ thống phân tán cung cấp một cơ chế đểchia xẻ tập tin ở vị trí xa, xử lý thông tin trong một cơ sở dữ liệu phân tán, in

ấn tại một vị trí xa, sử dụng những thiết bị ở xa đểõ thực hiện các thao tác

Tăng tốc độ tính toán : Một thao tác tính toán được chia làm nhiều phần nhỏ

cùng thực hiện một lúc Hệ thống phân tán cho phép phân chia việc tính toántrên nhiều vị trí khác nhau để tính toán song song

An toàn : Nếu một vị trí trong hệ thống phân tán bị hỏng, các vị trí khác vẫn

tiếp tục làm việc

Thông tin liên lạc với nhau :Có nhiều lúc, chương trình cần chuyển đổi dữ

liệu từ vị trí này sang vị trí khác Ví dụ trong hệ thống Windows, thường có sựchia xẻ và chuyển dữ liệu giữa các cửa sổ Khi các vị trí được nối kết với nhautrong một hệ thống mạng, việc trao đổi dữ liệu diễn ra rất dễ Người sử dụng cóthể chuyển tập tin hay các E_mail cho nhau từ cùng vị trí hay những vị tríkhác

Trong thời gian hiện tại đồng thời phát triển một số loại hệ điều hành theo các yêucầu và các giải pháp khác nhau nhằm hỗ trợ cho việc đáp ứng yêu cầu của từngngười sử dùng đến một tập thể và toàn bộ những người sử dụng máy vi tính Vìvậy, theo những yêu cầu khác nhau thì việc phát triển hệ điều hành theo các hướngkhác nhau là điều đương nhiên

Trang 19

Để phân loại hệ điều hành chúng tôi phân loại theo yêu cầu của người sử dụngchúng ta có thể chia làm ba loại hệ điều chính như sau:

 Hệ điều hành tập trung: Các hệ điều hành này có thể là đơn xử lý hoặc đa xử

lý Hệ thống này cung cấp các khả năng tốt nhất dùng để cho một người haymột số lượng nhỏ người sử dụng yêu cầu xử lý có độ phức tạp về việc quản lýfile, bộ nhớ và các bộ vi xử lý

 Hệ điều hành mạng: cấu trúc cũng giống như hệ điều hành trên nhưng chúngtập trung quản lý về việc chia sẻ tài nguyên, các giao dịch từ xa, anh ninhmạng,… nói chung tập trung vào các giao tiếp trên mạng về các tài nguyên

 Hệ điều hành phân tán: hệ điều hành phân tán nhìn qua thì cũng tương tự như

hệ điều hành mạng nhưng có điểm khác là tính chất trong suốt Do đó, chúng takhi sử dụng hệ điều hành hệ phân tán chúng ta không hề cảm thấy khó khănbởi vì toàn bộ hệ thống phân tán đều được che dấu đối với người sử dụng.Trong hệ điều hành này, đối với người sử dụng không có sự phân biệt giữa truynhập từ xa hay ngay trong hệ thống của các tài nguyên được truy nhập đến

II TIẾN TRÌNH HỆ ĐIỀU HÀNH PHÂN TÁN.

Trước khi chúng ta nghiên cứu về các tiến trình trong hệ điều hành phân tán chúng

ta cần xem kiến trúc nói chung của một hệ phân tán Qua đó, chúng ta thấy đượccác chức năng, vai trò của hệ điều hành phân tán Từ đó, chúng ta có thể phân tíchcác tiến trình trong hệ điều hành phân tán

Máy chủ chuyên trách

Trang 20

Hình 2.2 Kiến trúc hệ phân tán và middleware.

1. Mục đích hệ điều hành phân tán.

Ngoài các mục đích cơ bản của hệ điều hành đó là: độ tin cậy cao, an toàn, hiệuquả trong xử lý, tính kế thừa, thuận tiện cao Thì trong hệ điều hành phân tán cònphải đáp ứng các tính chất mà chúng ta luôn cần đến đó là tính bền vững Tính bềnvững ở đây chính là khả năng chụi lỗi có nghĩa là hệ thống có khả năng tự khởiđộng lại tới trạng thái mà ở đó tính toàn vẹn của hệ thống được duy trì với một sốhiệu năng bị giảm sút Chính nhờ khả năng này mà nó giúp cho hệ điều hành phântán tăng cường độ tin cậy, an toàn và điều khiển truy nhập do chính nó thực hiện

2. Kiến trúc hệ điều hành phân tán.

Hệ điều hành phân tán gồm hai thành phần chính đó là: các tiến trình và cácfile Khi có mạng, chúng ta phải thêm thành phần thứ ba: các đường truyền thông.Phần cứng là các trạm làm việc và mạng Tuy nhiên, người ta không dùng liênquan tới các thành phần vật lý ngoại trừ chi phí, sự xuất hiện của hiệu năng hệthống Trong đó người ta chia thành hai mô hình chính đó là mô hình trạm làmviệc -máy chủ và mô hình xử lý nhóm tuỳ theo vào yêu cầu và mục đích của mạngphân tán

Hình 2.3 Kiến trúc hệ điều hành phân tán

Trang 21

Như vậy các kiến trúc của hệ điều hành phân tán có 5 thành phân chính

 Process manager: quản lý tiến trình đặt ở mức cao nhất là thành phần giao tiếptrực tiếp với người sử dụng

 Communication manager: Quản lý truyền thông đóng vai trò như một thànhphần giao tiếp giữa các tiến trìn các luồng cũng như quản lý tài nguyên tại máy

và các máy khác nhau trong hệ thống

 Thread manager: quản lý các tiểu tiến trình

 Memory manager: quản lý tài nguyên hệ thống

 Supervisor: Thực hiện quản lý mức thấp nhất của hệ điều hành

3. Kiến trúc của tiến trình trong hệ điều hành phân tán.

a Tiến trình hệ điều hành phân tán.

Tiến trình là một chương trình đang xử lý, sỡ hữu một con trỏ lệnh, tập các thanhghi và các biến Để hoàn thành tác vụ của mình, một tiến trình có thể cần đến một

số tài nguyên – như CPU, bộ nhớ chính, các tập tin và thiết bị nhập/xuất…

Cần phân biệt hai khái niệm chương trình và tiến trình Một chương trình là một

thực thể thụ động, chứa đựng các chỉ thị điều khiển máy tính để tiến hành một tác

vụ nào đó ; khi cho thực hiện các chỉ thị này, chương trình chuyển thành tiến trình,

là một thực thể hoạt động, với con trỏ lệnh xác định chỉ thị kế tiếp sẽ thi hành,kèm theo tập các tài nguyên phục vụ cho hoạt động của tiến trình

Trong hầu hết các hệ điều hành, mỗi tiến trình có một không gian địa chỉ và chỉ cómột dòng xử lý Tuy nhiên, có nhiều tình huống người sử dụng mong muốn cónhiều dòng xử lý cùng chia sẻ một không gian địa chỉ, và các dòng xử lý này hoạtđộng song song tương tự như các tiến trình phân biệt (ngoại trừ việc chia sẻ khônggian địa chỉ)

b Tiểu tiến trình( threads_Luồng của tiến trình).

Trong hầu hết các hệ điều hành, mỗi tiến trình có một không gian địa chỉ vàchỉ có một dòng xử lý Tuy nhiên, có nhiều tình huống người sử dụng mong muốn

có nhiều dòng xử lý cùng chia sẻ một không gian địa chỉ, và các dòng xử lý nàyhoạt động song song tương tự như các tiến trình phân biệt (ngoại trừ việc chia sẻkhông gian địa chỉ)

Ví dụ : Một server quản lý tập tin thỉnh thoảng phải tự khóa để chờ các

thao tác truy xuất đĩa hoàn tất.Nếu server có nhiều dòng xử lý, hệ thống có thể xử

lý các yêu cầu mới trong khi một dòng xử lý bị khoá Như vậy việc thực hiệnchương trình sẽ có hiệu quả hơn Điều này không thể đạt được bằng cách tạo hai

Trang 22

tiến trình server riêng biệt vì cần phải chia sẻ cùng một vùng đệm, do vậy bắt buộcphải chia sẻ không gian địa chỉ.

Chính vì các tình huống tương tự, người ta cần có một cơ chế xử lý mới chophép có nhiều dòng xử lý trong cùng một tiến trình

Ngày nay đã có nhiều hệ điều hành cung cấp một cơ chế như thế và gọi là

tiểu trình (threads).

c Nguyên lý chung :

Một tiểu trình là một đơn vị xử lý cơ bản trong hệ thốn Mỗi tiểu trình xử lý tuần tự đoạn code của nó, sỡ hữu một con trỏ lệnh, tập các thanh ghi và một vùng nhớ stack riêng Các tiểu trình chia sẻ CPU với nhau giống như cách chia sẻ giữa các tiến trình: một tiểu trình xử lý trong khi các tiểu trình khác chờ đến lượtù Một tiểu trình cũng có thể tạo lập các tiến trình con, và nhận các trạng thái khác nhau như một tiến trình thật sự Một tiến trình có thể sỡ hữu nhiều tiểu trình

Các tiến trình tạo thành những thực thể độc lập Mỗi tiến trình có một tậptài nguyên và một môi trường riêng (một con trỏ lệnh, một Stack, các thanh ghi vàkhông gian địa chỉ ) Các tiến trình hoàn toàn độc lập với nhau, chỉ có thể liên lạcthông qua các cơ chế thông tin giữa các tiến trình mà hệ điều hành cung cấp.Ngược lại, các tiểu trình trong cùng một tiến trình lại chia sẻ một không gian địachỉ chung, điều này có nghĩa là các tiểu trình có thể chia sẻ các biến toàn cục củatiến trình Một tiểu trình có thể truy xuất đến cả các stack của những tiểu trìnhkhác trong cùng tiến trình Cấu trúc này không đề nghị một cơ chế bảo vệ nào, vàđiều này cũng không thật cần thiết vì các tiểu trình trong cùng một tiến trình thuộc

về cùng một sỡ hữu chủ đã tạo ra chúng trong ý định cho phép chúng hợp tác vớinhau

Hình 2.4 Các tiểu trình trong cùng một tiểu trình

d Phân bổ thông tin lưu trữ.

Trang 23

Hình 2.5 Cấu trúc mô tả tiến trình và tiểu trìnhTrong một số trường hợp tiểu tiến trình có thẻ gọi là “lightweight” của tiếntrình Đó là do hệ điều hành sẽ chỉ biết đến khái niệm tiến trình, do vậy cận có cơchế để liên kết các tiểu trình cùng một tiến trình với tiến trình cha trong kernel_đối tượng này đôi lúc được gọi là LWP (lightweight process).

Hình 2.6 Tiểu tiển trình là một “lightweight proccess”

4 Các vấn đề trong quản lý tiến trình của.

a Sự loại trừ lẫn nhau trong hệ phân tán.

Sự loại trừ lẫn nhau trong hệ phân tán xảy ra khi nhiều tiến trình đồng thờithực hiện một sự truy nhập nối tiếp để chia sẻ tài nguyên và dữ liệu ( ví dụ như cậpnhật dữ liệu hay gửi các tín hiệu đến các thiết bị vào ra Vấn đề ở đây là trong cáctrường hợp đó chúng ta cần phải làm gì để sự tương xảy ra là công bằng theo cáctiêu chuẩn cho trước Trong đó, các tiêu chuẩn này bao gồm: thời gian yêu cầu,thứ tự yêu tiên của yêu cầu hay sự lựa chọn Chúng ta có một số thuật toán để giảiquyết tranh chấp khi xảy ra tương tranh Người dùng có thể dựa vào đó để có thểlấy quyền ưu tiên Trong đó có một số phương pháp và dạng xảy ra tương tranhdưới đây:

 Loại trừ lẫn nhau dựa vào tranh chấp: là sự tranh chấp cho các phần tới hạn cóthể quyết định bằng bất cứ tiêu chí vào để phá vỡ các dàng buộc khi các yêucầu thực hiện xảy ra cùng một thời điểm Cách tốt nhất cho phép yêu cầu tớicác tiến trình được hỏi đầu tiên hoặc tiển trình được dưa ra nhiều nhất từ cáctiến trình khác chúng ta sẽ gọi hai cách tiếp cận khác nhau này là các sơ đồ yêutiên nhãn thời gian và bầu cử

 Loại trừ dựa vào việc chuyển Token: Đây là sự tranh chấp dựa vào thuật toán

Cơ chế của thuật toán dựa trên việc cung cấp các Token cho các thành viên xảy

Ngày đăng: 10/09/2012, 09:27

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Kiến trúc mạng phân tán. - TỔNG QUAN VỀ HỆ PHÂN TÁN.doc.DOC
Hình 2.1 Kiến trúc mạng phân tán (Trang 19)
Hình 2.3 Kiến trúc hệ điều hành phân tán. - TỔNG QUAN VỀ HỆ PHÂN TÁN.doc.DOC
Hình 2.3 Kiến trúc hệ điều hành phân tán (Trang 20)
Hình 2.2 Kiến trúc hệ phân tán và middleware. - TỔNG QUAN VỀ HỆ PHÂN TÁN.doc.DOC
Hình 2.2 Kiến trúc hệ phân tán và middleware (Trang 20)
Hình 2.4 Các tiểu trình trong cùng một tiểu trình - TỔNG QUAN VỀ HỆ PHÂN TÁN.doc.DOC
Hình 2.4 Các tiểu trình trong cùng một tiểu trình (Trang 22)
Hình 2.6 Tiểu tiển trình là một “lightweight proccess” - TỔNG QUAN VỀ HỆ PHÂN TÁN.doc.DOC
Hình 2.6 Tiểu tiển trình là một “lightweight proccess” (Trang 23)
Hình 2.5 Cấu trúc mô tả tiến trình và tiểu trình - TỔNG QUAN VỀ HỆ PHÂN TÁN.doc.DOC
Hình 2.5 Cấu trúc mô tả tiến trình và tiểu trình (Trang 23)
Hình 2.7 Tương tranh hai mức của các tiến trình và các nhánh. - TỔNG QUAN VỀ HỆ PHÂN TÁN.doc.DOC
Hình 2.7 Tương tranh hai mức của các tiến trình và các nhánh (Trang 25)
Hình 2.7Sơ đồ chuyển trạng thái giữa các tiến trình - TỔNG QUAN VỀ HỆ PHÂN TÁN.doc.DOC
Hình 2.7 Sơ đồ chuyển trạng thái giữa các tiến trình (Trang 26)
Hình 2.8 Khối mô tả tiến trình - TỔNG QUAN VỀ HỆ PHÂN TÁN.doc.DOC
Hình 2.8 Khối mô tả tiến trình (Trang 28)
Hình 2.9 Khối quản lý tài nguyên Các mục tiêu của kỹ thuật cấp phát : - TỔNG QUAN VỀ HỆ PHÂN TÁN.doc.DOC
Hình 2.9 Khối quản lý tài nguyên Các mục tiêu của kỹ thuật cấp phát : (Trang 30)
Hình 2.10. Mô hình xử lý các luồng tại Server. - TỔNG QUAN VỀ HỆ PHÂN TÁN.doc.DOC
Hình 2.10. Mô hình xử lý các luồng tại Server (Trang 31)
Hình vẽ 4.1 Hệ thống với 3 miền bảo vệ Mối liên kết giữa một tiến trình và một miền bảo vệ có thể tĩnh hay động : - TỔNG QUAN VỀ HỆ PHÂN TÁN.doc.DOC
Hình v ẽ 4.1 Hệ thống với 3 miền bảo vệ Mối liên kết giữa một tiến trình và một miền bảo vệ có thể tĩnh hay động : (Trang 44)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w