os 1 - overview
DESCRIPTION
OS 1 - OverviewTRANSCRIPT
TỔNG QUAN
HỆ ĐIỀU HÀNH
GV: MAI Xuân Phú
Khoa Công Nghệ Thông Tin
Đại Học Công Nghiệp TPHCM
1
Nội dung
Định nghĩa hệ điều hành (HĐH)
Lịch sử HĐH
Các thành phần của HĐH
Các khái niệm HĐH
Cấu trúc HĐH
2
Hệ điều hành
Hệ điều hành – Operating System
o Chương trình (hệ chương trình) giao diện giữa phần
cứng máy tính và người dùng
Cung cấp
o Môi trường cho phép người dùng thiết kế và thực
hiện chương trình
3
Hệ thống máy tính
HỆ ĐIỀU HÀNH
Trình ứng dụng
Phần cứng
Người dùng 1
Người dùng 2
Người dùng n
…
Chức năng của HĐH
Quản trị tài nguyên o Tài nguyên: CPU, RAM, HDD, printer…
o Đối tượng sử dụng tài nguyên: Chương trình ứng dụng
o Nhiệm vụ: cung cấp giải thuật cấp phát, quản trị tài nguyên cho các đối tượng hoạt động.
o Mục tiêu: Cấp phát đầy đủ, công bằng, hiệu quả
Giả lập máy tính mở rộng (Điều khiển thiết bị) o Nhiệm vụ: Che giấu các chi tiết phần cứng, tạo môi
trường dễ làm việc hơn cho người dùng.
o Mục tiêu: Tạo sự độc lập thiết bị.
o Ví dụ: Làm sao để MS.Word có thể in được với nhiều loại máy in khác nhau như in kim, laser, phun của nhiều hãng khác nhau
4
Lịch sử phát triển HĐH
Thiết kế tuần tự, 1950s o Hệ thống xử lý bó (batch programming system)
Hệ thống đa lập trình (multiprogramming system), 1968 o Chia sẻ tài nguyên giữa các quá trình
Máy tính tương tác, 1970s o Hệ thống chia sẻ thời gian (time-sharing systems)
o User – Terminal (non - computer)
Hệ thống đa xử lý (multiprocessing system) o Nhiều bộ vi xử lý chia sẻ tài nguyên (bộ nhớ, thiết bị cứng)
Hệ thống mạng (network systems) o Mỗi quá trình chạy trên 1 máy
o Chia sẻ file và thông điệp
Hệ điều hành phân tán (distributed OS) o Mạng với các xử lý cục bộ trên từng máy
5
Thành phần HĐH
6
Các khái niệm của HĐH
Tiến trình (Process)
Không gian địa chỉ (Address Spaces)
Tập tin (Files)
Nhập xuất (Input/Output)
Bảo vệ (Protection)
Shell
7
Tiến trình
Chương trình thực thi
Liên kết với không gian địa chỉ chứa: o Chương trình có thể thực thi
o Dữ liệu chương trình
o Stack
o Tập các tài nguyên • Các thanh ghi (register)
• Danh sách các tập tin đang mở
• Danh sách các tiến trình liên quan
Thông tin tiến trình được lưu trữ trong bảng tiến trình (Process Table)
8
Không gian địa chỉ
Dải địa chỉ rời rạc ảo phát sinh bởi chương trình
Bộ nhớ chính
o Chứa chương trình đang thực thi
o HĐH đơn giản: chỉ duy nhất 1 chương trình trong bộ
nhớ chính
o HĐH đa chương: nhiều chương trình đồng thời trong
bộ nhớ chính
Hệ thống máy 32 hoặc 64 bit
o Không gian địa chỉ 232 hoặc 264 byte
9
Tập tin
10
Nhập xuất
Thiết bị vật lý
o Thu nhận dữ liệu vào (input)
o Xuất kết quả (output)
Loại thiết bị
o Bàn phím
o Màn hình
o Máy in,…
Hệ thống nhập/xuất
o Quản lý các thiết bị nhập/xuất
11
Bảo vệ
Cô lập các chương trình nguy hiểm với người
dùng: virus, malware,…
Bảo vệ tập tin với một mã bảo vệ 9 bit
o Chia làm 3 trường: owner, owner group members &
every
o Mỗi 3 bit của 1 trường quy định quyền: đọc, viết và
thực thi
o Ví dụ: rwxr-x--x
Tránh xung đột khi truy xuất tập tin, bộ nhớ,
CPU,…
12
Shell
Shell
o Cung cấp giao diện người dùng của 1 HĐH được
dùng để truy cập các dịch vụ của nhân
Phân loại
o Dòng lệnh (Command-Line)
o Đồ họa (Graphical)
Mục đích
o Gọi và khởi động chương trình khác
13
Cấu trúc HĐH
Kiến trúc đơn giản (Monolithic Systems)
Kiến trúc phân lớp (Layered Systems)
Kiến trúc máy ảo (Virtual Machine)
Kiến trúc client/server
14
Kiến trúc đơn giản (1)
HĐH chỉ làm một số nhiệm vụ quản lý còn khá
đơn giản và cung cấp thêm một số dịch vụ.
HĐH = Thư viện hàm.
UD của người dùng vẫn có thể truy cập trực tiếp
đến phần cứng thông quaBIOS, cổng phần
cứng
Cấu trúc
15
Kiến trúc đơn giản (2)
Ví dụ: HĐH MS-DOS
16
COMMAND.COM
MSDOS.SYS
IO.SYS
Kiến trúc đơn giản (3)
Khuyết điểm
o Không hỗ trợ đa nhiệm
o Không che giấu dữ liệu, mỗi thủ tục có thể gọi tất cả
thủ tục khác khó kiểm soát và bảo vệ hệ thống
o Hệ thống thủ tục: tĩnh thiếu chủ động trong quản lý
môi trường
17
Kiến trúc phân lớp (1)
Mục đích
o Đơn thể hóa hệ thống
o Che dấu thông tin
Ví dụ: THE (Technische Hogeschool Eindhoven)
18
Tầng Chức năng
5 Giao diện người dùng
4 Các chương trình người dùng
3 Quán lý nhập/ xuất
2 Quản lý quá trình
1 Quản lý bộ nhớ
0 Giao tiếp phần cứng
Kiến trúc phân lớp (2)
Ưu điểm
o Hệ thống mang tính đơn thể
Thiết kế, cài đặt đơn giản
Khuyết điểm
o Khó xác định các lớp
o Chạy chậm do sự lam truyền của lời gọi hệ thống qua
các lớp
• Chi phí truyền tham số
• Chuyển đổi ngữ cảnh
19
Máy ảo (1)
Mục tiêu của HĐH: chạy nhiều chương trình
đồng thời
Tạo nhiều máy tính ảo từ một máy tính thật để
các chương trình chạy riêng trên các máy ảo.
Các chương trình không biết mình đang chạy
trên máy ảo, cũng không biết mình đang phải
chia sẻ tài nguyên với các chương trình khác
o Ví dụ:
• CPU ảo: mỗi chương trình sở hữu một CPU ảo
• Bộ nhớ ảo: mỗi chương trình một không gian nhớ riêng
20
Máy ảo (2)
21 Non-virtual Machine Virtual Machine
Máy ảo (3)
Ưu điểm:
o Môi trường thuận lợi cho sự tương thích
o Tăng tính an toàn cho hệ thống do các VM độc lập
o Dễ phát triển các HĐH đơn nhiệm cho các VM độc
lập
Khuyết điểm:
o Phức tạp trong việc giả lập
22
Kiến trúc client/server (1)
Các dịch vụ của HĐH được chia thành 2 phần:
o Server: phần hạt nhân, lệ thuộc phần cứng
o Client: các tiện ích hệ thống, sử dụng dịch vụ do
server cung cấp
Chuyển các chương trình lên tầng cao hơn và
thu nhỏ các chương trình ở mức hệ thống
23
Kiến trúc client/server (2)
24
Kiến trúc client/server (3)
Ưu điểm
o Dễ mở rộng & sửa đổi HĐH qua việc mở rộng, sửa
đổi các tiến trình server
o Tiến trình của server không có đặc quyền không
thể truy cập trực tiếp phần cứng hệ thống được
bảo vệ tốt
25
Tham khảo
Trần Hạnh Nhi, “Hệ Điều Hành”, Khoa CNTT,
ĐH khoa học tự nhiên TPHCM: chương 1
Andrew S. Tanenbaum, “Modern Operating
Systems”, 3rd Edition, Prentice Hall, 2009:
chapter 1
26
Thảo luận
Câu hỏi?
Ý kiến?
27
Củng cố
1. Hai chức năng chính của HĐH?
2. Các thành phần của HĐH MS-DOS?
3. Ưu điểm chính đối với người thiết kế HĐH khi
sử dụng máy ảo? Đối với người dùng thì ưu
điểm là gì?
4. Xác định quyền của người dùng đối với tập tin
có thuộc tính rwxr-x---
28