Bài giảng Nguyên lý hệ điều hành - Đặng Quang Hiển - Chương 1: Tổng quan về hệ điều hành
- Hệthống máy tính gồm: phần cứng, HĐH, các chương trình ứng
dụng vàngười sửdụng. HĐH rất quan trọng vàkhông thểthiếu, nhờ
có HĐH mà người sửdụng cóthểlàm việc vàkhai thác được các
chức năng của phần cứng máy tính
-HĐH làmột hệthống,đóng vai trò trung gian giữa người sửdụng và
phần cứng. Mục tiêu chính làcung cấp môi trường thuận lợi đểngười
sửdụng dễdàng thực hiện các chương trình ứng dụng của mình trên
máy tính vàkhai thác triệt đểcác chức năng của phần cứng máy tính
tập tin 6/28/2014 Chương 1. Tổng quan về hệ điều hành 35 THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH 1.4.1 Các thành phần của hệ điều hành (6/7) 1.4.1.6 Thành phần thông dịch lệnh: Đây là bộ phận quan trọng của HĐH, nó đóng vai trò giao tiếp giữa HĐH và người sử dụng. Một số HĐH chứa shell trong nhân (kernel) của nó, một số HĐH như MSDOS và UNIX xem hệ thống dịch lệnh như là một chương trình đặc biệt khi người dùng truy cập. Những chương trình như thế này gọi là hệ thống dịch lệnh theo dòng. Một vài hệ thống dịch lệnh bằng giao diện đồ họa như Microsoft Windows, một số HĐH yêu cầu người dùng nhập lệnh từ bàn phím theo từng dòng lệnh như MSDOS, UNIX 6/28/2014 Chương 1. Tổng quan về hệ điều hành 36 THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH 1.4.1 Các thành phần của hệ điều hành (7/7) 1.4.1.7 Thành phần bảo vệ hệ thống - HĐH đa nhiệm có nhiều tiến trình hoạt động đồng thời, mỗi tiến phải có chế bảo vệ để không bị tác động. Nghĩa là các File, Memory, CPU và các tài nguyên khác mà HĐH đã cấp cho một chương trình, tiến trình thì chỉ có chương trình tiến trình đó được quyền tác động đến - Đặc biệt với các tài nguyên dùng chung và các tiến trình hoạt động đồng thời, HĐH không cho xảy ra tranh chấp tài nguyên và không được truy xuất bất hợp lệ vùng nhớ của nhau. Hệ thống bảo vệ là một cơ chế kiểm soát quá trình truy xuất của chương trình, tiến trình hoặc người sử dụng với tài nguyên của hệ thống 6/28/2014 Chương 1. Tổng quan về hệ điều hành 37 THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH 1.4.2 Các dịch vụ của hệ điều hành (1/4) Hệ điều hành cung cấp một môi trường để thi hành các chương trình, bằng cách cung cấp các dịch vụ cho chương trình và cho người sử dụng - Thực thi chương trình: hệ thống có nhiệm vụ nạp chương trình của người sử dụng vào bộ nhớ, chuẩn bị đầy đủ các điều kiện về tài nguyên để chương trình có thể chạy và kết thúc được, có thể kết thúc bình thường hoặc bị lỗi. Khi chương trình kết thúc hệ điều hành phải thu hồi tài nguyên đã cấp cho chương trình. - Thao tác nhập xuất: Khi chương trình chạy nó có thể yêu cầu nhập xuất dữ liệu từ một tập tin hoặc từ một thiết bị nhập xuất. Để tăng hiệu quả, người sử dụng không truy xuất trực tiếp các thiết bị nhập xuất mà thông qua cách thức do hệ điều hành cung cấp 6/28/2014 Chương 1. Tổng quan về hệ điều hành 38 THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH 1.4.2 Các dịch vụ của hệ điều hành (2/4) - Thao tác hệ thống tập tin: HĐH cần cung cấp các công cụ để chương trình dễ dàng thực hiện các thao tác đọc ghi trên các tập tin, các thao tác này phải thực sự an toàn, đặc biệt là trong môi trường đa nhiệm - Trao đổi thông tin giữa các tiến trình: Trong môi trường HĐH đa nhiệm, với nhiều tiến trình hoạt động đồng thời, một tiến trình có thể trao đổi thông tin với nhiều tiến trình khác. Trao đổi như thế có thể xảy ra trong hai cách chính. Một là thực hiện trên cùng máy tính; hai là thay thế tiến trình khác trên hệ thống mạng. 6/28/2014 Chương 1. Tổng quan về hệ điều hành 39 THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH 1.4.2 Các dịch vụ của hệ điều hành (3/4) - Phát hiện lỗi và xử lý lỗi: HĐH phải có các công cụ để giúp chương trình của người sử dụng phát hiện các lỗi do hệ thống (CPU, Memory, I/O device, Program) phát sinh. Đối với mỗi dạng lỗi HĐH có cách giải quyết tương ứng sao cho hiệu quả nhất - Cấp phát tài nguyên: Khi nhiều người dùng đăng nhập vào hệ thống hay nhiều công việc đang chạy cùng lúc, HĐH quản lý các tài nguyên và cung cấp tới mỗi người dùng nhiều loại tài nguyên khác nhau 6/28/2014 Chương 1. Tổng quan về hệ điều hành 40 THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH 1.4.2 Các dịch vụ của hệ điều hành (4/4) - Tính toán: Chúng ta muốn giữ vết người dùng nào sử dụng bao nhiêu và loại tài nguyên máy tính nào. Giữ vết này có thể được dùng để tính toán (tính tiền người dùng) hay đơn giản thống kê sử dụng. - Bảo vệ : Khi nhiều quá trình riêng lẻ thực thi đồng hành, không thể cho một quá trình can thiệp tới các quá trình khác hay tới chính HĐH. Bảo vệ đảm bảo rằng tất cả truy xuất tài nguyên của hệ thống được kiểm soát. An toàn hệ thống từ người dùng bên ngoài cũng là vấn đề quan trọng. An toàn bắt đầu với mỗi người dùng có quyền đối với hệ thống, thường bằng mật khẩu để được phép truy xuất tài nguyên. 6/28/2014 Chương 1. Tổng quan về hệ điều hành 41 THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH 1.4.3 Cấu trúc của hệ điều hành (1/7) - Hệ thống đơn khối M ain m em o ry Gọi Kernel Thủ tục dịch vụ Chương trình người sử dụng 1 Chương trình người sử dụng 2 Bảng mô tả Hệ điều hành chạy trong Kernel mode Chương trình người sử dụng chạy trong Uer mode 1. Chương trình của người sử dụng gởi yêu cầu đến Kernel. 2. Hệ điều hành kiểm tra yêu cầu dịch vụ. 3. Hệ điều hành xác định (vị trí) và gọi thủ tục dịch vụ tương ứng. 4. Hệ điều hành trả điều khiển lại cho chương trình người sử dụng. 6/28/2014 Chương 1. Tổng quan về hệ điều hành 42 THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH 1.4.3 Cấu trúc của hệ điều hành (2/7) - Cấu trúc hệ thống đơn khối gồm các thủ tục chia thành 3 lớp Thủ tục chính Thủ tục dịch vụ Thủ tục tiện ích + Một chương trình chính (chương trình của người sử dụng) gọi đến một thủ tục dịch vụ của hệ điều hành. Lời gọi này được gọi là lời gọi hệ thống. + Một tập các thủ tục dịch vụ (service) để đáp ứng những lời gọi hệ thống từ các chương trình người sử dụng. + Một tập các thủ tục tiện ích (utility) hỗ trợ cho các thủ tục dịch trong việc thực hiện cho các lời gọi hệ thống Lời gọi hệ thống sẽ gọi thủ tục dịch vụ, tiện ích thực hiện các thủ tục dịch vụ cần, như nhận dữ liệu từ chương trình NSD 6/28/2014 Chương 1. Tổng quan về hệ điều hành 43 THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH 1.4.3 Cấu trúc của hệ điều hành (3/7) - Hệ thống phân lớp: Hệ thống được chia thành các lớp, mỗi lớp được xây dựng dựa vào lớp bên trong. Lớp trong cùng thường là phần cứng, lớp ngoài cùng là giao diện với người sử dụng Giao diện lời gọi hệ thống Giao diện người sử dụng Người sử dụng Chương trình tiện ích chuẩn (Shell, Editor, compiler, ..) Thư viện chuẩn (Open, Close, Read, Write, ..) Hệ diều hành Unix (process management, memory management the file system, I/O, …) Phần cứng (CPU, memory, disks, I/O, ..) Giao diện thư viện Kernel Mode Uesr Mode 6/28/2014 Chương 1. Tổng quan về hệ điều hành 44 THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH 1.4.3 Cấu trúc của hệ điều hành (4/7) - Hệ thống phân lớp Lớp 5: Chương trình ứng dụng Lớp 4: Quản lý bộ đệm cho các thiết bị nhập xuất. Lớp 3: Trình điều khiển thao tác console. Lớp 2: Quản lý bộ nhớ. Lớp 1: Điều phối processor. Lớp 0: Phần cứng hệ thống 6/28/2014 Chương 1. Tổng quan về hệ điều hành 45 THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH 1.4.3 Cấu trúc của hệ điều hành (5/7) - Máy ảo: các chương trình của người sử dụng có thể gọi dễ dàng các chương trình hệ thống và xem mọi thành phần dưới chương trình hệ thống đều là phần cứng máy tính. Lớp các ứng dụng này sử dụng khái niệm máy ảo Tiến trình Tiến trình Tiến trình Tiến trình OS OS OS Giao diện lập trình OS Phần cứng Phần cứng Máy ảo a b Máy ảo 1 Máy ảo 2 Máy ảo 3 6/28/2014 Chương 1. Tổng quan về hệ điều hành 46 THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH 1.4.3 Cấu trúc của hệ điều hành (6/7) + Ở đây cần phân biệt sự khác nhau giữa máy ảo và máy tính mở rộng, máy ảo là bản sao chính xác các đặc tính phần cứng của máy tính thực sự và cho phép HĐH hoạt động trên nó, sau đó HĐH xây dựng máy tính mở rộng để cung cấp cho người sử dụng. + Với cấu trúc này mỗi tiến trình hoạt động trên một máy ảo độc lập và nó có cảm giác như đang sở hữu một máy tính thực sự + Bảo vệ tài nguyên hệ thống và tài nguyên đã cấp phát cho các tiến trình, sẽ trở nên đơn giản hơn vì mỗi tiến trình thực hiện trên một máy tính(ảo) độc lập với nhau nên việc tranh chấp tài nguyên không xảy ra + Nhờ hệ thống máy ảo mà một ứng dụng được xây dựng trên HĐH có thể hoạt động được trên HĐH khác 6/28/2014 Chương 1. Tổng quan về hệ điều hành 47 THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH 1.4.3 Cấu trúc của hệ điều hành (7/7) - Mô hình Client/server: Để yêu cầu một dịch vụ, như đọc một khối từ tập tin, một xử lý của người sử dụng (còn gọi là tiến trình client) sẽ gởi những yêu cầu đó cho một xử lý của bộ phận dịch vụ (còn gọi là tiến trình server) sau đó nó sẽ thực hiện và gởi kết quả trở lại Tiến trình client Tiến trình client Tiến trình servert Tiến terminal …. Server tập tin Server bộ nhớ Kernel (hạt nhân) User mode Kernel mode Client nhận những dịch vụ bằng cách gởi những thông điệp đến các tiến trình của server Khi cần thực hiện một chức năng hệ thống các tiến trình Client sẽ gởi yêu cầu tới tiến trình server tương ứng, tiến trình server sẽ xử lý và trả lời kết quả cho tiến trình Client 6/28/2014 Chương 1. Tổng quan về hệ điều hành 48 TỔNG KẾT Trong chương này, chúng ta đã học: Chức năng: Giả lập máy tính mở rộng và quản lý tài nguyên hệ thống Quá trình phát triển của HĐH qua 4 giai đoạn Một số khái niệm của HĐH: tiến trình, tiểu trình, shell, sự phân lớp, tài nguyên và lời gọi hệ thống Khái niệm và phân loại: HĐH xử lý theo lô đơn giản, đa chương, chia sẻ thời gian, đa vi xử lý, mạng và t/g thực Các thành phần của HĐH: thành phần quản lý tiến trình, bộ nhớ chính, phụ, nhập xuất, quản lý tập tin, dòng lệnh và bảo vệ hệ thống Các dịch vụ của HĐH: Cấu trúc HĐH: đơn khối, phân lớp, máy ảo và client/server 6/28/2014 Chương 1. Tổng quan về hệ điều hành 49 CÂU HỎI Trả lời các câu hỏi : Chức năng của HĐH Lịch sử phát triển của HĐH Chương trình, tiến trình, tiểu trình Bộ xử lý lệnh shell Phân lớp Tài nguyên của hệ thống Lời gọi hệ thống Khái niệm HĐH và phân loại 6/28/2014 Chương 1. Tổng quan về hệ điều hành 50 CÂU HỎI Trả lời các câu hỏi trong giáo trình trang 27 Xem trước phần giáo trình chương 2: Quản lý tiến trình
File đính kèm:
- Bài giảng Nguyên lý hệ điều hành - Đặng Quang Hiển - Chương 1 Tổng quan về hệ điều hành.pdf