Hệ điều hành NGUYÊN LÝ HỆ ĐIỀU HÀNH Phạm Đăng Hải haipd@soict hust edu vn Bộ môn Khoa học Máy tính Viện Công nghệ Thông tin & Truyền Thông Ngày 14 tháng 2 năm 20201 / 98 Chương 1 Tổng quan về Hệ Điều[.]
Hệ điều hành Chương 1: Tổng quan Hệ Điều Hành NGUYÊN LÝ HỆ ĐIỀU HÀNH Chương Tổng quan Hệ Điều Hành Phạm Đăng Hải haipd@soict.hust.edu.vn Bộ môn Khoa học Máy tính Viện Cơng nghệ Thơng tin & Truyền Thông / 98 Ngày 14 tháng năm 2020 Chương 1: Tổng quan Hệ Điều Hành / 98 Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành Khái niệm 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 Lịch sử phát triển Hệ điều hành Các khái niệm hệ điều hành Các khái niệm hệ điều hành Định nghĩa 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 Hệ điều hành Tính chất Hệ điều hành Cấu trúc 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 Vấn đề xây dựng Hệ điều hành / 98 / 98 Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.1 Cấu trúc phân lớp hệ thống Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.1 Cấu trúc phân lớp hệ thống Kiến trúc hệ thống máy tính Khái niệm Hệ điều hành Cấu trúc phân lớp hệ thống Chức Hệ điều hành Một/ nhiều CPUs, thiết bị điều khiển liên kết hệ thống bus chung để truy nhập tới nhớ phân chia Các thiết bị điều khiển CPU thực đồng thời, cạnh tranh với / 98 Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.1 Cấu trúc phân lớp hệ thống Các thành phần hệ thống máy tính(Silberschatz 2002) / 98 Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.1 Cấu trúc phân lớp hệ thống Các thành phần hệ thống máy tính Phần cứng (Hardware) Cung cấp tài ngun tính tốn (CPU, nhớ, thiết bị vào ra) / 98 / 98 Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.1 Cấu trúc phân lớp hệ thống Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.1 Cấu trúc phân lớp hệ thống Các thành phần hệ thống máy tính Các thành phần hệ thống máy tính Phần cứng (Hardware) Cung cấp tài ngun tính tốn (CPU, nhớ, thiết bị vào ra) Phần cứng (Hardware) Cung cấp tài ngun tính tốn (CPU, nhớ, thiết bị vào ra) Hệ điều hành (Operating system) điều khiển phối hợp việc sử dụng phần cứng cho ứng dụng khác nhiều người sử dụng khác Hệ điều hành (Operating system) điều khiển phối hợp việc sử dụng phần cứng cho ứng dụng khác nhiều người sử dụng khác Chương trình ứng dụng(Application programs) (chương trình dịch, hệ sở liệu, game, ) sử dụng tài nguyên máy tính để giải yêu cầu người sử dụng / 98 Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.1 Cấu trúc phân lớp hệ thống Các thành phần hệ thống máy tính / 98 Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.1 Cấu trúc phân lớp hệ thống Các thành phần hệ thống máy tính (Tanenbaum 2001) Phần cứng (Hardware) Cung cấp tài nguyên tính tốn (CPU, nhớ, thiết bị vào ra) Hệ điều hành (Operating system) điều khiển phối hợp việc sử dụng phần cứng cho ứng dụng khác nhiều người sử dụng khác Chương trình ứng dụng(Application programs) (chương trình dịch, hệ sở liệu, game, ) sử dụng tài nguyên máy tính để giải yêu cầu 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 / 98 / 98 Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.1 Cấu trúc phân lớp hệ thống Mục tiêu Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.1 Cấu trúc phân lớp hệ thống Mục tiêu Hệ điều hành nằm phần cứng hệ thống chương trình ứng dụng Hệ điều hành nằm phần cứng hệ thống chương trình ứng dụng Mục tiêu: Cung cấp môi trường để người sử dụng thực chương trình ứng dụng làm cho máy tính dễ sử dụng hơn, thuận lợi hiệu Chuẩn hóa giao diện người dùng hệ thống phần cứng khác Sử dụng hiệu tài nguyên phần cứng khai thác tối đa hiệu suất phần cứng 10 / 98 Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.2 Chức Hệ điều hành 10 / 98 Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.2 Chức Hệ điều hành Chức Hệ điều hành Khái niệm Hệ điều hành Cấu trúc phân lớp hệ thống Giả lập máy tính ảo Quản lý tài nguyên hệ thống Chức Hệ điều hành 11 / 98 12 / 98 Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.2 Chức Hệ điều hành Giả lập máy tính ảo Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.2 Chức Hệ điều hành Giả lập máy tính ảo Giúp ẩn dấu chi tiết phải thực khai thác chức phần cứng máy tính dễ dàng hiệu Đơn giản hóa vấn đề lập trình Khơng phải làm việc với dãy nhị phân Tiến trình sở hữu tồn bộ nhớ, thời gian CPU, thiết bị máy ảo Ggiao tiếp với thiết bị dễ dàng so với phần cứng túy Ethernet card: Trao đổi tin cậy, theo thứ tự (TCP/IP) Mở rộng hệ thống →hệ thống dường có đặc trưng mong muốn (bộ nhớ ảo, máy in ảo ) Các tiến trình khơng ảnh hưởng trực tiếp đến tiến trình khác → lỗi tiến trình khơng làm hỏng tồn hệ thống Hữu ích cho phát triển hệ điều hành Nếu HĐH thử nghiệm bị lỗi, giới hạn máy ảo Trợ giúp kểm tra chương trình HĐH khác 14 / 98 13 / 98 Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.2 Chức Hệ điều hành Quản lý tài nguyên hệ thống Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.2 Chức Hệ điều hành Quản lý tài nguyên hệ thống Tài nguyên hệ thống (Vi xử lý, nhớ, thiết bị vào ra, file ) chương trình sử dụng để thực công việc xác định Tài nguyên hệ thống (Vi xử lý, nhớ, thiết bị vào ra, file ) chương trình sử dụng để thực cơng việc xác định Các chương trình địi hỏi tài ngun mặt thời gian (sử dụng ) không gian (nhớ ) Các chương trình địi hỏi tài ngun mặt thời gian (sử dụng ) không gian (nhớ ) Hệ điều hành phải quản lý tài nguyên để hoạt động máy tính hiệu Hệ điều hành phải quản lý tài nguyên để hoạt động máy tính hiệu Phân phối tài nguyên cho chương trình cần thiết Giải tranh chấp Quyết định thứ tự cấp phát tài nguyên cho yêu cầu Ví dụ: quản lý tài nguyên nhớ (hữu hạn) Phân phối tài nguyên cho chương trình cần thiết Giải tranh chấp Quyết định thứ tự cấp phát tài nguyên cho yêu cầu Ví dụ: quản lý tài nguyên nhớ (hữu hạn) Nhiều chương trình thực Tránh truy cập bất hợp lệ Phải đảm bảo toàn vẹn liệu (dùng chung vùng nhớ: file) Nhiều chương trình thực Tránh truy cập bất hợp lệ Phải đảm bảo toàn vẹn liệu (dùng chung vùng nhớ: file) Chức : Quản lý tài nguyên hệ thống 15 / 98 15 / 98 Chương 1: Tổng quan Hệ Điều Hành Khái niệm Hệ điều hành 1.2 Chức Hệ điều hành Bài tập Download chương trình máy ảo (Virtual PC, Bochs, PearPC ) Cài đặt hệ điều hành (Windows, Linux, MacOS, Android, ) máy ảo 16 / 98 Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành 2.1 Lịch sử phát triển máy tính điện tử 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 hệ điều hành Lịch sử phát triển máy tính điện tử Định nghĩa phân loại Hệ điều hành Lịch sử phát triển Hệ điều hành Tính chất 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 20 / 98 Lịch sử phát triển Hệ điều hành 21 / 98 Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành 2.1 Lịch sử phát triển máy tính điện tử Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành 2.2 Lịch sử phát triển Hệ điều hành Lịch sử phát triển máy tính điện tử 1936 A Turing & Church đưa mơ hình tính tốn hình thức chứng minh tồn máy tính vạn năng: Máy Turing 1941 Konzard Zuse (Đức) Xây dựng máy tính Rơle: Máy tính nhị phân lập trình dựa cơng nghệ điện 1946 Máy ENIAC dựa đèn điện tử có tốc độ nhanh độ tin cậy thấp Rơle Sơ đồ Von Neumann đời giai đoạn Lịch sử phát triển Hệ điều hành Lịch sử phát triển máy tính điện tử Lịch sử phát triển Hệ điều hành 1950-1958 Dùng đèn điện tử thu nhỏ 1959-1963 Dùng chất bán dẫn 1964-1974 Dùng mạch tích hợp thay 1974-1990 Mạch tích hợp cỡ lớn: Kỹ thuật cho phép sản xuất CPU, nhớ thiết bị tương tự mạch tích hợp Kết phát sinh lớp máy tính rẻ xử lý song song gồm nhiều CPUs 1990-nay Mạch tích hợp cỡ lớn mạch tích hợp thông minh 22 / 98 23 / 98 Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành 2.2 Lịch sử phát triển Hệ điều hành Lịch sử phát triển Hệ điều hành 1948-1970 : Phần cứng đắt; nhân công rẻ 1970-1985 : Phần cứng rẻ; nhân công đắt Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành 2.2 Lịch sử phát triển Hệ điều hành Phần cứng đắt, nhân cơng rẻ (1/4) Máy tính 1M$ : Tài sản quốc gia sử dụng chủ yếu quân ⇒ Cần tối ưu hóa để sử dụng hiệu phần cứng Thiếu tương tác người dùng máy Không phân biệt người sử dụng; người lập trình, thao tác viên Một người dùng thời điểm Người sử dụng viết chương trình; gồm nhiều bìa đục lỗ Tấm bìa chương trình mồi (bootstraps loader ) đọc vào nhớ thực Lệnh chương trình mồi đọc vào nhớ thực lệnh nằm bìa sau vào nhớ thực (chương trình ứng dụng ) Xem xét đèn hiệu (kết ), thực gỡ rối 1981- : Phần cứng rẻ, nhân công đắt 1981- : Các hệ thống phân tán 1995- : Các thiết bị di động Khó gỡ rối Lãng phí thời gian máy Giải pháp: Xử lý theo lô (batch processing) 24 / 98 Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành 2.2 Lịch sử phát triển Hệ điều hành 25 / 98 Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành 2.2 Lịch sử phát triển Hệ điều hành Phần cứng đắt, nhân công rẻ (2/4) Phần cứng đắt, nhân cơng rẻ (2/4) Xử lý theo lơ có thao tác viên chuyên nghiệp Xử lý theo lô có thao tác viên chun nghiệp Người lập trình đưa chương trình cho thao tác viên Người lập trình đưa chương trình cho thao tác viên Thao tác viên kết hợp chương trình thành gói (batch) Thao tác viên kết hợp chương trình thành gói (batch) Máy tính đọc thực chương trình Máy tính đọc thực chương trình Thao tác viên lấy kết in gửi lại người lập trình Thao tác viên lấy kết in gửi lại người lập trình Giảm thời gian đợi công việc Vấn đề thắt nút thao tác vào/ra Máy tính ngày nhanh Thiết bị đọc bìa chậm ⇒CPU phải chờ đợi đọc/ghi bìa 26 / 98 26 / 98 Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành 2.2 Lịch sử phát triển Hệ điều hành Phần cứng đắt, nhân công rẻ (3/4) Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành 2.2 Lịch sử phát triển Hệ điều hành Phần cứng đắt, nhân cơng rẻ (4/4) Thay thiết bị đọc bìa đục lỗ thiết bị băng từ ⇒ Máy tính ngoại vi độc lập làm nhiệm vụ đọc ghi liệu Thiết bị ngoại vi thiết kế để truy nhập nhớ trực tiếp (DMA: Direct Memory Access) sử dụng chế ngắt kênh vào HĐH yêu cầu thiết bị vào/ra thực tiếp tục thực cơng việc HĐH nhận tín hiệu ngắt thiết bị vào thực xong u cầu ⇒Cho phép overlap tính tốn vào Lập trình lại CPU để dễ dàng hốn đổi chương trình Phần cứng: nhớ có kích thước lớn rẻ Một vài chương trình thực đồng thời : Đa chương trình Có thể overlap nhiều thời gian CPU thiết bị vào Đòi hỏi bảo vệ nhớ chương trình giữ cho lỗi chương trình khơng ảnh hưởng tới tồn hệ thống Vấn đề: Hệ điều hành phải quản lý tất tương tác ⇒ vượt khỏi tầm kiểm soát (OS360: 1000 lỗi) 27 / 98 28 / 98 Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành 2.2 Lịch sử phát triển Hệ điều hành Phần cứng rẻ, nhân cơng đắt Các máy tính có giá 10.000$ ⇒ dùng rộng rãi cho nhiều loại việc Công nghệ HDH ổn định Sử dụng thiết bị đầu cuối giá rẻ (1000$) cho phép nhiều người dùng tương tác với hệ thống thời điểm Người sử dụng thực 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 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 lần gõ phím ⇒ Hệ điều hành phân chia thời gian Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành 2.2 Lịch sử phát triển Hệ điều hành Phần cứng rẻ, nhân cơng đắt Máy tính có giá trị 1000$; nhân cơng 100K $/năm ⇒ Máy tính sử dụng rộng rãi để việc hiệu Tính tốn cá nhân, Máy tính rẻ, cung cấp cho người (PC: Máy tính cá nhân) Hệ điều hành 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 thủ tục cung cấp sẵn Một chương trình thời điểm (DOS) Máy tính cá nhân trở nên mạnh HDH gặp phải vấn để phức tạp HDH lớn đa nhiệm, bảo vệ nhớ (WINXP) Vấn đề thời gian đáp ứng hệ thống Mạng máy tính đời (ARPANet : 1968 ) Truyền thông máy Bảo vệ chống lại công 29 / 98 Giao diện người sử dung theo đồ họa (MAC, WIN, ) 30 / 98 Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành 2.2 Lịch sử phát triển Hệ điều hành Các hệ thống phân tán Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành 2.2 Lịch sử phát triển Hệ điều hành Các thiết bị di động Giai đoạn phát triển hệ điều hành mạng HĐH phân tán Các thiết bị di động khắp nơi Điện thoại, Laptop, PDA Nhỏ, khả chuyển rẻ → Nhiều máy tính/người Bị giới hạn khả năng: tốc độ, 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) Các mạng cục Các máy tính chia xẻ tài ngun: máy in, File servers, Mơ hình Client / Server Hệ thống ngang hàng (peer-to-peer) Nhiều thiết bị có vai trị làm việc Các thành phần "hệ điều hành" trải rộng toàn cầu Dịch vụ Tính tốn , Lưu trữ Dịch vụ cung cấp Internet Điện toán đám mây Cloud operating system Vấn đề Độ trễ truyền thông; băng thông, độ tin cậy, Virus (love letter virus 05/2000 ), 31 / 98 Chương 1: Tổng quan Hệ Điều Hành Lịch sử phát triển Hệ điều hành 32 / 98 Chương 1: Tổng quan Hệ Điều Hành Các khái niệm hệ điều hành Kết luận 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 hệ điều hành Định nghĩa phân loại Hệ điều hành Sự phát triển hệ điều hành kéo theo phát Tính chất Hệ điều hành triển máy tính Cấu trúc hệ điều hành Vấn đề xây dựng Hệ điều hành Sự đời phát triển hệ điều hành gắn liền với phát triển máy tính 33 / 98 34 / 98 Chương 1: Tổng quan Hệ Điều Hành Các khái niệm hệ điều hành 3.4 Lời gọi hệ thống Chương 1: Tổng quan Hệ Điều Hành Các khái niệm hệ điều hành 3.4 Lời gọi hệ thống Mục đích Mục đích Tạo mơi trường giao tiếp chương trình người sử dụng hệ điều hành Tạo môi trường giao tiếp chương trình người sử dụng hệ điều hành Chương trình dùng lời gọi hệ thống để yêu cầu dịch vụ từ hệ điều hành Chương trình dùng lời gọi hệ thống để yêu cầu dịch vụ từ hệ điều hành Tạo, xóa, sử dụng dối tượng phần mềm khác vận hành hệ điều hành Tạo, xóa, sử dụng dối tượng phần mềm khác vận hành hệ điều hành Mỗi lời gọi hệ thống ứng với thư viện chương trình Mỗi lời gọi hệ thống ứng với thư viện chương trình Lời gọi hệ thống thực dạng Các câu lệnh ngơn ngữ lập trình cấp thấp Lệnh gọi ngắt hợp ngữ (Int) Thủ tục gọi hàm API windows Tham số cho dịch vụ kết trả đặt vùng nhớ đặc biệt Ví dụ, gọi ngắt, mã chức đặt ghi AH 45 / 98 45 / 98 Chương 1: Tổng quan Hệ Điều Hành Các khái niệm hệ điều hành 3.4 Lời gọi hệ thống Chương 1: Tổng quan Hệ Điều Hành Định nghĩa phân loại Hệ điều hành Ví dụ 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 hệ điều hành Định nghĩa phân loại Hệ điều hành Tính chất 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 Hàm API: int ExitWindowsEx(int uFlags, int dwReason) uFlags EWX_LOGOFF EWX_POWEROFF EWX_REBOOT dwReason Kiểu dịch vụ Kết thúc tt thoát khỏi Windows Shutdown hệ thống tắt máy Shutdow khởi động lại hệ thống Nguyên nhân kết thúc hệ thống File log_off.c #include␣ int␣main(int␣argc,␣char␣*argv[]){ ␣␣␣␣ExitWindowsEx(EWX_LOGOFF,␣0); ␣␣␣␣return␣0; } 46 / 98 47 / 98 Chương 1: Tổng quan Hệ Điều Hành Định nghĩa phân loại Hệ điều hành 4.1 Định nghĩa Chương 1: Tổng quan Hệ Điều Hành Định nghĩa phân loại Hệ điều hành 4.1 Định nghĩa Góc độ quan sát Các đối tượng khác có yêu cầu khác HĐH Nhiều góc độ quan sát đánh giá ⇒ nhiều định nghĩa Người sử dụng Là hệ thống chương trình phục vụ khai thác hệ thống tính tốn cách thuận lợi Người quản lý Là hệ thống chương trình phục vụ quản lý chặt chẽ sử dụng tối ưu tài ngun hệ thống tính tốn Quan điểm kỹ thuật Là hệ thống chương trình trang bị cho máy tính cụ thể để tạo máy tính logic với tài nguyên khả Quan điểm hệ thống Là hệ thống mô hình hố, mơ hoạt động máy tính, người sử dụng thao tác viên, hoạt động 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 quản lý tối ưu tài nguyên hệ thống Định nghĩa phân loại Hệ điều hành Định nghĩa Phân loại Hệ điều hành 48 / 98 49 / 98 Chương 1: Tổng quan Hệ Điều Hành Định nghĩa phân loại Hệ điều hành 4.1 Định nghĩa Chương 1: Tổng quan Hệ Điều Hành Định nghĩa phân loại Hệ điều hành 4.2 Phân loại Hệ điều hành Quan điểm hệ thống Mô thành phần ⇒địi hỏi loại ngơn ngữ Ngơn ngữ máy Là ngôn ngữ thực hệ thống Mọi ngôn ngữ khác phải dịch ngôn ngữ máy Ngôn ngữ vận hành hệ thống Định nghĩa phân loại Hệ điều hành Định nghĩa Phân loại Hệ điều hành Câu lệnh HĐH (DOS: Dir, Del ; Unix: ls, rm, ) Dịch Shell Ngôn ngữ thuật tốn Ngơn ngữ lập trình Chương trình dịch 50 / 98 51 / 98 Chương 1: Tổng quan Hệ Điều Hành Định nghĩa phân loại Hệ điều hành 4.2 Phân loại Hệ điều hành Phân loại Chương 1: Tổng quan Hệ Điều Hành Định nghĩa phân loại Hệ điều hành 4.2 Phân loại Hệ điều hành Hệ thống xử lý theo lô đơn chương trình 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 Khi chương trình kết thúc, hệ thống tự động thực chương trình mà khơng cần can thiệp từ bên Hệ thống song song Phải tồn giám sát thực dãy công việc giám sát phải thường trú hệ thống Hệ thống phân tán Hệ thống xử lý thời gian thực 52 / 98 Thực chương trình theo thị xác định trước Địi hỏi tổ chức hàng đợi cơng việc Vấn đề: chương trình truy nhập thiết bị vào/ra; processor rơi vào trạng thái chờ đợi 53 / 98 Chương 1: Tổng quan Hệ Điều Hành Định nghĩa phân loại Hệ điều hành 4.2 Phân loại Hệ điều hành Hệ thống xử lý theo lô đa chương trình Cho phép thực nhiều chương trình đồng thời Nạp phần mã liệu chương trình/tiến trình vào nhớ (phần cịn lại nạp thời điểm thích hợp) Chương trình sẵn sàng thực Thực chương trình hệ thống đơn chương trình Nếu chương trình thực vào ra, processor chuyên giao cho chương trình sẵn sàng khác Chương 1: Tổng quan Hệ Điều Hành Định nghĩa phân loại Hệ điều hành 4.2 Phân loại Hệ điều hành Hệ thống phân chia thời gian Chia sẻ thời gian processor cho chương trình/tiến trình sẵn sàng thực Nguyên tắc giống hệ thống xử lý theo lô đa chương trình (nạp phần chương trình) Hạn chế thời gian rỗi processor Processor phân phối lại phụ thuộc chủ yếu vào điều phối hệ điều hành ⇒ Điều phối nào? ⇒ Chương Chi phí cao cho điều phối processor Chương trình sử dụng processor? Thời gian hốn đổi tiến trình nhỏ, chương trình cảm giac song song Tiết kiệm nhớ (không cần nạp tồn chương trình vào nhớ) Giải vấn đề chia sẻ nhớ chương trình 54 / 98 Thường gọi: Hệ điều hành đa nhiệm (Windows) 55 / 98 Chương 1: Tổng quan Hệ Điều Hành Định nghĩa phân loại Hệ điều hành 4.2 Phân loại Hệ điều hành Hệ thống song song Chương 1: Tổng quan Hệ Điều Hành Định nghĩa phân loại Hệ điều hành 4.2 Phân loại Hệ điều hành Hệ thống phân tán Xây dựng cho hệ thống có nhiều vi xử lý Nhiều VXL, cơng việc thực nhanh chóng (Amdahl 67 ) Độ tin cậy cao: hỏng VXL không ảnh hưởng đến hệ thống Ưu hệ thống nhiều máy có VXL chia xẻ nhớ, thiết bị ngoại vi Mỗi xử lý có nhớ cục riêng, trao đổi với thông qua đường truyền thông Các VXL thường khác kích thước chức (Máy cá nhân, máy trạm, máy mini, ) Đa xử lý đối xứng (SMP: symmetric) Mỗi xử lý chạy tiến trình/luồng Các VXL giao tiếp với thơng qua nhớ dùng chung Cơ chế chịu lỗi khả cân tải tối ưu Vấn đề: Đồng VXL Ví dụ: HĐH WinNT Hệ thống phân tán sử dụng để Chia xẻ tài nguyên : cung cấp chế để chia xẻ tập tin, in ấn vị trí xa Tăng tốc độ tính tốn: Một thao tác tính tốn chia làm nhiều phần nhỏ thực lúc nhiều vị trí khác An tồn: Một vị trí hệ thống bị hỏng, vị trí khác tiếp tục làm việc Đa xử lý không đối xứng (ASMP: asymmetric) Một xử lý kiểm sốt tồn hệ thống Các xử lý khác thực theo lệnh xử lý theo thị định nghĩa trước Mơ hình theo dạng quan hệ chủ tớ: Bộ xử lý lập lịch cho xử lý khác 56 / 98 57 / 98 Chương 1: Tổng quan Hệ Điều Hành Định nghĩa phân loại Hệ điều hành 4.2 Phân loại Hệ điều hành Chương 1: Tổng quan Hệ Điều Hành 5.Tính chất Hệ điều hành Hệ thống xử lý thời gian thực Được sử dụng chủ yếu lĩnh vực điều khiển Giải tốn khơng muộn thời điểm Mỗi tốn có hạn định (deadline) Hệ thống phải cho kết xác khoảng thời gian xác định Hệ điều hành đòi hỏi phối hợp cao phần mềm phần cứng 58 / 98 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 hệ điều hành Định nghĩa phân loại Hệ điều hành Tính chất 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 59 / 98 Chương 1: Tổng quan Hệ Điều Hành 5.Tính chất Hệ điều hành 5.1 Độ tin cậy cao Chương 1: Tổng quan Hệ Điều Hành 5.Tính chất Hệ điều hành 5.1 Độ tin cậy cao Độ tin cậy cao Mọi hoạt động, thông báo HĐH phải chuẩn xác Tính chất Hệ điều hành Cung cấp thông tin chắn Khi gặp lỗi: thông báo ngừng xử lý trao quyền định cho người dùng Độ tin cậy cao An tồn Cần có hỗ trợ từ thiết bị Hiệu Ví dụ: C:\>COPY C:\F.TXT A: Kiểm tra cú pháp lệnh copy Kiểm tra I:\O Card (động cơ, khả truy nhập ổ) Kiểm tra tồn file F.TXT C Kiểm tra ổ đĩa A Kiểm tra tồn file F.TXT A Có đủ chỗ trống 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) Tổng quát theo thời gian Thuận tiện 60 / 98 Chương 1: Tổng quan Hệ Điều Hành 5.Tính chất Hệ điều hành 5.2 An toàn 61 / 98 Chương 1: Tổng quan Hệ Điều Hành 5.Tính chất Hệ điều hành 5.2 An tồn An tồn Tính chất Hệ điều hành Dữ liệu chương trình phải bảo vệ Khơng bị thay đổi ngồi ý muốn chế độ làm việc Hạn chế truy nhập bất hợp pháp Độ tin cậy cao An toàn Hiệu Tổng quát theo thời gian Thuận tiện Các tài nguyên khác có yêu cầu bảo vệ khác Bảo vệ nhiều mức với nhiều công cụ khác Quan trọng với hệ điều hành đa nhiệm 62 / 98 63 / 98 Chương 1: Tổng quan Hệ Điều Hành 5.Tính chất Hệ điều hành 5.3 Hiệu Chương 1: Tổng quan Hệ Điều Hành 5.Tính chất Hệ điều hành 5.3 Hiệu Hiệu Tính chất Hệ điều hành Độ tin cậy cao Các tài nguyên phải khai thác triệt để; Tài nguyên hạn chế giải yêu cầu phức tạp An toàn Hiệu Tổng quát theo thời gian Hệ thống cần phải trì tính đồng bộ; Thuận tiện 64 / 98 Chương 1: Tổng quan Hệ Điều Hành 5.Tính chất Hệ điều hành 5.4 Tổng quát theo thời gian Các thiết bị tốc độ chậm không ảnh hưởng tới hoạt động toàn hệ thống 65 / 98 Chương 1: Tổng quan Hệ Điều Hành 5.Tính chất Hệ điều hành 5.4 Tổng quát theo thời gian Tổng quát Tính chất 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 thay đổi Nếu thay đổi: thông báo hướng dẫn cụ thể (chkdsk/scandisk) Đảm bảo tính kế thừa trì phát triển người sử dụng Độ tin cậy cao An toàn Hiệu Tổng quát theo thời gian Thuận tiện Hệ thống cần phải có khả thích nghi với thay đổi xảy Ví dụ: Vấn đề Y2K; FAT 12/16/32 66 / 98 67 / 98 ... Hệ điều hành 4.2 Phân loại Hệ điều hành Hệ thống xử lý theo lô đơn chương trình 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 Khi... (ASMP: asymmetric) Một xử lý kiểm sốt tồn hệ thống Các xử lý khác thực theo lệnh xử lý theo thị định nghĩa trước Mơ hình theo dạng quan hệ chủ tớ: Bộ xử lý lập lịch cho xử lý khác 56 / 98 57 /... phân chia thời gian: HĐH theo chu kỳ :dừng tiến trình để bắt đầu tt khác Cần lưu thơng tin tt ⇒ Bảng tiến trình (process table) Một tiến trình khởi tạo tiến trình khác Shell HĐH kích hoạt tiến