ỦY BAN NHÂN DÂN TỈNH HÀ NAM TRƯỜNG CAO ĐẲNG NGHỀ HÀ NAM GIÁO TRÌNH MÔ ĐUN HỆ ĐIỀU HÀNH NGHỀ CÔNG NGHỆ THÔNG TIN TRÌNH ĐỘ TRUNG CẤP (Ban hành kèm theo Quyết định số QĐ CĐNHN ngày tháng năm 2020 của Hi.giáo trình học tập, tài liệu cao đẳng đại học, luận văn tiến sỹ, thạc sỹ
ỦY BAN NHÂN DÂN TỈNH HÀ NAM TRƯỜNG CAO ĐẲNG NGHỀ HÀ NAM GIÁO TRÌNH MƠ ĐUN: HỆ ĐIỀU HÀNH NGHỀ: CƠNG NGHỆ THƠNG TIN TRÌNH ĐỘ: TRUNG CẤP (Ban hành kèm theo Quyết định số: … /QĐ-CĐNHN ngày tháng … năm 2020 Hiệu trưởng trường Cao đẳng nghề Hà Nam) Hà Nam, năm 2020 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 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 nguyên 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 Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 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, ngun 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à Nam, Ngày….Tháng….Năm 2020 Tác giả biên soạn: Chu Thị Hồng Nhung Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam MỤC LỤC LỜI GIỚI THIỆU BÀI MỞ ĐẦU: 1.Khái niệm hệ điều hành 10 1.1.Các thành phần hệ thống 11 1.2.Chức hệ điều hành 17 1.3.Quá trình phát triển hệ điều hành 20 2.Phân loại hệ điều hành 21 2.1 Mainframe Systems 21 2.2.Desktop Systems 22 2.3.Multiprocessor Systems 23 2.4.Distributed Systems 25 2.5.Real-Time Systems 26 2.6.Handheld Systems 27 2.7.Gaming Systems 28 2.8.IOS (Internetwork Operating System) 29 3.Sơ lược lịch sử phát triển hệ điều hành 29 3.1.Lịch sử phát triển 29 3.2.Cấu trúc hệ thống 31 3.3.Cài đặt Linux 39 CÂU HỎI CỦNG CỐ BÀI HỌC 57 CHƯƠNG 1: 58 ĐIỀU KHIỂN DỮ LIỆU 58 1.Các phương pháp tổ chức truy nhập liệu 58 1.1.Bản quản lý thư mục tập tin 59 1.2.Bản phân phối vùng nhớ 59 Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 1.3.Tập tin chia sẻ 62 1.4.Quản lý đĩa 63 1.5.Độ an toàn hệ thống tập tin 65 2.Bản ghi khối 67 2.1.Bản ghi loogic ghi vật lý 67 2.2.Kết khối tách khối 69 Điều khiển buffer(điều khiển phòng đệm) 71 3.1.Phòng đệm trung chuyển 73 3.2.Phòng đệm xử lý 74 3.3.Phòng đệm vòng tròn 75 Quy trình chung điều khiển nhập-xuất 76 4.1.Phần cứng nhập/xuất 77 4.2.Phần mềm nhập/xuất 82 Tổ chức lưu trữ liệu đĩa từ 86 CÂU HỎI CỦNG CỐ BÀI HỌC 89 CHƯƠNG : 90 ĐIỀU KHIỂN BỘ NHỚ 90 1.Quản lý bảo vệ nhớ 90 2.Điều khiển nhớ liên tục 94 2.1.Giới thiệu 94 2.2.Cấp phát tĩnh 96 2.3.Cấp phát động 99 2.4.Quản lý nhớ rỗi 107 3.Điều khiển nhớ gián đoạn 109 3.1.Tổ chức gián đoạn 109 3.2.Điều khiển nhớ phân đoạn 111 Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 3.3.Điều khiển nhớ phân trang 114 CÂU HỎI CỦNG CỐ BÀI HỌC 121 CHƯƠNG 3: 122 ĐIỀU KHIỂN CPU, ĐIỀU KHIỂN QUÁ TRÌNH 122 1.Trạng thái trình 123 1.1.Chế độ xử lý tiến trình 123 1.2.Cấu trúc liệu khối quản lý tiến trình 124 1.3.Thao tác tiến trình 126 2.Điều phối trình 129 2.1.Giới thiệu 129 2.2.Tổ chức điều phối 133 2.3.Các chiến lược điều phối 134 3.Bài tốn đồng hóa 138 3.1Giải pháp Busy-Waiting 138 3.2.Giải pháp Sleep and Wakeup 143 4.Bế tắc-Giải pháp phòng ngừa xử lý 152 4.1.Bế tắc 152 4.2.Điều kiện hình thành bế tắc 154 4.3.Xử lý bế tắc 156 CÂU HỎI CỦNG CỐ BÀI HỌC 159 CHƯƠNG 4: 161 HỆ ĐIỀU HÀNH ĐA XỬ LÝ 161 1.Hệ điều hành đa xử lý tập trung 162 1.1.Hệ thống đa xử lý 162 1.2.Hệ điều hành đa xử lý tập trung 164 2.Thuật tốn song song ngơn ngữ lập trình song song 165 Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 2.1.Thuật toán song song 166 2.2.Ngơn ngữ lập trình song song 167 3.Hệ điều hành đa xử lý phân tán 168 3.1.Giới thiệu hệ phân tán 168 3.2.Đặc điểm hệ phân tán 170 CÂU HỎI CỦNG CỐ BÀI HỌC 174 TÀI LIỆU THAM KHẢO 174 Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam GIÁO TRÌNH MƠN HỌC Mã mơn học: MH15 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 chuyên 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 Thời gian Mã Tên chương mục MH15-01 Giới thiệu chung hệ điều hành Tổng số Lý thuyết Thực hành 10 24 12 10 Kiểm tra* 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 MH15-02 Điều khiển liệu Các phương pháp tổ chức truy nhập Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 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ừ MH15-03 Điều khiển nhớ 24 14 20 10 12 2 90 52 30 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 MH15-04 Đ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ý MH15-05 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 Cộng Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam BÀI MỞ ĐẦU: GIỚI THIỆU CHUNG VỀ HỆ ĐIỀU HÀNH Mã chương: MH15-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 q 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: Giáo trình : Hệ điều hành Trang Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam b)RR c)Điều phối với độ ưu tiên đa cấp Giáo trình : Hệ điều hành Trang 160 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam CHƯƠNG 4: HỆ ĐIỀU HÀNH ĐA XỬ LÝ Mã chương: MH15-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 yê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à cịn cao khơng thời gian phải thực công việc trung gian - Mặt khác, giải pháp cịn 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: Giáo trình : Hệ điều hành Trang 161 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam - 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: 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 Giáo trình : Hệ điều hành Trang 162 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 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ệ 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ệ Giáo trình : Hệ điều hành Trang 163 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam • 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 Giáo trình : Hệ điều hành Trang 164 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam Để 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; 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ý “quá 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 q 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 tốn song song Giáo trình : Hệ điều hành Trang 165 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 2.1.Thuật tố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) (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 toá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 tố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 toá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 Giáo trình : Hệ điều hành Trang 166 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 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ả tố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 q 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: 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 Giáo trình : Hệ điều hành Trang 167 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 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 tố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 tố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 tố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 Giáo trình : Hệ điều hành Trang 168 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 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 ngun 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 ngun 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 yê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 Giáo trình : Hệ điều hành Trang 169 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam • 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) 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 Giáo trình : Hệ điều hành Trang 170 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 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ở hồ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 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 Giáo trình : Hệ điều hành Trang 171 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 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 Giáo trình : Hệ điều hành Trang 172 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 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à 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 Giáo trình : Hệ điều hành Trang 173 Tài liệu lưu hành nội - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam 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 Giáo trình : Hệ điều hành Trang 174