Tải bản đầy đủ (.pdf) (46 trang)

CÂU HỎI VÀ BÀI TẬP MÔN HỆ ĐIỀU HÀNH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.32 MB, 46 trang )

Môn h c: H Đi u Hànhọ ệ ề
Ngày b t đ u: 16/02/2009ắ ầ
Ngày k t thúc: 16/05/2009ế
Gi ng viên: TS Tô Tu n ra đ c ng.ả ấ ề ươ
CÁC CÂU H I VÀ BÀI T P ÔN T PỎ Ậ Ậ
1.1. M c tiêu, ý nghĩa và c u trúc môn h c “H đi u hành”.ụ ấ ọ ệ ề
Gi i:ả
Ý nghĩa:
Ý nghĩa:


- Hi u sâu nguyên lý ho t đ ng c a Ph n c ng và Ph n m m máy tính.ể ạ ộ ủ ầ ứ ầ ề
- H c ph ng pháp phân tích, thi t k và l p trình m t h th ng l n đ áp d ng cho côngọ ươ ế ế ậ ộ ệ ố ớ ể ụ
tác nghi p v sau này.ệ ụ
M c tiêu:ụ
M c tiêu:ụ Cung c p các khái ni m c b n v c u trúc và ho t đ ng c a HĐH.ấ ệ ơ ả ề ấ ạ ộ ủ
Mô t v n t t:ả ắ ắ
Mô t v n t t:ả ắ ắ
- Khái ni m chung, L ch s , Phân lo i HĐH.ệ ị ử ạ
- Nguyên lý và ho t đ ng các kh i ch c năng.ạ ộ ố ứ
- Gi i thi u dòng HĐH Windows NT/2000/XP/2003ớ ệ
1.2. M t s quan ni m sai v môn h c “H đi u hành”.ộ ố ệ ề ọ ệ ề
Gi i:ả
 Môn h c đ n gi n, không có gì m i, không có gì đ c bi t.ọ ơ ả ớ ặ ệ
 Môn h c ch y u là lý thuy t, ch ng tác d ng gì.ọ ủ ế ế ẳ ụ
 Môn h c r t khó, không có cách nào làm ch đ c.ọ ấ ủ ượ
1.3. Phân tích Đ nh nghĩa “H đi u hành là Máy tính m r ng (Extended Machine) hay Máy tínhị ệ ề ở ộ
o (Virtual Machine)”.ả
Gi i:ả
 n các chi ti t c a ph n c ng đ máy tính d s d ng h n.Ẩ ế ủ ầ ứ ể ễ ử ụ ơ
 Ng i s d ng và ng i l p trình đ c cung c p m t giao di n đ n gi n, dườ ử ụ ườ ậ ượ ấ ộ ệ ơ ả ễ


hi u và không ph thu c vào thi t b c th .ể ụ ộ ế ị ụ ể
 Th c t , HĐH là m t h th ng bao g m nhi u máy tính tr u t ng x p thànhự ế ộ ệ ố ồ ề ừ ượ ế
nhi u l p ch ng lên nhau. Máy tính m c d i ph c v cho máy tính m c trên.ề ớ ồ ứ ướ ụ ụ ứ
 B n thân ch ng trình ng d ng cũng là m t máy tính tr u t ng và ph i dả ươ ứ ụ ộ ừ ượ ả ễ
s d ng nh t.ử ụ ấ
 Công vi c c a ng i l p trình là liên t c xây d ng các máy tính tr u t ngệ ủ ườ ậ ụ ự ừ ượ
nh v y (cho ng i khác s d ng và cho c chính mình).ư ậ ườ ử ụ ả
1.4. Phân tích Đ nh nghĩa “H đi u hành là b qu n lý tài nguyên (Resource Manager)”.ị ệ ề ộ ả
Gi i:ả
 Đáp ng các yêu c u s d ng tài nguyên thi t b nh : CPU, B nh trong, đĩa, ứ ầ ử ụ ế ị ư ộ ớ Ổ Ổ
băng, Máy in, Card m ng, ạ
 Trong tr ng h p nhi u ch ng trình, nhi u ng i dùng cùng chia s các tài nguyênườ ợ ề ươ ề ườ ẻ
chung nh v y, HĐH ph i gi i quy t tranh ch p có th x y ra và đ ng ra làm trung gianư ậ ả ả ế ấ ể ả ứ
đi u ph i sao cho tài nguyên đ c s d ng đúng th t , dùng xong l i đ c c p cho đ iề ố ượ ử ụ ứ ự ạ ượ ấ ố
t ng khác s d ng.ượ ử ụ
 Hình dung tình hu ng:ố 3 ch ng trình cùng in ra m t máy in duy nh t. Khó ch p nh nươ ộ ấ ấ ậ
tr ng h p 1 trang in xen k nhi u k t qu t nhi u ngu n khác nhau. HĐH gi i quy tườ ợ ẽ ề ế ả ừ ề ồ ả ế
b ng cách đ a k t qu in c a m i ch ng trình t m th i ra đĩa c ng, sau đó l n l t inằ ư ế ả ủ ỗ ươ ạ ờ ứ ầ ượ
t đĩa vào th i đi m thích h p.ừ ờ ể ợ
1.5. Trình bày c u trúc khái quát c a h th ng máy tính và liên h v i c u trúc trong th c t .ấ ủ ệ ố ệ ớ ấ ự ế
Gi i:ả
1.6. B n th h phát tri n c a h đi u hành là nh ng th h nào? N n t ng Ph n c ng vàố ế ệ ể ủ ệ ề ữ ế ệ ề ả ầ ứ
Ph n m m t ng ng ra sao?ầ ề ươ ứ
Gi i:ả
 Th h 1 (1945 -1955): Đèn đi n t - B ng đi u khi n (Plugboards)ế ệ ệ ử ả ề ể
 Th h 2 (1955 -1965): Bóng bán d n - H x lý lô (Batch Systems)ế ệ ẫ ệ ử
 Th h 3 (1965 -1980): M ch IC - H đa ch ng (Multiprogrammingế ệ ạ ệ ươ
Systems), H chia th i gian (Time-Sharing Systems)ệ ờ
 Th h 4 (1980 - đ n nay): M ch LSI (Large Scale Integration) và Các h đi uế ệ ế ạ ệ ề
hành hi n đ i.ệ ạ

1.7. L ch s và tình hình s d ng h đi u hành Vi t Nam.ị ử ử ụ ệ ề ở ệ
Gi i:ả
 Máy tính Minsk-32 ( Liên Xô ) v i HĐH đ n ch ng Dispatcher t i Trung tâmớ ơ ươ ạ
Toán - Máy tính, BQP (t 1974 - 1990)ừ
 Máy tính ES-1022 ( Liên Xô ) v i HĐH đa ch ng OS/ES (t ng đ ng v iớ ươ ươ ươ ớ
OS/360 c a IBM) t i Đ i h c Bách khoa Hà N i (t 1986 - 1996)ủ ạ ạ ọ ộ ừ
 Máy tính IBM 360/50 v i HĐH đa ch ng OS/360 t i Trung tâm Đi n toánớ ươ ạ ệ
ti p v n c a Quân đ i Sài Gòn ( t 1974 )ế ậ ủ ộ ừ
 Các HĐH cho máy vi tính: PC-DOS, MS-DOS, MacOS, OS/2, Windows 9x,
Windows NT/2000/XP/VISTA, RedHat Linux, Linux VN 1.0, VietKey Linux 3.0,
1.8. Trên các máy l n th i kỳ đ u, H X lý lô ho t đ ng th nào?ớ ờ ầ ệ ử ạ ộ ế
Gi i:ả
 Thi t b I/O : card reader, tape drivesế ị
 C n có ng i v n hành: operator (user ầ ườ ậ ≠ operator)
Gi m setup time ả → ghép nhóm công vi c (batching jobs)ệ
Ví d : ghép 2 công vi c cùng dùng trình biên d ch Fortran, ụ ệ ị → ti t ki m đ c th i gianế ệ ượ ờ
load trình biên d ch Fortran.ị
 Là h đi u hành s khai nh t ch có Resident Monitor, trongệ ề ơ ấ ỉ
đó ch a các ph n đi u khi n quá trình x lý, tính toán nh :ứ ầ ề ể ử ư
Loader, job sequencing, control card interpreter, device drivers.
 T i m i th i đi m ch có m t ti n trình hay m t tác v trong b nh .ạ ỗ ờ ể ỉ ộ ế ộ ụ ộ ớ

1.9. Nguyên lý ho t đ ng c a H đi u hành Đa ch ng.ạ ộ ủ ệ ề ươ
Gi i:ả
H đi u hành đa ch ng (Multiprogramming System): Đây là h cho phép nhi u công vi c cùngệ ề ươ ệ ề ệ
ch y m t lúc. Cùng chia s quy n s d ng CPU theo m t thu t toán nào đó. Ví d nhạ ộ ẻ ề ử ụ ộ ậ ụ ư
Windows 3.1, Windows 9x… Nhìn chung:
1. Có nhi u tác v (ti n trình) cùng m t lúc đ c n p đ ng th i vào b nh chính.ề ụ ế ộ ượ ạ ồ ờ ộ ớ
2. Th i gian x lý c a CPU đ c phân chia gi a các tác v đó.ờ ử ủ ượ ữ ụ
3. T n d ng đ c th i gian r nh tăng ậ ụ ượ ờ ả hi u su t s d ng CPUệ ấ ử ụ (CPU utilization)

