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

pdf 107 trang Gia Huy 16/05/2022 3680
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nguyên lý các hệ điều hành - Chương 1: Tổng quan về hệ điều hành - Đỗ Quốc Huy", để 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:

  • pdfbai_giang_nguyen_ly_cac_he_dieu_hanh_chuong_1_tong_quan_ve_h.pdf

Nội dung text: Bài giảng Nguyên lý các hệ điều hành - Chương 1: Tổng quan về hệ điều hành - Đỗ Quốc Huy

  1. Hệ Điều Hành (Nguyên lý các hệ điều hành) Đỗ 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
  2. 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
  3. 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
  4. 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 lCấu trúc phân lớp của hệ thống tính toán lChức năng hệ điều hành
  5. 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 lSơ đồ kiến trúc của một hệ thống máy tính
  6. 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 lSơ đồ kiến trúc của một hệ thống máy tính Bộ vào ra Bộ nhớ Đường Truyền Bộ xử lý l Một/ nhiều CPUs, các thiết bị điều khiển được liên kết bằng một hệ thống bus chung để truy nhập tới bộ nhớ chia sẻ l Các thiết bị điều khiển và CPU thực hiện đồng thời, cạnh tranh với nhau
  7. 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 l Các thành phần của một hệ thống máy tính(Silberschatz 2002)
  8. 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 l Các thành phần của một hệ thống máy tính (Tanenbaum 2001)
  9. 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 l Các thành phần của một hệ thống máy tính l 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) l 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 l 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 l Người dùng (Users) Người sử dụng máy móc hay máy tính khác
  10. 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 l Mục tiêu l 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 l Mục tiêu: Cung cấp một 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. l 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 l 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
  11. 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 lCấu trúc phân lớp của hệ thống tính toán lChức năng hệ điều hành
  12. 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
  13. 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ú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. l Đơn giản hóa vấn đề lập trình l Không phải làm việc với các dãy nhị phân l Mỗi tiến trình nghĩ nó sở hữu toàn bộ bộ nhớ, thời gian CPU, thiết bị l 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) l 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 ) l Các tiến trình không ảnh hưởng trực tiếp đến tiến trình khác → lỗi ở một tiến trình không làm hỏng toàn bộ hệ thống l Hữu ích cho phát triển hệ điều hành l Nếu HĐH thử nghiệm bị lỗi, chỉ giới hạn trong máy ảo l Trợ giúp kểm tra các chương trình trên các HĐH khác
  14. 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
  15. 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 l Tài nguyên hệ thống (Vi xử lý, bộ nhớ, thiết bị vào ra, file ) được chương trình sử dụng để thực hiện công việc xác định l Các chương trình đòi hỏi tài nguyên về mặt thời gian (sử dụng) và không gian (nhớ) l Hệ điều hành phải quản lý tài nguyên để hoạt động của máy tính một cách hiệu quả nhất l Phân phối các tài nguyên cho các chương trình khi cần thiết l Giải quyết tranh chấp l Quyết định thứ tự cấp phát tài nguyên cho những yêu cầu l Ví dụ: quản lý tài nguyên bộ nhớ (hữu hạn) l Nhiều chương trình cùng có thể được thực hiện l Tránh truy cập bất hợp lệ l Phải đảm bảo toàn vẹn dữ liệu (dùng chung vùng nhớ: file)
  16. 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 ③ 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
  17. Chương 1 Tổng quan về Hệ Điều Hành 2. Lịch sử phát triển của Hệ điều hành Lịch sử phát triển Hệ điều hành lLịch sử phát triển của máy tính điện tử lLịch sử phát triển của hệ điều hành
  18. 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ử l 1936 - A. Turing & Church đưa ra mô hình tính toán hình thức và chứng minh sự tồn tại của máy tính vạn năng: Máy Turing lmô hình về thiết bị xử lý các ký tự, tuy đơn giản, nhưng có thể thực hiện được tất cả các thuật toán máy tính lMáy Turing có khả năng mô phỏng lại hoạt động của tất cả các máy Turing khác -> máy Turing vạn năng lTuring được coi là cha đẻ của ngành khoa học máy tính và trí tuệ nhân tạo.
  19. 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ử l 1941- Konrad Zuse (Đức) Xây dựng máy tính Rơle: Máy tính nhị phân lập trình được dựa trên công nghệ cơ điện. lZ3: sử dụng hệ nhị phân lCó bộ nhớ và điều khiển riêng biệt
  20. 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ử l 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 l 18000 ống chân không l 70000 cái điện trở l 5 triệu mối nối hàn bằng kim loại
  21. 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ử l 1950-1958 Dùng đèn điện tử thu nhỏ l 1959-1963 Dùng chất bán dẫn l 1964-1974 Dùng mạch tích hợp thay thế
  22. 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ử l 1974-1990 Mạch tích hợp cỡ lớn: Kỹ thuật này cho phép sản xuất CPU, bộ nhớ chính hoặc các thiết bị tương tự trong một mạch tích hợp ->phát sinh ra một lớp máy tính rẻ và các bộ xử lý song song gồm nhiều CPUs l 1990-nay Mạch tích hợp cỡ rất lớn và mạch tích hợp thông minh
  23. Chương 1 Tổng quan về Hệ Điều Hành 2. Lịch sử phát triển của Hệ điều hành Lịch sử phát triển Hệ điều hành lLịch sử phát triển của máy tính điện tử lLịch sử phát triển của hệ điều hành
  24. 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 : 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
  25. 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 : * 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 Một người dùng tại một 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)
  26. 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 :
  27. 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 * 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 một 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 l Giảm thời gian đợi giữa các công việc l Vấn đề thắt nút trong thao tác vào/ra l Máy tính ngày càng nhanh l Thiết bị đọc bìa chậm ⇒CPU phải chờ đợi đọc/ghi bìa
  28. 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 * 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
  29. 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 l Lập trình lại CPU để dễ dàng hoán đổi giữa các chương trình l Phần cứng: bộ nhớ có kích thước lớn và rẻ hơn. Một vài chương trình thực hiện đồng thời : Đa chương trình l Có thể overlap nhiều hơn thời gian của CPU và thiết bị vào ra l Đòi hỏi bảo vệ bộ nhớ giữa các chương trình và giữ cho lỗi trong một chương trình không ảnh hưởng tới toàn hệ thống l Vấn đề: Hệ điều hành 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)
  30. 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 : l Các máy tính có giá 10.000$ ⇒ được dùng rộng rãi cho nhiều loại việc l Công nghệ HDH đã ổn định. l 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 một thời điểm l 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 một lần gõ phím ⇒ Hệ điều hành phân chia thời gian l Vấn đề thời gian đáp ứng của hệ thống l 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
  31. 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 : l 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 l Tính toán cá nhân l Máy tính rẻ, cung cấp cho mỗi người (PC: Máy tính cá nhân). l Hệ điều hành trên máy tính cá nhân l Tài nguyên phần cứng bị giới hạn (Thời gian đầu : 1980s) l HDH trở thành thư viện của các thủ tục cung cấp sẵn l Một chương trình tại một thời điểm (DOS) l Máy tính cá nhân trở nên mạnh l 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) l Giao diện người sử dung theo đồ họa (MAC, WIN, )
  32. 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 * DOS User interface * Macintosh User interface
  33. 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
  34. 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 hệ thống phân tán l Giai đoạn phát triển của hệ điều hành mạng và HĐH phân tán l Các mạng cục bộ l Các máy tính cùng chia xẻ tài nguyên: máy in, File servers, l Mô hình Client / Server l Dịch vụ l Tính toán , Lưu trữ l Dịch vụ được cung cấp bởi Internet. l Vấn đề l Độ trễ truyền thông; băng thông, độ tin cậy, l Virus (love letter virus 05/2000),
  35. 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
  36. 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 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
  37. 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 l Sự ra đời và phát triển của hệ điều hành gắn liền với sự phát triển của máy tính l Sự phát triển của hệ điều hành kéo theo sự phát triển của máy tính.
  38. 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
  39. 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 lĐịnh nghĩa lPhân loại
  40. 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 l Các đối tượng khác nhau có yêu cầu khác nhau về HĐH l 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 toán một 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ẽ và sử dụng tối ưu các tài nguyên của hệ thống tính toán Quan điểm kỹ thuật 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 hệ thống 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.
  41. 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 Quan điểm hệ thống Mô phỏng 3 thành phần ⇒đòi hỏi 3 loại ngôn ngữ l Ngôn ngữ máy l Là ngôn ngữ thực hiện duy nhất của hệ thống l Mọi ngôn ngữ khác phải dịch ra ngôn ngữ máy l Ngôn ngữ vận hành của hệ thống l Câu lệnh của HĐH (DOS: Dir, Del ; Unix: ls, rm, ) l Dịch bởi Shell l Ngôn ngữ thuật toán l Ngôn ngữ lập trình l Chương trình dịch
  42. 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 lĐịnh nghĩa lPhân loại
  43. 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 l Hệ thống xử lý theo lô đơn chương trình l Hệ thống xử lý theo lô đa chương trình l Hệ thống phân chia thời gian l Hệ thống song song l Hệ thống phân tán l Hệ thống xử lý thời gian thực
  44. 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 l Thực hiện các chương trình lần lượt theo những chỉ thị đã được xác định trước. l Khi một chương trình kết thúc, hệ thống tự động thực hiện chương trình tiếp theo mà không cần sự can thiệp từ bên ngoài l Phải tồn tại bộ giám sát thực hiện dãy các công việc và bộ giám sát phải thường trú trong hệ thống l Đòi hỏi tổ chức hàng đợi công việc l 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
  45. 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ô đa chương trình l Cho phép thực hiện nhiều chương trình đồng thời l 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 l Thực hiện chương trình như hệ thống đơn chương trình l 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 l Tiết kiệm bộ nhớ (không cần nạp toàn bộ chương trình vào bộ nhớ) l Hạn chế thời gian rỗi của processor l Chi phí cao cho điều phối processor. Chương trình nào tiếp theo sẽ được sử dụng processor? l Giải quyết vấn đề chia sẻ bộ nhớ giữa các chương trình
  46. 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 chia thời gian l 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 l 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) l Processor được phân phối lại phụ thuộc chủ yếu vào sự điều phối của hệ điều hành ⇒ Điều phối như thế nào? ⇒ Chương 2 l Thời gian hoán đổi giữa các tiến trình nhỏ, các chương trình cảm giac song song l Thường được gọi: Hệ điều hành đa nhiệm (Windows)
  47. 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 song song l Xây dựng cho các hệ thống có nhiều bộ vi xử lý l Nhiều VXL, công việc thực hiện nhanh chóng hơn l Độ tin cậy cao: hỏng một VXL không ảnh hưởng đến hệ thống l Ưu thế hơn hệ thống nhiều máy có một VXL vì cùng chia xẻ bộ nhớ, thiết bị ngoại vi l Đa xử lý đối xứng (SMP: symmetric) l Mỗi bộ xử lý chạy một tiến trình/tiểu trình l Các VXL giao tiếp với nhau thông qua một bộ nhớ dùng chung l Cơ chế chịu lỗi và khả năng cân bằng tải tối ưu l Vấn đề: Đồng bộ giữa các VXL l Ví dụ: HĐH WinNT
  48. 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 song song l Đa xử lý không đối xứng (ASMP: asymmetric) l Một bộ xử lý chính kiểm soát toàn bộ hệ thống l 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 l 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 l VD: IBM System/360
  49. 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 l 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 l 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, ) l Hệ thống phân tán được sử dụng để l Chia xẻ tài nguyên : cung cấp cơ chế để chia xẻ tập tin, in ấn tại một vị trí xa l Tăng tốc độ tính toán: Một thao tác tính toán được chia làm nhiều phần nhỏ được thực hiện một lúc trên nhiều vị trí khác nhau. l An toàn: Một 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
  50. 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ý thời gian thực l Được sử dụng chủ yếu trong lĩnh vực điều khiển. l Giải quyết bài toán không muộn hơn một thời điểm nào đó l Mỗi bài toán có một hạn định (deadline) l Hệ thống phải cho kết quả chính xác trong khoảng thời gian xác định l Hệ điều hành này đòi hỏi sự phối hợp cao giữa phần mềm và phần cứng.
  51. 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
  52. Chương 1 Tổng quan về Hệ Điều Hành 4. 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 lĐộ tin cậy cao lAn toàn lHiệu quả lTổng quát theo thời gian lThuận tiện
  53. Chương 1 Tổng quan về Hệ Điều Hành 4. Tính chất cơ bản của Hệ điều hành Độ tin cậy cao lMọi hoạt động, thông báo của HĐH phải chuẩn xác lCung cấp thông tin chỉ khi chắc chắn đúng lKhi 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 lCần có hỗ trợ từ thiết bị lVí dụ: C:/>COPY C:/F.TXT A:
  54. Chương 1 Tổng quan về Hệ Điều Hành 4. Tính chất cơ bản của Hệ điều hành Độ tin cậy cao lVí dụ: C:/>COPY C:/F.TXT A: lKiểm tra cú pháp của lệnh copy lKiểm tra I/Ocard (động cơ, khả năng truy nhập ổ) lKiểm tra sự tồn tại của file F.TXT trên C lKiểm tra ổ đĩa A lKiểm tra tồn tại file F.TXT trên A Có đủ chỗ trống trên A lĐĩa bị bảo vệ chống ghi lKiểm tra thông tin ghi vào (nếu có yêu cầu) l
  55. Chương 1 Tổng quan về Hệ Điều Hành 4. 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 lĐộ tin cậy cao lAn toàn lHiệu quả lTổng quát theo thời gian lThuận tiện
  56. Chương 1 Tổng quan về Hệ Điều Hành 4. Tính chất cơ bản của Hệ điều hành An toàn lDữ liệu và chương trình phải được bảo vệ lKhông bị thay đổi ngoài ý muốn và trong mọi chế độ làm việc lHạn chế truy nhập bất hợp pháp lCác tài nguyên khác nhau có yêu cầu bảo vệ khác nhau lBảo vệ nhiều mức với nhiều công cụ khác nhau lQuan trọng với hệ điều hành đa nhiệm
  57. Chương 1 Tổng quan về Hệ Điều Hành 4. 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 lĐộ tin cậy cao lAn toàn lHiệu quả lTổng quát theo thời gian lThuận tiện
  58. Chương 1 Tổng quan về Hệ Điều Hành 4. Tính chất cơ bản của Hệ điều hành Hiệu quả lCác tài nguyên phải được khai thác triệt để; lTài nguyên hạn chế vẫn giải quyết được những yêu cầu phức tạp. lHệ thống cần phải duy trì được tính đồng bộ; lCá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
  59. Chương 1 Tổng quan về Hệ Điều Hành 4. 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 lĐộ tin cậy cao lAn toàn lHiệu quả lTổng quát theo thời gian lThuận tiện
  60. Chương 1 Tổng quan về Hệ Điều Hành 4. Tính chất cơ bản của Hệ điều hành Tổng quát lHệ thống phải có tính kế thừa. lCác thao tác, thông báo không được thay đổi lNếu thay đổi: thông báo và hướng dẫn cụ thể (chkdsk/scandisk) lĐảm bảo tính kế thừa duy trì và phát triển người sử dụng lHệ thống cần phải có khả năng thích nghi với những thay đổi có thể xảy ra l Ví dụ: Vấn đề Y2K; FAT 12/16/32
  61. Chương 1 Tổng quan về Hệ Điều Hành 4. 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 lĐộ tin cậy cao lAn toàn lHiệu quả lTổng quát theo thời gian lThuận tiện
  62. Chương 1 Tổng quan về Hệ Điều Hành 4. Tính chất cơ bản của Hệ điều hành Thuận tiện lDễ sử dụng lNhiều mức với hiệu quả khác nhau lCó hệ thống trợ giúp phong phú
  63. 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
  64. 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 Các khái niệm trong Hệ điều hành lTiến trình và luồng lTài nguyên hệ thống lBộ xử lý lệnh (Shell) lLời gọi hệ thống (System calls)
  65. 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.1. Tiến trình và luồng Tiến trình l Tiến trình (tt): một chương trình đang thực hiện lMã lệnh chương trình có thể thực thi lDữ liệu của chương trình lNgăn xếp, con trỏ ngăn xếp, các thanh ghi lCác thông tin cần thiết cho việc thực thi chương trình l Tiến trình >< chương trình l 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 đó l Tiến trình: trạng thái động của chương trình.
  66. 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.1. Tiến trình và luồng Hệ thống đa tiến trình phân chia thời gian: lHĐH theo chu kỳ :dừng một tiến trình để bắt đầu một tt khác lCần lưu thông tin các tt ⇒ Bảng tiến trình (process table) lMột tiến trình có thể khởi tạo tiến trình khác lShell của HĐH kích hoạt một tiến trình thực hiện lệnh; thực hiện xong, hủy tiến trình mới được kích hoạt lCác tiến trình có thể trao đổi thông tin với nhau l Một tiến trình có thế bao gồm nhiều luồng (tiểu trình)
  67. 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.1. Tiến trình và luồng Luồng (Tiểu trình - Thread) lLuồng: chuỗi (luồng) lệnh được thực hiện trong tiến trình lMã thực thi, dữ liệu lCon trỏ lệnh, ngăn xếp, tập thanh ghi riêng lTiến trình chỉ chứa một luồng (Heavyweight Process) lTiến trình gồm nhiều luồng (Lightweight process) lMô hình đa luồng (Multi_Threading): lCác luồng h/động song song, chia sẻ biến toàn cục của tt
  68. 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
  69. 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 Các khái niệm trong Hệ điều hành lTiến trình và luồng lTài nguyên hệ thống lBộ xử lý lệnh (Shell) lLời gọi hệ thống (System calls)
  70. 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.2 Tài nguyên hệ thống Định nghĩa l Tài nguyên hệ thống là tất cả những gì cần thiết để cho một tiến trình có thể thực hiện được l Không gian: không gian lưu trữ của hệ thống l Thời gian: Thời gian thực hiện lệnh/truy xuất dữ liệu l Tài nguyên hệ thống l Bộ nhớ l Đặc trưng: dung lượng và thời gian truy cập trực tiếp, tuần tự l Phân cấp: bộ nhớ thực hiện/trong; mở rộng; ngoài l 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ớ) l Processor (VXL) l Quan trọng nhất của hệ thống l Được truy cập ở mức câu lệnh l Quan tâm đến thời gian xử lý. l Hệ thống nhiềuVXL thời gian của từng VXL được quản lý và phân phối độc lập l Thiết bị ngoại vi l Tiếp nhận, kết xuất thông tin (thiết bị vào ra) l Gắn với hệ thống bởi các thiết bị điều khiển l Xét chung thiết bị ngoại vi-thiết bị điều khiển
  71. 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.2 Tài nguyên hệ thống Phân loại tài nguyên l Kiểu tài nguyên lTài nguyên vật lý: Các thiết bị vật lý lTài nguyên logic: biến nhớ; thiết bị ảo l Khả năng sử dụng chung lTài nguyên dùng chung được: tại một 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ớ lTài nguyên không dùng chung được nhưng phân chia được: Các tiến trình sử dụng tài nguyên theo nguyên tắc lần lượt Ví dụ: processor lTài nguyên không dùng chung được và không phân chia được : tại một thời điểm nó chỉ có thể cấp phát cho một tiến trình duy nhất. Ví dụ: Máy in
  72. 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.2 Tài nguyên hệ thống Tài nguyên ảo l 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 l Chỉ xuất hiện khi hệ thống cần tới nó hoặc khi hệ thống tạo ra nó l Tự động mất đi khi hệ thống kết thúc hay chính xác hơn là khi tiến trình gắn với nó đã kết thúc. Ví dụ: Máy in ảo
  73. 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 Các khái niệm trong Hệ điều hành lTiến trình và luồng lTài nguyên hệ thống lBộ xử lý lệnh (Shell) lLời gọi hệ thống (System calls)
  74. 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 Bộ xử lý lệnh l Tiến trình đặc biệt: nơi giao tiếp giữa người dùng và hệ điều hành l Nhiệm vụ lNhận lệnh của người sử dụng lPhân tích lệnh lPhát sinh tiến trình mới để thực hiện yêu cầu của lệnh l Nhận lệnh thông qua cơ chế dòng lệnh l Môi trường đơn nhiệm (MS-DOS): lShell sẽ chờ cho tới khi tiến trình này kết thúc mới có thể nhận lệnh mới l Trong môi trường đa nhiệm (UNIX, WINXP,. . .) Sau khi khởi tạo và đưa tiến trình mới vào hoạt động, Shell có thể nhận lệnh mới
  75. 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 Bộ xử lý lệnh
  76. 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 Các khái niệm trong Hệ điều hành lTiến trình và luồng lTài nguyên hệ thống lBộ xử lý lệnh (Shell) lLời gọi hệ thống (System calls)
  77. 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.4 Lời gọi hệ thống l Tạo môi trường giao tiếp giữa chương trình của người sử dụng và hệ điều hành l 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ệ điều hành l 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ệ điều hành l Mỗi lời gọi hệ thống ứng với một thư viện các chương trình con l Lời gọi hệ thống được thực hiện dưới dạng l Các câu lệnh trong các ngôn ngữ lập trình cấp thấp l Lệnh gọi ngắt trong hợp ngữ (Int) l Thủ tục gọi hàm API trong windows l 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 l Ví dụ, khi gọi ngắt, mã chức năng được đặt trong thanh ghi AH l Int 05 : in màn hình ; Int 13/AH=03h - DISK - WRITE DISK SECTOR
  78. 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.4 Lời gọi hệ thống Ví dụ
  79. 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
  80. Chương 1 Tổng quan về Hệ Điều Hành 6. Cấu trúc Hệ điều hành lCác thành phần của hệ thống lDịch vụ Hệ điều hành lLời gọi hệ thống lCác cấu trúc hệ thống
  81. Chương 1 Tổng quan về Hệ Điều Hành 6. Cấu trúc Hệ điều hành 6.1 Các thành phần của hệ thống lQuản lý tiến trình lQuản lý bộ nhớ chính lQuản lý hệ thống vào ra lQuản lý file lQuản lý bộ nhớ lưu trữ lHệ thống trao đổi dữ liệu (mạng) lHệ thống bảo vệ lGiao diện người dùng
  82. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.1 Các thành phần của hệ thống Quản lý tiến trình l Tiến trình: Chương trình đang thực hiện l Tiến trình sử dụng tài nguyên của hệ thống để hoàn thành công việc l Tài nguyên được cấp khi tiến trình được khởi tạo hay khi đang thi hành l Tiến trình kết thúc, tài nguyên được trả về l Hệ thống có thể tồn tại nhiều tiến trình tại một thời điểm l Tiến trình hệ thống l Tiến trình người sử dụng l Nhiệm của hệ điều hành trong việc quản lý tiến trình l Tạo và hủy các tiến trình của người sử dụng và của hệ thống l Ngưng và thực hiện lại một tiến trình l Cung cấp cơ chế đồng bộ tiến trình l Cung cấp cách thông tin giữa các tiến trình l Cung cấp cơ chế kiểm soát bế tắc giữa các tiến trình
  83. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.1 Các thành phần của hệ thống Quản lý bộ nhớ chính l Bộ nhớ chính là một 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 l Một chương trình 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.Khi chương trình thi hành, hệ thống truy xuất các chỉ thị và dữ liệu của chương trình trong bộ nhớ chính. l Để 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ố tiến trình được lưu giữ trong bộ nhớ l Vai trò của Hệ điều hành trong việc quản lý bộ nhớ chính lLưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và ai sử dụng lQuyết định tiến trình nào được nạp vào bộ nhớ chính, khi bộ nhớ đã có thể dùng được lCấp phát và thu hồi bộ nhớ khi cần thiết
  84. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.1 Các thành phần của hệ thống Quản lý hệ thống vào ra l 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 thay vào đó làm cho người sử dụng dễ thao tác hơn l Quản lý hệ thống vào ra bao gồm lThành phần quản lý bộ nhớ gồm buffering, caching, spooling lGiao tiếp điều khiển thiết bị (device drivers) tổng quát. lBộ đ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ả.
  85. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.1 Các thành phần của hệ thống Quản lý file l 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 l File (Tập tin)đơn vị lưu trữ cơ bản nhất l Nhiệm vụ của quản lý file lTạo/ xoá một tập tin/ thư mục. l Hỗ trợ các thao tác trên file và thư mục lÁnh xạ file trên hệ thống lưu trữ phụ. lBackup hệ thống file trên các thiết bị lưu trữ.
  86. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.1 Các thành phần của hệ thống Quản lý bộ nhớ lưu trữ l Chương đượ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ý 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 l Vai trò của hệ điều hành trong việc quản lý đĩa lQuản lý vùng trống trên đĩa lCung cấp vùng lưu trữ theo yêu cầu lLập lịch cho truy nhâp đĩa hiệu quả
  87. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.1 Các thành phần của hệ thống Hệ thống trao đổi dữ liệu (Hệ thống phân tán) l 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 l Các VXL liên kết qua hệ thống mạng truyền thông l Truyền thông được thực hiện nhờ các giao thức (FTP, HTTP ) l 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 l Truy nhập tới tài nguyên dùng chung cho phép lTăng tốc độ tính toán lTăng khả năng sẵn sàng của dữ liệu lTăng độ tin cậy của hệ thống
  88. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.1 Các thành phần của hệ thống Bảo vệ hệ thống l Hệ thống nhiều người dùng đồng thời ⇒ Các tiến trình phải được bảo vệ từ các sự hoạt động của tiến trình khác l Bảo vệ là cơ chế kiểm soát truy nhập của chương trình, tiến trình hay người dùng tới hệ thống hoặc các tài nguyên người dùng l Cơ chế bảo vệ đòi hỏi lPhân biệt giữa sử dụng hợp pháp và không hợp pháp lXác lập các kiểm soát được áp đặt lCung cấp phương tiện ép buộc
  89. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.1 Các thành phần của hệ thống Giao diện người dùng l Thực hiện câu lệnh người dùng. Các câu lệnh được cung cấp cho hệ điều hành bởi các câu lệnh điều khiển nhằm l Tạo và quản lý tiến trình l Quản lý bộ nhớ chính, bộ nhớ lưu trữ l Truy nhập hệ thống file l Bảo vệ l Hệ thống mạng l . . . l Giao diện người dù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)
  90. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.1 Các thành phần của hệ thống Giao diện người dùng Một số hình thái giao tiếp người máy l Dòng lệnh (Command line) l Đơn giản nhưng có tổ chức l Không đòi hỏi cấu hình phức tạp l Việc gắn thông số vào là hết sức đơn giản l Bảng chọn l Menu l Popup l Menu_popup: 2 phương thức on và onselect l Biểu tượng Cửa sổ, icon, desktop
  91. Chương 1 Tổng quan về Hệ Điều Hành 6. Cấu trúc Hệ điều hành lCác thành phần của hệ thống lDịch vụ Hệ điều hành lLời gọi hệ thống lCác cấu trúc hệ thống
  92. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.2 Dịch vụ Hệ điều hành Dịch vụ chính yếu l 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) l 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. l 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 l Truyền thông: Trao đổi thông tin giữa các tiến trình đang thực thi trên cùng một máy hoặc trên các máy trong mạng. Truyền thông được thực hiện nhờ bộ nhớ phân chia hoặc bằng kỹ thuật chuyển thông điệp. l Phát hiện lỗi Đảm bảo thực hiện 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.
  93. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.2 Dịch vụ Hệ điều hành Dịch vụ phụ trợ Không nhằm trợ giúp người dùng mà dùng để vận hành hệ thống hiệu quả l 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 diện trong cùng thời điểm l 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) l 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
  94. Chương 1 Tổng quan về Hệ Điều Hành 6. Cấu trúc Hệ điều hành lCác thành phần của hệ thống lDịch vụ Hệ điều hành lLời gọi hệ thống lCác cấu trúc hệ thống
  95. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.3 Lời gọi hệ thống Lời gọi hệ thống Lời gọi hệ thống cung cấp một giao tiếp giữa tiến trình và hệ điều hành
  96. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.3 Lời gọi hệ thống Lời gọi hệ thống lQuản lý tiến trình: khởi tạo tiến trình, huỷ tiến trình lQuản lý bộ nhớ: cấp phát và giải phóng bộ nhớ lQuản lý file: tạo mới, xoá, đọc và ghi file lQuản lý thiết bị vào ra: thực hiện trao đổi vào/ra lTrao đổi thông tin với hệ thống lấy/đặt ngày giờ lTruyền thông liên tiến trình
  97. Chương 1 Tổng quan về Hệ Điều Hành 6. Cấu trúc Hệ điều hành lCác thành phần của hệ thống lDịch vụ Hệ điều hành lLời gọi hệ thống lCác cấu trúc hệ thống
  98. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.4 Các cấu trúc hệ thống Cấu trúc MS-DOS (Silberschatz 2002)
  99. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.4 Các cấu trúc hệ thống Cấu trúc UNIX (Silberschatz 2002)
  100. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.4 Các cấu trúc hệ thống Cấu trúc OS/2 (Silberschatz 2002)
  101. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.4 Các cấu trúc hệ thống Máy ảo (Silberschatz 2002)
  102. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.4 Các cấu trúc hệ thống Mô hình Client-Server (Tanenbaum 2001)
  103. Chương 1 Tổng quan về Hệ Điều Hành 6. Các khái niệm trong Hệ điều hành 6.4 Các cấu trúc hệ thống Mô hình Client-Server trong hệ phân tán (Tanenbaum 2001)
  104. 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
  105. 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 lNguyên tắc modul lNguyên tắc tương đối trong định vị lNguyên tắc macroprocessor lNguyên tắc khởi tạo trong cài đặt lNguyên tắc lặp chức năng lNguyên tắc giá trị chuẩn lNguyên tắc bảo vệ nhiều mức
  106. Chương 1 Tổng quan về Hệ Điều Hành Tóm Lược ⑤ Các khái niệm trong hệ ① Khái niệm Hệ điều hành điều hành l Cấu trúc phân lớp của hệ thống l Tiến trình và luồng l Chức năng Hệ điều hành ② Lịch sử phát triển Hệ điều hành l Tài nguyên hệ thống l Lịch sử phát triển của máy tính điện tử l Bộ xử lý lệnh (Shell) l Lịch sử phát triển Hệ điều hành l Lời gọi hệ thống (System ③ Định nghĩa và phân loại Hệ điều hành calls) l Định nghĩa l Phân loại 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 l Những thành phần của hệ l Độ tin cậy cao thống l An toàn l Dịch vụ Hệ điều Hành l Hiệu quả l Lời gọi hệ thống l Tổng quát theo thời gian l Các cấu trúc hệ thống l Thuận tiện ⑦ Vấn đề xây dựng Hệ điều hành