Hệ điều hành nâng cao - Tổ chứchệđiềuhành

Quảntrị tài nguyên „ Tài nguyên: CPU, RAM, HDD, printer… „ Đốitượng sử dụng tài nguyên: Chương trình ƯD „ Nhiệmvụ: Cung cấpgiảithuậtcấp phát, quảntrị tài nguyên cho các đốitượng hoạt động. „ Mụctiêu:Cấpphát đầy đủ, công bằng, hiệuquả „ Điều khiểnthiếtbị „ Nhiệmvụ: Che dấu các chi tiếtphầncứng, tạomôitrường dễ làm việchơnchoNSD. „ Mụctiêu: Tạosựđộclậpthiếtbị. „ Ví dụ: Làm sao để MS.Word có thể in đượcvới nhiềuloạimáy in khác nhau như in kim, laser, phun của nhiều hãng khác nhau

pdf24 trang | Chia sẻ: tue_kc | Lượt xem: 2779 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Hệ điều hành nâng cao - Tổ chứchệđiềuhành, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
10/28/2005 Trần Hạnh Nhi 1 Hệ điều hành nâng cao (Advanced Operating System) PHAN Xuân Huy {pxhuy@fit.hcmuns.edu.vn} 10/28/2005 Trần Hạnh Nhi 2 Thông tin giới thiệu „ Bố cục môn học: 45 LT + 30 TH „ Hình thức thi: „ Lý thuyết: 7 điểm (Không sử dụng tài liệu) „ Thực hành: 3 điểm (Theo qui định của GVHDTH) „ Các thắc mắc vui lòng liên hệ: Phan Xuân Huy – pxhuy@fit.hcmuns.edu.vn „ Giáo trình môn học: „ Hệ điều hành nâng cao - Trần Hạnh Nhi – ĐHKHTN Tp.HCM 10/28/2005 Trần Hạnh Nhi 3 Tài liệu tham khảo (1/3) „ A. Silberschatz, P. B. Galvin, and G. Gagne, “Applied Operating Systems Concepts”, 1st Edition, John Wiley & Sons, 2000. 10/28/2005 Trần Hạnh Nhi 4 Tài liệu tham khảo (2/3) „ A. S. Tanenbaum, “Modern Operating Systems”, 2nd Edition, Prentice-Hall Intl., 2001. 10/28/2005 Trần Hạnh Nhi 5 Tài liệu tham khảo (3/3) „ W. Stallings, “Operating Systems: Internals and Design Principles”, 4th Edition, Prentice-Hall, 2000. 10/28/2005 Trần Hạnh Nhi 6 Mục tiêu của môn học: Cung cấp „ Các kiến thức cơ bản về HĐH đa nhiệm „ Hiểu rõ mô hình tổ chức, nguyên lý hoạt động, của các thành phần cơ sở của một HĐH hiện đại „ Đứng ở vai trò người thiết kế, xây dựng Hệ điều hành (HĐH – Operating System) „ Đi sâu hơn vào vai trò của HĐH & tìm hiểu, xây dựng các thành phần của HĐH. „ Tập trung vào 2 module: „ Quản lý tiến trình „ Quản lý bộ nhớ 10/28/2005 Trần Hạnh Nhi 7 Thảo luận – 1CPU vs nhiều Chương trình „ Nhu cầu: Người dùng luôn thích sử dụng HĐH cho phép chạy vài chương trình đồng thời Hệ điều hành như thế gọi là gì? „ Thực tế: Hầu hết các máy tính chỉ có một bộ vi xử lý (các máy có >1 CPU rất đắt tiền) Làm sao thỏa mãn được nhu cầu người dùng? „ Một CPU rõ ràng chỉ có thể chạy được một chương trình „ Không thể chia CPU làm nhiều phần như chia bánh được 10/28/2005 Trần Hạnh Nhi 8 Thảo luận – Chia sẻ bộ nhớ „ Các chương trình muốn có thể chạy thì trước hết cần phải được nạp vào trong bộ nhớ chính (RAM). „ Khi có nhiều chương trình cùng sử dụng bộ nhớ thì HĐH sẽ thực hiện việc chia sẻ cho mỗi chương trình không gian nhớ riêng. „ Vấn đề: bộ nhớ RAM thì có hạn (ví dụ 64MB), vậy khi chạy nhiều chương trình thì ra sao ??? Ví dụ: „ Windows XP (lõi) 60MB „ Windows Media Player 12MB „ Visual Studio .NET 30MB „ Làm cách nào mà Windows vẫn chạy được? 10/28/2005 Trần Hạnh Nhi 9 Nội dung môn học: gồm 5 chương „ Chương 1: Tổ chức hệ điều hành „ Chương 2: Quản lý tiến trình „ Chương 3: Liên lạc giữa các tiến trình „ Chương 4: Quản lý bộ nhớ „ Chương 5: An toàn hệ thống 10/28/2005 Trần Hạnh Nhi 10 Chương 1: Tổng quan về HĐH „ Nội dung chương: „ Vai trò của Hệ điều hành „ Các thành phần của HĐH „ Một số kiến trúc HĐH 10/28/2005 Trần Hạnh Nhi 11 Vai trò của HĐH „ Quản trị tài nguyên „ Tài nguyên: CPU, RAM, HDD, printer… „ Đối tượng sử dụng tài nguyên: Chương trình ƯD „ Nhiệm vụ: Cung cấp giải thuật cấp phát, quản trị tài nguyên cho các đối tượng hoạt động. „ Mục tiêu:Cấp phát đầy đủ, công bằng, hiệu quả „ Điều khiển thiết bị „ Nhiệm vụ: Che dấu các chi tiết phần cứng, tạo môi trường dễ làm việc hơn cho NSD. „ Mục tiêu: Tạo sự độc lập thiết bị. „ Ví dụ: Làm sao đểMS.Word có thể in được với nhiều loại máy in khác nhau như in kim, laser, phun của nhiều hãng khác nhau 10/28/2005 Trần Hạnh Nhi 12 HĐH và các thành phần của hệ thống 10/28/2005 Trần Hạnh Nhi 13 HĐH và các thành phần của hệ thống 10/28/2005 Trần Hạnh Nhi 14 Các dịch vụ của hệ thống „ Nạp và thi hành chương trình (load & run) „ Các thao tác xuất nhập (I/O Operations) „ Các thao tác truy xuất/cập nhật hệ thống tập tin (file system) „ Các cơ chế liên lạc/trao đổi thông tin giữa các tác vụ „ Phát hiện/chỉnh sửa lỗi „ … Æ Giao tiếp giữa các chương trình ứng dụng và HĐH được thực hiện phần lớn thông qua các lời gọi hệ thống (System Call) 10/28/2005 Trần Hạnh Nhi 15 Các thành phần của HĐH „ Quản lý tài nguyên là vai trò quan trọng nhất của HĐH, do đó cần có một số thành quản lý CPU, quản lý bộ nhớ, … „ CPU : quản lý tiến trình(bao gồm quản lý CPU) „ RAM : quản lý bộ nhớ chính „ Input/Output : quản lý nhập/xuất (thấy rõ ở DOS) „ Hệ thống tập tin : Quản lý tập tin „ Hệ thống bảo vệ „ Quản lý mạng „ Shell (giao tiếp người dùng) 10/28/2005 Trần Hạnh Nhi 16 Các thành phần của HĐH Quaûn lyù tieán trình Quaûn lyù boä nhôù chính Quaûn lyù nhaääp xuaát Quaûn lyù boä nhôù phuï Heä thoáng taäp tin Heä thoáng baûo veä Giao tieáp maïngBoä thoâng dòch leänh 10/28/2005 Trần Hạnh Nhi 17 Kiến trúc HĐH „ Kiến trúc đơn giản „ Kiến trúc phân lớp „ Kiến trúc máy ảo „ Kiến trúc client/server 10/28/2005 Trần Hạnh Nhi 18 1. Kiến trúc đơn giản „ Ví dụ điển hình cho kiến trúc này là DOS, trong đó HĐH chỉ làm một số nhiệm vụ quản lý còn khá đơn giản và cung cấp thêm một số dịch vụ. „ HĐH = Thư viện hàm. „ UD của người dùng vẫn có thể truy cập trực tiếp đến phần cứng thông qua BIOS, cổng phần cứng „ Không hỗ trợ đa nhiệm. „ Đánh giá khi chương trình treo? Ứng dụng Hệ điều hành (DOS) Phần cứng (BIOS, port) Tiện ích thường trú Ví dụ với HĐH DOS 10/28/2005 Trần Hạnh Nhi 19 2. Kiến trúc phân lớp (1/2) „ HĐH phân thành nhiều lớp.Mỗi lớp phụ trách 1 chức năng đặc thù. „ Lớp bên trên sử dụng chức năng do các lớp bên dưới cung cấp. Æ Khó xác định số lượng lớp, thứ tự lớp !!! Æ Chi phí truyền tham số xuyên các lớp !!! 10/28/2005 Trần Hạnh Nhi 20 Kiến trúc phân lớp (2/2) Kiến trúc phân lớp tổng quát của HĐH Kiến trúc phân lớp của các HĐH Windows cũ 10/28/2005 Trần Hạnh Nhi 21 3. Kiến trúc máy ảo (1/3) „ Có nghe đến máy ảo bao giờ? Ví dụ? „ Do mục tiêu của HĐH là chạy được nhiều chương trình đồng thời trên một máy tính nên cách tốt nhất là tạo ra nhiều máy tính ảo từ một máy tính thật để các chương trình chạy riêng trên các máy ảo. „ Về nguyên tắc các chương trình không biết mình đang chạy trên máy ảo, cũng không biết mình đang phải chia sẻ tài nguyên với các chương trình khác. Ví dụ: „ CPU ảo: mỗi chương trình* sở hữu một CPU ảo „ Bộ nhớ ảo: mỗi chương trình một không gian nhớ riêng 10/28/2005 Trần Hạnh Nhi 22 3.Kiến trúc máy ảo (2/3) Non-virtual Machine Virtual Machine 10/28/2005 Trần Hạnh Nhi 23 3. Kiến trúc máy ảo (3/3) „ Ưu điểm: „ Môi trường thuận lợi cho sự tương thích „ Tăng tính an toàn cho hệ thống do các VM độc lập „ Dễ phát triển các HĐH đơn nhiệm cho các VM độc lập. „ Khuyết điểm „ Phức tạp trong việc giả lập. 10/28/2005 Trần Hạnh Nhi 24 4. Kiến trúc client/server „ Các dịch vụ của HĐH được chia thành 2 phần: „ Server: phần hạt nhân, lệ thuộc phần cứng „ Client: các tiện ích hệ thống, sử dụng dịch vụ do server cung cấp