Tải bản đầy đủ (.doc) (20 trang)

Chia sẻ tài nguyên trong hệ phân tán vấn đề và giải pháp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (296.48 KB, 20 trang )

Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
MỤC LỤC
2.3.1. Mô hình Client/Server 11
2.3.1. Mô hình hướng đối tượng 12
3.1.1. Chia sẻ tài nguyên phần cứng 13
3.1.2. Chia sẻ tài nguyên phần mềm và dữ liệu 14
3.2.2. Truyền thông (Communication) 16
3.2.3. Bảo vệ tài nguyên 17
Trang 1
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
MỞ ĐẦU
Hiện nay nhiều lĩnh vực khoa học đã phát triển mạnh mẽ và đạt được nhiều thành
tựu to lớn. Trong đó có công nghệ thông tin và đặc biệt là internet đã góp phần không ngỏ
vào sự phát triển của xã hội.
Nhờ sự phát triển của internet nên hệ phân tán đã góp phần rất lớn vào việc quản lý
mạng, điều hành mạng, quản lý file, quản lý bộ nhớ và định vị công việc …, bên cạnh cũng
có một số vấn đề cần giải quyết trong hệ phân tán đó là:
“Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp”
Dưới sự hướng dẫn tận tình của TS. Hoàng Minh Thức em đã cố gắng hoàn thành
tốt bài tiểu luận này. Nhưng trong quá trình thực hiện không tránh khỏi những sai sót,
mong thầy góp ý để bài tiểu luận được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Trang 2
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ HỆ PHÂN TÁN
1.1. Định nghĩa về hệ phân tán
Định nghĩa:
Có nhiều định nghĩa về hệ phân tán, hầu hết các định nghĩa này đều không
hoàn toàn chính xác. Nói chung, 3 định nghĩa sau đây có thế thích hợp đối với chúng
ta và được sử dụng rộng rãi:
Định nghĩa 1: Hệ phân tán là một hệ thống có chức năng và dữ liệu phân tán trên các


trạm (máy tính) được kết nối với nhau thông qua một mạng máy tính.
Định nghĩa 2: Hệ phân tán là một tập hợp của những máy tính tự trị được kết nối với
nhau bởi một mạng máy tính, và được cài đặt phần mềm hệ phân tán.
Định nghĩa 3: Hệ phân tán là một tập các máy tính độc lập, xuất hiện đối với người
sử dụng như một hệ thống thống nhất.
Tóm lại, chúng ta có thể nói: Hệ phân tán = mạng máy tính + phần mềm hệ phân tán.
Ví dụ:
Ví dụ đầu tiên của hệ phân tán chính là mạng máy tính. Mạng là tập các
máy tính/thiết bị chuyển mạch được kết nối bởi các liên kết truyền thông nhằm chia
sẻ thông tin và tài nguyên. Trong mạng này, các tài nguyên trở nên khả dụng đối với
bất kỳ người sử dụng nào trên mạng.
Ví dụ thứ hai là một hệ thống thông tin có thể thực hiện tự động các lệnh
trong việc xử lý ở văn phòng. Hê thống đó được sử dụng từ nhiều văn phòng khác
nhau, từ nhiều địa điểm khác nhau. Mỗi trạm có thể tham gia vào một ứng dụng toàn
cục trong hệ thống. Người sử dụng chỉ kết nối vào hệ thống và sử dụng dữ liệu mà
không cần biết dữ liệu đó ở tại máy nào trong hệ thống. Người sử dụng luôn nghĩ
rằng mình làm việc một cách độc lập không hề liên quan đến các máy tính khác.
Ví dụ tiếp theo là World Wide Web. Đó là một mô hình của tài liệu phân
tán. Để tìm thấy tài liệu, người sử dụng chỉ chỉ ra được nội dung mà mình muốn tìm
thì toàn bộ tài liệu sẽ suất hiện trên màn hình. Bạn chỉ phải đưa ra một cái tên duy
nhất trong khung URL (Uniform Resource Locator). Người sử dụng luôn biết được là
tài liệu mà mình sử dụng có từ nhiều nơi khác nhau và được xử lý bởi các phục vụ
khác nhau.
Và một số ví dụ khác như:
• Hệ điều hành phân tán (Distributed Operationg Systems)
• Cơ sở dữ liệu phân tán (Distributed DataBase)
Trang 3
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
• Các hệ thống tính toán phân tán (Distributed Computing Systems)
• Các dịch vụ thông tin trên mạng Internet như E-mail, Web-based

Service,
1.2. Mục tiêu và đặc trưng của hệ phân tán
1.2.1. Chia sẻ nguồn tài nguyên (Resource Sharing)
Là một đặc tính cơ bản của hệ thống phân tán, nó là cơ sở cho những đặc
tính khác và nó ảnh hướng đến những kiến trúc phần mềm có sẵn trong các hệ phân
tán. Trong hệ phân tán, tập tài nguyên chung là hữu hạn, số lượng các tiến trình cần
chia sẻ tuy cũng là hữu hạn nhưng có thể rất lớn và phân tán trên nhiều trạm, vì thế
cơ chế quản lý và chia sẻ tài nguyên trông hệ phân tán là rất phức tạp và khó khăn
hơn nhiều so với hệ tập trung.
Các nguồn tài nguyên để chia sẻ có thể là phần cứng như ổ đĩa, máy in và
các thiết bị ngoại vi khác, cũng có thể là phần mềm như hệ thống tập tin, cơ sở dữ
liệu, các đối tượng dữ liệu … Các thiết bị phần cứng như máy in, ổ đĩa cứng dung
lượng lớn và những thiết bị khác được chia sẻ để thuận tiện trong việc sử dụng và
giảm chi phí.
Việc chia sẻ dữ liệu là một yêu cầu cần thiết trong nhiều ứng dụng máy tính,
các nguồn tài nguyên của một máy tính đa người sử dụng thông thường được chia
sẻ cho mọi người sử dụng. Những nguồn tài nguyên trong một hệ phân tán được gói
gọn trong các máy tính và chỉ có thể truy nhập từ những máy tính khác bằng cách
liên lạc.
Để việc chia sẻ hiệu quả, mỗi tài nguyên phải được quản lý bằng một
chương trình, cung cấp một giao diện truyền thông cho phép tài nguyên được điều
khiển truy cập và cập nhật một cách tin cậy và đồng nhất.
Ta có thể tiếp cận phương thức chia sẻ tài nguyên trên hai mô hình đặc
trưng của hệ phân tán, đó là mô hình khách/chủ (Client/Server model) và mô hình
hướng đối tượng (Object based model).
a. Mô hình Client/Server
Trong mô hình Client/Server, có thể có một hay nhiều máy server, mỗi
máy server đóng vai trò như một bộ quản lý tài nguyên (resource
manager) đối với tập hợp các tài nguyên và các tiến trình của máy trạm.
Việc thực hiện các vụ đòi hỏi phải có thể truy cập đến các tài nguyên

