You are on page 1of 41

CC CU HI V BI TP N TP

1.1. Mc tiu, ngha v cu trc mn hc H iu hnh. Gii: ngha: - Hiu su nguyn l hot ng ca Phn cng v Phn mm my tnh. - Hc phng php phn tch, thit k v lp trnh mt h thng ln p dng cho cng tc nghip v sau ny. Mc tiu: Cung cp cc khi nim c bn v cu trc v hot ng ca HH. M t vn tt: - Khi nim chung, Lch s, Phn loi HH. - Nguyn l v hot ng cc khi chc nng. - Gii thiu dng HH Windows NT/2000/XP/2003

1.2. Mt s quan nim sai v mn hc H iu hnh.


Gii: Mn hc n gin, khng c g mi, khng c g c bit. Mn hc ch yu l l thuyt, chng tc dng g. Mn hc rt kh, khng c cch no lm ch c.

1.3. Phn tch nh ngha H iu hnh l My tnh m rng (Extended Machine) hay My tnh o (Virtual
Machine). Gii: n cc chi tit ca phn cng my tnh d s dng hn. Ngi s dng v ngi lp trnh c cung cp mt giao din n gin, d hiu v khng ph thuc vo thit b c th. Thc t, HH l mt h thng bao gm nhiu my tnh tru tng xp thnh nhiu lp chng ln nhau. My tnh mc di phc v cho my tnh mc trn. Bn thn chng trnh ng dng cng l mt my tnh tru tng v phi d s dng nht. Cng vic ca ngi lp trnh l lin tc xy dng cc my tnh tru tng nh vy (cho ngi khc s dng v cho c chnh mnh).

1.4. Phn tch nh ngha H iu hnh l b qun l ti nguyn (Resource Manager).


Gii: p ng cc yu cu s dng ti nguyn thit b nh: CPU, B nh trong, a, bng, My in, Card mng, ... Trong trng hp nhiu chng trnh, nhiu ngi dng cng chia s cc ti nguyn chung nh vy, HH phi gii quyt tranh chp c th xy ra v ng ra lm trung gian iu phi sao cho ti nguyn c s dng ng th t, dng xong li c cp cho i tng khc s dng. Hnh dung tnh hung: 3 chng trnh cng in ra mt my in duy nht. Kh chp nhn trng hp 1 trang in xen k nhiu kt qu t nhiu ngun khc nhau. HH gii quyt bng cch a kt qu in ca mi chng trnh tm thi ra a cng, sau ln lt in t a vo thi im thch hp.

1.5. Trnh by cu trc khi qut ca h thng my tnh v lin h vi cu trc trong thc t. Gii:

1.6. Bn th h pht trin ca h iu hnh l nhng th h no? Nn tng Phn cng v Phn mm tng ng ra sao? Gii: Th h 1 (1945 -1955): n in t - Bng iu khin (Plugboards) Th h 2 (1955 -1965): Bng bn dn - H x l l (Batch Systems) Th h 3 (1965 -1980): Mch IC - H a chng (Multiprogramming Systems), H chia thi gian (Time-Sharing Systems) Th h 4 (1980 - n nay): Mch LSI (Large Scale Integration) v Cc h iu hnh hin i.

1.7. Lch s v tnh hnh s dng h iu hnh Vit Nam.


Gii: My tnh Minsk-32 ( Lin X ) vi HH n chng Dispatcher ti Trung tm Ton My tnh, BQP (t 1974 - 1990) My tnh ES-1022 ( Lin X ) vi HH a chng OS/ES (tng ng vi OS/360 ca IBM) ti i hc Bch khoa H Ni (t 1986 - 1996) My tnh IBM 360/50 vi HH a chng OS/360 ti Trung tm in ton tip vn ca Qun i Si Gn ( t 1974 ) Cc HH cho my vi tnh: 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. Trn cc my ln thi k u, H X l l hot ng th no?


Gii: Thit b I/O : card reader, tape drives Cn c ngi vn hnh: operator (user operator) Gim setup time ghp nhm cng vic (batching jobs) V d: ghp 2 cng vic cng dng trnh bin dch Fortran, tit kim c thi gian load trnh bin dch Fortran. L h iu hnh s khai nht ch c Resident Monitor, trong cha cc phn iu khin qu trnh x l, tnh ton nh: Loader, job sequencing, control card interpreter, device drivers.

Ti mi thi im ch c mt tin trnh hay mt tc v trong b nh.

Job i
B nh trong

Operating System 1.9. Nguyn l hot ng ca H iu hnh a chng.


Gii: H iu hnh a chng (Multiprogramming System): y l h cho php nhiu cng vic cng chy mt lc. Cng chia s quyn s dng CPU theo mt thut ton no . V d nh Windows 3.1, Windows 9x Nhn chung: 1. C nhiu tc v (tin trnh) cng mt lc c np ng thi vo b nh chnh. 2. Thi gian x l ca CPU c phn chia gia cc tc v . 3. Tn dng c thi gian rnh tng hiu sut s dng CPU (CPU utilization) 4. V khi mt mt tc v khng cn n CPU (do phi thc hin I/O vi thit b ngoi vi), th tc v khc c thi hnh. 5. Yu cu: ng thi cng vic (job scheduling): chn job trong job pool trn a v np n vo b nh thc thi. Qun l b nh (memory management). nh thi CPU (CPU scheduling). Cp pht ti nguyn (a, my in,). Bo v.

1.10. Nguyn l hot ng ca H iu hnh Chia thi gian (Time Sharing System).
Gii: L loi h iu hnh a chng (Multi-programmed systems) nhng khng cung cp kh nng tng tc vi users CPU lun phin chuyn i thc thi gia cc cng vic Qu trnh chuyn i xy ra thng xuyn hn, mi cng vic ch c chia mt phn nh thi gian CPU Cung cp s tng tc gia h thng vi user Khi kt thc thc thi mt lnh, OS s ch lnh k tip t bn phm ch khng phi t card reader Mt cng vic ch c chim CPU x l khi n nm trong b nh chnh Khi cn thit, mt cng vic no c th c chuyn t b nh chnh ra thit b lu tr, nhng b nh chnh cho cng vic khc. Yu cu i vi OS trong Time-Sharing Systems nh thi cng vic (job scheduling) Qun l b nh (Memory Management) o Cc cng vic c hon chuyn gia b nh chnh v a o Virtual memory: cho php mt cng vic c th c thc thi m khng cn phi np hon ton vo b nh chnh Qun l cc process (Process Management) o nh thi CPU (CPU scheduling) o ng b cc cng vic (synchronization) o Tng tc gia cc cng vic (process communication) o Trnh Deadlock Qun l h thng file, h thng lu tr (disk management) Phn b cc thit b, ti nguyn C ch bo v (protection)

1.11. Nu 1 v d t i thng minh ho ch phc v chia thi gian. Gii: V d t i thng: Trong nh hng, ngi bi bn (CPU) phc v mi bn n (Chng trnh ngi dng) trong 1 khong thi gian ngn (chng hn trong 10 giy), sau chuyn sang bn khc. 1.12. Cc dng h iu hnh trn my tnh bn l cc dng no? Hy trnh by s khc bit gia dng Windows 9X vi dng Windows NT/2000/XP/2003.

Dng DOS: Dng UNIX: Dng Windows:

PC-DOS, MS-DOS XENIX, Linux

Windows 3.X: Windows 3.1 Windows 9X: Windows 95/98/ME Windows NT: Windows NT/2000/XP/2003/Vista. 1.13. in tn thch hp vo ch c du hi chm: Windows 95 Windows 98 Windows 98 SE ? 1.14. in tn thch hp vo ch c du hi chm: ? Windows 2000 Windows XP ? 1.15. in tn thch hp vo ch c du hi chm: Windows 2000 Server (4 CPU) Windows 2000 Advanced Server (8 CPU) ? (? CPU) 1.16. a x l i xng khc vi a x l phi i xng im no? Cho cc v d v h iu hnh a x l i xng. Gii: H a x l i xng: o C nhiu b vi x l cng vn hnh v s dng chung b nh v thit b I/O, ngang hng v chc nng o Cc h iu hnh 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 xng: Cc CPU chung b nh v thit b Mi CPU c n nh chc nng ring: C CPU ch (Master) kim sot ton h thng Cc CPU khc ng vai tr ph thuc (Slaves), chuyn trch cng vic no Master iu phi v cp pht cng vic cho cc Slaves o H iu hnh h tr: SunOS 4.x o o

