You are on page 1of 6

Bi tp ln h iu hnh

Lp MT2000

BI TP LN H IU HNH GVHD : V L HNG


Quy nh : Ngn ng lp trnh s dng trong cc bi tp l C, C++ hoc Java. Cc bi tp vit trn UNIX phi vit trn nn Linux. Sinh vin t tha thun chia nhm t 2-3 ngi. Mi nhm chn 2 bi tp thuc 2 ch lp trnh v 1 bi tp phn tm hiu h thng. Cc nhm sinh vin c th ng k trnh by trc lp v ti ca nhm mnh. Cc nhm ng k phi chun b slide hoc bi vit trnh by trc lp trong cc bui hc cui cng ca mn hc. Sinh vin c tham gia thuyt trnh s c cng thm im vo bi tp ln Sinh vin np bo co v bi tp cho GVHD ti vn phng khoa (np a mm) hoc qua a ch email vlehung@dit.hcmut.edu.vn. Xem qui nh v bo co ti trang web di y. Tt c cc thng tin lin quan n bi tp ln s c a ln trang web ca mn hc http://www.dit.hcmut.edu.vn/~vlehung/course-OS-vn.html Lp trng nh my v in ra danh sch cc nhm (h tn, m s sinh vin), tn bi tp v thng tin ng k thuyt trnh ca cc sinh vin v gi cho GVHD qua email.

BI TP LP TRNH Ch 1: M phng
1. Ti liu tham kho - Bi ging H iu hnh, V L Hng - An Introduction To Operating System, H.M. Deitel 2. Ngn ng lp trnh s dng: C, C++, Java trn UNIX hoc Windows Bi 1.1: Vit chng trnh m phng gii thut nh bng ca Dijsktra trnh deadlock. S lng cc ngun ti nguyn, cc yu cu ca h thng c to ngu nhin. Hy hin thc cch xt trng thi hin thi ca h thng l an ton hay khng an ton. Nu trng thi l an ton, chng trnh phi ch ra cch thu hi ti nguyn h thng. Vi mi yu cu cung cp ti nguyn, hy hin th ra mn hnh cch cp pht, thu hi tng ng. Bi 1.2: Vit chng trnh m phng cc gii thut nh thi hc: FIFO, SJF, SRT, RR, HRRN, MLFQ. u vo ca gii thut: s qu trnh, di cc CPU burst, I/O burst c to ngu nhin. Tnh ton cc thng s v nh gi hiu qu ca tng gii thut. Bi 1.3: Vit chng trnh m phng cc gii thut thay th trang hc: OPT, FIFO, LRU, LFU, NUR, Second Chance. u vo ca gii thut: s khung trang, chui tham kho trang, yu cu thay th trangc to ngu nhin. nh gi hiu qu (so snh s page fault) ca tng gii thut.

Ch 2:

ng b gia cc qu trnh

1. Ti liu tham kho - UNIX network programming. - Ti liu hng dn thc hnh H iu hnh, H Quc Thun. 2. Tm hiu cch to qu trnh trong UNIX: hm fork( ). 3. Tm hiu cc cch ng b gia cc qu trnh trong UNIX: semaphore, lock file. 4. Ngn ng lp trnh s dng: C trn UNIX Bi 2.1 : (Semaphore)

Trang 1/6

Bi tp ln h iu hnh

Lp MT2000

Vit chng trnh to ra mt qu trnh con. Qu trnh cha s nhn chui s nguyn t bn phm do ngi dng nhp v ghi vo file tn input. Qu trnh con s c d liu t file ny, sp xp chng theo th t tng dn v ghi vo mt file khc tn l sorted. Bi 2.2 : (Semaphore) Vit chng trnh producer-consumer vi bounded buffer. Bi 2.3 : (Semaphore) Vit chng trnh gii quyt bi ton 5 trit gia n ti. Chng trnh phi to ra 5 qu trnh con m phng hot ng ca 5 trit gia. Dng semaphore ng b hot ng ca 5 trit gia ny. Bi 2.4 : (Lock file) Vit chng trnh gii quyt bi ton reader/writer dng tng qut. Chng trnh phi to ra 5 qu trnh ng thi vi hot ng c/ghi file bt k th nghim gii thut.

