Tìm hiểu hệ phân tán

25 311 1
Tìm hiểu hệ phân tán

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

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

Thông tin tài liệu

Tìm hiểu hệ phân tán

Học viên thực hiện: Đinh Phạm Thảo MỤC LỤC CHƯƠNG I: LỜI MỞ ĐẦU 2 CHƯƠNG II: KHẢ NĂNG PHÂN TÁN CỦA HỆ ĐIỀU HÀNH UNIX 3 CHƯƠNG III: THUẬT TOÁN QUẢN LÝ NHIỀU BẢN SAO 11 CHƯƠNG IV: BÀI TẬP 21 KẾT LUẬN 24 TÀI LIỆU THAM KHẢO 25 1 Học viên thực hiện: Đinh Phạm Thảo CHƯƠNG I: LỜI MỞ ĐẦU Với sự phát triển ngày càng cao của công nghệ thông tin, các hệ thống như hệ rời rạc hay hệ tập trung không còn đủ để đáp ứng nhanh chóng và chính xác yêu cầu thông tin từ xa với lưu lượng thông tin lớn, cũng như không đảm bảo được tính thống nhất và nhất quán trên toàn hệ. Tình hình đó bắt buộc sử dụng hệ thống không tập trung với phương thức xử lý song song. Hệ tin học phân tán ra đời. Trong những ứng dụng thực tế của hệ phân tán thì hệ điều hành Unix là một thành công lớn. Unix là hệ điều hành được viết trên ngôn ngữ bậc cao, ứng dụng rộng rãi. Nó là hệ đa người dùng đa tiến trình, mỗi người sử dụng nhiều chương trình, mỗi chương trình sử dụng nhiều tiến trình. Các tiến trình trong Unix được phân cấp, trong đó tiến trình gốc init chạy tự động khi khởi động hệ điều hành và có trách nhiệm tạo ra tất cả các tiến trình được thêm vào sau đó. Chương trình có thể được chạy trên nhiều phần cứng khác nhau, mà các phần cứng này đều có thể độc lập với nhau. Trong phạm vi nhỏ hẹp của đề tài này, Tôi chỉ trình bày một khía cạnh của vấn đề đó là việc đảm bảo tính đồng bộ của thông tin tại nhiều trạm khác nhau trong một thời điểm bằng thuật toán sao chép. Đề tài gồm các phần chính như sau: Chương I: Khả năng phân tán của hệ điều hành Unix Chương II: Thuật toán quản lí nhiều bản sao Chương III: Bài tập Kết luận 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 nhưng bản thân tôi không thể tránh khỏi những sai sót, kính mong được sự góp ý của thầy giáo hướng dẫn và các anh chị trong lớp để đề tài được tốt hơn. Tôi xin chân thành cảm ơn! Học viên thực hiện: Đinh Phạm Thảo 2 Học viên thực hiện: Đinh Phạm Thảo CHƯƠNG II: KHẢ NĂNG PHÂN TÁN CỦA HỆ ĐIỀU HÀNH UNIX II.1 Những vấn đề chung II.1.1 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ác nhau 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ển thố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ắc xâ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ất quán. Tuy nhiên trong phạm vi nghiên cứu này xét khả năng phân tán là việc phân tán 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. Để đá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ình trê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ạm khá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 đổi thô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ược lạ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ủa nó. 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. 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 động củ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 of Technology) 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ới mụ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 3 Học viên thực hiện: Đinh Phạm Thảo động trên tập cá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ự án nó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ếm khuyế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áy PDP-7 với tên là UNICS (UNiplexed Information and Computing Service). Trong hệ điều hà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 assTôibler cho máy PDP-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ất như 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 ty thươ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. Nă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ợp California, 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ên thế 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 được giới thiệu và phổ biến trên Internet. II.2 Khả năng phân tán của hệ điều hành Unix Dựa vào những tiêu chí đánh giá của một hệ tin học phân tán trên thì hệ điều hành Unix cho những khả năng phân tán như sau: II.2.1 . Vấn đề quản lý tiến trình. Unix quản lý nhiều tiến trình theo kiểu một tiến trình nào đó có thể dễ dàng tạo lập các tiến trình mới khác. Các Scheduling của CPU là một thuật toán giản đơn với các hệ số ưu tiên. 4 Học viên thực hiện: Đinh Phạm Thảo I.2.1.1. Định nghĩa: Tiến trình được hiểu như là một chương trình hay đoạn chương trình đang trong quá trình thực hiện. Tiến trình bao gồm 3 thành phần: text, data và stack. Text là vùng chứa các câu lệnh thực hiện, data là vùng chứa dữ liệu của tiến trình còn stack là vùng thông tin tạm thời hoạt động theo cơ chế FIFO. Các câu lệnh trong text chỉ thao tác với vùng data, stack tương ứng của tiến trình, không truy nhập được tới data và stack của các tiến trình khác ngoại trừ các vùng dữ liệu dùng chung. I.2.1.2. Tiến trình được sinh ra như thế nào? Trên một máy chủ Unix, thường có hàng chục tiến trình đang đồng thời hoạt động. Trên những máy chủ lớn và bận bịu, có thể có hàng ngàn tiến trình cùng lúc. Vậy tiến trình được hình thành như thế nào ? Nếu con người được sinh ra bởi con người thì tiến trình cũng sinh ra bởi tiến trình. Chỉ có một điều khác là phải cần 2 người làm cha mẹ, còn tiến trình thì chỉ có một tiến trình cha. Khi hệ thống khởi động, tiến trình đầu tiên là init. Sau đó, init sẽ sinh ra các tiến trình khác cần thiết cho sự hoạt động của hệ thống. Ví dụ mỗi khi ta đăng nhập hệ thống, tiến trình login sau khi kiểm tra mật khẩu sẽ sinh ra một tiến trình shell để người sử dụng có thể làm việc thông qua các dòng lệnh của shell. Có 2 lệnh liên quan tới việc hình thành các tiến trình là lệnh fork và execve. Lệnh fork cho phép hình thành một tiến trình con giống hệt tiến trình cha và cả hai sau đó cùng được song song hoạt động và được HĐH đối xử như nhau. Hai tiến trình này chỉ khác nhau về PID(Process Identification) hay còn gọi là bộ định danh và người ta có thể biết rằng hiện đang ở tiến trình nào bằng cách đưa giá trị trở về của lệnh fork: nếu bằng 0, ta đang ở tiến trình cha, nếu khác 0 thì đó là PID của tiến trình con. Lệnh execve thì thay thế một tiến trình bằng một tiến trình khác. Như vậy, nếu ta đang có một tiến trình A, tiến trình B có thể sinh ra từ A bằng cách A fork ra A’ rồi trong A’ ta dùng lệnh execve để thay thế A’ bằng B. Đoạn chương trình sau cho phép hiểu rõ hơn các miêu tả trên: if (fork() == 0) { /* I am the child, I will become ls /usr/bin */ execl(“/bin/ls”,”ls”,”/usr/bin”, (char *) 0); } else { /* I’m parent, do whatever perent’s sopposed to do*/ } Các biến tấu của execve tạo thành một họ các hàm exec (exec family). Linux có thêm clone để tạo các threads (tiểu tiến trình). Trong trường hợp hệ thống quá tải, lệnh 5 Học viên thực hiện: Đinh Phạm Thảo fork sẽ không thành công do tài nguyên hệ thống đã bị vét cạn. Khi đó ta sẽ có thông báo lỗi trên màn hình gắn trực tiếp với máy chủ và máy chủ cần được xTôi xét sửa chữa hoặc nâng cấp. I.2.1.3. Kết thúc tiến trình: Một tiến trình có thể kết thúc bằng cách sử dụng lời gọi hệ thống exit và tiến trình cha của nó có thể chờ sự kiện này bằng cách sử dụng lời gọi hệ thống wait. Nếu tiến trình con rơi vào trạng thái sự cố thì hệ thống mô phỏng lời gọi exit. Lời gọi hệ thống wait cung cấp bộ định danh của 1 trong các tiến trình con được kết thúc để tiến trình cha có thể nói điều đó (tiến trình kết thúc) với tất cả các tiến trình con, tương đối nhiều về số lượng, đã kết thúc. Sơ đồ sau chỉ ra cách sử dụng thông thường của chức năng này: I.2.1.4. . Khối kiểm soát tiến trình. Vấn đề quản lý tiến trình là một vấn đề quan trọng, hệ điều hành Unix có đặc điểm là dễ dàng tạo ra và xử lý nhiều tiến trình. Các tiến trình được biểu diễn trong Unix bằng nhiều khối kiểm soát tiến trình. Không tồn tại bất kỳ khối kiểm soát tiến trình nào của hệ có thể truy cập vào vùng không gian địa chỉ ảo của một tiến trình NSD. Các khối kiểm soát phối hợp với một tiến trình được lưu trữ trong hạt nhân. Hạt nhân sử dụng thông tin trong các khối kiểm soát này để điều khiển các tiến trình và scheduling của CPU. Khối kiểm soát tiến trình chịu trách nhiệm đồng bộ hoá sự tương tác liên tiến trình, quản lý bộ nhớ và lập lịch thực hiện đối với các tiến trình đang tồn tại. I.2.1.5. Bộ phân thời cho tiến trình (Process Scheduler-SCHED): Đây là bộ phận trung tâm của hệ điều hành, nó chịu trách nhiệm chia sẽ thời gian sử dụng CPU cho tất cả các tiến trình, tiến trình bình thường cũng như các tiểu hệ thống. SCHED được chia thành 4 module: - Module luật định thời (scheduling policy): chịu trách nhiệm phân xử tiến trình nào được quyền truy xuất CPU. Hệ thống hoạt động có thông suốt hay không 6 Tiến trình Shell FOR K FOR K WAI T WAI T EXIT EXIT Chương trình EXECVE Chương trình EXECVE Tiến trình Shell Tiến trình cha Tiến trình con Tiến trình đang thực hiện Học viên thực hiện: Đinh Phạm Thảo nhờ vào bộ luật này, tránh trường hợp 1 tiến trình lợi dụng sơ hở của điều luật mà chiếm thời gian hệ thống quá nhiều làm các tiến trình khác bị đóng băng (freeze). - Module phụ thuộc kiến trúc (architeture-specific): module này gồm các code assTôibly phụ thuộc vào mỗi loại CPU dùng để trì hoãn (suspend) hay thừa nhận (assume) một tiến trình. - Module độc lập kiến trúc (architeture-independent): module gọi các hàm từ module phụ thuộc kiến trúc và module luật để switch giữa các tiến trình đồng thời nó còn gọi các hàm ở MM để thiết lập bộ nhớ ảo (virtual mTôiory) cho các tiến trình được phục hồi (resume). - Module hàm gọi hệ thống (systTôi call). Gồm các hàm mà người sử dụng có thể dùng để tương tác với SCHED. I.2.1.6. Quản lý tiến trình trên hệ phân tán: Có nhiều công việc được tiến hành bằng những tiến trình riêng lẻ nhưng cũng có khá nhiều công việc đòi hỏi ta phải thực hiện bằng liên tiến trình. Ống là cơ chế liên lạc tiến trình rất đặc trung của hệ điều hành Unix và cho phép trao đổi các luồng thông tin một chiều và khá ổn định giữa 2 tiến trình. Nó được xét là một tập tin và có các đặc điểm sau: - Không có tên trong hệ thống quản lý tập tin. - Kích thước của ống cố định (4.096 ô nhớ) - Khi có một tiến trình nào đó cố gắng ghi vào một ống đã đầy, ta dùng tiến trình này lại. - Mỗi khi tất cả dữ liệu trong ống đã được đọc hết, việc ghi được bắt đầu ngay từ đầu của tập tin. - Dữ liệu trong ống thường ít ghi xuống đĩa. Nó thường được ghi vào cache. Trong hệ 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 2 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. Có các loại Sockets sau: + 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ô. 7 Học viên thực hiện: Đinh Phạm Thảo II.2.2 . Vấn đề quản lý bộ nhớ. Hầu hết các phiên bản được phát triển trong thời kỳ đầu của Unix đều được kiểm nghiệm trên hệ thống PDP-11. Toàn bộ các tài nguyên bộ nhớ của hệ thống này không đủ để thử nghiệm, đánh giá và hỗ trợ các thuật toán phức tạp nhằm phục vụ cho việc quản lý bộ nhớ. Như vậy, HDH Unix phải chuyển vào bộ nhớ bổ sung các ảnh bộ nhớ của các tiến trình. Unix sử dụng nguyên lý quản lý bộ nhớ theo trang cho các yêu cầu như là cơ chế cho các tác vụ bộ nhớ trong và ra các quyết định về scheduling của CPU. Ngoài ra, còn sử dụng cơ chế Swapping nếu hệ thống bị quá trang. I.2.2.1. Cơ chế Swapping: Trong hệ Unix thường sử dụng swapping để xử lý xung đột giữa các tiến trình trong khi dùng bộ nhớ. Nếu có nhiều xung đột diễn ra thì hệ sẽ sơ tán bớt các tiến trình ra bộ nhớ phụ hay bộ nhớ bổ sung cho đến khi có được vùng nhớ đủ và ở trạng thái sẵn sàng. Một số tiến trình lớn có thể bao gồm nhiều tiến trình nhỏ đang thiếu bộ nhớ và tiến trình có kích cỡ lớn hơn bộ nhớ chính sẽ có nguy cơ là không bao giờ được thực hiện và lúc này ta gọi là tiến trình không thuộc hạt nhân. Vì vậy việc phân đoạn bộ nhớ là một vấn đề quan trọng. Việc cung cấp bộ nhớ chính và không gian swap được tiến hành theo chiến lược đầu tiên tìm thấy. I.2.2.2.Cơ chế phân trang: Hệ Unix là hệ thống làm việc trên cơ sở bộ nhớ ảo được phân thành các trang ngay khi có yêu cầu. Việc phân trang khi có yêu cầu được thực hiện một cách trực tiếp. Mỗi khi có một tiến trình nào đó được quyền sử dụng một trang và trang đó lại không tìm thấy trong bộ nhớ chính, thì nó tự phát sinh một trang ngầm định cho hạt nhân, lúc này ta cung cấp một khung của trang bộ nhớ chính và tại đó ta đặt trang đĩa thích hợp. II.2.3 . Vấn đề quản lý tập tin. Tập tin (file) là một dãy các ô nhớ. Các chương trình khác nhau cần đến các mức cấu trúc khác nhau, nhưng hạt nhân lại áp đặt cấu trúc bất kỳ cho các tập tin. Các tập tin được tổ chức theo thư mục có cấu trúc hình cây. Các thư mục lại chính là các tập tin chứa thông tin nhằm cho phép tìm kiếm các tập tin khác. Đường dẫn đến tập tin là một dãy các kí tự chỉ ra một tập tin bằng con đường thông qua các cấu trúc thư mục. Unix có 2 loại đường dẫn là đường dẫn tuyệt đối và đường dẫn tương đối. Đường dẫn tuyệt đối là đường dẫn xuất phát từ gốc của hệ thống tập tin và có thể phân biệt 8 Học viên thực hiện: Đinh Phạm Thảo nhờ vào dấu sắc chéo( / ) ngay ở đầu. Đường dẫn tương đối bắt đầu bằng thư mục hiện hành biểu hiện của tiến trình vào đường dẫn. Có rất nhiều lời gọi hệ thống cho phép xử lý cơ bản về tập tin, trong phần này tôi trình bày một số lời gọi hệ thống cơ bản như sau: - CREAT: lời gọi hệ thống này dùng để tạo một tập tin rỗng hay cắt bỏ một tập tin đang tồn tại. - OPEN: dùng để mở một tập tin đang tồn tại và tiếp nhận như là các thông số của một đường dẫn hay một kiểu như đọc ghi và trả về một giá trị nguyên bé. - READ/ WRITE: nhằm cho phép chuyển dữ liệu từ một tập tin hay đến một tập tin. - RENAME: đổi tên tập tin đã tồn tại. - CLOSE: đóng tập tin diễn ra. - LINK: tạo liên kết vật lý cho một tập tin đang tồn tại bằng cách lập ra một tên mới cho tập tin này. - UNLINK: phá vỡ liên kết vật lý cho một tập tin. - DUP và DUP2: phát sinh một bộ mô tả tập tin mới. Đó là bản sao của bộ đang tồn tại. - TRUNC: lời gọi rút gọn kích cỡ của tập tin thành 0. Hệ thống quản lý tập tin của Unix dùng để xử lý 2 đối tượng cơ bản là tập tin và thư mục. Các thư mục được xTôi một cách đơn giản là các tập tin với khuôn dạng đặc biệt. Cấu trúc nội tại của hệ thống file bao gồm 4 thành phần kế tiếp nhau; Boot block(dùng để khởi động hệ thống), siêu khối(Super block), Danh sách Inode và vùng dữ liệu. I.2.3.1. Khối và đoạn Đơn vị cơ bản của các tập tin trong hệ Unix là khối dữ liệu. Các khối này chứa tất cả các thông tin mà người sử dụng muốn đặt vào trong tập tin. I.2.3.2. Inode Inode đó chính là phép ghi cho phép lưu trữ phần lớn các thông tin trong một tập tin trên đĩa. Inode chứa các bộ định danh của người sử dụng và của nhóm các tập tin, thời điểm cập nhật cuối cùng, công tơ với số lượng liên kết vật lý (lối vào của các thư mục) của tập tin và loại tập tin. Ngoài ra, inode chứa 15 con trỏ đến các khối đĩa có mang dữ liệu của tập tin trong đó 12 con trỏ trỏ đến các khối trực tiếp hay nói cách khác chúng chứa các địa chỉ khối dữ liệu của tập tin, 3 con trỏ tiếp theo chỉ các khối gián tiếp. 9 Học viên thực hiện: Đinh Phạm Thảo Các Inode được phân biệt nhau theo chỉ số của inode: đó chính là số thứ tự của inode trong danh sách inode trên hệ thống file. Thông thường, hệ thống dùng 2 bytes để lưu trữ chỉ số của inode. Với cách lưu trữ như thế, không có nhiều hơn 65535 inode trong 1 hệ thống file. Một Inode bao gồm các trường thông tin sau: + Kiểu file: file thông thường, thư mục, đặc tả kí tự, đặc tả khối. + Quyền truy cập file: mức chủ của file, mức nhóm người dùng của chủ nhân của file và mức người dùng khác. + Số lượng liên kết đối với inode. + Định danh nhóm chủ nhân. + Bảng địa chỉ chứa các địa chỉ khối nhớ chứa nội dung file. I.2.3.3. Vùng dữ liệu Vùng dữ liệu bao gồm các khối dữ liệu, mỗi khối dữ liệu được đánh chỉ số để phân biệt. Khối trên vùng dữ liệu được dùng để chứa nội dung các file, nội dung các thư mục và nội dung các khối định vị địa chỉ của các file. 10 [...]... LÝ NHIỀU BẢN SAO III.1 Sự cần thiết sử dụng 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 được quan 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 sao trong 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ác cậ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ương phá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 Ta cần phân biệt hai trường hợp khác nhau được thể hiện sau đây Trường hợp 1: Ta xét 1 hệ thống đa xử lý với bộ nhớ chung như hình... cho hệ thống ổn định Chúng không thích hợp cho loại hệ hay sự cố, đặc biệt cho trường hợp phân tán hệ thành hai hay nhiều mạng con độc lập; mỗi mạng tiếp tục hoạt động như là hệ cục bộ Dẫu rằng các bản sao tạo nên mạng con vẫn duy trì sự gắn bó nhưng sự hợp nhất lại chúng là vấn đề nan giải Ta chỉ có thể tránh được hiện tượng này bằng cách để số lượng các trạm nhỏ hơn hay bằng đa số tuyệt đối của hệ. .. THAM KHẢO [1] Trịnh Ngọc Minh, Nhập môn hệ điều hành Unix – Linux [2] Ts Lê Văn Sơn, Hệ tin học phân tán, Nhà xuất bản đại học quốc gia TP Hồ Chí Minh, 2002 [3] Lê Văn Sơn, Nghiên cứu phát triển giải thuật quản lý nhiều bản sao cho các ứng dụng phức tạp, Tạp chí Khoa học và Công nghệ Đại học Đà Nẵng, Số 1 (2003), tr 64 [4] Hà Quang Thụy, Bài giảng chuyên đề Hệ điều hành UNIX – LINUX, 2002 [5] Stefano... 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 tin lớ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ều bả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ày chú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ủa một đối tượng trên các bản sao khác nhau đảm bảo hệ thống hoạt... dụng như là sự tham chiếu đến phiên bản của đối tượng tìm thấy trong bộ nhớ chung 11 Học viên thực hiện: Đinh Phạm Thảo Hình II.2 mô tả 1 hệ truy cập từ xa thông qua 1 máy server duy nhất: L L Bé xö lý M¸y client Bcb Bcb Bé nhí côc bé (e) Hình 2 Hệ truy cập từ xa thông qua máy server HÖ thèng viÔn th«ng Bch Bé nhí chung (e) L M¸y server Hình II.2 Hệ truy cập từ xa thông qua máy server Ở đây, một đối... Thực hiện các thông điệp T’i của mình ij 23 Học viên thực hiện: Đinh Phạm Thảo KẾT LUẬN Trong quá trình xây dựng hệ phân tán hỗ trợ các ứng dụng lớn vấn đề cập nhật thông tin dùng chung trong các bản sao của cùng một đối tượng là một trong những vấn đề quan trọng Nó không chỉ đảm bảo hệ thống hoạt động với tốc độ bình quân chấp nhận được, ổn định, tin cậy mà quan trọng hơn cả là phải đảm bảo tính... cho các ứng dụng phức tạp Vấn đề truy cập và xử lý thông tin phân tán nói chung, quản lý nhiều bản sao nói riêng được nghiên cứu trong hàng loạt các công trình, đặc biệt của Herman, Ellis, Wilms và Le Lann Các giải thuật này là cơ sở chủ yếu cho giải pháp đảm bảo sự gắn bó yếu nhờ dấu, nhờ bộ tuần tự tuần hoàn và đảm bảo sự gắn bó mạnh cho các hệ thống đồng nhất Yêu cầu quan trọng của tất cả các giải... sử lúc đầu hệ là gắn bó, nghĩa là thông tin trên các trạm là giống hệt nhau Ta giải quyết vấn đề trên hai thao tác cơ bản: Trạm rút ra khỏi mạng và trạm vào lại trong mạng Các cấu hình hệ phụ thuộc cơ chế quản lý nên sẽ quy định trong cụ thể mỗi cơ chế quản lý 21 Học viên thực hiện: Đinh Phạm Thảo IV.3.1 Thuật toán áp dụng then cài Gọi hệ thống bao gồm n trạm e1, e2,… en, các thông điệp cần thiết để... gắn bó yếu nhờ dấu Gọi hệ thống bao gồm n trạm e1, e2,…en, các thông điệp cần thiết để thực hiện rút ra và vào lại cập nhật các bản sao của trạm ej Mỗi trạm có đồng hồ riêng He để đánh dấu các sự kiện diễn ra trên hệ Tổng hợp bảng thông điệp STT Trạm Nội dung thông điệp 1 Trạm ej rút Thông báo ghi dấu Ej trên He Trạm ei, i=1 n Nếu có thông điệp đến, ghi dấu nhận thông điệp theo hệ 2 ij thống của mình . NĂNG PHÂN TÁN CỦA HỆ ĐIỀU HÀNH UNIX II.1 Những vấn đề chung II.1.1 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. quán trên toàn hệ. Tình hình đó bắt buộc sử dụng hệ thống không tập trung với phương thức xử lý song song. Hệ tin học phân tán ra đời. Trong những ứng dụng thực tế của hệ phân tán thì hệ điều hành. Internet. II.2 Khả năng phân tán của hệ điều hành Unix Dựa vào những tiêu chí đánh giá của một hệ tin học phân tán trên thì hệ điều hành Unix cho những khả năng phân tán như sau: II.2.1 . Vấn

