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

Ôn tập Hệ điều hành mạng nâng cao

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 (387.03 KB, 44 trang )

Ôn tập
Hệ điều hành mạng nâng cao
1. Khái quát về HĐH mạng
– HĐH cho máy để bàn và HĐH mạng
– HĐH cho mạng peer-to-peer và HĐH cho mạng client/server
2. Kiểm soát truy nhập
– Khái niệm kiểm soát truy nhập
– Các biện phát kiểm soát truy nhập
• Kiểm soát truy nhập tuỳ chọn
• Kiểm soát truy nhập bắt buộc
• Kiểm soát truy nhập dựa trên vai trò
• Kiểm soát truy nhập dựa trên luật
3. Hệ thống file phân tán
– Hệ thống file và hệ thống file phân tán
– Đặt tên và tính trong suốt
– Các phương pháp truy nhập từ xa
– Giới thiệu hệ thống file phân tán của
Google (Google Distributed File System)
4. Các cơ chế giao tiếp giữa các tiến trình phân tán
– Mô hình giao tiếp
– Cơ chế truyền thông điệp và triệu gọi thủ tục từ xa.
5. Điều độ các tiến trình trong hệ thống phân tán
– Vấn đề điều độ trong các hệ thống phân tán
– Loại trừ tương hỗ phân tán
– Bầu chọn lãnh đạo
– hay người điều phối hệ thống
6. Các vấn đề về an toàn và bảo mật mạng
– Khái quát về vấn đề an toàn hệ thống và mạng
– Các dạng tấn công và các phần mềm độc hại
– Các biện pháp đảm bảo an toàn
– Giới thiệu về mã hoá khoá bí mật và mã hoá khoá công khai.


~ 1 ~
1. Khái quát về HĐH mạng
– HĐH cho máy để bàn và HĐH mạng
– HĐH cho mạng peer-to-peer và HĐH cho mạng client/server
Hệ điều hành là một phần mềm chạy trên máy tính, dùng để điều hành, quản lý các thiết
bị phần cứng và các tài nguyên phần mềm trên máy tính.
Hệ điều hành đóng vai trò trung gian trong việc giao tiếp giữa người sử dụng và phần
cứng máy tính, cung cấp một môi trường cho phép người sử dụng phát triển và thực hiện
các ứng dụng của họ một cách dễ dàng.
* Chức năng chính yếu của hệ điều hành
Theo nguyên tắc, hệ điều hành cần thỏa mãn hai chức năng chính yếu sau:
- Quản lý chia sẻ tài nguyên
+ Tài nguyên của hệ thống (CPU, bộ nhớ, thiết bị ngoại vi, ) vốn rất giới hạn, nhưng
trong các hệ thống đa nhiệm, nhiều người sử dụng có thể đồng thời yêu cầu nhiều tài
nguyên. Để thỏa mãn yêu cầu sử dụng chỉ với tài nguyên hữu hạn và nâng cao hiệu quả sử
dụng tài nguyên, hệ điều hành cần phải có cơ chế và chiến lược thích hợp để quản lý việc
phân phối tài nguyên.
Ngoài yêu cầu dùng chung tài nguyên để tiết kiệm chi phí, người sử dụng còn cần phải
chia sẻ thông tin (tài nguyên phần mềm) lẫn nhau, khi đó hệ điều hành cần đảm bảo việc
truy xuất đến các tài nguyên này là hợp lệ, không xảy ra tranh chấp, mất đồng nhất,
- Giả lập một máy tính mở rộng
Hệ điều hành làm ẩn đi các chi tiết phần cứng, người sử dụng được cung cấp một giao
diện đơn giản, dễ hiểu, dễ sử dụng và không phụ thuộc vào thiết bị phần cứng cụ thể.
Thực tế, ta có thể xem Hệ điều hành như là một hệ thống bao gồm nhiều máy tính trừu
tượng xếp thành nhiều lớp chồng lên nhau, máy tính mức dưới phục vụ cho máy tính mức
trên. Lớp trên cùng là giao diện trực quan nhất để chúng ta điều khiển.
Ngoài ra có thể chia chức năng của Hệ điều hành theo bốn chức năng sau:
Quản lý quá trình (process management)
Quản lý bộ nhớ (memory management)
Quản lý hệ thống lưu trữ

Giao tiếp với người dùng (user interaction)
* Nhiệm vụ của hệ điều hành
+ Điều khiển và quản lý trực tiếp các phần cứng như bo mạch chủ, bo mạch đồ họa và
bo mạch âm thanh,
+ Thực hiện một số thao tác cơ bản trong máy tính như các thao tác đọc, viết tập tin,
quản lý hệ thống tập tin (file system) và các kho dữ liệu.
+ Cung ứng một hệ thống giao diện sơ khai cho các ứng dụng thường là thông qua một
hệ thống thư viện các hàm chuẩn để điều hành các phần cứng mà từ đó các ứng dụng có thể
gọi tới.
+ Cung ứng một hệ thống lệnh cơ bản để điều hành máy. Các lệnh này gọi là lệnh hệ
thống (system command).
~ 2 ~
+ Ngoài ra hệ điều hành, trong vài trường hợp, cũng cung cấp các dịch vụ cơ bản cho
các phần mềm ứng dụng thông thường như chương trình duyệt Web, chương trình soạn thảo
văn bản
* Các thành phần của hệ điều hành
- Hệ thống quản lý tiến trình
- Hệ thống quản lý bộ nhớ
- Hệ thống quản lý nhập xuất
- Hệ thống quản lý tập tin
- Hệ thống bảo vệ
- Hệ thống dịch lệnh
- Quản lý mạng
a.
* HĐH cho máy để bàn
• Dịch vụ mạng là phần bổ sung trên nền HĐH truyền thống;
• Các dịch vụ mạng chủ yếu được sử dụng cho các ứng dụng trực tiếp phục vụ người
dùng cuối (email client, web browsers, )
* HĐH mạng
• Là HĐH chuyên dụng được thiết kế để cung cấp các dịch vụ mạng;

• Dịch vụ mạng của HĐH mạng (được cung cấp bởi các ứng dụng máy chủ) chủ yếu
phục vụ một lượng lớn người dùng cuối hoặc các hệ thống thứ cấp khác (mail, web, DNS,
DHCP servers).
• Hệ điều hành mạng (network operating system - NOS) là một phần mềm:
– Điều khiển một mạng và các thông điệp truyền trong mạng đó, bao gồm cả vấn đề
quản lý các hàng đợi (queues) các thông điệp;
– Điều khiển quyền truy nhập của nhiều người sử dụng đến các tài nguyên mạng;
– Cung cấp các chức năng quản trị hệ thống, bao gồm cả vấn đề an ninh an toàn.
• Điểm khác biệt giữa NOS và OS thông thường (được trang bị các công cụ mạng):
NOS là một OS được thiết kế đặc biệt để đảm bảo hoạt động của mạng đạt hiệu năng tối ưu.
– Ví dụ: dịch vụ chia sẻ file:
• Windows XP: chậm và chỉ phục vụ số hạn chế users
• Windows server 2003: nhanh và có thể phục vụ nhiều users truy nhập đồng thời.
b. HĐH mạng - Peer-to-Peer
• Đặc điểm
– HĐH mạng peer-to-peer cho phép người dùng:
• Chia sẻ các tài nguyên có trên máy tính của họ và
• Truy nhập các tài nguyên chia sẻ trên các máy tính khác trong mạng.
– Các máy tính trong mạng peer-to-peer được xem là bình đẳng và quyền ngang nhau
khi truy nhập các tài nguyên mạng.
– Không có cơ chế quản lý tập trung và không có máy chủ file.
– Thường được dùng trong các mạng LAN nhỏ và trung bình
– VD:
~ 3 ~
• Windows for workgroups: Windows 3.x
• Mạng chỉ gồm các máy desktop chạy Windows 95, 98, ME, 2000, XP, Vista,
• Các mạng chia sẻ files Peer-to-Peer do các phần mềm như eDonkey, eMule,
Bittorent, tạo ra.
• Ưu điểm
– Rẻ tiền do không cần máy chủ chuyên dụng