1.17. Phn loi cc h phn tn theo khong cch v theo phng thc phc v. Phn bit File Server vi Client-Server. Gii: Phn loi theo khong cch: LAN (Local-Area Network): Ni b WAN (Wide-Area Network): Din rng MAN (Metropolitan-Area Network): th Phn loi theo phng thc phc v: File-Server: My ch khng tnh ton, ch lm dch v tp tin cho cc my khc Peer-to-Peer: Mng cc my ngang hng

Client-Server: My khch (Client) gi yu cu, My ch (Server) tnh ton v gi tr li kt qu. 1.18. Gom cm i xng khc vi Gom cm phi i xng im no? Gii: Gom cm i xng (Symmetric Clustering): Cc my ngang hng v chc nng, Mi my thc hin phn vic ca mnh v gim st ln nhau. Gom cm phi i xng (Asymmetric Clustering): Mt my chy trong Hot Standby Mode, ngha l ch gim st cng vic cc my khc nhng s m ng cng vic ca my gp s c. 1.19. nh ngha ca IEEE v H thi gian thc. Gii: o H thng thi gian thc (Real-Time Systems) Thng dng trong cc thit b chuyn dng nh iu khin cc th nghim khoa hc, iu khin trong y khoa, dy chuyn cng nghip. Rng buc tng i cht ch v thi gian: hard v soft real-time. o Hard real-time: Hn ch (hoc khng c) b nh ph, tt c d liu nm trong b nh chnh (RAM) hoc ROM Yu cu thi gian p ng, x l rt nghim ngt, thng s dng trong iu khin cng nghip, cng ngh robotics. o Soft real-time: Thng xut hin trong lnh vc multimedia, thc t o (virtual reality) vi yu cu mm do hn v thi gian.

2.1.

Nhng b phn cu thnh v cu trc khi qut ca my tnh. Gii: Nhng b phn cu thnh my tnh: CPU (Central Processing Unit) B nh (Memory) ng truyn h thng (System Bus) Cc mch iu khin thit b (Device Controller): iu khin cng vic ca thit b (Phn c); Lm vic ng thi, song song v c lp vi CPU Mch iu khin b nh (Memory Controller) vi chc nng ng b ho truy cp b nh chung

2.2.

Qu trnh khi ng my tnh v h iu hnh.

Gii: Sau khi bt ngun, chng trnh mi Bootstrap ly t ROM hoc EEPROM c khi ng vi chc nng khi hot cc thit b h thng: Cc thanh ghi CPU, B nh, Disk Controllers,... sau khi ng ht nhn ca HH np t a cng. Ht nhn (Kernel, Monitor) ca HH khi ng tin trnh u tin gi l INIT (Initialization) v ch cc s kin (Event) c th xy ra.

2.3.

Trnh by nguyn tc x l ngt ca h iu hnh. Gii: Hai loi ngt chnh: o Tn hiu ngt (Interrupt Signal) t cc thit b (Ngt cng) truyn qua System Bus. o Tn hiu ngt t chng trnh ngi dng (Ngt mm) nh Li gi h thng (System Call hay Monitor Call). Lnh c bit ny (v d c tn INT hoc SysCall) l c ch tin trnh ngi dng yu cu mt dch v ca HH (v d, yu cu thc hin lnh I/O). Vi mi loi ngt, c on m ring ca HH dng x l. Cc HH hin i c dn dt bi cc s kin. Nu khng c tin trnh no vn hnh, khng c thit b I/O no lm vic, HH im lng ch v theo di. Thng thng, mi loi ngt tng ng vi 1 dng trong bng (Vc-t ngt) cha con tr (Pointer) ti chng trnh x l loi ngt . Bng ny nm vng thp ca RAM (v d: 100 bytes u tin). C ch x l ngt phi c trch nhim ghi li a ch lnh b ngt sau c th quay li. a ch ny cng vi nhiu thng tin khc c th c ghi vo Ngn xp h thng (System Stack) vi nguyn tc lm vic LIFO ( Last-In, First-Out ). Minh ho bng hnh v Tuyn thi gian ca 1 tin trnh c 2 yu cu ti thit b ngoi. Gii:

2.4.

2.5.

Hai phng thc Nhp/Xut l nhng phng thc no? Nu 2 v d s dng. Gii:

- Synchronous I/O: Sau khi pht ra lnh Nhp/Xut, tin trnh chuyn sang trng thi ch n khi Nhp/Xut hon tt ri mi chy tip (thc hin lnh k tip) V d: Khi ta to mi mt ti liu nhp d liu t bn phm, khi mun lu li ta phi chn Save, sau t tn file, v chn ni lu tr. Cc tin trnh trng thi ch tin trnh trc nhp xut hon tt . - ASynchronous I/O: Sau khi pht ra lnh Nhp/Xut, tin trnh khng ch Nhp/Xut hon tt m thc hin ngay lnh k tip. Nh vy, tin trnh vn hnh song song vi cng vic Nhp/Xut. chng minh iu , hy xem hnh v sau: V d: Khi ta nhp d liu mi hoc thm vo ti liu c, khi ta mun lu th ta chn Save v lc ny tin trnh vn hnh song song vi vic pht ra lnh t Save.

2.6.

Gi s mt h thng c 3 loi thit b l My in, a cng v CD-ROM. C 1 yu cu in tp tin DanhSach.doc, 1 yu cu c F1.txt t a cng, 1 yu cu ghi ra F2.txt trn a cng. Hy th hin bng hnh v Bng trng thi thit b vi 3 yu cu Nhp/Xut k trn.

2.7.

Trong 2 loi b nh l B nh chnh v a t, loi no l B nh S cp, loi no l B nh Th cp? Phn loi nh vy lm g? Gii:

B nh chnh (Main Memory) o Chng trnh my tnh phi c np vo RAM (Random-Access Memory) trc khi thc hin. o Lnh cn thc hin phi c np vo thanh ghi (Register) ca CPU. o Cc tc t (Operand) tng ng cng c ly t RAM. o L tng nht l chng trnh v d liu u nm trong RAM nhng khng kh thi v RAM qu nh v l loi b nh khng chc (Volatile) do ni dung b xo khi mt in. o RAM c s dng lm B nh S cp (Primary Memory). B nh ph (secondary storage): h thng lu tr thng tin bn vng (nonvolatile storage). o a t (magnetic disks) l loi b nh ph hay b nh th cp. o B mt a chia thnh cc rnh (tracks), cc rnh ny c chia nh hn thnh cc cung t (sectors). o Cylinder: tp cc track to thnh mt hnh tr o Disk controller: b iu khin qu trnh giao tip gia CPU v a. 2.8. V hnh thp m t cu trc phn cp cc loi b nh. Gii:

2.9.

Mc ch ca nguyn tc Caching l g? Nu 1 v d t i thng s dng nguyn tc . Gii: o L nguyn tc quan trng ca h thng my tnh. o Thng tin t RAM c th c c ch phn cng a vo b nh nhanh hn gi l Cache. Khi CPU cn chnh thng tin , khng cn phi truy xut RAM, m ly ngay t Cache. o Loi b nh ny khng do HH qun l v cp pht. o Thc t, RAM (B nh S cp) l loi Cache nhanh so vi a cng (B nh th cp) v HH c chc nng qun l s lu chuyn d liu gia 2 loi b nh ny in t thch hp vo ch c du hi chm: Milli Micro Nano Pico ? ? ? ? Gii: Milli Micro Nano Pico Femto Atto Zepto Yocto in t thch hp vo ch c du hi chm: Kilo Mega Giga Tera ? ? ? ? Gii: Kilo Mega Giga Tera Pera Exa Zetta Yotta

2.10.

2.11.

2.12. Phn tch Hai ch vn hnh ca my tnh. 9

Gii: H iu hnh hin i dng c ch Dual-Mode duy tr 2 ch l User Mode v Monitor Mode (cn gi l Supervisor Mode, System Mode hoc Privileged Mode) bo v h thng v cc tin trnh ang vn hnh. Mt Mode Bit c a vo phn cng ca my ch bo ch lm vic hin hnh: 0 - Monitor Mode, 1 - User Mode. Khi xy ra ngt, phn cng chuyn t User Mode sang Monitor Mode bng cch t Mode Bit thnh 0. H iu hnh t Mode Bit bng 1 trc khi tr iu khin v tin trnh ngi dng. Mt s lnh my ch thc hin c trong Monitor Mode (Cc lnh u tin). Tin trnh ngi dng c th gin tip thc hin cc lnh u tin qua Li gi h thng (System Call). MS-DOS khng c Dual-Mode. B x l Pentium h tr Mode bit, do cc HH Windows 2000/XP/2003/Vista v OS/2 tn dng c tnh nng ny bo v my tnh tt hn.