Ch 3:

Qun l b nh

1. Ti liu tham kho - The Design of the UNIX Operating System- Andrew S. Tanenbaum, Chng 7 - Interprocess Communications in UNIX -The Nooks and Crannies. - Ti liu hng dn thc hnh H iu hnh, H Quc Thun. 2. Tm hiu cc hm truy cp b nh : - Tm hiu cch to qu trnh trong UNIX dng hm fork( ). - Tm hiu cch cp pht b nh cho qu trnh trong h iu hnh UNIX. - Tm hiu cc hm cho php ly cc thng tin v vng nh cp cho qu trnh cng nh cho php thay i cc vng nh . 3. Ngn ng lp trnh s dng: C trn UNIX Bi 3.1 : Vit chng trnh c khai bo 4 bin nh sau: - global l bin nguyn ton cc khng khi ng tr. - local l bin nguyn khai bo cc b trong hm doNoth( ) (hm ny khng lm g c) - intarray l mt con tr n bin kiu nguyn. Trong hm main(), hy gn global=1, sau in a ch cc segment ca qu trnh ra mn hnh. Cho bit a ch cc bin global, local v intarray (1). Tip theo, hy dng hm fork() to ra mt qu trnh con. Cho bit gi tr cc a ch trn trong qu trnh con (2). Hy gn global=2 trong qu trnh con v cho bit gi tr mi ca bin global trong qu trnh con v qu trnh cha. Trong qu trnh cha, sau khi dng fork(), hy gi hm doNoth(), sau dng malloc() xin mt vng nh cho mt mng 10 s nguyn v gn a ch u mng vo bin intarray. Tr li cc cu hi sau: Bin global l bin chung hay bin ring ca tng qu trnh? Bin intarray ca qu trnh cha nm trn stack hay trn heap? Bin local ca qu trnh cha nm trn stack hay trn heap?

Cc a ch (1) v (2) c khc nhau khng? Gii thch?

Bi 3.2 : Vit cc hm mymalloc() v myfree() da trn cc hm cung cp sn l brk() v sbrk().

Ch 4: Thread
1. Ti liu tham kho - UNIX Internal, phn Thread and Lightweight Processes - Multithread Programming Guide. - Interprocess Communications in UNIX . - MSDN CDROM - Java How to Program, phn Threads 2. Tm hiu thread : - Tm hiu khi nim thread.

Trang 2/6

Bi tp ln h iu hnh

Lp MT2000

- Phn bit gia m hnh x l dng multithread v dng nhiu process. - Tm hiu cch ng b gia cc thread trong Java v trong Linux. 3. Ngn ng lp trnh s dng c th l C, C++, Java trn UNIX hoc Windows. Bi 4.1 : ng dng multithread trong bi ton nhn ma trn. c vo 2 ma trn A & B t file, sau dng nhiu thread thc hin vic nhn 2 ma trn ny. Ghi ma trn kt qu ra mt file khc. Bi 4.2 : ng dng multithread trong bi ton x l nh. c vo mt ma trn A t file, sau dng nhiu thread thc hin x l trn ma trn ny nh sau : mt phn t trn ma trn l trung bnh cng ca cc phn t chung quanh n. Ghi ma trn kt qu ra mt file khc. Bi 4.3 : ng dng multithread trong bi ton sau : c vo mt ma trn A t file v nhp vo mt s k, sau dng n thread thc hin tm kim trn cc ma trn ny xem c bao nhiu phn t ging k. Mi ln tm thy phn t ging k th tng bin chung number (khi ng l 0) ln 1. Bi 4.4 : ng dng multithread trong bi ton sau : c vo mt dy A t file, dng n thread sp xp dy theo th t tng dn nh sau: Mi thread ly mt phn dy a v sp theo th t tng dn Sau , 1 thread trn cc dy do n thread va ri sp xp thnh dy kt qu. Bi 4.5 : Cho ngi dng nhp vo 2 s nguyn dng a v b, sau dng n thread tm kim cc s nguyn t nm trong khong 2 s nhp. Mi ln tm c mt s th s tng bin chung number (khi ng l 0) ln 1. Bi 4.6 : Cho ngi dng nhp vo 2 s nguyn dng a v b, sau dng n thread tm kim cc s nguyn t nm trong khong 2 s nhp v ghi cc s ny ra file. Bi 4.7: c vo mt ma trn (kch thc N*N) t file, sau dng n thread tnh tng ca tng hng trn ma trn (1 thread nu tnh tng mt hng xong c th tnh tng ca mt hng khc). Dng mt thread thu thp cc kt qu ca cc thread kia v ghi vo mt file kt qu. Bi 4.8: S dng thread v cc phng thc ng b trn thread vit chng trnh producersconsumers vi 1 bounded buffer trong trng hp c nhiu producer v nhiu consumer. Bi 4.9: S dng thread v cc phng thc ng b trn thread gii quyt bi ton N trit gia n ti. Bi 4.10 : S dng thread v cc phng thc ng b trn thread vit gii quyt bi ton reader/writer dng tng qut.