– Dễ cài đặt và quản trị
• Nhược điểm
– Không tập trung - thiếu nơi lưu trữ tập trung cho files và các ứng dụng
– Hiệu năng của các dịch vụ mạng thường không cao
– Khó khăn trong đảm bảo an toàn mạng.
HĐH mạng - Client/Server
• Đặc điểm
– HĐH mạng cho phép tập trung các chức năng và các ứng dụng trên một hoặc một số
máy chủ chuyên dụng (dedicated servers);
– Các máy chủ là trái tim của cả hệ thống, cho phép:
• Các máy truy nhập đến các tài nguyên mạng
• Kiểm soát và đảm bảo an toàn cho mạng
• Đặc điểm
– Các máy trạm (khách) được phép truy nhập các tài nguyên sẵn có trên máy chủ theo
quyền truy nhập đã được xác định trước;
– HĐH mạng cung cấp các cơ chế kết hợp tất cả các thành phần của mạng thành một thể
thống nhất;
– Cho phép nhiều người dùng cùng truy nhập đồng thời các tài nguyên mạng từ các vị
trí khác nhau.
• Ưu điểm
– Tập trung (Centralized): Máy chủ kiểm soát các tài nguyên và đảm bảo an toàn dữ
liệu;
– Khả năng mở rộng (Scalability): từng thành phần hoặc tất cả có thể được thay thế
riêng để mở rộng hệ thống
– Mềm dẻo (Flexibility): các công nghệ mới có thể được áp dụng dễ dàng
– Tương tác (interoperabilities): tất cả các thành phần của mạng (client/network/server)
cùng phối hợp hoạt động.
– Khả năng truy nhập (Accessibility): máy chủ có thể được truy nhập từ xa và bởi nhiều
nền tảng khác nhau.
• Nhược điểm

– Đắt tiền: đòi hỏi phải đầu tư các máy chủ chuyên dụng đắt tiền;
– Bảo trì: các mạng lớn đòi hỏi nhân viên quản trị hệ thống có trình độ và kinh nghiệm
để mạng có thể hoạt động với hiệu quả cao;
– Phụ thuộc: nếu máy chủ gặp sự cố thì hoạt động của cả mạng có thể bị ngưng trệ.
1. Khái niệm hệ điều hành (Operating System).
~ 4 ~
HĐH là tập hợp các chương trình được tổ chức thành một hệ thống với nhiệm vụ:
– Đảm bảo tương tác giữa người dùng với máy tính.
– Cung cấp các phương tiện và dịch vụ để điều phối việc thực hiện các ch.trình.
– Quản lý, tổ chức khai thác các tài nguyên của máy một cách thuận lợi và tối ưu.
1.1 Khái niệm hệ điều hành
Hệ điều hành là một hệ thống các 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.
Phần cứng bao gồm CPU, bộ nhớ, các thiết bị nhập xuất, đây là những tài nguyên của máy
tính.
Chương trình ứng dụng như các chương trình dịch, hệ thống cơ sở dữ liệu, các trò chơi, và
các chương trình thương mại. Các chương trình này sử dụng tài nguyên của máy tính để giải quyết
các yêu cầu của người sử dụng.
Hệ điều hành điều khiển và phối hợp việc sử dụng phần cứng cho những ứng dụng khác
nhau của nhiều người sử dụng khác nhau. Hệ điều hành cung cấp một môi trường mà các chương
trình có thể làm việc hữu hiệu trên đó.
I. Thế nào là một hệ điều hành mạng
Với việc ghép nối các máy tính thành mạng thì cần thiết phải có một hệ thống phần
mềm có chức năng quản lý tài nguyên, tính toán và xử lý truy nhập một cách thống nhất trên
mạng, hệ như vậy được gọi là hệ điều hành mạng. Mỗi tài nguyên của mạng như tệp, đĩa,

thiết bị ngoại vi được quản lý bởi một tiến trình nhất định và hệ điều hành mạng điều khiển
sự tương tác giữa các tiến trình và truy cập tới các tiến trình đó.
Căn cứ vào việc truy nhập tài nguyên trên mạng người ta chia các thực thể trong mạng
thành hai loại chủ và khách, trong đó máy khách (Client) truy nhập được vào tài nguyên của
mạng nhưng không chia sẻ tài nguyên của nó với mạng, còn máy chủ (Server) là máy tính
nằm trên mạng và chia sẻ tài nguyên của nó với các người dùng mạng.
Hiện nay các hệ điều hành mạng thường được chia làm hai loại là hệ điều hành mạng
ngang hàng (Peer-to-peer) và hệ điều hành mạng phân biệt (client/server).
Với hệ điều hành mạng ngang hàng mỗi máy tính trên mạng có thể vừa đóng vai trò chủ
lẫn khách tức là chúng vừa có thể sử dụng tài nguyên của mạng lẫn chia sẻ tài nguyên của
nó cho mạng, ví dụ: LANtastic của Artisoft, NetWare lite của Novell, Windows (for
Workgroup, 95, NT Client) của Microsoft.
~ 5 ~
Với hệ điều hành mạng phân biệt các máy tính được phân biệt chủ và khách, trong đó
máy chủ mạng (Server) giữ vai trò chủ và các máy cho người sử dụng giữ vai trò khách (các
trạm). Khi có nhu cầu truy nhập tài nguyên trên mạng các trạm tạo ra các yêu cầu và gửi
chúng tới máy chủ sau đó máy chủ thực hiện và gửi trả lời. Ví dụ các hệ điều hành mạng
phân biệt: Novell Netware, LAN Manager của Microsoft, Windows NT Server của
Microsoft, LAN Server của IBM, Vines của Banyan System với server dùng hệ điều hành
Unix.
==========
Môi trường mạng có những đặc điểm riêng, khác với môi trường chỉ dùng máy tính cá
nhân (PC), thể hiện ở các đặc trưng sau:
− Trước hết đó là môi trường nhiều người dùng. Đặc điểm này dẫn đến các nhu cầu
liên lạc giữa những người sử dụng, nhu cầu bảo vệ dữ liệu và nói chung là bảo vệ tính riêng
tư của người sử dụng.
− Mạng còn là môi trường đa nhiệm, có nhiều công việc thực hiện trên mạng. Đặc
điểm này sẽ phát sinh các nhu nhu cầu chia sẻ tài nguyên, nhu cầu liên lạc giữa các tiến
trình như trao đổi dữ liệu, đồng bộ hoá.
− Là môi trường phân tán, tài nguyên (thông tin, thiết bị) nằm ở các vị trí khác nhau,