2.13. Bo v Nhp/Xut bng System Call nh th no? Gii: System call phng thc duy nht m process dng yu cu cc dch v cung cp bi OS o Cc system call gy ra ngt mm (gi l trap). o Quyn iu khin c chuyn n trnh phc v ngt, mode bit c thit lp l monitor mode. o OS kim tra tnh hp l v ng n ca cc i s, thc hin yu cu v tr quyn iu khin v lnh k tip sau system call. 2.14. Trnh by Thut gii bo v b nh bng Thanh ghi C s v Thanh ghi Gii hn. Gii: o tin trnh ngi dng khng can thip c vo vng nh ca HH v ca cc tin trnh khc, thng s dng 2 thanh ghi: Thanh ghi C s (Base Register) v Thanh ghi Gii hn (Limit Register). o Ch c HH mi c th sa c ni dung 2 thanh ghi ny.

2.15. Bo v CPU bng Timer. Gii: CPU protection: bo m OS phi duy tr c quyn iu khin, trnh trng hp user b lp v hn, khng tr quyn iu khin. C ch thc hin l timer.

10

Thit lp timer gy ngt nh k N ms (time slice, quantum) Timer cng c dng tnh thi gian. Lnh np gi tr cho b m timer l privileged instruction. 3.1. 3.2.

Timer kch khi cc ngt qung nh k o B m timer s gim dn sau mi xung clock ca my tnh. o Khi timer bng 0 th kch hot ngt timer v OS s nm quyn iu khin. Timer cng c s dng hin thc h thng time sharing.

Nhng b phn cu thnh ca h iu hnh. Gii: Qun l Process (Process Management) Qun l b nh chnh (Memory Management) Qun l H Thng File (File Management) Qun l h thng I/O (I/O System Management) Qun l b nh ph (Secondary Storage Management) H thng bo v (Protection System) Command-Interpreter System Shell ca h iu hnh Windows c gi l g? Gii: Giao din do Command-Interpreter h tr hay giao din giao tip gia User v H iu hnh c gi l Shell. Mt trong nhng V thn thin u tin xut hin trong h iu hnh Mac OS cho my tnh Macintosh. Phn loi v chc nng cc dch v ca h iu hnh. Gii: Thc hin chng trnh: HH phi bit np (Load) chng trnh vo RAM v khi ng n. Thao tc Nhp/Xut: Lm sch mn hnh, nh dng a, Tua bng v u,... Thao tc vi H tp tin: To lp/Loi b/c/ghi tp tin,... Lin lc gia cc tin trnh: Bng thng ip (Messages), Qua vng nh chung. Trao i thng tin gia cc tin trnh Trn 1 my/ Gia cc my khc nhau trong mng. Pht hin li: Li trong CPU, B nh, Cc thit b (Li chn l - Parity, Li truy cp mng, Li ht giy,...). Mi loi li c cch x tr ring ca HH. Khi nim System Call v 3 phng thc truyn tham s. Gii: System calls cung cp giao din lm vic gia mt chng trnh ang thc thi v h iu hnh o Thng thng l cc th vin hp ng (assembly). o Cc ngn ng lp trnh cp cao thng c cc th vin lp trnh thay cho cc th vin hp ng ca h thng, cho php lp trnh vin triu gi system calls trc tip (v d: C/C++, Win32 API) Ba phng php truyn thng s gia process v h iu hnh o Truyn thng s qua cc thanh ghi (registers). o Truyn tham s qua mt vng nh chia s, a ch ca vng nh gi n OS qua thanh ghi. o Truyn tham s qua stack. H iu hnh c cc nhm chng trnh h thng no? Gii:


3.3.

3.4.

3.5.

11

Qun l tp tin/th mc: To lp, Loi b, Sao chp, i tn, In n, Lit k. Cung cp thng tin v trng thi h thng: Ngy, Gi, B nh trng, S Users. Chnh l tp tin: Son tho vn bn (NotePad, WordPad). Mt s trnh Bin dch/Thng dch: Assembler, C, C++, VB. Np v thc hin chng trnh: Loaders, Linkage Editors. Lin lc: Gi/Nhn thng ip gia cc my, Trnh duyt (Web Browser), Th in t, Truyn file, ng nhp t xa,... o Shell: (Command-Interpreter, Desktop Window). o 3.6. Cu trc n gin ca h iu hnh. Gii: Cc thnh phn ca HH c thc thi di dng cc th tc (Procedure) c th Gi t do ln nhau. Thc cht khng c cu trc no c. Nhiu HH c T chc yu do lc u c thit k cho cu hnh phn cng hn ch. MS-DOS l 1 h nh vy. o o o o o o

3.7.

Cu trc phn lp ca h iu hnh. Gii: nhau.

HH c chia thnh nhiu lp (Layers, Levels) chng ln Lp thp nht (lp 0) l Phn cng. Lp cao nht (lp N) l Giao din ngi s dng (User Mi lp ch dng chc nng v dch v do cc mc thp Mi lp ch cn bit cc lp di Lm g m khng quan

Interface). hn cung cp.

tm chc nng c Lm nh th no. R li (Debugging) c tin hnh t lp di tr ln. Thit k v thi cng tr nn n gin hn nhiu. Cc h phn lp c hiu nng thp hn cc h loi khc.

12

3.8.

Cu trc vi ht ca h iu hnh. Gii: Chuyn mt s chc nng ca OS t kernel sang user. o Thu gn kernel micro-kernel. o Micro-Kernel ch bao gm cc chc nng ti thiu nh qun l process v b nh, cung cp cc c ch giao tip. Qu trnh giao tip c thc hin gia cc user module qua c ch message passing. u im o D dng m rng micro-kernel OS. o D dng chuyn OS sang kin trc mi o tin cy cao hn (rt t code chy trong kernel mode) o Bo mt hn H iu hnh Windows NT c cu trc g? Gii: Windows NT l h hn hp: Va c cu trc phn lp, Va c cu trc vi ht. Khi nim My tnh o. Gii: My o l s pht trin l-gic ca kin trc phn lp. Bng cch iu phi CPU v k thut B nh o, c th to cho ngi dng o gic rng ngi ang dng b x l v b nh ca ring mnh. Ni cch khc: My tnh o ca ngi dng c gi lp trn nn my tnh vt l. V d: Trn nn CPU loi PowerPC, Motorola, Alpha,... c th gi lp my tnh o Intel chy HH Windows v ngc li. Khi , cc lnh ca Intel c chuyn i sang lnh vt l trc khi thc hin.

3.9.

3.10.

13

3.11.

H iu hnh my o thng mi u tin c tn l g? Ca hng phn mm no? Gii: HH my o thng mi u tin: VM/370 ca IBM. Chc nng v ng dng ca Phn mm Virtual PC. Gii: Phn mm my o Virtual PC do hng Microsoft cung cp c nhng chc nng v ng dng: o Mi PC o c HH ring do c th ci loi h iu hnh trn 1 my, bao nhiu cng c. o Mi PC o ng vi 1 tp tin nh *.vhd. o Mi PC o c ca s ring. o C th ni mng gia cc my o do d dng nghin cu v th nghim mng m ch c 1 my (khng card, khng dy mng).

3.12.

3.13.

Cc mc ch v nguyn tc thit k h iu hnh. Gii: Cc mc ch thit k (Design Goals): o Loi phn cng c th o Loi h iu hnh: L, n hay a chng, Chia thi gian, Phn tn, Thi gian thc,... o Yu cu ca ngi dng: Tin dng, D hc, Tin cy, An ton, Nhanh,... o Yu cu ca ngi lp trnh HH: D thit k, D thi cng, D bo tr, D nng cp,... Nguyn tc thit k (Design Principle): o Tch bch Policy (Lm g) vi Mechanism (Lm nh th no) Thi cng (Implementation): o Chn ng trnh: Assembler hay C o Nn ch yu dng ngn ng cao cp (v d: C), sau nhng on quan trng Chuyn dn sang Assembler. La chn ngn ng lp trnh h iu hnh th no l hp l hn c? Gii: o Chn ng trnh: Assembler hay C