4. Và khi m t m t tác v không c n đ n CPU (do ph i th c hi n I/O v i thi t b ngo i vi),ộ ộ ụ ầ ế ả ự ệ ớ ế ị ạ
thì tác v khác đ c thi hành.ụ ượ
5. Yêu c u:ầ
Operating
System
Job i
B nh ộ ớ
trong
 Đ ng th i công vi c (job scheduling): ch n job trong job pool trên đĩa và n pồ ờ ệ ọ ạ
nó vào b nh đ th c thi.ộ ớ ể ự
 Qu n lý b nh (memory management).ả ộ ớ
 Đ nh th i CPU (CPU scheduling).ị ờ
 C p phát tài nguyên (đĩa, máy in,…).ấ
 B o v .ả ệ

1.10.Nguyên lý ho t đ ng c a H đi u hành Chia th i gian (Time – Sharing System).ạ ộ ủ ệ ề ờ
Gi i:ả
 Là lo i h đi u hành đa ch ng (Multi-programmed systems) nh ng không cung c pạ ệ ề ươ ư ấ
kh năng t ng tác v i usersả ươ ớ
 CPU luân phiên chuy n đ i th c thi gi a các công vi cể ổ ự ữ ệ
 Quá trình chuy n đ i x y ra ể ổ ả th ng xuyên h nườ ơ , m i công vi c ch đ c chia m tỗ ệ ỉ ượ ộ
ph n nh th i gian CPUầ ỏ ờ
 Cung c p s t ng tác gi a h th ng v i userấ ự ươ ữ ệ ố ớ
Khi k t thúc th c thi m t l nh, OS s ch l nh k ti p t bàn phím chế ự ộ ệ ẽ ờ ệ ế ế ừ ứ
không ph i t card readerả ừ
 M t công vi c ch đ c chi m CPU đ x lý khi nó n m trong b nh chínhộ ệ ỉ ượ ế ể ử ằ ộ ớ
 Khi c n thi t, m t công vi c nào đó có th đ c chuy n t b nh chính ra thi t bầ ế ộ ệ ể ượ ể ừ ộ ớ ế ị
l u tr , nh ng b nh chính cho công vi c khác.ư ữ ườ ộ ớ ệ
 Yêu c u đ i v i OS trong Time-Sharing Systems ầ ố ớ
 Đ nh th i công vi c (job scheduling)ị ờ ệ

 Qu n lý b nh (Memory Management)ả ộ ớ
o Các công vi c đ c hoán chuy n gi a b nh chính và đĩaệ ượ ể ữ ộ ớ
o Virtual memory: cho phép m t công vi c có th đ c th c thi mà không c n ph iộ ệ ể ượ ự ầ ả
n p hoàn toàn vào b nh chínhạ ộ ớ
 Qu n lý các process (Process Management)ả
o Đ nh th i CPU (CPU scheduling)ị ờ
o Đ ng b các công vi c (synchronization)ồ ộ ệ
o T ng tác gi a các công vi c (process communication)ươ ữ ệ
o Tránh Deadlock
 Qu n lý h th ng file, h th ng l u tr (disk management) ả ệ ố ệ ố ư ữ
 Phân b các thi t b , tài nguyênổ ế ị
 C ch b o v (protection)ơ ế ả ệ
1.11. Nêu 1 ví d t đ i th ng minh ho ch đ ph c v chia th i gian.ụ ừ ờ ườ ạ ế ộ ụ ụ ờ
Gi i:ả
Ví d t đ i th ng:ụ ừ ờ ườ Trong nhà hàng, ng i b i bàn (CPU) ph c v m i bàn ăn (Ch ngườ ồ ụ ụ ỗ ươ
trình ng i dùng) trong 1 kho ng th i gian ng n (ch ng h n trong 10 giây), sau đó chuy n sangườ ả ờ ắ ẳ ạ ể
bàn khác.
1.12. Các dòng h đi u hành trên máy tính đ bàn là các dòng nào? Hãy trình bày s khác bi tệ ề ể ự ệ
gi a dòng Windows 9X v i dòng Windows NT/2000/XP/2003.ữ ớ
° Dòng DOS: PC-DOS, MS-DOS
° Dòng UNIX: XENIX, Linux
° Dòng Windows:
– Windows 3.X: Windows 3.1
– Windows 9X: Windows 95/98/ME
– Windows NT: Windows NT/2000/XP/2003/Vista.
1.13. Đi n tên thích h p vào ch có d u h i ch m: ề ợ ỗ ấ ỏ ấ
Windows 95 ⇒ Windows 98 ⇒ Windows 98 SE ⇒ ?
1.14. Đi n tên thích h p vào ch có d u h i ch m: ề ợ ỗ ấ ỏ ấ
? ⇒ Windows 2000 ⇒ Windows XP ⇒ ?
1.15. Đi n tên thích h p vào ch có d u h i ch m: ề ợ ỗ ấ ỏ ấ

Windows 2000 Server (4 CPU) ⇒ Windows 2000 Advanced Server (8 CPU) ⇒ ? (? CPU)
1.16. Đa x lý đ i x ng khác v i Đa x lý phi đ i x ng đi m nào? Cho các ví d v h đi uử ố ứ ớ ử ố ứ ở ể ụ ề ệ ề
hành đa x lý đ i x ng.ử ố ứ
Gi i:ả
 H đa x lý đ i x ng: ệ ử ố ứ
o Có nhi u b vi x lý cùng v n hành và s d ng chung b nh và thi t b I/O, ngangề ộ ử ậ ử ụ ộ ớ ế ị
hàng v ch c năngề ứ
o Các hệ đi u hành h tr :ề ỗ ợ
-Solaris, OS/2, Linux
-Windows NT/2000/XP/2003/Vista
Windows 2000 Professional: 2 CPU
Windows 2000 Server: 4 CPU
Windows 2000 Advanced Server : 8 CPU
Windows 2000 Datacenter Server: 32 CPU
……………………………………………….
 H đa x lý phi đ i x ng:ệ ử ố ứ
o Các CPU chung b nh và thi t bộ ớ ế ị
o M i CPU đ c n đ nh ch c năng riêng:ỗ ượ ấ ị ứ
• Có CPU ch (Master) ki m soát toàn h th ngủ ể ệ ố
• Các CPU khác đóng vai trò ph thu c (Slaves), chuyên trách công vi c nào đóụ ộ ệ
• Master đi u ph i và c p phát công vi c cho các Slavesề ố ấ ệ
o H đi u hành h tr : SunOS 4.xệ ề ỗ ợ
1.17. Phân lo i các h phân tán theo kho ng cách và theo ph ng th c ph c v . Phân bi t Fileạ ệ ả ươ ứ ụ ụ ệ
Server v i Client-Server.ớ
Gi i:ả
 Phân lo i theo kho ng cách:ạ ả
• LAN (Local-Area Network): N i bộ ộ
• WAN (Wide-Area Network): Di n r ngệ ộ
• MAN (Metropolitan-Area Network): Đô thị
 Phân lo i theo ph ng th c ph c v :ạ ươ ứ ụ ụ

• File-Server: Máy ch không tính toán, ch làm d ch v t p tin cho các máy khácủ ỉ ị ụ ậ
• Peer-to-Peer: M ng các máy ngang hàngạ
• Client-Server: Máy khách (Client) g i yêu c u, Máy ch (Server) tính toán và g iử ầ ủ ử
tr l i k t qu .ả ạ ế ả
1.18. Gom c m đ i x ng khác v i Gom c m phi đ i x ng đi m nào?ụ ố ứ ớ ụ ố ứ ở ể
Gi i:ả
 Gom c m đ i x ng (Symmetric Clustering): Các máy ngangụ ố ứ
hàng v ch c năng, M i máy th c hi n ph n vi c c a mình và giám sát l n nhau.ề ứ ỗ ự ệ ầ ệ ủ ẫ
 Gom c m phi đ i x ng (Asymmetric Clustering): M t máy ch yụ ố ứ ộ ạ
trong Hot Standby Mode, nghĩa là ch giám sát công vi c các máy khác nh ng s đ mỉ ệ ư ẽ ả
đ ng công vi c c a máy g p s c .ươ ệ ủ ặ ự ố
1.19. Đ nh nghĩa c a IEEE v H th i gian th c.ị ủ ề ệ ờ ự
Gi i:ả
o H th ng th i gian th c (Real-Time Systems)ệ ố ờ ự
 Th ng 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.ệ ọ ề ể ề ệ
 Ràng bu c t ng đ i ch t ch v th i gian: hard và soft real-time.ộ ươ ố ặ ẽ ề ờ
o Hard real-time:
 H n ch (ho c không có) b nh ph , t t c d li u n m trong b nh chínhạ ế ặ ộ ớ ụ ấ ả ữ ệ ằ ộ ớ
(RAM) ho c ROMặ
 Yêu c u 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, công ngh robotics.ệ ệ
o Soft real-time:
 Th ng xu t hi n trong lĩnh v c multimedia, th c t o (virtual reality) v i yêu c uườ ấ ệ ự ự ế ả ớ ầ