chỉ kết nối thông qua các đường truyền vật lý. Điều này phát sinh các nhu cầu chia sẻ tài
nguyên trên toàn mạng nhưng sự phân tán cần được trong suốt đối để nó không gây khó
khăn cho người sử dụng.
− Có nhiều quan niệm cũng như các giải pháp mạng khác nhau. Điều đó nảy sinh nhu
cầu giao tiếp giữa các mạng khác nhau.
− Làm việc trên môi trường mạng chắc chắn sẽ phức tạp hơn môi trường máy đơn lẻ.
Vì thế rất cần có các tiện ích giúp cho việc sử dụng và quản trị mạng dễ dàng và hiệu quả.
====================
1.4.3.1. Kiểu ngang hàng (peer-to-peer)
Mọi trạm đều có quyền bình đẳng như nhau và đều có thể cung cấp tài nguyên cho
các trạm khác. Các tài nguyên cung cấp được có thể là tệp (tương ứng với thiết bị là đĩa),
máy in. Nói chung trong các mạng ngang hàng không có việc biến một máy tính thành
một trạm làm việc của một máy tính khác. Trong mạng ngang hàng, thông thường các
máy sử dụng chung một hệ điều hành.
Win 3.1, Win 95, NT Workstation, AppleShare, Lanstic và Novell Lite là các hệ điều
hành mạng ngang hàng .
Các đặc điểm của mạng ngang hàng:
- Thích hợp với các mạng cục bộ quy mô nhỏ, đơn lẻ, các giao thức riêng lẻ, mức độ
thấp và giá thành rẻ.
- Các mạng ngang hàng được thiết kế chủ yếu cho các mạng nội bộ vừa và nhỏ và sẽ hỗ
trợ tốt các mạng dùng một nền và một giao thức. Các mạng trên nhiều nền, nhiều giao
thức sẽ thích hợp hơn với hệ điều hành có máy chủ dịch vụ.
- Yêu cầu chia sẻ file và máy in một cách hạn chế cần đến giải pháp ngang hàng.
- Người dùng được phép chia sẻ file và tài nguyên nằm trên máy của họ và truy nhập đến
~ 6 ~
các tài nguyên được chia sẻ trên máy người khác, nhưng không có nguồn quản lý tập
trung.
- Vì mạng ngang hàng không cần máy cụ thể làm máy chủ. Chúng thường là một phần
của hệ điều hành nền hay là phần bổ sung cho hệ điều hành và thường rẻ hơn so với các
hệ điều hành dựa trên máy chủ.

- Trong một mạng ngang hàng, tất cả các máy tính được coi là bình đẳng, bởi vì chúng
có cùng khả năng sử dụng các tài nguyên có sẵn trên mạng.
Những thuận lợi:
- Chi phí ban đầu ít - không cần máy chủ chuyên dụng.
- Cài đặt - Một hệ điều hành có sẵn (ví dụ Win 95) có thể chỉ cần cấu hình lại để hoạt
động ngang hàng.
Những bất lợi:
- Không quản lý tập trung được
- Bảo mật kém
- Có thể tốn rất nhiều thời gian để bảo trì
==================
Hệ điều hành khách/chủ (client/server)
Các hệ điều hành cho cấu trúc khách/chủ bao gồm: Sun Solaris NFS, UnixWare NFS,
Novell Netware và Windows NT Server.
- Hệ điều hành khách/chủ cho phép mạng tập trung các chức năng và các ứng dụng tại một
hay nhiều máy dịch vụ file chuyên dụng. Theo cách này, chúng có thể hoạt động như
trường hợp đặc biệt của hệ điều hành dựa trên máy chủ.
- Các máy dịch vụ file trở thành trung tâm củ hệ thống, cung cấp sự truy cập tới các tài
nguyên và cung cấp sự bảo mật. Các máy trạm riêng lẻ (máy khách) được truy nhập tới
các tài nguyên có sẵn trên máy dịch vụ file.
- OS cung cấp cơ chế tích hợp tất cả các bộ phận của mạng và cho phép nhiều người dùng
đồng thời chia sẻ cùng một tài nguyên bất kể vị trí vật lý
- Các hệ điều hành ngang hàng cũng có thể hoạt động như hệ điều hành khách/chủ như với
Unix/NFS và Windows 95.
Các điểm thuận lợi của một mạng khách/chủ:
- Cho phép cả điều khiển tập trung và không tập trung: Các tài nguyên và bảo mật dữ liệu
có thể được điều khiển qua một máy chủ chuyên dụng hay rải rác trên tòan mạng.
- Chống quá tải mạng
- Cho phép sử dụng các máy, các mạng chạy trên các nền khác nhau
- Đảm bảo toàn vẹn dữ liệu

- Giảm chi phí phát triển hệ thống
~ 7 ~
2. Kiểm soát truy nhập
– Khái niệm kiểm soát truy nhập
– Các biện phát kiểm soát truy nhập
• Kiểm soát truy nhập tuỳ chọn
• Kiểm soát truy nhập bắt buộc
• Kiểm soát truy nhập dựa trên vai trò
• Kiểm soát truy nhập dựa trên luật
==============
* Khái niệm kiểm soát truy nhập
• Kiểm soát truy nhập là quá trình mà trong đó người dùng được nhận dạng và trao
quyền truy nhập đến các thông tin, các hệ thống và tài nguyên.
• Một hệ thống kiểm soát truy nhập có thể được cấu thành từ 3 dịch vụ:
– Xác thực (Authentication):
• Là quá trình xác minh tính chân thực của các thông tin nhận dạng mà người dùng cung
cấp.
– Trao quyền (Authorization):
• Trao quyền xác định các tài nguyên mà người dùng được phép truy nhập sau khi người
dùng đã được xác thực.
– Quản trị (Administration):
• Cung cấp khả năng thêm, bớt và sửa đổi các thông tin tài khoản người dùng, cũng như
quyền truy nhập của người dùng.
* Mục đích chính của kiểm soát truy nhập là để đảm bảo tính bí mật, toàn vẹn và sẵn
dùng của thông tin, hệ thống và các tài nguyên:
– Tính bí mật (confidentiality): đảm bảo chỉ những người có thẩm quyền mới có khả
năng truy nhập vào dữ liệu và hệ thống.
– Tính toàn vẹn (Integrity): đảm bảo dữ liệu không bị sửa đổi bởi các bên không có đủ
thẩm quyền.
– Tính sẵn dùng: đảm bảo tính sẵn sàng (đáp ứng nhanh/kịp thời) của dịch vụ cung cấp

cho người dùng thực sự.
===
Các biện pháp kiểm soát truy nhập: Có 4 biện pháp là:
• Kiểm soát truy nhập tuỳ chọn - Discretionary Access Control (DAC)
• Kiểm soát truy nhập bắt buộc – Mandatory Access Control (MAC)
• Kiểm soát truy nhập dựa trên vai trò - Role-Based Access Control (RBAC)
• Kiểm soát truy nhập dựa trên luật - Rule-Based Access Control
• Kiểm soát truy nhập tuỳ chọn được định nghĩa là các cơ chế hạn chế truy nhập đến
các đối tượng dựa trên thông tin nhận dạng của các chủ thể và/hoặc nhóm của các chủ thể.
- Thông tin nhận dạng có thể gồm:
+ Bạn là ai? (CMND, bằng lái xe, vân tay, )
+ Những cái bạn biết (tên truy nhập, mật khẩu, )
~ 8 ~
+ Bạn có gì? (Thẻ tín dụng, )
- DAC cho phép người dùng có thể cấp hoặc huỷ quyền truy nhập cho các người dùng
khác đến các đối tượng thuộc quyền kiểm soát của họ.
- Chủ sở hữu của các đối tượng (owner of objects) là người dùng có toàn quyền kiểm
soát các đối tượng này.
- Ví dụ: Với DAC:
+ Người dùng có quyền tạo, sửa đổi và xoá các files trong thư mục của riêng mình
(home directory).
+ Họ cũng có khả năng trao hoặc huỷ quyền truy nhập vào các files của mình cho các
người dùng khác.
* Kiểm soát truy bắt buộc - Mandatory Access Control (MAC) được định nghĩa là các
cơ chế hạn chế truy nhập đến các đối tượng dựa trên:
+ Tính nhạy cảm (sensitivity) của thông tin (thường được gán nhãn) chứa trong các đối
tượng, và
+ Sự trao quyền chính thức (formal authorization) cho các chủ thể truy nhập các thông
tin nhạy cảm này.
- MAC không cho phép người tạo ra các đối tượng (thông tin/tài nguyên) có toàn quyền