phần cứng và phần mềm trong hê thống. Trong mô hình khách chủ, tất
cả các tài nguyên dùng chung đều được nắm giữ và quản lý bởi các
server. Khi máy client có nhu cầu sử dụng tài nguyên, nó sẽ gửi yêu cầu
lên máy server, nếu yêu cầu được chấp thuận, máy server sẽ thực hiện
yêu cầu và gửi trả lời đến máy trạm.
Mô hình client/server rất có hiệu quả trong hệ thống hiện hành với
những dịch vụ quản lý được rất nhiều kiểu của những nguồn tài nguyên
dùng chung như: thư điện tử, tin nhắn, file, đồng hồ đồng bộ trong mạng
Trang 4
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
diện rộng, đĩa lưu trữ, máy in, truyền thông trên diện rộng và thậm chí
hiển thị trong những không gian cửa sổ trên màn hình của từng máy
mạng. Nhưng nó không thể hữu dụng cho tất cả những nguồn tài nguyên
tồn tại trong một hệ phân tán được quản trị và chia sẻ theo cách này; với
những nguồn tài nguyên còn lại của máy tính như: RAM, bộ vi xử lý
trung tâm và giao diện mạng cục bộ thường có hiệu quả sử dụng tài
nguyên rất thấp. Những nguồn tài nguyên cơ bản này được quản trị riêng
biệt bởi một hệ điều hành trên mỗi máy tính, chúng có thể được chia sẻ
chỉ giữa các tiến trình định vị trên cùng một máy tính.
b. Mô hình hướng đối tượng
Hệ thống hướng đối tượng có thể cung cấp nhiều mô hình phức tạp hơn
cho việc quản lý chia sẻ các nguồn tài nguyên. Mỗi tài nguyên được xem
như là một đối tượng, đối tượng này được định danh duy nhất trong toàn
bộ hệ thống. Đối tượng có thể di động trên mạng mà không cần thay đổi
dịnh danh. Nếu một tiến trình cần sử dụng tài nguyên, nó sẽ gửi bản tin
yêu cầu tài nguyên đến đối tượng tương ứng và có chương trình điều
phối tương ứng sẽ tập hợp các yêu cầu này, xử lý yêu cầu và trả lời cho
tiến trình.
Không như mô hình client/server, mô hình hướng đối tượng thực thi
cả việc truy cập tài nguyên người sử dụng và tài nguyên người quản trị.

Trong mô hình client/server bản đồ tên được sử dụng cho những nguồn
tài nguyên phụ thuộc vào dịch vụ quản trị chúng. Nhưng trong mô hình
hướng đối tượng những nguồn tài nguyên người sử dụng có thể được
xem như là tất cả những nguồn tài nguyên cùng loại.
Chúng ta có thể sử dụng thuật ngữ quản trị đối tượng là một tập hợp
của những thủ tục và những giá trị dữ liệu đặc trưng cho một lớp đối
tượng.
Trong quá trình hoạt động của mô hình hướng đối tượng phát sinh
một vài vấn đề khó khăn. Yêu cầu một đối tượng quản trị của một kiểu
liên quan phải được định vị bất cứ khi nào một đối tượng trong đó được
định vị, vì những đối tượng nằm trong một trạng thái biểu diễn của
chúng và người quản trị phải được định vị liên hợp với một đối tượng
được sắp xếp truy cập trong trạng thái của chúng. Điều này dễ hiểu khi
những đối tượng không thể di chuyển và vài hệ phân tán được thiết kế
để hỗ trợ những đối tượng địa chỉ đồng nhất được tạo ra.
1.2.2. Tính trong suốt (Transparency)
Tính trong suốt được định nghĩa như sự che giấu với người dùng cuối và
người lập trình ứng dụng sự rời rạc có thể có của hệ thống. Nhờ đó hệ thống phân
tán được xem như một mạng tích hợp các thành phần, sự phân tán về tài nguyên
được che giấu đối với người dùng.
Trang 5
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
ISO định nghĩa 8 mô hình trong suốt – Mô hình tham chiếu cho việc xử lý
phân tán mở:
a. Trong suốt truy cập (Access Transparency)
Cố gắng che dấu sự khác biệt về cách biểu diễn và cách truy cập tài nguyên. Ví
dụ như trong quá trình giao tiếp giữa hai máy Intel và Sun, hai máy tuân theo
hai chuẩn biểu diễn dữ liệu khác nhau: Intel là little-endian còn Sun là big-
endian, nhưng nhiệm vụ của hệ phân tán là phải che giấu đi sự khác biệt này để
người dùng không phát hiện ra.

