SỞ LAO ĐỘNG TBXH TỈNH HÀ NAM TRƢỜNG CAO ĐẲNG NGHỀ HÀ NAM GIÁO TRÌNH MÔN HỌC 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ố 234QĐ CĐNHN ngày 05 tháng 08 năm.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ỹ
SỞ LAO ĐỘNG TB&XH TỈNH HÀ NAM TRƢỜNG CAO ĐẲNG NGHỀ HÀ NAM GIÁO TRÌNH MƠN HỌC: 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ố: 234/QĐ-CĐNHN ngày 05 tháng 08 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 đƣợc 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 đƣợc Von Neumann phát biểu, nguyên lý “hoạt động theo chƣơng trình” Các nội dung đƣợc trình bày giáo trình bao gồm năm chƣơng đƣợc giới thiệu nhƣ dƣới Chƣơng 1: Giới thiệu chung hệ điều hành Chƣơng 2: Điều khiển CPU, điều khiển trình Chƣơng 3: 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 MỤC LỤC GIÁO TRÌNH MƠN HỌC CHƢƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH Khái niệm hệ điều hành 1.1 Tài nguyên hệ thống 1.2 Khái niệm hệ điều hành 11 Phân loại hệ điều hành 16 2.1 Các thành phần hệ điều hành 16 2.2 Phân loại hệ điều hành 22 2.3 Các tính chất hệ điều hành 30 2.4 Phân lớp chƣơng trình thành phần điều khiển 31 2.5 Chức hệ điều hành 38 2.6 Nhân hệ điều hành, tải hệ điều hành 40 3.Sơ lƣợc lịch sử phát triển hệ điều hành 41 CHƢƠNG 2: ĐIỀU KHIỂN CPU, ĐIỀU KHIỂN QUÁ TRÌNH 63 1.Các khái niệm 64 1.1.Khái niệm trình 64 1.2 Quan hệ trình 66 2.Trạng thái trình 66 2.1 Sơ đồ không gian trạng thái (SNAIL) 66 2.2 Một số khối điều khiển trình 67 Điều phối trình 72 3.1 Nguyên tắc chung 73 3.2 Các trình lập lịch (long term, short term) 76 Các thuật toán lập lịch 78 4.1 First Come First Served (FCFS) 78 4.2.Shortest Job First (SJF) 80 4.3 Shortest Remain Time (SRT) 83 4.4.Round Robin (RR) 84 4.5 Multi Level Queue (MLQ) 85 4.5.Multi Level Queue (MLQ) 86 4.6 Multi Level Feedback Queues (MLFQ) 87 Hệ thống ngắt 92 5.1 Khái niệm ngắt 92 5.2 Xử lý ngắt 93 6.Hiện tƣợng bế tắc 95 6.1 Khái niệm bế tắc 95 6.2 Các biện pháp phòng tránh bế tắc 96 6.3 Phát bế tắc 97 6.4 Xử lý bế tắc 97 6.5 Kết luận chung phòng tránh bế tắc 98 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 CHƢƠNG 3: HỆ ĐIỀU HÀNH ĐA XỬ LÝ 101 Hệ điều hành đa xử lý tập trung 102 1.1 Hệ thống đa xử lý 102 1.2 Hệ điều hành đa xử lý tập trung 104 Hệ điều hành đa xử lý phân tán 106 2.1 Giới thiệu hệ phân tán 106 2.2 Đặc điểm hệ phân tán 106 TÀI LIỆU THAM KHẢO 109 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 Tên mơn học: Ngun lý hệ điều hành Mã mơn học: MH09 Vị trí, tính chất, ý nghĩa, vai trị mơn học: - Vị trí: mơn học đƣợc bố trí sau sinh viên học xong môn học chung, trƣớc môn học, mô đun đào tạo chun mơn - Tính chất: mơn học đào tạo sở Mục tiêu môn học: - Về kiến thức: + Hiểu vai trò 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 chức nguyên lý làm việc hệ điều hành + Hiểu cách giải vấn đề phát sinh liên quan đến hệ điều hành - Về kỹ năng: + Tính tốn giá trị tài ngun theo mẫu ví dụ tƣơng ứng; + Thuyết trình nhận thức thuật toán chia sẻ tài nguyên điều phối q trình CPU, giải pháp phịng chống bế tắc cách phòng tránh bế tắc; + Thao tác thực hành kỹ năng, xử lý tình với hệ điều hành cụ thể đƣợc cài đặt (WINDOWS, HĐH Mạng ) - Về lực tự chủ trách nhiệm: + Có khả tiếp nhận, ghi chép chuyển thông tin theo yêu cầu; + Biết đƣợc yêu cầu, tiêu chuẩn, kết vị trí cơng việc; + Có khả làm việc nhóm, tổ chức, thực nhiệm vụ chịu trách nhiệm kết công việc Nội dung mơn học 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 Thời gian (giờ) Mã Tên chƣơng mục Tổng số MH15- Chƣơng 1: Tổng quan hệ 10 điều hành 01 Lý thuyết Thực hành/ thí nghiệm/ Kiểm thảo luận/ tra* tập 14 15 27 1.Khái niệm hệ điều hành 2.Phân loại hệ điều hành 3.Sơ lƣợc lịch sử phát triển HĐH MH15- Chƣơng 2: Điều khiển CPU, 25 Điều khiển trình 02 1.Các khái niệm 2.Trạng thái q trình 3.Điều phối q trình 4.Các thuật tốn lập lịch 5.Hệ thống ngắt Hiện tƣợng bế tắc MH15- Chƣơng 3: Hệ điều hành đa xử 10 lý 03 1.Hệ điều hành đa xử lý tập trung 2.Hệ điều hành đa xử lý phân tán Cộng Giáo trình : Hệ điều hành 45 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 CHƢƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH Mã chƣơng: MH09-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 đƣợc 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 đƣợc 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 nhƣ nào, nhớ lƣu trữ thông tin nhƣ nào, thiết bị đĩa làm việc (ghi/đọc) nhƣ 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 đƣợ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 nhƣ chức hệ điều hành để hệ điều hành đạt đƣợc 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 đƣợc máy tính Mục Tiêu: Học xong chương người học có khả năng: - Nắm đƣợc yêu cầu cần có hệ điều hành 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 - Nắm đƣợc 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 1.1 Tài nguyên hệ thống Các loại tài nguyên hệ thống khác Tài nguyên hệ thống(System) đƣợc sử dụng phần cứng phần mềm để giao tiếp với Khi phần mềm muốn gửi liệu đến thiết bị, chẳng hạn nhƣ bạn muốn lƣu tệp vào ổ cứng phần cứng cần ý, chẳng hạn nhƣ nhấn phím bàn phím Có bốn loại tài nguyên hệ thống mà gặp phải vận hành hệ thống, là: Các kênh Truy cập Bộ nhớ Trực tiếp (DMA) Dòng yêu cầu ngắt (IRQ) Địa đầu vào đầu Địa nhớ Khi nhấn phím bàn phím, bàn phím muốn thơng báo cho CPU biết phím đƣợc nhấn nhƣng CPU bận chạy số quy trình khác nên dừng nó hồn thành nhiệm vụ tầm tay Để giải vấn đề này, phải triển khai thứ gọi dòng yêu cầu ngắt (IRQ)(interrupt request lines (IRQ)) , thực xác nghe giống nhƣ ngắt CPU cho CPU biết có yêu cầu xuất từ bàn phím, bàn phím đặt điện áp đƣờng IRQ đƣợc định cho Điện áp đóng vai trị nhƣ tín hiệu cho CPU có thiết bị có yêu cầu cần đƣợc xử lý Hệ điều hành liên quan đến nhớ nhƣ danh sách dài mà sử dụng để chứa liệu hƣớng dẫn, giống nhƣ bảng tính chiều Hãy(Think) coi địa nhớ nhƣ số ghế rạp hát, ghế đƣợc gán số có ngƣời ngồi hay khơng Ngƣời ngồi ghế số loại liệu dẫn Hệ điều hành không ngƣời theo tên mà đề cập đến số ghế Ví dụ, hệ điều hành nói, muốn in liệ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 địa nhớ 500 Các địa thƣờng đƣợc hiển thị hình dƣới dạng số thập lục phân dạng bù phân đoạn Địa đầu vào - đầu ra(Input-output) đƣợc gọi đơn giản cổng, CPU sử dụng để truy cập thiết bị phần cứng giống nhƣ cách sử dụng địa nhớ để truy cập nhớ vật lý Bus địa bo mạch chủ(address bus on the motherboard) mang địa nhớ mang địa đầu vào - đầu Nếu bus địa đƣợc thiết lập để mang địa đầu vào-đầu ra, thiết bị phần cứng lắng nghe bus Ví dụ, CPU muốn giao tiếp với bàn phím, đặt địa Input-Output bàn phím bus địa Khi địa đƣợc đặt, CPU thông báo địa cho tất thiết bị Đầu vào-Đầu ra(Input-Output) nằm dòng địa Bây tất điều khiển đầu vào-đầu lắng nghe địa chúng, điều khiển ổ cứng nói địa tôi, điều khiển đĩa mềm nói khơng phải địa tơi nhƣng điều khiển bàn phím(keyboard) cho biết địa tơi, tơi trả lời Vì vậy, cách bàn phím(keyboard) tƣơng tác với xử lý phím đƣợc nhấn Một cách khác để suy nghĩ cách làm việc đƣờng địa Đầu vào-Đầu ra(Input-Output) xe buýt hoạt động giống nhƣ đƣờng dây bên điện thoại cũ Tất cả(All) thiết bị nghe thấy địa nhƣng cuối có thiết bị phản hồi Một tài nguyên hệ thống khác đƣợc phần cứng phần mềm sử dụng kênh Truy cập Bộ nhớ Trực tiếp(Direct Memory Access) ( DMA ) Đây phƣơng pháp phím tắt cho phép thiết bị đầu vào-đầu gửi liệu trực tiếp đến nhớ mà bỏ qua CPU hoàn toàn Một số thiết bị nhƣ máy in đƣợc thiết kế để sử dụng kênh DMA thiết bị khác nhƣ chuột khơng Các kênh DMA(DMA) khơng cịn phổ biến nhƣ trƣớc thiết kế chúng khiến chúng chậm nhiều so với phƣơng pháp Tuy nhiên, thiết bị chậm nhƣ ổ đĩa mềm, card âm ổ băng sử dụng kênh DMA Vì vậy, thiết bị phần cứng gọi CPU để đƣợc ý cách sử dụng Yêu cầu (Requests)ngắt(Interrupt) Phần mềm gọi phần cứng địa đầu vào-đầu thiết bị phần cứng Phần mềm xem nhớ nhƣ thiết bị phần cứng gọi địa nhớ Các kênh DMA(DMA) truyền liệu qua lại thiết bị phần cứng nhớ Khuyến nghị: (Recommended:) 11 mẹo để cải thiện hiệu suất chậm Windows 10(11 Tips To Improve Windows 10 Slow Performance) Vì vậy, cách phần cứng giao tiếp với phần mềm để phân bổ quản lý tài nguyên hệ thống cách hiệu Các lỗi xảy Tài nguyên (Resources)Hệ thống(System) gì? Lỗi tài nguyên hệ thống(System) , chúng lỗi tồi tệ Một lúc sử dụng máy tính thứ ổn, tất cần là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 Ngắt đa mức Ngắt xảy chƣơng trình ngƣời dùng, xảy trình xử lý ngắt Đây tình đƣợc gọi ngắt đa mức Xử lý ngắt đa mức sao? -Phân cấp loại ngắt theo độ ƣu tiên, thông thƣờng ngắt liên quan tới cách thức kĩ thuật có độ ƣu tiên thấp so với ngắt có liên quan đến hệ điều hành Ví dụ: ngắt gọi supervisor có độ ƣu tiên cao so với ngắt vào/ra -Chọn ngắt đƣợc xử lý trƣớc tiên: ngắt cũ ngắt mới, việc tùy thuộc vào kiểu hai ngắt Ngắt đƣợc giải (ngắt trội hơn), bị hủy bỏ, chờ để giải Xử lý ngắt đa mức theo độ ƣu tiên khác đƣợc đảm bảo theo cách thức phƣơng tiện khác ghi nhận kiểu ngắt khác ô nhớ khác 6.Hiện tƣợng bế tắc Mục tiêu : Nắm đƣợc khái niệm bế tắc, biện pháp phòng tránh, xử lý bế tắc 6.1 Khái niệm bế tắc Bế tắc tƣợng nhóm trình bị kết khối cách lâu dài q trình nhóm chiếm tập tài ngun để hồn thiện q trình chờ đợi việc giải phóng số tài ngun cịn lại bị q trình thuộc nhóm chiếm giữ Một ví dụ dễ thấy tƣợng u cầu chu trình thiết bị: có q trình, A chiếm giữ thiết bị địi hỏi thiết bị 2, B chiếm giữ thiết bị đòi hỏi thiết bị 3, C chiếm giữ thiết bị đòi hỏi thiết bị Chúng ta có hai q trình Pr1 Pr2 Chúng chia xẻ hai tài nguyên p1 p2 để loại trừ ràng buộc, hai trình sử dụng semaphore s1cho tài nguyên p1 semaphore s2 cho tài nguyên p2 Việc sử dụng semaphore nói thân thủ tục đƣợc trình bày nhƣ dƣới Pr1:… Pr2:… 1.P(s1) 5.P(s2) … … 2.P(s2) 6.P(s1) Giáo trình : Hệ điều hành Trang 95 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.V(s1) 7.V(s1) …… 4.V(s2) 8.V(s2) … … Ban đầu, hai semaphore có giá trị Xem xét trƣờng hợp theo thời gian, dãy trạng thái đòi hỏi nhu cầu giải phóng biến chung dãy 1,2,5,3,4,6,7 Khi thủ tục Pr2 có nhu cầu p2 (lệnh 5), bị kết khối p2 đƣợc Pr1 dùng Chỉ sau Pr1 thực giải phóng p2 (lệnh 4) Pr2 đƣợc tách khối Đến dãy thực câu lệnh trở thành 5,1,6,2 Pr2 bị kết khối địi hỏi p1 (lệnh 6) Pr1 bị kết khối đòi hỏi p2 (lệnh 2): Pr1 chờ đợi Pr2 tới lệnh Pr2 chờ đợi Pr1 tới lệnh Hiện tƣợng bế tắc xuất hai trình chờ đợi lẫn 6.2 Các biện pháp phòng tránh bế tắc Chủ yếu có ba hƣơng tiếp cận để xử lý tắc nghẽn : - Sử dụng vài giao thức (protocol) để bảo đảm hệ thống không xảy tắc nghẽn HĐH khơng có khả chống Deadlock Lý dung phƣơng pháp này: Do xác suất xảy đealock nhỏ Giải deadlock địi hỏi chi phí cao Xử lý tay ngƣời quản trị hệ thống làm Đây giải pháp hầu hết hệ điều hành - Cho phép xảy tắc nghẽn tìm cách sửa chữa tắc nghẽn Giáo trình : Hệ điều hành Trang 96 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 - Hoàn toàn bỏ qua việc xử lý tắc nghẽn, xem nhƣ hệ thống không xảy tắc nghẽn 6.3 Phát bế tắc Một câu hỏi đặt tính tốn để khẳng định đƣợc hay khơng khẳng định q trình rơi vào tình trạng bế tắc Để tính tốn đƣợc điều này, hệ điều hành cần đƣa danh sách tài nguyên mà trình chờ đợi danh sách trình chờ đợi tài nguyên mà khơng đƣợc thỏa mãn Để đốn nhận việc bế tắc xảy hay khơng cần có thơng tin để kiểm soát nhu cầu tài nguyên q trình Rõ ràng khơng phải tình trạng cần tài nguyên xảy bế tắc Có số thuật toán dựa vào danh sách liệt kê để đốn nhận đƣợc bế tắc xảy để loại bỏ 6.4 Xử lý bế tắc Đình hoạt động tiến trình liên quan Cách tiếp cận dựa việc thu hồi lại tài nguyên tiến trình bị kết thúc Có thể sử dụng hai phƣơng pháp sau : Đình tất tiến trình tình trạng tắc nghẽn Đình tiến trình liên quan khơng cịn chu trình gây tắc nghẽn : để chọn đƣợc tiến trình thích hợp bị đình chỉ, phải dựa vào yếu tố nhƣ độ ƣu tiên, thời gian xử lý, số lƣợng tài nguyên chiếm giữ , số lƣợng tài nguyên yêu cầu Thu hồi tài nguyên Có thể hiệu chỉnh tắc nghẽn cách thu hồi số tài nguyên từ tiến trình cấp phát tài nguyên cho tiến trình khác loại bỏ đƣợc chu trình tắc nghẽn Cần giải vấn đề sau: Chọn lựa nạn nhân: tiến trình bị thu hồi tài nguyên ? thu hồi tài nguyên ? Trở lại trạng thái trƣớc tắc nghẽn: thu hồi tài nguyên tiến trình, cần phải phục hồi trạng thái tiến trình trở lại trạng thái gần trƣớc mà khơng xảy tắc nghẽn Giáo trình : Hệ điều hành Trang 97 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 trạng « đói tài ngun »: bảo đảm khơng có tiến trình ln ln bị thu hồi tài nguyên ? 6.5 Kết luận chung phòng tránh bế tắc Trạng thái deadlock xảy hai hay nhiều q trình chờ khơng xác định kiện mà đƣợc gây q trình chờ Về ngun tắc, có ba phƣơng pháp giải deadlock: • Sử dụng số giao thức để ngăn chặn hay tránh deadlock, đảm bảo hệ thống không vào trạng thái deadlock • Cho phép hệ thống vào trạng thái deadlock, phát sau phục hồi • Bỏ qua vấn đề deadlock giả vờ deadlock chƣa xảy hệ thống Giải pháp giải pháp đƣợc dùng hầu hết hệ điều hành bao gồm UNIX Trƣờng hợp deadlock xảy bốn điều kiện cần xảy lúc hệ thống: loại trừ hỗ tƣơng, giữ chờ cấp thêm tài nguyên, khơng địi lại tài ngun, tồn chu trình đồ thị cấp phát tài nguyên Để ngăn chặn deadlock, đảm bảo điều kiện cần không xảy Một phƣơng pháp để tránh deadlock mà nghiêm ngặt giải thuật ngăn chặn deadlock có thơng tin trƣớc trình dùng tài nguyên nhƣ Thí dụ, giải thuật Banker cần biết số lƣợng tối đa lớp tài nguyên đƣợc yêu cầu q trình Sử dụng thơng tin định nghĩa giải thuật tránh deadlock Nếu hệ thống không thực giao thức để đảm bảo deadlock không xảy lƣợc đồ phát phục hồi phải đƣợc thực Giải thuật phát deadlock phải đƣợc nạp lên để xác định deadlock xảy hay không Nếu deadlock đƣợc phát hệ thống phải phục hồi cách kết thúc số trình bị deadlock hay đòi lại tài nguyên từ số trình bị deadlock Trong hệ thống mà chọn nạn nhân để phụv hồi trạng thái trƣớc chủ yếu dựa sở yếu tố chi phí, việc đói tài ngun xảy Giáo trình : Hệ điều hành Trang 98 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 q trình đƣợc chọn khơng hồn thành tác vụ đƣợc định 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 toá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ó đƣợ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) trình thuật toán điều phối SJF c)Thuật toán SJF dự định cải tiến thực hệ thống , nhƣ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 đƣợc biết đến nhƣ điều phối dựa thơng tin tƣơng lai Giáo trình : Hệ điều hành Trang 99 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 6.Phân biệt khác cách tiếp cận để ƣu tiên cho trình ngắn thuật tốn điều phối sau : a) FIFO 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 100 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 3: HỆ ĐIỀU HÀNH ĐA XỬ LÝ Mã chƣơng: MH09-03 Giới thiệu: Hiện nay, với phát triển nhanh cơng nghệ, máy tính ngày đƣợc 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 đƣợc 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 toán cho CPU riêng lẻ đƣợc ứ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: - 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 đƣợc liên kết với máy tính Giáo trình : Hệ điều hành Trang 101 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ệ 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 đƣợc 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 đƣợc xu sử dụng hệ thống đa xử lý ; - Hiểu đƣợc nét hệ điều hành đa xử lý nhằm trang bị khả tự nghiên cứu tƣơng lai - Thực thao tác an tồn với máy tính Nội Dung: Hệ điều hành đa xử lý tập trung Mục tiêu: Hiểu khái quát đƣợc xu sử dụng hệ thống đa xử lý 1.1 Hệ thống đa xử lý a Hệ thống nhiều CPU Hiện nay, từ phát triển với tốc độ nhanh cơng nghệ, máy tính ngày đƣợc 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 Về 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 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 triệu transitor 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… Giáo trình : Hệ điều hành Trang 102 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 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 đƣa 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à cịn cao khơng thời gian phải thực công việc trung gian 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 Trong chƣơng này, xem xét việc chọn giải pháp đa xử lý theo nghĩa hệ thống tính tốn đƣợc tổ hợp khơng CPU mà nhiều CPU máy tính nhiều máy tính hệ thống thống Gọi chung hệ có nhiều CPU nhƣ hệ đa xử lý b.Phân loại hệ đa xử lý Có số cách phân loại hệ đa xử lý: Ví dụ hệ đa xử lý tập trung tập xử lý siêu máy tính (supercomputer) Đặc trƣng hệ thống CPU đƣợc liên kết với máy tính nhất; Ví dụ hệ đa xử lý phân tán mạng máy tính: mạng gồm nhiều máy tính liên kết đƣợc đặt vị trí khác nhau, với khoảng cách coi xa tùy ý Phân loại theo đặc tính CPU thành phần: hệ xử lý hệ đa xử lý khơng v.v… Một ví dụ dễ quen thuộc máy vi tính từ 80486 trở có hai CPU (80x86 80x87) hai CPU không Siêu máy tính ILLIAC-IV gồm nhiều CPU có đặc trƣng giống ví dụ Phân loại theo cách CPU thành phần tiếp nhận xử lý liệu Trong cách phân loại bao gồm máy tính đơn xử lý thơng thƣờng: Đơn câu lệnh, đơn liệu (SISD: single data single instruction) đƣợc Giáo trình : Hệ điều hành Trang 103 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ể máy tính thơng thƣờng; Mỗi lần làm việc, CPU xử lý “một liệu” có câu lệnh đƣợc thực Đơn câu lệnh, đa liệu (SIMD: single instruction multiple data): Các xử lý nhịp thời gian thực câu lệnh Có thể lấy ví dụ từ việc cộng hai vector cho trƣớc: Các CPU thành phần thực phép cộng; đổi số tƣơng ứng có CPU; sau đó, chọn tiếp lệnh (chỉ thị) để điều khiển công việc Thơng thƣờng có hệ chọn câu lệnh chung CPU thành phần thực hiện: siêu máy tính ILLIAC-IV sử dụng cách thức này, có máy tính có tác dụng lƣu giữ hệ điều hành để điều khiển ILLIAC.IV (bộ xử lý ma trận) Đa câu lệnh, đơ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 cách tuần tự: output xử lý input xử lý (ví dụ CRAY-1: Bộ xử lý vector) Các CPU kết nối theo kiểu đƣợc gọi kết nối “dây chuyền” Đa liệu, đa câu lệnh (MIMD) Mỗi xử lý có phân tích chƣơng trình riêng; câu lệnh liệu CPU phải đảm nhận; hình dung CPU hoạt động hồn tồn “độc lập nhau” Các hệ điều hành mạng, hệ điều hành phân tán ví dụ đa liệu, đa câu lệnh Trong nội dung chƣơng này, xem xét cách phân loại dạng tập trung/phân tán song thực chất quan tâm đến hệ đa xử lý tập trung với hệ đa xử lý phân tán, có chuyên đề riêng đáp ứng Chú ý, xu nghiên cứu triển khai hệ thống tính tốn đa xử lý thời nghiên cứu tính tốn cụm mơ hình SIMD, MISD MIMD tƣơng ứng đƣợc phát triển 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, Hitachi máy tính nhiều xử lý (máy tính khoa CNTT, trƣờng ĐHKHTN-ĐHQGHN có hai xử lý) Các tài nguyên khác CPU đƣợc phân chia cho CPU Giáo trình : Hệ điều hành Trang 104 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 Trong 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 a.Phân phối nhớ Các trình xuất nhớ chung Việc phân phối nhớ đƣợc 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 việc với nhớ (bài toán xử lý trỏ ngồi v.v.) gắn với CPU cache nhớ Phân hai loại thâm nhập cache: tĩnh động Thâm nhập tĩnh: CPU thâm nhập cache tƣơng ứng, không thâm nhập liệu vùng cache CPU khác Thâm nhập động cho phép CPU máy thâm nhập cache CPU khác b.Bài toán điều khiển CPU Có nhiều CPU, việc điều khiển CPU đƣợc phân số cách nhƣ sau: Toàn CPU dành cho trình : trình đƣợc phân phối CPU, song tự q trình nói nảy sinh trình con; trình đƣợc giải CPU Các q trình đƣợc coi nhƣ tính tốn đơn giản đó: Máy tính đa xử lý vector chia cơng đoạn q trình CPU thực q 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ịng xếp hàng xem xét theo hai mơ hình dƣới đây: Mơ hình tĩnh: Hoặc CPU có dịng xếp hàng riêng; tốn đƣợc gắn với dòng xếp hàng, việc điều khiển dòng xếp hàng nhƣ đƣợc độc lập với dịng xếp hàng khác, q trình đƣợc 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 đƣợc xếp lên CPU rỗi (có thể sử dụng kiểu liệu semaphore nhiều giá trị để phân phối CPU cho trình này) Giáo trình : Hệ điều hành Trang 105 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ệ điều hành đa xử lý phân tán Mục tiêu: hiểu đƣợc nét hệ điều hành đa xử lý phân tán nhằm trang bị khả tự nghiên cứu tƣơng lai 2.1 Giới thiệu hệ phân tán Trong phần phân loại hệ thống đa xử lý, ý cách phân loại theo vị trí đặt CPU (tập trung phân tán) hệ phân tán đƣợc xây dựng từ “ máy tính” rời rạc nhau: vị trí máy tính ngun vẹn, có đầy đủ chức xử lý, lƣu trữ truyền liệu Hệ tập trung cho phép xử lý song song theo thao tác theo q trình, đó, hệ phân tán xử lý song song theo trình: trình đƣợc xử lý máy tính khác Việc phân chia q trình cho CPU thành phần theo chức CPU (server/client) theoo lịch đƣợc phân cơng hệ thống chung Do phân tán nên vấn đề truyền dẫn liệu đóng vai trị quan trọng hệ phân tán Đây lí điển hình để cách thức xử lý song song hệ phân tán theo q trình mà khơng phải theo phép tốn 2.2 Đặc điểm hệ phân tán Hệ thống phân tán (kéo theo hình thành hệ điều hành phân tán) đƣợc phát sinh nhu cầu tự nhiên việc nâng cao lực tài nguyên hệ thống (sức mạnh hệ thống tính tốn sở liệu chung v.v ) Giải pháp phân tán có tác dụng phát huy lực chung toàn hệ thống giải tốn với kích thƣớc toán tăng lên đảm bảo hoạt động bình thƣờng máy tính thành viên Hệ thống phân tán đƣợc thiết lập hệ thống hồn tồn đƣợc thiết kế theo mơ hình phân tán xây dựng hệ phân tán dựa tài nguyên địa phƣơng (máy tính, sở liệu) sẵn có Một trƣờng hợp điển hình, hệ phân tán đƣợc dùng để quản trị hệ thống sở liệu lớn Trong hệ sở liệu phân tán, tính dƣ thừa thơng tin lại đƣợc quan tâm ý không tới khía cạnh gây khó khăn tính đến tính qn liệu mà cịn tới khía cạnh thuận lợi vần đề an toàn: lƣu trữ kép (ngoài cịn số sao) để phục hồi xảy cố hệ thống Để đảm bảo tính quán hệ thống định kỳ “làm tƣơi” thông tin hệ thống quản lý Giáo trình : Hệ điều hành Trang 106 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 Nhƣ biết, toán lập lịch cho hệ thống chung phức tạp máy tính với CPU, hệ phân tán, tốn nói phức tạp (ngay hệ đồng nhất) ngƣời ta thƣờng chọn phƣơng án đơn giản Các nội dung kiến thức hệ thống phân tán đƣợc trình bày chi tiết giáo trình chuyên đề” mạng hệ phân tán” Bản chất hệ điều hành mơ hình phân tán hệ điều hành đa chƣơng trình Do tính chất khơng máy tính địa phƣơng có liên quan chặt chẽ đến đƣờng truyền thơng, tốn lập lịch hệ thống chƣơng trình điều khiển phức tạp Các thuật toán điều khiển đƣợc chọn lựa đủ đơn giản tốn thời đƣợc nghiên cứu Giáo trình : Hệ điều hành Trang 107 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 Giáo trình : Hệ điều hành Trang 108 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À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 109