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 của 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 bộ - 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 này thuộc loại sách giáo trình nên các nguồn thông tin có thể đƣợc phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. Giáo trình : Hệ điều hành Trang 1 Tài liệu lưu hành nội bộ - 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 những nội dung kiến thức chung nhất về hệ điều hành, nội dung liên quan đến việc mô tả các phƣơng pháp giả quyết các bài toán điều khiển hoạt động của 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 về phần mềm hệ thống, cung cấp những kiến thức nhằm thực hiện một trong hai nguyên lý cơ bản trong hệ thống máy tính đã đƣợc Von Neumann phát biểu, đó là nguyên lý “hoạt động theo chƣơng trình”.
Các nội dung chính đƣợc trình bày trong giáo trình này bao gồm năm chƣơng đƣợc giới thiệu nhƣ dƣới đây. Chƣơng 1: Giới thiệu chung về hệ điều hành Chƣơng 2: Điều khiển CPU, điều khiển quá trình Chƣơng 3: Hệ Điều hành Đa xử lý Hà Nam, Ngày….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 2 Tài liệu lưu hành nội bộ - 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. 3 GIÁO TRÌNH MÔN HỌC. 5 CHƢƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH.
Khái niệm về hệ điều hành. Tài nguyên hệ thống. Khái niệm hệ điều hành. Phân loại hệ điều hành.
Các thành phần của hệ điều hành. Phân loại hệ điều hành. Các tính chất cơ bản của hệ điều hành. Phân lớp các chƣơng trình trong thành phần điều khiển.
Chức năng cơ bản của hệ điều hành. Nhân của hệ điều hành, tải hệ điều hành .Sơ lƣợc lịch sử phát triển của hệ điều hành. 41 CHƢƠNG 2: ĐIỀU KHIỂN CPU, ĐIỀU KHIỂN QUÁ TRÌNH .Các khái niệm cơ bản .Khái niệm quá trình. Quan hệ giữa các quá trình .Trạng thái của quá trình.
Sơ đồ không gian trạng thái (SNAIL). Một số khối điều khiển quá trình. Điều phối quá trình. Nguyên tắc chung.
Các trình lập lịch (long term, short term). Các thuật toán lập lịch. First Come First Served (FCFS).Shortest Job First (SJF). Shortest Remain Time (SRT).
Multi Level Queue (MLQ) .Multi Level Queue (MLQ). Multi Level Feedback Queues (MLFQ). Hệ thống ngắt .1 Khái niệm ngắt .Hiện tƣợng bế tắc. Khái niệm bế tắc.
Các biện pháp phòng tránh bế tắc. Phát hiện bế tắc. Xử lý bế tắc. Kết luận chung về phòng tránh bế tắc.
98 Giáo trình : Hệ điều hành Trang 3 Tài liệu lưu hành nội bộ - 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Ý. Hệ điều hành đa xử lý tập trung.1 Hệ thống đa xử lý. Hệ điều hành đa xử lý tập trung. Hệ điều hành đa xử lý phân tán.
Giới thiệu hệ phân tán. Đặ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 4 Tài liệu lưu hành nội bộ - 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: Nguyên 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 khi sinh viên học xong các môn học chung, trƣớc các môn học, mô đun đào tạo chuyên môn.
- Tính chất: là môn học đào tạo cơ sở. Mục tiêu của môn học: - Về kiến thức: + Hiểu vai trò của hệ điều hành trong hệ thống máy tính. + Biết các giai đoạn phát triển của hệ điều hành. + Hiểu các chức năng và nguyên lý làm việc của hệ điều hành.
+ Hiểu cách giải quyết các vấn đề phát sinh liên quan đến hệ điều hành. - Về kỹ năng: + Tính toán các giá trị tài nguyên theo các mẫu ví dụ tƣơng ứng; + Thuyết trình nhận thức về các thuật toán chia sẻ tài nguyên và điều phối các quá trình trên CPU, giải pháp phòng chống bế tắc và cách phòng tránh bế tắc; + Thao tác thực hành các kỹ năng, xử lý các tình huống với các hệ điều hành cụ thể đƣợc cài đặt. - Về năng lực tự chủ và trách nhiệm: + Có khả năng tiếp nhận, ghi chép và chuyển thông tin theo yêu cầu; + Biết đƣợc yêu cầu, tiêu chuẩn, kết quả đối với các vị trí công việc; + Có khả năng làm việc nhóm, tổ chức, thực hiện các nhiệm vụ và chịu trách nhiệm đối với kết quả công việc của mình. Nội dung của môn học Giáo trình : Hệ điều hành Trang 5 Tài liệu lưu hành nội bộ - Biên soạn : Chu Thị Hồng Nhung – Khoa CNTT- Trường Cao đẳng nghề Hà Nam Thời gian (giờ) Thực hành/ Mã bài Tên chƣơng mục Tổng Lý thí nghiệm/ Kiểm số thuyết thảo luận/ tra* bài tập MH15- Chƣơng 1: Tổng quan về hệ 10 3 7 01 điều hành 1.Khái niệm về 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 của HĐH MH15- Chƣơng 2: Điều khiển CPU, 25 9 14 2 02 Điều khiển quá trình 1.Các khái niệm cơ bản 2.Trạng thái của quá trình 3.Điều phối quá trình 4.Các thuật toán lập lịch 5.Hệ thống ngắt 6.
Hiện tƣợng bế tắc MH15- Chƣơng 3: Hệ điều hành đa xử 10 3 6 1 03 lý 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 45 15 27 3 Giáo trình : Hệ điều hành Trang 6 Tài liệu lưu hành nội bộ - 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 chỉ là một thiết bị điện tử thông thƣờng. Với sự hỗ trợ của phần mềm, máy tính có thể lƣu trữ, xử lý thông tin và ngƣời sử dụng có thể gọi lại đƣợc thông tin này. Phần mềm máy tính có thể chia thành nhiều loại: chƣơng trình hệ thống, quản lý sự hoạt động của chính máy tính. Chƣơng trình ứng dụng, giải quyết các vấn đề liên quan đến việc sử dụng và khai thác máy tính của ngƣời sử dụng.
Hệ điều hành thuộc nhóm các chƣơng trình hệ thống và nó là một chƣơng trình hệ thống quan trọng nhất đối với máy tính và cả ngƣời sử dụng. Hệ điều hành điều khiển tất cả các tài nguyên của máy tính và cung cấp một môi trƣờng thuận lợi để các chƣơng trình ứng dụng do ngƣời sử dụng viết ra có thể chạy đƣợc trên máy tính. Trong chƣơng này chúng ta xem xét vai trò của hệ điều hành trong trƣờng hợp này. Một máy tính hiện đại có thể bao gồm: một hoặc nhiều processor, bộ nhớ chính, clocks, đĩa, giao diện mạng, và các thiết bị vào/ra khác.
Tất cả nó tạo thành một hệ thống phức tạp. Để viết các chƣơng trình để theo dõi tất cả các thành phần của máy tính và sử dụng chúng một cách hiệu quả, ngƣời lập trình phải biết processor thực hiện chƣơng trình nhƣ thế nào, bộ nhớ lƣu trữ thông tin nhƣ thế nào, các thiết bị đĩa làm việc (ghi/đọc) nhƣ thế nào, lỗi nào có thể xảy ra khi đọc một block đĩa, … đây là những công việc rất khó khăn và quá khó đối với ngƣời lập trình. Nhƣng rất may cho cả ngƣời lập trình ứng dụng và ngƣời sử dụng là những công việc trên đã đƣợc hệ điều hành hỗ trợ nên họ không cần quan tâm đến nữa. Chƣơng này cho chúng ta một cái nhìn tổng quan về những gì liên quuan đến việc thiết kế cài đặt cũng nhƣ chức năng của 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 và chƣơng trình của ngƣời sử dụng có thể chạy đƣợc trên máy tính.
Mục Tiêu: Học xong chương này 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 7 Tài liệu lưu hành nội bộ - 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 và các thành phần cơ bản trong hệ điều hành Nội Dung Chính: 1. Khái niệm về hệ điều hành Mục tiêu: - Nắm được yêu cầu cần có hệ điều hành, khái niệm hệ điều hành, chức năng hệ điều hành. Tài nguyên hệ thống Các loại tài nguyên hệ thống khác nhau Tài nguyên hệ thống(System) đƣợc sử dụng bởi cả phần cứng hoặc phần mềm để giao tiếp với nhau. Khi phần mềm muốn gửi dữ liệu đến thiết bị, chẳng hạn nhƣ khi bạn muốn lƣu tệp vào ổ cứng hoặc khi phần cứng cần chú ý, chẳng hạn nhƣ khi chúng ta nhấn một phím trên bàn phím.
Có bốn loại tài nguyên hệ thống mà chúng ta sẽ gặp phải khi 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 chỉ đầu vào và đầu ra Địa chỉ bộ nhớ Khi chúng ta nhấn một phím trên bàn phím, bàn phím muốn thông báo cho CPU biết rằng một phím đã đƣợc nhấn nhƣng vì CPU đã bận chạy một số quy trình khác nên bây giờ chúng ta có thể dừng nó cho đến khi nó hoàn thành nhiệm vụ trong tầm tay. Để giải quyết vấn đề này, chúng tôi phải triển khai một thứ gọi là dòng yêu cầu ngắt (IRQ)(interrupt request lines (IRQ)) , nó thực hiện chính xác những gì nghe có vẻ giống nhƣ ngắt CPU và cho CPU biết rằng có một yêu cầu mới xuất hiện từ bàn phím, vì vậy bàn phím đặt một điện áp trên đƣờng IRQ đƣợc chỉ định cho nó.