truy nhập các đối tượng này.
- Quyền truy nhập đến các đối tượng (thông tin/tài nguyên) do người quản trị hệ thống
định ra trước trên cơ sở chính sách an toàn thông tin của tổ chức đó.
- MAC thường được sử dụng phổ biến trong các cơ quan an ninh, quân đội và ngân
hàng.
• Ví dụ: một tài liệu được tạo ra và được đóng dấu “Mật”:
– Chỉ những người có trách nhiệm trong tổ chức mới được quyền xem và phổ biến cho
người
khác;
– Tác giả của tài liệu không được quyền phổ biến đến người khác;
* Kiểm soát truy nhập dựa trên vai trò - (RBAC)
• Kiểm soát truy nhập dựa trên vai trò cho phép người dùng truy nhập vào hệ thống và
thông tin dựa trên vai trò (role) của họ trong công ty/tổ chức đó.
• Kiểm soát truy nhập dựa trên vai trò có thể được áp dụng cho một nhóm người dùng
hoặc từng người dùng riêng lẻ.
• Quyền truy nhập được tập hợp thành các nhóm “vai trò” với các mức quyền truy nhập
khác nhau.
• Ví dụ: một trường học chia người dùng thành các nhóm gán sẵn quyền truy nhập vào
các phần trong hệ thống:
– Nhóm Quản lý được quyền truy nhập vào tất cả các thông tin;
– Nhóm Giáo viên được truy nhập vào CSDL các môn học, bài báo khoa học, cập nhật
điểm các lớp phụ trách;
– Nhóm Sinh viên chỉ được quyền xem nội dung các môn học, tải tài liệu học tập và
xem điểm của mình.
~ 9 ~
• Liên kết giữa người dùng và vai trò: Người dùng được cấp “thẻ thành viên” của các
nhóm “vai trò” trên cơ sở năng lực và vai trò, cũng như trách nhiệm của họ trong một tổ
chức.
• Trong nhóm “vai trò”, người dùng có vừa đủ quyền để thực hiện các thao tác cần thiết
cho công việc được giao.

• Liên kết giữa người dùng và vai trò có thể được tạo lập và huỷ bỏ dễ dàng.
• Quản lý phân cấp vai trò: các vai trò được tổ chức thành một cây theo mô hình phân
cấp tự nhiên của các công ty/tổ chức.
* Kiểm soát truy nhập dựa trên luật
• Kiểm soát truy nhập dựa trên luật cho phép người dùng truy nhập vào hệ thống vào
thông tin dựa trên các luật (rules) đã được định nghĩa trước.
• Các luật có thể được thiết lập để hệ thống cho phép truy nhập đên các tài nguyên của
mình cho người dùng thuộc một tên miền, một mạng hay một dải địa chỉ IP.
• Firewalls/Proxies là ví dụ điển hình về kiểm soát truy nhập dựa trên luật:
– Dựa trên địa chỉ IP nguồn và đích của các gói tin;
– Dựa trên phần mở rộng các files để lọc các mã độc hại;
– Dựa trên IP hoặc các tên miền để lọc/chặn các website bị cấm;
– Dựa trên tập các từ khoá để lọc các nội dung bị cấm.
~ 10 ~
3. Hệ thống file phân tán
– Hệ thống file và hệ thống file phân tán
– Đặt tên và tính trong suốt
– Các phương pháp truy nhập từ xa
– Giới thiệu hệ thống file phân tán của Google (Google Distributed File System)
* Hệ thống file
• Hệ thống file (file system) là một phương pháp tổ chức và lưu trữ các file và dữ liệu
của chúng.
• Hệ thống file cho phép người sử dụng dễ dàng tìm kiếm và truy nhập các file.
• Hệ thống file có thể sử dụng:
– Các thiết bị lưu trữ (đĩa cứng, đĩa mềm, CD) để lưu trữ files, hoặc
– Cho phép truy nhập đến dữ liệu trên máy chủ file thông qua một giao thức mạng
(NFS, SMB, …)
• Các loại hệ thống file:
– Disk File System: sử dụng các thiết bị lưu trữ có kết nối trực tiếp hoặc gián tiếp với
máy tính để lưu trữ file (phổ biến là đĩa).

• Các loại Disk FS thông dụng là FAT, NTFS, ext2, ext3, ISO 9960 và UDF (Universal
Disk Format).
– Database file system: sử dụng các khái niệm của CSDL để quản lý files. Thay vì các
files được quản lý theo cấu trúc phân cấp (cây), các files được nhận dạng bằng các thuộc
tính, như loại file, chủ đề, tác giả hoặc mô tả file.
• Các loại hệ thống file:
– Transactional file system: Là loại hệ thống file chuyên dụng, dùng để lưu trữ các giao
dịch. Thường được dùng nhiều trong ngành Ngân hàng.
– Network file system: là một hệ thống file cho phép truy nhập các files trên máy chủ.
NFS hoạt động như là một client của một giao thức truy nhập file từ xa.
NFS còn được gọi là Distributed File System (DFS).
• Ví dụ: NFS (Sun), AFS (Andrew FS), GFS (Google FS), FTP.
– Special purpose file system: Là các hệ thống file không phải là DFS và NFS.
• Ví dụ: trong các hệ thống mà các files được quản lý động bởi các phần mềm phục vụ
cho giao tiếp giữa các tiến trình, hoặc dành cho không gian lưu trữ tạm thời.
• Hệ điều hành – Hệ thống file sử dụng:
– MS-DOS:
• FAT (FAT12, FAT16)
– Windows 95, 98, Me:
• VFAT (FAT32)
– NT4, 2000, XP, 2003:
• NTFS
– Unix, Linux:
• ext2, ext3
– Mac OS:
~ 11 ~
• HFS (Hierachical FS)
* Hệ thống file phân tán
• Hệ thống file phân tán (Distributed File System - DFS) là một hệ thống file hỗ trợ chia
sẻ files và các tài nguyên trên mạng.

• Về mặt hình thức và với người dùng, DFS hoàn toàn tương tự như hệ thống file cục
bộ.
• Các DFS phổ biến:
– NFS (Sun),
– AFS (Andrew FS) và
– Common Internet File System (CIFS) – dựa trên giao thức SMB (Server Message
Blocks).
• Nhu cầu cần có DFS:
– Nhu cầu chia sẻ dữ liệu của các users (khoảng cách, sự tiện lợi)
– Yêu cầu lưu trữ khối lượng dữ liệu khổng lồ cho web, database, audio, video,…
• 185.000.000 websites vào tháng 1/2009
• 101,435,253 websites vào tháng 11/2006
• 1991-1997 tăng 850%/năm
• 1998-2001 tăng 150%/năm
• 2002-2006 tăng 25%/năm
– Tính sẵn dùng ở mọi lúc, mọi nơi
– DFS có khả năng mở rộng tốt và khả năng chịu lỗi cao.
– Theo nghiên cứu của IDC, năm 2006, loài người tạo ra 161 tỷ
GB thông tin, và dự báo con số này sẽ tăng 6 lần, đạt 988 tỷ GB vào năm 2010.
• Lịch sử phát triển
– 1980s: Chia sẻ file dùng đĩa mềm (copy-vận chuyểncopy)
– 1980s: Chia sẻ file dùng FTP: vẫn cần 2 lần copy và
user phải biết địa chỉ vật lý của ftp server
– SPRITE network OS: Giữa những năm 1980 tại ĐH
University of California at Berkerly
– 1983: AFS: Thực hiện tại ĐH Carnegie Mellon với sự hỗ trợ của IBM.
– 1985: Sun NFS
– Đầu năm 1990s: CODE (kế tiếp của AFS)
– ZEBRA: Đầu những năm 1990 tại ĐH
University of California at Berkerly