Ch 5: Giao tip gia cc qu trnh


1. Ti liu tham kho - UNIX network programming, phn Interprocess Communications - Interprocess Communication in UNIX - Ti liu hng dn thc hnh H iu hnh, H Quc Thun. 2. Tm hiu cc c ch giao tip gia cc qu trnh trong UNIX - Tm hiu cc c ch giao tip gia cc qu trnh trong UNIX dng pipe, message queue, shared memory. - u nhc im ca tng phng php. 3. Ngn ng lp trnh s dng: C trn UNIX Bi 5.1 : To ra 2 qu trnh. Qu trnh th nht c t file nhiu chui lin tip, mi chui gm cc php ton +, -, *, / v hai ton hng. V d trong file s lu cc chui dng nh sau :

Trang 3/6

Bi tp ln h iu hnh

Lp MT2000

2+3 1 -2 4 *6 15 / 3 Sau qu trnh th nht truyn cc chui d liu ny cho qu trnh th hai. Qu trnh th hai thc hin tnh ton v tr chui kt qu v li cho qu trnh u tin ghi li vo file nh sau: 2+3 =5 1 - 2 = -1 4 * 6 = 24 15 / 3 =5 Thc hin bi ton dng message queue giao tip gia 2 qu trnh. Bi 5.2 : Vit chng trnh tng t bi 5.1 nhng dng pipe giao tip. Bi 5.3 : Vit chng trnh tng t bi 5.1 nhng dng shared memory giao tip. Bi 5.4 : Vit chng trnh gm c 2 qu trnh. Qu trnh th nht cho ngi dng nhp vo t bn phm mt chui biu din mt php tnh gm cc phn t +, -, (, ). u tin ca cc php tnh trong ngoc (cp du ( & )) l cao nht, php + v cng u tin. V d: 1+2+(2-3-4) ((3+4)-5) (1+(-2)((3+4)-5)) Sau truyn chui d liu ny cho qu trnh th hai. Qu trnh th hai thc hin tnh ton trn v tr kt qu v cho qu trnh th nht hin th cho ngi s dng bit. Thc hin bi ton dng message queue giao tip gia 2 qu trnh. Bi 5.5 : Vit chng trnh tng t bi 5.4 nhng dng pipe giao tip. Bi 5.6 : Vit chng trnh tng t bi 5.4 nhng dng shared memory giao tip. Bi 5.7 : To ra 2 qu trnh P0 v P1. Qu trnh P0 c t file nhiu dy s nguyn lin tip (mi dy c th c s phn t khc nhau). Sau qu trnh ny gi ln lt cc dy ny cho qu trnh P1. P1 thc hin sp xp mi dy theo th t tng dn, ng thi tnh tng ca dy v gi dy kt qu cng vi tng tnh c tng ng cho mi dy v li qu trnh P0. Khi ny, P0 thc hin ghi cc dy kt qu vo li file sao cho: dy c tng nh nht s c ghi u tin, dy c tng ln hn s c ghi sau. Thc hin bi ton dng message queue giao tip gia 2 qu trnh. Bi 5.8 : Vit chng trnh tng t bi 5.7 nhng dng pipe giao tip. Bi 5.9 : Vit chng trnh tng t bi 5.7 nhng dng shared memory giao tip. Bi 5.10 : To ra 2 qu trnh P0 v P1. Qu trnh P0 c t file mt ma trn vung cp N*N, sau gi ma trn ny cho P1. Qu trnh P1 s thc hin nghch o ma trn ny v ghi kt qu xung mt file khc. Nu ma trn khng th nghch o c, P1 ghi vo file kt qu dng thng bo tng ng. Thc hin bi ton dng message queue giao tip gia 2 qu trnh. Bi 5.11 : Vit chng trnh tng t bi 5.10 nhng dng pipe giao tip. Bi 5.12 : Vit chng trnh tng t bi 5.10 nhng dng shared memory giao tip.

