Bài giảng Hệ điều hành - Chương 1: Tổng quan về hệ điều hành - Đỗ Quốc Huy

Tóm Lược Khái niệm Hệ điều hành Cấu trúc phân lớp của hệ thống Chức năng Hệ điều hành Lịch sử phát triển Hệ điều hành Lịch sử phát triển của máy tính điện tử Lịch sử phát triển Hệ điều hành Định nghĩa và phân loại Hệ điều hành Định nghĩa Phân loại Hệ điều hành Tính chất cơ bản của Hệ điều hành Độ tin cậy cao An toàn Hiệu quả Tổng quát theo thời gian Thuận tiện Các khái niệm trong hệ điều hành Tiến trình và luồng Tài nguyên hệ thống Bộ xử lý lệnh (Shell) Lời gọi hệ thống (System calls) Cấu trúc hệ điều hành Những thành phần của hệ thống Dịch vụ Hệ điều Hành Lời gọi hệ thống Các cấu trúc hệ thống Vấn đề xây dựng Hệ điều hành

ppt145 trang | Chia sẻ: hachi492 | Ngày: 05/01/2022 | Lượt xem: 485 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Hệ điều hành - Chương 1: Tổng quan về hệ điều hành - Đỗ Quốc Huy, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Hệ Điều Hành ( Nguyên lý các hệ điều hành ) TS. Đỗ Quốc Huy huydq@soict.hust.edu.vn Bộ môn Khoa Học Máy Tính Viện Công Nghệ Thông Tin và Truyền Thông Giáo trình: Operating System Concepts – Abraham Siblerschatz Modern Operating System – Andrew Tanenbaum -Bài tập lớn Thông tin khoá học Tổng quan về hệ điều hành Quản lý tiến trình Quản lý bộ nhớ Quản lý hệ thống file Quản lý vào ra Nội dung môn học Khái niệm Lịch sử phát triển Định nghĩa và phân loại Tính chất cơ bản Các khái niệm trong H ệ điều hành Cấu trúc H ệ điều hành Vấn đề xây dựng Hệ điều hành Chương 1 Tổng quan về Hệ Điều Hành Khái niệm Hệ điều hành Lịch sử phát triển Hệ điều hành Định nghĩa và phân loại Hệ điều hành Tính chất cơ bản của Hệ điều hành Các khái niệm trong hệ điều hành Cấu trúc hệ điều hành Vấn đề xây dựng Hệ điều hành Chương 1 Tổng quan về Hệ Điều Hành Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành Khái niệm Hệ điều hành Cấu trúc phân lớp của hệ thống tính toán Chức năng HĐH Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành 1.1. Cấu trúc phân lớp của hệ thống tính toán Sơ đồ kiến trúc của một hệ thống máy tính Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành 1.1. Cấu trúc phân lớp của hệ thống tính toán Sơ đồ kiến trúc của một hệ thống máy tính Một/ nhiều CPUs, các thiết bị điều khiển được liên kết bằng 1 hệ thống bus chung để truy nhập tới bộ nhớ chia sẻ Các thiết bị điều khiển và CPU thực hiện đồng thời, cạnh tranh với nhau Bộ vào ra Bộ nhớ Đường Truyền Bộ xử lý Sơ đồ kiến trúc của một hệ thống máy tính Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành 1.1. Cấu trúc phân lớp của hệ thống tính toán Các thành phần của một hệ thống tính toán ( Silberschatz 2002 ) Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành 1.1. Cấu trúc phân lớp của hệ thống tính toán Các thành phần của một hệ thống tính toán ( Tanenbaum 2001 ) Các thành phần của một hệ thống tính toán ( Tanenbamum 2001 ) Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành 1.1. Cấu trúc phân lớp của hệ thống tính toán Các thành phần của một hệ thống tính toán Phần cứng (Hardware) Cung cấp các tài nguyên tính toán cơ bản (CPU, bộ nhớ, thiết bị vào ra) Hệ điều hành (Operating system) điều khiển và phối hợp việc sử dụng phần cứng cho những ứng dụng khác nhau của nhiều người sử dụng khác nhau Chương trình ứng dụng(Application programs) (chương trình dịch, hệ cơ sở dữ liệu, game,...) sử dụng tài nguyên của máy tính để giải quyết các yêu cầu của người sử dụng Người dùng (Users) Người sử dụng máy móc hay máy tính khác Các thành phần của một hệ thống tính toán Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành 1.1. Cấu trúc phân lớp của hệ thống tính toán Hệ điều hành (Operating system) nằm giữa phần cứng của hệ thống và các chương trình ứng dụng Mục tiêu : Cung cấp 1 môi trường để người sử dụng có thể thực hiện các chương trình ứng dụng và làm cho máy tính dễ sử dụng hơn, thuận lợi hơn và hiệu quả hơn . Chuẩn hóa giao diện người dùng đối với các hệ thống phần cứng khác nhau Sử dụng hiệu quả tài nguyên phần cứng và khai thác tối đa hiệu suất của phần cứng Vị trí và mục tiêu Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành Khái niệm Hệ điều hành Cấu trúc phân lớp của hệ thống tính toán Chức năng hệ điều hành Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành 1.2. Chức năng của hệ điều hành Giả lập một máy tính ảo Quản lý tài nguyên của hệ thống Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành 1.2. Chức năng của hệ điều hành Giúp ẩn dấu chi tiết phải thực hiện và khai thác các chức năng của phần cứng máy tính dễ dàng và hiệu quả hơn. Đơn giản hóa vấn đề lập trình Không phải làm việc với các dãy nhị phân Mỗi chương trình (CT) đang thực hiện nghĩ nó sở hữu toàn bộ bộ nhớ, thời gian CPU, thiết bị... Giúp giao tiếp với thiết bị dễ dàng hơn so với phần cứng thuần túy. Ethernet card: Trao đổi tin cậy, theo thứ tự (TCP/IP) Giả lập một máy tính ảo Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành 1.2. Chức năng của hệ điều hành Giả lập một máy tính ảo Giả lập một máy tính ảo Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành 1.2. Chức năng của hệ điều hành Giả lập một máy tính ảo Mở rộng hệ thống → hệ thống dường như có những đặc trưng mong muốn (bộ nhớ ảo, máy in ảo..) Các CT đang hoạt động không ảnh hưởng trực tiếp đến CT khác → lỗi ở 1 CT không làm hỏng toàn bộ hệ thống Máy ảo: Hữu ích cho phát triển HĐH Nếu HĐH thử nghiệm bị lỗi, chỉ giới hạn trong máy ảo Trợ giúp k i ểm tra các chương trình trên các HĐH khác Giả lập một máy tính ảo Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành 1.2. Chức năng của hệ điều hành Giả lập một máy tính ảo Giả lập một máy tính ảo Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành 1.2. Chức năng của hệ điều hành Quản lý tài nguyên của hệ thống Tài nguyên hệ thống (Vi xử lý, bộ nhớ, thiết bị vào ra, file...) được CT sử dụng để thực hiện công việc xác định Các CT đòi hỏi tài nguyên về mặt thời gian (sử dụng) và không gian (nhớ) Quản lý tài nguyên của hệ thống Chương 1 Tổng quan về Hệ Điều Hành 1. Khái niệm Hệ điều hành 1.2. Chức năng của hệ điều hành Quản lý tài nguyên của hệ thống HĐH phải quản lý để máy tính hoạt động 1 cách hiệu quả nhất Phân phối các tài nguyên cho các CT khi cần thiết Giải quyết tranh chấp Quyết định thứ tự cấp phát tài nguyên cho những yêu cầu Ví dụ: quản lý tài nguyên bộ nhớ (hữu hạn) Nhiều CT cùng có thể được thực hiện Tránh truy cập bất hợp lệ Phải đảm bảo toàn vẹn dữ liệu (dùng chung vùng nhớ: file) Quản lý tài nguyên của hệ thống Khái niệm Hệ điều hành Lịch sử phát triển Hệ điều hành Các khái niệm trong hệ điều hành Định nghĩa và phân loại Hệ điều hành Tính chất cơ bản của Hệ điều hành Cấu trúc hệ điều hành Vấn đề xây dựng Hệ điều hành Chương 1 Tổng quan về Hệ Điều Hành 1948-1970 : Phần cứng đắt; nhân công rẻ 1970-1981 : Phần cứng rẻ; nhân công đắt 1981- : Phần cứng rất rẻ, nhân công rất đắt 1981- : Các hệ thống phân tán 1995- : Các thiết bị di động Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.1. Lịch sử phát triển của máy tính điện tử Lịch sử phát triển của máy tính điện tử 1946 Máy ENIAC dựa trên đèn điện tử có tốc độ nhanh và độ tin cậy thấp hơn Rơle Sơ đồ Von Neumann ra đời trong giai đoạn này 18000 ống chân không 70000 cái điện trở 5 triệu mối nối hàn bằng kim loại 1948-1970 : Máy tính 1-5 M$ : Tài sản quốc gia và sử dụng chủ yếu trong quân sự ⇒ Cần tối ưu hóa để sử dụng hiệu quả phần cứng Thiếu sự tương tác giữa người dùng và máy. Không phân biệt người sử dụng; người lập trình, thao tác viên 1 người dùng tại 1 thời điểm Người sử dụng sẽ viết chương trình; gồm nhiều bìa đục lỗ Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành 1948-1970 Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành Bìa đục lỗ (punch card) 1948-1970 1 người dùng tại 1 thời điểm Người sử dụng sẽ viết chương trình; gồm nhiều bìa đục lỗ Tấm bìa đầu tiên là chương trình mồi (bootstraps loader) được đọc vào bộ nhớ và thực hiện Lệnh trong chương trình mồi đọc vào bộ nhớ và thực hiện các lệnh nằm trên các tấm bìa sau vào bộ nhớ và thực hiện (chương trình ứng dụng) Xem xét các đèn hiệu (kết quả ), thực hiện gỡ rối Khó gỡ rối Lãng phí thời gian máy Giải pháp: Xử lý theo lô (batch processing) Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành 1948-1970 Xử lý theo lô và có thao tác viên chuyên nghiệp Người lập trình đưa chương trình cho các thao tác viên Thao tác viên kết hợp các chương trình thành 1 gói ( batch ) Máy tính đọc và thực hiện lần lượt từng chương trình Thao tác viên lấy kết quả được in ra và gửi lại người lập trình Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành Giảm thời gian đợi giữa các công việc Vấn đề thắt nút trong thao tác vào/ra Máy tính ngày càng nhanh Thiết bị đọc bìa chậm ⇒CPU phải chờ đợi đọc/ghi bìa 1948-1970 Thay thế thiết bị đọc bìa đục lỗ bằng thiết bị băng từ ⇒ Máy tính ngoại vi độc lập làm nhiệm vụ đọc ghi dữ liệu Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành Băng giấy (paper tape) Thay thế thiết bị đọc bìa đục lỗ bằng thiết bị băng từ ⇒ Máy tính ngoại vi độc lập làm nhiệm vụ đọc ghi dữ liệu Thiết bị ngoại vi được thiết kế để có thể truy nhập bộ nhớ trực tiếp (DMA: Direct Memory Access) bởi sử dụng cơ chế ngắt và kênh vào ra. HĐH yêu cầu thiết bị vào/ra thực hiện rồi tiếp tục thực hiện công việc. HĐH sẽ nhận tín hiệu ngắt khi các thiết bị vào ra thực hiện xong yêu cầu ⇒Cho phép overlap giữa tính toán và vào ra Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành Lập trình lại CPU để dễ dàng hoán đổi giữa các chương trình (CT) Phần cứng: bộ nhớ có kích thước lớn và rẻ hơn. Một vài CT thực hiện đồng thời : Đa chương trình Có thể overlap nhiều hơn thời gian của CPU và thiết bị vào ra Đòi hỏi bảo vệ bộ nhớ giữa các CT và giữ cho lỗi trong 1 CT không ảnh hưởng tới toàn hệ thống Vấn đề: HĐH phải quản lý tất cả tương tác ⇒ vượt khỏi tầm kiểm soát (OS360: 1000 lỗi) Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành Hệ điều hành đầu tiên Hệ thống vào/ra của hãng General Motors và North American Aviation HĐH đầu tiên dành cho máy tính IBM 704 - Năm 1956 , bởi Robert L. Patrick và Owen Mock Chức năng chính: tự động thực hiện 1 CT mới khi c/t hiện tại vừa kết thúc (batch processing). - Được sử dụng trên khoảng 40 máy 704 GM-NAA I/O 1970 -1981 : Các máy tính có giá 10.000$ ⇒ được dùng rộng rãi cho nhiều loại việc Công nghệ H Đ H đã ổn định. Sử dụng thiết bị đầu cuối giá rẻ (1000$) cho phép nhiều người dùng cùng tương tác với hệ thống tại 1 thời điểm Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành 1970-1981 video display terminal Ex:  DEC VT100  (1978) Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành 1970-1981 (tiếp) Người sử dụng thực hiện nhiều loại công việc (soạn thảo, chat,gỡ rối chương trình,..) ⇒ cần khai thác hệ thống hiệu quả Ví dụ máy PC: 10M phép tính/giây; Tốc độ gõ phím 0.2s/1 ký tự => Mất 2M lệnh trong 1 lần gõ phím ⇒ HĐH chia sẻ thời gian Vấn đề thời gian đáp ứng của hệ thống Mạng máy tính ra đời (ARPANet : 1968) Truyền thông giữa các máy Bảo vệ chống lại những tấn công Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành 1970-1981 Máy tính có giá trị 1000$; nhân công 100K $/năm ⇒ Máy tính được sử dụng rộng rãi để việc hiệu quả hơn Tính toán cá nhân Máy tính rẻ, cung cấp cho mỗi người (PC: Máy tính cá nhân). HĐH trên máy tính cá nhân Tài nguyên phần cứng bị giới hạn (Thời gian đầu : 1980s) HDH trở thành thư viện của các thủ tục cung cấp sẵn 1 chương trình tại 1 thời điểm (DOS) Máy tính cá nhân trở nên mạnh HDH gặp phải những vấn để phức tạp của một HDH lớn như đa nhiệm, bảo vệ bộ nhớ... (WINXP) Giao diện người sử dung theo đồ họa (MAC, WIN,..) Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành 1981-1995 DOS User interface Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành Macintosh User interface Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành Giai đoạn phát triển của HĐH mạng và HĐH phân tán Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành Các mạng cục bộ Các máy tính cùng chia xẻ tài nguyên: máy in, File servers,.. Mô hình Client / Server Dịch vụ Tính toán , Lưu trữ Dịch vụ được cung cấp bởi Internet. Vấn đề Độ trễ truyền thông; băng thông, độ tin cậy,.. Virus (love letter virus 05/2000),.. Các hệ thống phân tán Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành -Hơn 45 triệu máy tính bị nhiễm -Ăn cắp thông tin -Tự gửi email từ danh sách liên lạc -Tải các trojan Các thiết bị di động trở nên phổ biến Điện thoại, Laptop, PDA . . . Nhỏ, khả chuyển và rẻ → Nhiều máy tính/người Bị giới hạn về khả năng: tốc độ, bộ nhớ,.. Mạng diện rộng, mạng không dây Máy tính truyền thống bị phân thành nhiều phần (bàn phím, chuột không dây, lưu trữ từ xa) Hệ thống ngang hàng (peer-to-peer) Nhiều thiết bị có cùng vai trò làm việc cùng nhau Các thành phần của "hệ điều hành" trải rộng toàn cầu Điện toán đám mây Cloud operating system Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành 1995- Sự ra đời và phát triển của HĐH gắn liền với sự phát triển của máy tính Sự phát triển của HĐH kéo theo sự phát triển của máy tính. Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành Kết luận Chương 1 Tổng quan về Hệ Điều Hành 2.Lịch sử Hệ điều hành 2.2. Lịch sử phát triển của Hệ điều hành Khái niệm Hệ điều hành Lịch sử phát triển Hệ điều hành Định nghĩa và phân loại Hệ điều hành Các khái niệm trong hệ điều hành Cấu trúc hệ điều hành Tính chất cơ bản của Hệ điều hành Vấn đề xây dựng Hệ điều hành Chương 1 Tổng quan về Hệ Điều Hành Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành Định nghĩa và phân loại Hệ điều hành Định nghĩa Phân loại Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.1. Định nghĩa Góc độ quan sát Các đối tượng khác nhau có yêu cầu khác nhau về HĐH Nhiều góc độ quan sát đánh giá ⇒ nhiều định nghĩa Người sử dụng Người quản lý Quan điểm kỹ thuật Quan điểm hệ thống Góc độ quan sát Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.1. Định nghĩa Hệ điều hành l à hệ thống chương trình phục vụ khai thác hệ thống tính toán một cách thuận lợi Người sử dụng Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.1. Định nghĩa Hệ điều hành l à hệ thống chương trình phục vụ quản lý chặt chẽ và sử dụng tối ưu các tài nguyên của hệ thống tính toán Người quản lý Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.1. Định nghĩa Hệ điều hành l à một hệ thống chương trình trang bị cho một máy tính cụ thể để tạo ra một máy tính logic mới với tài nguyên mới và khả năng mới Quan điểm kỹ thuật Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.1. Định nghĩa Hệ điều hành l à một hệ thống mô hình hoá , mô phỏng hoạt động của máy tính , của người sử dụng và của các thao tác viên , hoạt động trong chế độ đối thoại nhằm tạo môi trường khai thác thuận lợi hệ thống máy tính và quản lý tối ưu tài nguyên của hệ thống. Quan điểm hệ thống Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.1. Định nghĩa Mô phỏng 3 thành phần ⇒đòi hỏi 3 loại ngôn ngữ Ngôn ngữ máy Là ngôn ngữ thực hiện duy nhất của hệ thống Mọi ngôn ngữ khác phải dịch ra ngôn ngữ máy Ngôn ngữ vận hành của hệ thống Câu lệnh của HĐH (DOS: Dir, Del..; Unix: ls, rm,..) Dịch bởi Shell Ngôn ngữ thuật toán Ngôn ngữ lập trình Chương trình dịch Quan điểm hệ thống Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành Định nghĩa và phân loại Hệ điều hành Định nghĩa Phân loại Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.2. Phân loại Hệ thống xử lý theo lô đơn chương trình Hệ thống xử lý theo lô đa chương trình Hệ thống phân chia thời gian Hệ thống xử lý thời gian thực Hệ thống song song Hệ thống phân tán Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.2. Phân loại Thực hiện các chương trình (Job) lần lượt theo những chỉ thị đã được xác định trước . Khi 1 Job kết thúc, hệ thống tự động thực hiện Job tiếp theo mà không cần sự can thiệp từ bên ngoài Phải tồn tại bộ giám sát thực hiện dãy các Job và bộ giám sát phải thường trú trong hệ thống Đòi hỏi tổ chức hàng đợi công việc (Job queue) Vấn đề : khi chương trình truy nhập thiết bị vào/ra ; processor rơi vào trạng thái chờ đợi Hệ thống xử lý theo lô đơn chương trình Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.2. Phân loại Cho phép thực hiện nhiều chương trình đồng thời Hệ thống xử lý theo lô đa chương trình Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.2. Phân loại Cho phép thực hiện nhiều chương trình đồng thời Nạp một phần mã và dữ liệu của các chương trình/tiến trình vào bộ nhớ ( phần còn lại sẽ được nạp tại thời điểm thích hợp ). =>Chương trình sẵn sàng được thực hiện Thực hiện chương trình như hệ thống đơn chương trình Nếu chương trình thực hiện vào ra , processor được chuy ể n giao cho chương trình đang sẵn sàng khác Hệ thống xử lý theo lô đa chương trình (tiếp 1) Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.2. Phân loại Ưu điểm: Tiết kiệm bộ nhớ (không cần nạp toàn bộ chương trình vào bộ nhớ) Hạn chế thời gian rỗi của processor Chi phí cao cho điều phối processor . Chương trình nào tiếp theo sẽ được sử dụng processor? Giải quyết vấn đề chia sẻ bộ nhớ giữa các chương trình ? Hệ thống xử lý theo lô đa chương trình (tiếp 2) Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.2. Phân loại Chia sẻ thời gian của processor cho các chương trình/tiến trình đang sẵn sàng thực hiện Nguyên tắc giống như hệ thống xử lý theo lô đa chương trình (nạp một phần của các chương trình) Processor được phân phối lại phụ thuộc chủ yếu vào sự điều phối của HĐH ⇒ Điều phối như thế nào? ⇒ Chương 2 Thời gian hoán đổi giữa các tiến trình nhỏ , các chương trình cảm giác song song Thường được gọi: HĐH đa nhiệm (Windows) Hệ thống phân chia thời gian Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.2. Phân loại Hệ thống chia sẻ thời gian Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.2. Phân loại Hệ thống chia sẻ thời gian Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.2. Phân loại Xây dựng cho các hệ thống có nhiều bộ vi xử lý Nhiều VXL, công việc thực hiện nhanh chóng hơn Độ tin cậy cao : hỏng một VXL không ảnh hưởng đến hệ thống Ưu thế hơn hệ thống nhiều máy có một VXL vì cùng chia s ẻ bộ nhớ, thiết bị ngoại vi . . . Đa xử lý đối xứng (SMP: symmetric) Mỗi bộ xử lý chạy 1 tiến trình/tiểu trình Các VXL giao tiếp với nhau thông qua 1 bộ nhớ dùng chung Cơ chế chịu lỗi và khả năng cân bằng tải tối ưu Vấn đề: Đồng bộ giữa các VXL Ví dụ: HĐH WinNT Hệ thống song song Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.2. Phân loại Đa xử lý không đối xứng (ASMP: asymmetric) 1 bộ xử lý chính kiểm soát toàn bộ hệ thống Các bộ xử lý khác thực hiện theo lệnh của bộ xử lý chính hoặc theo những chỉ thị đã được định nghĩa trước Mô hình này theo dạng quan hệ chủ tớ : Bộ xử lý chính sẽ lập lịch cho các bộ xử lý khác VD: IBM System/360 Hệ thống song song Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.2. Phân loại Mỗi bộ xử lý có bộ nhớ cục bộ riêng, và trao đổi với nhau thông qua các đường truyền thông Các VXL thường khác nhau về kích thước và chức năng (Máy cá nhân, máy trạm, máy mini,..) Hệ thống phân tán Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.2. Phân loại Hệ thống phân tán được sử dụng để Chia xẻ tài nguyên : cung cấp cơ chế để chia xẻ tập tin, in ấn tại 1 vị trí xa... Tăng tốc độ tính toán : 1 thao tác tính toán được chia làm nhiều phần nhỏ được thực hiện cùng lúc trên nhiều vị trí khác nhau. An toàn : 1 vị trí trong hệ thống bị hỏng, các vị trí khác vẫn tiếp tục làm việc Hệ thống phân tán Chương 1 Tổng quan về Hệ Điều Hành 3. Định nghĩa và phân loại Hệ điều hành 3.2. Phân loại Được sử dụng chủ yếu trong lĩnh vực điều khiển . Giải quyết bài toán không muộn hơn 1 thời điểm nào đó Mỗi bài toán có 1 hạn định ( deadline) Hệ thống phải cho kết quả chính xác trong khoảng thời gian xác định HĐH này đòi hỏi sự phối hợp cao giữa phần mềm và phần cứng . Ví dụ: VxWorks, RTLinux Hệ thống xử lý thời gian thực Khái niệm Hệ điều hành Lịch sử phát triển Hệ điều hành Định nghĩa và phân loại Hệ điều hành Các khái niệm trong hệ điều hành Cấu trúc hệ điều hành Tính chất cơ bản của Hệ điều hành Vấn đề xây dựng Hệ điều hành Chương 1 Tổng quan về Hệ Điều Hành Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành Các khái niệm trong Hệ điều hành Tiến trình và luồng Tài nguyên hệ thống Bộ xử lý lệnh (Shell) Nhân hệ thống (Kernel) Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành 4.1. Tiến trình và luồng Tiến trình (tt): 1 chương trình đang thực hiện Mã lệnh chương trình có thể thực thi Dữ liệu của chương trình Ngăn xếp , con trỏ ngăn xếp , các thanh ghi Các thông tin cần thiết cho việc thực thi chương trình Tiến trình >< chương trình Chương trình: thực thể thụ động, chứa đựng các chỉ thị điều khiển máy tính thực hiện một nhiệm vụ nào đó Tiến trình: trạng thái động của chương trình. Tiến trình Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành 4.1. Tiến trình và luồng Hệ thống đa TT chia sẻ thời gian: HĐH theo chu kỳ :dừng 1 TT để bắt đầu 1 TT khác Cần lưu thông tin các tt ⇒ Bảng tiến trình (process table) 1 TT có thể khởi tạo TT khác Shell của HĐH kích hoạt 1 TT thực hiện lệnh; thực hiện xong, hủy TT mới được kích hoạt Các TT có thể trao đổi thông tin với nhau 1 TT có thế bao gồm nhiều luồng (tiểu trình) Hệ thống đa tiến trình Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành 4.1. Tiến trình và luồng (Tiểu trình - Thread) Luồng: chuỗi (luồng) lệnh được thực hiện trong tiến trình Mã thực thi, dữ liệu Con trỏ lệnh, ngăn xếp, tập thanh ghi riêng TT chỉ chứa 1 luồng (Heavyweight process) TT gồm nhiều luồng (Lightweight process) Mô hình đa luồng (Multi_Threading): Các luồng h/động song song, chia sẻ biến toàn cục của tt Luồng Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành Luồng Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành Các khái niệm trong Hệ điều hành Tiến trình và luồng Tài nguyên hệ thống Bộ xử lý lệnh (Shell) Nhân hệ thống (Kernel) Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành 4.2 Tài nguyên hệ thống Định nghĩa Tài nguyên hệ thống là tất cả những gì cần thiết để cho 1 tiến trình có thể thực hiện được Không gian: không gian lưu trữ của hệ thống Thời gian: Thời gian thực hiện lệnh/truy xuất dữ liệu Tài nguyên hệ thống Bộ nhớ Đặc trưng: dung lượng và thời gian truy cập trực tiếp, tuần tự Phân cấp: bộ nhớ thực hiện/trong; mở rộng; ngoài Phân biệt các khái niệm: bộ nhớ (vùng vật lý chứa dữ liệu) và truy cập tới bộ nhớ (quá trình tìm đến dữ liệu trên bộ nhớ) Định nghĩa Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành 4.2 Tài nguyên hệ thống Tài nguyên hệ thống (tiếp) Processor (VXL) Quan trọng nhất của hệ thống Được truy cập ở mức câu lệnh Quan tâm đến thời gian xử lý . Hệ thống nhiều VXL, thời gian của từng VXL được quản lý và phân phối độc lập Thiết bị ngoại vi Tiếp nhận, kết xuất thông tin (thiết bị vào ra) Gắn với hệ thống bởi các thiết bị điều khiển Xét chung thiết bị ngoại vi-thiết bị điều khiển Tài nguyên hệ thống (tiếp) Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành 4.2 Tài nguyên hệ thống Kiểu tài nguyên Tài nguyên vật lý: Các thiết bị vật lý Tài nguyên logic: biến nhớ; thiết bị ảo Khả năng sử dụng chung dùng chung được : tại 1 thời điểm nó có thể cấp phát cho nhiều tiến trình khác nhau. Ví dụ: Bộ nhớ không dùng chung được nhưng phân chia được: Các TT sử dụng tài nguyên theo nguyên tắc lần lượt Ví dụ: processor không dùng chung được và không phân chia được : tại 1 thời điểm nó chỉ có thể cấp phát cho 1 TT duy nhất . Ví dụ: Máy in Phân loại tài nguyên Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành 4.2 Tài nguyên hệ thống Tài nguyên ảo Là loại tài nguyên cung cấp cho chương trình người sử dụng dưới dạng đã được biến đổi Chỉ xuất hiện khi hệ thống cần tới nó hoặc khi hệ thống tạo ra nó Tự động mất đi khi hệ thống kết thúc hay chính xác hơn là khi TT gắn với nó đã kết thúc. Ví dụ: Máy in ảo Tài nguyên ảo Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành Các khái niệm trong Hệ điều hành Tiến trình và luồng Tài nguyên hệ thống Bộ xử lý lệnh (Shell) Nhân hệ thống (Kernel) Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành 4.3 Bộ xử lý lệnh TT đặc biệt : nơi giao tiếp giữa người dùng và HĐH Nhiệm vụ Nhận lệnh của người sử dụng Phân tích lệnh Phát sinh TT mới để thực hiện yêu cầu của lệnh Nhận lệnh thông qua cơ chế dòng lệnh Bộ xử lý lệnh Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành 4.3 Bộ xử lý lệnh Shell trên Linux Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành 4.3 Bộ xử lý lệnh Môi trường đơn nhiệm (MS-DOS): Shell sẽ chờ cho tới khi TT này kết thúc mới có thể nhận lệnh mới Bộ xử lý lệnh [ MS-DOS hoạt động. (a) Khởi động. (b) Chạy 1 chương trình. ] Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành 4.3 Bộ xử lý lệnh Môi trường đa nhiệm (UNIX, WINXP,. . .) Sau khi khởi tạo và đưa TT mới vào hoạt động, Shell có thể nhận lệnh mới Bộ xử lý lệnh [FreeBSD – bắt nguồn từ Berkely Unix] Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành Các khái niệm trong Hệ điều hành Tiến trình và luồng Tài nguyên hệ thống Bộ xử lý lệnh (Shell) Nhân hệ thống (Kernel) Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành 4.4 Nhân hệ thống Kernel Chương 1 Tổng quan về Hệ Điều Hành 4. Các khái niệm trong Hệ điều hành 4.4 Nhân hệ thống Kernel Là chương trình máy tính ở mức thấp nhất, giao tiếp với phần cứng. điều khiển mọi thứ khác, nó là hạt nhân - trái tim của HĐH đầu tiên tải sau bộ nạp khởi động chuyển đổi các yêu cầu đầu vào / đầu ra từ phần mềm thành 1 tập lệnh cho CPU Bảo vệ phần cứng: Chương trình người dùng truy nhập trực tiếp -> báo lỗi Khái niệm Hệ điều hành Lịch sử phát triển Hệ điều hành Định nghĩa và phân loại Hệ điều hành Các khái niệm trong hệ điều hành Cấu trúc hệ điều hành Tính chất cơ bản của Hệ điều hành Vấn đề xây dựng Hệ điều hành Chương 1 Tổng quan về Hệ Điều Hành Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành Các thành phần của hệ thống Dịch vụ Hệ điều hành Lời gọi hệ thống Các cấu trúc hệ thống Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Quản lý tiến trình Quản lý bộ nhớ chính Quản lý hệ thống vào ra Quản lý file Quản lý bộ nhớ lưu trữ Hệ thống trao đổi dữ liệu (mạng) Hệ thống bảo vệ Giao diện người dùng Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Tiến trình (TT): Chương trình đang thực hiện TT sử dụng tài nguyên của hệ thống để hoàn thành công việc Tài nguyên được cấp khi TT được khởi tạo hay khi đang thi hành TT kết thúc , tài nguyên được trả về Hệ thống có thể tồn tại nhiều TT tại 1 thời điểm TT hệ thống TT người sử dụng Quản lý tiến trình Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Nhiệm vụ của HĐH trong việc quản lý TT Tạo và hủy các TT của người sử dụng và của hệ thống Ngưng và thực hiện lại 1 TT Cung cấp cơ chế đồng bộ TT Cung cấp cách thông tin giữa các TT Cung cấp cơ chế kiểm soát bế tắc giữa các TT Quản lý tiến trình Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Bộ nhớ chính là 1 mảng kiểu byte (word). Mỗi phần tử có địa chỉ . Đó là nơi lưu dữ liệu được CPU truy xuất 1 chương trình (CT) muốn thi hành trước hết phải được ánh xạ thành địa chỉ tuyệt đối và nạp vào bộ nhớ chính . CT thi hành , hệ thống truy xuất các chỉ thị và dữ liệu trong bộ nhớ chính . Để tối ưu hóa quá trình hoạt động của CPU và tốc độ của máy tính, một số TT được lưu giữ trong bộ nhớ Quản lý bộ nhớ chính Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Vai trò của HĐH trong việc quản lý bộ nhớ chính Lưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và ai sử dụng Quyết định TT nào được nạp vào bộ nhớ chính, khi bộ nhớ đã có thể dùng được Cấp phát và thu hồi bộ nhớ khi cần thiết Quản lý bộ nhớ chính Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Mục đích: che dấu những đặc thù của các thiết bị phần cứng đối với người sử dụng => làm cho người sử dụng dễ thao tác hơn Quản lý hệ thống vào ra bao gồm Thành phần quản lý bộ nhớ gồm buffering, caching, spooling Giao tiếp điều khiển thiết bị (device drivers) tổng quát. Bộ điều khiển cho các thiết bị phần cứng đặc biệt. Chỉ có device driver mới hiểu đến cấu trúc đặc thù của thiết bị mà nó mô tả. Quản lý hệ thống vào ra Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Máy tính có thể lưu trữ thông tin trên nhiều loại thiết bị lưu trữ khác nhau File (Tập tin) : đơn vị lưu trữ cơ bản nhất Nhiệm vụ của quản lý file Tạo/ xoá một tập tin/ thư mục. Hỗ trợ các thao tác trên file và thư mục Ánh xạ file trên hệ thống lưu trữ phụ. Backup hệ thống file trên các thiết bị lưu trữ. Quản lý file Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống CT được lưu trữ trên bộ nhớ phụ (đĩa từ) cho tới khi nó được nạp vào trong bộ nhớ chính và thực hiện sử dụng đĩa để chứa dữ liệu và kết quả xử lý Có thể sử dụng đĩa để chứa dữ liệu và kết quả xử lý tạm thời -> bộ nhớ ảo Vai trò của HĐH trong việc quản lý đĩa Quản lý vùng trống trên đĩa Cung cấp vùng lưu trữ theo yêu cầu Lập lịch cho truy nhập đĩa hiệu quả Quản lý bộ nhớ lưu trữ Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Hệ thống phân tán gồm tập các VXL (có thể không đồng nhất) không có đồng hồ và bộ nhớ chung. Mỗi VXL có bộ nhớ cục bộ riêng Các VXL liên kết qua hệ thống mạng truyền thông Truyền thông được thực hiện nhờ các giao thức (FTP, HTTP...) Hệ phân tán cho phép người sử dụng truy nhập tới các tài nguyên khác nhau T ruy nhập tới tài nguyên dùng chung cho phép Tăng tốc độ tính toán Tăng khả năng sẵn sàng của dữ liệu Tăng độ tin cậy của hệ thống Hệ thống trao đổi dữ liệu (Hệ thống phân tán) Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Hệ thống nhiều người dùng đồng thời ⇒ Các TT phải được bảo vệ từ các sự hoạt động của TT khác Bảo vệ là cơ chế kiểm soát truy nhập của chương trình, TT hay người dùng tới hệ thống hoặc các tài nguyên người dùng Cơ chế bảo vệ đòi hỏi Phân biệt giữa sử dụng hợp pháp và không hợp pháp Xác lập các kiểm soát được áp đặt Cung cấp phương tiện ép buộc Bảo vệ hệ thống Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Giao diện người dùng Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Thực hiện câu lệnh người dùng. Các câu lệnh được cung cấp cho HĐH là các câu lệnh điều khiển nhằm Tạo và quản lý tiến trình Quản lý bộ nhớ chính, bộ nhớ lưu trữ Truy nhập hệ thống file Bảo vệ Hệ thống mạng . . . Có thể là dòng lệnh (DOS, UNIX) hay thân thiện hơn nhờ dùng giao diện đồ họa (Windows, MacOS) Giao diện người dùng Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Một số hình thái giao tiếp người máy Dòng lệnh (Command line) Bảng chọn Biểu tượng Giao diện người dùng (tiếp) Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Dòng lệnh (Command line) Nguyên tắc: Ưu_nhược VD: Dir c: /p Format a: /s Giao diện người dùng (tiếp) Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Bảng chọn Menu Popup Menu_popup: 2 phương thức on và onselect Giao diện người dùng (tiếp) Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Giao diện người dùng (tiếp) Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.1 Các thành phần của hệ thống Biểu tượng Cửa sổ, icon, desktop Giao diện người dùng (tiếp) Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành Các thành phần của hệ thống Dịch vụ Hệ điều hành Lời gọi hệ thống Các cấu trúc hệ thống Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.2 Dịch vụ Hệ điều hành Các dịch vụ HĐH Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.2 Dịch vụ Hệ điều hành Thi hành chương trình Thao tác nhập xuất Thao tác trên hệ thống tập tin Truyền thông Phát hiện lỗi Dịch vụ chính yếu Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.2 Dịch vụ Hệ điều hành Thi hành chương trình : nạp chương trình vào bộ nhớ và thi hành . Chấm dứt thi hành theo cách thông thường hay bất thường (lỗi) Thao tác nhập xuất : Để tăng tính hiệu quả, chương trình không truy xuất trực tiếp các thiết bị vào/ra . HĐH phải cung cấp phương tiện để thực hiện vào ra. Thao tác trên hệ thống tập tin : Chương trình có khả năng đọc, viết, tạo, xóa file Dịch vụ chính yếu Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.2 Dịch vụ Hệ điều hành Truyền thông : Trao đổi thông tin giữa các TT đang thực thi trên cùng 1 máy hoặc trên các máy trong mạng . Thực hiện nhờ chia sẻ bộ nhớ hoặc bằng kỹ thuật chuyển thông điệp . Phát hiện lỗi: Đảm bảo việc thực hiện được chính xá c bởi chỉ ra lỗi tại CPU , bộ nhớ , trong thiết bị vào ra hay trong các chương trình . Mỗi dạng lỗi, HĐH sẽ có cách giải quyết tương ứng. Dịch vụ chính yếu (tiếp) Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.2 Dịch vụ Hệ điều hành Không nhằm trợ giúp người dùng mà dùng để vận hành hệ thống hiệu quả Cung cấp tài nguyên Phân phối tài nguyên cho nhiều người dùng hoặc nhiều công việc thực hiện tr o ng cùng thời điểm Thống kê báo cáo Lưu giữ thông tin về loại và số lượng tài nguyên sử dụng, nhằm sử dụng cho tính toán (giá thành sử dụng), nghiên cứu (cải tiến hệ thống) Bảo vệ Đảm bảo mọi truy nhập tới các tài nguyên hệ thống đều được kiểm soát Dịch vụ phụ trợ Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành Các thành phần của hệ thống Dịch vụ Hệ điều hành Lời gọi hệ thống Các cấu trúc hệ thống Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.3 Lời gọi hệ thống Tạo môi trường giao tiếp giữa chương trình của người sử dụng và HĐH Chương trình dùng các lời gọi hệ thống để yêu cầu các dịch vụ từ HĐH Tạo, xóa, sử dụng các dối tượng phần mềm khác nhau được vận hành bởi HĐH Mỗi lời gọi hệ thống ứng với 1 thư viện các chương trình con Lời gọi hệ thống được thực hiện dưới dạng Các câu lệnh trong các ngôn ngữ lập trình cấp thấp Lệnh gọi ngắt trong hợp ngữ (Int) Thủ tục gọi hàm API trong windows Tham số cho các dịch vụ và kết quả trả về được đặt tại các vùng nhớ đặc biệt Ví dụ, khi gọi ngắt, mã chức năng được đặt trong thanh ghi AH Int 05 : in màn hình ; Int 13/AH=03h - DISK - WRITE DISK SECTOR Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.3 Lời gọi hệ thống Ví dụ Ví dụ Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.3 Lời gọi hệ thống Cung cấp 1 môi trường giao tiếp giữa tiến trình và HĐH Lời gọi hệ thống Chương 1 Tổng quan về Hệ Điều Hành 5. Các khái niệm trong Hệ điều hành 5.3 Lời gọi hệ thống Quản lý tiến trình : khởi tạo tiến trình, huỷ tiến trình.. Quản lý bộ nhớ : cấp phát và giải phóng bộ nhớ... Quản lý file : tạo mới, xoá, đọc và ghi file... Quản lý thiết bị vào ra : thực hiện trao đổi vào/ra... Trao đổi thông tin với hệ thống: lấy/đặt ngày giờ... Truyền thông liên tiến trình Lời gọi hệ thống Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành Các thành phần của hệ thống Dịch vụ Hệ điều hành Lời gọi hệ thống Các cấu trúc hệ thống Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.4 Các cấu trúc hệ thống Cấu trúc MS-DOS ( Silberschatz 2002 ) Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.4 Các cấu trúc hệ thống Cấu trúc UNIX ( Silberschatz 2002 ) Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.4 Các cấu trúc hệ thống Cấu trúc phân lớp Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.4 Các cấu trúc hệ thống Cấu trúc OS/2 ( Silberschatz 2002 ) Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.4 Các cấu trúc hệ thống Máy ảo ( Silberschatz 2002 ) Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.4 Các cấu trúc hệ thống Kiến trúc vi nhân( Microkernel ) 1980, Carnegie Mellon, Mach Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.4 Các cấu trúc hệ thống Mô hình Client-Server ( Tanenbaum 2001 ) Chương 1 Tổng quan về Hệ Điều Hành 5. Cấu trúc Hệ điều hành 5.4 Các cấu trúc hệ thống Mô hình Client-Server trong hệ phân tán ( Tanenbaum 2001 ) Khái niệm Hệ điều hành Lịch sử phát triển Hệ điều hành Định nghĩa và phân loại Hệ điều hành Các khái niệm trong hệ điều hành Cấu trúc hệ điều hành Tính chất cơ bản của Hệ điều hành Vấn đề xây dựng Hệ điều hành Chương 1 Tổng quan về Hệ Điều Hành Chương 1 Tổng quan về Hệ Điều Hành 6. Tính chất cơ bản của Hệ điều hành Tính chất cơ bản của Hệ điều hành Độ tin cậy cao An toàn Hiệu quả Tổng quát theo thời gian Thuận tiện Chương 1 Tổng quan về Hệ Điều Hành 6. Tính chất cơ bản của Hệ điều hành Mọi hoạt động, thông báo của HĐH phải chuẩn xác Cung cấp thông tin chỉ khi chắc chắn đúng Khi gặp lỗi: thông báo và ngừng xử lý hoặc trao quyền quyết định cho người dùng Cần có hỗ trợ từ thiết bị Ví dụ: C:/>COPY C:/F.TXT A: Độ tin cậy cao Chương 1 Tổng quan về Hệ Điều Hành 6. Tính chất cơ bản của Hệ điều hành Ví dụ: C:/>COPY C:/F.TXT A: Kiểm tra cú pháp của lệnh copy Kiểm tra I/O card (động cơ, khả năng truy nhập ổ) Kiểm tra sự tồn tại của file F.TXT trên C Kiểm tra ổ đĩa A Kiểm tra tồn tại file F.TXT trên A Có đủ chỗ trống trên A Đĩa bị bảo vệ chống ghi Kiểm tra thông tin ghi vào (nếu có yêu cầu) .... Độ tin cậy cao Chương 1 Tổng quan về Hệ Điều Hành 6. Tính chất cơ bản của Hệ điều hành Tính chất cơ bản của Hệ điều hành Độ tin cậy cao An toàn Hiệu quả Tổng quát theo thời gian Thuận tiện Chương 1 Tổng quan về Hệ Điều Hành 6. Tính chất cơ bản của Hệ điều hành Dữ liệu và chương trình phải được bảo vệ Không bị thay đổi ngoài ý muốn và trong mọi chế độ làm việc Hạn chế truy nhập bất hợp pháp Các tài nguyên khác nhau có yêu cầu bảo vệ khác nhau Bảo vệ nhiều mức với nhiều công cụ khác nhau Quan trọng với HĐH đa nhiệm An toàn Chương 1 Tổng quan về Hệ Điều Hành 6. Tính chất cơ bản của Hệ điều hành Tính chất cơ bản của Hệ điều hành Độ tin cậy cao An toàn Hiệu quả Tổng quát theo thời gian Thuận tiện Chương 1 Tổng quan về Hệ Điều Hành 6. Tính chất cơ bản của Hệ điều hành Các tài nguyên phải được khai thác triệt để; Tài nguyên hạn chế vẫn giải quyết được những yêu cầu phức tạp. Hệ thống cần phải duy trì được tính đồng bộ; Các thiết bị tốc độ chậm không ảnh hưởng tới hoạt động của toàn hệ thống Hiệu quả Chương 1 Tổng quan về Hệ Điều Hành 6. Tính chất cơ bản của Hệ điều hành Tính chất cơ bản của Hệ điều hành Độ tin cậy cao An toàn Hiệu quả Tổng quát theo thời gian Thuận tiện Chương 1 Tổng quan về Hệ Điều Hành 6. Tính chất cơ bản của Hệ điều hành Hệ thống phải có tính kế thừa. Các thao tác, thông báo không được thay đổi Nếu thay đổi: thông báo và hướng dẫn cụ thể (chkdsk/scandisk) Đảm bảo tính kế thừa duy trì và phát triển người sử dụng Hệ thống cần phải có khả năng thích nghi với những thay đổi có thể xảy ra Ví dụ: Vấn đề Y2K; FAT 12/16/32 Tổng quát theo thời gian Chương 1 Tổng quan về Hệ Điều Hành 6. Tính chất cơ bản của Hệ điều hành Tính chất cơ bản của Hệ điều hành Độ tin cậy cao An toàn Hiệu quả Tổng quát theo thời gian Thuận tiện Chương 1 Tổng quan về Hệ Điều Hành 6. Tính chất cơ bản của Hệ điều hành Dễ sử dụng Nhiều mức với hiệu quả khác nhau Có hệ thống trợ giúp phong phú Thuận tiện Khái niệm Hệ điều hành Lịch sử phát triển Hệ điều hành Định nghĩa và phân loại Hệ điều hành Tính chất cơ bản của Hệ điều hành Các khái niệm trong hệ điều hành Cấu trúc hệ điều hành Vấn đề xây dựng Hệ điều hành Chương 1 Tổng quan về Hệ Điều Hành Chương 1 Tổng quan về Hệ Điều Hành 7. Vấn đề xây dựng hệ điều hành Nguyên tắc xây dựng hệ điều hành Nguyên tắc modul Nguyên tắc tương đối trong định vị Nguyên tắc macroprocessor Nguyên tắc khởi tạo trong cài đặt Nguyên tắc lặp chức năng Nguyên tắc giá trị chuẩn Nguyên tắc bảo vệ nhiều mức Chương 1 Tổng quan về Hệ Điều Hành 7. Vấn đề xây dựng hệ điều hành Nguyên tắc xây dựng hệ điều hành Nguyên tắc modul m 0 m 1 m n O 0 I 1 O 1 I n O n I 0 Chương 1 Tổng quan về Hệ Điều Hành 7. Vấn đề xây dựng hệ điều hành Nguyên tắc xây dựng hệ điều hành Nguyên tắc tương đối trong định vị Dạng chung của lệnh máy: Mã_lệnh toán_hạng_1 toán_hạng_2 VD: Mov AX, B Toán_hạng_1, toán_hạng_2 không thể là địa chỉ tuyệt đối Chương 1 Tổng quan về Hệ Điều Hành 7. Vấn đề xây dựng hệ điều hành Nguyên tắc xây dựng hệ điều hành Nguyên tắc macroprocessor Vấn đề Lập trinh Thực hiện Kết quả Macroprocessor Chương 1 Tổng quan về Hệ Điều Hành 7. Vấn đề xây dựng hệ điều hành Nguyên tắc xây dựng hệ điều hành Nguyên tắc khởi tạo trong cài đặt (nguyên lý sinh – generate) HĐH được tạo từ các mô đun trong kho mô đun có sẵn phù hợp Cấu hình máy Yêu cầu của người sử dụng Phân biệt set up và install Chương 1 Tổng quan về Hệ Điều Hành 7. Vấn đề xây dựng hệ điều hành Nguyên tắc xây dựng hệ điều hành Nguyên tắc lặp chức năng 1 công việc có thể thực hiện bằng nhiều cách tổ hợp các mô đun khác nhau Hệ thống an toàn Thuận tiện cho yêu cầu của người dùng VD: nhiều chương trình dịch cho cùng 1 ngôn ngữ. Chương 1 Tổng quan về Hệ Điều Hành 7. Vấn đề xây dựng hệ điều hành Nguyên tắc xây dựng hệ điều hành Nguyên tắc giá trị chuẩn Tăng tính linh hoạt cho mô đun -> tham số hóa mô đun Để thuận tiện và an toàn -> xây dựng giá trị chuẩn cho các mô đun Chương 1 Tổng quan về Hệ Điều Hành 7. Vấn đề xây dựng hệ điều hành Nguyên tắc xây dựng hệ điều hành Nguyên tắc bảo vệ nhiều mức Tài nguyên có đặc trưng khác nhau -> phương pháp bảo vệ khác nhau Nhiều lớp bảo vệ -> an toàn Dữ liệu Tường lửa Bảo vệ vật lý Mã hóa Login(nhận dạng) Phân quyền Truy cập Tóm Lược Khái niệm Hệ điều hành Cấu trúc phân lớp của hệ thống Chức năng Hệ điều hành Lịch sử phát triển Hệ điều hành Lịch sử phát triển của máy tính điện tử Lịch sử phát triển Hệ điều hành Định nghĩa và phân loại Hệ điều hành Định nghĩa Phân loại Hệ điều hành Tính chất cơ bản của Hệ điều hành Độ tin cậy cao An toàn Hiệu quả Tổng quát theo thời gian Thuận tiện Chương 1 Tổng quan về Hệ Điều Hành Các khái niệm trong hệ điều hành Tiến trình và luồng Tài nguyên hệ thống Bộ xử lý lệnh (Shell) Lời gọi hệ thống (System calls) Cấu trúc hệ điều hành Những thành phần của hệ thống Dịch vụ Hệ điều Hành Lời gọi hệ thống Các cấu trúc hệ thống Vấn đề xây dựng Hệ điều hành

Các file đính kèm theo tài liệu này:

  • pptbai_giang_he_dieu_hanh_chuong_1_tong_quan_ve_he_dieu_hanh_do.ppt