Bài giảng môn Hệ điều hành - Nguyễn Thị Ngọc Vinh
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng môn Hệ điều hành - Nguyễn Thị Ngọc Vinh", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_mon_he_dieu_hanh_nguyen_thi_ngoc_vinh.pdf
Nội dung text: Bài giảng môn Hệ điều hành - Nguyễn Thị Ngọc Vinh
- HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG BÀI GIẢNG MÔN HỆ ĐIỀU HÀNH Giảng viên: ThS. Nguyễn Thị Ngọc Vinh Bộ môn: Khoa học máy tính- Khoa CNTT1
- TÀI LIỆU THAM KHẢO 1. Silberschatz A., Galvin G., Operating systems concepts, 8th ed, John Willey&Sons, 2008 2. Hà Quang Thụy. Nguyên lý các hệ điều hành. Nxb KHKT 2009 3. Nguyễn Thanh Tùng. Giáo trình hệ điều hành. ĐHBK HN 1999 GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 2 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- ĐIỂM THÀNH PHẦN Điểm chuyên cần: 10% Điểm trung bình kiểm tra: 10% Điểm thực hành: 10% Thi cuối kỳ: 70% GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 3 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- NỘI DUNG CHÍNH 1. Chƣơng 1: Giới thiệu chung 2. Chƣơng 2: Hệ thống file 3. Chƣơng 3: Quản lý bộ nhớ 4. Chƣơng 4: Quản lý tiến trình GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 4 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- CHƢƠNG 1: GIỚI THIỆU CHUNG GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 5 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- NỘI DUNG 1. Các thành phần của hệ thống máy tính 2. Khái niệm hệ điều hành 3. Các dịch vụ do HDH cung cấp 4. Giao diện lập trình của HDH 5. Quá trình phát triển và một số khái niệm quan trọng 6. Cấu trúc HDH 7. Một số HDH cụ thể GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 6 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- I. CÁC THÀNH PHẦN CỦA HỆ THỐNG MÁY TÍNH . Phần cứng:cung cấp các tài Người sử dụng nguyên cần thiết . Phần mềm: các chƣơng trình Chương trình ứng dụng, chương trình hệ thống và tiện ích cụ thể Hệ điều hành . HDH: phần mềm đóng vai Phần cứng trò trung gian, làm cho việc sử dụng hệ thống máy tính đƣợc tiện lợi và hiệu quả GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 7 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- II. KHÁI NIỆM HỆ ĐIỀU HÀNH . Đƣợc định nghĩa thông qua mục đích, vai trò, và chức năng trong hệ thống máy tính . Hệ thống phần mềm đóng vai trò trung gian, thực hiện 2 chức năng cơ bản: . Quản lý tài nguyên . Quản lý việc thực hiện các chƣơng trình GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 8 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- II. KHÁI NIỆM HỆ ĐIỀU HÀNH 1. Quản lý tài nguyên . Đảm bảo cho tài nguyên hệ thống đƣợc sử dụng một cách có ích và hiệu quả . Các tài nguyên: bộ xử lý (CPU), bộ nhớ chính, bộ nhớ ngoài (các đĩa), các thiết bị vào ra . Phân phối tài nguyên cho các ứng dụng hiệu quả: . Yêu cầu tài nguyên đƣợc HDH thu nhận và đáp ứng bằng cách cấp cho chƣơng trình các tài nguyên tƣơng ứng . HDH cần lƣu trữ tình trạng tài nguyên . Đảm bảo không xâm phạm tài nguyên cấp cho chƣơng trình khác GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 9 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- II. KHÁI NIỆM HỆ ĐIỀU HÀNH 2. Quản lý việc thực hiện các chương trình . 1 chƣơng trình đang trong quá trình chạy gọi là tiến trình (process) . Hệ điều hành giúp việc chạy chƣơng trình dễ dàng hơn . Tạo ra các máy ảo: là máy logic với các tài nguyên ảo . Tài nguyên ảo: mô phỏng tài nguyên thực đƣợc thực hiện bằng phần mềm . Cung cấp các dịch vụ cở bản nhƣ tài nguyên thực . Dễ sử dụng hơn . Số lƣợng tài nguyên ảo có thể lớn hơn số lƣợng tài nguyên thực GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 10 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- III. CÁC DỊCH VỤ DO HDH CUNG CẤP . Tải và chạy chƣơng trình: . Để thực hiện, chƣơng trình đƣợc tải từ đĩa vào bộ nhớ, sau đó đƣợc trao quyền thực hiện các lệnh . Khi thực hiện xong, cần giải phóng bộ nhớ và các tài nguyên . => HDH sẽ thực hiện công việc này . HDH tự tải mình vào bộ nhớ . Giao diện với ngƣời dùng: . Dƣới dạng dòng lệnh . Giao diện đồ họa . Thực hiện các thao tác vào/ ra dữ liệu GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 11 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- III. CÁC DỊCH VỤ DO HDH CUNG CẤP . Làm việc với hệ thống file . Phát hiện và xử lý lỗi . Phát hiện và xử lý kịp thời các lỗi xuất hiện trong phần cứng cũng nhƣ phần mềm . => Đảm bảo cho hệ thống hoạt động ổn định, an toàn . Truyền thông: . Cung cấp dịch vụ cho phép thiết lập liên lạc và truyền thông tin . Cấp phát tài nguyên . Dịch vụ an ninh và bảo mật GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 12 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- IV. GIAO DIỆN LẬP TRÌNH CỦA HDH . Để các chƣơng trình có thể sử dụng đƣợc những dịch vụ HDH cung cấp giao diện lập trình . Gồm các lời gọi hệ thống (system call) . Lời gọi hệ thống: các lệnh đặc biệt mà CTUD gọi khi cần yêu cầu HDH thực hiện một việc gì đó . Lời gọi hệ thống đƣợc thực hiện qua những thƣ viện hàm gọi là thƣ viện hệ thống GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 13 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- V. QUÁ TRÌNH PHÁT TRIỂN . Các hệ thống đơn giản: chƣa có HDH . Xử lý theo mẻ: . Chƣơng trình đƣợc phân thành các mẻ: gồm những chƣơng trình có yêu cầu giống nhau . Toàn bộ mẻ đƣợc nạp vào băng từ và đƣợc tải vào máy để thực hiện lần lƣợt . Chương trình giám sát (monitor): tự động nạp chƣơng trình tiếp theo vào máy và cho phép nó chạy . => Giảm đáng kể thời gian chuyển đổi giữa hai chƣơng trình trong cùng một mẻ . Trình giám sát là dạng đơn giản nhất của HDH GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 14 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- V. QUÁ TRÌNH PHÁT TRIỂN . Đa chƣơng trình: . Hệ thống chứa đồng thời nhiều chƣơng trình trong bộ nhớ . Khi một chƣơng trình phải dừng lại để thực hiện vào ra, HDH sẽ chuyển CPU sang thực hiện một chƣơng trình khác . => Giảm thời gian chạy không tải của CPU GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 15 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- V. QUÁ TRÌNH PHÁT TRIỂN . Đa chƣơng trình: . Thời gian chờ đợi của CPU trong chế độ đa chƣơng trình giảm đáng kể so với trong trƣờng hợp đơn chƣơng trình . HDH phức tạp hơn rất nhiều so với HDH đơn chƣơng trình . Đòi hỏi hỗ trợ từ phần cứng, đặc biệt khả năng vào/ra bằng ngắt và DMA GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 16 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- V. QUÁ TRÌNH PHÁT TRIỂN . Chia sẻ thời gian: . Chia sẻ thời gian có thể coi nhƣ đa chƣơng trình cải tiến . CPU lần lƣợt thực hiện các công việc khác nhau trong những khoảng thời gian ngắn gọi là lƣợng tử thời gian . Chuyển đổi giữa các công việc diễn ra với tần số cao và tốc độ CPU lớn . => Tất cả ngƣời dùng đều có cảm giác máy tính chỉ thực hiện chƣơng trình của mình . => CPU đƣợc chia sẻ giữa những ngƣời dùng khác nhau tƣơng tác trực tiếp với hệ thống GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 17 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- VI. CẤU TRÚC HDH 1. CÁC THÀNH PHẦN . Quản lý tiến trình: . Tạo và xoá tiến trình . Tạm treo và khôi phục các tiến trình bị treo . Đồng bộ hoá các tiến trình (lập lịch cho các tiến trình .v.v.) . Giải quyết các bế tắc, ví dụ nhƣ khi có xung đột về tài nguyên . Tạo cơ chế liên lạc giữa các tiến trình GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 18 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- VI. CẤU TRÚC HDH 1. CÁC THÀNH PHẦN . Quản lý bộ nhớ: . Quản lý việc phân phối bộ nhớ giữa các tiến trình . Tạo ra bộ nhớ ảo và ánh xạ địa chỉ bộ nhớ ảo vào bộ nhớ thực . Cung cấp và giải phóng bộ nhớ theo yêu cầu của các tiến trình . Quản lý không gian nhớ đã đƣợc cấp và không gian còn trống GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 19 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- VI. CẤU TRÚC HDH 1. CÁC THÀNH PHẦN . Quản lý vào ra: . Đơn giản hoá và tăng hiệu quả quá trình trao đổi thông tin giữa các tiến trình với thiết bị vào ra . Quản lý tệp và thƣ mục: . Tạo, xóa tệp và thƣ mục . Đọc ghi tệp . Ánh xạ tệp và thƣ mục sang bộ nhớ ngoài . Hỗ trợ mạng và xử lý phân tán . Giao diện với ngƣời dùng . Các chƣơng trình tiện ích và ứng dụng GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 20 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- VI. CẤU TRÚC HDH 2. NHÂN CỦA HDH . Nhân (kernel) là phần cốt lõi, thực hiện các chức năng cơ bản nhất, quan trọng nhất của HDH và thường xuyên được giữ trong bộ nhớ . HDH gồm nhiều thành phần, chỉ tải những thành phần quan trọng không thể thiếu đƣợc vào bộ nhớ gọi là nhân . Nhân chạy trong chế độ đặc quyền – chế độ nhân . Các chƣơng trình bình thƣờng chạy trong chế độ ngƣời dùng . Kích thƣớc nhân? GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 21 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- VI. CẤU TRÚC HDH 3. MỘT SỐ CẤU TRÚC HDH . Cấu trúc nguyên khối . Toàn bộ chƣơng trình và dữ liệu của HDH có chung 1 không gian nhớ . HDH trở thành một tập hợp các thủ tục hay các chƣơng trình con . Ƣu điểm: nhanh . Nhƣợc điểm: không an toàn, không mềm dẻo . Chế độ người trình ứng dụng trình ứng dùng dụng Chế độ đặc Hệ điều hành quyền Hình :Cấu trúc nguyên khối GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 22 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- VI. CẤU TRÚC HDH 3. MỘT SỐ CẤU TRÚC HDH . Cấu trúc nguyên khối . Khắc phục: tổ chức các modul có thể tự tải từ đĩa và gắn vào nhân khi cần thiết . Linux các trình ứng dụng các trình tiện ích Các trình quản lý hệ thống thư viện hệ thống nhân các môđun tải được Hình 1.4: Cấu trúc hệ điều hành Linux GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 23 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- VI. CẤU TRÚC HDH 3. MỘT SỐ CẤU TRÚC HDH . Cấu trúc vi nhân . Nhân chỉ chứa các chức năng quan trọng nhất . Các chức năng còn lại đƣợc đặt vào các modul riêng: chạy trong chế độ đặc quyền hoặc ngƣời dùng . Ƣu điểm: mềm dẻo, an toàn . Nhƣợc điểm: tốc độ chậm hơn so với cấu trúc nguyên khối trình ứng dụng trình ứng dụng quản lý tệp quản lý mạng Vi nhân Hình 1.5 Cấu trúc vi nhân GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 24 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- VI. CẤU TRÚC HDH 3. MỘT SỐ KIỂU CẤU TRÚC HDH . Cấu trúc phân lớp . Các thành phần đƣợc chia thành các lớp nằm chồng lên nhau . Mỗi lớp chỉ có thể liên lạc với lớp nằm kề bên trên và kề bên dƣới . Mỗi lớp chỉ có thể sử dụng dịch vụ do lớp nằm ngay bên dƣới cung cấp . Ƣu điểm: dễ dò lỗi . Nhƣợc điểm: tốc độ chậm hơn cấu trúc nguyên khối, khó xác định số lớp GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 25 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
- VII. MỘT SỐ HDH CỤ THỂ . UNIX . MINIX . LINUX . MS-DOS . Windows NT GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 26 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1