– HARP: Đầu những năm 1990 tại ĐH MIT
– Lustre: DFS mã mở, có khả năng kết hợp hàng chục ngàn nút và cung cấp dung lượng
lưu trữ đến petabytes.
• KB, MB, GB, TB, PB (petabytes), EB (exabyte)
• Phiên bản mới nhất: 1.80 vào tháng 5/2009.
++++++++++++++++++++
* Tính trong suốt (Transparency):
~ 12 ~
– Mạng trong suốt (Network transparency): máy khách có thể truy nhập file từ xa sử
dụng tập các thao tác giống như khi truy nhập các file cục bộ;
– Vấn đề di chuyển của người dùng (user mobility): người dùng có thể đăng nhập vào
bất cứ máy nào trong hệ thống.
• Hiệu năng (Performance): là khoảng thời gian đáp ứng mỗi yêu cầu truy nhập. Hiệu
năng của DFS phải tương đương với hiệu năng của hệ thống file cục bộ.
• Khả năng chịu lỗi (Fault Tolerrence): hệ thống vẫn có khả năng cung cấp dịch vụ nếu
một số thành phần của nó gặp trục trặc.
• Khả năng mở rộng (Scalability): khả năng thích nghi với việc tăng tải
Đặt tên và tính trong suốt (tiếp)
• Đặt tên (naming) là một ánh xạ (mapping) giữa các đối tượng logic và các đối tượng
vật lý.
• Người dùng thường sử dụng các đối tượng logic, còn hệ thống thường xử lý các đối
tượng vật lý.
• VD: – Người dùng thường tham chiếu đến một file thông qua tên của nó.
– Hệ thống quản lý file thông qua số nhận dạng và cuối cùng được ánh xạ thành các
khối lưu trữ trên đĩa.
• Việc ánh xạ nhiều lớp đối với đối tượng file cung cấp tính trừu tượng cho người dùng,
giúp ẩn các chi tiết của việc một file được lưu trữ như thế nào và file được lưu trữ ở đâu.
• Trong các hệ thống DFS trong suốt, tính trừu tượng được bổ sung thêm một đặc tính
mới: đặc tính ẩn vị trí của file được lưu trữ trong mạng.
• Trong các hệ thống file cục bộ: ánh xạ tên là một địa chỉ trong một đĩa, còn trong

DFS, ánh xạ tên bao gồm cả máy chứa đĩa lưu trữ file.
Tính trong suốt và tính độc lập về vị trí
• Hai phương pháp ánh xạ tên file:
– Trong suốt vị trí: Tên của một file không biểu thị một thông tin nào về vị trí lưu trữ
vật lý của file.
– Độc lập vị trí: Tên của một file không cần phải thay đổi khi vị trí vật lý của file thay
đổi.
• Phương pháp đặt tên độc lập về vị trí là phương pháp ánh xạ động do nó có thể ánh xạ
cùng một tên file đến các vị trí khác nhau tại hai thời điểm khác nhau.
• Độc lập vị trí là một thuộc tính “mạnh” hơn trong suốt vị trí.
• File độc lập vị trí thường được tham chiếu như:
– File di trú (file migration), hoặc
– File di động (File mobility)
• => việc dịch chuyển vị trí của file hoàn toàn trong suốt đối với người dùng.
Phân biệt trong suốt và độc lập vị trí
• Trừu tượng:
– Do độc lập vị trí tách dữ liệu khỏi vị trí, độc lập vị trí cung cấp tính trừu tượng hoá
cao hơn. Các file độc lập về vị trí có thể được xem như các kho chứa dữ liệu không gắn với
một ví trí lưu trữ cụ thể nào.
~ 13 ~
– Ngược lại, với trong suốt về vị trí, tên file vẫn mô tả một tập các khối đĩa vật lý cụ thể
dù chúng được ẩn.
• Chia sẻ dữ liệu:
– Trong suốt về vị trí cho phép người dùng chia sẻ dữ liệu một cách thuận lợi.
• Người dùng có thể chia sẻ file từ xa bằng cách đặt tên chúng theo cách trong suốt về vị
trí như thể chúng là dữ liệu cục bộ.
• Tuy nhiên, cách chia sẻ này có nhiều bất lợi do các tên logic vẫn được gắn cố định với
các thiết bị lưu trữ vật lý.
– Độc lập vị trí cho phép cung cấp sẵn khả năng chia sẻ không gian lưu trữ và các đối
tượng dữ liệu. Một cách tổng thể, có thể coi không gian lưu trữ toàn hệ thống như một tài

nguyên ảo và đơn nhất, mà trong đó các file có thể di chuyển.
• Cấu trúc:
– Độc lập vị trí phân tách cấu trúc phân cấp tên khỏi cấu trúc các thiết bị lưu trữ và cấu
trúc liên kết các máy chủ.
– Trong suốt về vị trí có tính tương đồng giữa đơn vị thành phần và đơn vị máy. Hệ
thống máy được cấu hình tương tự như hệ thống tên.
Các phương pháp đặt tên
• Kết hợp tên máy (host) và tên cục bộ:
– Ví dụ: host:local name, trong đó host là tên máy và local name là tên file cục bộ.
Trong Windows để truy nhập 1 file chia sẻ từ xa, sử dụng:
\\host\shared name\local name.
– Vị trí không trong suốt và vị trí không độc lập
– Có thể sự dụng cùng một tập các thao tác cho file cục bộ và file ở xa
– Cung cấp tính trong suốt về mạng
– DFS là một tập hợp của các đơn vị thành phần riêng rẽ; các đơn vị thành phần này là
các hệ thống file cục bộ.
• Kết hợp các thư mục ở xa vào không gian tên cục bộ:
– Ví dụ: Sử dụng tính năng “map network drive” trong Windows hoặc trình mount
trong Unix/Linux (sử dụng trong Sun’s NFS) để kết hợp các thư mục chia sẻ vào không
gian tên cục bộ.
– Cung cấp tính trong suốt về vị trí
– Cấu trúc tên linh hoạt
– Có khả năng tạo không gian tên riêng cho từng máy
• Không gian cấu trúc tên toàn cục cho tất cả các file trong toàn hệ thống
– Cung cấp không gian tên đồng nhất cho tất cả các máy khách
– Không gian cấu trúc tên toàn cục nên tương tự như không gian cấu trúc tên cục bộ.
• Đánh giá các phương pháp đặt tên: độ phức tạp của việc quản trị (administrative
complexity):
– Sun’s NFS (phương pháp “Kết hợp các thư mục ở xa vào không gian tên cục bộ”) có
cấu trúc phức tạp nhất và khó bảo trì nhất. Điều này là do:

~ 14 ~
• Nếu một máy gặp trục trặc hoặc nó bị ngắt khỏi mạng thì các thư mục chia sẻ của máy
này sẽ không hoạt động. Hậu quả là một tập các thư mục ánh xạ mạng tới các thư mục chia
sẻ của máy kể trên trên các máy khác cũng sẽ không hoạt động (unavailable).
• Việc di chuyển các files từ một máy đến một máy khác đòi hỏi phải thay đổi không
gian tên của tất cả các máy bị ảnh hưởng.
• Mỗi máy cần có một cơ chế kiểm soát việc máy nào trong mạng được phép liên kết
đến một thư mục trong không gian tên của nó.
Các kỹ thuật thực hiện đặt tên
• Dịch tên đường dẫn (Pathname translation)
• Tên nhận dạng có cấu trúc (Structured Identifiers)
• Thông tin gợi ý (Hints)
• Các cơ chế mount (Mount mechanism)
Dịch tên đường dẫn (Pathname translation)
• Là ánh xạ từ tên file sang tên nhận dạng mức thấp, và thường được thực hiện bằng một
thủ tục tìm kiếm đệ quy.
* Các phương pháp truy nhập từ xa
• Xem xét việc 1 client yêu cầu truy nhập 1 file từ xa, cần thực hiện hai thao tác:
– Máy chủ lưu file cần được tìm thông qua hệ thống tên
– Chuyển dữ liệu của file từ máy chủ về máy khách.
• Có hai phương pháp thực hiện việc vận chuyển dữ liệu file:
– Dịch vụ từ xa (Remote service) và
– Lưu khay (Caching).
Dịch vụ từ xa (Remote service)
• Client gửi yêu cầu truy nhập đến server;
• Server thực hiện truy nhập và gửi kết quả cho
client;
• Có sự tương quan giữa truy nhập và lưu lượng
mạng. Mỗi truy nhập do server thực hiện đều
phát sinh lưu lượng mạng (network traffic);

