Mục tiêu của Bài giảng Hệ điều hành: Chương 1 giúp sinh viên hiểu rõ Hệ điều hành là gì và vai trò của Hệ điều hành trong các hệ thống máy tính và các môi trường điện toán.
Hệ Điều Hành Chương Giới Thiệu Hệ Điều Hành Giảng viên TS Trần Công Án tcan@cit.ctu.edu.vn Khoa Công Nghệ Thông Tin & Truyền Thông Đại học Cần Thơ 2018 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Mục Tiêu Giúp sinh viên hiểu rõ Hệ điều hành vai trò Hệ điều hành hệ thống máy tính mơi trường điện tốn TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành [HĐH] Ch1 Giới thiệu Hệ Điều Hành Nội Dung Khái niệm Vai trò Hệ điều hành Các dịch vụ Hệ điều hành Phân loại Hệ điều hành Lịch sử phát triển Hệ điều hành Thiết kế & Cài đặt Hệ điều hành Cấu trúc Hệ điều hành Các dịch vụ Hệ điều hành Kiến trúc hệ điều hành TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành [HĐH] Ch1 Giới thiệu Hệ Điều Hành Khái niệm Vai trò Hệ điều hành Khái niệm Vai trò Hệ điều hành TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành [HĐH] Ch1 Giới thiệu Hệ Điều Hành Khái niệm Vai trò Hệ điều hành Khái niệm Hệ điều hành Tổ chức hệ thống máy tính Bao gồm vài xử lý (CPU); nhớ (RAM); thiết bị I/O đĩa từ, bàn phím chuột, hình, máy in; điều khiển thiết bị, mouse keyboard disks CPU printer monitor on-line disk controller USB controller graphics adapter memory TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành [HĐH] Ch1 Giới thiệu Hệ Điều Hành Khái niệm Vai trò Hệ điều hành Khái niệm Hệ điều hành Tổ chức hệ thống máy tính CPU, nhớ điều khiển thiết bị nối kết với thông qua bus chung Mỗi điều khiển thiết bị điều khiển loại thiết bị Mỗi điều khiển thiết bị có nhớ đệm riêng Các thiết bị I/O CPU thực thi đồng thời Các điều khiển thiết bị thông báo với CPU sau thực xong tác vụ cách sử dụng ngắt (interrupt) mouse keyboard disks CPU printer monitor on-line disk controller USB controller graphics adapter memory TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành [HĐH] Ch1 Giới thiệu Hệ Điều Hành Khái niệm Vai trò Hệ điều hành Khái niệm Hệ điều hành Hệ Điều Hành Là Gì? chương trình quản lý tài ngun máy tính, đóng vai trò lớp trung gian người sử dụng máy tính phần cứng máy tính Mục tiêu: Cung cấp phương tiện giao tiếp người dùng máy tính Nhận thực thi yêu cầu người dùng cách hiệu quả, nhanh chóng dễ dàng thơng qua chương trình ứng dụng Quản lý sử dụng tài nguyên máy tính cách hiệu TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành [HĐH] Ch1 Giới thiệu Hệ Điều Hành Khái niệm Vai trò Hệ điều hành Vai trò Hệ điều hành Các Thành Phần Của Một Hệ Thống Máy Tính Vai trị HĐH phụ thuộc vào góc nhìn t/phần hệ thống users compiler assembler text-editor DB system system system aand nd aapplica.on pplica.on pprograms rograms opera.ng system computer hardware TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành [HĐH] Ch1 Giới thiệu Hệ Điều Hành Khái niệm Vai trò Hệ điều hành Vai trò Hệ điều hành Thành Phần Của Một Hệ Thống Máy Tính Phần cứng (hardware): cung cấp tài ngun cho việc tính tốn (CPU, nhớ, I/O) Hệ điều hành (OS): kiểm soát điều phối việc sử dụng phần cứng chương trình ứng dụng người dùng Các chương trình hệ thống ứng dụng (system and application programs): sử dụng tài nguyên hệ thống để giải vấn đề tính toán người dùng Người dùng (user): người thiết bị có nhu cầu tính tốn sử dụng chương trình máy tính TS Trần Cơng Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành [HĐH] Ch1 Giới thiệu Hệ Điều Hành Khái niệm Vai trò Hệ điều hành Vai trò Hệ điều hành Từ Góc Nhìn Của Người Dùng Cái nhìn người dùng hệ điều hành phụ thuộc vào giao diện (interface) mà người dùng sử dụng Máy tính cá nhân (PC): tiện lợi, dễ sử dụng, hiệu cao, không quan tâm đến việc chia sẻ tài nguyên Shared-computer (mainframe, minicomputer): tận dụng nguồn tài nguyên chia sẻ cơng Các trạm làm việc (workstation): hài hịa việc sử dụng tài nguyên cá nhân tận dụng tài nguyên chia sẻ Thiết bị cầm tay (handheld): thiết kế cho nhu cầu sử dụng cá nhân cân đối hiệu lượng TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 10 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Các dịch vụ Hệ điều hành Dịch Vụ Cho Chương Trình & Người Dùng Giao diện người dùng: command line, batch interface, GUI Thực thi chương trình: nạp chương trình vào nhớ thực thi Thao tác I/O: cung cấp phương tiện để thực thao tác I/O Thao tác hệ thống tập tin: cung cấp khả lập trình để đọc, ghi, tạo xóa tập tin Giao tiếp: chuyển thơng tin tiến trình thực thi máy tính nhiều hệ thống kết nối với qua mạng máy tính (dùng p/p nhớ chia sẻ chuyển thông điệp) Phát lỗi: phát lỗi phát sinh CPU nhớ, thiết bị I/O chương trình người dùng để bảo đảm tính tốn xác TS Trần Cơng Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 59 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Các dịch vụ Hệ điều hành Dịch Vụ Cho Hệ Thống Một số chức không nhằm hỗ trợ người dùng mà dùng để đảm bảo cho hoạt động hiệu hệ thống bao gồm: Cấp phát tài nguyên: cấp tài nguyên cho nhiều người dùng nhiều cơng việc chạy song song Tính chi phí: theo dõi ghi lại người dùng sử dụng tài nguyên hệ thống để làm sở tính tiền sử dụng hệ thống thống kê sử dụng Bảo vệ: đảm bảo tất truy cập đến hệ thống kiểm soát TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 60 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Các dịch vụ Hệ điều hành Lời gọi hệ thống Lời Gọi Hệ Thống Là giao diện tiến trình hệ điều hành, dùng để gọi dịch vụ HĐH Về bản, hỗ trợ dạng thị assembler Các lời gọi hệ thống cài đặt ngôn ngữ cấp cao (C, C++), gọi giao diện lập trình ứng dụng (API) Một số API phổ biến: Windows API (cho HĐH Windows) POSIX API (cho POSIX-Based systems Linux, Unix, MacOS) Java API (cho Java Virtual Machine) TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 61 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Các dịch vụ Hệ điều hành Lời gọi hệ thống Lời Gọi Hệ Thống – Ví Dụ Acquire input filename Write prompt to screen Accept input Acquire output filename Write prompt to screen Accept output Check existence of input file if input file doesn’t exist Write prompt to screen, abort Check existence of output file if output file exists Write prompt to screen, abort Copy input file to output file Terminate normally TS Trần Công Án echo -n "Source filename: " read src echo -n "Target filename: " read targ if [ ! -f $src ] then echo ”Error, $src doesn’t exist” exit elif [ -f $targ ] then echo “Error, $targ exist” exit fi cp $src $targ echo "Sucessfully” [HĐH] Ch1 Giới thiệu Hệ Điều Hành 62 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Các dịch vụ Hệ điều hành Lời gọi hệ thống Truyền Tham Số Cho Lời Gọi Hệ Thống Một lời gọi hệ thống thường kèm theo tham số Có phương pháp tổng quát để truyền tham số: Truyền qua ghi: giới hạn số lượng tham số số ghi tương đối Truyền qua nhớ: tham số lưu vào bảng hay khối nhớ địa bảng/khối chuyển vào ghi tham số Truyền stack: chương trình push tham số vào stack hệ điều hành lấy tham số cách pop stack TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 63 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Các dịch vụ Hệ điều hành Lời gọi hệ thống Truyền Tham Số Qua Bộ Nhớ – Ví Dụ X register X: parameters for call load address X system call 13 use parameters from table X code for system call 13 user program operating system TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 64 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Các dịch vụ Hệ điều hành Lời gọi hệ thống Các Kiểu Lời Gọi Hệ Thống Điều khiển tiến trình (process control) Quản lý file (file management) Quản lý thiết bị (device management) Duy trì thông tin trạng thái (information maintenance) Giao tiếp (communication) Một số HĐH cung cấp lời gọi hệ thống để sử dụng dịch vụ bảo vệ (protection) HĐH TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 65 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Kiến trúc hệ điều hành Kiến Trúc Hệ Điều Hành Là cách thức tổ chức thành phần HĐH để xác định đặc quyền mà thành phần thực Ba loại kiến trúc: Nguyên khối (monolithic): tất thành phần chứa nhân (kernel) Phân tầng (layered): phương pháp trên-xuống (top-down), tách biệt chức đặc điểm thành phần Vi nhân (microkernel): thành phần chủ yếu bao gồm kernel TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 66 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Kiến trúc hệ điều hành Kiến Trúc Hệ Điều Hành MS-DOS – Ngun Khối Khơng có kiến trúc rõ ràng Được viết để cung cấp nhiều chức với dung lượng nhỏ application program resident system program Không chia thành modules Mặc dù MS-DOS tổ chức có cấu trúc, lớp chức giao diện chúng không phân chia tốt TS Trần Công Án MS-DOS device drivers [HĐH] Ch1 Giới thiệu Hệ Điều Hành ROM BIOS device drivers 67 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Kiến trúc hệ điều hành Kiến Trúc Phân Tầng Hệ điều hành chia thành số tầng, tầng xây dựng tảng tầng khác thấp Tầng thấp tầng vật lý, tầng cao giao diện với người dùng layer N user interface • • • layer layer hardware Sự phân chia chức năng: tầng sử dụng hàm (thao tác) dịch vụ cung cấp tầng phía liền kề TS Trần Cơng Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 68 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Kiến trúc hệ điều hành Kiến Trúc Phân Tầng – Ưu Nhược Điểm Ưu điểm: Tính module (modularity) ⇒ đơn giản hóa việc thiết kế, cài đặt, gỡ rối kiểm tra hệ thống Đơn giản hóa thể qua việc sửa đổi, cải tiến tầng, không ảnh hưởng đến tầng khác Nhược điểm: Cần phải định nghĩa cẩn thận chức tầng tầng sử dụng tầng Đơi khó khăn việc xác định chức HĐH nằm tầng Tăng chi phí cho việc gọi lời gọi hệ thống thông qua nhiều tầng TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 69 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Kiến trúc hệ điều hành Kiến Trúc Vi Nhân Di chuyển nhiều chức từ nhân lên mức người dùng Việc giao tiếp module người dùng thực cách sử dụng chế chuyển thơng điệp Lợi ích: dễ dàng mở rộng microkernel dễ dàng chuyển đổi hệ điều hành sang kiến trúc tin cậy an tồn (ít mã lệnh chạy mức nhân hơn) Nhược điểm: chi phí giao tiếp tiến trình người dùng nhân TS Trần Cơng Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 70 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Kiến trúc hệ điều hành Kiến Trúc Của Một Hệ Vi Nhân Kiểu Mẫu Application Program File System messages Interprocess Communication Device Driver user mode messages memory managment CPU scheduling kernel mode microkernel hardware TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 71 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Tổng Kết Tổng Kết Khái niệm Vai trò Hệ điều hành Các dịch vụ Hệ điều hành Phân loại Hệ điều hành Lịch sử phát triển Hệ điều hành Thiết kế & Cài đặt Hệ điều hành Cấu trúc Hệ điều hành Các dịch vụ Hệ điều hành Kiến trúc hệ điều hành TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 72 ... Hệ điều hành Kiến trúc hệ điều hành TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành [HĐH] Ch1 Giới thiệu Hệ Điều Hành Khái niệm Vai trò Hệ điều hành Khái niệm Vai trò Hệ điều hành TS Trần Công. .. (các chương trình khác gọi chương trình ứng dụng ) TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 11 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Các dịch vụ Hệ điều hành Các dịch vụ Hệ điều hành TS Trần. .. TS Trần Công Án [HĐH] Ch1 Giới thiệu Hệ Điều Hành 30 [HĐH] Ch1 Giới thiệu Hệ Điều Hành Phân loại Hệ điều hành Các hệ thống phân tán Hệ Thống Phân Tán Peer-to-Peer Các máy tính tham gia vào hệ