3.14.

14

o Nn ch yu dng ngn ng cao cp (v d: C), sau nhng on quan trng Chuyn dn sang
Assembler. 3.15. o o o o 3.16. Cc thng tin cn cho Sn sinh h thng l nhng thng tin g? Gii: Loi CPU, S CPU Dung lng b nh trong Cc loi thit b, C th mi loi (S lng, S hiu, a ch, S hiu ngt,...) Cc thng s ca HH: S b m (Buffer), Dung lng mi b m, Thut gii iu phi CPU, S tin trnh ti a c h tr song song,... Ba cch sn sinh h iu hnh.

Gii:
1. M ngun HH c sa ti mt s ch, sau h c Bin dch (Compile) v Hp nht (Link) li. 2. Khng sa m ngun m chnh ni dung mt s bng. C th hp nht li h thng. 3. Sn sinh c thc hin khi Khi ng ln u v (hoc) khi Setup do HH hon ton c dn dt theo bng cu hnh (Solaris, Windows).

4.1.

Tin trnh khc Chng trnh nh th no? Gii: - Tin trnh (Process) l chung trnh trong thi gian thc hin (t di s qun l ca HH).C s phn bit Tin trnh h thng (ca HH) vi Tin trnh ngi dng. - Bn thn chng trnh khng l tin trnh v l thc th Th ng (Passive), trong khi tin trnh l thc th Hot ng (Active) vi nhiu thng tin v trng thi trong c B m chng trnh (Program Counter) cho bit v tr lnh hin hnh. Hy minh ho bng hnh v qu trnh chuyn trng thi ca tin trnh. Gii:

4.2.

15

4.3.

Chc nng v ni dung ca Khi kim sot tin trnh. Gii: Cha cc thng tin ng vi mi process. Process ID, parent process ID Credentials (user ID, group ID, effective ID,...) Trng thi process : new, ready, running, waiting Program counter: a ch ca lnh k tip s thc thi Cc thanh ghi CPU Thng tin dng nh thi CPU: priority,... Thng tin b nh: base/limit register, page tables Thng tin thng k: CPU time, time limits Thng tin trng thi I/O: danh sch thit b I/O c cp pht, sch cc file ang m,... Con tr (pointer) n PCBs khc.

danh

4.4.

Phn bit 3 loi hng ch iu phi. Gii: Hng ch cng vic (Job Queue): Danh sch cc tin trnh trng thi New. Hng ch sn sng (Ready Queue): Danh sch cc tin trnh trng thi Ready. Hng ch thit b (Device Queue): Danh sch cc tin trnh ch thit b Nhp/Xut c th. Ti sao phi c iu phi chm, iu phi nhanh v iu phi va? Gii: Long-term scheduler (or job scheduler) Chn process no s c a vo ready queue (t New chuyn sang Ready) Short-term scheduler (or CPU scheduler) Chn process no s c chim CPU x l (t Ready chuyn sang Running) Medium-term scheduler Chuyn process t b nh chnh sang sang b nh th cp (nhng vn nm trong khng gian b nh o); khi no cn th np process t b nh th cp vo b nh chnh. Chuyn ng cnh l g? Gii: Chuyn ng cnh (Context Switch) L chc nng ca Dispatcher khi cn chuyn CPU t tin trnh P0 ny sang tin trnh P1 khc: - Ghi mi trng v trng thi lm vic ca P0 vo PCB0 - Np mi trng v trng thi lm vic ca tin trnh P1 t PCB1 Thi gian chuyn ng cnh kh ln: T 1-1000 s Cng ngh a lung (Bi 5) c dng gim thi gian chuyn ng cnh. H my Sun UltraSPARC c nhiu b thanh ghi c dng h tr Context Switch bng phn cng: Chuyn ng cnh n thun ch l thay i con tr t B thanh ghi ny sang B thanh ghi khc. To lp tin trnh trong Windows. Gii: Cc hm API dng to mi tin trnh v khi ng chng trnh tng ng: CreateProcess, CreateProcessWithLogon WinExec ShellExecute, ShellExecuteEx

4.5.

4.6.

4.7.

16

4.8.

Ti sao phi t chc cng tc gia cc tin trnh? Gii: Chia s thng tin (Information Sharing): Mt tin trnh s dng thng tin do tin trinh khc cung cp. Tng tc tnh ton (Computation Speedup): Cc tin trnh cng lm vic song song trn 1 hoc nhiu my gii quyt bi ton chung. m bo tnh n th (Modularity): Chng trnh c chia thnh cc n th chc nng vn hnh trong cc tin trnh hoc lung khc nhau. m bo tnh tin dng (Convenience): Ngi dng c nhu cu lm nhiu vic mt lc: Son tho, In n, Duyt Web, Ly file v, Bin dch chng trnh, Kim tra chnh t,... Pht biu bi ton Sn xut-Tiu th v trnh by Thut gii vi B m thc thi bng mng xoay vng. Gii: Pht biu bi ton: Gi s c B nh m (Buffer) bao gm nhiu khoang (Items) c tin trnh Producer ln lt a cc sn phm S1, S2,... vo. Tin trnh Consumer ln lt ly sn phm ra theo ng th t. Cng vic ca Producer phi ng b vi Consumer: Khng c a sn phm vo khi Buffer y, Khng c ly ra khi cha c. Trnh by gii thut: Buffer xoay vng out i n

4.9.