m m d o h n v th i gian.ề ẻ ơ ề ờ
2.1. Nh ng b ph n c u thành và c u trúc khái quát c a máy tính.ữ ộ ậ ấ ấ ủ
Gi i:ả
Nh ng b ph n c u thành máy tính:ữ ộ ậ ấ
 CPU (Central Processing Unit)
 B nh (Memory)ộ ớ

 Đ ng truy n h th ng (System Bus)ườ ề ệ ố
 Các m ch đi u khi n thi t b (Device Controller): Đi u khi n công vi c c a thi t bạ ề ể ế ị ề ể ệ ủ ế ị
(Ph n c ); Làm vi c đ ng th i, song song và đ c l p v i CPUầ ơ ệ ồ ờ ộ ậ ớ
 M ch đi u khi n b nh (Memory Controller) v i ch c năng đ ng b hoá truy c pạ ề ể ộ ớ ớ ứ ồ ộ ậ
b nh chungộ ớ
2.2. Quá trình kh i đ ng máy tính và h đi u hành.ở ộ ệ ề
Gi i:ả
 Sau khi b t ngu n, ch ng trình m i ậ ồ ươ ồ Bootstrap l y t ROM ho c EEPROMấ ừ ặ
đ c kh i đ ng v i ch c năng kh i ho t các thi t b h th ng: Các thanh ghi CPU, Bượ ở ộ ớ ứ ở ạ ế ị ệ ố ộ
nh , Disk Controllers, sau đó kh i đ ng h t nhân c a HĐH n p t đĩa c ng.ớ ở ộ ạ ủ ạ ừ ứ
 H t nhân (Kernel, Monitor) c a HĐH kh i đ ng ti n trình đ u tiên g i là ạ ủ ở ộ ế ầ ọ INIT
(Initialization) và ch các s ki n (Event) có th x y ra.ờ ự ệ ể ả
2.3. Trình bày nguyên t c x lý ng t c a h đi u hành.ắ ử ắ ủ ệ ề
Gi i:ả
 Hai lo i ng t chính:ạ ắ
o Tín hi u ng t (Interrupt Signal) t các thi t b (Ng t c ng) truy n qua System Bus.ệ ắ ừ ế ị ắ ứ ề
o Tín hi u ng t t ch ng trình ng i dùng (Ng t m m) nh ệ ắ ừ ươ ườ ắ ề ờ L i g i h th ngờ ọ ệ ố
(System Call hay Monitor Call). L nh đ c bi t này (ví d có tên ệ ặ ệ ụ INT ho c ặ SysCall)
là c ch đ ti n trình ng i dùng yêu c u m t d ch v c a HĐH (ví d , yêu c uơ ế ể ế ườ ầ ộ ị ụ ủ ụ ầ
th c hi n l nh I/O).ự ệ ệ
 V i m i lo i ng t, có đo n mã riêng c a HĐH dùng đ x lý.ớ ỗ ạ ắ ạ ủ ể ử
 Các HĐH hi n đ i đ c d n d t b i các s ki n. N u không có ti n trình nào v n hành,ệ ạ ượ ẫ ắ ở ự ệ ế ế ậ
không có thi t b I/O nào làm vi c, HĐH im l ng ch và theo dõi.ế ị ệ ặ ờ
 Thông th ng, m i lo i ng t t ng ng v i 1 dòng trong b ng (ườ ỗ ạ ắ ươ ứ ớ ả Véc-t ng tơ ắ ) ch a conứ
tr (Pointer) t i ch ng trình x lý lo i ng t đó. B ng này n m vùng th p c a RAMỏ ớ ươ ử ạ ắ ả ằ ở ấ ủ
(ví d : 100 bytes đ u tiên).ụ ầ
 C ch x lý ng t ph i có trách nhi m ghi l i đ a ch l nh b ng t đ sau đó có th quayơ ế ử ắ ả ệ ạ ị ỉ ệ ị ắ ể ể
l i. Đ a ch này cùng v i nhi u thông tin khác có th đ c ghi vào ạ ị ỉ ớ ề ể ượ Ngăn x p h th ngế ệ ố
(System Stack) v i nguyên t c làm vi c LIFO ( Last-In, First-Out ).ớ ắ ệ
2.4. Minh ho b ng hình v Tuy n th i gian c a 1 ti n trình có 2 yêu c u t i thi t b ngoài.ạ ằ ẽ ế ờ ủ ế ầ ớ ế ị

Gi i:ả
2.5. Hai ph ng th c Nh p/Xu t là nh ng ph ng th c nào? Nêu 2 ví d s d ng.ươ ứ ậ ấ ữ ươ ứ ụ ử ụ
Gi i:ả
- Synchronous I/O: Sau khi phát ra l nh Nh p/Xu t, ti n trình chuy n sang tr ng thái chệ ậ ấ ế ể ạ ờ
đ n khi Nh p/Xu t hoàn t t r i m i ch y ti p (th c hi n l nh k ti p)ế ậ ấ ấ ồ ớ ạ ế ự ệ ệ ế ế
Ví dụ: Khi ta t o m i m t tài li u nh p d li u t bàn phím, khi mu n l u l i ta ph i ch nạ ớ ộ ệ ậ ữ ệ ừ ố ư ạ ả ọ
Save, sau đó đ t tên file, và ch n n i l u tr . Các ti n trình đó tr ng thái ch ti n trìnhặ ọ ơ ư ữ ế ở ạ ờ ế
tr c nh p xu t hoàn t t đã.ướ ậ ấ ấ
- ASynchronous I/O: Sau khi phát ra l nh Nh p/Xu t, ti n trình không ch Nh p/Xu t hoànệ ậ ấ ế ờ ậ ấ
t t mà th c hi n ngay l nh k ti p. Nh v y, ti n trình v n hành song song v i công vi cấ ự ệ ệ ế ế ư ậ ế ậ ớ ệ
Nh p/Xu t.ậ ấ
Đ ch ng minh đi u đó, hãy xem hình v sau:ể ứ ề ẽ
Ví dụ: Khi ta nh p d li u m i ho c thêm vào tài li u đã có, khi ta mu n l u thì ta ch nậ ữ ệ ớ ặ ệ ố ư ọ
Save và lúc này ti n trình v n hành song song v i vi c phát ra l nh t Save.ế ậ ớ ệ ệ ừ
2.6. Gi s m t h th ng có 3 lo i thi t b là Máy in, Đĩa c ng và CD-ROM. Có 1 yêuả ử ộ ệ ố ạ ế ị Ổ ứ Ổ
c u in t p tin DanhSach.doc, 1 yêu c u đ c F1.txt t đĩa c ng, 1 yêu c u ghi ra F2.txt trênầ ậ ầ ọ ừ ứ ầ
đĩa c ng. Hãy th hi n b ng hình v B ng tr ng thái thi t b v i 3 yêu c u Nh p/Xu tứ ể ệ ằ ẽ ả ạ ế ị ớ ầ ậ ấ
k trên.ể
2.7. Trong 2 lo i b nh là B nh chính và Đĩa t , lo i nào là B nh S c p, lo i nào là Bạ ộ ớ ộ ớ ừ ạ ộ ớ ơ ấ ạ ộ
nh Th c p? Phân lo i nh v y đ làm gì?ớ ứ ấ ạ ư ậ ể
Gi i:ả
 B nh chính (Main Memory)ộ ớ
