Hệ điều hành - Chương 2: Cấu trúc hệ điều hành
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:
- he_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
- CHCHƯƠƯƠNGNG 22 CCẤẤUU TRTRÚÚCC HHỆỆ ĐĐIIỀỀUU HHÀÀNHNH
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- HHĐĐHH PHÂNPHÂN TTẦẦNGNG Operating System Concepts – 7th Edition, Jan 14, 2005 2.26 Silberschatz, Galvin and Gagne ©2005
- 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
- CCẤẤUU TRTRÚÚCC HHỆỆ THTHỐỐNGNG UNIXUNIX Operating System Concepts – 7th Edition, Jan 14, 2005 2.28 Silberschatz, Galvin and Gagne ©2005
- 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
- CCẤẤUU TRTRÚÚCC MacMac OSOS XX Operating System Concepts – 7th Edition, Jan 14, 2005 2.30 Silberschatz, Galvin and Gagne ©2005
- 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
- TITIẾẾPP CCẬẬNN MODULEMODULE HHÓÓAA SolarisSolaris Operating System Concepts – 7th Edition, Jan 14, 2005 2.32 Silberschatz, Galvin and Gagne ©2005
- 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
- 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
- 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
- KIKIẾẾNN TRTRÚÚCC VMwareVMware Operating System Concepts – 7th Edition, Jan 14, 2005 2.36 Silberschatz, Galvin and Gagne ©2005
- MMÁÁYY ẢẢOO JavaJava Operating System Concepts – 7th Edition, Jan 14, 2005 2.37 Silberschatz, Galvin and Gagne ©2005
- 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
- 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
- EndEnd ofof ChapterChapter 22