b. Trong suốt định vị (Location Transparency)
Cố gắng che dấu vị trí của tài nguyên. Ví dụ như cách đặt tên chỉ ra vị trí logic
còn che dấu đi vị trí vật lý đặt trên server.
c. Trong suốt tương tranh (Concurrency Transparency)
Một mục tiêu quan trọng của hệ phân tán là chia sẻ tài nguyên. Như vậy một
điều tất yếu là sẽ xảy ra tương tranh trong sử dụng. Tương tranh là hiện tượng
nhiều người dùng cùng truy cập tới những file của họ trên cùng một server. Vì
thế, trong suốt tương tranh là che dấu được việc xây ra tương tranh, che dấu
được việc chia sẻ tài nguyên.
d. Trong suốt nhân bản (Replication Transparency)
Trong hệ phân tán, một dữ liệu gốc phải được sao chép ra nhiều bản sao nhằm
tăng tính sẵn sàng hoặc tăng hiệu năng của hệ thống. Trong suốt về nhân bản là
nhằm che dấu người sử dụng về việc sử dụng các bản sao. Để đảm bảo việc này
thì tất cả các bản sao đều phải có cùng một tên. Chính vì vậy, hệ thống hỗ trợ
trong suốt nhân bản thì cũng đồng thời tron suốt về vị trí.
e. Trong suốt lỗi (Fault Transparency)
Là che dấu người dùng khi hệ thống bị lỗi và có khả năng phục hồi từ trạng thái
lỗi đó.
f. Trong suốt di trú (Migration Transparency)
Là che dấu khả di chuyển của tài nguyên. Tài nguyên có thể được di chuyển
khắp nơi trên hệ phân tán nhưng không làm ảnh hưởng đến việc truy cập của
sever. Người dùng đang truy cập có thể đi từ nơi này sang nơi khác mà không
ảnh hưởng đến việc truy cập tài nguyên.
g. Trong suốt định vị lại (Relocation Transparency)
Là cố gắng che dấu một tài nguyên mà có thể được chuyển sang vị trí khác
trong khi tài nguyên đó đang được sử dụng.
1.2.3. Tính mơ (Openness)
Một mục đích quan trọng của hệ phân tán là khả năng mở rộng. Một hệ
phân tán mở là một hệ thống mà trong đó các dịch vụ tuân theo những chuẩn mô tả
về cú pháp và ngữ nghĩa. Ví dụ như trong truyền thông, các chuẩn được mô tả trong

các protocol, còn trong hệ phân tán các dịch vụ được cụ thể hoá qua các giao
diện( interface). Các giao diện được định nghĩa thông qua Interface Definition
Trang 6
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
Language( IDL). Hay nói cách khác, các dịch vụ được cụ thể hoá, chúng được đặc
tả bởi tên các hàm, các biến, các giá trị trả về,… Chỉ cần các gia diện được đặc tả
đầy đủ, đúng đắn thì các dịch vụ khác nhau có thể cùng hoạt động trong hệ phân tán
. Hai thành phần của hệ thống từ những máy khác nhau có thể cùng tồn tại và làm
việc với nhau đơn thuần là chỉ nhờ thông qua các chuyển thông thường gọi là liên
tác(Interoperability). Còn thuật ngữ chuyển mạng( Portability) là nhằm chỉ đến việc
một ứng dụng được thiết kế cho hệ phân tán A có thể thực thi trên hệ phân tán B mà
không cần phải sửa đổi gì, chỉ cần trên B cũng có các giao diện giống trên A.
1.2.4. Tính co dãn (Scalability)
Tính co dãn là một mục tiêu quan trọng nhất của người thiết kế hệ phân tán.
Tính co dãn thể hiện ở ba khía cạnh:
• Co dãn về kích cỡ: việc thêm bớt người dùng và tài nguyên một cách dễ
dàng.
• Co dãn về địa lý: hệ thống có thể thay đổi về mặt địa lý, ví dụ như địa chỉ
của người dùng hoặc tài nguyên có thể thay đổi dễ dàng.
• Co dãn về mặt quản trị: hệ thống được quản trị dễ dàng, thậm chí có thể
thay đổi quản trị từ nhiều thành phần độc lập.
1.2.5. Tính chịu lỗi(Fault Tolerance)
Các hệ thống thỉnh thoảng xảy ra lỗi, vì thế phải thiết kế để cho hệ thống vẫn
hoạt động, các tiến trình không bị ngắt khi có lỗi xảy ra. Có hai giải pháp:
- Tăng cường tài nguyên phần cứng (Hardware Redundancy).
- Phần mềm hệ phân tán: xây dựng phần mềm có thể bỏ qua lỗi khi gặp phải để hệ
thống vẫn hoạt động, tuy nhiên phải có chức năng phục hồi lỗi để khắc phục lỗi.
1.3. Các kiểu hệ phân tán
Dưới đây ta sẽ nói về các kiểu khác nhau của hệ phân tán. Chúng ta sẽ phân biệt
giữa các hệ thống tính toán phân tán, các hệ thống thông tin phân tán và các hệ thống

nhúng phân tán.
1.3.1. Các hệ thống tính toán phân tán(Distributed Computing Systems)
Một lớp quan trọng nữa của hệ phân tán là nó được dùng cho công việc tính
toán có hiệu năng cao (high-performance computing tasks). Để đáp ứng cho công
việc trên ta có hai kỹ thuật hệ thống tính toán là: Cluster Computing Systems và
Grid Computing Systems.
• Cluster Computing Systems
Là một hệ thống tính toán có hiệu năng cao chỉ thuộc một tổ chức nào đó.
Trong hệ thống này nhiều máy tính được ghép với nhau thành một hệ thống
thuần nhất dựa trên kết nối mạng tốc độ cao để xử lý tính toán song song.
Trang 7
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
• Grid Computing Systems
Là các hệ thống tính toán thuộc nhiều tổ chức khác nhau. Các dữ liệu đơn vị
của các tổ chức khác nhau được nhóm với lại với nhau thành một tổ chức,
gọi là tổ chức ảo. Hệ thống này là hệ thống không thuần nhất.
1.3.2. Các hệ thống thông tin phân tán (Distribbuted Information Systems)
Dưới đây chúng ta sẽ quam tâm đến hai dạng quan trong của hệ phân tán:
• Transaction Processing Systems
Phần này ta quam tâm đến các ứng dụng cơ sở dữ liệu. Các hoạt động trên
cơ sở dữ liệu thường được mảng đến dưới dạng transactions (các giao tác).
Khi lập trình có sử dụng đến các transactions thì yêu cầu phải có các
transaction nguyên thủy. Transaction có 4 tính chất cụ thể như sau:
Atomic: transaction không thể chia nhỏ được nữa.
Consistent: transaction không được vi phạm các hệ thông bất biến.
Isolated: transacton song song không được giao tiếp với nhau.
Durable: mỗi khi một transaction cảm kết thì sự thay đổ là thương xuyên.
• Enterprise Applications Integration
Nhiều ứng dụng cơ sở dữ liệu là không ghép với cơ sở dữ liệu. Vậy cần phải
tích hợp các ứng dụng một cách độc lập từ cơ sở dữ liệu của nó. Và các

