Định nghĩa Hệ điều hành Hệ điều hành operating system: Chương trình trung gian giữa phần cứng MT và người sử dụng, có chức năng điều khiển và phối hợp việc sử dụng phần cứng và cung
Trang 1Chương 2:
NHỮNG VẤN ĐỀ CƠ BẢN CỦA NGUYÊN LÝ HỆ ĐIỀU HÀNH
1
Trang 3Định nghĩa Hệ điều hành
Hệ điều hành (operating system):
Chương trình trung gian giữa phần cứng MT và người sử dụng, có
chức năng điều khiển và phối hợp việc sử dụng phần cứng và cung cấp các dịch vụ cơ bản cho các ứng dụng
Trang 4 Quản lý và cấp phát tài nguyên HT một cách hiệu quả
Size (Mem): hữu hạn
Size (Process): lớn
4
Trang 5Định nghĩa Hệ điều hành (3)
Góc nhìn hệ thống (System):
Banking system
Airline reservation
Web browser Application
programs Compilers Editors Command
Interpreter System
programs Operating system
Machine language
Hardware Microprogramming
Physical devices
5
Trang 6Định nghĩa Hệ điều hành (4)
Góc nhìn user:
6
Trang 7Các nguyên lý xây dựng Hệ điều hành
Nguyên lý modul
Nguyên lý tương đối trong định vị
Nguyên lý phủ chức năng
Nguyên lý Macro-Processor
Nguyên lý khởi tạo trong cài đặt
Nguyên lý bảng tham số điều khiển
Nguyên lý giá trị chuẩn
Nguyên lý bảo vệ nhiều mức
7
Trang 8Các loại Hệ điều hành
Dưới góc độ loại MT:
HĐH dành cho máy MainFrame
HĐH dành cho máy Server
HĐH dành cho máy nhiều CPU
HĐH dành cho máy tính cá nhân PC
HĐH dành cho máy PDA (Embedded OS – hđh nhúng)
HĐH dành cho máy chuyên biệt
HĐH dành cho thẻ chip (SmartCard)
8
Trang 12Các loại Hệ điều hành (5)
Hệ thống xử lý đa chương (Multiprogrammed systems)
Nhiều tác vụ sẵn sàng thi hành cùng một thời điểm
Khi một tác vụ thực hiện I/O, bắt đầu tác vụ khác
Bộ xử lý và thiết bị thi hành toàn thời gian
12
Trang 13Các loại Hệ điều hành (6)
Hệ thống xử lý đa chương
Nhiều công việc được nạp đồng thời vào bộ nhớ chính
Khi một tiến trình thực hiện I/O, một tiến trình khác được thực thi
Tận dụng được thời gian rảnh, tăng hiệu suất sử dụng CPU
Y/c đối với HĐH:
Định thời công việc (job scheduling): chọn job trong job pool trên đĩa và nạp vào
13
0
512 K
Trang 14Time Multiprogramming with three programs
Trang 15Các loại Hệ điều hành (8)
Hệ thống chia xẻ thời gian (Time – sharing systems)
Còn gọi là HT đa nhiệm (Multitasking)
Giống như HT đa chương: Khi 1 process (A) xử lý sk I/O thì process khác (B,C,…) cũng được đưa vào CPU
Khác ở chỗ (slice time): P(A) đc đưa vào để xl sk I/O => giống như
đa chương là sẽ được cấp khoảng tg (VD:100ms), nhưng khi hết 100ms vẫn chưa xong => P(A) sẽ được đưa trở lại BNC để chọn P(B) vào thực thi
Mục tiêu: tăng khả năng tương tác với user
15
Windows
Linux
Trang 16Các loại Hệ điều hành (9)
Hệ thống chia xẻ thời gian (Time – sharing systems)
Multiprogrammed systems ko cung cấp k/n tương tác hiệu quả với users
CPU luân phiên thực thi các công việc: mỗi công việc được chia một phần nhỏ tg CPU
Một công việc chỉ được chiếm CPU khi nó nằm trong BNC
Khi cần, 1 công việc nào đó có thể được chuyển từ BNC ra th.bị lưu trữ thứ cấp: đĩa cứng (cơ chế swapping), nhường BNC cho công việc khác
16
Trang 17Các loại Hệ điều hành (10)
Hệ thống chia xẻ thời gian (Time – sharing systems)
Y/c đối với OS:
Định thời công việc: mỗi process được cấp 1 khoảng tg, nếu sau khoảng tg
đó mà chưa kết thúc thì phần còn lại của process đó được đưa trở lại BNC
để chờ xử lý tiếp.
Quản lý bộ nhớ ảo: ~ đa chương
Quản lý các quá trình (tiến trình): định thời CPU, đồng bộ các quá trình, giao tiếp các quá trình, tránh deadlock
Quản lý HT file, HT lưu trữ
Cấp phát hợp lý các tài nguyên
Bảo vệ (protection)
17
Trang 18Các loại Hệ điều hành (11)
Hệ thống đa xử lý (xử lý song song)
Hai hoặc nhiều bộ xử lý cùng chia sẻ một bộ nhớ
Theo cơ chế Master/Slave: 1 bộ xl chính kiểm soát một số bộ xl còn lại
Có 2 mô hình sau:
CPU chuyên đọc dl/ghi dl/tính toán/… =>an toàn hơn (vì lí do nào đó, 1 CPU bị hỏng => master sẽ giao công việc đó cho 1 CPU khác)
18
CPU MEM CPU MEM CPU MEM
MEM
Trang 19 Càng nhiều processor =>tăng khả năng tính toán => nhanh xong công việc
Ít tốn kém hơn multiple single-processor system vì có thể dung chung tài nguyên (đĩa, bộ nhớ,…)
Độ tin cậy: khi 1 processor hỏng thì công việc của nó được chia sẻ với các processor còn lại
19
Trang 20Các loại Hệ điều hành (13)
Hệ thống phân tán
Nhiều MT liên kết với nhau bằng đường truyền thông đặc biệt
Tương tự HT đa xử lý nhưng ko chia sẻ bộ nhớ
Trang 21 Chia sẻ tài nguyên (resource sharing)
Chia sẻ sức mạnh tính toán (computational sharing)
Độ tin cậy cao (high reliability)
Độ sẵn sàng cao (high availability): các d.vụ của HT được cung cấp liên tục cho
dù 1 thành phần hardware trở nên hỏng
21
Trang 23Các loại Hệ điều hành (16)
Hệ thống thời gian thực (real time system)
Sử dụng trong các thiết bị chuyên dụng như điều khiển, các thử nghiệm khoa học, điều khiển trong y khoa, dây chuyền công nghiệp, thiết bị gia dụng, quân sự
Ràng buộc về thời gian: hard và soft real-time
Phân loại:
Hard real-time:
Hạn chế/ko có bộ nhớ phụ, tất cả dl nằm trong BNC (RAM/ROM)
Y/c về thời gian đáp ứng/xử lý rất nghiêm ngặt, thường sử dụng trong điều khiển công nghiệp, robotics,…
Soft real-time: thường dùng trong lĩnh vực multimedia, virtual reality với y/c mềm dẻo hơn về thời gian đáp ứng
23
Trang 24Các loại Hệ điều hành (17)
Thiết bị cầm tay (handheld system)
Personal digital assistant (PDA): Palm, Pocket – PC
Điện thoại di động (cellular phones)
Đặc trưng:
Bộ nhớ nhỏ: 512 KB – 128 MB
Tốc độ processor thấp (để ít tốn pin)
Màn hình kích thước nhỏ, độ phân giải thấp
Có thể dùng các công nghệ kết nối như IrDA, Bluetooth, Wireless
24
Trang 25Các thành phần Hệ điều hành
Quản lý quá trình (process management)
Quản lý bộ nhớ chính
Quản lý file (file management)
Quản lý hệ thống I/O (I/O system management)
Quản lý HT lưu trữ thứ cấp (secondary storage management)
HT bảo vệ
HT thông dịch lệnh
HT mạng
25
Trang 26Các thành phần Hệ điều hành (2)
Quản lý quá trình (process management)
Quá trình (hay tiến trình – process) là gì? Là ct thực thi
Khác chương trình ở điểm gì? (ct nằm ở đĩa cứng, qt nằm ở BNC)
Một qt cần các tài nguyên của HT: CPU, bộ nhớ, file, th.bị I/O,…để hoàn thành công việc
Trang 27Các thành phần Hệ điều hành (3)
Quản lý bộ nhớ chính
BNC là trung tâm của các thao tác, xử lý
Để nâng cao hiệu suất sử dụng CPU, HĐH cần quản lý bộ nhớ thích hợp
Các nhiệm vụ:
Theo dõi, quản lý các vùng nhớ trống và vùng đã cấp phát
Quyết định sẽ nạp ct nào khi có vùng nhớ trống
Cấp phát và thu hồi vùng nhớ khi cần thiết
27
BNTC (HD)
Cache BNC (RAM, ROM)
Trang 28 “Ánh xạ” file/TM vào th.bị lưu trữ thứ cấp tương ứng
Sao lưu và phục hồi dữ liệu
28
Trang 29Các thành phần Hệ điều hành (5)
Quản lý hệ thống I/O
Che dấu sự khác biệt của th.bị I/O trước người dùng
Có chức năng:
Cơ chế bộ đệm: buffering, caching, spooling
Cung cấp giao diện chung đến trình điều khiển th.bị (device – drive interface)
Bộ điều khiển các th.bị (device driver) phần cứng
29
Trang 30Các thành phần Hệ điều hành (5)
Quản lý hệ thống lưu trữ thứ cấp
BNC: kích thước nhỏ, là môi trường chứa tin ko bền vững
=> cần HT lưu trữ thứ cấp để lưu trữ bền vững dl, ct
Phương tiện lưu trữ thông dụng: đĩa từ, đĩa quang
Nhiệm vụ của HĐH trong quản lý đĩa:
Quản lý ko gian trống trên đĩa (free space management)
Cấp phát ko gian lưu trữ (storage allocation)
Định thời hoạt động cho đĩa (disk scheduling)
=> Sử dụng thường xuyên, ảnh hưởng đến tốc độ của cả HT
=> cần hiệu quả
30
Trang 31Các thành phần Hệ điều hành (6)
Hệ thống bảo vệ: (hai góc độ: user & process)Trong HT cho phép nhiều user hay nhiều process diễn ra đồng thời
Kiểm soát qt user đăng nhập/xuất và sử dụng HT
Kiểm soát việc truy cập tài nguyên HT
Đảm bảo các user/process chỉ được phép sử dụng tài nguyên dành cho nó
Các nhiệm vụ:
Cung cấp cơ chế kiểm soát đăng nhập/xuất (login, log out)
Phân định được sự truy cập tài nguyên hợp pháp và bất hợp pháp
Phương tiện thi hành các chính sách: chính sách cần bảo vệ dl của ai đối với ai
31
Trang 32Các thành phần Hệ điều hành (7)
Hệ thống thông dịch lệnh
Là giao diện chủ yếu giữa user và OS
VD: shell, mouse-based window-and-menu
Khi user login: command line interpreter (shell) chạy, và chờ nhận lệnh
từ user, thực thi lệnh và trả kết quả về
Các lệnh ->bộ điều khiển lệnh ->HĐH
Các lệnh có quan hệ với các việc:
Tạo, hủy, quản lý qt, HT
Kiểm soát I/O
Quản lý bộ nhớ thứ cấp
Quản lý BNC
Truy cập HT file và cơ chế bảo mật
32
Trang 33Cấu trúc của hệ điều hành
Cấu trúc đơn giản
Cấu trúc phân tầng
Vi nhân
Máy ảo
33
Trang 34Cấu trúc của hệ điều hành (2)
Cấu trúc đơn giản (monolithique): phân chia modul
MS DOS: khi thiết kế, do giới hạn
về dung lượng bộ nhớ nên ko
chưa phân chia rõ c/n giữa các phần của HT
Bảo mật kém, dễ hư hỏng th.bị (VD: điều khiển truyền dl tới các th.bị ngoại vi-> ngắt bất ngờ ->mất nguồn ->sụt áp ->hư hỏng th.bị
34
Aplication program Resident system program
MS-DOS device drivers
ROM BIOS device drivers
Cấu trúc phân tầng của MS DOS
Trang 35Cấu trúc của hệ điều hành (3)
Cấu trúc đơn giản:
UNIX: gồm 2 phần có thể tách rời nhau
Nhân (cung cấp file system, CPU scheduling, memory management, một
số c/n khác) và system program
35
Trang 36Cấu trúc của hệ điều hành (4)
Cấu trúc phân tầng: HĐH được chia thành nhiều lớp
Lớp dưới cùng: hardware
Lớp trên cùng: giao tiếp với user
Lớp trên chỉ phụ thuộc lớp dưới
Một lớp chỉ có thể gọi hàm của lớp dưới và các hàm của nó được gọi bởi lớp trên
Mỗi lớp tương đương 1 đối tượng trừu tượng: CTDL + thao tác
Phân lớp có lợi gì? Gỡ rối (debugger, kiểm tra HT, thay đổi c/n)
36
Trang 37Cấu trúc của hệ điều hành (5)
Trang 38Cấu trúc của hệ điều hành (6)
Vi nhân: phân chia modul theo microkernel (CMU Mach OS, 1980)
Chuyển một số c/n của OS từ kernel space sang user space
Thu gọn kernel =>microkernel, microkernel chỉ bao gồm các c/n tối thiểu như quản lý qt, bộ nhớ và cơ chế giao tiếp giữa các qt
Giao tiếp các modul qua cơ chế truyền thông điệp
38
Trang 39Cấu trúc của hệ điều hành (7)
Vi nhân:
Tru64 UNIX: nhân Mach
Apple Mac OS server: nhân Mach
QNX-vi nhân cung cấp: truyền thông điệp, định thời CPU, giao tiếp mạng cấp thấp, ngắt phần cứng
Windows NT: chạy các ứng dụng khác nhau như win32, OS/2, POSIX (Portable OS for uniX)
39
Trang 40Cấu trúc của hệ điều hành (8)
Là những bản sao ảo chính xác các đặc tính phần cứng của máy tính thực
Cho phép một hệ điều hành khác hoạt động trên đó như trên phần cứng thực sự
Phức tạp nhất của máy ảo là hệ thống đĩa: giả sử HT chỉ có 3 bộ điều khiển đĩa nhưng có 7 máy ảo =>XD HT đĩa ảo