Ngày đăng: 07/04/2015, 09:35

Mục lục

  • CHƯƠNG I: LỜI MỞ ĐẦU

  • CHƯƠNG II: KHẢ NĂNG PHÂN TÁN CỦA HỆ ĐIỀU HÀNH UNIX

    • II.1 Những vấn đề chung

      • II.1.1 Một số khái niệm cơ bản của Hệ tin học phân tán

      • II.1.2 Hệ điều hành Unix

      • II.2 Khả năng phân tán của hệ điều hành Unix

        • II.2.1 . Vấn đề quản lý tiến trình.

          • I.2.1.1. Định nghĩa:

          • I.2.1.2. Tiến trình được sinh ra như thế nào?

          • I.2.1.3. Kết thúc tiến trình:

          • I.2.1.4. . Khối kiểm soát tiến trình.

          • I.2.1.5. Bộ phân thời cho tiến trình (Process Scheduler-SCHED):

          • I.2.1.6. Quản lý tiến trình trên hệ phân tán:

          • II.2.2 . Vấn đề quản lý bộ nhớ.

            • I.2.2.1. Cơ chế Swapping:

            • I.2.2.2.Cơ chế phân trang:

            • II.2.3 . Vấn đề quản lý tập tin.

              • I.2.3.1. Khối và đoạn

              • I.2.3.2. Inode

              • I.2.3.3. Vùng dữ liệu

              • CHƯƠNG III: THUẬT TOÁN QUẢN LÝ NHIỀU BẢN SAO

                • III.1 Sự cần thiết sử dụng nhiều bản sao

                  • Trên bản sao của 1 đối tượng

                  • Trên các bản sao của toàn bộ các đối tượng

                    • - Thuật toán gắn bó yếu

                    • III.2 Các thuật toán quản lý nhiều bản sao.

                      • III.2.1 Thuật toán áp dụng then cài

                      • III.2.2 .Thuật toán đảm bảo sự gắn bó yếu nhờ dấu

                        • Nguyên lý

                        • Triển khai trong hệ ổn định

                        • Các hành vi bên ngoài của chế độ bình thường

Tài liệu cùng người dùng

Tài liệu liên quan