o Ch ng trình máy tính ph i đ c n p vào RAM (Random-Access Memory)ươ ả ượ ạ
tr c khi th c hi n.ướ ự ệ
o L nh c n th c hi n ph i đ c n p vào thanh ghi (Register) c a CPU.ệ ầ ự ệ ả ượ ạ ủ
o Các tác t (Operand) t ng ng cũng đ c l y t RAM.ử ươ ứ ượ ấ ừ
o Lý t ng nh t là ch ng trình và d li u đ u n m trong RAM nh ng khôngưở ấ ươ ữ ệ ề ằ ư
kh thi vì RAM quá nh và là lo i b nh không ch c (Volatile) do n i dung b xoá khiả ỏ ạ ộ ớ ắ ộ ị
m t đi n.ấ ệ
o RAM đ c s d ng làm ượ ử ụ B nh S c pộ ớ ơ ấ (Primary Memory).

 B nh ph (secondary storage): h th ng l u tr thông tin b n v ng (nonvolatileộ ớ ụ ệ ố ư ữ ề ữ
storage).
o Đĩa t (magnetic disks) là lo i b nh ph hay b nh th c p. ừ ạ ộ ớ ụ ộ ớ ứ ấ
o B m t đĩa chia thành các rãnh (ề ặ tracks), các rãnh này đ c chia nh h n thành cácượ ỏ ơ
cung t (ừ sectors).
o Cylinder: t p các track t o thành m t hình trậ ạ ộ ụ
o Disk controller: b đi u khi n quá trình giao ti p gi a CPU và đĩa.ộ ề ể ế ữ
2.8. V hình tháp mô t c u trúc phân c p các lo i b nh .ẽ ả ấ ấ ạ ộ ớ
Gi i:ả
2.9. M c đích c a nguyên t c Caching là gì? Nêu 1 ví d t đ i th ng s d ng nguyên t cụ ủ ắ ụ ừ ờ ườ ử ụ ắ
đó.
Gi i:ả
o Là nguyên t c quan tr ng c a h th ng máy tính.ắ ọ ủ ệ ố
o Thông tin t RAM có th đ c c ch ph n c ng đ a vào b nh nhanh h nừ ể ượ ơ ế ầ ứ ư ộ ớ ơ
g i là ọ Cache. Khi CPU c n chính thông tin đó, không c n ph i truy xu t RAM, mà l y ngayầ ầ ả ấ ấ
t Cache.ừ
o Lo i b nh này không do HĐH qu n lý và c p phát.ạ ộ ớ ả ấ
o Th c t , RAM (B nh S c p) là lo i Cache nhanh so v i đĩa c ng (B nhự ế ộ ớ ơ ấ ạ ớ ứ ộ ớ
th c p) và HĐH có ch c năng qu n lý s l u chuy n d li u gi a 2 lo i b nh này ứ ấ ứ ả ự ư ể ữ ệ ữ ạ ộ ớ
2.10. Đi n t thích h p vào ch có d u h i ch m:ề ừ ợ ỗ ấ ỏ ấ
Milli ⇒ Micro ⇒ Nano ⇒ Pico ⇒ ? ⇒ ? ⇒ ? ⇒ ?
Gi i:ả
Milli ⇒ Micro ⇒ Nano ⇒ Pico ⇒ Femto ⇒ Atto ⇒ Zepto ⇒ Yocto
2.11. Đi n t thích h p vào ch có d u h i ch m:ề ừ ợ ỗ ấ ỏ ấ
Kilo ⇒ Mega ⇒ Giga ⇒ Tera ⇒ ? ⇒ ? ⇒ ? ⇒ ?
Gi i:ả
Kilo ⇒ Mega ⇒ Giga ⇒ Tera ⇒ Pera ⇒ Exa ⇒ Zetta ⇒ Yotta
2.12. Phân tích Hai ch đ v n hành c a máy tính.ế ộ ậ ủ
Gi i:ả
 H đi u hành hi n đ i dùng c ch ệ ề ệ ạ ơ ế Dual-Mode đ duy trì 2 chể ế

đ là ộ User Mode và Monitor Mode (còn g i là Supervisor Mode, System Mode ho cọ ặ
Privileged Mode) đ b o v h th ng và các ti n trình đang v n hành.ể ả ệ ệ ố ế ậ
 M t ộ Mode Bit đ c đ a vào ph n c ng c a máy đ ch báoượ ư ầ ứ ủ ể ỉ
ch đ làm vi c hi n hành: 0 - Monitor Mode, 1 - User Mode.ế ộ ệ ệ
 Khi x y ra ng t, ph n c ng chuy n t User Mode sang Monitorả ắ ầ ứ ể ừ
Mode b ng cách đ t Mode Bit thành 0.ằ ặ
 H đi u hành đ t Mode Bit b ng 1 tr c khi tr đi u khi n vệ ề ặ ằ ướ ả ề ể ề
ti n trình ng i dùng.ế ườ
 M t s l nh máy ch th c hi n đ c trong Monitor Mode (Cácộ ố ệ ỉ ự ệ ượ
l nh u tiên).ệ ư
 Ti n trình ng i dùng có th ế ườ ể gián ti pế th c hi n các l nh uự ệ ệ ư
tiên qua L i g i h th ngờ ọ ệ ố (System Call).
 MS-DOS không có Dual-Mode.
 B x lý ộ ử Pentium h tr Mode bit, do đó các HĐH Windowsỗ ợ
2000/XP/2003/Vista và OS/2 t n d ng đ c tính năng này đ b o v máy tính t t h n.ậ ụ ượ ể ả ệ ố ơ
2.13. B o v Nh p/Xu t b ng System Call nh th nào?ả ệ ậ ấ ằ ư ế
Gi i:ả
System call – ph ng th c duy nh t mà process dùng đ yêu c u các d ch v cung c p b iươ ứ ấ ể ầ ị ụ ấ ở
OS
o Các system call gây ra ng t m m (g i là trap).ắ ề ọ
o Quy n đi u khi n đ c chuy n đ n trình ph c v ng t, mode bit đ c thi t l p làề ề ể ượ ể ế ụ ụ ắ ượ ế ậ
monitor mode.
o OS ki m tra tính h p l và đúng đ n c a các đ i s , th c hi n yêu c u và tr quy nể ợ ệ ắ ủ ố ố ự ệ ầ ả ề
đi u khi n v l nh k ti p sau system call. ề ể ề ệ ế ế
2.14. Trình bày Thu t gi i b o v b nh b ng Thanh ghi C s và Thanh ghi Gi i h n.ậ ả ả ệ ộ ớ ằ ơ ở ớ ạ
Gi i:ả
o Đ ti n trình ng i dùng không can thi p đ c vào vùng nh c a HĐH vàể ế ườ ệ ượ ớ ủ
c a các ti n trình khác, th ng s d ng 2 thanh ghi: ủ ế ườ ử ụ Thanh ghi C sơ ở (Base Register) và
Thanh ghi Gi i h nớ ạ (Limit Register).
o Ch có HĐH m i có th s a đ c n i dung 2 thanh ghi này.ỉ ớ ể ử ượ ộ

2.15. B o v CPU b ng Timer.ả ệ ằ
Gi i:ả
• CPU protection: b o đ m OS ph i duy trì đ c quy n đi u khi n, tránh tr ng h p user bả ả ả ượ ề ề ể ườ ợ ị
l p vô h n, không tr quy n đi u khi n. C ch th c hi n là ặ ạ ả ề ề ể ơ ế ự ệ timer.
• Timer – kích kh i các ng t quãng đ nh kỳở ắ ị
o B đ m ộ ế timer s gi m d n sau m i xung clock c a máy tính.ẽ ả ầ ỗ ủ
o Khi timer b ng 0 thì kích ho t ng t ằ ạ ắ timer và OS s n m quy n đi u khi n.ẽ ắ ề ề ể
• Timer cũng đ c s d ng đ hi n th c h th ng time sharing.ượ ử ụ ể ệ ự ệ ố
Thi t l p ế ậ timer gây ng t đ nh kỳ N ms (time slice, quantum)ắ ị
• Timer cũng đ c dùng đ tính th i gian.ượ ể ờ
• L nh n p giá tr cho b đ m ệ ạ ị ộ ế timer là privileged instruction.
3.1. Nh ng b ph n c u thành c a h đi u hành.ữ ộ ậ ấ ủ ệ ề
Gi i:ả
• Qu n lý Process (Process Management)ả
• Qu n lý b nh chính (Memory Management)ả ộ ớ
• Qu n lý H Th ng File (File Management)ả ệ ố
• Qu n lý h th ng I/O (I/O System Management)ả ệ ố
• Qu n lý b nh ph (Secondary Storage Management)ả ộ ớ ụ
• H th ng b o v (Protection System)ệ ố ả ệ
• Command-Interpreter System
3.2. Shell c a h đi u hành Windows đ c g i là gì?ủ ệ ề ượ ọ
Gi i:ả
 Giao di n do Command-Interpreter h tr hay giao di n giaoệ ỗ ợ ệ
ti p gi a User và H Đi u hành đ c g i là ế ữ ệ ề ượ ọ Shell.
 M t trong nh ng “V ” thân thi n đ u tiên xu t hi n trong hộ ữ ỏ ệ ầ ấ ệ ệ
đi u hành ề Mac OS cho máy tính Macintosh.
3.3. Phân lo i và ch c năng các d ch v c a h đi u hành.ạ ứ ị ụ ủ ệ ề
Gi i:ả
• Th c hi n ch ng trình: HĐH ph i bi t n p (Load) ch ng trình vàoự ệ ươ ả ế ạ ươ
RAM và kh i đ ng nó. ở ộ

• Thao tác Nh p/Xu t: Làm s ch màn hình, Đ nh d ng đĩa, Tua băng vậ ấ ạ ị ạ ề
đ u, ầ
• Thao tác v i H t p tin: T o l p/Lo i b /Đ c/ghi t p tin, ớ ệ ậ ạ ậ ạ ỏ ọ ậ
• Liên l c gi a các ti n trình: B ng thông đi p (Messages), Qua vùngạ ữ ế ằ ệ
nh chung. Trao đ i thông tin gi a các ti n trình ớ ổ ữ ế Trên 1 máy/ Gi a các máyữ khác nhau trong
m ng.ạ
• Phát hi n l i: L i trong CPU, B nh , Các thi t b (L i ch n l -ệ ỗ ỗ ộ ớ ế ị ỗ ẵ ẻ
Parity, L i truy c p m ng, L i h t gi y, ). M i lo i l i có cách x trí riêng c a HĐH.ỗ ậ ạ ỗ ế ấ ỗ ạ ỗ ử ủ
3.4. Khái ni m System Call và 3 ph ng th c truy n tham s .ệ ươ ứ ề ố
Gi i:ả
 System calls cung c p giao di n làm vi c gi a m t ch ng trình đang th c thi và hấ ệ ệ ữ ộ ươ ự ệ
đi u hànhề
o Thông th ng là các th vi n h p ng (assembly).ườ ư ệ ợ ữ
o Các ngôn ng l p trình c p cao th ng có các th vi n l p trình thay cho các th vi nữ ậ ấ ườ ư ệ ậ ư ệ
h p ng c a h th ng, cho phép l p trình viên tri u g i system calls tr c ti p (ví d :ợ ữ ủ ệ ố ậ ệ ọ ự ế ụ
C/C++, Win32 API)
 Ba ph ng pháp truy n thông s gi a process và h đi u hànhươ ề ố ữ ệ ề