thành phần của ứng dụng có thể truyền thông trức tiếp với nhau, không như
cách request/reply trong kỹ thuật transaction processing systems. Vì nhu cầu
cần truyền thông giữa các ứng dụng thì dẫn đến nhiều mô hình truyền thông
cần phải tồn tại.Ý tưởng chính là các ứng dụng có thể trào đổi thông tin một
chức tiếp.
Trang 8
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
Trong trường hợp này đã tồn tại nhiều kiểu communication middleware
chẳng hạn như: mô hình RPC (Remote Procedure Calls), RMI (Remote
Method Invocations), và MOM (Message-Oriented Middleware).
1.3.3. Các hệ thống phân tán rộng khắp (Distributed Pervasive Systems)
Mặc dù tính ổn định chặn chẽ của hệ phân tán mà ta thu được qua các đặc
điểm như transparency, nhưng nó trở thành vấn đề khác đối với thiết bị có cấu hình
phần ứng thấp như các thiết bị nhỏ chạy trên pin, các thiết bị di động, PDA, chỉ có
thể kết nối bằng mạng không giấy. Các thiết bị như thế có thể xếp loại trong hệ
thống phân tán rộng khắp (Distributed Pervasive Systems).
Ví dụ:
• Nhà thông minh (Home Systems)
• Các hệ thống chăm sóc sức khỏe (Electronic Health Care Systems)
• Mạng cảm ứng (Sensor Network)
CHƯƠNG 2: TÀI NGUYÊN TRONG HỆ PHÂN TÁN
2.1. Các nguồn tài nguyên
Trang 9
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
Tài nguyên là một thành phần quan trọng trong bất kỳ một hệ thống nào.
Trong hệ phân tán tài nguyên càng chiếm một vị trí quan trọng. Đặc biệt việc chia sẻ tài
nguyên là một đặc tính cơ bản của các hệ thống phân tán.
Các nguồn tài nguyên có thể là các thiết bị phần cứng như: các ổ đĩa, máy in, máy
fax , các thực thể phần mềm như: Các tập tin, windows, cơ sở dữ liệu và các đối tượng dữ
liệu khác.

Người sử dụng hệ thống máy tính tập trung và phân tán đều đã quen thuộc với lợi ích của
việc chia sẻ tài nguyên mà họ có thể dễ dàng bỏ qua, không thấy được tầm quan trọng của
việc chia sẻ tài nguyên. Lợi ích của việc truy cập được chia sẻ vào hệ thống lưu trữ đơn
giản bao gồm cơ sở dữ liệu, chương trình, tư liệu và những thông tin khác đã được thừa
nhận đầu tiên trong hệ thống đa người dùng, hoặc hệ thống chia sẻ thời gian ở đầu thập kỷ
60, và hệ thống UNIX đa người dùng vào những năm 1970.
Thiết bị phần cứng như: máy in, các ổ đĩa và thiết bị ngoại vi khác được chia sẻ để
thuận tiện trong việc sử dụng và giảm giá thành.
Chia sẻ dữ liệu là một nhu cầu cần thiết trong rất nhiều ứng dụng của máy tính.
Người phát triển phần mềm làm việc theo nhóm, có thể cần truy nhập đến mỗi trạm
làm việc khác và có thể chia sẻ những công cụ phát triển, yêu cầu duy nhất một phiên bản
đơn của bộ biên dịch, trình soạn thảo, thư viện thủ tục và trình gỡ rối. Bất cứ khi nào một
công cụ phát triển mới hoặc một phiên bản mới của trình biên dịch được cài đặt, tất cả mọi
người sử dụng ngay lập tức truy cập được.
Rất nhiều những ứng dụng thương mại cho phép người sử dụng truy cập vào những
đối tượng dữ liệu dùng chung trong cơ sở dữ liệu đơn hiện hành.
Một miền mở rộng với tốc độ cao của các ứng dụng cho các mạng, và các hệ phân
tán được sử dụng cho các máy tính hỗ trợ người dùng làm việc theo nhóm trong các dự án
hợp tác, ban quản trị, hướng dẫn từ xa và rất nhiều những tác vụ khác. Máy tính được hỗ
trợ làm việc hợp tác (CSCW, luôn được biết đến như một phần mềm nhóm) phụ thuộc rất
nhiều vào sự chia sẻ của các đối tượng dữ liệu giữa các chương trình chạy trên những trạm
làm việc khác nhau.
Nguồn tài nguyên của những máy tính đa người dùng thông thường chia sẻ cho tất
cả người sử dụng, nhưng người sử dụng của những trạm làm việc đơn, người sử dụng trong
mạng và những máy tính cá nhân thì không thu được lợi ích gì trong việc chia sẻ tài
nguyên này.
Những nguồn tài nguyên trong một hệ phân tán là phần vật lý thì được gói gọn
trong phạm vi của một máy tính và chỉ có thể được truy cập từ những máy tính khác bằng
truyền thông. Để việc chia sẻ tài nguyên hiệu quả, mỗi tài nguyên phải được quản lý bằng
Trang 10

Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
một chương trình, mỗi chương trình đó cung cấp một giao diện truyền thông cho phép tài
nguyên được truy cập, sử dụng và cập nhật một cách thuận tiện và nhất quán.
2.2. Quản trị tài nguyên
Quản trị tài nguyên cũng có lúc được hiểu như là một mô đun phần mềm quản lý
một tập những tài nguyên đặc biệt. Mỗi loại tài nguyên này yêu cầu một vài chính sách và
phương pháp quản trị riêng biệt, nhưng vẫn luôn luôn có nhưng yêu cầu chung. Điều này
bao gồm cả sự phân chia bản đồ tên cho mỗi lớp của nguồn tài nguyên, cho phép được truy
cập những nguồn tài nguyên riêng biệt từ bất kỳ vị trí nào bằng cách ánh xạ tên nguồn tài
nguyên thành địa chỉ truyền thông, và điều phối những truy cập hiện hành có thay đổi trạng
thái của những nguồn tài nguyên dùng chung đúng thứ tự và nhất quán.
2.3. Mô hình chia sẻ tài nguyên
Một hệ phân tán được tạo nên từ một tập tài nguyên của những nhà quản trị và một
tập những chương trình tài nguyên người sử dụng. Tài nguyên của những người sử dụng
giao tiếp với tài nguyên của những nhà quản trị để truy cập vào những nguồn tài nguyên
dùng chung của hệ thống. Chúng ta có thể phát triển hệ phân tán theo hai mô hình: Mô
hình Client/Server và mô hình hướng đối tượng.
2.3.1. Mô hình Client/Server
Được sử dụng nhiều nhất và được chấp nhận rộng rãi nhất cho các hệ phân tán. Mô
hình này gồm một tập các tiến trình của server, mỗi hành động như một nguồn tài nguyên,
người quản trị đưa ra các kiểu tập hợp của các nguồn tài nguyên, và một tập các tiến trình
client, mỗi hành động là một tác vụ yêu cầu truy nhập vào những nguồn tài nguyên dùng
chung như phần cứng hoặc phần mềm. Tài nguyên người quản trị có thể cần truy cập tới
chính các nguồn tài nguyên dùng chung được quản trị bởi một tiến trình khác của người
quản trị đó, vì vậy một số tiến trình là tiến trình của cả client và server. Trong mô hình
client/server, mọi nguồn tài nguyên dùng chung được quản trị bởi những tiến trình của
server. Những tiến trình client yêu cầu server bất cứ khi nào client cần truy cập tới những
nguồn tài nguyên của server. Nếu yêu cầu hợp lệ thì server sẽ thực hiện yêu cầu và gửi hồi
âm cho tiến trình client.
Mô hình client/server mang lại hiệu quả cho việc chia sẻ thông tin, và những tài