PRODUCER
item nextProduced; while (1) { while(((in+1)%BUFFER_SIZE)==out); //qun ti y khi buffer y. buffer[in] = nextProduced; in = (in+1)%BUFFER_SIZE; } 4.10.

CONSUMER
item nextConsumed; while (1) { while(in==out); //qun khi buffer rng nextConsumed = buffer[out]; out = (out+1)%BUFFER_SIZE; }

Hai phng thc lin lc gia cc tin trnh. Gii: Lin lc trc tip (Direct Communications) Theo a ch i xng (Symmetric Scheme) Send (P, Message) - Gi thng ip cho P Receive (Q, Message) - Nhn thng ip t Q c im: Lin kt c thit lp t ng gia mi cp tin trnh. Lin kt ch gia 2 tin trnh. Ch c 1 lin kt gia mi cp. Tnh i xng ca lin lc (2 bn u bit ch xc tn ca nhau khi Gi/Nhn).

17

Theo a ch phi i xng (Asymmetric Scheme) Send (P, Message) - Gi thng ip cho P Receive (id, Message) - Nhn thng ip t tin trnh bt k, Bin id cha s hiu tin trnh gi Lin lc gin tip (Indirect Communications) Qua cc Hp th (Mailboxes) hoc Cng (Ports). Hp th l mt thc th qua thng ip c gi n v ly ra. Mi hp th c nh danh ring. Hai tin trnh phi chung nhau mt hp th no . Hai loi hp th: Hp th tin trnh (Process Mailbox): Nm trong vng a ch ca mt tin trnh no . Hp th h iu hnh (OS Mailbox): Nm trong vng a ch ca HH 4.11. ng b ho lin lc gia cc tin trnh. Gii: ng b ho lin lc (Synchronization) Gi thng ip c ch (Blocking Send) Gi thng ip khng ch (Nonblocking Send) Nhn thng ip c ch (Blocking Receive) Nhn thng ip khng ch (Nonblocking Receive)

4.12.

Truyn thng ip trong Windows . Gii: Cc hm API dng Gi/Nhn thng ip SendMessage: Gi c ch PostMessage: Gi khng ch SendMessageTimeout: Gi c ch nhng vi thi hn WaitMessage: Ch thng ip n GetMessage: Nhn c ch PeekMessage: Nhn khng ch Phn loi hc lin lc trong h thng Client-Server. Gii: C kt ni - Connection-Oriented (TCP - Transmission Control Protocol): Thit lp sn mi lin kt gia 2 my trc khi truyn. Khng kt ni - Connectionless (UDP - User Datagram Protocol): Khng phi thit lp sn mi lin kt trc khi truyn, do d dng lin lc vi nhiu my mt lc, nhng khng m bo bng TCP.

4.13.

5.1.

Nhng ch li ca a lung. Gii: Kh nng p ng (Responsiveness) tt hn: Trong khi mt lung b ch hoc qu bn, lung khc vn vn hnh bnh thng (Lung chnh ca trnh duyt vn tng tc vi ngi dng trong khi d liu c ly v). Chia s ti nguyn (Resource Sharing): Theo mc nh, cc lung c th dng chung b nh v ti nguyn ca lung cha. Vi lung cng vn hnh trong 1 vng a ch, do d dng chung ti nguyn hn so vi trng hp a tin trnh. Tit kim (Economy): Cp pht b nh v ti nguyn cho tin trnh l cng vic tn km. Do lung chung ti nguyn vi cha v cc lung khc, vic to lp v chuyn ng cnh cng nhanh hn (Solaris 2: To tin trnh chm hn 30 ln, Chuyn ng cnh chm hn 5 ln).

18

Tn dng c th mnh ca kin trc a x l: a lung lm tng tnh song song trn h my nhiu CPU. Mi lung c th chy bi CPU ring. 5.2. Nu 2 v d ng dng cng ngh a lung. Gii: Lp trnh x l cng vic bn v my bay, gi v rt tin ngn hng u cn n cng ngh a lung. C nhng m hnh a lung no? Gii: M hnh Many to One l nhiu User level threads c nh x vo mt Kernel Thread. Vic qun l c thc hin User Level, khi c mt thread b block th ton b cc Process cng b block theo. M hnh One to One l mi User level thread c gn vi mt Kernel thread. Khi c mt user thread mi c to ra th cng cn to mt Kernel thread tng ng, lc ny chi ph qu ln. M hnh Many to Many nhiu User level thread c phn chia nh x vo mt s Kernel thread. Trnh c cc khuyt im ca 2 m hnh trn. Hy phn tch Nguyn l Tp lung. Gii: Tp lung (Thread Pools): - Tin trnh cha to lp sn mt tp lung khi khi ng. - Cc lung trong tp lung lun sn sng ch cng vic. - Khi tin trnh cha (v d Web Server) nhn thm mt yu cu, mt lung c nh thc v a vo vn hnh. - Phc v xong, lung c a tr v tp lung. - Nu s yu cu ln hn s lung trong tp, tin trnh cha ch n khi c lung c gii phng. To lp lung trong Windows. To lp lung trong UNIX/Linux. Lp trnh a lung trong UNIX/Linux. Lp trnh a lung trong Windows NT/2000/XP/2003

5.3.

5.4.

5.5. 5.6. 5.7.

5.8.
6.1.

V sao h iu hnh phi c chc nng iu phi CPU? Gii: Trong cc h a chng thc thi nhiu chng trnh ng thi lm tng hiu sut h thng. Ti mi thi im, ch c mt process c thc thi. Do , cn phi gii quyt vn phn chia, la chn process thc thi sao cho c hiu qu nht chin lc nh thi CPU. Nm tiu ch iu phi CPU l nhng tiu ch no? Gii: 1. Cng sut CPU (CPU Utilisation): Thc t t t 40% - 90% thi gian CPU. CPU cng bn cng tt. 2. Thng sut h thng (Throughput): S TT hon tt trong 1 n v thi gian, v d: 1 TT / gi, 10 TT / giy. 3. Tng thi gian lm vic (Turnaround Time): K t khi bt u n khi kt thc tin trnh (Bao gm tng thi gian ch ti Ready Queue, tng thi gian s dng CPU, tng thi gian I/O, ). 4. Thi gian ch (Waiting Time): Tng thi gian ch ti Ready Queue. 5. Thi gian p ng (Response Time): Thi gian k t khi ngi dng t yu cu cho n khi c phn hi u tin. Trnh by thut gii iu phi FCFS.

6.2.

6.3.

19

Gii: n trc - Phc v trc (First-Come, First-Served Scheduling - FCFS) - n gin, d thc hin. - Cc tin trnh trong Ready Queue c cp CPU t u dy n cui dy theo quy tc FIFO (FirstIn, First-Out). - Thi gian ch trung bnh kh ln. 6.4. Trnh by thut gii iu phi PS. Gii: - Mi tin trnh c cp mt s nguyn (Priority Number) dng n nh u tin. - CPU lun dnh cho tin trnh vi u tin cao hn (Priority Number nh hn u tin cao hn ) vi 2 phng n: C tim quyn ( Preemptive ) Khng tim quyn ( Non-Preemptive ) - SJFS l trng hp c bit ca PS vi u tin: P= ( Khong CPU k tip ) Trnh by thut gii iu phi SJFS. Gii: Ngn hn-Chy trc (Shortest-Job-First Scheduling-SJFS) - ng hn phi c gi l Shortest-Next-CPU-Burst, ngha l tin trnh c Khong CPU k tip nh hn th c chy trc. Trong trng hp bng nhau, dng thut gii FCFS. - L gii thut kh ti u, nhng phi bit cch c on khong CPU k tip. - SJFS khng tim quyn (Non-Preemptive SJFS): Tin trnh hin thi c thc hin n ht khong CPU ca n. - SJFS c tim quyn (Preemptive SJFS): Tin trnh mi c Next CPU Burst nh hn khong thi gian CPU cn li ca tin trnh ang vn hnh s c chn thay th (Shortest Remaining First). Trnh by thut gii iu phi RRS. Gii: - Nh iu phi kiu FCFS nhng cho php tim quyn khi tin trnh ang chy b ht thi lng. - Mi tin trnh c cp 1 thi lng CPU (Time Quantum), thng t 10-100 mili giy. Sau khong thi gian ny, n b tim quyn v c a vo cui hng ch Ready. Tin trnh u tin trong hng ch Ready c chn k tip. - Nu c n tin trnh v thi lng l q , mi tin trnh nhn 1/n thi gian CPU bao gm cc on khng qu q n v thi gian. Trnh by thut gii iu phi MQS. Gii: - Hng ch Ready c phn cp thnh nhiu mc c u tin khc nhau, v d: Mc cc tin trnh tng tc (Interactive) chy mt trc ( Foreground ) c u tin cao nht v Mc cc tin trnh l ( Batch ) vn hnh trong hu trng (Background ) . - Mi hng ch c thut gii iu phi ring, v d: Foreground dng RRS, Background dng FCFS. - Quan h gia cc mc: u tin c nh: Xong ht cc tin trnh mc trn ri mi chuyn xung mc di. ang chy tin trnh mc di m xut hin tin trnh mi mc cao hn, tin trnh mc di s b tim quyn cho tin trnh mi c u tin cao hn ( H Solaris 2 dng cch ny ) . Phn b theo t l thi lng: v d: 80% thi lng CPU dnh cho Foreground, 20 % cho Background. Trnh by thut gii iu phi MFQS. Gii:

6.5.

6.6.

6.7.

6.8.

20

- Nh MQS nhng cho php iu tit tin trnh sang mc khc, v d: nhng tin trnh hng CPU c a xung mc di, trong khi tin trnh hng I/O hoc ch lu c chuyn ln trn. - MFQS c trng bi cc thng s: S mc (s hng ch) Thut gii iu phi cho mi mc Phng thc nng cp tin trnh Phng thc h cp tin trnh Phng thc chn hng ch (chn mc) cho tin trnh mi 6.9. Gi s mt h thng c 3 tin trnh vi tnh cht nh sau: Tin trnh Thi im n (giy th) Khong CPU (s giy) P1 0 5 P2 1 2 P3 2 2 Dng thut gii FCFS iu phi CPU: a) Th hin bng biu Gantt. b) Tnh thi gian ch trung bnh ca cc tin trnh. Gii:

6.12. Gi s mt h thng c 5 tin trnh cng n vo 1 thi im vi tnh cht sau: Tin trnh u tin Khong CPU (s giy) P1 3 10 P2 1 1 P3 3 2 P4 4 1 P5 2 5 a) V 4 biu Gantt tng ng vi cc thut gii iu phi FCFS, SJFS, PS (khng tim quyn) v RRS (vi thi lng = 1). b) Tnh thi gian ch trung bnh ca cc tin trnh cho mi thut gii. c) Thut gii no tt nht v phng din thi gian ch trung bnh? Gii:

21

22

7.1.

Ti sao cn phi ng b ho cng vic cc tin trnh? a. V d mc v m. b. V d mc vi m. Gii: Mc ch ca ng b ho cng vic cc tin trnh l m bo Tnh nht qun ca ti nguyn dng chung v Trnh c hin tng Deadlock (Hin tng kt tin trnh).

23

7.2.