o Truy n thông s qua các thanh ghi (registers).ề ố
o Truy n tham s qua m t vùng nh chia s , đ a ch c a vùng nh g i đ n OS qua thanhề ố ộ ớ ẻ ị ỉ ủ ớ ử ế
ghi.
o Truy n tham s qua stack.ề ố
3.5. H đi u hành có các nhóm ch ng trình h th ng nào?ệ ề ươ ệ ố
Gi i:ả
o Qu n lý t p tin/th m c: T o l p, Lo i b , Sao chép, Đ i tên, In n, Li t kê.ả ậ ư ụ ạ ậ ạ ỏ ổ ấ ệ
o Cung c p thông tin v tr ng thái h th ng: Ngày, Gi , B nh tr ng, Sấ ề ạ ệ ố ờ ộ ớ ố ố
Users.
o Ch nh lý t p tin: So n th o văn b n (NotePad, WordPad).ỉ ậ ạ ả ả
o M t s trình Biên d ch/Thông d ch: Assembler, C, C++, VB.ộ ố ị ị
o N p và th c hi n ch ng trình: Loaders, Linkage Editors.ạ ự ệ ươ
o Liên l c: G i/Nh n thông đi p gi a các máy, Trình duy t (Web Browser),ạ ử ậ ệ ữ ệ

Th đi n t , Truy n file, Đăng nh p t xa, ư ệ ử ề ậ ừ
o Shell: (Command-Interpreter, Desktop Window).
o
3.6. C u trúc đ n gi n c a h đi u hành.ấ ơ ả ủ ệ ề
Gi i:ả
• Các thành ph n c a HĐH đ c th c thi d iầ ủ ượ ự ướ
d ng các th t c (Procedure) có th ạ ủ ụ ể G i t doọ ự l n nhau. Th c ch t không có c u trúc nàoẫ ự ấ ấ
c .ả
• Nhi u HĐH có ề T ch c y uổ ứ ế do lúc đ u đ cầ ượ
thi t k cho c u hình ph n c ng h n ch . ế ế ấ ầ ứ ạ ế MS-DOS là 1 h nh v y.ệ ư ậ
3.7. C u trúc phân l p c a h đi u hành.ấ ớ ủ ệ ề
Gi i:ả
• HĐH đ c chia thành nhi u l p (Layers, Levels)ượ ề ớ
ch ng lên nhau.ồ
• L p th p nh t (l p 0) là ớ ấ ấ ớ Ph n c ngầ ứ .
• L p cao nh t (l p N) là ớ ấ ớ Giao di n ng i s d ngệ ườ ử ụ
(User Interface).
• M i l p ch dùng ch c năng và d ch v do cácỗ ớ ỉ ứ ị ụ
m c th p h n cung c p.ứ ấ ơ ấ
• M i l p ch c n bi t các l p d i ỗ ớ ỉ ầ ế ớ ướ Làm gì mà
không quan tâm ch c năng đó đ c ứ ượ Làm nh th nàoư ế .
• Rà l i (Debugging) đ c ti n hành t l p d iỗ ượ ế ừ ớ ướ
tr lên.ở
• Thi t k và thi công tr nên đ n gi n h n nhi u.ế ế ở ơ ả ơ ề
• Các h phân l p có hi u năng th p h n các hệ ớ ệ ấ ơ ệ
lo i khác.ạ
3.8. C u trúc vi h t c a h đi u hành.ấ ạ ủ ệ ề
Gi i:ả
 Chuy n m t s ch c năng c a OS t kernel sang user.ể ộ ố ứ ủ ừ
o Thu g n kernel ọ → micro-kernel.

o Micro-Kernel ch bao g m các ch c năng t i thi u nh qu n lý process và b nh , cungỉ ồ ứ ố ể ư ả ộ ớ
c p các c ch giao ti p.ấ ơ ế ế
 Quá trình giao ti p đ c th c hi n gi a các user module qua c ch message passing.ế ượ ự ệ ữ ơ ế
 u đi m Ư ể
o D dàng m r ng micro-kernel OS.ễ ở ộ
o D dàng chuy n OS sang ki n trúc m iễ ể ế ớ
o Đ tin c y cao h n (r t ít code ch y trong kernel mode)ộ ậ ơ ấ ạ
o B o m t h nả ậ ơ
3.9. H đi u hành Windows NT có c u trúc gì?ệ ề ấ
Gi i:ả
Windows NT là h h n h p: V a có c u trúc phân l p, V a có c u trúc vi h t.ệ ỗ ợ ừ ấ ớ ừ ấ ạ
3.10. Khái ni m Máy tính o.ệ ả
Gi i:ả
• Máy o là s phát tri n lô-gic c a ki n trúc phânả ự ể ủ ế
l p.ớ
• B ng cách Đi u ph i CPU và k thu t B nhằ ề ố ỹ ậ ộ ớ
o, có th t o cho ng i dùng o giác r ng ng i đó đang dùng b x lý và b nh c aả ể ạ ườ ả ằ ườ ộ ử ộ ớ ủ
riêng mình.
• Nói cách khác: Máy tính o c a ng i dùng đ cả ủ ườ ượ
gi l p trên n n máy tính v t lý.ả ậ ề ậ
• Ví d :ụ Trên n n CPU lo i PowerPC, Motorola,ề ạ
Alpha, có th gi l p máy tính o Intel ch y HĐH Windows và ng c l i. Khi đó, cácể ả ậ ả ạ ượ ạ
l nh c a Intel đ c chuy n đ i sang l nh v t lý tr c khi th c hi n.ệ ủ ượ ể ổ ệ ậ ướ ự ệ
3.11. H đi u hành máy o th ng m i đ u tiên có tên là gì? C a hãng ph n m m nào?ệ ề ả ươ ạ ầ ủ ầ ề
Gi i:ả
HĐH máy o th ng m i đ u tiên: ả ươ ạ ầ VM/370 c a IBM.ủ
3.12. Ch c năng và ng d ng c a Ph n m m Virtual PC.ứ ứ ụ ủ ầ ề
Gi i:ả
Ph n m m máy o ầ ề ả Virtual PC do hãng Microsoft cung c p có nh ng ch c năng và ngấ ữ ứ ứ
d ng:ụ

o M i PC o có HĐH riêng do đó có th cài đ lo i h đi u hành trên 1 máy,ỗ ả ể ủ ạ ệ ề
bao nhiêu cũng đ c.ượ
o M i PC o ng v i 1 t p tin nh *.vhd.ỗ ả ứ ớ ậ ả
o M i PC o có c a s riêng.ỗ ả ử ổ
o Có th n i m ng gi a các máy o do đó d dàng nghiên c u và th nghi mể ố ạ ữ ả ễ ứ ử ệ
m ng mà ch có 1 máy (không card, không dây m ng).ạ ỉ ạ
3.13. Các m c đích và nguyên t c thi t k h đi u hành.ụ ắ ế ế ệ ề
Gi i:ả
 Các m c đích thi t k (Design Goals):ụ ế ế
o Lo i ph n c ng c thạ ầ ứ ụ ể
o Lo i h đi u hành: Lô, Đ n hay Đa ch ng, Chia th i gian, Phân tán, Th i gian th c, ạ ệ ề ơ ươ ờ ờ ự
o Yêu c u c a ng i dùng: Ti n d ng, D h c, Tin c y, An toàn, Nhanh, ầ ủ ườ ệ ụ ễ ọ ậ
o Yêu c u c a ng i l p trình HĐH: D thi t k , D thi công, D b o trì, D nâng c p, ầ ủ ườ ậ ễ ế ế ễ ễ ả ễ ấ
 Nguyên t c thi t k (Design Principle):ắ ế ế
o Tách b ch Policy (Làm gì) v i Mechanism (Làm nh th nào)ạ ớ ư ế
 Thi công (Implementation):
o Ch n ng trình: Assembler hay Cọ ữ
o Nên ch y u dùng ngôn ng cao c p (ví d : C), sau đó nh ng đo n quan tr ng Chuy nủ ế ữ ấ ụ ữ ạ ọ ể
d n sang Assembler.ầ
3.14. L a ch n ngôn ng l p trình h đi u hành th nào là h p lý h n c ?ự ọ ữ ậ ệ ề ế ợ ơ ả
Gi i:ả
o Ch n ng trình: Assembler hay Cọ ữ
o Nên ch y u dùng ngôn ng cao c p (ví d : C), sau đó nh ng đo n quan tr ng Chuy nủ ế ữ ấ ụ ữ ạ ọ ể
d n sang Assembler.ầ
3.15. Các thông tin c n cho S n sinh h th ng là nh ng thông tin gì?ầ ả ệ ố ữ
Gi i:ả
o Lo i CPU, S CPUạ ố
o Dung l ng b nh trongượ ộ ớ
o Các lo i thi t b , C th m i lo i (S l ng, S hi u, Đ a ch , S hi u ng t, )ạ ế ị ụ ể ỗ ạ ố ượ ố ệ ị ỉ ố ệ ắ
o Các thông s c a HĐH: S b đ m (Buffer), Dung l ng m i b đ m, Thu t gi i đi uố ủ ố ộ ệ ượ ỗ ộ ệ ậ ả ề

