Bài giảng Hệ điều hành nâng cao - Chương 1 giới thiệu chung về hệ điều hành. Những vấn đề chính được trình bày trong chương này gồm có: Tại sao phải tìm hiểu về Hệ điều hành? Hệ điều hành là gì? Vai trò trong hệ thống? Chức năng? Các nguyên lý thiết kế hệ điều hành.
HỆ ĐIỀU HÀNH NÂNG CAO Trường đại học Khoa học tự nhiên Khoa Công nghệ Thông tin Trần Hạnh Nhi Tổ chức Phụ trách Lý thuyết : Phụ trách thực hành: Trần Hạnh Nhi Phạm Nguyễn Anh Huy Trần Anh Tuấn Lê Thụy Anh Đinh Bá Tiến Trang web môn học : Mục tiêu Kết mong đợi lý thuyết : Hiểu cách thức Hệ điều hành làm việc Nắm nguyên lý thiết kế Hệ điều hành Biết số chế, chiến lược để giải nhiệm vụ Hệ điều hành Kết cần đạt thực hành Vận dụng kiến thức lý thuyết để cài đặt giả lặp số module Hệ điều hành Sử dụng chế hỗ trợ Hệ điều hành cụ thể (Windows NT) để giải toán Kiến thức yêu cầu Kiến trúc Máy tính Hệ điều hành Lập trình C/C++ Tính điểm 70% Lý thuyết + 30% Thực hành Lý thuyết : Thực hành: tập lớn thi cuối khố (khơng tham khảo tài liệu) Mỗi sinh viên làm độc lập Thời hạn cách thức nộp giáo viên phụ trách thực hành qui định Mỗi nhóm thực hành gồm sinh viên Bắt buộc có nộp thực hành thi lý thuyết Tài liệu tham khảo Trần Hạnh Nhi : Giáo trình Hệ điều hành Nâng cao A.Silberschatz & P/Galvin : OS concepts (5e) W Stallings : Operating Systems A.Tanenbaum et al : OS Design and Implementation Minix : R.Finkel:: An OS vade mecum Slides : Book online : Jeffrey Richter : Advanced Windows Tiến Huy- Đan Thư- Hạnh Nhi : Kỹ thuật lập trình Windows NT Nội dung Chương : Tổ chức Hệ điều hành Chương : Quản lý tiến trình Chương : Liên lạc tiến trình Chương : Quản lý nhớ Chương : An toàn hệ thống Bài giảng : Tại phải tìm hiểu Hệ điều hành ? Hệ điều hành ? Giới thiệu Vai trò hệ thống ? Chức ? Kiến trúc ? Các nguyên lý thiết kế Hệ điều hành Tại cần tìm hiểu Hệ điều hành ? Để phá vỡ “bí ẩn” hệ thống : Để khai thác tốt môi trường làm việc : Tại máy tính “biết” nội dung đĩa ? Tại vừa soạn thảo, vừa nghe nhạc máy tính (có CPU ?) Tại ứng dụng kích thước M hoạt động Windows mà bị báo “Not enough memory” DOS ? Lập trình mơi trường đa nhiệm (multitask), đa xử lý(multiprocessing) với mơ hình multiprocess, multithreads Sử dụng nhớ hiệu sử dụng chế Thông tin liên lạc, an tồn & bảo mật… Vì mơn học bắt buộc Hệ điều hành, anh ? Ưùng dụng Giao diện ảo Hệ điều hành Giao diện vật lý Phần cứng 10 Chức Hệ điều hành Quản trị tài nguyên (resource principle) : Tài nguyên : CPU, Mem, IO; Files, ports, mailboxes… Đối tượng sử dụng tài nguyên : Process, Thread Nhiệm vụ : Cung cấp giải thuật cấp phát, quản lý tài nguyên.cho đối tượng hoạt động hệ thống Mục tiêu : Cấp phát đầy đủ, công R cho Ps; Sử dụng hiệu Rs, Nâng cao thông lượng Ps… Trừu tượng hoá hệ thống (beautification principle) Nhiệm vụ : Cung cấp giải thuật để che dấu chi tiết phần cứng, tạo môi trường dễ làm việc (hope) cho user Mục tiêu : tạo môi trường an tồn, tạo trừu tượng hố, độc lập thiết bị Ví dụ : device driver 11 Các thành phần Quản lý nhớ phụ Quản lý tiến trình Quản lý nhậäp xuất Hệ thống tập tin Quản lý nhớ Hệ thống bảo vệ Bộ thơng dịch lệnh Giao tiếp mạng 12 Kiến trúc Hệ điều hành Đơn giản (Monolithic) Hạt nhân (Kernel) Phân lớp (Layered) Máy ảo (Virtual Machine) Hướng đối tượng (OOOS) Exokernel 13 Monolithic 14 Monolithic OS = Thư viện tiện ích Có thể tổ chức thành nhiều module : CPU scheduling, Mem Management, Device management…nhưng có module hoạt động thời điểm Đơn nhiệm Quyền điều khiển chuyển đổi thông qua lời gọi hàm Khi tầm vóc phát triển hệ thống trở nên thiếu tin cậy Ví dụ : MS-DOS, Ultrix (mature Unix) 15 Kernel 16 Kernel OS = Kernel + System processes Kernel bảo vệ Đa nhiệm Kernel chịu trách nhiệm phân chia thời gian sử dụng CPU, Giao tiếp tiến trình Chỉ có mức kernel/non-kernel =>kernel lớn, thiếu tin cậy trước Định nghĩa cứng giao tiếp với ứng dụng kernel Ví dụ : Windows NT 17 Layered 18 Layered OS = lớp trừu tượng hoá tác vụ quản lý Lớp sử dụng hàm xử lýù tài nguyên thuộc tác vụ lớp cung cấp Khó xác định lớp xử lý rạch rịi, thứ tự lớp ? Tạo tiến trình -> PM gọi MM Bộ nhớ đầy -> MM gọi PM Xếp lớp theo hàm xử lý , thay tác vụ Seg management- P scheduling- Seg creation- P creation Ví dụ : THE , MULTICS 19 Virtual Machine 20 Virtual Machine OS = Virtualizing kernel + virtual machines Virtual machine = physical hardware Virtualizing kernel tạo nhiều VM máy tính Process interface = hardware interface Ưu điểm : Môi trường thuận lợi cho tương thích (compatibility) Tăng tính an tồn hệ thống cung cấp VM độc lập Dể phát triển HDH đơn nhiệm cho VM Khuyết điểm: Phức tạp cho việc giả lặp (transput, add translation…) Ví dụ : CMS(conversational Monitor System) VM/370 (hỗ trợ hardware) 21 OOOS OS = tập đối tượng Tiến trình, tập tin, hàm, khối nhớ… Một hàm xử lý (kernel/non-kernel mode) thao tác tập đối tượng Che dấu thơng tin Ví dụ :CAP, StarOS, iMAX432 22 Exokernel 23 Exokernel Hướng đến HDH linh đông giao tiếp với ứng dụng, cho phép ứng dụng chuyên biệt hoá hệ điều hành theo nhu cầu đặc thù cách dễ dàng OS = Exokernel + Library OS Ưùng dụng phát triển mơ hình tổ chức VM, IPC theo nhu cầu riêng Ví dụ : ý tưởng project Dawson R Engler et al phát triển MIT 24 ... toàn hệ thống Bài giảng : Tại phải tìm hiểu Hệ điều hành ? Hệ điều hành ? Giới thiệu Vai trò hệ thống ? Chức ? Kiến trúc ? Các nguyên lý thiết kế Hệ điều hành Tại cần tìm hiểu Hệ điều. .. kế Hệ điều hành Biết số chế, chiến lược để giải nhi? ??m vụ Hệ điều hành Kết cần đạt thực hành Vận dụng kiến thức lý thuyết để cài đặt giả lặp số module Hệ điều hành Sử dụng chế hỗ trợ Hệ điều. .. viên phụ trách thực hành qui định Mỗi nhóm thực hành gồm sinh viên Bắt buộc có nộp thực hành thi lý thuyết Tài liệu tham khảo Trần Hạnh Nhi : Giáo trình Hệ điều hành Nâng cao A.Silberschatz