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
145 trang |
Chia sẻ: hachi492 | Ngày: 05/01/2022 | Lượt xem: 485 | Lượt tải: 0
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:
- bai_giang_he_dieu_hanh_chuong_1_tong_quan_ve_he_dieu_hanh_do.ppt