Cu trc m ca tin trnh tng tranh. Gii: while (1) { Remainder section Entry section Critical section Exit section

24

Remainder section } 7.3. nh ngha n hiu vi 2 tc nguyn Wait v Signal. Gii: - n hiu l phng tin ng b ho c E.W. Dijkstra xut nm 1965. - n hiu c m t bng mt bin kiu nguyn vi 2 tc nguyn l Wait (Ch) v Signal (Bo hiu): typedef int semaphore;// nh ngha kiu n hiu wait (semaphore S) { while ( S <= 0 ); // Ch bn nu S<=0 S --; // Gim S i 1 } signal (semaphore S) { S ++; // Tng S ln 1 } - Vic kim tra S <= 0 v gim S (trong Wait) hoc tng S (trong Signal) phi c thc hin trn vn (khng xy ra ngt trong thi gian thi hnh), do Wait v Signal c gi l cc tc nguyn (Atomic Operations).

7.4.

S dng n hiu nh phn Mutex m bo tnh loi tr ln nhau. Gii: typedef int semaphore; semaphore mutex = 1; // Binary Semaphore while (1) { remainder section wait (mutex); critical section signal (mutex); remainder section } S dng n hiu Synch ng b 2 tin trnh. Gii: Xt hai process: P1 v P2 Yu cu: lnh S1 trong P1 cn c thc thi trc lnh S2 trong P2 nh ngha semaphore synch dng ng b Khi ng semaphore: synch.value= 0 ng b hot ng theo yu cu, P1 phi nh ngha nh sau: S1; signal(synch); V P2 nh ngha nh sau: wait(synch); S2; Thc thi n hiu c hng ch. Gii:

7.5.

7.6.

25

- Vi tc nguyn Wait c vng lp v tn kim tra bin m S c nh hn 0 hay khng, iu lm cho cc tin trnh c th t kha mnh (Block Itseft) v chuyn sang trng thi waiting, sau xp vo hng ch ca n hiu. Trnh iu phi CPU c th chn tin trnh khc trong hng ch Ready thc hin. - Khi mt tin trnh no thc hin lnh Signal(S), mt tin trnh P no ang ch ti S c la chn v nh thc bng lnh WakeUp(P) chuyn P t trng thi Waiting sang trng thi Ready. Lc ny trnh iu phi c th cho P thc thi ngay hay khng cn tu thuc vo thut gii c th.

7.7.

Pht biu bi ton Sn Xut Tiu Th. S dng n hiu ng b ho. Gii: Hai qu trnh cng chia s mt vng m c kch thc gii hn n. Bin semaphore mutex cung cp s loi tr h tng truy xut vng m v c khi to vi gi tr 1. Cc bin semaphore empty v full m s khe trng v y tng ng. Bin semaphore empty c khi to ti gi tr n; bin semaphore full c khi to ti gi tr 0. D liu chia s: SEMAPHORE full, empty, mutex; Khi to: full = 0; empty = BUFFER_SIZE; mutex = 1; Buffer xoay vng out i n

PRODUCER
while (1) { nextP = new_item(); wait(empty); wait(mutex); insert_to_buffer(nextP); signal(mutex); signal(full); }

CONSUMER
while (1) { wait(full) wait(mutex); nextC = get_buffer_item(out); signal(mutex); signal(empty); consume_item (nextC); }

7.8.

Pht biu bi ton Dining-Philosophers. Gii: C 5 trit gia ngi n trn mt bn trn v suy ngh Mi ngi cn 2 chic a n Trn bn ch c 5 chic a xp xoay vng v xen k mi ngi. Ngi no cm hai chic a s c n. Bi ton ny minh ho s kh khn trong vic phn phi ti nguyn gia cc process sao cho khng xy ra deadlock v starvation

26

7.9.

Phn tch thut gii sai bi ton Dining-Philosophers (dn n Deadlock). Gii: D liu chia s: semaphore chopstick[5]; Khi u cc bin u l: 1. while (1) { wait(chopstick[i]) wait(chopstick[(i+1) % 5 ] ) eat signal(chopstick[i]); signal(chopstick[(i+1) % 5] ); think } Gii php trn c th gy ra deadlock Khi tt c trit gia i bng cng lc v ng thi cm mt chic a bn tay tri deadlock C th xy ra trng hp ch v hn nh (starvation). Gii:

7.10. Phn tch thut gii ng bi ton Dining-Philosophers (dng n hiu).

7.11. Nhng phng tin ng b ho trong Windows NT/2000/XP/2003.


Gii: HANDLE s; s = CreateSemaphore(0, n, max, t); //t l tn n hiu hoc gi tr 0. WaitForSingleObject(s, timeout); //timeout = INFINITE hoc s mili giy ch. RealeaseSemaphore(s, 1, NULL);

7.12. Nhng phng tin ng b ho trong UNIX/Linux.


Gii: sem_t s; sem_init(&s, 0, n); sem_wait(&s); sem_post(&s);

8.1.

Phn tch khi nim ti nguyn h thng. Gii: - Cc ti nguyn h thng c chia thnh nhiu Loi, mi loi c 1 hoc nhiu Phin bn (Instances). Cc ti nguyn h thng ny cp pht cho cc tin trnh theo yu cu. - Ti nguyn cng loi: Gi s my c 3 bng t v c 3 tin trnh ang chy. Mi tin trnh ang gi 1 bng. - Ti nguyn khc loi: Gi s c 1 my in, 1 bng t. Tin trnh P1 ang gi bng, P2 gi my in. Trnh by th t s dng ti nguyn ca tin trnh. Gii:

8.2.

27

Th t s dng ti nguyn ca tin trnh: 1. Yu cu (Request): Nu khng c p ng do b tin trnh khc gi => tin trnh phi ch. 2. S dng (Use): Sau khi c cp pht, tin trnh thao tc vi ti nguyn (thc hin I/O, in ra giy, ...). 3. Tr li (Release): Tr ti nguyn cho HH qun l. 8.3. nh ngha Deadlock. Gii: Deadlock: l tnh hung kt tin trnh (process) vi mt tp cc process b blocked, mi process gi ti nguyn v ang ch ti nguyn m process khc trong tp ang c. V d 1 Gi s h thng c 2 file trn a. P1 v P2 mi process ang m mt file v yu cu m file kia. V d 2 Semaphore A v B, khi to bng 1 P0 P1 wait (A); wait(B) wait (B); wait(A) Nu 1 v d t i thng minh ho tnh hung Deadlock. Gii:

8.4.

8.5.

Bn iu kin dn n Deadlock l nhng iu kin g? Gii: - Mutual exclusion: vi mi ti nguyn, ch c mt process s dng ti mt thi im. - Hold and wait: mt process vn s hu ti nguyn c cp pht trong khi yu cu mt ti ngyn khc. - No preemption: mt ti nguyn khng th b ot li t chnh process ang s hu ti nguyn . - Circular wait: tn ti mt chu k khp kn cc yu cu ti nguyn. Mt h thng c 3 loi ti nguyn v 3 tin trnh vi trng thi cp pht nh sau:

8.6.

28

S phin c cc tin trnh cp cho cc bn yu cu tin trnh My in kim 2 P1 P2, P3 My in laser 1 P3 bng t 2 P2 P1, P3 Hy th hin trng thi ny bng th cp pht ti nguyn. Gii:

Loi ti nguyn

8.7.

Trnh by cc phng thc x tr Deadlock. Gii: - S dng quy tc Ngn chn (Prevention) hoc Trnh (Avoidance) Deadlock khng bao gi xy ra. - Cho php h thng b Deadlock, sau Xc nh (Detection) v tm cch Khc phc (Recover). - Khng xt vn Deadlock, coi nh khng bao gi xy ra, cn nu xy ra th Khi ng li h thng (Cch ny c th c ngha thc t v khng cn a vo HH cc phng tin x tr thng trc).

8.8.

Trnh by 4 cch ngn chn Deadlock. Gii: ngn chn Deadlock ta phi lm sao cho t nht 1 trong 4 iu kin dn n Deadlock khng xy ra. C th: - Vi Mutual Exclusion: m bo TN no cng dng chung c cng mt lc bi nhiu tin trnh. - Vi Hold and Wait: 1- Khi TT yu cu TN, n khng c gi 1 TN no khc. 2- TT phi yu cu v c cp tt c cc TN m n cn ngay u cng vic. - Vi No Preemption: 1- Khi TT gi TN m xin thm nhng khng c, cc TN m n gi phi b tim quyn s dng v tr li HH. 2- Khi TT xin thm TN, nu TN ny ang c gi bi TT khc ang trng thi ch, TN ca TT khc ny b tim quyn s dng cp cho TT ang xin. - Vi Circular Wait: Cp TN theo mt th t no y. Th no l trng thi an ton ca h thng? Gii:

8.9.

29

- Mt trng thi c gi l an ton safe nu tn ti t nht mt cch m trong mt khong thi gian hu hn no , h thng c th cp pht ti nguyn tha mn cho tt c process thc thi hon tt . - Khi h thng tn ti mt Chui an ton {P1, P2, , Pn } bao gm tt c cc tin trnh sao cho vi mi Pi, cc ti nguyn m n yu cu c th c p ng bi s lng hin c cng thm ca tt c cc Pj m j < i. - Nu cc TN yu cu khng c , Pi phi ch cho n khi tt c cc Pj tr li cc TN m chng chim gi. - Khi Pi nhn c TN cn thit, n s dng v tr li HH Pi+1 c th vn hnh, c nh th cho n Pn - Khi mt process yu cu mt ti nguyn ang sn c, h thng s kim tra: nu vic cp pht ny khng dn n tnh trng unsafe th s cp pht ngay. 8.10. Thut gii trnh Deadlock cho trng hp mi loi ti nguyn ch c 1 phin bn. Gii: - Trn RAG, lc u tt c nhu cu v ti nguyn ca tin trnh phi c khai bo trc bng cc Cung Nhu cu (Claim edge) Pi > Rj ch bo rng Pi c th s yu cu Rj - Cung Nhu cu Pi > Rj c chuyn thnh Cung Yu cu (Request edge) Pi Rj khi Pi thc s bt u cn n Rj . - Nu yu cu Pi Rj c HH p ng, cung Pi Rj chuyn thnh Cung n nh (Assignment edge) Pi Rj ni phin bn duy nht ca Rj vi Pi . - Khi HH xt yu cu Pi Rj. H ch cp pht Rj cho Pi nu Cung n nh Pi Rj khng to ra vng trn ng hng trong RAG (xt c cc Cung Nhu cu). - Thut gii c phc tp o(n) vi n l s tin trnh trong h.

8.11.

Trnh Deadlock bng Bankers Algorithm. Gii: L thut gii trnh Deadlock cho trng hp mi loi ti nguyn c n phin bn. - p dng cho h thng cp pht ti nguyn trong mi loi ti nguyn c th c nhiu instance. - M phng nghip v ngn hng (banking) - Mt s gi thit Mi process phi khai bo s lng ti a ti nguyn mi loi m process cn hon tt cng vic. Khi process yu cu mt ti nguyn th c th phi i mc d ti nguyn c yu cu ang c sn Khi process c c y ti nguyn th phi hon tr trong mt khon thi gian hu hn no . Mt h thng c 12 bng t v 3 tin trnh vi bng cp pht ti nguyn nh sau: Tin trnh c cp (s bng) Ti a cn (s bng) P1 P2 P3 5 2 2 10 4 9

8.12.

30

Dng Thut gii Nh bng xc nh trng thi ny c an ton hay khng? Gii: Ta c: Available = 12 (5 + 2 + 2) = 3 Need = Max Allocation P[i] Allocation Max Need Available P1 5 10 5 P2 2 4 2 3 P3 2 9 7 Xt ti thi im Ti Work >= Need[i] P[i] Allocation[i] 3 2 P2 2 5 5 P1 5 10 7 P3 2 Vy tn ti chui an ton < p2, p1, p3 >. Suy ra trng thi h thng thi im Ti l an ton. 8.13. Mt h thng c 5 tin trnh vi tnh trng ti nguyn nh sau: Allocation Max Available Process A B C D A B C D A B C D P0 0 0 1 2 0 0 1 2 1 5 2 0 P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6 P3 0 6 3 2 0 6 5 2 P4 0 0 1 4 0 6 5 6 Dng Thut gii Nh bng xc nh: a. Ni dung ca ma trn Need. b. Trng thi ny c an ton khng? c. Nu P1 nu yu cu (0, 4, 2, 0), c th p ng ngay c khng? Gii: a. Xt ti thi im T0 m 5 tin trnh c cp pht nh bi ta c: Need[i] = Max[i] Allocation[i] Need Process A B C D P0 0 0 0 0 P1 0 7 5 0 P2 1 0 0 2 P3 0 0 2 0 P4 0 6 4 2 b. Tm chui an ton: Work >= Need[i] P[i] Allocation[i] A B C D ABCD ABCD 1 5 2 0 0 0 0 0 P0 0 0 1 2 1 5 3 2 1 0 0 2 P2 1 3 5 4 2 8 8 6 0 0 2 0 P3 0 6 3 2 2 14 11 8 0 6 4 2 P4 0 0 1 4 2 14 12 12 0 7 5 0 P1 1 0 0 0 Vy ti thi im T0 tn ti chui an ton {P0, P2, P3, P4, P1}. Suy ra, h thng ti thi im T0 trng thi an ton. c. Ta thy, yu cu thm (0, 4, 2, 0) ca P1 tho iu kin Request1 Need1, v tho iu kin: Request1 Available. Gi s ta cp pht theo yu cu ca P1 th vn tn ti chui an ton. Do vy, ta hon ton c th cp pht thm (0, 4, 2, 0) cho P1 c.

31

8.14.

Mt h thng c 3 tin trnh v 3 loi ti nguyn vi bng cp pht ti nguyn nh sau: c cc tin trnh yu cp cho cc tin Loi ti nguyn S phin bn cu trnh R1 1 P1 P2 R2 2 P3 P1, P2 R3 1 P2 P3 C Deadlock hay khng? V sao? Gii:

Gii thch: RAG cho trn bi deadlock l do tn ti cc chu trnh.

9.1.

a ch L-gic v a ch Vt l khc nhau th no? Gii: - a ch vt l (physical address) (a ch thc, a ch tuyt i) l mt v tr thc trong b nh chnh. - a ch lun l (logical address) l tham chiu n mt v tr nh c lp vi cu trc, t chc vt l ca b nh. V d: cc trnh bin dch (compiler) to ra m lnh chng trnh m trong mi tham chiu b nh u l a ch lun l - Ngoi ra cn c a ch tng i (relative address) l mt kiu a ch lun l trong cc a ch c biu din nh l v tr tng i so vi mt im xc nh no trong chng trnh (v d: im bt u chng trnh,...) - Khi mt lnh c thc thi, cc tham chiu n a ch lun l phi c chuyn i thnh a ch thc. Thao tc chuyn i ny thng c s h tr ca phn cng t hiu sut cao. S ti nh v ng trong b nh. Gii:

9.2.

32

9.3.

Qun l b nh thc: Dng a chng vi kch thc on c nh. Gii:

9.4.

Qun l b nh thc: Dng a chng vi kch thc on thay i. Gii:

33

9.5.

Gii thch s khc bit gia Phn mnh Trong vi Phn mnh Ngoi. Gii: - Phn mnh ngoi (external fragmentation) Kch thc khng gian b nh cn trng tha mn mt yu cu cp pht, tuy nhin khng gian nh ny khng lin tc. - Phn mnh ni (internal fragmentation) Kch thc vng nh c cp pht c th hi ln hn vng nh yu cu. V d: cp mt khong trng 18,464 bytes cho mt process yu cu 18,462 bytes Hin tng phn mnh ni thng xy ra khi b nh thc (physical memory) c chia thnh cc khi kch thc c nh(fixed-sized block) v cc process c cp pht theo n v khi. V d: c ch phn trang (paging) Khi nim v ch li ca b nh o. Gii: - B nh o l k thut cho php thc hin cc chng trnh khng hon ton nm y trong b nh. - Ngi lp trnh ch lo vit chng trnh, khng phi quan tm n ln n u. - Vng a ch l-gic lin tc, t 0 => Max-1. - ch li: Lp trnh khng b hn ch bi dung lng b nh vt l. a chng cao => Tng cng sut CPU v thng sut h thng. C th ch cn t I/O np v tro i chng trnh => tng tin trnh c th lm vic nhanh hn (Khng phi np ht, nhiu on thc t khng hoc t s dng). V sao kch c ca trang b nh lun l ly tha ca 2? Gii: - C ch phn trang cho php khng gian a ch thc (physical address space) ca mt process c th khng lin tc nhau. - B nh thc c chia thnh cc khi kch thc c nh bng nhau gi l frame. - Thng thng kch thc ca frame l ly tha ca 2, t khong 512 byte n 16MB - B nh lun l (logical memory) cng c chia thnh khi cng kch thc gi l trang nh (page).