ph i CPU, S ti n trình t i đa đ c h tr song song, ố ố ế ố ượ ỗ ợ
3.16. Ba cách s n sinh h đi u hành.ả ệ ề
Gi i:ả
1. Mã ngu n HĐH đ c s a t i m t s ch , sau đó h đ c ồ ượ ử ạ ộ ố ỗ ệ ượ Biên d chị (Compile) và H pợ
nh tấ (Link) l i.ạ
2. Không s a mã ngu n mà ch nh n i dung m t s b ng. Có th h p nh t l i h th ng.ử ồ ỉ ộ ộ ố ả ể ợ ấ ạ ệ ố
3. S n sinh đ c th c hi n khi ả ượ ự ệ Kh i đ ng l n đ uở ộ ầ ầ và (ho c) khi ặ Setup do HĐH hoàn toàn
đ c d n d t theo b ng c u hình (ượ ẫ ắ ả ấ Solaris, Windows).
4.1. Ti n trình khác Ch ng trình nh th nào?ế ươ ư ế
Gi i:ả
- Ti n trình (Process) là chu ng trình trong th i gian th c hi n (đ t d i s qu n lý c aế ơ ờ ự ệ ặ ướ ự ả ủ
HĐH).Có s phân bi t ự ệ Ti n trình h th ngế ệ ố (c a HĐH) v i ủ ớ Ti n trình ng i dùngế ườ .
- B n thân ch ng trình không là ti n trình vì là th c th ả ươ ế ự ể Th đ ngụ ộ (Passive), trong khi ti nế
trình là th c th ự ể Ho t đ ngạ ộ (Active) v i nhi u thông tin v tr ng thái trong đó có ớ ề ề ạ B đ mộ ế
ch ng trìnhươ (Program Counter) cho bi t v trí l nh hi n hành.ế ị ệ ệ
4.2. Hãy minh ho b ng hình v quá trình chuy n tr ng thái c a ti n trình.ạ ằ ẽ ể ạ ủ ế
Gi i:ả
4.3. Ch c năng và n i dung c a Kh i ki m soát ti n trình.ứ ộ ủ ố ể ế
Gi i:ả
Ch a các thông tin ng v i m i process.ứ ứ ớ ỗ
 Process ID, parent process ID
 Credentials (user ID, group ID, effective ID, )
 Tr ng thái process : new, ready, running, waiting…ạ
 Program counter: đ a ch c a l nh k ti p s th c thiị ỉ ủ ệ ế ế ẽ ự
 Các thanh ghi CPU
 Thông tin dùng đ đ nh th i CPU: priority, ể ị ờ
 Thông tin b nh : base/limit register, page tables…ộ ớ
 Thông tin th ng kê: CPU time, time limits…ố
 Thông tin tr ng thái I/O: danh sách thi t b I/O đ c c pạ ế ị ượ ấ
phát, danh sách các file đang m , ở

 Con tr (pointer) đ n PCBs khác.ỏ ế
4.4. Phân bi t 3 lo i ệ ạ hàng ch đi u ph i.ờ ề ố
Gi i:ả
 Hàng ch công vi c (Job Queue): Danh sách các ti n trình tr ng thái New.ờ ệ ế ở ạ
 Hàng ch s n sàng (Ready Queue): Danh sách các ti n trình tr ng tháiờ ẵ ế ở ạ
Ready.
 Hàng ch thi t b (Device Queue): Danh sách các ti n trình ch thi t b Nh p/ờ ế ị ế ờ ế ị ậ
Xu t c th .ấ ụ ể
4.5. T i sao ph i có ạ ả Đi u ph i ch m, Đi u ph i nhanh và Đi u ph i v a?ề ố ậ ề ố ề ố ừ
Gi i:ả
 Long-term scheduler (or job scheduler)
Ch n process nào s đ c đ a vào ready queue (t New chuy n sang Ready)ọ ẽ ượ ư ừ ể
 Short-term scheduler (or CPU scheduler)
Ch n process nào s đ c chi m CPU đ x lý (t Ready chuy n sang Running)ọ ẽ ượ ế ể ử ừ ể
 Medium-term scheduler
Chuy n process t b nh chính sang sang b nh th c p (nh ng v n n m trong khôngể ừ ộ ớ ộ ớ ứ ấ ư ẫ ằ
gian b nh o); khi nào c n thì n p process t b nh th c p vào b nh chính.ộ ớ ả ầ ạ ừ ộ ớ ứ ấ ộ ớ
4.6. Chuy n ng c nh là gì?ể ữ ả
Gi i:ả
Chuy n ng c nh (Context Switch)ể ữ ả
 Là ch c năng c a ứ ủ Dispatcher khi c n chuy n CPU t ti n trình Pầ ể ừ ế
0
này sang
ti n trình Pế
1
khác:
- Ghi môi tr ng và tr ng thái làm vi c c a Pườ ạ ệ ủ
0
vào PCB
0

- N p môi tr ng và tr ng thái làm vi c c a ti n trình Pạ ườ ạ ệ ủ ế
1
t PCBừ
1
 Th i gian chuy n ng c nh khá l n: T 1-1000 ờ ể ữ ả ớ ừ µs
 Công ngh Đa lu ng (ệ ồ Bài 5) đ c dùng đ gi m th i gian chuy n ng c nh.ượ ể ả ờ ể ữ ả
 H máy ệ Sun UltraSPARC có nhi u b thanh ghi đ c dùng đ h tr Contextề ộ ượ ể ỗ ợ
Switch b ng ph n c ng: Chuy n ng c nh đ n thu n ch là ằ ầ ứ ể ữ ả ơ ầ ỉ thay đ i con trổ ỏ t B thanhừ ộ
ghi này sang B thanh ghi khác.ộ
4.7. T o l p ti n trình trong Windows.ạ ậ ế
Gi i:ả
Các hàm API dùng t o m i ti n trình và kh i đ ng ch ng trình t ng ng:ạ ớ ế ở ộ ươ ươ ứ
CreateProcess, CreateProcessWithLogon
WinExec
ShellExecute, ShellExecuteEx
4.8. T i sao ph i t ch c c ng tác gi a các ti n trình?ạ ả ổ ứ ộ ữ ế
Gi i:ả
 Chia s thông tin (Information Sharing): M t ti n trình s d ng thông tin do ti n trinhẻ ộ ế ử ụ ế
khác cung c p.ấ
 Tăng t c tính toán (Computation Speedup): Các ti n trình cùng làm vi c song song trên 1ố ế ệ
ho c nhi u máy đ gi i quy t bài toán chung.ặ ề ể ả ế
 Đ m b o tính đ n th (Modularity): Ch ng trình đ c chia thành các đ n th ch c năngả ả ơ ể ươ ượ ơ ể ứ
v n hành trong các ti n trình ho c lu ng khác nhau.ậ ế ặ ồ
 Đ m b o tính ti n d ng (Convenience): Ng i dùng có nhu c u làm nhi u vi c m t lúc:ả ả ệ ụ ườ ầ ề ệ ộ
So n th o, In n, Duy t Web, L y file v , Biên d ch ch ng trình, Ki m tra chính t , ạ ả ấ ệ ấ ề ị ươ ể ả
4.9. Phát bi u bài toán S n xu t-Tiêu th và trình bày Thu t gi i v i B đ m th c thi b ngể ả ấ ụ ậ ả ớ ộ ệ ự ằ
m ng xoay vòng.ả
Gi i:ả
Phát bi u bài toánể :
 Gi s có ả ử B nh đ mộ ớ ệ (Buffer) bao g m nhi u khoang (Items) đ c ti n trình ồ ề ượ ế Producer

l n l t đ a các s n ph m Sầ ượ ư ả ẩ
1
, S
2
, vào.
 Ti n trình ế Consumer l n l t l y s n ph m ra theo đúng th t .ầ ượ ấ ả ẩ ứ ự
 Công vi c c a Producer ph i ệ ủ ả đ ng bồ ộ v i Consumer: Không đ c đ a s n ph m vàoớ ượ ư ả ẩ
khi Buffer đ y, Không đ c l y ra khi ch a có.ầ ượ ấ ư
Trình bày gi i thu tả ậ :
4.10. Hai ph ng th c liên l c gi a các ti n trình.ươ ứ ạ ữ ế
Gi i:ả
Liên l c tr c ti p (Direct Communications)ạ ự ế
 Theo đ a ch đ i x ng (Symmetric Scheme)ị ỉ ố ứ
Send (P, Message) - G i thông đi p cho Pử ệ
Receive (Q, Message) - Nh n thông đi p t Qậ ệ ừ
Đ c đi m:ặ ể
⋅ Liên k t đ c thi t l p t đ ng gi a m i c p ti n trình.ế ượ ế ậ ự ộ ữ ỗ ặ ế
⋅ Liên k t ch gi a 2 ti n trình.ế ỉ ữ ế
⋅ Ch có 1 liên k t gi a m i c p.ỉ ế ữ ỗ ặ
⋅ Tính đ i x ng c a liên l c (2 bên đ u bi t đích xác tên c a nhau khi G i/Nh n).ố ứ ủ ạ ề ế ủ ử ậ
 Theo đ a ch phi đ i x ng (Asymmetric Scheme)ị ỉ ố ứ
