Một số khái niệm cơ bản của Hệ tin học phân tán Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán Distributed System là hệthống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý
Trang 1MỤC LỤC
LỜI MỞ ĐẦU 2
CHƯƠNG I: KHẢ NĂNG PHÂN TÁN CỦA HỆ ĐIỀU HÀNH UNIX 3
I.1 Những vấn đề chung 3
I.1.1 Định nghĩa: Một số khái niệm cơ bản của Hệ tin học phân tán 3
I.1.2 Hệ điều hành Unix 4
I.2 Khả năng phân tán của hệ điều hành Unix 5
CHƯƠNG II: THUẬT TOÁN QUẢN LÍ NHIỀU BẢN SAO 8
II.1 Sự cần thiết sử dụng nhiều bản sao 8
II.2 Các thuật toán quản lý nhiều bản sao 13
II.2.1 Thuật toán áp dụng then cài 14
II.2.2 Thuật toán đảm bảo sự gắn bó yếu nhờ dấu 15
II.2.3 Thuật toán đảm bảo sự gắn bó yếu nhờ bộ tuần tự tuần hoàn 16
II.2.4 Thuật toán đảm bảo sự gắn bó mạnh 17
CHƯƠNG III: BÀI TẬP 19
III.1 Yêu cầu 19
III.2 Phân tích 19
III.3 Chi tiết các thông điệp 20
III.3.1 Thuật toán áp dụng then cài 20
III.3.2 Thuật toán đảm bảo sự gắn bó yếu nhờ dấu 20
III.3.3 Thuật toán đảm bảo sự gắn bó yếu nhờ bộ tuần tự tuần hoàn 21
III.3.4 Thuật toán đảm bảo sự gắn bó mạnh 21
KẾT LUẬN 23
TÀI LIỆU THAM KHẢO 24
Trang 2CHƯƠNG I: LỜI MỞ ĐẦU
Nhân loại đang bước vào một thời đại mới, thời đại của xã hội thông tin và nền kinh
tế tri thức được hình thành trên cơ sở phát triển và ứng dụng rộng rãi công nghệ thông tin(CNTT) và truyền thông Cuộc cách mạng thông tin cùng với quá trình toàn cầu hóa đangảnh hưởng sâu sắc đến mọi lĩnh vực trong đời sống kinh tế - xã hội, đưa con ngườichuyển nhanh từ xã hội công nghiệp sang xã hội thông tin, từ kinh tế công nghiệp sangkinh tế tri thức, ở đó năng lực cạnh tranh phụ thuộc chủ yếu vào năng lực sáng tạo, thuthập, lưu trữ, xử lý và trao đổi thông tin Vì vậy, một xu hướng kỹ thuật mới được pháttriển, đó là xu hướng phân tán các thành phần tạo nên hệ tin học theo hướng tiếp cận nơi
sử dụng và sản xuất thông tin gọi là hệ tin học phân tán
Hệ tin học phân tán là hệ thống rất đa dạng, đa diện, phức tạp về mặt cấu trúc, làvùng tri thức hiện đại; là một lĩnh vực nghiên cứu mới hứa hẹn nhiều triển vọng; đã vàđang thu hút sự chú ý, quan tâm của các nhà nghiên cứu, các chuyên gia CNTT trên toànthế giới
Trong phạm vi nhỏ của đề tài tiểu luận đã chọn, tôi trình bày về vấn đề quản lý saochép nhiều bản sao nhằm cho phép một trạm rút lui theo ý muốn ra khỏi mạng, rồi lại vàolại trong mạng và cập nhật bản sao vốn có của mình Ngoài ra đề tài cũng xem xét khảnăng phân tán thông tin trong hệ điều hành Unix
Mặc dù đã nghiên cứu kỹ phần lý thuyết để có được cách giải quyết bài tập đúngđắn, phù hợp với yêu cầu đề tài, nhưng tôi không thể tránh khỏi những sai sót, kính mongđược sự đóng góp ý của thầy giáo hướng dẫn và các anh chị trong lớp để bài tiểu luậnđược hoàn thiện tốt hơn
Tôi xin chân thành cảm ơn!
Học viên thực hiện:
Trương Thị Minh Hậu
Trang 3CHƯƠNG II: KHẢ NĂNG PHÂN TÁN CỦA HỆ
ĐIỀU HÀNH UNIX
II.1.1 Định nghĩa Một số khái niệm cơ bản của Hệ tin học phân tán
Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán (Distributed System) là hệthống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các vị trí khácnhau và được liên kết với nhau thông qua phương tiện viễn thông dưới sự điều khiểnthống nhất của một hệ điều hành[1]
Nói đến hệ tin học phân tán, hiện nay có rất nhiều ý kiến khác nhau về nguyên tắcxây dựng hệ Như vậy khả năng phân tán cũng là một khái niệm chưa mang tính nhấtquán Tuy nhiên trong phạm vi nghiên cứu này ta xem khả năng phân tán là việc phân tánquá trình xử lí thông tin và thực hiện công việc đó trên các trạm xa nhau Để đánh giá khảnăng phân tán ta đánh giá hệ trên các khả năng cụ thể sau:
Chia sẻ tài nguyên: Mạng máy tính có thể dùng chung tài nguyên Một tiến trìnhtrên một trạm nào đó có thể yêu cầu được cung cấp tài nguyên dùng chung ở một trạmkhác
Liên lạc: Khi hệ thống được mắc nối với nhau, các thực thể của hệ có thể trao đổithông tin cho nhau
Tin cậy: Một trạm của hệ bị sự cố không làm cho toàn hệ bị ảnh hưởng, mà ngượclại, công việc của trạm đó được phân cho các trạm khác đảm nhiệm Ngoài ra trạm bị sự
cố có thể tự động phục hồi lại các trạng thái trước khi bị sự cố hay trạng thái ban đầu củanó
Tăng tốc: Một tính toán lớn nào đó, nếu chỉ sử dụng một trạm thì thời gian trả vềkết quả sẽ rất lớn Tính toán này sẽ được chia nhỏ và thực hiện song song trên các trạm
Một trong những tư tưởng lớn của Hệ tin học phân tán là phân tán hóa các quátrình xử lý thông tin và thực hiện công việc đó trên các trạm xa nhau
Trang 4Hệ tin học phân tán thực hiện hàng loạt các chức năng phức tạp, nhưng cơ bản nhất
là đảm bảo cung cấp cho người sử dụng (NSD) khả năng truy cập có kết quả đến các tàinguyên vốn có và rất đa dạng của hệ thống như là những tài nguyên dùng chung
Các đặc điểm cơ bản của tất cả các hệ tin học phân tán là:
1 Thời hạn truyền thông tin trong hệ không giống nhau, các thông điệp có thể bịmất trong quá trình chuyển tải, các thông điệp có thể được truyền kép và hệ thống có thểrơi vào sự cố
2 Một (hay nhiều) máy tính cấu thành của hệ phân tán có thể bị sự cố và hoạt độngcủa toàn hệ trở nên kém hiệu quả
II.1.2 Hệ điều hành Unix
Năm 1965, Viện công nghệ Massachusetts (MIT: Massachusetts Institute ofTechnology) và Phòng thí nghiệm Bell của hãng AT&T thực hiện dự án xây dựng một hệđiều hành có tên gọi là Multics (MULTiplexed Information and Computing Service) vớimục tiêu tạo lập được một hệ điều hành phủ trên vùng lãnh thổ rộng (hoạt động trên tậpcác máy tính được kết nối), đa người dùng, có năng lực cao về tính toán và lưu trữ Dự ánnói trên thành công ở mức độ hết sức khiêm tốn và người ta đã biết đến một số khiếmkhuyết khó khắc phục của Multics
Năm 1969, Ken Thompson, một chuyên viên tại phòng thí nghiệm Bell, người đãtham gia dự án Multics, cùng Dennics Richie viết lại hệ điều hành đa-bài toán trên máyPDP-7 với tên là UNICS (UNiplexed Information and Computing Service) Trong hệ điềuhành UNICS, một số khởi thảo đầu tiên về Hệ thống tập tin đã được Ken Thompson vàDennis Ritchie thực hiện Đến năm 1970 hệ điều hành được viết trên assembler cho máyPDP-11/20 và mang tên là UNIX
Năm 1973, Richie và Thompson viết lại nhân của hệ điều hành UNIX trên ngôn ngữ
C, và hệ điều hành đã trở nên dễ dàng cài đặt tới các loại máy tính khác nhau; tính chấtnhư thế được gọi là tính khả chuyển (portable) của UNIX
Hãng AT&T phổ biến chương trình nguồn UNIX tới các trường đại học, các công tythương mại và chính phủ với giá không đáng kể
Năm 1982, hệ thống UNIX-3 là bản UNIX thương mại đầu tiên của AT&T
Trang 5Năm 1983, AT&T giới thiệu Hệ thống UNIX-4 phiên bản thứ nhất trong đó đã cótrình soạn thảo vi, thư viện quản lý màn hình được phát triển từ Đại học Tổng hợpCalifornia, Berkley.
Giai đoạn 1985-1987, UNIX-5 phiên bản 2 và 3 tương ứng được đưa ra vào các năm
1985 và 1987 Trong giai đoạn này, có khoảng 100.000 bản UNIX đã được phổ biến trênthế giới, cài đặt từ máy vi tính đến các hệ thống lớn
Đầu thập kỷ 1990 UNIX-5 phiên bản 4 được đưa ra như là một chuẩn của UNIX.Đây là sự kết hợp của các bản sau:
- AT&T UNIX-5 phiên bản 3,
- Berkley Software Distribution (BSD),
- XENIX của MicroSoft,
- SUN OS
Trong thời gian gần đây (khoảng năm 1997) một số phiên bản mới của UNIX đượcgiới thiệu và phổ biến trên Internet
Dựa vào những khả năng và nguyên lý của một hệ tin học phân tán đã nêu, ta tìm
hiểu các khả năng phân tán hệ điều hành Unix thông qua cơ chế socket.
Ống là cơ chế liên lạc liên tiến trình rất đặc trưng cho hệ điều hành Unix và chophép trao đổi các luồng thông tin một chiều và khá ổn định giữa hai tiến trình Nó đượccoi là một tập tin giống như tập tin bình thường khác với một vài điểm ngoại lệ sau:
1 Không có tên trong hệ thống quản lý các tập tin
2 Sử dụng lời gọi hệ thống Pipe
3 Kính cỡ của ống cố định (4.096 ô nhớ)
4 Khi một tiến trình ghi vào ống đã đầy ta dừng tiến trình này lại
5 Tất cả dữ liệu trong ống được đọc hết, việc ghi được bắt đầu của tập tin
6 Các ống không phải là các bộ nhớ đệm di chuyển
Trang 6Trong UNIX, người ta sử dụng ống như là trường hợp đặc biệt của cơ chế socket.
Thông thường, trên cùng một máy, một ống chỉ được sử dụng để cho hai tiến trình liên lạc
với nhau thông qua lời gọi hệ thống fork Cơ chế socket còn có thể áp dụng cho các tiến
trình không ở trong tình trạng liên lạc với nhau
Mỗi socket được sử dụng chỉ trong một vùng Các tiến trình liên lạc với nhau trong
cùng một vùng và sử dụng cùng một kiểu định khuôn địa chỉ
Hình I.1 mô tả chức năng của các loại socket
Sockets
Sockets
luồng
Sockets các gói tuần tự
Sockets các datagram
Sockets các thông điệp ổn định
Sockets thô
Hình I.1 Các loại Socket
Công cụ hỗ trợ mạng máy tính.
Hệ thống hỗ trợ mạng máy tính bằng các giao thức DARPA, Internet UDP, TCP, IP
và ICMP trên một bình diện rộng của các giao diện mạng Ethernet, vòng tròn Jeton,ARPANET Các cấu trúc phân tầng của hệ cho phép:
1 Thêm vào mạng các giao thức mới
2 Tổ chức công việc trên mạng thông qua các socket.
Trong môi trường mạng máy tính theo mô hình ISO 7 lớp, thông thường các dữ liệuđược truyền giữa các tầng với nhau thông qua các giao thức thích nghi cho các giao diện
socket Tóm lại giữa 2 tầng kề nhau luôn luôn tồn tại một giao diện tầng, giữa 2 tầng
tương ứng của hai hệ thống liên lạc luôn luôn sử dụng một loại giao thức Các dữ liệumạng được truyền từ tầng này đến tầng khác và giữa hai tầng tương ứng
Trang 7Hình I.2 cho ta thấy tương quan giữa hai mô hình ISO và UNIX
Sockets
Giao thức
Giao diện mạng
Vật lý
UNIX
Hình I.2 Tương quan giữa các mô hình mạng
Trang 8CHƯƠNG III: THUẬT TOÁN QUẢN LÝ NHIỀU
BẢN SAO
Trong các hệ phân tán, việc trao đổi các thông tin từ xa là một vấn đề đáng đượcquan tâm Trong các hệ này, từng hệ thống cục bộ đều có thể lưu trữ một bản sao của tất
cả các thông tin liên quan đang ở trong tất cả các hệ cục bộ khác Sự tồn tại nhiều bản saotrong một hệ phân tán có các đặc điểm sau:
Cập nhật thông tin diễn ra ở 1 trạm nào đó cần phải được tiến hành cho tất cả cáctrạm và không được bỏ sót 1 trạm nào Trong khoảng thời gian làm “tươi” thông tin phảiđảm bảo sao việc truy vấn dữ liệu cho kết quả kịp thời hay đặt tả được truy vấn trongtrạng thái “treo”
Cần phải tránh trường hợp các thao tác trên 2 bản sao khác nhau nhưng chứa cùngmột thông tin được truy cập bởi 2 hay nhiều yêu cầu dẫn đến không gắn bó
Hai vấn đề nêu trên xác định về các ràng buộc đối với vấn đề gắn bó dữ liệu Đảmbảo sự gắn bó này điều kiện đủ là phải tuân thủ trình tự nào đó cho tất cả các bản sao, cáccập nhật thông tin
Khi nghiên cứu về hệ phân tán chúng ta thấy rằng thời gian truy cập trung bình vào
hệ thông tin phân tán có thể được rút ngắn, trong một số trường hợp, nhờ vào phươngpháp nhân nhiều bản và được gọi là nhân nhiều bản sao của một đối tượng thông tin Tacần phân biệt hai trường hợp khác nhau được thể hiện sau đây
Trang 9Trường hợp 1: Ta xét 1 hệ thống đa xử lý với bộ nhớ chung như hình II.1 sau đây:
Hình II.1 Đa xử lý với bộ nhớ chung
Mỗi một bộ xử lý đều có bộ nhớ cục bộ của mình, hay còn gọi là cache, được dùng
để sao chép lại các vùng đang làm việc của bộ nhớ chung Một chương trình thể hiệnthuật toán thay thế đảm nhiệm nhiệm vụ làm mới các bộ nhớ cục bộ Trường hợp có nhiều
bộ xử lý muốn truy cập vào cùng một đối tượng, ta sử dụng như là sự tham chiếu đếnphiên bản của đối tượng tìm thấy trong bộ nhớ chung
Hình II.2 mô tả 1 hệ truy cập từ xa thông qua 1 máy server duy nhất:
Hình II.2 Hệ truy cập từ xa thông qua máy server
Hệ thống viễn thông
L
L
Máy Server
Trang 10Ở đây, một đối tượng được đưa vào trên một trạm xác định và được quản lý bởi mộtserver cục bộ trên trạm này Khi một tiến trình ở xa muốn sử dụng đối tượng, nó phải bắtđầu bằng yêu cầu server cho một bản sao thông qua hệ thống viễn thông Sau khi sử dụngxong, tiến trình phải gửi lại cho server một phiên bản đã được sửa đổi của đối tượng.Các trường hợp thể hiện trong các hình vẽ II.1 và II.2 xét theo chức năng là giốngnhau Đó là trường hợp một bản duy nhất của đối tượng là một đặc quyền.
Trường hợp 2: Xét hệ thống đối xứng như hình II.3 sau:
Hình II.3 Hệ thống đối xứng
Tại đây, tất cả các bản đóng vai trò đối xứng Công việc được tiến hành theo kiểunày cho phép rút ngắn thời gian truy cập, nếu số lần truy cập để đọc lớn hơn số lần truycập để ghi và vì lý do thuận lợi sử dụng theo nghĩa có sẵn để dùng Điều này đặt ra chochúng ta nhiều vấn đề cần giải quyết, đó là các lần ghi thông tin hay gọi là cập nhật bản
Trang 11sao và có các đặc điểm sau: Khi chỉ tồn tại một bản tập trung đặc quyền thì ta có thể đặt raviệc thay đổi đối tượng thực hiện trên một trong các bản sao sẽ được sao ngay lập tức vàobản chính - đây là trường hợp ghi tức thời và các cập nhật đều gắn bó Ngược lại, với cácphương pháp ghi khác, các thay đổi tương ứng của một bản sao đối tượng cục bộ chỉ đượcsao lại trên bản chính khi thuật toán thay thế được thực hiện nhằm cung cấp lại các bảnghi bị chiếm bởi bản sao cục bộ đó; Còn khi không tồn tại bản đặc quyền, ta có thể gặpcác trường hợp không gắn bó thông tin.
Trường hợp thứ 2 làm phát sinh 2 yêu cầu mới: Toàn bộ giao dịch thay đổi bản saocủa đối tượng cần phải chép lại càng sớm càng tốt thay đổi đó trên tất cả các bản saokhác; Việc cập nhật tức thì của tất cả các bản sao là không cần thiết
Trong tất cả các trường hợp, một giao dịch tham chiếu trạng thái một đối tượng,thực hiện xuất phát từ một trạm trên bản cục bộ, cần phải cung cấp: hoặc là một giá trị cậpnhật của tất cả các thay đổi diễn ra trước tham chiếu; hoặc là một giá trị đã cũ, nhưng lại
là giá trị được cập nhật ở thời điểm trước đó Sự tham chiếu không bao giờ phải cung cấpmột giá trị xuất phát từ việc thực hiện từng phần của một giao dịch
Trong môi trường phân tán, phục vụ cho các ứng dụng có khối lượng xử lý thông tinlớn trong điều kiện kỹ thuật phần cứng, phần mềm không đồng nhất, việc quản lý nhiềubản sao trong điều kiện số lượng cập nhật lớn được đặt ra Chính vì vây, trong phần nàychúng ta sẽ tìm hiểu sơ lược các thuật toán khác nhau cho phép sao lại các thay đổi củamột đối tượng trên các bản sao khác nhau đảm bảo hệ thống hoạt động một cách hiệu quả.Các mô hình và giải thuật nghiên cứu phải đảm bảo các đặc tính toàn vẹn dữ liệucủa hệ và tuân thủ theo các giai đoạn thể hiện trong hình vẽ II.4
Trang 12Trước khi cập nhật (thay đổi)
2
3 Sau khi cập nhật (thay đổi)
Không gắn bóGắn bó
Hình II.4 Ba giai đoạn của một giao dịch
Trong giai đoạn 1 và 3, thao tác duy nhất là lưu dữ liệu và trạng thái hiện có là đủ.Nếu nằm vào trạng thái 2, thì giao dịch phải cố gắng kết thúc công việc của mình ở điểm
II hoặc là phải phục hồi lại trạng thái ban đầu ở điểm I Hai giai đoạn gắn bó 1 và 2 cóbản dữ liệu khác nhau
Trong môi trường phân tán, sơ đồ vị trí của các bản sao và việc cập nhật chúng cóthể mô tả trong hình vẽ II.5 sau đây
Hình II.5 Sơ đồ hệ thống nhiều bản sao.
Các bản sao có thể đặt trên các server S 1 , S 2 , , S n trên các tập tin hay vùng nhớ đặc
biệt b , i=1 n, j=1 m, trong đó i chỉ server, j chỉ bản sao, n là số lượng server được mắc
Trang 13nối trong mạng, m là số lượng các bản sao cần phải cập nhật Mỗi server có thể quản lý một mạng con Ngoài ra, các bản sao có thể được bố trí trên các trạm thể hiện bằng các t k , k=1 q, k là trạm và q là số trạm được mắc nối.
Nếu ta có n bản sao của đối tượng b nào đó, thì ràng buộc toàn vẹn phải là:
Trên bản sao của 1 đối tượng
- Giải thuật toán gắn bó mạnh
- Giải thuật toán gắn bó yếu
Hiện nay, trong lĩnh vực mạng diện rộng, đặc biệt là mạng Internet, bản sao dữ liệuđược sử dụng để tăng tính sẵn sàng của dữ liệu Tuy nhiên, lợi ích sẵn sàng của dữ liệunày chỉ có được khi phải trả giá bằng những thuật toán phức tạp để ẩn đi tính phức tạptrong việc bảo trì nhiều bản sao của đối tượng Sự khó khăn nằm ở việc phải đảm bảo gắn
bó cho các bản sao của đối tượng để tránh bế tắc khi vận hành hệ thống trong khi phải tối
đa khả năng sẵn sàng dữ liệu Các thuật toán giải quyết những vấn đề này được gọi là cácthuật toán điều khiển bản sao
Việc quản lý nhiều bản sao của cùng một đối tượng thông tin đang được các nhàchuyên môn tin học quan tâm nghiên cứu ngay trong giai đoạn phân tích, thiết kế và xâydựng hệ điều hành Ngoài ra, đây còn là một trong những vấn đề có tính chất cơ sở chocác ứng dụng phức tạp