Chương này trình bày một số nội dung cơ bản sau: Basic concept, I/O model, I/O-System implementation, access I/O-System, hệ điều hành hướng mạng, hệ điều hành phân tán, các dịch vụ từ xa, hệ thống file phân tán, khôi phục từ lỗi,... Mời các bạn cùng tham khảo.
Operating System Chapter 8: Hệ thống phân tán Dang Minh Quan: Institute of IT for Economics-NEU, 2011 Overview • • • • Basic concept I/O model I/OSystem implementation Access I/OSystem Dang Minh Quan: Institute of IT for Economics-NEU, 2011 A Distributed System Dang Minh Quan: Institute of IT for Economics-NEU, 2011 Tại sao cần hệ thống phân tán • Chia sẻ tài ngun – Chia sẻ và in các file từ xa – Xử lý thơng tin trên các cơ sở dữ liệu phân tán – Sử dụng các thiết bị đặc biệt từ xa • Tăng tốc độ tính tốn – chia sẻ tải • Tăng độ tin cậy – phát hiện và hồi phục các vùng bị lỗi, chuyển chức năng sang vùng khác, tích hợp lại vùng đã bị lỗi • Thơng tin liên lạc – truyền thơng điệp Dang Minh Quan: Institute of IT for Economics-NEU, 2011 Hệ điều hành hướng mạng • Người dùng biết về sự hiện diện của rất nhiều các máy tính khác nhau. Truy cập tới tài ngun của các máy tính được thực hiện bằng cách: – Đăng nhập từ xa vào máy phù hợp – Chuyển dữ liệu từ các máy ở xa về máy địa phương thơng qua các giao thức như FTP, HTTP Dang Minh Quan: Institute of IT for Economics-NEU, 2011 Hệ điều hành phân tán • Người dùng khơng cần biết về sự hiện diện của các máy tính khác. Truy cập tới tài ngun ở xa cũng tương tự như truy cập tới tài ngun địa phương • Di cư dữ liệu – chuyển dữ liệu bằng cách chuyển tồn bộ hay một phần của file cần thiết cho tác vụ tức thời • Di cư tính tốn – chuyển việc tính tốn, chứ khơng phải là dữ liệu, dọc ngang hệ thống Dang Minh Quan: Institute of IT for Economics-NEU, 2011 Hệ điều hành phân tán • Di cư tiến trình – chạy tồn bộ tiến trình hay một phần của nó tại các địa điểm khác nhau – Cân bằng tải – phân tán các tiến trình trên tồn hệ thống để cân bằng tải – Tăng tốc độ tính tốn – các tiến trình con có thể được chạy đồng thời tại các địa điểm khác nhau – u cầu đặc biệt về phần cứng – chạy tiến trình có thể u cầu một bơ VXL dặc biệt – u cầu đặc biệt về phần mềm – phần mềm cần thiết chỉ có ở một địa điểm nhất định – Truy cập dữ liệu – chay các tiến trình từ xa thay vì truyền dữ liệu từ xa về Dang Minh Quan: Institute of IT for Economics-NEU, 2011 Các dịch vụ từ xa • Các u cầu truy cập file từ xa được chuyển đến server. Các u cầu truy cập được phiên dịch thành các thơng điệp cho server và phản hồi từ server cũng được đóng gói thành các thơng điệp và chuyển về cho người dùng • Cách phổ biến để thực hiện như trên là dùng Remote Procedure Call (RPC) • Các thơng điệp được gửi tới một tiến trình RPC đang nghe ở một cổng trên máy ở xa có chứa tên tiến trình cần chạy và các tham số. Tiến trình được chạy theo u cầu và kết quả được gửi lại cho người u cầu trong một thơng điệp riêng biệt • Một cổng là một số được thêm vào ở phần đầu của goi thơng điệp. Một hệ thống có thể có nhiều cổng với cùng một địa chỉ mạng để phân biệt các dịch vụ mạng khác Dang Minh Quan: Institute of IT for Economics-NEU, 2011 Hệ thống file phân tán • Một hệ thống file phân tán (DFS) có thể được xây dựng như là một tập các tiến trình RPC server và clients – Thơng điệp có địa chỉ tới cổng DFS trên một máy chủ mà tác vụ về file sẽ được thực hiện – Thơng điệp chứa các tác vụ đĩa cần được thực hiện (i.e., read, write, rename, delete or status) – Thơng điệp trả lại sẽ chứa các dữ liệu kết quả của lời gọi đó. Tiến trình DFS thực hiện lời gọi thay mặt cho client Dang Minh Quan: Institute of IT for Economics-NEU, 2011 Các luồng • Các luồng có thể gửi và nhận thơng điệp trong khi các tác vụ khác có thể được thực hiện một cách khơng đồng bộ. • Luồng Popup – được tạo ra khi có RPC mới – Tạo mới thuận tiện hơn là khơi phục cái sẵn có – Khơng cần phải khóa luồng để đợi cơng việc mới; khơng cần ghi lại hay khơi phục hồn cảnh – Incoming RPCs do not have to copied to a buffer within a server thread • RPCs tới các tiến trình trên cùng một máy có thể được làm hiệu quả hơn nữa thơng qua liên lạc giữa các luồng bằng chia sẻ bộ nhớ. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 10 Giới thiệu về tắc nghẽn H3 H2 X1 muốn đi hướng H2 X1 X4 H1 X1 sở hữu hướng H1 X1 X3 H4 H2 X1 X2 X2 H2 X1 H1 H3 X3 H1 H4 X4 Dang Minh Quan: Institute of IT for Economics-NEU, 2011 19 Giới thiệu về tắc nghẽn H3 • Điều kiện để xảy ra tắc nghẽn: – Một tài ngun chỉ có thể bị nắm giữ bởi một đối tượng – Đối tượng đang giữ tài ngun có thể đợi để có một tài ngun khác – Một tài ngun khi đã bị nắm giữ thì khơng thể lấy ra khỏi đối tượng nắm giữ – Tài ngun được chờ đợi theo chu trình X4 X3 H4 H2 X1 X2 H1 X2 X1 H3 X3 Dang Minh Quan: Institute of IT for Economics-NEU, 2011 H2 H1 H4 X4 20 Tắc nghẽn trong hệ thống phân tán • Điều kiện để xảy ra tắc nghẽn: – Một tài ngun chỉ có thể bị nắm giữ bởi một tiến trình – Tiến trình đang giữ tài ngun có thể đợi để có một tài ngun khác – Một tài ngun khi đã bị nắm giữ thì khơng thể lấy ra khỏi tiến trình nắm giữ – Tài ngun được chờ đợi theo chu trình Dang Minh Quan: Institute of IT for Economics-NEU, 2011 r2 p1 Tiến trình p1 muốn độc quyền sử dụng tài nguyên r2 r1 p1 Tiến trình p1sở hữu tài nguyên r1 p2 r2 p1 r3 p3 r1 r4 p4 21 Hãy chỉ ra hệ thống có tắc nghẽn p2 r2 r3 p3 r4 p1 p2 r1 r3 p4 p3 Hệ thống 1 Dang Minh Quan: Institute of IT for Economics-NEU, 2011 r2 p1 r1 r4 p4 Hệ thống 2 22 Phương pháp chung xử lý tắc nghẽn • • • • • Bỏ qua Phát hiện tắc nghẽn Ngăn ngừa tắc nghẽn Phịng tránh tắc nghẽn Chủ yếu áp dụng cho hệ thống phân tán mà – Mỗi tiến trình là một giao dịch có tính ngun tử Dang Minh Quan: Institute of IT for Economics-NEU, 2011 23 Phát hiện tắc nghẽn tập trung • Mỗi máy tính duy trì một đồ thị sử dụng tài ngun của các tiến trình địa phương • Một bộ điều phối trung tâm duy trì đồ thị sử dụng tài ngun của tồn bộ hệ thống – Thơng điệp sẽ được gửi tới bộ điều phối khi một cạnh của đồ thị được thêm vào hay xóa đi Dang Minh Quan: Institute of IT for Economics-NEU, 2011 24 Phát hiện tắc nghẽn tập trung Đồ thị tài nguyên tại A Đồ thị tài nguyên tại B Đồ thị tài nguyên toàn cục tại bộ điều phối Dang Minh Quan: Institute of IT for Economics-NEU, 2011 25 Phát hiện tắc nghẽn tập trung • Nếu tiến trình P1 địi hỏi tài ngun T của máy B • B sẽ gửi thơng điệp đợi T cho bộ điều phối • Bộ điều phối phát hiện chu trình và quyết định máy sẽ gửi thơng báo đến để kết thúc tiến trình Dang Minh Quan: Institute of IT for Economics-NEU, 2011 26 Phát hiện tắc nghẽn tập trung • Tiến trình P1 giải phóng tài ngun R • Tiến trình P1 địi hỏi tài ngun T của máy B • 2 thơng điệp được gửi tới bộ điều phối – 1 (từ A) giải phóng R – 2 (từ B) đợi T • Nếu thơng điệp 2 đến trước > tắc nghẽn sai • Bộ điều phối hỏi các máy có thơng điệp giải phóng tài ngun Dang Minhnào khơng Quan: Institute of IT for Economics-NEU, 2011 27 Phát hiện tắc nghẽn tập trung • Đồ thị tài ngun của các máy trong 1 hệ thống phân tán được biểu diễn như hình sau. Hệ thống sau có tắc nghẽn hay khơng r3 r3 p2 r2 r4 r3 p4 p1 p3 r1 r4 Máy 1 Máy 2 Dang Minh Quan: Institute of IT for Economics-NEU, 2011 Máy 3 28 Ngăn chặn tắc nghẽn • Thiết kế hệ thống để tắc nghẽn khơng thể xảy ra • Với giả sử rằng mỗi tiến trình tương ứng với một giao dịch ngun tử – Mỗi tiến trình sẽ có một nhãn thời gian tồn cục khi nó được khởi tạo Dang Minh Quan: Institute of IT for Economics-NEU, 2011 29 Ngăn chặn tắc nghẽn • Thuật tốn đợi chết – Nếu tiến trình già muốn có tài ngun nắm giữ bởi tiến trình trẻ: Tiến trình già được phép đợi – Nếu tiến trình trẻ muốn có tài ngun nắm giữ bởi tiến trình già: Tiến trình trẻ tự chết Dang Minh Quan: Institute of IT for Economics-NEU, 2011 30 Ngăn chặn tắc nghẽn • Hãy chỉ ra các tiến trình bị kết thúc theo thuật tốn đợi chết p2 TS=12 r2 r3 p3 TS=18 Dang Minh Quan: Institute of IT for Economics-NEU, 2011 p1 TS=15 r1 r4 p4 TS=10 31 Ngăn chặn tắc nghẽn • Thuật tốn bị thương đợi – Nếu tiến trình già muốn có tài ngun nắm giữ bởi tiến trình trẻ: Tiến trình già kết thúc tiến trình trẻ – Nếu tiến trình trẻ muốn có tài ngun nắm giữ bởi tiến trình già: Tiến trình trẻ được phép đợi Dang Minh Quan: Institute of IT for Economics-NEU, 2011 32 Ngăn chặn tắc nghẽn • Hãy chỉ ra các tiến trình bị kết thúc theo thuật tốn bị thương đợi p2 TS=12 r2 r3 p3 TS=18 Dang Minh Quan: Institute of IT for Economics-NEU, 2011 p1 TS=15 r1 r4 p4 TS=10 33 ... I/OSystem implementation Access I/OSystem Dang Minh Quan: Institute of IT for Economics-NEU, 2011 A Distributed System Dang Minh Quan: Institute of IT for Economics-NEU, 2011 Tại sao cần? ?hệ? ?thống phân tán • Chia sẻ tài ngun... Di cư tính tốn – chuyển việc tính tốn, chứ khơng phải là dữ liệu, dọc ngang? ?hệ? ?thống Dang Minh Quan: Institute of IT for Economics-NEU, 2011 Hệ? ?điều? ?hành phân tán • Di cư tiến trình – chạy tồn bộ tiến trình hay một ... thơng điệp. Một? ?hệ? ?thống có thể có nhiều cổng với cùng một địa chỉ mạng để phân biệt các dịch vụ mạng khác Dang Minh Quan: Institute of IT for Economics-NEU, 2011 Hệ? ?thống file phân tán • Một? ?hệ? ?thống file phân tán (DFS) có thể