nguyên trong hệ phân tán. Mô hình này có thể được thi hành trong rất nhiều môi trường
phần cứng và phần mềm khác nhau. Một mạng máy tính chạy các tiến trình client/server
có thể có nhiều loại, và không có sự phân biệt giữa chúng, cả tiến trình client và server có
thể chạy trên cùng một máy tính. Thật vậy, một tiến trình server sử dụng dịch vụ của server
khác, xuất hiện như một máy client sau đó.
Trang 11
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
Trong mô hình client/server này mỗi tiến trình cung cấp những nguồn tài nguyên
mà nó quản trị.
Mô hình client/server rất có hiệu quả trong hệ thống hiện hành với những dịch vụ, nó quản
lý rất nhiều kiểu nguồn tài nguyên dùng chung như: Thư điện tử, tin nhắn, file, đồng hồ
đồng bộ trong mạng diện rộng, đĩa lưu trữ, máy in, truyền thông trên diện rộng và thậm chí
hiển thị trong những không gian cửa sổ trên màn hình của từng máy mạng. Nhưng nó
không thể hữu dụng cho tất cả những nguồn tài nguyên còn lại của máy tính như: RAM, bộ
vi xử lý trung tâm và giao diện mạng cục bộ thường có hiệu quả sử dụng tài nguyên rất
thấp. Những nguồn tài nguyên cơ bản này được quản trị riêng biệt bởi một hệ điều hành
trên mỗi máy tính, chúng có thể chia sẻ chỉ giữa các tiến trình định vị trên cùng một máy
tính.
2.3.1. Mô hình hướng đối tượng
Trong mô hình này mỗi tài nguyên cần chia sẻ được xem như một đối tượng. Đối
tượng đó được định danh duy nhất, có thể di chuyển trong hệ thống mà không cần thay đổi
định danh. Bất cứ khi nào, một chương trình sử dụng tài nguyên yêu cầu truy cập nguồn tài
nguyên thì nó gửi một message chứa yêu cầu đến đối tượng tương ứng. Một message là
một tin nhắn gửi đi gần như là một thủ tục hoặc một tiến trình thực hiện những yêu cầu mà
hồi đáp là những tiến trình yêu cầu nếu được chấp nhận.
Không như mô hình client/server, mô hình hướng đối tượng thực thi cả việc truy
cập tài nguyên người sử dụng và tài nguyên người quản trị. Trong mô hình client/server
bản đồ tên được sử dụng cho những nguồn tài nguyên phụ thuộc vào dịch vụ quản trị
chúng. Nhưng trong mô hình hướng đối tượng những nguồn tài nguyên người sử dụng có
thể được xem như là tất cả những nguồn tài nguyên cùng loại.