9.6.

9.7.

34

9.8.

Gi s Vng a ch L-gic 8 trang (mi trang c 1024 byte) c nh x vo Vng a ch Vt l 32 khung trang. a. Mi a ch l-gic chim bao nhiu bit? b. Mi a ch vt l chim bao nhiu bit? Gii: a. Ta c: page number page offset

p
m-n bits (nh v t 0 2m-n -1)

d
n bits (nh v t 0 2n-1)

Vng a ch logic c 8 trang v mi trang c 1024 bytes, nn n = 10 v m = 13. Vy mi a ch logic chim 13 bits. b. Tng t vy i vi a ch vt l ta c: n = 10 v l = 15 (V s frame number l 32 = 25 = 215-10). Do vy, mi a ch vt l chim 15 bits. 9.9. Gi s c Bng on sau: Segment Base Limit 600 14 100 580 96 0 219 1 2300 2 90 3 1327 4 1952 Hy tnh a ch vt l cho mi a ch l-gic sau: a. 0430 b. 1010 c. 2500 d. 3400 e. 4112 Gii:

35

9.10.

Vng a ch l-gic (vng nh o) ca mt tin trnh c chia thnh cc trang A, B, C, D, E c nh x sang Vng a ch vt l theo bng sau: STT Trang l-gic Khung trang s 1 A 3

2 B 3 C 5 4 D 1 5 E Hy minh ho bng hnh v cc thnh phn sau: Vng a ch l-gic, Bng trang (s dng bit ng-Sai), Vng a ch vt l, Ni dung a cng lu cc trang. Gii:

36

10.1. T chc th bc ca th mc v quy tc t tn ng dn. Gii:

Tn ng dn: UNIX/Linux: /B/B1/B11 Windows: C:\B\B1\B11

37

10.2.

Phng thc kt (Link) mt tp tin vi th mc khc m bo tp tin hin din trong nhiu th mc mt lc. a. Trong UNIX. b. Trong Windows. Gii: Tp tin lin kt tt trong UNIX/Linux: 1. Lin kt tt mm (Soft Link, Symbolic Link) - Nh tp tin .LNK trong Windows. - Lnh to lp: $ ln -s /bin mybin $ ls -l mybin lrwxrwxrwx 1 mk books 9 May 23 16:14 mybin->/bin $ ln -s /bin/calculator.exe /programs/calc $ /programs/calc 2. Lin kt tt cng (Hard Link) - Khng c khi nim tng ng trong Win 9X. - Lnh to lp: $ cat >testfile Cong Hoa Xa Hoi Chu Nghia Viet Nam Doc lap - Tu do - Hanh phuc ^[ $ ls -l test* -rw-rw-r-- 1 mk books 50 May 13 18:30 testfile $ ln testfile test1 $ ls -l test* -rw-rw-r-- 2 mk books 50 May 13 20:41 test1 -rw-rw-r-- 2 mk books 50 May 13 18:30 testfile $ ln testfile test2 hoc ln test1 test2 $ ls -l test* -rw-rw-r-- 3 mk books 50 May 13 20:41 test1 -rw-rw-r-- 3 mk books 50 May 13 20:46 test2 -rw-rw-r-- 3 mk books 50 May 13 18:30 testfile $ rm testfile test1 $ ls -l test* -rw-rw-r-- 1 mk books 50 May 13 20:46 test2 $ cat test2 Cong Hoa Xa Hoi Chu Nghia Viet Nam Doc lap - Tu do - Hanh phuc

10.3. Phn bit Basic Disk vi Dynamic Disk. Gii: - Mt Basic Disk l mt cng vt l bao gm cc phn vng chnh (Primary Partition), cc phn vng m rng (Extended Partition) hoc cc a lun l (Logical Drive). Cc phn vng v cc a lun l trn cc basic disk cn c hiu nh l cc Basic Volume. S phn vng (Partition) ta to trn mt Basic disk tu thuc vo loi phn vng ca a (Disks Partition Type). i vi MBR (Master Boot Record) disks, chng ta c th to c nhiu nht 4 phn vng chnh (Primary Partition), hoc 3 phn vng chnh v mt phn vng m rng (Extended Partion). Trong phn vng m rng ta c th to v hn cc a lun l (Logical Drive). i vi GPT (GUIDs Partition Table) disks, chng ta c th to ln n 128 phn vng chnh (Primary Partition). Bi v GPT disks khng gii hn 4 phn vng chnh nn chng ta khng cn to phn vng m rng hay cc a lun l.

38

- Mt Dynamic Disk cung cp cc tnh nng m Basic Disk khng c, nh kh nng to nhng volume m rng trn nhiu a vt l (Spanned and Striped Volumes) v kh nng to ra nhng volume Fault Tolerance (Mirrored and Raid-5 Volumes). Cc volume trn Dynamic Disk ta gi l Dynamic Volumes, v mt Dynamic Disk c th h tr ln ti 2000 Volume trn mt a (d vy Microsoft gii thiu s lng Dynamic Volumes l 32 hoc t hn trn mt a). C 5 loi Dynamic Volume l: Simple, Spanned, Stripped, Mirrored v Raid-5. Trong Mirrored v Raid-5 ch chy trn my tnh c h iu hnh Windows 2000 Server, Windows 2000 Advanced Server, Windows 2000 Datacenter Server, or Windows XP. 10.4. Phn bit Master Boot Record vi Boot Record. Gii: - Master Boot Record: l 512 Bytes u ca a vt l. Cha chng trnh Khi ng, c bng m t cc Partition trn a, tm Active Partition, chn HH, chuyn iu khin cho chng trnh trong Boot Record ca Partition va chn. - Boot Record: l 512 Bytes u ca a lun l hay mt Partition. Cha lnh nhy n u on m boot ca Boot Record, tn v s hiu phin bn HH, Serial number, Volume label, on m dng np HH t a . 10.5. Gi s mt Partition trn a cng c ci H tp tin FAT. Hy th hin cu trc ca Partition bng hnh v. Gii:

10.6. Cu trc Directory Entry thay i th no khi chuyn t FAT16 sang FAT32? Gii:

39

10.7.

Windows cho php tn tp tin/th mc di n 256 k t, ngoi ra h tr UNICODE. Khi , cu trc Directory Entry phi ra sao? Gii:

V d:

10.8.

Trong mt h tp tin FAT16, tp tin Vanban.doc c ni dung tri trn cc lin cung (Cluster) 5, 3, 2. Hy minh ho cu trc u mc (Directory Entry) ca tp tin ny cng ni dung bng FAT. Gii:

40

10.9. Phn tch nhng u im ca H tp tin NTFS. Gii: - Bo mt v An ton hn so vi FAT: Quyn s dng ca ND c n nh n tng tp tin, TM. - Nhanh hn FAT khi dung lng a ln v khi a b phn mnh nhiu. - tin cy cao, kh nng khi phc ln, khng phi chy Chkdisk.exe thng xuyn. - Nn n tng tp tin v th mc (gim c 40-50% dung lng). - Mi user c Recycle Bin ring. - G lp a vi mt th mc no (Mounting). - EPS (Encrypting File System): M ho a. - Disk Quotas: Hn mc s dng vng nh a cho mi user. 10.10. Trnh by 5 loi a NTFS c Windows 2000/XP/2003 h tr. Gii: - Simple Volume: n da trn 1 vng nh ca Dynamic Disk (phn bit vi Basic Disk). Mt a cng c th phn hoch thnh nhiu n. - Spanned Volume: ghp tri trn nhiu n. - Striped Volume: song song. Ni dung mi tp tin ri trn nhiu n. Cn gi l RAID-0. - Mirrored Volume: nh x gng. Bao gm 1 n c nh x t ng sang 1 n khc. Cn gi l RAID-1. - RAID-5 Volume (Redundant Array of Inexpensive Disks): Tri trn 3 hoc hn 3 a n. D liu c ri trn cc a thnh phn cng vi thng tin chn l (parity) m bo kh nng khng li (fault tolerance) m Striped Volume khng lm c.

41

You might also like