Ch 6:

Socket

1. Ti liu tham kho - UNIX network programming, phn Berkeley Sockets - Interprocess Communication in UNIX - Internetworking with TCP/IP volume III, phn m hnh Client/Server. - Internetworking with TCP/IP volume II (cho cc bi v broadcast v multicast).

Trang 4/6

Bi tp ln h iu hnh
- MSDN CDROM 2. Tm hiu socket v m hnh client/server - Tm hiu c ch lm vic ca socket, - Cc bc cn thit trong vic to socket dng TCP v UDP. - M hnh client/server. 3. Ngn ng lp trnh s dng: C trn UNIX, C++ trn Windows

Lp MT2000

Bi 6.1: To hai qu trnh server v client hai my khc nhau. Client nhn mt dy s t ngi s dng v gi cho qu trnh server. Server sp xp chui ny theo th t tng dn v gi tr li client hin th cho ngi dng bit. Bi 6.2: To hai qu trnh server v client hai my khc nhau. Client nhn mt s nguyn dng t ngi s dng v gi cho qu trnh server. Server phn tch s ny thnh tha s nguyn t v gi tr li client hin th cho ngi dng bit. Bi 6.3: Dng socket vit chng trnh chat gia hai qu trnh trn hai my khc nhau. Gi : vit 1 chng trnh chat client ( ngi dng s dng) v dng mt chng trnh chat server qun l cc chat client . Bi 6.4 : To hai qu trnh server v client hai my khc nhau. Client nhn mt chui k t do ngi s dng nhp theo dng mt s lnh thng dng v thng s, v d nh chui mkdir /temp/new v gi cho qu trnh server. Server thc hin lnh ny v gi thng bo thnh cng hay khng cho client hin th cho ngi dng bit. Bi 6.5 : Vit 2 chng trnh l server v admin. Cho thc thi chng trnh server trn nhiu my khc nhau. Sau s thc thi chng trnh admin bit c c bao nhiu chng trnh server ang chy trn mng . Dng c ch broadcast. Bi 6.6 : Tng t bi 5.5 nhng dng c ch multicast. Bi 6.7 : Vit 2 chng trnh listen v send. Chng trnh listen dng nhn thng tin t cc ngi khc gi n v hin th ln mn hnh.Chng trnh send cho php gi thng tin n tt c cc ngi chy chng trnh listen trn mng. Dng c ch broadcast. Bi 6.8 : Tng t bi 5.7 nhng dng c ch multicast.

BI TP V TM HIU H THNG
Ti liu tham kho - ftp.dit.hcmut.edu.vn/pub/OS/books - Sinh vin t tm kim trn Internet Bi 1: Tm hiu c ch boot v cch ci t multiboot cho nhiu h iu hnh trn mt my n. Bi 2: Tm hiu phn mm VMWare v cch chy nhiu h iu hnh trn cng mt my ti mt thi im. Bi 3: Tm hiu v phn tch kin trc tng qut ca h iu hnh Linux. Bi 4: Tm hiu v phn tch kin trc tng qut ca h iu hnh WinNT/2000. Bi 5: Tm hiu c ch nh thi ca h iu hnh Solaris/Linux. Bi 6: Tm hiu c ch nh thi ca h iu hnh WinNT /2000. Bi 7: Tm hiu v so snh m hnh multi-threading ca Solaris v WinNT/2000. Bi 8: Tm hiu v h thng file ca Linux.

Trang 5/6

Bi tp ln h iu hnh
Bi 9: Tm hiu v h thng file ca WinNT/2000. ---Ht---

Lp MT2000

Trang 6/6

You might also like