Send (P, Message) - G i thông đi p cho Pử ệ
Receive (id, Message) - Nh n thông đi p t ti n trình b t kỳ, Bi n ậ ệ ừ ế ấ ế id ch a s hi u ti n trìnhứ ố ệ ế
g iử
Liên l c gián ti p (Indirect Communications)ạ ế
 Qua các H p thộ ư (Mailboxes) ho c ặ C ngổ (Ports).
 H p th là m t th c th qua đó thông đi p đ c g i đ n và l y ra.ộ ư ộ ự ể ệ ượ ử ế ấ
 M i h p th có đ nh danh riêng.ỗ ộ ư ị
 Hai ti n trình ph i chung nhau m t h p th nào đó.ế ả ộ ộ ư
 Hai lo i h p th :ạ ộ ư

⋅ H p th ti n trình (Process Mailbox): N m trong vùng đ a ch c a m t ti n trình nàoộ ư ế ằ ị ỉ ủ ộ ế
đó.
⋅ H p th h đi u hành (OS Mailbox): N m trong vùng đ a ch c a HĐHộ ư ệ ề ằ ị ỉ ủ
4.11. Đ ng b hoá liên l c gi a các ti n trình.ồ ộ ạ ữ ế
Gi i:ả
Đ ng b hoá liên l c (Synchronization)ồ ộ ạ
⋅ G i thông đi p có ch (Blocking Send)ử ệ ờ
out
i
n
Buffer xoay vòng
item nextConsumed;
while (1)
{
while(in==out); //qu n khi buffer r ngẩ ỗ
nextConsumed = buffer[out];
out = (out+1)%BUFFER_SIZE;
}
item nextProduced;
while (1)
{
while(((in+1)%BUFFER_SIZE)==out);
//qu n t i đây khi buffer đ y.ẩ ạ ầ
buffer[in] = nextProduced;
in = (in+1)%BUFFER_SIZE;
}
PRODUCER CONSUMER
⋅ G i thông đi p không ch (Nonblocking Send)ử ệ ờ
⋅ Nh n thông đi p có ch (Blocking Receive)ậ ệ ờ
⋅ Nh n thông đi p không ch (Nonblocking Receive) ậ ệ ờ

4.12. Truy n thông đi p trong Windows .ề ệ
Gi i:ả
Các hàm API dùng đ G i/Nh n thông đi pể ử ậ ệ
 SendMessage: G i có chử ờ
 PostMessage: G i không chử ờ
 SendMessageTimeout: G i có ch nh ng v i th i h nử ờ ư ớ ờ ạ
 WaitMessage: Ch thông đi p đ nờ ệ ế
 GetMessage: Nh n có chậ ờ
 PeekMessage: Nh n không chậ ờ
4.13. Phân lo i h c liên l c trong h th ng Client-Server.ạ ố ạ ệ ố
Gi i:ả
 Có k t n i - Connection-Oriented (TCP - Transmission Control Protocol): Thi tế ố ế
l p s n m i liên k t gi a 2 máy tr c khi truy n.ậ ẵ ố ế ữ ướ ề
 Không k t n i - Connectionless (UDP - User Datagram Protocol): Không ph iế ố ả
thi t l p s n m i liên k t tr c khi truy n, do đó d dàng liên l c v i nhi u máy m tế ậ ẵ ố ế ướ ề ễ ạ ớ ề ộ
lúc, nh ng không đ m b o b ng TCP.ư ả ả ằ
5.1. Nh ng ữ ích l i c a đa lu ng.ợ ủ ồ
Gi i:ả
 Kh năng đáp ng (Responsiveness) t t h n: Trong khi m t lu ng b ách ho c quáả ứ ố ơ ộ ồ ị ặ
b n, lu ng khác v n v n hành bình th ng (Lu ng chính c a trình duy t v n t ng tác v iậ ồ ẫ ậ ườ ồ ủ ệ ẫ ươ ớ
ng i dùng trong khi d li u đ c l y v ).ườ ữ ệ ượ ấ ề
 Chia s tài nguyên (Resource Sharing): Theo m c đ nh, các lu ng có th dùng chungẻ ặ ị ồ ể
b nh và tài nguyên c a lu ng cha. Vài lu ng cùng v n hành trong 1 vùng đ a ch , do đó dộ ớ ủ ồ ồ ậ ị ỉ ễ
dùng chung tài nguyên h n so v i tr ng h p đa ti n trình.ơ ớ ườ ợ ế
 Ti t ki m (Economy): C p phát b nh và tài nguyên cho ti n trình là công vi c t nế ệ ấ ộ ớ ế ệ ố
kém. Do lu ng chung tài nguyên v i cha và các lu ng khác, vi c t o l p và chuy n ng c nhồ ớ ồ ệ ạ ậ ể ữ ả
cũng nhanh h n (Solaris 2: T o ti n trình ch m h n 30 l n, Chuy n ng c nh ch m h n 5ơ ạ ế ậ ơ ầ ể ữ ả ậ ơ
l n).ầ
 T n d ng đ c th m nh c a ki n trúc đa x lý: Đa lu ng làm tăng tính song songậ ụ ượ ế ạ ủ ế ử ồ
trên h máy nhi u CPU. M i lu ng có th ch y b i CPU riêng.ệ ề ỗ ồ ể ạ ở

5.2. Nêu 2 ví d ng d ng công ngh đa lu ng.ụ ứ ụ ệ ồ
Gi i:ả
L p trình x lý công vi c bán vé máy bay, g i và rút ti n ngân hàng đ u c n đ n côngậ ử ệ ử ề ở ề ầ ế
ngh đa lu ng.ệ ồ
5.3. Có nh ng mô hình đa lu ng nào?ữ ồ
Gi i:ả
- Mô hình Many – to – One là nhi u User level threads đ c ánh x vào m tề ượ ạ ộ
Kernel Thread. Vi c qu n lý đ c th c hi n User Level, khi có m t thread b block thìệ ả ượ ự ệ ở ộ ị
toàn b các Process cũng b block theo.ộ ị
- Mô hình One – to – One là m i User level thread đ c g n v i m t Kernelỗ ượ ắ ớ ộ
thread. Khi có m t user thread m i đ c t o ra thì cũng c n t o m t Kernel thread t ngộ ớ ượ ạ ầ ạ ộ ươ
ng, lúc này chi phí quá l n.ứ ớ
- Mô hình Many – to – Many nhi u User level thread đ c phân chia ánh x vàoề ượ ạ
m t s Kernel thread. Tránh đ c các khuy t đi m c a 2 mô hình trên.ộ ố ượ ế ế ủ
5.4. Hãy phân tích Nguyên lý T p lu ng.ậ ồ
Gi i:ả
T p lu ng (Thread Pools):ậ ồ
- Ti n trình cha t o l p s n m t t p lu ng khi kh i đ ng.ế ạ ậ ẵ ộ ậ ồ ở ộ
- Các lu ng trong t p lu ng luôn s n sàng ch công vi c.ồ ậ ồ ẵ ờ ệ
- Khi ti n trình cha (ví d Web Server) nh n thêm m t yêu c u, m t lu ng đ c đánhế ụ ậ ộ ầ ộ ồ ượ
th c và đ a vào v n hành.ứ ư ậ
- Ph c v xong, lu ng đ c đ a tr v t p lu ng.ụ ụ ồ ượ ư ả ề ậ ồ
- N u s yêu c u l n h n s lu ng trong t p, ti n trình cha ch đ n khi có lu ng đ cế ố ầ ớ ơ ố ồ ậ ế ờ ế ồ ượ
gi i phóng.ả
5.5. T o l p lu ng trong Windows.ạ ậ ồ
5.6. T o l p lu ng trong UNIX/Linux.ạ ậ ồ
5.7. L p trình đa lu ng trong UNIX/Linux.ậ ồ
5.8. L p trình đa lu ng trong ậ ồ Windows NT/2000/XP/2003
6.1. Vì sao h đi u hành ph i có ch c năng đi u ph i CPU?ệ ề ả ứ ề ố
Gi i:ả