Chúng ta có thể sử dụng thuật ngữ quản trị đối tượng như là một tập hợp của những
thủ tục và những giá trị dữ liệu đặc trưng cho một lớp đối tượng.
Trong quá trình hoạt động, mô hình hướng đối tượng phát sinh một vài vấn đề khó
khăn. Yêu cầu một đối tượng quản trị của một kiểu liên quan phải được định vị bất cứ khi
nào một đối tượng trong đó được định vị, vì những đối tượng nằm trong một trạng thái biểu
diễn của chúng và người quản trị phải được định vị liên hợp với một đối tượng được sắp
xếp truy cập trong trạng thái của chúng. Điều này dễ hiểu khi những đối tượng không thể di
chuyển và vài hệ phân tán được thiết kế để hỗ trợ những đối tượng địa chỉ đồng nhất được
tạo ra.
CHƯƠNG 3: VẤN ĐỀ CHIA SẺ TÀI NGUYÊN TRONG HỆ
PHÂN TÁN
Trang 12
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
3.1. Tổng quan về chia sẻ tài nguyên
Chia sẻ tài nguyên là một đặc trưng cơ bản nhất của hệ phân tán, do tài nguyên
trong hệ thống là hữu hạn nhưng số tiến trình có yêu cầu sử dụng tài nguyên lại rất lớn, vì
thế vào mỗi thời điểm có thể có nhiều tiến trình cùng chia sẻ sử dụng một tài nguyên
chung. Việc quản lý và chia sẻ tài nguyên trong hệ phân tán giúp cho các tiến trình được
thực hiện thông suốt và hiệu quả, ngoài ra nó còn tiết kiệm được chi phí khi xây dựng hệ
thống.
Một cách tổng quát, ta có thể xem tài nguyên trong hệ phân tán gồm tài nguyên
phần cứng, tài nguyên phần mềm và dữ liệu.
3.1.1. Chia sẻ tài nguyên phần cứng
Trong một hệ phân thống máy tính phân tán, thường tồn tại nhiều thiết bị có hiệu
năng thấp, do thời gian và tần suất sử dụng không nhiều, phần lớn thời gian ở trạng thái
thông làm việc (như máy in). Nếu mỗi đơn vị trong mạng đều sở hữu những thiết bị như
thế thì sẽ sinh ra lãng phí rất lớn, giải pháp tốt nhất để tiết kiệm được chi phí khi xây dựng
hệ phân tán đó là dùng chung và chia sẻ các thiết bị phần cứng có giá thành cao.
Có thể phân loại tài nguyên phần cứng thành 3 loại sau:
- Các thiết bị đầu cuối và các thiết bị được sử dụng một cách trực tiếp hay

thông mạng bởi người dùng. Ví dụ như máy in, ổ đĩa, bộ nhớ …
- Bộ xử lý ở máy server: cung cấp các dịch vụ xử lý thông in trong hệ thống,
đa truy cập trên cơ sở chia sẻ thời gian (multiaccess time sharing) sẽ cung
cấp phương thức chia sẻ tài nguyên hiệu quả hơn.
- Hệ thống truyền thông, bao gồm đường truyền vật lý và các bộ chuyển
hướng dữ liệu. Cung cấp các dịch vụ trao đổi và điều khiển dữ liệu trong hệ
thống.
Việc chia sẻ bộ xử lý và các thiết bị phần cứng sẽ được trình bày ở phần sau, phần
này sẽ trình bày vài nét cơ bản về chia sẻ hệ thống truyền thông, đặc biệt là việc truy nhập
đường truyền vật lý.
 Các kênh truyền thông đại chúng đa truy cập – MultiAccess Broadcast
Channels
Các kênh truyền thông cung cấp cho người dùng các dịch vụ truyền thông, cho
phép trao đổi thông tin giữa các thành viên trong mạng, truy cập và sử dụng tài nguyên
trong hệ thống phân tán. Vì yêu cầu của người dùng là rất lớn và liên tục, nên kênh truyền
cần được phân chia thành nhiều kênh nhỏ để có thể đáp ứng được các yêu cầu đó, mỗi kênh
nhỏ được giao cho một số người dùng cụ thể. Như vậy cần có các phương thức chia sẻ
kênh truyền sao cho có hiệu quả cao nhất trên cơ sở là các yêu cầu hiện tại của người dùng.
Trang 13
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
Các kênh truyền thông đại chúng đa truy cập có thể đáp ứng được các yêu cầu truyền dẫn
dữ liệu trên.
Tính đa truy cập (Multiaccess) cho phép nhiều người dùng cùng truy cập trên cùng
một kênh truyền vật lý vào cùng một thời điểm với nhiều dạng thức khác nhau, tính đại
chúng (Broadcast) thể hiện ở việc kênh truyền có thể nhận biết được sự truyền dẫn dữ liệu
từ nhiều thiết bị hoặc tất cả các thiết bị đầu cuối trong hệ thống.
Họ các phương thức đa truy cập đường truyền (Family of MultiAccess Method):
- ALOHA nguyên thủy (Pure ALOHA): những gói tin mới được tạo ra sẽ được
truyền đi ngay lập tức bởi thiết bị đầu cuối tạo ra nó. Các gói tin gói xung đột và
triệt tiêu lẫn nhau sẽ được truyền lại.

- Slotted ALOHA: giống như Pure ALOHA, chỉ khác ở điểm các gói tin sẽ được
truyền đi vào các thời điểm được đánh dấu trước, thời gian giữa 2 điểm đánh dấu
bằng với thời gian truyền một gói tin.
- CSMA (Carrier Sense Multiple Access): phương pháp đa truy cập sử dụng sóng
mang: một trạm trước khi truyền dữ liệu đi phải “lắng nghe” xem đường truyền có
rỗi hay không. Nếu đường truyền rỗi thì dữ liệu sễ được truyền đi.
- Polling: phương pháp truyền dẫn có thăm dò: máy trung tâm lần lượt hỏi các msy
trạm có dữ liệu cần truyền hay không, nếu có dữ liệu sẽ được truyền.
- FDMA (Frequency Division Multiple Access): băng thông của kênh truyền sẽ được
chia nhỏ thành nhiều kênh con (subchannel), mỗi kênh con được cấp riêng cho một
thiết bị đầu cuối trong mạng.
- TDMA (Time Division Multiple Access): các thiết bị đầu cuối lần lượt được chiếm
giữ kênh truyền và truyền dữ liệu đi trong một khoảng thời gian định trước.
3.1.2. Chia sẻ tài nguyên phần mềm và dữ liệu
Ở đây ta có thể xem tài nguyên phần mềm là bao gồm tất cả những gì không phải là
phần cứng, việc chia sẻ tài nguyên phần mềm và dữ liệu là mục đích đầu tiên và quan trọng
nhất của mọi hệ thống mạng. Tài nguyên cần chia sẻ gồm có: hệ thống tập tin, cơ sở dữ
liệu, các chương trình ứng dụng …
Trong môi trường phân tán, dữ liệu được định vị ở những vị trí khác nhau, trong
những hệ thống có cấu trúc và phương thức truy nhập khác nhau để có thể chia sẻ dữ liệu
một cách thông suốt trong hệ thống đòi hỏi phải có các giao thức liên kết, các dịch vụ quản
lý và trao đổi dữ liệu tương ứng với từng mô hình mạng cụ thể. Đồng thời cũng phải đảm
bảo các yêu cầu về an toàn thông tin và bảo mật trong hệ thống mạng.
3.2. Các vấn đề cần quan tâm trong quản lý và chia sẻ tài nguyên
Trang 14
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
3.2.1. Định danh (Naming)
Mỗi dịch vụ trong mạng thường quản lý nhiều tài nguyên, mỗi tài nguyên có thể
được truy cập một cách độc lập bởi các máy client. Để điều này có thể thực hienj được,
mỗi dịch vụ cần phải định danh cho tất cả các tài nguyên mà nó quản lý. Ví dụ như hệ

