1
Hệđiềuhành
(Operating System)
PHAN Xuân Huy
{}
2
Thông tin giớithiệu
Bố cụcmônhọc: 45 LT + 30 TH
Hình thứcthi:
Lý thuyết: 7 điểm (Không sử dụng tài liệu)
Thực hành: 3 điểm (Theo qui định của GVHDTH)
Các thắcmắc vui lòng liên hệ:
Phan Xuân Huy –
Giáo trình môn học:
Hệđiềuhành–LêKhắc Nhiên Ân – ĐHKHTN Tp.HCM
Hệđiều hành nâng cao - TrầnHạnh Nhi – ĐHKHTN Tp.HCM
3
Mụctiêucủamônhọc: Cung cấp
Các kiếnthứccơ bảnvề HĐH đa nhiệm
Hiểurõmôhìnhtổ chức, nguyên lý hoạt động,
củacácthànhphầncơ sở củamột HĐH hiện đại
Biếtcáchsử dụng/quảntrị các HĐH thông dụng,
khai thác tốtcácdịch vụ của HĐH.
4
Thảoluận–1CPU vs nhiềuChương trình
Nhu cầu: Người dùng luôn thích sử dụng HĐH cho phép
chạy vài chương trình đồng thời
Hệđiềuhànhnhư thế gọilàgì?
Thựctế: Hầuhếtcácmáytínhchỉ có
mộtbộ vi xử lý (các máy có >1 CPU
rất đắttiền)
Làm sao thỏa mãn được nhu cầungười dùng?
MộtCPU rõràngchỉ có thể chạy đượcmộtchương trình
Không thể chia CPU làm nhiềuphầnnhư chia bánh được
5
Thảoluận–Chiasẻ bộ nhớ
Các chương trình muốncóthể chạythìtrướchếtcầnphải
đượcnạpvàotrongbộ nhớ chính (RAM).
Khi có nhiềuchương trình cùng sử dụng bộ nhớ thì HĐH
sẽ thựchiệnviệcchiasẻ cho mỗichương trình không
gian nhớ riêng.
Vấn đề: bộ nhớ RAM thì có hạn(vídụ 64MB), vậy khi
chạynhiềuchương trình thì ra sao ??? Ví dụ:
Windows XP (lõi) 60MB
Windows Media Player 12MB
Visual Studio .NET 30MB
Làm cách nào mà Windows vẫnchạy được?
6
Thảoluận–Chiasẻ card sound
Khi đang nghe nhạc, nếu Windows gặplỗi, ta có
nghe đượctiếng báo lỗi?
Chỉ có các hệđiềuhànhnhư ME, 2000, XP, …
Vậy HĐH đãsử dụng giải pháp nào?
Luân phiên?
Tuầntự?
Chia bánh?
Giải pháp khác?
☺Về nhà bạnthử làm cho Windows phát 2 bài
nhạc khác nhau trên 2 loa xem? Có được không?
7
Nội dung môn học: gồm5 chương
Chương 1: Tổng quan về HĐH
Chương 2: Hệ thống quảnlýtập tin
Chương 3: Hệ thống quảnlýxuấtnhập
Chương 4: Quảnlýtiếntrình
Chương 5: Quảnlýbộ nhớ
8
Chương 1: Tổng quan về HĐH
Nội dung chương:
Vai trò củaHệđiềuhành
Các thành phầncủa HĐH
Mộtsố kiếntrúc HĐH
Quá trình phát triểncủa HĐH
Mộtsố HĐH hiện đại
9
Vai trò của HĐH
Quảntrị tài nguyên
Tài nguyên: CPU, RAM, HDD, printer…
Đốitượng sử dụng tài nguyên: Chương trình ƯD
Nhiệmvụ: Cung cấpgiảithuậtcấp phát, quảntrị tài nguyên
cho các đốitượng hoạt động.
Mụctiêu:Cấpphátđầy đủ, công bằng, hiệuquả
Điều khiểnthiếtbị
Nhiệmvụ: Che dấu các chi tiếtphầncứng, tạomôitrường dễ
làm việchơnchoNSD.
Mụctiêu: Tạosựđộclậpthiếtbị.
Ví dụ: Làm sao để MS.Word có thể in đượcvới nhiềuloạimáy
in khác nhau như in kim, laser, phun của nhiều hãng khác nhau
10
HĐH và các thành phầncủahệ thống
11
HĐH và các thành phầncủahệ thống
12
Các dịch vụ củahệ thống
Nạp và thi hành chương trình (load & run)
Các thao tác xuấtnhập (I/O Operations)
Các thao tác truy xuất/cậpnhậthệ thống tậptin
(file system)
Các cơ chế liên lạc/trao đổi thông tin giữacáctác
vụ
Phát hiện/chỉnh sửalỗi
…
Æ Giao tiếpgiữacácchương trình ứng dụng và HĐH
đượcthựchiệnphầnlớn thông qua các lờigọihệ
thống (System Call)
13
Các thành phầncủa HĐH
Quản lý tài nguyên là vai trò quan trọng nhấtcủa
HĐH, do đócầncómộtsố thành quảnlýCPU,
quảnlýbộ nhớ, …
CPU : quảnlýtiến trình(bao gồmquảnlýCPU)
RAM : quảnlýbộ nhớ chính
Input/Output : quảnlýnhập/xuất(thấyrõở DOS)
Hệ thống tậptin: Quảnlýtậptin
Hệ thống bảovệ
Quảnlýmạng
Shell (giao tiếpngười dùng)
14
Các thành phầncủa HĐH
Quản lý tiến trình
Quản lý bộ nhớ chính
Quản lý nhậäp xuất
Quản lý bộ nhớ phụ
Hệ thống tập tin
Hệ thống bảo vệ
Giao tiếp mạngBộ thông dòch lệnh
15
Kiếntrúc HĐH
Kiếntrúcđơngiản
Kiếntrúcphânlớp
Kiếntrúcmáyảo
Kiến trúc client/server
16
1. Kiếntrúcđơngiản
Ví dụ điển hình cho kiến
trúc này là DOS, trong đó
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ệnhàm.
UD củangười dùng vẫn có
thể truy cập trực tiếp đến
phần cứng thông qua
BIOS, cổng phần cứng
Không hỗ trợ đa nhiệm.
Đánh giá khi chương
trình treo?
Ứng dụng
Hệđiều hành (DOS)
Phầncứng (BIOS, port)
Tiệníchthường trú
Ví dụ với HĐH DOS
17
2. Kiếntrúcphânlớp
HĐH phân thành nhiều
lớp.Mỗilớpphụ trách 1
chứcnăng đặcthù.
Lớpbêntrênsử dụng
chứcnăng do các lớpbên
dưới cung cấp.
Æ Khó xác định số lượng
lớp, thứ tự lớp!!!
Æ Chi phí truyềnthamsố
xuyên các lớp!!!
18
3. Kiếntrúcmáyảo (1/4)
Có nghe đến máy ảo bao giờ? Ví dụ?
Do mục tiêu của HĐH là chạy được nhiều chương trình
đồng thời trên một máy tính nên cách tốt nhất là tạo ra
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.
Về nguyên tắc 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. 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
19
3.Kiến trúc máy ảo (2/4)
Non-virtual Machine
Virtual Machine
20
3.Kiến trúc máy ảo (3/4)- Ví dụ
Java Virtual Machine
Java OS
Java VM
Operating System
Hardware
Process
Process
Java program
• Độclậpvới Platform
21
3. Kiếntrúcmáyảo (4/4)
Ưu điểm:
Môi trường thuậnlợichosự tương thích
Tăng tính an toàn cho hệ thống do các VM độclập
Dễ phát triển các HĐH đơnnhiệmchocácVM độclập.
Khuyết điểm
Phứctạp trong việcgiả lập.
22
4. Kiến trúc client/server
Các dịch vụ của HĐH được chia thành 2 phần:
Server: phầnhạt nhân, lệ thuộcphầncứng
Client: các tiệníchhệ thống, sử dụng dịch vụ do
server cung cấp
23
Giớithiệu các dòng HĐH hiện đại
Dòng HĐH Windows
Quá trình phát triển
Các phiên bản chính
Dòng HĐH Unix/Linux
Quá trình phát triển
Các distro chính
24
Dòng HĐH Windows
Phát triểnbởi Microsoft.
Hiện đang chiếm 80% Æ 90% thị trường HĐH.
Số lượng dòng mã chương trình:
WinNT: 4 triệu
Win2000: 35 triệu
WinXP: 40 triệu
25
Quá trình phát triểncủa dòng
HĐH Windows (1/4)
Windows 1.0 – Phát hành 12/1985
Windows 2.0
Phát hành 1987
Chỉ hổ trợ bộ vi xử lý Intel 8086 hoặc8088
Có thể truy cập1MB bộ nhớ
Windows 3.0
Phát hành 05/1990
Có thể truy cập16MB bộ nhớ