(NB) Giáo trình Hệ điều hành này bao gồm 5 chương được giới thiệu như dưới đây: Giới thiệu chung về hệ điều hành; Điều khiển dữ liệu; Điều khiển bộ nhớ; Điều khiển CPU, điều khiển quá trình; Hệ điều hành đa xử lý.
BỘ LAO ĐỘNG -THƯƠNG BINH VÀ XÃ HỘI TỔNG CỤC DẠY NGHỀ - - : GIÁO TRÌNH HỆ ĐIỀU HÀNH NGHỀ: KỸ THUẬT SỬA CHỮA, LẮP RÁP MÁY TÍNH TRÌNH ĐỘ: CAO ĐẲNG (Ban hành theo Quyết định số: 120/QĐ-TCDN ngày 25 tháng 02 năm 2013 Tổng cục trưởng Tổng cục dạy nghề) NĂM 2013 BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI TỔNG CỤC DẠY NGHỀ GIÁO TRÌNH Hệ Điều Hành NGHỀ: KỸ THUẬT LẮP RÁP VÀ SỬA CHỮA MÁY TÍNH TRÌNH ĐỘ: CAO ĐẲNG (Ban hành theo Quyết định số: 120/QĐ-TCDN ngày 25 tháng 02 năm 2013 Tổng cục trưởng Tổng cục dạy nghề) TUYÊN BỐ BẢN QUYỀN: Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng ngun trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Trong hệ thống kiến thức chuyên nghành trang bị cho sinh viên Cơng nghệ Thơng tin (CNTT), giáo trình hệ điều hành góp phần cung cấp nội dung kiến thức chung hệ điều hành, nội dung liên quan đến việc mô tả phương pháp giả toán điều khiển hoạt động hệ thống máy tính Nội dung giáo trình hệ điều hành thuộc vào hệ thống kiến thức phần mềm hệ thống, cung cấp kiến thức nhằm thực hai nguyên lý hệ thống máy tính Von Neumann phát biểu, nguyên lý “hoạt động theo chương trình” Các nội dung trình bày giáo trình bao gồm năm chương giới thiệu Bài mở đầu: Giới thiệu chung hệ điều hành Chương 1: Điều khiển liệu Chương 2: Điều khiển nhớ Chương 3: Điều khiển CPU, điều khiển trình Chương 4: Hệ điều hành đa xử lý Hà Nội, 2013 Tham gia biên soạn Khoa Công Nghệ Thông Tin Trường Cao Đẳng Nghề Kỹ Thuật Công Nghệ Địa Chỉ: Tổ 59 Thị trấn Đông Anh – Hà Nội Tel: 04 38821300 Chủ biên: Nguyễn Kim Dung Mọi góp ý liên hệ: Phùng Sỹ Tiến – Trưởng Khoa Công Nghệ Thông Tin Mobible: 0983393834 Email: tienphungktcn@gmail.com – tienphungktcn@yahoo.com MỤC LỤC LỜI GIỚI THIỆU BÀI MỞ ĐẦU: 1.Khái niệm hệ điều hành 1.1.Các thành phần hệ thống 1.2.Chức hệ điều hành 12 1.3.Quá trình phát triển hệ điều hành 14 2.Phân loại hệ điều hành 16 2.1 Mainframe Systems 16 2.2.Desktop Systems 16 2.3.Multiprocessor Systems 17 2.4.Distributed Systems 19 2.5.Real-Time Systems 19 2.6.Handheld Systems 20 2.7.Gaming Systems 21 2.8.IOS (Internetwork Operating System) 21 3.Sơ lược lịch sử phát triển hệ điều hành 22 3.1.Lịch sử phát triển 22 3.2.Cấu trúc hệ thống 23 3.3.Cài đặt Linux 29 CÂU HỎI CỦNG CỐ BÀI HỌC 44 CHƯƠNG 1: 45 ĐIỀU KHIỂN DỮ LIỆU 45 1.Các phương pháp tổ chức truy nhập liệu 45 1.1.Bản quản lý thư mục tập tin 45 1.2.Bản phân phối vùng nhớ 46 1.3.Tập tin chia sẻ 48 1.4.Quản lý đĩa 49 1.5.Độ an toàn hệ thống tập tin 50 2.Bản ghi khối 52 2.1.Bản ghi loogic ghi vật lý 52 2.2.Kết khối tách khối 53 Điều khiển buffer(điều khiển phòng đệm) 55 3.1.Phòng đệm trung chuyển 56 3.2.Phòng đệm xử lý 57 3.3.Phòng đệm vòng tròn 58 Quy trình chung điều khiển nhập-xuất 58 4.1.Phần cứng nhập/xuất 59 4.2.Phần mềm nhập/xuất 63 Tổ chức lưu trữ liệu đĩa từ 66 CÂU HỎI CỦNG CỐ BÀI HỌC 68 CHƯƠNG : 69 ĐIỀU KHIỂN BỘ NHỚ 69 1.Quản lý bảo vệ nhớ 69 2.Điều khiển nhớ liên tục 72 2.1.Giới thiệu 72 2.2.Cấp phát tĩnh 73 2.3.Cấp phát động 75 2.4.Quản lý nhớ rỗi 82 3.Điều khiển nhớ gián đoạn 83 3.1.Tổ chức gián đoạn 83 3.2.Điều khiển nhớ phân đoạn 85 3.3.Điều khiển nhớ phân trang 88 CÂU HỎI CỦNG CỐ BÀI HỌC 93 CHƯƠNG 3: 94 ĐIỀU KHIỂN CPU, ĐIỀU KHIỂN QUÁ TRÌNH 94 1.Trạng thái trình 94 1.1.Chế độ xử lý tiến trình 95 1.2.Cấu trúc liệu khối quản lý tiến trình 95 1.3.Thao tác tiến trình 96 2.Điều phối trình 99 2.1.Giới thiệu 99 2.2.Tổ chức điều phối 101 2.3.Các chiến lược điều phối 102 3.Bài tốn đồng hóa 105 3.1Giải pháp Busy-Waiting 105 3.2.Giải pháp Sleep and Wakeup 108 4.Bế tắc-Giải pháp phòng ngừa xử lý 114 4.1.Bế tắc 114 4.2.Điều kiện hình thành bế tắc 116 4.3.Xử lý bế tắc 117 CÂU HỎI CỦNG CỐ BÀI HỌC 120 CHƯƠNG 4: 121 HỆ ĐIỀU HÀNH ĐA XỬ LÝ 121 1.Hệ điều hành đa xử lý tập trung 122 1.1.Hệ thống đa xử lý 122 1.2.Hệ điều hành đa xử lý tập trung 123 2.Thuật tốn song song ngơn ngữ lập trình song song 124 2.1.Thuật tốn song song 124 2.2.Ngơn ngữ lập trình song song 125 3.Hệ điều hành đa xử lý phân tán 126 3.1.Giới thiệu hệ phân tán 126 3.2.Đặc điểm hệ phân tán 127 CÂU HỎI CỦNG CỐ BÀI HỌC 130 TÀI LIỆU THAM KHẢO 130 MÔN HỌC: HỆ ĐIỀU HÀNH Mã mơn học: MH16 Vị trí, ý nghĩa, vai trị mơn học: - Vị trí: Mơn học bố trí sau học xong môn học chung, trước môn học/mô đun đào tạo chun ngành - Tính chất: Là mơn học chun ngành - Ý nghĩa vai trị mơn học: Là môn học ứng dụng để phát triển môn học Là môn thiếu nghề Sửa chữa, lắp ráp máy tính Mục tiêu mơn học: - Hiểu vai trị chức hệ điều hành hệ thống máy tính - Biết giai đoạn phát triển hệ điều hành - Hiểu nguyên lý thiết kế, hoạt động hệ điều hành - Hiểu cách giải vấn đề phát sinh hệ điều hành - Có ý thức tự giác, tính kỷ luật cao, tinh thần trách nhiệm học tập - Tự tin nghiên cứu, tím hiểu cơng nghệ hệ thống Nội dung môn học Mã Thời gian Tên chương mục Tổng Lý Thực Kiểm số thuyết hành tra* MH16-01 Giới thiệu chung hệ điều hành Khái niệm hệ điều hành Phân loại hệ điều hành Sơ lược lịch sử phát triển HĐH 10 MH16-02 Điều khiển liệu Các phương pháp tổ chức truy nhập liệu Bản ghi khối Điều khiển buffer Quy trình chung điều khiển nhập-xuất Tổ chức lưu trữ liệu đĩa từ Điều khiển nhớ Quản lý bảo vệ nhớ Điều khiển nhớ liên tục Điều khiển nhớ gián đoạn Điều khiển CPU, Điều khiển trình Trạng thái trình Điều phối q trình Bài tốn đồng hóa Bế tắc-Giải pháp phòng ngừa xử lý Hệ điều hành đa xử lý Hệ điều hành đa xử lý tập trung Thuật tốn song song ngơn ngữ lập trình song song Hệ điều hành đa xử lý phân tán 24 12 10 24 14 20 10 12 2 90 52 30 MH16-03 MH16-04 MH16-05 Cộng BÀI MỞ ĐẦU: GIỚI THIỆU CHUNG VỀ HỆ ĐIỀU HÀNH Mã chương: MH16-01 Giới thiệu: Nếu khơng có phần mềm, máy tính thiết bị điện tử thông thường Với hỗ trợ phần mềm, máy tính lưu trữ, xử lý thơng tin người sử dụng gọi lại thơng tin Phần mềm máy tính chia thành nhiều loại: chương trình hệ thống, quản lý hoạt động máy tính Chương trình ứng dụng, giải vấn đề liên quan đến việc sử dụng khai thác máy tính người sử dụng Hệ điều hành thuộc nhóm chương trình hệ thống chương trình hệ thống quan trọng máy tính người sử dụng Hệ điều hành điều khiển tất tài nguyên máy tính cung cấp mơi trường thuận lợi để chương trình ứng dụng người sử dụng viết chạy máy tính Trong chương xem xét vai trò hệ điều hành trường hợp Một máy tính đại bao gồm: nhiều processor, nhớ chính, clocks, đĩa, giao diện mạng, thiết bị vào/ra khác Tất tạo thành hệ thống phức tạp Để viết chương trình để theo dõi tất thành phần máy tính sử dụng chúng cách hiệu quả, người lập trình phải biết processor thực chương trình nào, nhớ lưu trữ thơng tin nào, thiết bị đĩa làm việc (ghi/đọc) nào, lỗi xảy đọc block đĩa, … công việc khó khăn khó người lập trình Nhưng may cho người lập trình ứng dụng người sử dụng công việc hệ điều hành hỗ trợ nên họ không cần quan tâm đến Chương cho nhìn tổng quan liên quuan đến việc thiết kế cài đặt chức hệ điều hành để hệ điều hành đạt mục tiêu: Giúp người sử dụng khai thác máy tính dễ dàng chương trình người sử dụng chạy máy tính Mục Tiêu: Học xong chương người học có khả năng: - Nắm yêu cầu cần có hệ điều hành - Nắm khái niệm hệ điều hành, chức năng, phân loại thành phần hệ điều hành Nội Dung Chính: Khái niệm hệ điều hành Mục tiêu: - Nắm yêu cầu cần có hệ điều hành, khái niệm hệ điều hành, chức hệ điều hành Hệ điều hành gì? Khó có khái niệm hay định nghĩa xác hệ điều hành, hệ điều hành phận nhiều đối tượng khai thác nhất, họ người sử dụng thơng thường, lập trình viên, người quản lý hệ thống tùy theo mức độ khai thác hệ điều hành mà họ đưa khái niện khác Ở ta xem xét khái niệm hệ điều hành dựa quan điểm người khai thác hệ thống máy tính: Khái niệm 1: Hệ điều hành hệ thống mơ hình hố, mơ hoạt động máy tính, người sử dụng lập trình viên, hoạt động chế độ đối thoại nhằm tạo môi trường khai thác thuận lợi hệ thống máy tính quản lý tối ưu tài nguyên hệ thống Khái niệm 2: Hệ điều hành hệ thống chương trình với chức giám sát, điều khiển việc thực chương trình người sử dụng, quản lý phân chia tài nguyên cho nhiều chương trình người sử dụng đồng thời cho việc khai thác chức hệ thống máy tính người sử dụng thuận lợi hiệu Khái niệm 3: Hệ điều hành chương trình đóng vai trị giao diện người sử dụng phần cứng máy tính, điều khiển việc thực tất loại chương trình Khái niệm gần với hệ điều hành sử dụng máy tính Từ khái niệm thấy rằng: Hệ điều hành đời, tồn phát triển để giải vấn đề sử dụng máy tính người sử dụng, nhằm giúp người sử dụng khai thác hết chức phần cứng máy tính mà cụ thể giúp người sử dụng thực chương trình họ máy tính 1.1.Các thành phần hệ thống Hệ điều hành hệ thống chương trình lớn, thực nhiều nhiệm vụ khác nhau, nhà thiết kế thường chia hệ điều hành thành nhiều thành phần, thành phần đảm nhận nhóm nhiệm vụ đó, nhiệm vụ có liên quan với Cách phân chia nhiệm vụ cho thành phần, cách kết nối thành phần lại với để thực nhiệm vụ lớn cần cách gọi thành phần cần thực nhiệm vụ đó, , tất phương thức tạo nên cấu trúc hệ điều hành 1.1.1.Thành phần quản lý tiến trình Hệ điều hành phải có nhiệm vụ tạo lập tiến trình đưa vào danh sách quản lý tiến trình hệ thống Khi tiến trình kết thúc hệ điều hành phải loại bỏ tiến trình khỏi danh sách quản lý tiến trình hệ thống Hệ điều hành phải cung cấp đầy đủ tài nguyên để tiến trình vào hoạt động phải đảm bảo đủ tài nguyên để trì hoạt động tiến trình tiến trình kết thúc Khi tiến trình kết thúc hệ điều hành phải thu hồi tài nguyên mà hệ điều hành cấp cho tiến trình Trong trình hoạt động lý tiến trình khơng thể tiếp tục hoạt động hệ điều hành phải tạm dừng tiến trình, thu hồi tài nguyên mà tiến trình chiếm giữ, sau điều kiện thuận lợi hệ điều hành phải tái kích hoạt tiến trình để tiến trình tiếp tục hoạt động kết thúc Trong hệ thống có nhiều tiến trình hoạt động song song hệ điều hành phải giải vấn đề tranh chấp tài nguyên tiến trình, điều phối processor cho tiến trình, giúp tiến trình trao đổi thông tin hoạt động đồng với nhau, đảm bảo nguyên tắc tất tiến trình khởi tạo phải thực kết thúc Tóm lại, phận quản lý tiến trình hệ điều hành phải thực nhiệm vụ sau đây: Tạo lập, hủy bỏ tiến trình Tạm dừng, tái kích hoạt tiến trình Tạo chế thơng tin liên lạc tiến trình Tạo chế đồng hóa tiến trình 1.1.2.Thành phần quản lý nhớ Bộ nhớ tài nguyên quan trọng hệ thống, thiết bị lưu trữ mà CPU truy xuất trực tiếp Các chương trình người sử dụng muốn thực CPU trước hết phải hệ điều hành nạp vào nhớ chính, chuyển đổi địa sử dụng chương trình thành địa mà CPU truy xuất Khi chương trình, tiến trình có u cầu nạp vào nhớ hệ điều hành phải cấp phát khơng gian nhớ cho Khi chương trình, tiến trình kết thúc hệ điều hành phải thu hồi lại khơng gian nhớ cấp phát cho chương trình, tiến trình trước Trong hệ thống đa chương hay đa tiến trình, nhớ tồn nhiều chương trình/ nhiều tiến trình, hệ điều hành phải thực nhiệm vụ bảo vệ vùng nhớ cấp phát cho chương trình/ tiến trình, tránh vi phạm vùng nhớ Tóm lại, phận quản lý nhớ hệ điều hành thực nhiệm vụ sau: Cấp phát, thu hồi vùng nhớ Ghi nhận trạng thái nhớ Bảo vệ nhớ Quyết định tiến trình nạp vào nhớ 1.1.3.Thành phần quản lý xuất/ nhập Một mục tiêu hệ điều hành giúp người sử dụng khai thác hệ thống máy tính dễ dàng hiệu quả, thao tác trao đổi thông tin thiết bị xuất/ nhập phải suốt người sử dụng Để thực điều hệ điều hành phải tồn phận điều khiển thiết bị, phận phối hợp CPU để quản lý hoạt động trao đổi thơng tin hệ thống, chương trình người sử dụng người sử dụng với thiết bị xuất/ nhập Bộ phận điều khiển thiết bị thực nhiệm vụ sau: Gởi mã lệnh điều khiển đến thiết bị: Hệ điều hành điều khiển thiết bị mã điều khiển, trước bắt đầu trình trao đổi liệu với thiết bị hệ điều hành phải gởi mã điều khiển đến thiết bị Tiếp nhận yêu cầu ngắt (Interrupt) từ thiết bị: Các thiết bị cần trao đổi với hệ thống phát tín hiệu yêu cầu ngắt, hệ điều hành tiếp nhận yêu cầu ngắt từ thiết bị, xem xét thực thủ tục để đáp ứng yêu cầu tù thiết bị Phát xử lý lỗi: trình trao đổi liệu thường xảy lỗi như: thiết bị vào chưa sẵn sàng, đường truyền hỏng, hệ điều hành phải tạo chế thích hợp để phát lỗi sớm khắc phục lỗi vừa xảy 1.1.4.Thành phần quản lý nhớ phụ (đĩa) Không gian lưu trữ đĩa chia thành phần có kích thước 116 trạng thái bế tắc, khơng có can thiệp hệ điều hành Để phá bỏ bế tắc hệ điều hành cho tạm dừng tiến trình P1 để thu hồi lại tài nguyên R1, lấy R1 cấp cho tiến trình P2 để P2 hoạt động kết thúc, sau thu hồi R1 R2 từ tiến trình P2 để cấp cho P1 tái kích hoạt P1 để P1 hoạt động trở lại Như sau khoảng thời gian P1 P2 khỏi tình trạng bế tắc Trong trường hợp ví dụ trên: hai tiến trình khơng đồng thời yêu cầu thêm nhớ bế tắc khơng thể xảy ra, hai tiến trình đồng thời yêu cầu thêm nhớ hệ điều hành phải kiểm tra lượng nhớ trống hệ thống, không đáp ứng cho hai tiến trình hệ điều hành phải có chế ngăn chặn (từ chối) tiến trình cho tiến trình quyền sử dụng nhớ (đáp ứng) bế tắc khơng thể xảy Tuy nhiên để giải vấn đề bế tắc thiếu nhớ, hệ điều hành thường sử dụng chế nhớ ảo Bộ nhớ ảo phần quan hệ điều hành mà khảo sát chương Quản lý nhớ tài liệu Khi hệ thống xảy bế tắc hệ điều hành khơng kịp thời phá bế tắc hệ thống rơi vào tình trạng treo tồn hệ thống Như trường hợp bế tắc ví dụ 1, sau có tiến trình P3, giữ tài nguyên R3, cần R2 để tiếp tục P3 rơi vào tập tiến trình bị bế tắc, sau có tiến trình P4 cần tài nguyên R1 R3 để tiếp tục P4 rơi vào tập tiến trình bị bế tắc P3, … dẫn đến thời điểm tất tiến trình hệ thống rơi vào tập tiến trình bế tắc Và hệ thống bị treo hoàn toàn 4.2.Điều kiện hình thành bế tắc Năm 1971, Coffman đưa chứng tỏ rằng, hệ thống tồn đồng thời bốn điều kiện sau hệ thống xảy bế tắc: 1.Loại trừ lẫn (mutual excution) hay độc quyền sử dụng: Đối với tài ngun khơng phân chia thời điểm có tiến trình sử dụng tài nguyên 2.Giữ đợi (hold and wait): Một tiến trình chiếm giữ tài nguyên, lại xin cấp phát thêm tài nguyên 3.Không ưu tiên (No preemption): Khơng có tài ngun giải phóng từ tiến trình chiếm giữ Trong nhiều trường hợp điều kiện cần thiết hệ thống Sự thực độc quyền cần thiết để bảo đảm tính đắn kết tính tồn vẹn liệu (chúng ta thấy điều phần tài nguyên găng đây) Tương tự, ưu tiên thực cách tuỳ tiện, đặc biệt tài nguyên có liên quan với nhau, việc giải phóng từ tiến trình ảnh hưởng đên kết xử lý tiến trình khác Sự bế tắc tồn với ba điều kiện trên, khơng xảy với điều kiện Để chắn bế tắc xảy cần phải có điều kiện thứ tư 117 3.Đợi vịng trịn (Circular wait): Đây trường hợp ví dụ mà nêu Tức là, tiến trình chiếm giữ tài nguyên mà tiến trình khác cần Ba điều kiện đầu điều kiện cần điều kiện đủ để xảy bế tắc Điều kiện thứ tư kết tất yếu từ ba điều kiện đầu Ngăn chặn bế tắc Ngăn chặn bế tắc thiết kế hệ thống cho tượng bế tắc bị loại trừ Các phương thức ngăn chặn bế tắc tập trung giải bốn điều kiện gây bế tắc, cho hệ thống xảy đồng thời bốn điều kiện bế tắc: Đối với điều kiện độc quyền: Điều kiện gần không tránh khỏi, độc quyền cần thiết tài nguyên thuộc loại phân chia biến chung, tập tin chia sẻ, hệ điều hành cần phải hỗ trợ độc quyền tài nguyên Tuy nhiên, với tài nguyên thuộc loại không phân chia hệ điều hành sử dụng kỹ thuật SPOOL (Smulataneous Peripheral Operation Online) để tạo nhiều tài nguyên ảo cung cấp cho tiến trình đồng thời Đối với điều kiện giữ đợi: Điều kiện ngăn chặn cách yêu cầu tiến trình u cầu tất tài ngun mà cần thời điểm tiến trình bị khố (blocked) yêu cầu tài nguyên hệ điều hành đáp ứng Phương pháp không hiệu Thứ nhất, tiến trình phải đợi khoảng thời gian dài để có đủ tài nguyên có thẻ chuyển sang hoạt động được, tiến trình cần số tài ngun số hoạt động được, sau yêu cầu tiếp Thứ hai, lãng phí tài ngun, tiến trình nhiều tài nguyên mà đến kết thúc tiến trình sử dụng, tài nguyên mà tiến trình khác cần Ở hệ điều hành tổ chức phân lớp tài nguyên hệ thống Theo tiến trình phải trả tài ngun mức thấp cấp phát tài nguyên cấp cao Đối với điều kiện No preemption: Điều kiện ngăn chặn cách, tiến trình bị rơi vào trạng thái khố, hệ điều hành thu hồi tài ngun tiến trình bị khố để cấp phát cho tiến trình khác cấp lại đầy đủ tài nguyên cho tiến trình tiến trình đưa khỏi trạng thái khoá Đối với điều kiện chờ đợi vịng trịn: Điều kiện ngăn chặn cách phân lớp tài nguyên hệ thống Theo đó, tiến trình cấp phát tài ngun lớp L, sau yêu cầu tài nguyên lớp thấp lớp L 4.3.Xử lý bế tắc Các phương thức ngăn chặn bế tắc tập trung vào việc hạn chế quyền truy xuất đến tài nguyên áp đặt ràng buộc lên tiến trình Điều ảnh hưởng đến mục tiêu khai thác hiệu tài nguyên hệ điều hành, ngăn chặn độc quyền tài nguyên ví dụ, hệ điều hành 118 phải cài đặt chế độc quyền để bảo vệc tài nguyên chia sẻ Và phân tích việc cấp phát tài nguyên lần cho tiến trình để ngăn chặn tượng hold and wait tồn vài hạn chế Các hệ điều hành giải vấn đề bế tắc theo hướng phát bế tắc để tìm cách khỏi bế tắc Phát bế tắc không giới hạn truy xuất tài nguyên không áp đặt ràng buộc lên tiến trình Với phương thức phát bế tắc, yêu cầu cấp phát tài nguyên đáp ứng Để phát bế tắc hệ điều hành thường cài đặt thuật tốn để phát hệ thống có tồn tượng chờ đợi vịng trịn hay khơng Việc kiểm tra, để xem thử hệ thống có khả xảy bế tắc hay khơng thực liên tục có yêu cầu tài nguyên, thực theo chu kỳ, phụ thuộc vào bế tắc xảy Việc kiểm tra bế tắc có yêu cầu tài nguyên nhận biết khả xảy bế tắc nhanh hơn, thuật toán áp dụng đơn giản dự vào thay đổi trạng thái hệ thống Tuy nhiên, hệ thống phải tốn nhiều thời gian cho lần kiểm tra bế tắc Mỗi bế tắc phát hiện, hệ điều hành thực vài giải pháp để thoát khỏi bế tắc Sau vài giải pháp có thể: 1.Thốt tất tiến trình bị bế tắc Đây giải pháp đơn giản nhất, thường hệ điều hành sử dụng 2.Sao lưu lại tiến trình bị bế tắc vài điểm kiển tra định nghĩa trước, sau khởi động lại tất tiến trình Giải pháp yêu cầu hệ điều hành phải lưu lại thông tin cần thiết điểm dừng tiến trình, đặc biệt trỏ lệnh tài nguyên tiến trình sử dụng, để khởi động lại tiến trình Giải pháp có nguy xuất bế tắc trở lại cao, tất tiến trình reset trở lại việc tranh chấp tài ngun khó tránh khỏi Ngồi hệ điều hành thường phí cao cho việc tạm dừng tái kích hoạt tiến trình 3.Chỉ kết thúc tiến trình tập tiến trình bị bế tắc, thu hồi tài nguyên tiến trình này, để cấp phát cho tiến trình tập tiến trình bế tắc để giúp tiến trình khỏi bế tắc, gọi lại thuật toán kiểm tra bế tắc để xem hệ thống khỏi bế tắc hay chưa, dừng, chưa tiếp tục giải phóng thêm tiến trình khác Và tất tiến trình tập tiến trình bế tắc khỏi tình trạng bế tắc Trong giả pháp vấn đề đặt hệ điều hành nên chọn tiến trình để giải phóng dựa vào tiêu chuẩn để chọn lựa cho chi phí để giải phóng bế tắc thấp 4.Tập trung toàn quyền ưu tiên sử dụng tài nguyên cho tiến trình, để tiến trình khỏi bế tắc, kiểm tra xem hệ thống khỏi bế tắc hay chưa, dừng lại, chưa tiếp tục Lần lượt hệ thống khỏi bế tắc Trong giải pháp hệ điều hành phải tính đến chuyện tái kích hoạt lại tiến trình sau hẹ thống khỏi bế tắc 119 Đối với giải pháp 4, hệ điều hành dựa vào tiêu chuẩn sau để chọn lựa tiến trình giải phóng hay ưu tiên tài nguyên: Thời gian xử lý nhất; Thời gian cần processor cịn lại nhất; Tài nguyên cần cấp phát nhất; Quyền ưu tiên thấp 120 CÂU HỎI CỦNG CỐ BÀI HỌC Tổ chức điều phối tiến trình ? Phân tích ưu, khuyết điểm chiến lược điều phối Bài tốn đồng hóa gì? Bế tắc giải pháp phịng ngừa? 5.Giả sử có q trình sau hệ thống : Quá trình Thời điểm vào RL Thời gian CPU P1 0.0 P2 0.4 P3 1.0 Sử dụng nguyên tắc điều phối độc quyền thông tin có thời điểm định để trả lời câu hỏi sau : a)Cho biết thời gian lưu lại trung bình hệ thống (turnaround time) q trình thuật tốn điều phối FIFO b)Cho biết thời gian lưu lại trung bình hệ thống (turnaround time) q trình thuật tốn điều phối SJF c)Thuật toán SJF dự định cải tiến thực hệ thống , lưu ý phải chọn điều phối P1 thời điểm khơng biết có hai q trình ngắn vào hệ thống sau Thử tính thời gian lưu lại trung bình ệ thống để CPU nhàn rỗi đơn vị thời gian sau sử dụng SJF để điều phối Lưu ý P1 P2 phải chờ suốt thời gian nhàn rỗi này, thời gian chờ chúng tăng lên Thuật toán điều phối biết đến điều phối dựa thông tin tương lai 6.Phân biệt khác cách tiếp cận để ưu tiên cho trình ngắn thuật toán điều phối sau : a) FIFO b)RR c)Điều phối với độ ưu tiên đa cấp 121 CHƯƠNG 4: HỆ ĐIỀU HÀNH ĐA XỬ LÝ Mã chương: MH16-05 Giới thiệu: Hiện nay, với phát triển nhanh cơng nghệ, máy tính ngày sử dụng phổ biến đời sống xã hội Mức độ thâm nhập máy tính vào sống cao u cầu nâng cao khả xử lý máy tính lớn Bộ nhớ ngày mở rộng, dung lượng lưu chữ đĩa từ ngày tăng, tốc độ truy nhập ngày cao hệ thống thiết bị ngoại vi phong phú, hình thức giao tiếp người – máy đa dạng Như xét, CPU tài nguyên quan trọng thể khả xử lý tính tốn hệ thống Vì vậy, vấn đề quan tâm tăng cường khả xử lý CPU Giải pháp tăng cường khả tính tốn cho CPU riêng lẻ ứng dụng cách triệt để Tuy nhiên, giải pháp phải chịu hạn chế mặt kỹ thuật như: tốc độ truyền tin vượt tốc độ ánh sáng, khoảng cách tối thiểu hai thành phần không… Song song với giải pháp giải pháp liên kết nhiều CPU lại để tạo hệ thống tích hợp có khả xử lý mạnh Việc đưa mơ hình xử lý song song tạo nhiều lợi điểm: Cho phép chia công việc thành phần nhỏ giao cho CPU đảm nhận Như hiệu suất xử lý hệ thống không tăng theo tỷ lệ thuận với số CPU mà cao không thời gian phải thực công việc trung gian Mặt khác, giải pháp cho phép tích hợp hệ thống máy tính có để tạo hệ thống với sức mạnh tăng gấp nhiều lần Như vậy, với giải pháp nhiều CPU, có hai xu hướng tích hợp hệ thống: Hệ đa xử lý tập trung –Hệ nhiều CPU: tập hợp xử lý siêu máy tính(Supercomputer) Đặc trưng hệ thống CPU liên kết với máy tính Hệ xử lý phân tán- Hệ phân tán: thực chất mạng máy tính, bao gồm máy tính liên kết với đặt vị trí với khoảng cách xa tùy ý Trong chương này, tập trung xét chủ yếu hai hệ thống Mục Tiêu: - Hiểu khái quát xu sử dụng hệ thống đa xử lý - Hiểu nét hệ điều hành đa xử lý nhằm trang bị khả tự nghiên cứu tương lai - Rèn luyện khả tư duy, lập luận có tính khoa học - Tinh thần hỗ trợ học tập Nội Dung: 122 1.Hệ điều hành đa xử lý tập trung Mục tiêu: - Hiểu khái quát xu sử dụng hệ thống đa xử lý - Hiểu nét hệ điều hành đa xử lý nhằm trang bị khả tự nghiên cứu tương lai 1.1.Hệ thống đa xử lý Hệ thống nhiều CPU Hiện nay, từ tốc độ phát triển nhanh cơng nghệ, máy tính ngày phổ dụng xã hội Mức độ thâm nhập máy tính vào sống cao u cầu nâng cao lực máy tính lại ngày trở nên cấp thiết Bộ nhớ ngày rộng lớn; đĩa từ có dung lượng rộng, tốc độ truy nhập ngày cao; hệ thống thiết bị ngoại vi phong phú, hình thức giao tiếp người-máy ngày đa dạng Như nói, CPU tài nguyên thể chủ yếu lực hệ thống máy tính, vấn đề trọng tâm để tăng cường lực hệ thống tăng cường lực CPU Đối với vấn đề này, nảy sinh giải pháp theo hai hướng: Giải pháp tăng cường lực CPU riêng cho máy tính: cơng nghệ vi mạch ngày phát triển lực CPU ngày nâng cao, dự án vi mạch VLSI với hàng triệu, hàng chục tiệu transitor triển khai Tuy nhiên giải pháp nảy sinh hạn chế kỹ thuật: tốc độ truyền thông tin không vượt qua tốc độ ánh sáng; khoảng cách gần hai thành phần giảm thiểu nhỏ v.v Song song với giải pháp tăng cường lực CPU giải pháp liên kết nhiều CPU để tạo hệ thống chung có lực đáng kể: việc xử lý song song tạo nhiều lợi điểm Thứ nhất, chia phần nhỏ công việc cho CPU đảm nhận, suất tăng không theo tỷ lệ thuận với hệ số nhân mà cao không thời gian phải thực cơng việc trung gian Thứ hai, giải pháp cịn có lợi điểm tích hợp hệ thống máy có để tạo hệ thống với sức mạnh tăng gấp bội Chúng ta khảo sát số nội dung chọn giải pháp đa xử lý theo nghĩa hệ thống tính tốn tổ hợp khơng CPU mà nhiều CPU máy tính (hệ đa xử lý tập trung) nhiều máy tính hệ thống thống Gọi chung hệ có nhiều CPU hệ đa xử lý Phân loại hệ đa xử lý Có số cách phân loại hệ đa xử lý: • Phân loại theo vị trí đặt CPU: tập trung phân tán Các siêu máy tính (supercomputer) ví dụ hệ đa xử lý tập trung Đặc trưng hệ thống CPU liên kết với máy tính đảm bảo độ kết dính phần cứng chặt Ví dụ hệ đa xử lý phân tán hệ 123 thống tính tốn phân tán dựa mạng máy tính với độ kết dính phần cứng lỏng • Phân loại theo đặc tính CPU thành phần: hệ đa xử lý hệ đa xử lý không v.v Một ví dụ quen thuộc hệ khơng thiết bị xử lý máy vi tính gồm CPU xử lý chung CPU xử lý dấu phảy động Siêu máy tính ILLIAC-IV gồm nhiều CPU có đặc trưng giống ví dụ hệ • Cách phân loại điển hình dựa theo kiểu CPU thành phần tiếp nhận xử lý liệu nhịp làm việc Cách phân loại bao gồm máy tính đơn xử lý thông thường: - Đơn thị, đơn liệu (SISD: Single Data Single Instruction) thể máy tính thông thường; Mỗi lần làm việc, CPU xử lý “một liệu” có thị (instruction, câu lệnh) thực Đây máy tính đơn xử lý - Đơn thị, đa liệu (SIMD: Single Instruction Multiple Data): Các xử lý nhịp làm việc thực thị Ví dụ phép cộng hai vector cho trước: Các CPU thành phần thực phép cộng theo đối số tương ứng CPU; sau đó, chọn tiếp thị để tiếp tục công việc Thơng thường, hệ thống có phận điều khiển riêng cho việc chọn thị CPU thành phần thực thị (bộ xử lý ma trận) - Đa thị, đơn liệu (MISD: Multiple Instruction Single Data): Trong máy tính thuộc loại này, hệ thống gồm nhiều CPU, CPU liên kết tuần tự: output CPU input CPU (Bộ xử lý vector) Các CPU kết nối theo kiểu gọi kết nối “dây chuyền” - Đa thị, đa câu lệnh (MIMD): Mỗi CPU có phân tích chương trình riêng; thị liệu gắn với CPU: nhịp hoạt động CPU hoàn toàn “độc lập nhau” 1.2.Hệ điều hành đa xử lý tập trung Hệ đa xử lý tập trung hoạt đọng máy tính có nhiều CPU mà điển hình siêu máy tính: CRAY-1; ILLIAC-IV –IV, hitachi máy tính nhiều xử lý nay(máy tính khoa CNTT, trường ĐHKHTNĐHQGHN có hai xử lý ) v.v Các tài nguyên khác CPU phân chia cho CPU hệ điều hành đa xử lý, hai toán lớn kể đến phân phối nhớ phân phối CPU 1.2.1.Phân phối nhớ Các trình xuất nhớ chung Việc phân phối nhớ tiến hành cho trình theo chế độ điều khiển nhớ cài đặt: Phân phối theo chế độ mẻ hay phân phối gián đoạn Để tăng tốc độ làm vieecj với nhớ(bài tốn xử lý trỏ ngồi v.v.) gắn với CPU catche nhớ (máy ILLIAC-IV mõi CPU có catche la 2KB) Phân hai loại thâm nhập catche: tĩnh động Thâm nhập tĩnh; 124 Mỗi CPU thâm nhập catche tương ứng, không thâm nhập liệu vùng catche CPU khác Thâm nhập động cho phép CPU máy thâm nhập catche CPU khác (như máy ILLIAC-IV cho phép lấy thông tin catche máy kề cận) 1.2.2.Bài tốn điều khiển CPU Có nhiều CPU, việc điều khiển CPU phân số cách sau: Toàn CPU dành cho trình: Một trình phân phối CPU, song tự q trình nói nảy sinh q trình con; trình giải CPU Các “q trình con” coi tính tốn đơn giản đó: Máy tính đa xử lý vector chia công đoạn trình CPU thực trình (một cơng đoạn) q trình Máy tính đa xử lý ma trận cho phép CPU thực thao tác: Ví dụ cộng hai ma trận 20x20 coa 400 CPU lắp 20x20 nhịp thời gian song toàn cộng hai ma trận cỡ Mỗi CPU xử lý “q trình con” riêng Ngay máy vi tính, CPU 80x86 xử lý chung, 80x87 xử lý phép toán dấu phẩy động Trong thời gian 87 hoạt động, 80x86 dùng cho trình khác Việc phân làm cho mức độ chuyên nghiệp hóa cao hơn, giá trị tổng thể tăng lên đáng kể Về vòng xếp hàng xem xét theo hai mơ hình đưới đây: - Mơ hình tĩnh: Hoặc CPU có dịng xếp hàng riêng; tốn gắn với dòng xếp hàng, việc điều khiển dòng xếp hàng độc lập với dịng xếp hàng khác, q trình phát sinh gắn với dịng xếp hàng đó; - Mơ hình động: Tồn hệ thống gồm hay vài dịng xếp hàng, q trình xếp lên CPU rỗi ( sử dụng kiểu liệu semaphone nhiều giá trị để phân phối CPU cho q trình ) 2.Thuật tốn song song ngơn ngữ lập trình song song Mục tiêu: - Hiểu thuật toán song song 2.1.Thuật toán song song Ví dụ 1: Tính (a1a2+a3a4)(a5a6+a7a8) 1.Với máy câu lệnh, với>=4 CPU a1a2 a3a4 a5a6 a7a8 (cùng thực lệnh nhân) a1a2 + a3a4 a5a6 + a7a8 (cùng thực lệnh cộng) (a1a2 + a3a4)(a5a6 + a7a8) ( thực lệnh nhân) 2.Với máy CPU, nhịp cho phép CPU thành phần thực lệnh khác nhau: a1a2 a3a4 (cùng thực lệnh nhân) a1a2 + a3a4 a5a6 (một lệnh cộng, lệnh nhân) a7a8 (một lệnh nhân) a5a6 + a7a8 (một lệnh cộng) 125 (a1a2 + a3a4)( a5a6 + a7a8) (một lệnh nhân) Tiến trình chia trình độc lập, thực song song Trong thực song song có khơng có xảy tranh chấp tài nguyên Mỗi trình lại thực hệ thống Việc xem xét thuật tốn song song khơng mức độ q trình, mà cịn “bước tính tốn” (bao gồm mức thấp “phép toán” hay “lệnh”) thuật toán giải toán chung (xem hai thí dụ trên) Như cần nghiên cứu tính song song thuật toán Giả sử tập hợp “bước tính tốn” thuật tốn phân hoạch thành số nhóm theo tính chất: 1.Các nhóm đánh số với ý nghĩa “bước” nhóm với số nhỏ cần thực trước “bước” nhóm có số cao: nhóm số nhỏ “đi trước” “bước” nhóm phụ thuộc liệu theo liệu vào, kết “bước” thuộc nhóm trước; “bước” nhóm thực cách song song Dạng trình bày thuật tốn theo nhóm nêu gọi “dạng song song” thuật tốn Mỗi nhóm dạng song song gọi “lớp” (tầng); số lớp gọi “chiều cao” dạng song song; số cực đại bước lớp gọi “bề rộng” dạng song song Như vậy, có dạng song song, cần thể hệ thống đa xử lý(tính tốn song song) Có thể nhận thấy tương ứng: - Chiều cao tương ứng với thời gian thực thuật toán; - Bề rộng tương ứng với số CPU đủ để thực thuật tốn với chiều cao nói Một toán đặt ra: Để giả toán cho trước máy tính đa xử lý với N CPU, cần tìm dạng song song cho có bề rộng không vượt N chiều cao nhỏ Một tốn gặp song cần giải quyết: Coi số CPU tùy ý có Tìm dạng song song có chiều cao nhỏ Có thể biểu diễn thuật tốn goomg số bước: Mỗi bước đỉnh đồ thị, bước sau bước khác (trực tiếp) cung từ bước trước tới bước sau: lúc nhận đồ thị định hướng hữu hạn, bước xây dựng cho khơng có chu trình đồ thị nói 2.2.Ngơn ngữ lập trình song song Lợi điểm việc nghiên cứu tính tốn song song khả thi thực máy tính có chế thực u cầu tính tốn song song Điềr dẫn đến việc hình thành ngơn ngữ lập trình song song với số tính chất sau đây: 126 Thể tính tốn song song ngơn ngữ theo hai hướng: Tính tốn song song kiểu liệu vector, ma trận, cấu trúc…, thực song song trình con; Thực song song theo kiểu liệu thao tác thực nhịp thời gian, nhịp thành phần ma trận tính tốn (cộng, trừ, nhân…) Điều thể rõ máy tính vector ma trận Thực song song trình con: biết dạng song song thuật tốn trình bày thông qua việc “tuần tự” thực lớp, đó, bước “lớp” thực song song Ví dụ, V=∑Vj viết thuật toán dạng song song là: V1 => V2=> V3…=> Vk Tring đó, “nhóm” Vj từ nhóm sang nhóm khác, trình bày chương trình: V1 V2 Vk Trong đó, Vj liệt kê nhóm q trình chạy song song với Như vậy, tương ứng với lớp Vj có cách thức cho biết q trình thuộc lớp thực song song Trong số trường hợp phức tạp hơn, cho phép bước lớp kèm theo thời gian thực bước đó, độ ưu tiên bước lớp để ưu tiên việc phân phối CPU Một số hướng nghiên cứu có liên quan đến thuật toán song song quan tâm: - Biến đổi tính tốn tương đương tìm dạng song song chuẩn cho thuật toán tuần tự; - Nghiên cứu khía cạnh song song thuật toán song song phương pháp số Một áp dụng kha điển hình supercomputer thực tính tốn song song tốn tính toán Fourier nhanh 3.Hệ điều hành đa xử lý phân tán Mục tiêu: - Hiểu nét hệ điều hành đa xử lý nhằm trang bị khả tự nghiên cứu tương lai 3.1.Giới thiệu hệ phân tán Như biết HĐH đại thường tập trung vào chức máy tính ảo, nhấn mạnh mức dịch vụ hệ thống thuận tiện quan niệm HĐH phân tán tích hợp dịch vụ hệ thống cho phép trình diễn nhìn suốt tới hệ thống máy tính với tài nguyên điều khiển phân tán (đặt nhiều vị trí địa lý khác nhau) Có thể nói HĐH phân tán HĐH 127 kết nối chặt phần mềm tảng kết nối lỏng phần cứng Theo cách nói khác, HĐH phân tán cung cấp cho người sử dụng cách thức làm việc với HĐH tập trung điều kiện phân tán phần cứng lẫn phần mềm Một vấn đề đặt cho khái niệm HĐH phân tán Tồn nhiều cách hiểu HĐH phân tán, song có tài liệu cho định nghĩa thức HĐH phân tán Trong nhiều ngữ cảnh, ng-ời ta sử dụng khái niệm "hệ phân tán" thay cho khái niệm "HĐH phân tán" Chúng ta chấp nhận định nghĩa đưa Hệ phân tán tổ hợp bao gồm máy tính độc lập với trình diễn hệ thống máy tính đơn trước người dùng HĐH phân tán phát triển sở số tiền đề sau đây: • Thứ nhất, nhu cầu tăng không ngừng việc chia xẻ tài nguyên thơng tin mà HĐH có từ trước khơng đáp ứng Trong q trình triển khai ứng dụng Tin học vào đời sống, mạng máy tính phát triển không ngừng, tài nguyên máy tính mạng (phần cứng, phần mềm) ngày đ-ợc mở rộng nâng cấp, giá trị tài nguyên tăng nhanh dẫn đến tăng tr-ởng v-ợt bậc nhu cầu chia xẻ tài nguyên thông tin hệ thống thống HĐH tập trung HĐH mạng túy không đáp ứng nhu cầu tăng trưởng • Tiền đề thứ hai liên quan đến việc giá trạm làm việc giảm nhanh chóng Việc giảm giá trạm làm việc làm cho chúng sử dụng phổ dụng hơn, số lượng chất lượng trạm làm việc tăng khơng ngừng mà từ làm tăng u cầu xử lý phân tán Điều tạo nhiều vị trí có khả xử lý lưu trữ thơng tin mà từ cần thiết phải phối hợp để chia xẻ tốt tiềm lưu trữ xử lý vị trí • Việc sử dụng rộng rãi mạng Trên sở việc kết nối mạng để triển khai HĐH mạng tạo nên sở kỹ thuật hạ tầng (phần cứng, kết nối mạng, phần mềm) làm tảng phát triển HĐH phân tán • Tính thục kỹ nghệ phần mềm chuyên gia phát triển HĐH Kinh nghiệm xây dựng HĐH trước (HĐH tập trung, HĐH mạng) cho phép nâng cao trình độ để đủ lực xây dựng HĐH phân tán 3.2.Đặc điểm hệ phân tán Hệ phân tán có đặc điểm Tính chia xẻ tài nguyên, Tính mở, Khả song song, Tính mở rộng, Khả thứ lỗi, Tính suốt Tính chia xẻ tài nguyên Thuật ngữ tài nguyên dùng để tất thứ chia xẻ hệ phân tán, bao gồm từ thiết bị phần cứng (Đĩa, máy in ) tới đối tượng (file, cửa sổ, CSDL đối tượng liệu khác) 128 Trong hệ phân tán, chia xẻ tài nguyên hiểu tài nguyên hệ thống QT chia xẻ (sử dụng chung) mà khơng bị hạn chế tình trạng phân tán tài nguyên theo vị trí địa lý Việc chia xẻ tài nguyên hệ phân tán - tài nguyên bị lệ thuộc mặt vật lý với máy tính - thực thơng qua truyền thông Để chia xẻ tài nguyên cách hiệu tài nguyên cần phải quản lý chương trình có giao diện truyền thơng, tài nguyên truy nhập, cập nhật cách tin cậy quán Quản lý tài nguyên bao gồm lập kế hoạch dự phòng, đặt tên lớp tài nguyên, cho phép tài nguyên truy cập từ nơi khác, ánh xạ tên tài ngun vào địa truyền thơng Tính mở Tính mở hệ thống máy tính tính dễ dàng mở rộng phần cứng (thiết bị ngoại vi, nhớ, giao diện truyền thông ) phần mềm (các mơ hình HĐH, giao thức truyền thơng, dịch vụ chia xẻ tài nguyên ) Nói cách khác, tính mở hệ thống phân tán mang ý nghĩa bao hàm tính dễ dàng cấu hình phần cứng lẫn phần mềm Tính mở hệ phân tán thể hệ thống tạo nên từ nhiều loại phần cứng phần mềm nhiều nhà cung cấp khác với điều kiện thành phần phải theo tiêu chuẩn chung (liên quan đến HĐH tính đa dạng tài nguyên; liên quan đến nhà cung cấp tài nguyên tính chuẩn) Tính mở Hệ phân tán xem xét theo mức độ bổ sung thêm dịch vụ chia xẻ tài nguyên mà không phá hỏng hay nhân đơi dịch vụ tồn Tính mở hoàn thiện cách xác định hay phân định rõ giao diện hệ phân tán làm cho tương thích với nhà phát triển phần mềm (tức giao diện HĐH phân tán cần phổ dụng) Tính mở HĐH phân tán thi hành dựa việc cung cấp chế truyền thông QT công khai giao diện đứợc dùng để truy cập tài nguyên chung Khả song song Hệ phân tán hoạt động mạng truyền thơng có nhiều máy tính, máy tính có nhiều CPU Trong thời điểm có từ hai QT trở lên tồn tại, ta nói chúng thực đồng thời Việc thực QT đồng thời theo chế phân chia thời gian (một CPU) hay song song (nhiều CPU) Khả làm việc song song hệ phân tán thi hành hai tình huống: - Nhiều người sử dụng đồng thời đưa lệnh hay tương tác với chương trình ứng dụng (đồng thời xuất nhiều QT khách) - Nhiều QT phục vụ chạy đồng thời, QT đáp ứng yêu cầu số QT Khách 129 Từ điều kiện đa xử lý, khả song song hệ thống phân tán trở thành thuộc tính Khả mở rộng Hệ phân tán có khả hoạt động tốt hiệu nhiều mức khác Một hệ phân tán nhỏ hoạt động cần hai trạm làm việc phục vụ file Các hệ lớn bao gồm hàng nghìn máy tính, nhiều phục vụ File phục vụ máy in Khả mở rộng hệ phân tán đặc trưng tính khơng thay đổi phần mềm hệ thống phần mềm ứng dụng hệ thống mở rộng Điều đạt mức độ hệ phân tán (khơng thể hồn tồn định nghĩa trên) Yêu cầu mở rộng không mở rộng phần cứng hay mạng hệ thống bao trùm mà cịn cần phải phân tích, đánh giá tất khía cạnh thiết kế hệ phân tán Một ví dụ đơn giản tình tần suất sử dụng file cao xuất kết việc tăng số người sử dụng mạng Để tránh tình trạng tắc nghẽn xảy có phục vụ đáp ứng yêu cầu truy cập file đó, cần nhân file vài phục vụ hệ thống thiết kế cho dễ dàng bổ sung phục vụ Có thể tính đến giải pháp khác sử dụng Cache liệu Khả thứ lỗi Khả thứ lỗi thể việc hệ thống không bị sụp đổ cố lỗi hành phần (cả phần cứng lẫn phần mềm) phận Việc thiết kế khả chịu lỗi hệ thống máy tính dựa hai giải pháp sau đây: - Dùng khả thay để đảm bảo việc hoạt động liên tục hiệu - Dùng chương trình đảm bảo chế phục hồi liệu xảy cố Để xây dựng hệ thống khắc phục cố theo cách thứ chọn giải pháp nối hai máy tính với để thực chương trình mà hai máy chạy chế độ Standby (khơng tải hay chờ) Giải pháp tốn phải nhân đôi phần cứng hệ thống Giải pháp khác nhằm giảm bớt phí tổn dùng nhiều phục vụ khác cung cấp ứng dụng quan trọng để phục vụ thay cố xuất Khi khơng có cố phục vụ chạy bình th-ờng (nghĩa phục vụ ác yêu cầu khách) Khi xuất cố phục vụ đó, ứng dụng khách tự chuyển hưng sang phục vụ lại Với cách thứ hai phần mềm phục hồi cho trạng thái liệu thời (trạng thái trưc xảy cố) lơĩ phát Chú ý với cách thức này, mặt dịch vụ sẵn sàng nhiều máy mặt khác, máy lại có sẵn số dịch vụ khác Hệ phân tán cung cấp khả sẵn sàng cao để đối phó với sai hỏng phần cứng Khả sẵn sàng hệ thống đo tỷ lệ thời gian mà 130 hệ thống sẵn sàng làm việc so với thời gian có cố Khi máy mạng sai hỏng có cơng việc liên quan đến thành phần sai hỏng bị ảnh hưởng Người sử dụng chuyển đến trạm khác máy họ sử dụng bị hỏng, QT phục vụ khởi động lại máy khác Tính suốt Như trình bày trên, tính suốt tính chất hệ phân tán Tính suốt hệ phân tán hiểu che khuất thành phần riêng biệt hệ thống máy tính (phần cứng phần mềm) người sử dụng người lập trình ứng dụng Người sử dụng có quyền truy cập đến liệu đặt điểm liệu xa cách tự động nhờ hệ thống mà không cần biết đến phân tán tất liệu mạng Hệ thống tạo cho người dùng cảm giác liệu coi đặt máy tính cục Các thể điển hình tính suốt HĐH phân tán trình bày phần sau CÂU HỎI CỦNG CỐ BÀI HỌC 1.Thế hệ điều hành đa xử lý tập trung Phân biệt hệ điều hành đa xử lý tập trung với hệ điều hành đa xử lý phân tán 3.trình bày thuật tốn song song ngơn ngữ lập trình song song TÀI LIỆU THAM KHẢO Nguyễn Thanh Tùng Giáo trình hệ điều hành.1995.Khoa Cơng nghệ thông tin – Đại Học Bách Khoa Hà Nội Hà Quang Thụy Giáo trình nguyên lý hệ điều hành 1998 Đại học Khoa học tự nhiên – Đại học Quốc gia Hà Nội Đặng Vũ Tùng Giáo trình nguyên lý hệ điều hành Nhà xuất hà Nội 2005- “Tập slide giảng” Bộ môn Các hệ thống thông tin A Silberschatz, P B Galvin, G Gagne, Wiley & Sons “Operating system Concepts” 2002 William Stallings, “Operating Systems – Internals and Design Principles”, Pearson Education International, 2005 ...1 BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI TỔNG CỤC DẠY NGHỀ GIÁO TRÌNH Hệ Điều Hành NGHỀ: KỸ THUẬT LẮP RÁP VÀ SỬA CHỮA MÁY TÍNH TRÌNH ĐỘ: CAO ĐẲNG (Ban hành theo Quyết định số: 120/QĐ-TCDN ngày 25... hệ điều hành - Nắm khái niệm hệ điều hành, chức năng, phân loại thành phần hệ điều hành Nội Dung Chính: Khái niệm hệ điều hành Mục tiêu: - Nắm yêu cầu cần có hệ điều hành, khái niệm hệ điều hành, ... hệ điều hành hệ thống máy tính - Biết giai đoạn phát triển hệ điều hành - Hiểu nguyên lý thiết kế, hoạt động hệ điều hành - Hiểu cách giải vấn đề phát sinh hệ điều hành - Có ý thức tự giác, tính