Bài giảng hệ điều hành chương 1 tổng quan Bài giảng hệ điều hành chương 1 tổng quan Bài giảng hệ điều hành chương 1 tổng quan Bài giảng hệ điều hành chương 1 tổng quan Bài giảng hệ điều hành chương 1 tổng quan Bài giảng hệ điều hành chương 1 tổng quan
Hệ điều hành Operating System Thông tin cần biết Tài liệu tham khảo [1] Remzi H Arpaci-Dusseau and Andrea C Arpaci-Dusseau, “ Operating Systems: Three Easy Pieces”, 0.9v, 2014 http://pages.cs.wisc.edu/~remzi/OSTEP/ [2] Silberschatz et al, “Operating System Principles”, 9th Ed., 2012 [3] A Tanenbaum, “Modern Operating Systems”, Prentice Hall, 4nd Ed., 2014 Điểm môn học ● ● ● ● Thi cuối kỳ Bài tập lớn Thực hành Bài tập Liên lạc 50%, 110 phút 30% 10% 10% Phone: 8.647.256(5840) ltvan@ hcmut.edu.vn (Tập slide có sử dụng slide từ nguồn khác.) Nội dung Tổng quan Khái niệm trình Đồng giải tranh chấp Deadlock phương cách giải Đònh thời biểu cho trình Quản lý nhớ Thay trang Quản lý nhập xuất Hệ thống file Concurrency Virtualization Three pieces Persistence Chương 1: Tổng Quan Giới thiệu ● Cấu trúc luận lý hệ thống máy tính ● Đònh nghóa hệ điều hành ● Các chức hệ điều hành Quá trình phát triển ● Máy tính lớn (mainframe system) ● Máy để bàn (desktop system) ● Đa xử lý (multiprocessor system) ● Phân bố (distributed system) ● Thời gian thực (real-time system) ● Cầm tay (handheld system) What is an operating system? Đònh nghóa Hệ điều hành gì? ● “Phần mềm trung gian” phần cứng máy tính người sử dụng, có chức điều khiển phần cứng cung cấp dòch vụ cho ứng dụng Mục tiêu ● Giúp người dùng dễ dàng sử dụng hệ thống ● Quản lý cấp phát tài nguyên hệ thống cách hiệu [yếu tố kinh tế] Người dùng Các ứng dụng Hệ Điều Hành Phần cứng Các thành phần hệ thống máy tính xử lý văn bản, bảng tính, tiện ích giải trí ,… kiểm sốt phân phối tài ngun cho ứng dụng khác cho người dùng khác CPU, nhớ, thiết bị nhập xuất cung cấp tài ngun tính tốn cho hệ thống 1.1 Fig 1.1 Các chức OS Phân chia thời gian xử lý CPU (đònh thời) Phối hợp đồng hoạt động trình Quản lý tài nguyên hệ thống hiệu Kiểm soát trình truy cập, bảo vệ hệ thống Duy trì quán hệ thống, kiểm soát lỗi phục hồi hệ thống có lỗi xảy Cung cấp giao diện làm việc thuận tiện cho người dùng Lòch sử phát triển Máy tính lớn (mainframe) ● Xử lý bó (batch, 1960) ● Đa chương (multiprogrammed, 1970) ● Đa nhiệm (time-sharing, multitasking; 1970) Lòch sử phát triển (Mainframe) Batch system, 1960 ● I/O: card đục lỗ, băng từ (tape), line printer ● Cần có người vận hành (operator) ● Giảm setup time cách ghép nhóm (batching) công việc (job) Vd: ghép công việc sử dụng trình biên dòch Fortran ● Tự động nạp công việc từ card reader 10 Cấu trúc hệ điều hành (6/7) Microkernel approach (CMU Mach OS, 1980) ● Dời số chức OS từ kernel space sang user space (vd: file server) 77 Cấu trúc hệ điều hành (7/7) Microkernel approach (tt) ● Thu gọn kernel microkernel, gồm chức cần thiết quản lý trình, nhớ chế giao tiếp trình Khối lượng code chạy kernel mode nhỏ kernel chạy ổn đònh Vd: networking service sụp đổ buffer overflow vùng nhớ (thuộc user space) bò hư hại, kernel tiếp tục ● Giao tiếp module dùng kỹ thuật truyền thông điệp 78 Hệ thống phân cấp Hệ thống thiết kế theo layered approach hệ thống phân cấp (hierarchical system) ● Mỗi lớp hệ thống phân cấp tạo nên mức trừu tượng (level of abstraction) 79 Trừu tượng hóa Mục tiêu ● Cung cấp giao diện đơn giản hóa đến tài nguyên bên ● Che giấu chi tiết thực Ví dụ ● Hệ điều hành trừu tượng hóa chi tiết đóa cứng để đóa cúng ứng dụng tập file 80 Ảo hóa Ảo hóa hệ thống hay thành phần (processor, nhớ, hay thiết bò I/O) mức trừu tượng ● ánh xạ (hay chuyển đổi) giao diện tài nguyên thấy lên giao diện tài nguyên hệ thống / tài nguyên bên Ví dụ ● Ảo hóa biến đổi đóa cứng lớn thành hai đóa cứng nhỏ Ghi vào đóa ảo chuyển thành ghi vào file (và thành ghi vào đóa thực) 81 Ảo hóa Ảo hóa cung cấp mức trừu tượng ● Giao diện khác / ● Tài nguyên khác Ảo hóa Giao diện Đóa thực Giao diện Đóa ảo Đóa ảo Ảo hóa không thiết đơn giản hóa giao diện (như trường hợp trừu tượng hóa) 82 Trừu tượng hóa ảo hóa Ứng dụng OS Ứng dụng sử dụng đóa ảo đóa thực Đóa ảo Ảo hóa File File Trừu tượng hóa Đóa thực 83 S ự giao tiếp thành phần khác 84 Máy ảo Ảo hóa áp dụng cho hệ thống đóa mà cho hệ thống máy tính Hai loại máy ảo ● Máy ảo mức trình (process virtual machine, process VM) ● Máy ảo mức hệ thống (system virtual machine, system VM) Trong trường hợp này, phần mềm ảo hóa gọi Virtual Machine Monitor (VMM): 85 Lợi ích máy ảo Tính an toàn: ứng dụng chạy máy ảo an toàn so với ứng dụng chạy trực tiếp máy phần cứng Độc lập phần cứng: phần cứng ảo không cần phải giống hệt với phần cứng vật lý bên Tính linh hoạt trường hợp máy ảo mức hệ thống ● Hỗ trợ lúc nhiều hệ điều hành phần cứng ● Giúp dễ dàng thử nghiệm hệ điều hành 86 Máy ảo mức trình Phần mềm ảo hóa dòch tập lệnh OS lệnh mức user tạo trêân platform sang lệnh platform khác 87 Máy ảo mức trình: ví dụ High-level language Virtual machine (HLL VM): Java VM Java Source Java compiler Java Binary Classes Distribution Bytecode Bytecode Bytecode Java VM Implementation Java VM Implementation Java VM Implementation Sparc Workstation X86 PC Apple Mac 88 Máy ảo mức hệ thống Phần mềm ảo hóa dòch lệnh máy (ISA, Instruction Set Architecture) sử dụng hardware platform sang lệnh máy HW platform khác 89 Máy ảo mức hệ thống: ví dụ Cách tiếp cận cổ điển cho kiến trúc máy ảo mức hệ thống 90 Máy ảo mức hệ thống: ví dụ VMWare Applications Guest OS Virtualizing Software (VMWare) Other Host Applications Host OS Hardware 91 [...]... availability): các dòch vụ của hệ thống được cung cấp liên tục cho dù một thành phần hardware trở nên hỏng 1. 5 21 docs.oracle.com 22 Lòch sử phát triển hệ điều hành (tt) Hệ thống phân bố (tt) Các mô hình hệ thống phân bố ● Client-server Server: cung cấp dòch vụ Client: có thể sử dụng dòch vụ của server 1. 5 .1, 1. 5.2 23 Lòch sử phát triển hệ điều hành (tt) Hệ thống phân bố Các mô hình hệ thống phân bố (tt)... các job trong bộ nhớ ● Tận dụng được thời gian rảnh, tăng hiệu suất sử dụng CPU ● Yêu cầu đối với hệ điều hành Đònh thời job Đònh thời CPU Quản lý bộ nhớ (memory management) Cấp phát tài nguyên (đóa, máy in,…) Bảo vệ 1. 2.2 14 Lòch sử phát triển hệ điều hành (tt) 15 Lòch sử phát triển hệ điều hành (tt) (Mainframe) Time-sharing system ● Multiprogrammed system không cung cấp khả năng tương... (Mainframe) Batch system đơn giản ● Uniprogramming Khi một job thực thi xong, quyền điều khiển trở về hệ điều hành (‘resident monitor’) Resident monitor đọc job kế tiếp từ card reader vào bộ nhớ Thực thi job cho đến khi xong resident monitor user job Layout bộ nhớ 11 12 Mainframe computer in 19 67 13 Lòch sử phát triển hệ điều hành (tt) (Mainframe) Multiprogrammed system ● Nhiều job được giữ đồng thời... lại 1. 4 19 Lòch sử phát triển hệ điều hành (tt) Phân loại hệ thống song song ● Đa xử lý đối xứng (symmetric multiprocessor – SMP) Mỗi processor vận hành một identical copy của hệ điều hành Các copy giao tiếp với nhau khi cần ● Đa xử lý bất đối xứng (asymmetric multiprocessor) Mỗi processor thực thi một công việc khác nhau Master processor đònh thời và phân công việc cho các slave processor 1. 4... ● Mục tiêu chính của OS Thuận tiện cho user và khả năng tương tác cao Không cần tối ưu hiệu suất sử dụng CPU và thiết bò ngoại vi ● Nhiều hệ điều hành khác nhau – MS Windows, Mac OS, Unix, Linux,… 19 81: IBM 515 0 18 Lòch sử phát triển hệ điều hành (tt) Hệ thống song song (parallel, multiprocessor, hay tightly-coupled system) ● Nhiều CPU ● Chia sẻ computer bus, clock ● Ưu điểm System throughput:... thực thi luân phiên giữa các công việc Mỗi công việc được chia một phần nhỏ thời gian CPU (time slice, quantum time) Cung cấp tương tác giữa user và hệ thống với thời gian đáp ứng (response time) nhỏ (1 s) Computer terminal, 19 82 16 Lòch sử phát triển hệ điều hành (tt) Yêu cầu đối với OS trong hệ thống time-sharing ● Quản lý bộ nhớ Virtual memory ● Quản lý các quá trình Đònh thời CPU Đồng bộ... (software interrupt): yêu cầu dòch vụ hệ thống (gọi system call),… Lược đồà thời gian khi process có yêu cầu các tác vụ I/O 31 Quá trình xử lý ngắt quãng Xử lý trap tương tự xử lý HW interrupt User Program Interrupt vector table 0 0 0 2 00ffe23f interrupt 0x 21 routine 1 i 21 00ffe23f ret int 0x 21 i +1 N ffffffff 3 M Interrupt handler thực thi 32 Cấu trúc hệ thống I/O Điều khiển thiết bò I/O Trên device... ● Peer-to-peer (P2P ,19 90s) Các peer (máy tính trong hệ thống) đều ngang hàng nhau Không dựa trên cơ sở dữ liệu tập trung Các peer là tự trò Vd: mạng gnutella, một mạng trong Internet để chia sẻ file 24 Lòch sử phát triển hệ điều hành (tt) Hệ thống thời gian thực (real-time system) ● Điều khiển trong xe hơi, dây chuyền công nghiệp,… ● Ràng buộc về thời gian: đáp ứng của hệ thống phải thỏa thời... Đònh thời CPU Đồng bộ các quá trình (synchronization) Giao tiếp giữa các quá trình (process communication) Vấn đề deadlock ● Quản lý hệ thống file, hệ thống lưu trữ (memory system) ● Cấp phát hợp lý các tài nguyên ● Bảo vệ 17 Lòch sử phát triển hệ điều hành (tt) Máy để bàn (desktop system, personal computer) ● Nhiều thiết bò I/O: bàn phím, chuột, màn hình, máy in,… ● Phục vụ người dùng đơn... (event) Phân loại ● Hard real-time Điều khiển máy nổ, airbag trong xe hơi, robotics,… Do hạn chế (hoặc không có) bộ nhớ thứ cấp, tất cả dữ liệu nằm trong bộ nhớ chính (RAM hoặc ROM) Yêu cầu về thời gian đáp ứng/xử lý rất nghiêm ngặt ● Soft real-time Multimedia, Yêu virtual reality cầu mềm dẻo hơn về thời gian đáp ứng 1. 7 25 Lòch sử phát triển hệ điều hành (tt) Thiết bò cầm tay (handheld