• Trong thực tế, nếu chỉ thực hiện Remote service
là không thực tế. Remote service thường được
sử dụng kết hợp với caching.
Lưu khay (Caching)
• Client lưu dữ liệu (toàn bộ hoặc một phần) của
file tại cache cục bộ trong các lần truy nhập file
~ 15 ~
trước đó để sử dụng trong các lần kế tiếp.
• Nếu client tìm thấy dữ liệu cho yêu cầu truy
nhập file trong cache, thì truy nhập được thực
hiện trên phiên bản dữ liệu lưu trong cache.
• Nếu dữ liệu cho yêu cầu truy nhập file không có
trong cache, client sẽ tải dữ liệu của file từ máy
chủ.
• Cache đạt hiệu quả cao nhất khi các truy nhập
tham chiếu có tính lân cận.
• Cần có chính sách cập nhật phiên bản chủ của
file để đảm bảo tính nhất quán giữa dữ liệu
trong cache và dữ liệu file trên máy chủ.
• Không có sự tương quan giữa truy nhập và lưu
lượng mạng.
• Trong hệ thống file cục bộ, cache được sử dụng
để giảm truy nhập vào/ra, còn trong DFS, cache
được sử dụng để giảm lưu lượng mạng.
Caching vs Remote service
• Hiệu năng
– Khi sử dụng caching:
• Một lượng lớn các truy nhập từ xa có thể được xử lý một
cách hiệu quả trong cache cục bộ.
• Nếu truy nhập file có tính lân cận thì hiệu quả càng cao.

• Hầu hết các truy nhập từ xa có thể được phục vụ với tốc
độ của các truy nhập cục bộ.
• Giảm được tải cho máy chủ và lưu lượng mạng
– Khi sử dụng remote service:
• Mỗi truy nhập phải được xử lý qua mạng
• Làm tăng tải cho máy chủ và tăng lưu lượng mạng.
• Giảm hiệu năng hệ thống
• Tải trên mạng (network overhead)
– Khi sử dụng caching: tổng tải mạng giảm
do dữ liệu được vận chuyển một số ít lần
với khối lượng lớn;
~ 16 ~
– Khi sử dụng remote service: tổng tải mạng
tăng do dữ liệu được vận chuyển nhiều lần
với khối lượng nhỏ theo từng yêu cầu truy
nhập cụ thể.
• Chu trình truy nhập đĩa
– Caching: máy chủ có thể tối ưu hoá chu
trình truy nhập đĩa nếu có các yêu cầu truy
nhập một lượng lớn các khối dữ liệu kề
nhau.
– Remote service: Khó tối ưu hoá do truy
nhập thường là ngẫu nhiên.
• Vấn đề đồng nhất dữ liệu là một trong các vấn
đề lớn nhất của caching.
– Caching có hiệu năng cao khi tần suất ghi thấp.
– Ngược lại, nếu tần suất ghi lớn, hiệu năng giảm
mạnh do caching phải thường xuyên cập nhật dữ
liệu file trên máy chủ để đảm bảo tính đồng nhất dữ
liệu.

• Ổ đĩa cục bộ:
– Để sử dụng caching, client phải có ổ đia cục bộ
hoặc bộ nhớ chính lớn.
– Với remote service, client không đòi hỏi phải có ổ
đĩa cục bộ.
* Giới thiệu hệ thống file phân tán của Google GFS - Google File System
3.
1. Hệ thống file và hệ thống file phân tán
1.1. Hệ thống file
Hệ thống file (file system) là một phương pháp tổ chức và lưu trữ các file và dữ liệu của
chúng.
Hệ thống file cho phép người sử dụng dễ dàng tìm kiếm và truy cập các file. Hệ thống
file có thể sử dụng các thiết bị lưu trữ (đĩa cứng, đĩa mềm, CD) để lưu trữ file hoặc cho phép
truy nhập đến dữ liệu trên máy chủ file thông qua một giao thức mạng (NFS, SMB, …). Ta
có thể phân loại các hệ thống file như sau:
- Disk File System: sử dụng các thiết bị lưu trữ có kết nối trực tiếp hoặc gián tiếp với
máy tính để lưu trữ file mà phổ biến là đĩa. Các loại Disk File System thông dụng là: FAT,
NTFS, ext2, ext3, ISO 9960 và UDF (Universal Disk Format).
- Database File System: sử dụng các khái niệm của cở sở dữ liệu để quản lý files. Thay
vì các files được quản lý theo cấu trúc phân cấp (cây), các files được nhận dạng bằng các
thuộc tính, như loại file, chủ đề, tác giả hoặc mô tả file.
~ 17 ~
- Transactional File System: Là loại hệ thống file chuyên dụng, dùng để lưu trữ các giao
dịch. Thường được dùng nhiều trong ngành Ngân hàng.
- Network File System: là một hệ thống file cho phép truy nhập các files trên máy chủ.
NFS hoạt động như là một client của một giao thức truy nhập file từ xa. NFS còn được gọi
là Distributed File System (DFS). Ví dụ: NFS (Sun), AFS (Andrew FS), GFS (Google FS),
FTP.
- Special Purpose File System: Là các hệ thống file không phải là DFS và NFS.
Ví dụ: trong các hệ thống mà các files được quản lý động bởi các phần mềm phục vụ

cho giao tiếp giữa các tiến trình, hoặc dành cho không gian lưu trữ tạm thời.
Các loại hệ điều hành và hệ thống file sử dụng:
- Hệ điều hành MS-DOS sử dụng hệ thống file: FAT (FAT 12 và FAT 16)
- Hệ điều hành Windows 95, 98, Me sử dụng hệ thống file: VFAT (FAT 32)
- Hệ điều hành NT4, 2000, XP, 2003 sử dụng hệ thống file NTFS
- Hệ điều hành Unix và Linux sử dụng hệ thống file ext2 và ext3
- Hệ điều hành Mac OS sử dụng hệ thống file HFS (Hierachical FS)
1.2. Hệ thống file phân tán
1.2.1. Định nghĩa:
Hệ thống file phân tán (Distributed File System -DFS) là một hệ thống file hỗ trợ chia
sẻ files và các tài nguyên trên mạng.
Về mặt hình thức và với người dùng, DFS hoàn toàn tương tự như hệ thống file cục bộ.
Có một số DFS phổ biến đó là: NFS (Sun), AFS (Andrew FS) và Common Internet File
System (CIFS) –dựa trên giao thức SMB (Server Message Blocks).
1.2.2. Nhu cầu cần có DFS:
Nhu cầu chia sẻ dữ liệu của các users về khoảng cách và sự tiện lợi Yêu cầu lưu trữ khối
lượng dữ liệu khổng lồ cho web, database, audio, video,…Theo số liệu cho thấy:
185.000.000 websites vào tháng 1/2009
101.435.253 websites vào tháng 11/2006
1991-1997 tăng 850%/năm
1998-2001 tăng 150%/năm
2002-2006 tăng 25%/năm
Tính sẵn dùng ở mọi lúc, mọi nơi. Ngoài ra DFS còn có khả năng mở rộng tốt và khả
năng chịu lỗi cao.
Theo nghiên cứu của IDC, năm 2006, loài người tạo ra 161 tỷ GB thông tin và dự
báo con số này sẽ tăng 6 lần, đạt 988 tỷ GB vào năm 2010.
1.2.4. Các yêu cầu của DFS
- Tính trong suốt (Transparency):
Mạng trong suốt (Network transparency): máy khách có thể truy nhập file từ xa sử dụng
tập các thao tác giống như khi truy nhập các file cục bộ;

