Hệ điều hành - Chương 2: Cấu trúc hệ điều hành

pdf 40 trang vanle 5470
Bạn đang xem 20 trang mẫu của tài liệu "Hệ điều hành - Chương 2: Cấu trúc hệ điều hành", để 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:

  • pdfhe_dieu_hanh_chuong_2_cau_truc_he_dieu_hanh.pdf

Nội dung text: Hệ điều hành - Chương 2: Cấu trúc hệ điều hành

  1. CHCHƯƠƯƠNGNG 22 CCẤẤUU TRTRÚÚCC HHỆỆ ĐĐIIỀỀUU HHÀÀNHNH
  2. NNỘỘII DUNGDUNG „ Các dịch vụ hệđiều hành (Operating System Services) „ Giao diện HĐH người dùng (User Operating System Interface) „ Lờigọihệ thống (System Calls) „ Các kiểulờigọihệ thống (Types of System Calls) „ Chương trình hệ thống (System Programs) „ Thiếtkế và thựcthi HĐH (Operating System Design and Implementation) „ Cấu trúc HĐH (Operating System Structure) „ Máy ảo (Virtual Machines) „ Các thế hệ HĐH (Operating System Generations) „ Boot hệ thống (System Boot) Operating System Concepts – 7th Edition, Jan 14, 2005 2.2 Silberschatz, Galvin and Gagne ©2005
  3. MMỤỤCC TIÊUTIÊU „ Mô tả các dịch vụ một HĐH cung cấpchongười dùng, quá trình và các hệ thống khác. „ Thảoluận các phương pháp cấutrúcmột HĐH. „ Giải thích các HĐH đượccàiđặtnhư thế nào và chúng boot ra sao. Operating System Concepts – 7th Edition, Jan 14, 2005 2.3 Silberschatz, Galvin and Gagne ©2005
  4. CCÁÁCC DDỊỊCHCH VVỤỤ HHĐĐHH „ Mộttậpcácdịch vụ HĐH cung cấpcácchứcnăng hữudụng cho người dùng: z Giao diệnngười dùng  Giao diện hàng lệnh (Command Line Interface - CLI)  Giao diệnngười dùng đồ họa (Graphics User Interface - GUI)  Bó (Batch) z Thựchiệnchương trình:  Nạpchương trình vào bộ nhớ  Chạychương trình  Kết thúc chương trình: bình thường / bấtbìnhthường (chỉđịnh lỗi) z Các hoạt động I/O z Thao tác hệ thống file Operating System Concepts – 7th Edition, Jan 14, 2005 2.4 Silberschatz, Galvin and Gagne ©2005
  5. CCÁÁCC DDỊỊCHCH VVỤỤ HHĐĐHH (Cont.)(Cont.) z Liên lạc  Thông qua bộ nhớ chia sẻ  Thông qua truyền thông điêp z Phát hiệnlỗi  Xảy ra trong CPU và phầncứng bộ nhớ, trong thiếtbị I/O, trong chương trình người dùng  Đốivớimỗikiểulỗi, HĐH chorahànhđộng thích hợp, đảmbảo tính toán đúng và nhất quán  Gỡ rối (Debugging) Operating System Concepts – 7th Edition, Jan 14, 2005 2.5 Silberschatz, Galvin and Gagne ©2005
  6. CCÁÁCC DDỊỊCHCH VVỤỤ HHĐĐHH (Cont.)(Cont.) „ Tậpcácchứcnăng khác của HĐH nhằm đảmbảohệ thống hoạt động hiệuquả thông qua chia sẻ tài nguyên z Cấp phát tài nguyên (Resource allocation) : nhiềukiểucấp phát tài nguyên  Mộtsố (ví dụ CPU cycles,mainmemory, và file storage) có thể có mã cấp phát đặcbiệt  Mộtsố khác (ví dụ I/O devices) có thể có mã yêu cầuvàgiải phóng chung z Kiểm toán (Accounting) : Lưuvếtsử dụng củangười dùng (kiểutài nguyên, thờigiansử dụng ) z Bảovệ và an ninh (Protection and security) :  Bảovệ : bao gồm đảmbảotấtcả các truy xuất đến các nguyên hệ thống được điềukhiển  An ninh : chống truy xuấtbấthợplệđến các tài nguyên Operating System Concepts – 7th Edition, Jan 14, 2005 2.6 Silberschatz, Galvin and Gagne ©2005
  7. GIAOGIAO DIDIỆỆNN HHÀÀNGNG LLỆỆNHNH CLICLI „ CLI cho phép đầuvàolệnh trựctiếp:  Mộtsố thựchiệntrongphương thứchạt nhân, mộtsố bởi chương trình hệ thống  shells  Đem về một hàng lệnh từ người dùng và thựchiệnnó – Các lệnh dính liền – Tên chương trình Operating System Concepts – 7th Edition, Jan 14, 2005 2.7 Silberschatz, Galvin and Gagne ©2005
  8. GIAOGIAO DIDIỆỆNN NGNGƯƯỜỜII DDÙÙNGNG ĐĐỒỒ HHỌỌAA GUIGUI „ Giao diệnbiểutượng z Chuột, bàn phím và màn hình z Các biểutượng (Icons) biểudiễn files, chương trình, hành động z Các phím chuộttrênđốitượng giao diệngâyracáchànhdộng khác nhau (cung cấp thông tin, chọnlựa, thựchiệnchứcnăng, mở thư mục ) „ Nhiềuhệ thống bao hàm cả CLI và GUI z Microsoft Windows z Apple Mac OS X z UNIX z Solaris (Java Desktop, KDE) Operating System Concepts – 7th Edition, Jan 14, 2005 2.8 Silberschatz, Galvin and Gagne ©2005
  9. LLỜỜII GGỌỌII HHỆỆ THTHỐỐNGNG „ Giao diệnlậptrìnhđếncácdịch vụ „ Thường đượcviết trong ngôn ngữ lậptrìnhmức cao (C / C++ ) „ Đượctruyxuấtbởichương trình thông qua giao diệnlậptrìnhứng dụng mứccao(Application Program Interface - API) „ Các API thông dụng nhất: z Win32 API / Windows z POSIX API cho các hệ thống dựatrênPOSIX (baogồmtấtcả các phiên bảncủa UNIX, Linux, và Mac OS X), and z Java API cho máy ảo Java (Java virtual machine - JVM) Operating System Concepts – 7th Edition, Jan 14, 2005 2.9 Silberschatz, Galvin and Gagne ©2005
  10. VVÍÍ DDỤỤ LLỜỜII GGỌỌII HHỆỆ THTHỐỐNGNG „ Dãy lờigọihệ thống để sao chép một file Operating System Concepts – 7th Edition, Jan 14, 2005 2.10 Silberschatz, Galvin and Gagne ©2005
  11. VVÍÍ DDỤỤ APIAPI CHUCHUẨẨNN „ Chứcnăng đọc file ReadFile() trong z Win32 API— mộthàmđọc file z Mô tả các tham số:  HANDLE file—file được đọc  LPVOID buffer— buffer ởđódữ liệu đượcdọcvào/ viếtra  DWORD bytesToRead— số bytes được đọc vào buffer  LPDWORD bytesRead— số bytes được đọctronglần đọcsau cùng  LPOVERLAPPED ovl—chỉ ra I/O viết đè được dùng Operating System Concepts – 7th Edition, Jan 14, 2005 2.11 Silberschatz, Galvin and Gagne ©2005
  12. THTHỰỰCC THITHI LLỜỜII GGỌỌII HHỆỆ THTHỐỐNGNG „ Thông thường, mộtsố kếthợpvớimỗilờigọihệ thống z Giao diệnlờigọihệ thống duy trì mộtbảng tương ứng vớicác số này „ Giao diệnlờigọihệ thống gọilờigọihệ thống mong muốn trong hạt nhân, trả lại tình trạng lờigọihệ thống và trả lại các giá trị „ Ngườigọi không cầnbiếtvề sự thựcthicủalờigọihệ thống z Chỉ cần tuân thủ API và hiểucáimà HĐH sẽ làm như kếtquả z Hầuhết chi tiếtcủagiaodiện HĐH đượcchebởi API Operating System Concepts – 7th Edition, Jan 14, 2005 2.12 Silberschatz, Galvin and Gagne ©2005
  13. APIAPI –– LLỜỜII GGỌỌII HHỆỆ THTHỐỐNGNG –– MMỐỐII QUANQUAN HHỆỆ OSOS Operating System Concepts – 7th Edition, Jan 14, 2005 2.13 Silberschatz, Galvin and Gagne ©2005
  14. VVÍÍ DDỤỤ THTHƯƯ VIVIỆỆNN CC CHUCHUẨẨNN „ Chương trình C gọilờigọithư viện printf(), printf gọilờigọihệ thống write() Operating System Concepts – 7th Edition, Jan 14, 2005 2.14 Silberschatz, Galvin and Gagne ©2005
  15. TRUYTRUYỀỀNN THAMTHAM SSỐỐ TRONGTRONG LLỜỜII GGỌỌII HHỆỆ THTHỐỐNGNG „ Thông thường, thông tin được đòi hỏi nhiềuhơn định danh củalời gọihệ thống mong muốn z Kiểuvàsố lượng thông tin thay đổi tùy theo HĐH và lờigọi „ Ba phương pháp chung để truyềnthamsố z Truyền than số trong thanh ghi z Tham sốđượclưutrongmộtkhối/ bảng trong bộ nhớđịachỉ khối đượctruyềntrongmột thanh ghi (Linux và Solaris) z Các tham sốđượcbố trí / đẩn lên stack bởichương trình và được pop từ stack bởi HĐH z Khối và stack không giớihạn độ dài tham sốđượctruyền Operating System Concepts – 7th Edition, Jan 14, 2005 2.15 Silberschatz, Galvin and Gagne ©2005
  16. TRUYTRUYỀỀNN THAMTHAM SSỐỐ THÔNGTHÔNG QUAQUA BBẢẢNGNG Operating System Concepts – 7th Edition, Jan 14, 2005 2.16 Silberschatz, Galvin and Gagne ©2005
  17. CCÁÁCC KIKIỂỂUU LLỜỜII GGỌỌII HHỆỆ THTHỐỐNGNG „ Điềukhiển quá trình „ Quảntrị file „ Quảntrị thiếtbị „ Duy trì thông tin „ Liên lạc Operating System Concepts – 7th Edition, Jan 14, 2005 2.17 Silberschatz, Galvin and Gagne ©2005
  18. SSỰỰ THTHỰỰCC HIHIỆỆNN TRONGTRONG MSMS DOSDOS (a) At system startup (b) running a program Operating System Concepts – 7th Edition, Jan 14, 2005 2.18 Silberschatz, Galvin and Gagne ©2005
  19. FreeBSDFreeBSD CHCHẠẠYY NHINHIỀỀUU CHCHƯƠƯƠNGNG TRÌNHTRÌNH Operating System Concepts – 7th Edition, Jan 14, 2005 2.19 Silberschatz, Galvin and Gagne ©2005
  20. CCÁÁCC CHCHƯƠƯƠNGNG TRÌNHTRÌNH HHỆỆ THTHỐỐNGNG „ Các chương trình hệ thống cung cấpmôitrường thuậnlợicho phát triểnvàthựchiệnchương trình. Có thểđược chia thành: z Thao tác file: Tạo, xóa, sao chép, đổi tên, in, dump, liệtkê z Thông tin tình trạng:  Date, time, lượng bộ nhớ sẵn dùng, không gian đĩa, số người dùng  Thông tin sổ ghi, gỡ rối  Thông tin cấuhình z Sửa đổi file  Các bộ soạnthảovănbảntạovàsửa đổi files  Các lệnh tìm kiếmnội dung file và biến đổivănbản Operating System Concepts – 7th Edition, Jan 14, 2005 2.20 Silberschatz, Galvin and Gagne ©2005
  21. CCÁÁCC CHCHƯƠƯƠNGNG TRÌNHTRÌNH HHỆỆ THTHỐỐNGNG (cont)(cont) z Hỗ trợ ngôn ngữ lậptrình  Compilers, assemblers, debuggers và interpreters z Nạpvàthựchiệnchương trình  Bộ nạptuyệt đối, bộ nạptáiđịnh vị, bộ tạonốikết, bộ phủ lấp, hệ thống gỡirối cho ngôn ngữ mức cao và ngôn ngữ máy z Liên lạc  Cung cấpcơ chế tạonốikết ảogiữa các quá trình, người dùng và các hệ thống máy tính  Chophépngười dùng gửi thông điệp các màn hình khác, duyệt các trang Web, thưđiệntử, log-in từ xa, truyền files z Các trình ứng dụng Hầuhếtngười dùng nhìn HĐH dướicácchương trình hệ thống không dướicáclờigọihệ thống Operating System Concepts – 7th Edition, Jan 14, 2005 2.21 Silberschatz, Galvin and Gagne ©2005
  22. THITHIẾẾTT KKẾẾ && THTHỰỰCC THITHI HHĐĐHH „ Cấu trúc bên trong củacác HĐH khác nhau có thể rất khác nhau „ Bắt đầubởixácđịnh các đích và các đặctả „ Bịảnh hưởng bởichọnphầncứng, kiểuhệ thống „ Đích người dùng và đích hệ thống z Đích người dùng: thuậnlợichoviệcsử dụng, dễ học, tin cậy, an toàn và nhanh z Đích hệ thống : dễ thiếtkế, thựcthi, bảotrì, mềmdẻo, tin cậy, lượng thứ lỗivàhiệuquả „ Tách biệt chính sách và cơ chế là nguyên lý rất quan trọng để đảm bảo tính mềmdẻo z Chính sách: làm cái gì? z Cơ chế: Làm như thế nào? Operating System Concepts – 7th Edition, Jan 14, 2005 2.22 Silberschatz, Galvin and Gagne ©2005
  23. CCẤẤUU TRTRÚÚCC ĐƠĐƠNN GIGIẢẢNN „ MS-DOS – Đượcviết để cung cấpcáctínhnăng trong một “không gian hẹp” z Không chia thành các modules z Có cấutrúcnhưng các giao diệnvàcácmức tính năng không đượctáchbiệt Operating System Concepts – 7th Edition, Jan 14, 2005 2.23 Silberschatz, Galvin and Gagne ©2005
  24. CCẤẤUU TRTRÚÚCC PHÂNPHÂN TTẦẦNGNG CCỦỦAA MSMS DOSDOS Operating System Concepts – 7th Edition, Jan 14, 2005 2.24 Silberschatz, Galvin and Gagne ©2005
  25. PHPHƯƠƯƠNGNG PHPHÁÁPP PHÂNPHÂN TTẦẦNGNG „ HĐH được chia thành mộtsố tầng (mức), mỗimột đượcxâydựng trên các mứcthấphơn, mứcthấpnhất là hardware, mức cao nhất là giao diệnngười dùng „ Với tính module hóa, các tầng đượcxâydựng sao cho mỗimộtchỉ sử dụng các chứcnăng, dịch vụ củacáctầng thấphơn Operating System Concepts – 7th Edition, Jan 14, 2005 2.25 Silberschatz, Galvin and Gagne ©2005
  26. HHĐĐHH PHÂNPHÂN TTẦẦNGNG Operating System Concepts – 7th Edition, Jan 14, 2005 2.26 Silberschatz, Galvin and Gagne ©2005
  27. UNIXUNIX „ UNIX – Bị giớihạnbởi tính năng phầncứng, đượccấu trúc hóa, gồm hai phầntáchbiệt: z Các chương trình hệ thống z Hạtnhân  Mọithứ bên dướigiaodiệnlờigọihệ thống bên trên phần cứng  Cung cấphệ thống file, lậplịch biểuCPU, quảntrị bộ nhớ, các các chứcnăng khác Operating System Concepts – 7th Edition, Jan 14, 2005 2.27 Silberschatz, Galvin and Gagne ©2005
  28. CCẤẤUU TRTRÚÚCC HHỆỆ THTHỐỐNGNG UNIXUNIX Operating System Concepts – 7th Edition, Jan 14, 2005 2.28 Silberschatz, Galvin and Gagne ©2005
  29. CCẤẤUU TRTRÚÚCC HHỆỆ THTHỐỐNGNG VIVI HHẠẠTT NHÂNNHÂN „ Chuyển nhiềunhấtnhư có thể các chứcnăng hạt nhân sang không gian người dùng „ Liên lạcgiữa các modules người dùng sử dụng truyền thông điệp „ Các lợi điểm: z Dễ dàng hơn trong việcmở rộng microkernel z Dễ dàng hơn trong việclái HĐH sang các cấutrúcmới z Đáng tin cậyhơn z An ninh hơn „ Các phương hại: z Tổng phí hiệunăng liên lạc không gian người dùng-không gian hạt nhân cao Operating System Concepts – 7th Edition, Jan 14, 2005 2.29 Silberschatz, Galvin and Gagne ©2005
  30. CCẤẤUU TRTRÚÚCC MacMac OSOS XX Operating System Concepts – 7th Edition, Jan 14, 2005 2.30 Silberschatz, Galvin and Gagne ©2005
  31. CCÁÁCC MODULESMODULES „ Hầuhếtcác HĐH hiện đạithực thi các modules hạt nhân: z Sử dụng tiếpcậnhướng đốitượng z Tách biệtmỗi thành phầnlõi z Trao đổi thông qua giao diện z Có thể nạpmỗikhicần Operating System Concepts – 7th Edition, Jan 14, 2005 2.31 Silberschatz, Galvin and Gagne ©2005
  32. TITIẾẾPP CCẬẬNN MODULEMODULE HHÓÓAA SolarisSolaris Operating System Concepts – 7th Edition, Jan 14, 2005 2.32 Silberschatz, Galvin and Gagne ©2005
  33. MMÁÁYY ẢẢOO „ Máy ảo: z tiếpcận phân tầng z Ứng xử hạt nhân HĐH như phầncứng z Cung cấpmộtgiaodiện đồng nhất „ HĐH tạoramột ảo ảnh đa quá trình, mỗimộtchạytrênmộtbộ xử lý riêng, bố nhớ riêng „ Các tài nguyên máy tính vậtlýđượcchiasẻđểtạoracácmáy ảo: z Lậplịch biểuCPU tạoravẻ mỗingườidùngcóbộ xử lý riêng z Spooling và hệ thống file cung cấpbộđọc card ảovàmáy in ảo z Đầucuốithờigianchiasẻ người dùng cung cấp console toán tử máy ảo Operating System Concepts – 7th Edition, Jan 14, 2005 2.33 Silberschatz, Galvin and Gagne ©2005
  34. MMÁÁYY ẢẢOO (Cont.)(Cont.) Non-virtual Machine Virtual Machine (a) Nonvirtual machine (b) virtual machine Operating System Concepts – 7th Edition, Jan 14, 2005 2.34 Silberschatz, Galvin and Gagne ©2005
  35. MMÁÁYY ẢẢOO (Cont.)(Cont.) „ Quan niệmmáyảocungcấpsự bảovệđầy đủ các tài nguyên hệ thống vì mỗimáyảo đượccôlậpvới các máy khác, tuy nhiên sự cô lập này không cho phép chia sẻ tài nguyên trựctiếp „ Hệ thống máy ảolàcỗ máy hoàn hảo cho nghiên cứu và phát triển HĐH „ Quan niệmmáyảokhóthựcthi Operating System Concepts – 7th Edition, Jan 14, 2005 2.35 Silberschatz, Galvin and Gagne ©2005
  36. KIKIẾẾNN TRTRÚÚCC VMwareVMware Operating System Concepts – 7th Edition, Jan 14, 2005 2.36 Silberschatz, Galvin and Gagne ©2005
  37. MMÁÁYY ẢẢOO JavaJava Operating System Concepts – 7th Edition, Jan 14, 2005 2.37 Silberschatz, Galvin and Gagne ©2005
  38. SSỰỰ SINHSINH RARA HHĐĐHH „ Các HĐH đượcthiếtkếđểchạytrênmộtmáybấtkỳ củamột“mẫu máy tính”, hệ thống phải đượccấuhìnhchomỗi site máy tính xác định „ Chương trình SYSGEN nhận được thông tin liên quan đếncấu hình xác định củahệ thống phầncứng „ Booting –Khởi động máy tính bởinạphạt nhân „ Chương trình Bootstrap : code đượclưu trong ROM có khả năng định vị hạt nhân, nạpnóvàobộ nhớ và khởi động sự thựchiệncủa nó Operating System Concepts – 7th Edition, Jan 14, 2005 2.38 Silberschatz, Galvin and Gagne ©2005
  39. BOOTBOOT HHỆỆ THTHỐỐNGNG „ Đoạn code nhỏ - bootstrap loader: định vị hạt nhân, nạpvàobộ nhớ và khởi động nó „ Đôi khi, quá trình hai bước: z boot block ở vị trí cốđịnh nạpbộ nạp bootstrap z Khi đượccấp nguồn, sự thựchiệnbắt đầu ở mộtvị trí bộ nhớ cốđịnh z Firmware = initial boot code Operating System Concepts – 7th Edition, Jan 14, 2005 2.39 Silberschatz, Galvin and Gagne ©2005
  40. EndEnd ofof ChapterChapter 22