thống quản lý tập tin thì quản lý các tập tin thông qua tên của chúng.
Máy Client truy cập tài nguyên thông qua việc gửi yêu cầu đến dịch vụ quản lý tài
nguyên đó, và nêu rõ tên của tài nguyên mà mình muốn truy cấp.
Ở phần này, có 2 khái niệm cần được hiểu đúng, đó là tên (name) và định danh
(identifier). Tên thì có thể được sử dụng bởi người dùng hoặc chương trình, còn định danh
thì chỉ được gọi và sử dụng bởi chương trình mà thôi.
Khi tài nguyên hoặc đối tượng được truy cập thì tên của tài nguyên sẽ được biên
dịch sang một dạng khác để phù hợp với các thao tác trong việc truy cập thông qua hệ
thống truyền thông, ta gọi thao tác này là chuyển đổi tên (resolve). Trong hệ phân tán, một
tên đã được chuyển đổi thường là một định danh truyền thông (communication identifier),
cùng với các thuộc tính khác có thể rất hữu ích trong truyền thông. Khuôn dạng của một
định danh truyền thông phụ thuộc vào cách giải thích định danh trong hệ thống truyền
thông mà nó đang được sử dụng.
Ví dụ: Trong mạng internet, định danh truyền thông gồm 2 phần: một định danh
máy trạm (host identifier – còn gọi là địa chỉ IP) có 4 phần, là địa chỉ của máy tính trong
mạng; một địa chỉ cổng (port number), là định danh của cổng truyền thông được cấp phát
bởi máy trạm tương ứng.
Các định danh được phân bố cho các tài nguyên phải mang ý nghĩa toàn cục để có
thể độc lập với vị trí của chúng. Việc thiết kế lược đồ định danh là cần thiết để dễ dàng
trong việc chuyển đổi các định danh, đưa đến việc thi hành có hiệu quả.
Định danh trong hệ phân tán cần bảo toàn các thiết kế sau:
a) Chọn không gian tên thích hợp cho mỗi loại tài nguyên: mỗi không gian trên có thể
là hữu hạn hay vô hạn, có thể có cấu trúc hoặc không có cấu trúc, nhưng phải đảm
bảo không gian tên đủ lớn để có thể quản lý hết tất cả các tài nguyên trong phạm vi
của mình, nhưng cũng không quá lớn để đỡ hao tốn bộ nhớ cũng như băng thông.
Tất cả các tài nguyên được quản lý bởi cùng một bộ quản lý tài nguyên phải được
đặt tên khác nhau. Trong hệ thống hướng đối tượng , tất cả các đối tượng được định
danh theo cùng một khuôn mẫu – chúng chiếm giữ một không gian riêng lẻ.
b) Tên của tài nguyên phải được chuyển đổi sang định danh truyền thông. Thông
thường điều này được thực hiện bởi việc quản lý các bản sao của tên va bản dịch

của chúng trong dịch vụ định danh (name service). Một vài loại tài nguyên được
Trang 15
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
truy cập thường xuyên, như các tập tin, thì giải pháp chuyển đổi tên là tốt nhất cho
quản lý tài nguyên. Các máy trạm dành một vùng nhớ đệm địa phương lưu trữ các
tên mới được dùng và các định danh tương ứng với chúng để tránh các liên lạc
không cần thiết với các bộ quản lý tài nguyên hoặc dịch vụ định danh.
Có nhiều khuôn mẫu cho tên và định danh của đối tượng, tương ứng với các
mục đích cụ thể. Một vài tên được thiết kế cho con người có thể đọc hiểu được, vì
thế người dùng có thể đọc, gọi lại và sử dụng lại chúng, chẳng hạn như tên file hoặc
tên miền. Một số khác được thiết kế sao cho có tính gợi nhớ hoặc có liên quan đến
vị trí của đối tượng tài nguyên.
Các chiến lược định danh cso thể được thiết kế để bảo vệ tài nguyên khỏi sự
truy nhập bất hợp pháp. Mỗi định danh được chọn một cách tính toán phức tạp để
gây khó khăn cho bất cứ tiến trình nào nắm giữ định danh để sao chép lại mà không
có thông qua dịch vụ định danh, dịch vụ định danh sẽ kiểm tra tính hợp lệ của máy
client để nắm giữ định danh mà máy client yêu câu.
3.2.2. Truyền thông (Communication)
Các thành phần của một hệ phân tán có thể phân chia thành 2 nhóm: nhóm các đối
tượng vật lý và nhóm các đối tượng logic, để có thể tương tác lẫn nhau, các thành phần này
phải được nối kết với nhau thông qua các kênh truyền thông. Hệ thống phân tán và ứng
dụng bao gồm các thành phần phần mềm tương tác với nhau để thực hiện các tác vụ. Ta sẽ
xem xét rằng tất cả các thành phần yêu cầu hoặc cung cấp sự truy cập tài nguyên trong hệ
phân tán thì được thực hiện như những trạm. Trong hệ thống client/server, một trạm client
phải tương tác với máy server khi có nhu cầu truy cập đến một tài nguyên không thuộc
quyền quản lý cảu nó- có thể là phần cứng, phần mềm hay dữ liệu.
Truyền thông giữa hai trạm bao gồm hai thao tác gửi và nhận các gói tin nhằm đạt
được hai kết quả:
- Truyền dữ liệu từ nơi phát đến nơi thu.
- Trong một vài thao tác truyền thông, có sự đồng bộ giữa thu và phát, quá