Vấn đề di chuyển của người dùng (user mobility): người dùng có thể đăng nhập vào bất
cứ máy nào trong hệ thống
- Hiệu năng (Performance): là khoảng thời gian đáp ứng mỗi yêu cầu truy nhập.
~ 18 ~
Hiệu năng của DFS phải tương đương với hiệu năng của hệ thống file cục bộ.
- Khả năng chịu lỗi (Fault Tolerrence): hệ thống vẫn có khả năng cung cấp dịch vụ nếu
một số thành phần của nó gặp trục trặc.
- Khả năng mở rộng (Scalability): khả năng thích nghi với việc tăng tải
1.2.5. Các khái niệm
- Hệ thống phân tán (Distributed System): là một tập hợp các máy tính có kết nối lỏng
lẻo bởi một mạng lưới truyền thông (thường là LAN). Các máy tính trong hệ thống có thể là
máy tính lớn hoặc máy trạm. Những máy tính có thể chia sẻ file phân tán vật lý bằng cách
sử dụng một hệ thống file phân tán (DFS)
- Tài nguyên cục bộ và tài nguyên từ xa: các tài nguyên của bản thân một máy tính
thuộc mạng được gọi là tài nguyên cục bộ; các tài nguyên nằm trên các máy khác trong
mạng được gọi là tài nguyên từ xa.
- Dịch vụ (service): là một phần mềm chạy trên một hay nhiều máy tính cung cấp một
chức năng cụ thể cho các máy khách.
- Máy chủ (server): là một phần mềm cung cấp dịch vụ chạy trên một máy tính.
- Máy khách (client): là một tiến trình (process) mà có thể gọi một dịch vụ, sử dụng một
tập các thao tác. Tập các thao tác này cấu thành giao diên máy khách (client interface). Các
máy khách thường xây dựng các giao diện phù hợp với các ứng dụng bậc cao, hoặc cho
phép người sử dụng trực tiếp truy nhập.
- Một hệ thống file cung cấp các dịch vụ về files cho các máy khách
- Giao diện máy khách cho một dịch vụ file được hợp thành từ một tập các thao tác trên
file (tạo, xóa, đọc, ghi).
- DFS là một FS mà trong đó các máy khách, máy chủ và các thiết bị lưu trữ nằm rải rác
trong các máy tính của một hệ thống phân tán. Do đó, các hoạt động dịch vụ file phải được
thực thi trên mạng, thay vì trên một kho lưu trữ tập trung như trong một hệ thống đơn lẻ
2. Đặt tên và tính trong suốt (Naming and Transparency)

Đặt tên (naming) là một ánh xạ (mapping) giữa các đối tượng logic và các đối tượng vật
lý. Người dùng thường sử dụng các đối tượng logic còn hệ thống thường sử dụng các đối
tượng vật lý. Ví dụ: người dùng thường tham chiếu đến một file thông qua tên của nó. Hệ
thống quản lý file thông qua số nhận dạng và cuối cùng được ánh xạ thành các khối lưu trữ
trên đĩa.
Việc ánh xạ nhiều lớp đối với đối tượng file cung cấp tính trừu tượng cho người dùng,
giúp ẩn các chi tiết của việc một file được lưu trữ như thế nào và file được lưu trữ ở đâu.
Trong các hệ thống DFS trong suốt tính trừu tượng được bổ xung thêm một đặc tính
mới: đặc tính ẩn vị trí của file được lưu trữ trong mạng.
Trong các hệ thống file cục bộ: ánh xạ tên là một địa chỉ trong một đĩa, còn trong DFS
ánh xạ tên bao gồm cả máy chứa đĩa lưu trữ file.
2.1 Tính trong suốt và tính độc lập về vị trí
Hai phương pháp ánh xạ tên file trong DFS: Trong suốt vị trí: tên của một file không
biểu thị một thông tin nào về vị trí lưu trữ vật lý của file; Độc lập vị trí: tên của một file
không cần phải thay đổi khi vị trí vật lý của file thay đổi.
~ 19 ~
Phương pháp đặt tên độc lập về vị trí là phương pháp ánh xạ động do nó có thể ánh xạ
cùng một tên file đến các vị trí khác nhau tại hai thời điểm khác nhau. Độc lập vị trí là một
thuộc tính “mạnh” hơn trong suốt vị trí. File độc lập vị trí thường được tham chiếu như: File
di trú (file migration) hoặc File di động (File mobility). Việc dịch chuyển vị trí của file hoàn
toàn trong suốt đối với người dùng.
Một vài khía cạnh có thể phân biệt độc lập vị trí và trong suốt vị trí:
- Trừu tượng: do độc lập vị trí tách dữ liệu khỏi vị trí, độc lập vị trí cung cấp tính trừu
tượng hóa cao hơn. Các file độc lập về vị trí có thể được xem như các kho chứa dữ liệu
không gắn với một vị trí lưu trữ cụ thể nào. Ngược lại, với trong suốt về vị trí, tên file vẫn
mô tả một tập các khối đĩa vật lý cụ thể dù chúng được ẩn.
- Chia sẻ dữ liệu: trong suốt về vị trí cho phép người dùng chia sẻ dữ liệu một cách
thuận lợi: người dùng có thể chia sẻ file từ xa bằng cách đặt tên chúng theo cách trong suốt
về vị trí như thể chúng là dữ liệu cục bộ. Tuy nhiên, cách chia sẻ này có nhiều bất lợi do các
tên logic vẫn được gắn cố định với các thiết bị lưu trữ vật lý. Còn độc lập vị trí cho phép

cung cấp sẵn khả năng chia sẻ không gian lưu trữ và các đối tượng dữ liệu.
Một cách tổng thể, có thể coi không gian lưu trữ toàn hệ thống như một tài nguyên ảo
và đơn nhất, mà trong đó các file có thể di chuyển.
- Cấu trúc: độc lập vị trí phân tách cấu trúc phân cấp tên khỏi cấu trúc các thiết bị lưu
trữ và cấu trúc liên kết các máy chủ. Còn trong suốt về vị trí có tính tương đồng giữa đơn vị
thành phần và đơn vị máy. Hệ thống máy được cấu hình tương tự như hệ thống tên.
2.2 Các phương pháp đặt tên
2.2.1. Kết hợp tên máy (host) và tên cục bộ
Với phương pháp này vị trí không trong suốt và vị trí không độc lập. Có thể sử dụng
cùng một tập các thao tác cho file cục bộ và file ở xa. Phương pháp này cung cấp tính trong
suốt về mạng và DFS được cấu trúc như một tập hợp của các đơn vị thành phần riêng rẽ; các
đơn vị thành phần này là các hệ thống file cục bộ. Ví dụ: host: local name, trong đó host là
tên máy và local name là tên file cục bộ. Trong Windows để truy nhập 1 file chia sẻ từ xa ta
sử dụng: \\host\sharedname\local name
2.2.2. Kết hợp các thư mục ở xa vào không gian tên cục bộ
Phương pháp này cung cấp tính trong suốt về vị trí, cấu trúc tên linh hoạt, có khả năng
tạo không gian tên riêng cho từng máy. Ví dụ: sử dụng tính năng “map network drive” trong
Windows hoặc trình mount trong Unix/Linux (sử dụng trong Sun’s NFS) để kết hợp các thư
mục chia sẻ vào không gian tên cục bộ.
2.2.3. Không gian cấu trúc tên toàn cục cho tất cả các file trong toàn hệ thống
Phương pháp này cung cấp không gian tên đồng nhất cho tất cả các máy khách. Không
gian cấu trúc tên toàn cục nên tương tự như không gian cấu trúc tên cục bộ.
Để đánh giá các phương pháp đặt tên ta dựa vào độ phức tạp của việc quản trị
(administrative complexity): dựa vào đó ta có thể thấy Sun’s NFS (phương pháp kết hợp các
thư mục ở xa vào không gian tên cục bộ) có cấu trúc phức tạp nhất và khó bảo trì nhất. Điều
này là do: Nếu một máy bị gặp trục trặc hoặc nó bị ngắt khỏi mạng thì các thư mục chia sẻ
của máy này sẽ không hoạt động. Hậu quả là một tập các thư mục ánh xạ mạng tới các thư
mục chia sẻ của máy kể trên trên các máy khác cũng sẽ không hoạt động. Và việc di chuyển
~ 20 ~
các file từ một máy đến một máy khác đòi hỏi phải thay đổi không gian tên của tất cả các