Trong các h đa ch ng th c thi nhi u ch ng trình đ ng th i làm tăng hi u su t h th ng.ệ ươ ự ề ươ ồ ờ ệ ấ ệ ố
T i m i th i đi m, ch có m t process đ c th c thi. Do đó, c n ph i gi i quy t v n đạ ỗ ờ ể ỉ ộ ượ ự ầ ả ả ế ấ ề
phân chia, l a ch n process th c thi sao cho đ c hi u qu nh t ự ọ ự ượ ệ ả ấ → chi n l c đ nh th iế ượ ị ờ
CPU.
6.2. Năm tiêu chí đi u ph i CPU là nh ng ề ố ữ tiêu chí nào?
Gi i:ả
1. Công su t CPU (CPU Utilisation): Th c t đ t t 40% - 90% th i gian CPU. CPU càngấ ự ế ạ ừ ờ
b n càng t t.ậ ố
2. Thông su t h th ng (Throughput): S TT hoàn t t trong 1 đ n v th i gian, ví d : 1 TT /ấ ệ ố ố ấ ơ ị ờ ụ
gi , 10 TT / giây.ờ
3. T ng th i gian làm vi c (Turnaround Time): K t khi b t đ u đ n khi k t thúc ti n trìnhổ ờ ệ ể ừ ắ ầ ế ế ế
(Bao g m t ng th i gian ch t i Ready Queue, t ng th i gian s d ng CPU, t ng th iồ ổ ờ ờ ạ ổ ờ ử ụ ổ ờ
gian I/O, …).
4. Th i gian ch (Waiting Time): T ng th i gian ch t i Ready Queue.ờ ờ ổ ờ ờ ạ
5. Th i gian đáp ng (Response Time): Th i gian k t khi ng i dùng đ t yêu c u cho đ nờ ứ ờ ể ừ ườ ặ ầ ế
khi có ph n h i đ u tiên.ả ồ ầ
6.3. Trình bày thu t gi i đi u ph i FCFS.ậ ả ề ố
Gi i:ả
Đ n tr c - Ph c v tr c (First-Come, First-Served Scheduling - FCFS)ế ướ ụ ụ ướ
- Đ n gi n, d th c hi n.ơ ả ễ ự ệ
- Các ti n trình trong Ready Queue đ c c p CPU t đ u dãy đ n cu i dãy theo quy t cế ượ ấ ừ ầ ế ố ắ
FIFO (First-In, First-Out).
- Th i gian ch trung bình khá l n.ờ ờ ớ
6.4. Trình bày thu t gi i đi u ph i PS.ậ ả ề ố
Gi i:ả
- M i ti n trình đ c c p m t s nguyên (Priority Number) dùng đ n đ nh ỗ ế ượ ấ ộ ố ể ấ ị Đ u tiênộ ư .
- CPU luôn dành cho ti n trình v i đ u tiên cao h n (Priority Number nh h n ế ớ ộ ư ơ ỏ ơ ≡ Đ uộ ư
tiên cao h n ) v i 2 ph ng án:ơ ớ ươ
Có ti m quy n ( Preemptive )ế ề
Không ti m quy n ( Non-Preemptive )ế ề

- SJFS là tr ng h p đ c bi t c a PS v i đ u tiên:ườ ợ ặ ệ ủ ớ ộ ư
P= ( Kho ng CPU k ti p )ả ế ế
6.5. Trình bày thu t gi i đi u ph i SJFS.ậ ả ề ố
Gi i:ả
Ng n h n-Ch y tr c (Shortest-Job-First Scheduling-SJFS)ắ ơ ạ ướ
- Đúng h n ph i đ c g i là Shortest-Next-CPU-Burst, nghĩa là ti n trình có ơ ả ượ ọ ế Kho ng CPUả
k ti pế ế nh h n thì đ c ch y tr c. Trong tr ng h p b ng nhau, dùng thu t gi i FCFS.ỏ ơ ượ ạ ướ ườ ợ ằ ậ ả
- Là gi i thu t khá t i u, nh ng ph i bi t cách ả ậ ố ư ư ả ế c đoánướ kho ng CPU k ti p.ả ế ế
- SJFS không ti m quy n (Non-Preemptive SJFS): Ti n trình hi n th i đ c th c hi n đ nế ề ế ệ ờ ượ ự ệ ế
h t kho ng CPU c a nó.ế ả ủ
- SJFS có ti m quy n (Preemptive SJFS): Ti n trình m i có Next CPU Burst nh h nế ề ế ớ ỏ ơ
kho ng th i gian CPU còn l i c a ti n trình đang v n hành s đ c ch n thay th (Shortestả ờ ạ ủ ế ậ ẽ ượ ọ ế
Remaining First).
6.6. Trình bày thu t gi i đi u ph i RRS.ậ ả ề ố
Gi i:ả
- Nh đi u ph i ki u FCFS nh ng cho phép ti m quy n khi ti n trình đang ch y b h t th iư ề ố ể ư ế ề ế ạ ị ế ờ
l ng.ượ
- M i ti n trình đ c c p 1 ỗ ế ượ ấ th i l ng CPUờ ượ (T ime Quantum ), th ng tườ ừ 10-100 mili giây.
Sau kho ng th i gian này, nó ả ờ b ti m quy nị ế ề và đ c đ a vào ượ ư cu i hàng ch Readyố ờ . Ti nế
trình đ u tiên trong hàng ch Ready đ c ch n k ti p.ầ ờ ượ ọ ế ế
- N u có ế
n
n ti n trình và th i l ng là ế ờ ượ
q
q , m i ti n trình nh n ỗ ế ậ
1/n
1/n th i gian CPU bao g m cácờ ồ
đo n không quá ạ
q
q đ n v th i gian.ơ ị ờ

6.7. Trình bày thu t gi i đi u ph i MQS.ậ ả ề ố
Gi i:ả
- Hàng ch Ready đ c phân c p thành nhi u m c có đ u tiên khác nhau, ví d : ờ ượ ấ ề ứ ộ ư ụ M c cácứ
ti n trình t ng tácế ươ (Interactive) ch y m t tr c ( Foreground ) có đ u tiên cao nh t vàạ ở ặ ướ ộ ư ấ
M c các ti n trình lôứ ế ( Batch ) v n hành trong h u tr ng (Background ) .ậ ậ ườ
- M i hàng ch có thu t gi i đi u ph i riêng, ví d : Foregroundỗ ờ ậ ả ề ố ụ dùng RRS, Background
dùng FCFS.
- Quan h gi a các m c:ệ ữ ứ
u tiên c đ nhƯ ố ị : Xong h t các ti n trình m c trên r i m i chuy n xu ng m c d i.ế ế ứ ồ ớ ể ố ứ ướ
Đang ch y ti n trình m c d i mà xu t hi n ti n trình m i m c cao h n, ti n trình m cạ ế ứ ướ ấ ệ ế ớ ứ ơ ế ứ
d i s b ti m quy n cho ti n trình m i có đ u tiên cao h n ( H Solaris 2 dùng cáchướ ẽ ị ế ề ế ớ ộ ư ơ ệ
này ) .
Phân b theo t l th i l ngổ ỉ ệ ờ ượ : ví d : 80% th i l ng CPU dành cho Foreground, 20 %ụ ờ ượ
cho Background.
6.8. Trình bày thu t gi i đi u ph i MFQS.ậ ả ề ố
Gi i:ả
- Nh MQS nh ng cho phép ư ư Đi u ti t ti n trình sang m c khácề ế ế ứ , ví d : nh ng ti n trìnhụ ữ ế
h ng CPU đ c đ a xu ng m c d i, trong khi ti n trình h ng I/O ho c ch lâu đ cướ ượ ư ố ứ ướ ế ướ ặ ờ ượ
chuy n lên trên.ể
- MFQS đ c tr ng b i các thông s :ặ ư ở ố
 S m c (s hàng ch )ố ứ ố ờ
 Thu t gi i đi u ph i cho m i m cậ ả ề ố ỗ ứ
 Ph ng th c nâng c p ti n trìnhươ ứ ấ ế
 Ph ng th c h c p ti n trìnhươ ứ ạ ấ ế
 Ph ng th c ch n hàng ch (ch n m c) cho ti n trình m iươ ứ ọ ờ ọ ứ ế ớ
6.9. Gi s m t h th ng có 3 ti n trình v i tính ch t nh sau:ả ử ộ ệ ố ế ớ ấ ư
Ti n trìnhế Th i đi m đ n (giây th )ờ ể ế ứ Kho ng CPU (s giây)ả ố
P
1
0 5

P
2
1 2
P
3
2 2
Dùng thu t gi i FCFS đ đi u ph i CPU:ậ ả ể ề ố
a) Th hi n b ng bi u đ Gantt.ể ệ ằ ể ồ
b) Tính th i gian ch trung bình c a các ti n trình.ờ ờ ủ ế
Gi i:ả
6.12. Gi s m t h th ng có 5 ti n trình cùng đ n vào 1 th i đi m v i tính ch t sau:ả ử ộ ệ ố ế ế ờ ể ớ ấ
Ti n trìnhế Đ u tiênộ ư Kho ng CPU (s giây)ả ố
P
1
3 10
P
2
1 1
P
3
3 2
P
4
4 1
P
5
2 5
a) V 4 bi u đ Gantt t ng ng v i các thu t gi i đi u ph i FCFS, SJFS, PS (khôngẽ ể ồ ươ ứ ớ ậ ả ề ố
ti m quy n) và RRế ề S (v i th i l ng = 1).ớ ờ ượ
b) Tính th i gian ch trung bình c a các ti n trình cho m i thu t gi i.ờ ờ ủ ế ỗ ậ ả

c) Thu t gi iậ ả nào t t nh t v ph ng di nố ấ ề ươ ệ th i gian ch trung bình?ờ ờ
Gi i:ả
7.1. T i sao c n ph i đ ng b hoá công vi c các ti n trình?ạ ầ ả ồ ộ ệ ế
a. Ví d m c vĩ mô.ụ ứ
b. Ví d m c vi mô.ụ ứ
Gi i:ả
M c đích c a đ ng b hoá công vi c các ti n trình là đ m b o Tính nh t quán c a tàiụ ủ ồ ộ ệ ế ả ả ấ ủ
nguyên dùng chung và Tránh đ c hi n t ng Deadlock (Hi n t ng k t ti n trình).ượ ệ ượ ệ ượ ẹ ế

×