trình thu hoặc phát sẽ được tiếp diễn cho đến khi có sự can thiệp của một
tiến trình khác nhằm giải phóng nó.
Khuôn dạng của gói tin gửi và nhận được quy định trong lập trình, những khuôn
dạng này tạo ra các thông điệp (message) hành động giữa các trạm thu và phát. Mối
thông điệp bao gồm một tập các đơn vị dữ liệu được trạm phát gửi thông cơ cấu
truyền thông (cổng, kênh truyền) để đến trạm thu. Các cơ chế truyền thông có thể là
đồng bộ hoặc blocking, tức là phía gửi sau khi gửi một thông điệp sẽ chờ cho đến
khi phía thu nhận được và thực hiện thao tác trả lời, hay cũng có thể là không đồng
bộ, tức là các thông điệp được xếp vào một hàng đợi và chờ đến khi phía thu đồng ý
nhận thì lập tức được gửi đi.
Trang 16
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
Trong phần này ta xét hai mô hình truyền thông là truyền thông khách/chủ
và truyền thông nhóm multicast.
a) Truyền thông khách/chủ (client/server communiction)
Một trao đổi trong mô hình khách chủ bao gồm:
- Máy khách gửi một yêu câu đến máy chủ.
- Máy chủ thực hiện yêu cầu.
- Máy chủ gửi thông điệp trả lời đến máy khách.
Mỗi liên kết như vậy cần phải gửi nhận hai thông điệp và đòi hỏi phải có sự
đồng bộ giữa máy khách và máy chủ. Khi thông điệp từ máy khách được
gửi đến, các tiến trình của máy chủ sẽ được bắt đầu, các hành động gửi yêu
caauff của máy khách sẽ bị khóa và chờ cho đến khi nhận được thông điệp
trả lời từ máy chủ.
b) Truyền thông nhóm multicast (Group Multicast)
Trong mô hình truyền thông nhóm multicast, các trạm cũng liên lạc với
nhau bởi các thông điệp, nhưng đích đến của một thông điệp không phải chỉ
là một trạm đơn nhưng là một nhóm các trạm trong mạng. Multicast là
phương pháp truyền dữ liệu một-nhiều, điều này cho phép truyền thông tin
từ một thành viên của mạng đến một nhóm các thành viên khác vào cùng

một lúc mà không phải gửi nhiều lần, thuận tiện việc truyền trực tiếp trên
sóng vô tuyến.
Khi có nhu cầu, máy tính cho bộ định tuyến (router) biết nó muốn nhận thông tin từ
một multicast. Bộ định tuyến này báo cho bộ định tuyến tiếp theo gần với nguồn của
multicast biết điều đó. Quá trình này được tiếp tục đến khi đường đi được thiết bị lập từ
nguồn multicast đến máy muốn nhận multicast. Kết quả là chỉ có các bộ định tuyến cần
thiết mới nhận được các gói multicast. Các bộ định tuyến không tham gia sẽ không nhận
được gói, việc này làm giảm lưu thông và giúp cho tiến trình hiệu quả hơn.
Trong một mạng máy tính có thể có cũng có thể không có những thiết bị phần cứng
hỗ trợ multicast. Trong trương hợp không có, một thông điệp multicast phải được gửi tuần
tự đến tất cả các trạm thành viên của nhóm multicast: có thể dùng phương thức truyền song
song.
3.2.3. Bảo vệ tài nguyên
Mục đích của chiến lược bảo vệ tài nguyên là đảm bảo rằng mỗi tiến trình chỉ được
truy cập những tài nguyên mà nó được phép. Bảo vệ tài nguyên trong hệ phân tán thì rất
phức tạp bởi tính mở của mạng và tính nhạy cảm của các máy tính không được bảo vệ đối
với sự thay đổi ác ý với hệ thống phần mềm của họ.
Trang 17
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
Như những khía cạnh khác của quản lý tài nguyên, việc bảo vệ tài nguyên trong hệ
phân tán là một dịch vụ đăc biệt có quy mô lớn. Nhân hệ điều hành phân tán có các cơ chế
để bảo vệ tài nguyên, và các dịch vụ ở mức cao hơn cũng tương tự. Nhân dùng các tiện ích
như đơn vị quản lý bộ nhớ để tự bảo vệ và bảo vệ cho các phần cứng mà nó quản lý. Các
máy server phải tiếp nhận các thông điệp tùy ý từ khắp nơi trong hệ thống phân tán, vì thế
cần có các phần mềm có chức năng chống lại các yêu cầu bất hợp pháp để bảo vệ tài
nguyên.
Miền bảo vệ (Protection Domains)
Miền bảo vệ là một môi trường được bảo vệ được chia sẻ cho một tập hợp các đơn vị trong
hệ thống phân tán. Có sự đi đôi của tài nguyên và quyền truy cập đối với tài nguyên đó.
Liệt kê các tài nguyên có thể được truy cập bởi tất cả các trạm trong miền và các thao tác

có thể được thực hiện đối với các tài nguyên tương ứng. Quyền ở đây là các thao tác được
cho phép trên tài nguyên, ví dụ như một file thì có thể đọc hoặc ghi.
KẾT LUẬN
Qua bài tiểu luận này, em đã phần nào hiểu được vấn đề sử dụng và chia sẻ tài
nguyên trong hệ phân tán một cách có hiệu quả. Các giải pháp về truyền thông và an toàn
an ninh là rất quan trọng trong qua trình chia sẻ tài nguyên. Tuy nhiên do khả năng tự
Trang 18
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
nghiên cứu còn hạn chế nên nội dung trình bày còn nhiều thiếu sót Em rất mong nhận được
sự chỉ bảo của thầy để hoàn thiện kiến thức của mình.
TÀI LIỆU THAM KHẢO
[1] DISTRIBUTED SYSTEMS Principles and Paradigms 2
nd
Edition Andrew S.
Tanenbaum, Maarten Van Steen
[2] Sharing Resources in Distributed Systems _ Rajmohan Rajaraman. University of Texas
at Austin. 1997
[3] Distributed Systems Concepts & Design by George Coulouris
Trang 19
Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp
Trang 20

×