máy bị ảnh hưởng. Ngoài ra mỗi máy cần có một cơ chế kiểm soát việc máy nào trong mạng
được phép liên kết đến một thư mục trong không gian tên của nó.
4. Các phương pháp truy nhập từ xa
Xem xét việc 1 client yêu cầu truy nhập 1 file từ xa, cần thực hiện hai thao tác: Máy chủ
lưu file cần được tìm thông qua hệ thống tên; Chuyển dữ liệu của file từ máy chủ về máy
khách.
Có hai phương pháp thực hiện việc vận chuyển dữ liệu file: Dịch vụ từ xa (Remote
service) và Lưu khay (Caching).
4.1 Dịch vụ từ xa (Remote service)
Client gửi yêu cầu truy nhập đến server; Server thực hiện truy nhập và gửi kết quả cho
client;
Có sự tương quan giữa truy nhập và lưu lượng mạng. Mỗi truy nhập do server thực hiện
đều phát sinh lưu lượng mạng (network traffic). Trong thực tế, nếu chỉ thực hiện Remote
service là không thực tế. Remote service thường được sử dụng kết hợp với caching.
4.2 Lưu khay (Caching)
Client lưu dữ liệu (toàn bộ hoặc một phần) của file tại cache cục bộ trong các lần truy
nhập file trước đó để sử dụng trong các lần kế tiếp. Nếu client tìm thấy dữ liệu cho yêu cầu
truy nhập file trong cache, thì truy nhập được thực hiện trên phiên bản dữ liệu lưu trong
cache. Nếu dữ liệu cho yêu cầu truy nhập file không có trong cache, client sẽ tải dữ liệu của
file từ máy chủ. Cache đạt hiệu quả cao nhất khi các truy nhập tham chiếu có tính lân cận.
Cần có chính sách cập nhật phiên bản chủ của file để đảm bảo tính nhất quán giữa dữ liệu
trong cache và dữ liệu file trên máy chủ.
Không có sự tương quan giữa truy nhập và lưu lượng mạng. Trong hệ thống file cục bộ,
cache được sử dụng để giảm truy nhập vào/ra, còn trong DFS, cache được sử dụng để giảm
lưu lượng mạng.
4.3 Đánh giá 2 phương pháp: dịch vụ từ xa (Remote service) và Lưu khay (Caching)
a. Hiệu năng
Khi sử dụng caching: Một lượng lớn các truy nhập từ xa có thể được xử lý một cách
hiệu quả trong cache cục bộ. Nếu truy nhập file có tính lân cận thì hiệu quả càng cao. Hầu
hết các truy nhập từ xa có thể được phục vụ với tốc độ của các truy nhập cục bộ. Giảm được

tải cho máy chủ và lưu lượng mạng
Khi sử dụng remote service: Mỗi truy nhập phải được xử lý qua mạng do đó, làm tăng
tải cho máy chủ, tăng lưu lượng mạng và giảm hiệu năng hệ thống.
b. Tải trên mạng (network overhead)
Khi sử dụng caching: tổng tải mạng giảm do dữ liệu được vận chuyển một số ít lần với
khối lượng lớn;
Khi sử dụng remote service: tổng tải mạng tăng do dữ liệu được vận chuyển nhiều lần
với khối lượng nhỏ theo từng yêu cầu truy nhập cụ thể.
c. Chu trình truy nhập đĩa
Khi sử dụng caching: máy chủ có thể tối ưu hoá chu trình truy nhập đĩa nếu có các yêu
cầu truy nhập một lượng lớn các khối dữ liệu kề nhau.
~ 21 ~
Khi sử dụng remote service: Khó tối ưu hoá do truy nhập thường là ngẫu nhiên
d. Vấn đề đồng nhất dữ liệu là một trong các vấn đề lớn nhất của caching.
Caching có hiệu năng cao khi tần suất ghi thấp. Ngược lại, nếu tần suất ghi lớn, hiệu
năng giảm mạnh do caching phải thường xuyên cập nhật dữ liệu file trên máy chủ để đảm
bảo tính đồng nhất dữ liệu.
e. Ổ đĩa cục bộ:
Khi sử dụng caching: client phải có ổ đĩa cục bộ hoặc bộ nhớ chính lớn.
Khi sử dụng remote service: client không đòi hỏi phải có ổ đĩa cục bộ.
~ 22 ~
4. Các cơ chế giao tiếp giữa các tiến trình phân tán
– Mô hình giao tiếp
– Cơ chế truyền thông điệp và triệu gọi thủ tục từ xa.
~ 23 ~
5. Điều độ các tiến trình trong hệ thống phân tán
– Vấn đề điều độ trong các hệ thống phân tán
– Loại trừ tương hỗ phân tán
– Bầu chọn lãnh đạo
– hay người điều phối hệ thống

Tại sao cần điều độ các tiến trình?
• Cập nhật đồng thời các tài nguyên chia sẻ:
– các bản ghi trong CSDL (khoá bản ghi)
– các files
– một bảng tin chia sẻ
• Thoả thuận thực hiện các thao tác:
– Thực hiện hoặc huỷ bỏ một giao dịch CSDL
– Thống nhất việc đọc kết quả từ một nhóm các cảm
biến
• Gán lại vai trò cho master
– Lựa chọn máy chủ thời gian chính sau sự cố
– Lựa chọn người điều độ sau khi mạng được cấu hình
lại.
Các khó khăn của v/đ điều độ
• Các giải pháp điều độ tập trung không phù
hợp với hệ thống phân tán do thành phần
tập trung sẽ trở thành điểm nút cổ chai.
• Các mô hình master/slave tĩnh cũng
không phù hợp do master có thể gặp trục
trặc.
• Tôpô mạng trong hệ phân tán rất phức tạp
• Khả năng chịu lỗi mạng (lỗi đường truyền,
tiến trình gặp trục trặc).
Loại trừ tương hỗ phân tán
• Các giải thuật loại trừ tương hỗ (mutual
exclusion) thường được sử dụng trong lập trình
song song (concurrent programming) để tránh
việc sử dụng đồng thời một tài nguyên dùng
chung (như một biến toàn cục) bởi các đoạn mã
chương trình (critical sections).

• Các giải thuật loại trừ tương hỗ phân tán:
– Phương pháp tập trung
~ 24 ~
– Phương pháp phân tán toàn phần
– Phương pháp dùng thẻ bài.
Bài toán loại trừ tương hỗ
• Bài toán:
– Có n tiến trình không đồng bộ, để đơn giản
hoá, giả thiết không có tiến trình nào trục trặc
– Đảm bảo các thông điệp được chuyển đến đích
– Để thực thi critical section (CS), mỗi tiến trình
sẽ gọi:
• enter()
• resourceAccess()
• exit()
• Yêu cầu:
i. Chỉ một tiến trình ở trong CS tại một thời điểm
Loại trừ tương hỗ tập trung
• Một tiến trình trong hệ thống được chọn làm coordinator
(server) tại điểm vào CS.
~ 25 ~

×