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

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ườ ử ụ ườ ậ ượ ấ ộ ệ ơ ả ễ

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)

 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: ề ợ ỗ ấ ỏ ấ

• 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)ộ ớ

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).

đ 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.ỉ ớ ể ử ượ ộ

• 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),ạ ử ậ ệ ữ ệ

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:ụ

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 , ở

- 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

⋅ 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) ậ ệ ờ

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:ả

- 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.ơ ị ờ

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.ờ ờ ủ ế ỗ ậ ả


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status