Bài giảng Hệ điều hành nâng cao - Chương 1: Tổ chức hệ điều hành - Trần Hạnh Nhi

ppt 24 trang Hùng Dũng 04/01/2024 220
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành nâng cao - Chương 1: Tổ chức hệ điều hành - Trần Hạnh Nhi", để 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:

  • pptbai_giang_he_dieu_hanh_nang_cao_chuong_1_to_chuc_he_dieu_han.ppt

Nội dung text: Bài giảng Hệ điều hành nâng cao - Chương 1: Tổ chức hệ điều hành - Trần Hạnh Nhi

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