You are on page 1of 73

TRNG I HC LT

KHOA CNG NGH THNG TIN

ThS. ng Thanh Hi

BI GING TM TT

H IU HNH
Dnh cho sinh vin ngnh Cng Ngh Thng Tin
(Lu hnh ni b)

Lt 2008

Khoa Cng Ngh Thng Tin

H iu Hnh

LI NI U
Gio trnh H iu hnh c bin son theo chng trnh o to h thng tn
ch ca trng i Hc Lt. Mc ch bin son gio trnh nhm cung cp cho sinh
vin ngnh Cng Ngh Thng Tin nhng kin thc v h iu hnh.
Tuy c rt nhiu c gng trong cng tc bin son nhng chc chn rng gio trnh
ny cn nhiu thiu st. Chng ti xin trn trng tip thu tt c nhng kin ng gp
ca cc bn sinh vin, cng nh ca cc ng nghip trong lnh vc ny hon thin
gio trnh, phc v tt hn cho vic dy v hc tin hc ang ngy cng pht trin nc
ta.
Khoa Cng Ngh Thng Tin
Trng i Hc Lt

Trang 2

Khoa Cng Ngh Thng Tin

H iu Hnh

MC LC
CHNG I TNG QUAN H IU HNH.......................................................... 6
I. 1 Khi nim h iu hnh ........................................................................................ 6
I.2 Phn loi h iu hnh ............................................................................................ 7
I.2.1 H iu hnh x l theo l n gin .................................................................... 7
I.2.2 H iu hnh x l theo l a chng.................................................................. 7
I.2.3 H iu hnh a nhim ......................................................................................... 8
I.2.4 H iu hnh tng tc......................................................................................... 8
I.2.5 H iu hnh giao din bn giy (Desktop) ......................................................... 8
I.2.6 H thng song song ............................................................................................. 8
I.2.7 H thng phn tn................................................................................................. 9
I.2.8 H thng cm tay................................................................................................ 10
I.3.Lch s pht trin h iu hnh ............................................................................ 11
CHNG II CU TRC H IU HNH.......................................................... 12
II.1 Cc thnh phn c bn ca h thng my tnh ................................................... 12
II.1.1 Qun l tin trnh ............................................................................................. 12
II.1.2 Qun l b nh chnh ........................................................................................ 12
II.1.3 Qun l tp tin ................................................................................................... 13
II.1.4 Qun l h thng nhp xut .............................................................................. 13
II.1.5 Qun l h thng lu tr ph ............................................................................ 13
II.1.6 H thng bo v ................................................................................................ 13
II.1.7 H thng dng lnh ........................................................................................... 13
II.2 Cc dch v h iu hnh .................................................................................... 13
II.3 Li gi h thng .................................................................................................. 14
II.4 Chng trnh h thng ........................................................................................ 14
II.5 Cu trc h thng ................................................................................................. 14
II.5.1 Cu trc n gin .............................................................................................. 14
II.5.2 Cu trc theo lp ............................................................................................... 16
II.6 My o ................................................................................................................. 17
II.7 Qa trnh np h iu hnh ................................................................................. 18
CHNG III GII THIU MT S H IU HNH ..................................... 19
III.1 H iu hnh MS-DOS ....................................................................................... 19
III.1.1 Gii thiu ......................................................................................................... 19
III.1.2 Cu trc h iu hnh MS-DOS ...................................................................... 19
III.1.3 Lch s pht trin ............................................................................................ 20
III.1.4 Ci t h iu hnh......................................................................................... 20
III.1.5 Tp lnh ........................................................................................................... 20
Trang 3

Khoa Cng Ngh Thng Tin

H iu Hnh

III.2 H iu hnh Windows....................................................................................... 22


III.2.1 Gii thiu ......................................................................................................... 22
III.2.2 Lch s pht trin ............................................................................................. 22
III.2.3 Cc tin ch ca Windows ............................................................................... 22
III.3 H iu hnh Linux............................................................................................. 23
III.3.1 c im .......................................................................................................... 23
III.3.2 Lch s pht trin ............................................................................................. 23
III.3.3 Ci t h iu hnh......................................................................................... 24
III.3.4 Tp lnh ........................................................................................................... 24
CHNG IV H THNG QUN L TP TIN .. Error! Bookmark not defined.27
IV.1 Khi nim tp tin th mc ............................................................................... 27
IV.2 M hnh qun l v t chc tp tin..................................................................... 28
IV.3 Cc chc nng h thng tp tin .......................................................................... 28
IV.4 Ci t h thng tp tin....................................................................................... 28
IV.5 H thng tp tin MS-DOS .................................................................................. 30
IV.5 H thng tp tin Unix ........................................................................................ 40
CHNG V H THNG QUN L NHP XUT Error! Bookmark not defined.
T

V.1 Cc khi nim ...................................................................................................... 44


V.1.1 Thit b nhp xut ............................................................................................. 44
V.1.2 Thit b logic ..................................................................................................... 44
V.1.3 H thng qun l nhp/ xut ............................................................................. 44
V.2 M hnh t chc v qun l vic nhp xut ......................................................... 45
V.2.1 M hnh ............................................................................................................. 45
V.2.1.1 cc thit b nhp xut ..................................................................................... 45
V.2.1.2 iu khin thit b.......................................................................................... 45
V.2.1.3 DMA .............................................................................................................. 45
V.2.1 Thit b logic ..................................................................................................... 45
V.2.1.1 Kim sot ngt ............................................................................................... 46
V.2.1.2 Device Drivers ............................................................................................... 46
V.2.1.3 Phn mm nhp xut c lp thit b ............................................................. 46
V.2.1.4 Phn mm nhp xut phm vi ngi s dng................................................ 46
V.2.2 Cc chc nng .................................................................................................. 46
V.2.2.1 iu khin thit b nhp xut ......................................................................... 46
V.2.2.2 DMA .............................................................................................................. 47
V.2.2.3 Thit b Logic................................................................................................. 47
CHNG VI H THNG QUN L TIN TRNH ......................................... 50
VI.1 Khi nim tin trnh............................................................................................ 50
VI.2 Cc trng thi ca tin trnh................................................................................ 50
Trang 4

Khoa Cng Ngh Thng Tin

H iu Hnh

VI.3 Ci t tin trnh ................................................................................................. 51


VI.4 Tiu trnh ............................................................................................................ 51
VI.5 Lp lch tin trnh ............................................................................................... 51
VI.5.1 Chin lc lp lch tin trnh FIFO ................................................................. 51
VI.5.2 Chin lc Round Robin ................................................................................. 52
VI.5.3 Chin lc gn u tin................................................................................ 53
VI.6.1 Cc phng php thc hin loi tr nhau vo vng gng............................... 56
VI.6.1.1 Dng bin kha............................................................................................. 56
VI.6.1.2 Lun phin ngt ............................................................................................ 56
VI.6.1.3 Gii php Peterson........................................................................................ 57
VI.6.1.4 Gii php gi li gi h thng SLEEP vo WAKEUP ................................ 57
VI.6.1.5 Semaphore .................................................................................................... 58
VI.6.2 p dng Semaphore gii quyt bi ton c in ....................................... 59
VI.6.2.1 Bi ton Ba n ti ca cc nh hin trit ................................................ 60
VI.6.2.2 Bi ton c gi v nh vn ..................................................................... 62
CHNG VII H THNG QUN L B NH Error! Bookmark not defined.65
VII.1 Gii thiu........................................................................................................... 65
VII.2 Qun l b nh khng phn trang, khng Swapping........................................ 66
VII.3 Qun l b nh vi nhng phn an c nh .................................................. 70
VII.4 Qun l b nh vi nhng phn an ng ...................................................... 70
VII.5 Cc thut ton thay th trang............................................................................. 70
VII.5.1 Thut ton FIFO ............................................................................................. 71
VII.5.2 Thut ton ti u ............................................................................................ 71
VII.5.3 Thut ton lu nht cha s dng (LRU)....................................................... 71
VII.5.4 Thut ton Not Recently Used (NRU) .......................................................... 71

Trang 5

Khoa Cng Ngh Thng Tin

H iu Hnh

CHNG I
TNG QUAN H IU HNH
I. 1 KHI NIM H IU HNH
H iu hnh l mt chng trnh c xem nh trung gian gia ngi s dng
my tnh v phn cng my tnh vi mc ch thc hin cc chng trnh gip cho
ngi dng s dng my tnh d dng hn, s dng phn cng mt cch c hiu
qu.
H iu hnh l mt phn quan trng ca h thng my tnh. Mt h thng my tnh
thng bao gm cc phn: phn cng, h iu hnh, cc chng trnh ng dng v
ngi s dng.
- Phn cng : Bao gm ti nguyn c bn ca my tnh (CPU, memory, I/O
devices).
- H iu hnh: iu khin v kt hp s dng phn cng trong cc ng dng
khc nhau ca nhiu ngi dng khc nhau.
- Cc chng trnh ng dng : S s dng ti nguyn h thng gii quyt vn
ca ngi s dng (Trnh bin dch, h thng c s d liu, games, chng
trnh thng mi).
- Ngi s dng : Ngi, cc my tnh khc.
M hnh h thng my tnh

H iu hnh cng c th c xem l b cp pht ti nguyn Qun l v cp


pht ti nguyn.
Hnh 1.1
Trang 6

Khoa Cng Ngh Thng Tin

H iu Hnh

H iu hnh iu khin chng trnh iu khin thc hin cc chng trnh


ngi s dng v cc hot ng ca thit b nhp xut.
H iu hnh cn c gi l Kernel(nhn) y l cc phn ct li ca chng
trnh, thng tr trong b nh, v thc hin hu ht cc nhim v iu hnh chnh.
I.2 PHN LOI H IU HNH
I.2.1 H iu hnh x l theo l n gin
Khi mt cng vic chm dt, h thng s thc hin cng vic k tip m khng cn
s can thip ca ngi lp trnh, do thi gian thc hin s mau hn. Mt chng
trnh gi l b gim st thng trc c thit k gim st vic thc hin dy
cng vic mt cch t ng, chng trnh ny lun thng tr trong b nh chnh.
H iu hnh theo l thc hin cc cng vic ln lt theo nhng ch th nh trc.
I.2.2 H iu hnh x l theo l a chng
a chng lm gia tng khai thc CPU bng cch t chc cc cng vic sao cho
CPU lun lun phi trong tnh trng lm vic.
Cch thc hin l h iu hnh lu tr mt phn ca cc cng vic ni lu tr
trong b nh. CPU s ln lt thc hin cc phn cng vic ny. Khi ang thc hin,
nu c yu cu truy xut thit b th CPU khng ngh m thc hin tip cc cng vic
tip theo.
M hnh b nh cho h iu hnh a chng:

Hnh 1.2
Cc c trng ca h iu hnh a chng:
- Vic nhp xut phi thc hin thng xuyn bi h thng.
- Qun l b nh h thng phi cp pht b nh cho cc cng vic.
- Lp lch CPU h thng phi chn gia cc cng vic no tht s c chy.
- Cp pht cc thit b.
Trang 7

Khoa Cng Ngh Thng Tin

H iu Hnh

I.2.3 H iu hnh a nhim


H iu hnh a nhim l mt s m rng logic ca h iu hnh a chng. Nhiu
cng vic cng c thc hin thng qua c ch chuyn i CPU nh h a chng
nhng thi gian mi ln chuyn i din ra rt nhanh.
H iu hnh a nhim c pht trin cung cp vic s dng bn trong ca mt
my tnh c gi tr hn.
Mt chng trnh khi thi hnh c gi l tin trnh. Trong khi thi hnh mt tin
trnh n phi thc hin cc thao tc nhp xut v trong khong thi gian CPU s
thi hnh mt tin trnh khc.
H iu hnh a nhim cho php nhiu ngi s dng chia x my tnh mt cch
ng b do thi gian chuyn i nhanh nn h c cm gic l cc tin trnh ang
chy c thi hnh cng lc.
H iu hnh a nhim phc tp hn h iu hnh a chng v n phi c thm cc
chc nng: qun tr v bo v b nh, s dng b nh o,
H iu hnh a nhim hin nay rt thng dng.
I.2.4 H iu hnh tng tc
H iu hnh cung cp c ch truyn thng trc tip gia ngi s dng v h
thng. Khi h iu hnh kt thc thc hin mt lnh, n s tm ra lnh k tip t
ngi s dng thng qua bn phm.
H thng cho php ngi s dng truy cp d liu v m chng trnh mt cch trc
tip.
I.2.5 H iu hnh giao din bn giy (Desktop)
H iu hnh ny c cch giao din vi ngi s dng ging nh mt bn lm vic,
tc trn mn hnh trnh by rt nhiu biu tng chng trnh, cng c lm vic. H
iu hnh c c im l:
- Ci t trn my tnh c nhn h thng my tnh c thit k cho mt ngi
s dng n l.
- Cc thit b h tr c lc l thit b nhp xut bn phm, mouse, mn hnh,
my in.
- Thun tin cho ngi dng v p ng nhanh.
- C th k tha k thut pht trin h iu hnh ln hn.
Mt s h iu hnh khc nhau s dng bn giy hin nay (Windows, UNIX,
Linux)
I.2.6 H thng song song
Ngoi cc h thng tn ch c mt b x l cn c cc h thng c nhiu b x l
cng chia x h thng ng truyn d liu, ng h, b nh v cc thit b ngoi
vi.
Thun li ca h thng x l song song:
X l nhiu cng vic cng lc tht s
- Tng tin cy
Trang 8

Khoa Cng Ngh Thng Tin

H iu Hnh

Trong h thng x l song song c thnh hai loi:


a x l i xng
- Mi b x l chy mt bn sao h iu hnh.
- Nhiu tin trnh c th chy cng lc m khng gy hng.
- Hu ht cc th h h iu hnh u h tr a x l i xng
a x l khng i xng
- Mi b x l c gn vo mt cng vic c th; B x l ch lp
lch v cp pht cng vic cho b x l ph.
- Ph bin nhiu trong h thng cc k ln.
Kin trc h thng a b x l i xng:

Hnh 1.3
I.2.7 H thng phn tn

H thng thc hin phn tn vic tnh ton gia cc b x l .

Mi b x l c vng nh ring; cc b x l truyn thng vi nhau qua h thng


mng tc cao.

Thun li ca h thng phn tn:


- Chia x ti nguyn
- Tng tc tnh ton
- ng tin cy
- Truyn thng

Trong h thng yu cu c s h tng v mng. Mng cc b (LAN) hoc mng


din rng (WAN), cng c th l h thng client-server hoc peer-to-peer.

M hnh h thng Client- server:

Hnh 1.4
Trang 9

Khoa Cng Ngh Thng Tin

H iu Hnh

I.2.8 H thng cm tay

My tr l c nhn k thut s (PDAs) (personal digital assistant PDA)

Vn cn gii quyt :
- B nh b gii hn
- B x l chm
- Mn hnh hin th nh
I.3.LCH S PHT TRIN H IU HNH

Th h 1: 1945 1955
- Nm 1940 Howard Aiken v John Von Neumam thnh cng trong vic xy
dng mt my tnh dng ng chn khng.
-Loi my ny s dng khong 1000 ng chn khng, kch thc ln nhng kh
nng x l chm
-Thi k ny ngn ng lp trnh l ngn ng my (nh phn)
-Vic iu hnh my, thit k chng trnh u do mt nhm ngi.
-Nm 1950 phiu c l ra i v c th vit chng trnh trn phiu c l .

Th h 2: 1955 1965
- Thi k ny my tnh c ch to bng thit b bn dn.
- Cng vic lp trnh c thc hin trn giy bng ngn ng (assembler,
fortran) sau c c l trn phiu v cui cng a phiu vo my.
- H thng x l theo l ra i. Cc cng vic lu tr vo bng t, chuyn iu
khin n cc cng vic khc nhau c thc hin bi mt chng trnh
thng tr- y chnh l tin thn ca h iu hnh
- Vi h thng my tnh ny c s phn bit r rng gia ngi thit k ,
ngi xy dng, vn hnh, lp trnh v bo tr my.

Th h 3: 1965 1980
- Thi k ny my tnh c ch to bng IC do :

Kch thc v gi c my tnh gim ng k

My tnh tr nn ph bin hn

Cc thit b ngoi vi dnh cho my tnh cng nhiu

Cc thao tc iu kin my tnh ngy cng phc tp


- H iu hnh ra i nhm iu phi, kim sot hot ng v gii quyt cc yu
cu tranh chp thit b.
- Mt s h iu hnh ra i: MULTICS, UNIX

Th h 4: 1980 - 1980 IBM cho ra i my tnh c nhn PC vi h iu hnh MS-DOS


- C nhiu h iu hnh a nhim, giao din ngy cng thn thin vi ngi s
dng ra i.
- Hin nay h iu hnh mng c pht trin mnh m. (Windows, Linux)

Trang 10

Khoa Cng Ngh Thng Tin

H iu Hnh

CU HI
1. Trnh by cc khi nim h iu hnh?
2. Trnh by khi nim h iu hnh a nhim? S khc nhau gia h iu hnh a
chng v h iu hnh a nhim?
3. Ngy nay mt h iu hnh c thit k phi l nhng loi h iu hnh no?

Trang 11

Khoa Cng Ngh Thng Tin

H iu Hnh

CHNG II
CU TRC H IU HNH
II.1 CC THNH PHN CA H IU HNH
H iu hnh cung cp mt mi trng lm vic cho cc chng trnh thi hnh. N
cung cp cc dch v cho ngi s dng, giao tip vi ngi s dng. cc thnh phn bn
trong ca h iu hnh
II.1.1 Qun l tin trnh

Tin trnh l mt chng trnh ang thc hin. Mt tin trnh cn cc ti nguyn
bao gm thi gian CPU , b nh , files, v thit b nhp xut, hon tt cc cng
vic ca mnh.

Vai tr ca vic qun l tin trnh trong h iu hnh.


To, hu tin trnh ca ngi s dng v ca h thng
Ngng v cho php chy li cc tin trnh.
Cung cp c ch :
- ng b ha tin trnh
- Truyn thng gia cc tin trnh
- Kim sot deadlock
II.1.2 Qun l b nh chnh

B nh l mt dy ln cc word hoc byte, mi phn t c mt a ch. N l ni


lu tr, truy xut d liu mt cch nhanh chng.

B nh chnh l thit b lu tr c th thay i. N s lm mt ht d liu trong


trng hp h thng b hng.

Vai tr qun l b nh chnh trong h iu hnh:


Lu tr thng tin cc vng nh hin c s dng bi ai.
Quyt nh tin trnh no c np vo b nh khi b nh c ch trng.
Cp pht v thu hi b nh khi cn thit.
II.1.3 Qun l tp tin

Mt file l mt s thu thp cc thng tin c lin quan c nh ngha bi ngi


to ra n. Thng file th hin cho chng trnh v d liu.

Vai tr qun l file trong h iu hnh:


To v xa file.
To v xo th mc.
Cung cp cc thao tc trn file v th mc.
nh x file vo h thng lu tr ph.
Backup tp tin trn cc thit b lu tr

II.1.4 Qun l h thng nhp xut


Trang 12

Khoa Cng Ngh Thng Tin

H iu Hnh

Mt trong nhng mc tiu ca h iu hnh l che du nhng c th ca thit b


phn cng i vi ngi s dng thay vo l mt lp thn thin hn, ngi s
dng d thao tc hn.

Mt h thng nhp/ xut bao gm:


H thng buffer-caching
Giao tip thit b
B iu khin cho cc thit b phn cng
II.1.5 Qun l h thng lu tr ph

Chnh v b nh chnh thng thay i v qu nh lu tr tt c d liu v chng


trnh mt cch lu di,h thng my tnh cung cp b nh ph back up t b nh
chnh.

Hu ht h thng my tnh ngy nay s dng a nh thnh phn c bn lu tr c


chng trnh v d liu.

Vai tr qun l a trong h iu hnh:


Qun l b nh cn trng
Cp pht lu tr
Lp lch a

II.1.6 H thng bo v

Bo v truy cp bi cc chng trnh, cc tin trnh, hoc ngi s dng.


C ch bo v phi l:
Phn bit gia cho php hay khng c php.
Ch r iu khin b li dng.
Cung cp cc bin php phi tun th.

II.1.7 H thng dng lnh

Mt trong nhng phn quan trng ca chng trnh h thng trong mt h iu


hnh l c ch dng lnh, y l s giao tip gia ngi s dng v h iu hnh.

Cc lnh a vo h iu hnh thng qua b iu khin lnh. Trong cc h thng


a nhim mt chng trnh c th c v thng dch cc lnh iu khin c thc
hin mt cch t ng.

Chc nng h thng dng lnh l ly lnh k tip v thi hnh.

Cc lnh c quan h vi vic to v qun l cc tin trnh, kim sot nhp xut,
qun l b lu tr ph, qun l b nh chnh, truy xut h thng tp tin v c ch
bo v.

II.2 CC DCH V H IU HNH

Trang 13

Khoa Cng Ngh Thng Tin

H iu Hnh

Thc hin chng trnh h thng c kh nng np mt chng trnh vo b nh


v thi hnh n.
Thc hin nhp xut T chng trnh ngi dng khng th thc hin nhp xut
trc tip, h iu hnh phi cung cp cc cch thc thc hin nhp xut.
Cc thao tc trn h thng file chng trnh c kh nng c, ghi, to v xo file.
Truyn thng Trao i thng tin gia cc tin trnh ang thc hin cng lc trn
my tnh hay trn cc h thng trn mng. Thc hin bng cch thng qua b nh
dng chung hay qua cc thng ip.
Pht hin li bo m pht hin li trong CPU, b nh, thit b nhp xut hoc
trong chng trnh ngi s dng

II.3 LI GI H THNG

Li gi h thng l giao din gia chng trnh ang chy v h iu hnh. Thng
thng l cc ch th bng ngn ng assembler.

C ba phng php c s dng truyn tham s gia chng trnh ang chy v
h iu hnh.
Truyn tham s qua cc thanh ghi.
Lu tr cc tham s trong mt bng trong b nh v a ch ca bng c
truyn qua tham s vo thanh ghi.
Cc chng trnh thc hin Push cc tham s vo stack v c pop bi h
iu hnh.

Hnh 2.1
Cc loi li gi h thng:
- iu khin tin trnh
- Qun l file
- Qun l thit b
- Truyn thng

II.4 CHNG TRNH H THNG


H iu hnh l mt tp hp cc chng trnh h thng. Chng trnh h thng
cung cp mt mi trng thun tin cho vic pht trin v thc hin chng trnh. Chng
c chia thnh :
Trang 14

Khoa Cng Ngh Thng Tin

H iu Hnh

Thao tc trn file: cc chng trnh ny to, xo, sao chp, in , lit k v
cc thao tc tng qut trn tp tin v th mc.
Thng tin cc trng thi : Cung cp cc thng tin v ngy, gi, khi lng
b nh hoc dung lng a, s lng ngi dng, hoc thng tin v trng
thi. Nhng thng tin ny c nh dng v xut trn cc thit b xut nh
terminal hay tp tin.
M t tp tin: Mt s trnh son tho vn bn bao gm vic to v m t
tp tin lu trn a.
H tr ngn ng lp trnh : Chng trnh dch, hp ng, v thng dch
cho mt s ngn ng lp trnh. Cc chng trnh ny c th c cung cp
chung vi h iu hnh hay l mt phn ring.
Np v thc hin chng trnh : H thng cung cp cc b np, nh v,
lin kt ngoi ra cn cung cp chc nng debug.
Truyn thng: H thng cung cp c ch to s kt ni o gia cc tin
trnh, ngi s dng, v h thng my tnh khc.
Chng trnh ng dng: Thng thng h iu hnh km theo mt s
chng trnh ng dng nh nh dng, sao chp a,
II.5 CU TRC H THNG
II.5.1 Cu trc n gin

Cc h iu hnh n gin thng khng c cu trc c nh ngha tt, thng


bt u t mt h thng nh, n gin v c gii hn.

MS-DOS l mt h iu hnh c cu trc n gin, n cung cp nhng chc nng


cn thit nht trong mt khng gian nh nht do s gii hn ca phn cng v khng
chia thnh nhng n th r rt

Cc chng trnh ng dng c th truy cp trc tip cc th tc nhp xut c bn


v ghi trc tip ln mn hnh hay b iu khin a.

Trang 15

Khoa Cng Ngh Thng Tin

H iu Hnh

Hnh 2.2

H iu hnh Unix bao gm hai phn: ht nhn v cc chng trnh h thng. ht


nhn c chia thnh mt chui giao tip v driver thit b .

Nhng g di li gi h thng v bn trn phn cng l ht nhn (kernel)

Ht nhn cung cp h thng tp tin, lp lch CPU, qun tr b nh v cc chc nng


ca h iu hnh khc thng qua li gi h thng.

Hnh 2.3
II.5.2 Cu trc theo lp

Cc phin bn mi ca Unix c thit k s dng phn cng phc tp hn, do


h iu hnh c chia thnh nhiu phn nh hn
Trang 16

Khoa Cng Ngh Thng Tin

H iu Hnh

Vic chia h thng thnh nhiu phn nh n che du thng tin, khng cho chng
trnh ca ngi s dng c th ci t nhng hm truy xut cp thp, thay vo l
cc lp giao tip bn trong.

H iu hnh chia thnh nhiu lp. Lp di cng l phn cng, lp trn cng l
giao tip vi ngi s dng.

Mt lp ca h iu hnh bao gm mt s cu trc d liu v cc hm c th c


gi bi lp pha trn v bn than n gi nhng chc nng ca lp bn di. Mi
lp ci t ch s dng nhng thao tc do lp di cung cp.
Lp 6: Chng trnh ca ngi s dng
Lp 5: Driver thit b v b lp lch
Lp 4: B nh o
Lp 3: Knh nhp xut
Lp 2: Lp lch CPU
Lp 1: Thng dch cc ch th
Lp 0: Phn cng
II.6 MY O

Mt my o cung cp mt giao din ging ht cc lp phn cng.


H iu hnh to ra cc tin trnh o, mi vic thc hin trn b x l vi b nh
o ca n.

Ti nguyn ca my tnh tht c chia x to ra my o.

Lp lch CPU cng c to ra nh l ngi s dng c b x l ring.

Spooling v h thng file c cung cp mt card reader o v mt line my in o.

Hnh 2.4
Thun tin, Bt li ca my o:
- Khi nin my o a ra ch bo v ti nguyn h thng hon chnh t cc
my o khc. Cc my o l c lp nhau khng trc tip chia x ti nguyn.
Trang 17

Khoa Cng Ngh Thng Tin

H iu Hnh

Mt h thng my o l mt phng tin hon chnh nghin cu h iu


hnh v pht trin n. Cc h thng c pht trin trn my o thay v trn
my tht bi vy h thng trn my tht khng b ph v.
Khi nim my o i khi cng kh thc hin cc yu cu chnh xc nh trn
my tht.

II.7 QU TRNH NP H IU HNH

Khi bt my,chng trnh Bootstrap (l on m lu tr trong ROM ) c thi


hnh kim tra cc thit b my tnh c hot ng tt khng. Nu mi thit b u
sn sng th chng trnh ny c bootsector(a mm ) hay masterboot(a cng)
vo b nh ti a ch 0:7C00h v trao quyn iu khin ti y.
Trong bootsector bao gm bng tham s a m t t chc vt l v t chc
logic trn a v mt chng trnh mi h iu hnh.
T chng trnh mi h iu hnh trong bootsector s np cc phn cn li ca
h iu hnh (kernel) vo b nh v h iu hnh bt u hot ng.
i vi a cng th c dung lng ln, do mt h iu hnh c th khng s
dng ht dung lng trn a. Mt a cng c th cha ng thi nhiu h iu
hnh, mi h iu hnh c lu tr mi phn vng ring bit v mi phn vng gi
l partition.
Masterboot l sector u tin trn a cng vt l v bao gm mt bng m t cc
partition hin c trn a nh l sector bt u, sector kt thc, thuc tnh ca cc
partition tng ng. Ngoi ra masterboot cn cha mt on chng trnh thc hin
c bng tham s partition xc nh partition active. T np bootsector ca
partition active vo b nh v chuyn quyn iu khin cho chng trnh mi h
iu hnh trong bootsector.
1.
2.
3.
4.
5.
6.
7.

CU HI
Khi xy dng mt h iu hnh phi bao gm nhng thnh phn no? Trnh by
cc chc nng ca cc thnh phn ? Lit k cc thnh phn khng th thit c
ca mt h iu hnh a nhim?
Cc chng trnh ng dng giao tip vi h iu hnh thng qua thnh phn no
ca h iu hnh?
Li gi h thng c ci t trong h iu hnh bng k thut g? Vic truyn
tham s cho li gi h thng bng k thut no? Trnh by k thut cho vic
truyn tham tr v tham bin ?
Trnh by qu trnh h iu hnh c khi ng trn mt h thng my tnh? Nu
sector u tin trn a b hng th vic ci t h iu hnh ln a c c
thc hin khng? Gii thch?
Trn mt a cng c th th ci t c nhiu h iu hnh khng ? V sao?
V sao c loi virus c gi l B-Virus? Cc bin php phng v dit loi BVirus?
Ci t phn mm my o VMware workstation ?

Trang 18

Khoa Cng Ngh Thng Tin

H iu Hnh

CHNG III
GII THIU MT S H IU HNH
III.1 H iu hnh MS-DOS
III.1.1 Gii thiu

MS-DOS l mt h iu hnh u tin chy trn my PC v c thit k bi


Microsoft

MS-DOS l h iu hnh n nhim, mt ngi ung , v c cu trc n gin


nn yu cu cu hnh my thp, b nh chnh 640KB, giao din theo c ch dng
lnh

MS-DOS c th c ci t trn a mm hoc a cng


III.1.2 Cu trc h iu hnh MS-DOS

T chc ca MS-DOS bao gm:


- Chng trnh mi h iu hnh c np vo bootsertor
- Chng trnh shell: giao tip gia ngi s dng v h iu hnh.
- Chng trnh cha cc chc nng c bn ca h iu hnh
- Chng trnh nhp xut
- H thng cc chng trnh tin ch.

Cu trc b nh
1024KB- 4GB

Extended memory area

High memory area (64KB)

640-1024KB

Upper memory area

0-640KB

Conventional
Memory
Hnh 3.1

Ni dung h iu hnh
- IO.SYS : h thng nhp xut
- MSDOS.SYS: h thng tp tin, giao tip dng lnh
- CONFIG.SYS: ci t driver thit b
Trang 19

Khoa Cng Ngh Thng Tin

H iu Hnh

COMMAND.COM : tp lnh ni tr(internal)


AUTOEXEC.BAT : cha tp lnh DOS chy t ng khi h iu hnh bt u

III.1.3 Lch s pht trin

Nm 1980 IBM sn xut my tnh c nhn u tin vi b x l 8088, 16 bit v


yu cu Microsoft thit k mt h iu hnh. MS-DOS ra i 1981

Version 1.0 ra i 8/1981 bao gm 4000 dng hp ng.


- Qun l 12K b nh
- c t chc thnh 3 tp tin : IBMIO.COM- cha h thng nhp xut,
IBMMS-DOS cha h thng tp tin trn a, chng trnh giao tip,
COMMAND.COM cha cc lnh x l.
- c ci t trn a mm hai mt 320KB

Version 2.0 : ra i 3/1983 cung cp h thng tp tin cp bc


- S dng a cng 10MB
- Cho php ci t cc b iu khin thit b trong tp tin CONFIG.SYS

Version 3.0 : ra i 8/1984 qun l c a cng 20MB, a mm 1.2MB, s


dng a o ly RAM lm a o

Version 4.0 : ra i 7/1988 h tr a cng ln hn 32MB n 2GB, s dng vng


nh m rng a o

Version 5.0 : ra i 4/1991 tn dng b nh m rng dng lu tr cc device


driver.

Version 6.0: 1993 c cc c im:


- Tng dung lng a s dng DBLSPACE
- To b nh cho a vi SmartDrv
- Ti u b nh dng Memmaker
- Cu tp tin bng tin ch Undelete
- Kim tra a bng Scandisk
III.1.4 Ci t h iu hnh

Khi ng h iu hnh DOS v thc hin lnh Format a: /s

Hoc Sys a:
III.1.5 Tp lnh

Lnh thng tin h thng


- DATE: Thit lp hoc hin th ngy h thng
- TIME: Thit lp hoc hin th gi h thng
- PROMPT: nh ngha du nhc h thng
- SET: nh ngha bin mi trng
- VER: Hin th phin bn h iu hnh

Lnh lm vic vi a
- DISKCOPY: Sao chp a mm
Trang 20

Khoa Cng Ngh Thng Tin

H iu Hnh

- FORMAT: nh dng a
- LABEL: xem, t nh a
- VOL: Hin th nhn v s serial ca a
Lnh lm vic vi th mc
- a: Chuyn a hin hnh
- CHDIR hoc CD : chuyn th mc hin hnh
- DIR: hin th ni dung th mc
- MKDIR hoc MD: to th mc mi
- PATH: nh ngha ng dn
- RMDIR hoc RD: xo th mc khc rng
- TREE: Hin th cu trc cy th mc

Thit lp mi trng
- BUFFERS: M t s buffer a
- DEVICE: Ci t device driver
- FILES: S tp tin ti a c m t
- LASTDRIVER: S a ti a

S dng tp tin Batch


- CALL : Gi tp tin batch khc vi tham s
- ECHO: Hin th thng ip ln mn hnh
- FOR: Thc hin lnh DOS nhiu ln
- GOTO: Nhy n mt v tr thi hnh lnh khc trong tp tin batch
- IF: Kim tra iu kin thi hnh lnh batch
- PAUSE: Dng lnh bacth
- REM: Khng thi hnh lnh batch

V d to ra a khi ng ci t driver CDROM


-

Copy cc tp tin himem.sys, oakcdrom.sys, aspi2dos.sys, mscdex.exe, guest.exe,


smartdrv.exe vo a mm.
To tp tin config.sys
[memu]
menuitem=NONE, Khoi dong khong co CDROM
Menuitem=CDROM, Khoi dong co CDROM
Menuitem=USB, Khoi dong co USB
[common]
Device =himem.sys /testm:off
Lastdrive=z
[CDROM]
Device=oakcdrom.sys /d:mscd001
[USB]
Device=aspi2dos.sys /int/all
[NONE]
Trang 21

Khoa Cng Ngh Thng Tin

H iu Hnh

To tp tin autoexec.bat
@echo off
Goto %config%
:CDROM
Mscdex.exe /d:mscd001
Goto end
:USB
Guest.exe
Goto end
:NONE
:END
Smartdrv.exe

III.2 H iu hnh Windows


III.2.1 Gii thiu
Windows c thit k bi Microsoft.
Windows l h iu hnh a nhim, nhiu ngi dng.
Giao din ngi dung thn thin, ch ha
Ci t v thay i cu hnh h thng d dng, khi nim Plug and play
C tnh n nh cao, nu c tin trnh no b hng th h thng hu b tin trnh
m khng nh hng n ton b h thng.
C tnh bo mt cao.
III.2.2 Lch s pht trin
11/1983 Microsoft tuyn b s ra i h iu hnh Windows
11/1987 version 2.0 ra i c s thay i v giao din, ca s c th chng ln
nhau, menu, dialog box
5/1990 version 3.0 cho php truy cp n b nh 16Mb b nh. C Program
Manager, Task Manager, File Manager.
4/1992 version 3.1 h tr Multimedia( sound& music). Windows tr thnh HH
chin lc ca Microsoft.
9/1995 Windows 95. c lp thit b, h tr CD-Rom, k thut Plug and play, h
tr mng cc b, truy xut t xa. Ci tin giao din ha.
1998 Windows 98 ra i vi h thng tp tin FAT32, h tr tn tp tin di. Tip
theo WindowsMe c tch hp rt nhiu driver thit b
2000 Windows 2K ra i l s lai ghp Windows 98 v Windows NT h 2 h
thng tp tin FAT32 v NTFS. H tr tnh bo mt trn h thng tp tin NTFS. H
iu hnh mng Client/server. C 2 phin bn Windows 2K server v professional
2001 : Windows Xp ra i vi ci tin giao din. H tr mng Internet. y l h
iu hnh thng dng nht hin nay.
III.2.3 Cc tin ch ca Windows
Qun l cc driver thit b gn vo my tnh: Device Manager
Trang 22

Khoa Cng Ngh Thng Tin

H iu Hnh

Xem cu hnh my tnh: dxdiag


Xem ,ci t cc thng s my tnh: control panel
Khi ng cc dch v HH: Administrator tool Service
Ci t thm cc thnh phn HH, g b cc chng trnh: Administrator ToolAdd or remove programs
Qun l a: Administrator Tool Computer Management Disk
management
To ti khon ngi dng: Administrator Tool Computer ManagementLocal users and Groups
Xem hu cc tin trnh ang chy : Task manager
Bo mt folder trn h thng NTFS
Chia x folder

III.3 H iu hnh Linux


III.3.1 c im
Multi: Tasking, Threading, User
Multi-platform: Chy trn nhiu nn tng phn cng (khc Intel).
Open Source: Bao gm c kernel, drivers, cng c pht trin
H tr nhiu h thng File: Minix-1, Xenix, System V , MS-DOS, VFAT, FAT-32,
ISO 9660 (CD-ROMs). EXT, v EXT2
Multiple Networking Protocols: Cc giao thc nn tng c h tr bi Kernel
nh: TCP, Ipv4, Ipv6, AX.25, X.25, IPX, v.v
Multiprocessor Simultaneous Multiprocessing (SMP)
Virtual Memory PagingMemory Protection: H thng v cc qu trnh c bo v
ln nhau do khng qu trnh no c th lm cho ton h thng sp .
TCP/IP Networking: bao gm ftp, telnet,
Client and Server Support: Bao gm Netware, v Windows (SMB)
K hiu Linux Kernel
- Cc phin bn ca Linux. Cc phin bn ca HDH Linux c xc nh bi
h thng s dng X.YY.ZZ. Nu YY l s chn => phin bn n nh. YY
l s l => phin bn th nghim
- V d:
- Kernel 2.4.2
- 2 l S chnh
- .4 l s ph , phin bn n nh
- .2 Patch Level, phin bn n nh (nu s l l phin bn ang th nghim)
III.3.2 Lch s pht trin
1969 Kend Thompson thit k mi trng nghin cu v pht trin chng trnh
y chnh l tin thn HH Unix. Unix c vit bng hp ng
1973 Unix c vit li bng ngn ng C, d hiu hn
1975 M ngun ca Unix c cung cp cho cc trng i hc. Unix c nhiu cng
ty, t chc pht trin
Trang 23

Khoa Cng Ngh Thng Tin

H iu Hnh

Nm 1991 Linus Torvalds, sinh vin ca i hc tng hp Helsinki, Phn lan, bt


u xem xt Minix, mt phin bn ca Unix lm ra vi mc ch nghin cu cch
to ra mt h iu hnh Unix chy trn my PC vi b vi x l Intel 80386
Ngy 25/8/1991, Linus cho ra version 0.01 v thng bo trn comp.os.minix ca
Internet v d nh ca mnh v Linux
1/1992, Linus cho ra version 0.12 vi shell v C compiler. Linus khng cn Minix
na recompile HDH ca mnh. Linus t tn HDH ca mnh l Linux
1994, phin bn chnh thc 1.0 c pht hnh
III.3.3 Ci t h iu hnh
Cc thao tc chun b ci t
- Kim tra phn cng my tnh
9 CPU, RAM, HDD: Ty thuc vo phin bn Linux m ta s ci t.
9 V d: ci t RedHat Linux 6.0 ta cn cu hnh phn cng ti
thiu nh sau: CPU Intel 133MHz, 16MB RAM, 2Gb HDD Kim tra
phn mm
- Phin bn Linux s ci t.
- V d: RedHat Linux 7.3 ( phin bn ny yu cu CPU 233MHz , 64MB
RAM, 4Gb HDD
Phn hoch a cng
- i vi h iu hnh Linux n i hi phi c t nht 2 partition ca a
cng c th ci t thnh cng.
- Partition th nht: Dng cha h iu hnh. Dung lng cho partition
ny tu theo cc package m bn ci t, thng thng khong 2Gb l .
9 Swap Partition: Dung lng cho parttion ch cn bng dung lng
ca RAM l va
9 c bit i vi cc h thng Linux m sau ny mun ci t h
qun tr CSDL Oracle ln th ta phi cho swap space ln hn hoc
bng 500MB
Cc ch ci t
- Server
- Workstation
- Custom
- Upgrade
III.3.4 Tp lnh
Qu trnh khi ng RedHat Linux
Tp tin u tin m h iu hnh xem xt n l /etc/inittab
# Default runlevel. The runlevels used by RHS are:
#0 halt (Do NOT set initdefault to this)
#1 Single user mode
#2 Multiuser, without NFS
#3 Full multiuser mode
#4 unused
Trang 24

Khoa Cng Ngh Thng Tin

H iu Hnh

#5 X11
#6 reboot (Do NOT set initdefault to this) id:3:initdefault:
Tp lnh c bn
- Login : ng k s dng
- Who : cho bit thng tin v ngi s dng
- Date: thng bo v thi gian
- Exit, logout : chm dt phin lm vic
- Passwd: thay i password
- Man: gip
- Ls : Lit k ni dung th mc
- Cp: sao chp tp tin
- Mv: i tn mt tp tin
- Rm: xa tp tin
- Cat: Hin th tp tin
- Pwd: Cho bit th mc hin hnh
- Cd: Thay i th mc hin hnh
- Rmdir: xa th mc
- Chmod: thay i quyn tp tin
- Chgrp: thay i nhm
- Chown: thay i ngi s hu
- df,du: thng h thng tp tin
- Useradd: To ngi dng
- Usergroup:To nhm ngi dng
- Su: chuyn i ngi dng
- Bin dch chng trnh c: gcc
gcc -o output input.c
- chown: change owner. Thay i quyn s hu tp tin cho user khc. Ch
c chy bi root
chown user1 hello.txt
- chgrp: change group. Thay i quyn s hu tp tin cho nhm khc . Ch
c chy bi root
chgrp users hello.txt
- chmod: change mode: Thay i quyn ca file, file ca ai ngi mi
c thay i ( ngoi tr root, c quyn trn tt c cc file
chmod g+r hello.txt
chmod o-x hello.txt
chmod u+xwr hello.txt

Trang 25

Khoa Cng Ngh Thng Tin

1.
2.
3.
4.
5.
6.

H iu Hnh

CU HI V BI TP
Trnh by cc c im ca h iu hnh DOS, Windows, Linux? Sc khc nhau
gia cc h iu hnh trn.
Ci t v s dng tp lnh h iu hnh MS-DOS?
To a CDRom c kh nng khi ng h iu hnh DOS nhn din c
CDROM v USB ?
Ci t v s dng tp lnh h iu hnh Windows?
Ci t v s dng tp lnh h iu hnh Linux?
Ci t nhiu h iu hnh trn mt my tnh?

Trang 26

Khoa Cng Ngh Thng Tin

H iu Hnh

CHNG IV
H THNG QUN L TP TIN
IV.1 Khi nim tp tin th mc

Tp tin
Tp tin l n v lu tr thng tin ca b nh ngoi.
Cc tin trnh c th c hay to mi tp tin.
Cc thng tin trong tp tin l bn vng khng b nh hng bi cc x l
ngoi tr ngi s dng mun xa.
Tp tin c qun l bi h iu hnh.
Th mc
Th mc lu tr cc tp tin theo mt qui nh.
Mt s h thng coi th mc cng nh l tp tin.
H thng qun l tp tin
Cc tp tin c qun l bi h iu hnh vi mt c ch ring gi l h
thng qun l tp tin.
H thng qun l tp tin bao gm: cch hin th , cc yu t cu thnh tp tin, cch
truy xut, cc thao tc trn tp tin v th mc,

IV.2 M hnh qun l v t chc tp tin

Tp tin
Tn tp tin:
- Mi tp tin c qun l bng mt tn.
- Cch t tn tp tin mi h diu hnh l khc nhau.
Cu trc tp tin:
- Dy cc byte khng c cu trc.
- Dy cc record c chiu di c nh
Kiu tp tin: Cc h iu hnh h tr cho nhiu loi tp tin khc nhau
- Tp tin thng: l tp tin text hay nh phn cha cc thng tin ca
ngi s dng.
- Th mc: l mt loi tp tin h thng dng lu tr cu trc h thng
tp tin
- Tp tin c k t c bit: lin quan n nhp xt thng qua cc thit
b nhp xut
Thuc tnh ca tp tin: Cc thng tin v tp tin gi l thuc tnh tp tin.
Thuc tnh tp tin thng l cc thng in:
- Bo v: bo v vic truy xut t ngi s dng
- Mt khu: Mt khu cn thit khi truy xut.
- Ngi to: Ch danh ngi tp tin.
- Ngi s hu: Ch danh ngi s hu hin ti.
- Ch c: 0: c ghi, 1: ch c
- n: 0 bnh thng, 1 khng hin th khi lit k
- h thng: 0 bnh thng, 1 tp tin h thng .
Trang 27

Khoa Cng Ngh Thng Tin

H iu Hnh

Kho: 0 khng kha, 1 b kha


di record: s byte trong mt record
Thi gian to: ngy , gi to tp tin
Thi gian truy xut sau cng: ngy , gi truy xut gn nht
Thi gian thay i cui cng: ngy, gi thay i tp tin
Kch thc hin thi: S byte tp tin

Th mc
H thng th mc cp bc:
- Mt th mc thng cha cc entry. Mi entry th hin cho mt tp
tin( cha cc thuc tnh tp tin)
- S lng th mc trn mi h iu hnh l khc nhau.
- Mt s h thng ch c mt th mc duy nht, nhng mt s h
thng c th mc gc, trong th mc gc c cc th mc con v
trong cc th mc con li c cc th mc con na.
ng dn
- Trong h thng t chc th mc cp bc theo hnh cy c hai cch
xc nh mt tp tin: ng dn thuyt i, ng dn tng i.
- Trong hu ht cc h iu hnh t chc th mc . v .. ch ra
th mc hin hnh v th mc cha.
IV.3 Cc chc nng h thng tp tin
Mt h thng tp tin thng thng bao gm cc chc nng sau:
- To tp tin
- Xo tp tin
- M tp tin
- c, ghi tp tin
- Tm kim tp tin
- i tn tp tin
- To th mc
- Xa th mc
- i tn th mc
IV.4 Ci t h thng tp tin
Cu trc tp tin
- Mi tp tin hay th mc (tp tin c bit) c th hin bng mt Entry tp tin.
Cu trc ca Entry tp tin lu tr thng tin v tp tin tng ng.
-

Trc khi tp tin c c, ghi h thng phi bit ng dn do ngi s dng


cung cp t nh v c cu trc entry ca tp tin

Cu trc mt entry tp tin:

Trang 28

Khoa Cng Ngh Thng Tin

H iu Hnh

Hnh 4.1

Cu trc th mc
- Th mc cha cc tp tin do cha cc entry ca tp tin, kch thc mi
Entry tu thuc mi h thng
- Trong h thng qun l tp tin cn phi nh v cu trc th mc gc, v cc
th mc con

Hnh 4.2
Qun l vng nh cn trng trn a
H thng qun l tp tin cn phi thc hin lu tr cc thng tin v cc nh
s dng cha? Cc nh s dng thuc v tp tin, th mc no?
Phng php nh v lin tip: lu tr ni dung tp tin trn mt dy cc
khi lin tip nhau.
- u im : d ci t, d thao tc trn cc tp tin
- Khuyt im: X l phc tp khi kch thc tp tin thay i, s phn
mnh trn a gy lng ph
Phung php nh v bng danh sch lin kt: Khng c s phn mnh v
cc nh c cp pht ht, truy xut chm v cc nh cha ni dung tp
tin nm ri rc.

Trang 29

Khoa Cng Ngh Thng Tin

H iu Hnh

Hnh 4.3
IV.5 H thng tp tin MS-DOS
Cu trc tng qut h thng tp tin MS-DOS bao gm cc cu trc:
-

Bng tham s a: lu tr cc thng tin v a v cc thng tin cn thit


cho h thng tp tin.
Cu trc FAT(File Allocation Table): Lu tr cc thng tin a ch cc
nh cn trng, cc nh no thuc v mi tp tin,
Cu trc th mc gc(ROOT):Cu trc th mc gc bao gm cc Entry
ca tp tin, th mc con.
Vng lu tr d liu(Data): Lu tr ni dung tp tin v cc cu trc th
mc con. Cu trc th mc con tng t cu trc th mc gc.

Hnh 4.5
Bng tham s a(BPB): nm trong bootsec bt u ti a ch offset 0 v cha
cc thng tin:
Offset

Kch
thc(B)

Tn, ngha

+0h

JMP

Lnh nhy n an mi HH

0h+3

Version

Tn Cty, Version ca HH

+0Bh

SecSiz

S byte trong mt sector

+0Dh

ClustSiz

S sector ca cluster

Trang 30

Khoa Cng Ngh Thng Tin

H iu Hnh

+0Eh

ResSec

S Sector trc bng FAT

+10h

FatCnt

S bng FAT ci t

+11h

RootSiz

S Entry ti a ca ROOT

+13h

TotSecs

Tng s sector a <32MB

+15h

Media

Byte ch danh a

+16h

FatSiz

S sector trong bng FAT

+18h

TrkSecs

S sector trn mi Track

+1Ah

HeadCnt

S u c ghi

TotSec

Tng s sector a >32MB

+20h
.
Bt u on CTmi HH

+3eh

i vi a cng sector u tin l masterboot cha bng tham s partition. a ch


offset bng partition bt u ti 01BEh . Vi mt a cng c th chi thnh 4
partition, mi partition c th hin bng mt Entry(16byte) c cu trc nh
sau:
Offset

Kch
thc(B)

Tn, ngha

+0h

Boot

=0 khng Active, =80h Active

+1h

HdBeg

S mt bt u

+2h

SecCylBeg

S cylinder bt u(10bit) v sector bt u


(6bit)

+4h

Sys

=0Unknown, =1: Dos FAT 12bit, ; =4: Dos


FAT 16bit

+5h

HdEnd

S mt kt thc
Trang 31

Khoa Cng Ngh Thng Tin

H iu Hnh

+6h

SecCylEnd

S cylinder kt thc(10bit) v sector kt thc


(6bit)

+8h

SecLogic

Sector bt u tng i

+0Ch

TotSecs

Tng s sector ca partition

Cu trc Fat( file allocation table)


- Khi nim Cluster: Khi a c format n v nh nht trn a l Sector.
i a cng ln c nhiu sector m Dos khng th qun l c. Trong
trng hp ny gim s sector cn qun l bng cch nh ngha cluster
l tp hp cc sector. Lc ny Dos ch qun l Cluster thay v sector.
- S hiu cc entry trong bng Fat th hin cho cc cluster c s hiu tng
ng trong vng d liu.
- Fat th hin thng tin v cc cluster cn trng hay khng? V cc cluster
s dng thuc v tp tin no.
- Do Trong Fat 2 phn t u tin dnh ring khng s dng nn s hiu cc
entry c nh s t 2 tr i. Chnh v vy s hiu cluster cng c nh
s t 2 tr i.
- Fat c 3 loi : fat 12bit, fat 16bit, fat 32bit. i vi Fat 12bit th kch thc
mi Entry trong Fat l 12 bit v qun l c s cluster ti a l (212 -2).
Tng t i vi Fat 16bit v Fat 32bit.
- Fat 12bit dng cho a <32MB, Fat 16Bit dng a <2GB v Fat 32Bit dng
cho a cng > 2GB( HH Windows)
- Ni dung ca Fat
o Dos qun l tp tin bng cch gi tr entry ca cluster ny cha gi tr
l s th t entry tip theo n, c th cc cluster ca mt tp tin to
thnh mt chui cho n khi gp du hiu kt thc tp tin.
o Tu thuc vo loi fat 12bit hay 16bit cc entry c gi tr nh sau:
0(000)
: Cluster tng ng s hiu entry cn trng
(0)002- (F)FEF
: Cluster ang cha d liu ca mt tp
tin no , gi tr l ca n l s hiu cluster k tip
(F)FF0 (F)FF6
: Dnh ring khng s dng
(F)FF7
: Cluster hng
(F)FF8- (F)FFF
: Cluster cui cng ca tp tin

Trang 32

Khoa Cng Ngh Thng Tin

H iu Hnh

Mt v d ni dung ca Fat:

00

01

00

02

03

04

05

06

07

08

09

0a

0b

0c

0d

0e

0f

03

04

05

Ff

00

00

09

0a

0b

15

00

00

00

00

01

00

00

00

00

00

16

17

19

f7

1a

1b

Ff

00

00

00

00

02

00

00

00

00

00

00

00

00

00

00

00

00

00

00

00

00

Hnh 4.5
Tp tin myfile.txt di 10 cluster: 8,9,0a,0b,15,16,17,19,1a,1b
Cluster 18h : nh du hng
Cluster 2,3,4,5: thuc mt tp tin no
Cc cluster khc cn trng
Tm cc cluster ca mt tp tin
PointType ReadEntryFile(unsigned int ClustBegin)
{
PointType ListClust, last;
ListClust=last=NULL;
unsigned clust;
clust=ClustBegin;
while(1)
{
InsertLast(ListClust, clust);
clust=NextEntry(clust)
if (clust==0x0fff)
break;
}
Trang 33

Khoa Cng Ngh Thng Tin

H iu Hnh

return ListClust;
}
c ni dung cc Entry trong Fat:
- Nu Fat 16 bit th a ch entry k tip bng a ch entry hin thi +2
- Nu Fat 12 bit : Xt 3 byte mt : s hiu entry chn l 12 bit thp v s hiu entry
l l 12 bit cao

Hnh 4.6

Hnh 4.7
Cc bin dng chung:
unsigned X, X1, Addr;
Trng hp s hiu Entry Chn
X = FAT[Addr];

00000000
00000000

X1= FAT[Addr+1];
X1= X1 <<8;

00000000

X = X + X1;
X = X & 0x0FFF;

0000

Trng hp s hiu Entry l


X = FAT[Addr];

00000000

X1= FAT[Addr+1];

00000000

X1= X1 <<8;

00000000

X = X + X1;

Trang 34

Khoa Cng Ngh Thng Tin

H iu Hnh

X = X >>4;

0000

Hm c ni dung Entry Fat 12bit


unsigned NextEntry ( unsigned Index)
{
unsigned X, X1, Addr;
Addr= (Index *3 )/ 2;
X = FAT[Addr];
X1= FAT[Addr+1];
X1= X1 <<8;
X = X + X1;
if ((Index %2)==0)
X= X & 0X0FFF;
else
X = X >>4;
return X;
}
Cu trc mt Entry Trong th mc gc hay th mc con: Mi Entry th hin
cho mt tp tin hay th mc con v lu tr cc thng tin cn thit. Kch thc
Entry l 32 byte
Offset

Kch thc

Ni dung

+0h

Tn tp tin hay th mc

+8h

Phn m rng tn tp tin

+0bh

Thuc tnh tp tin

+0ch

0ah

Dnh ring khng s dng

+16h

Thi gian to

+18h

Ngy to

+1ah

S hiu cluster u tin

+1ch

Kch thc tp tin (bytes)

Trang 35

Khoa Cng Ngh Thng Tin

H iu Hnh

Byte u tin ca entry th hic cc thng tin sau:


o 0: Entry ny cn trng
o . : Th mc cha
o 0E5 : Entry ca tp tin ny tm thi b xa
o K t bt k : tn ca mt tp tin
- Din di byte thuc tnh:

7bit : nm

5bit: gi

Din di ngy to, gi to


4bit: thng

6bit: pht

5bit: ngy

5bit: giy

Cu trc d liu ci t:
Hnh 4.8
-

Khai bo bng tham s a


Typedef struct {
unsigned char
unsigned char
unsigned
unsigned char
unsigned
unsigned char
unsigned
unsigned
unsigned char
unsigned
unsigned
unsigned
unsigned
}EntryBPB;
typedef union {
unsigned char
Trang 36

JMP[3];
Ver[8];
SecSiz;
ClustSiz;
ResSec;
FatCnt;
RootSiz;
TotSec;
Media;
FatSiz;
TrkSec;
HeadCnt;
HidSec;

Sector[512];

Khoa Cng Ngh Thng Tin

H iu Hnh

EntryBPB Entry;
}UnionBPB;

Hnh 4.9
V d
#include <iostream.h>
#include<dos.h>
Typedef struct {..
}EntryBPB
Typedef Union {..}UnionBPB
Int main()
{
UnionBPB bpb;
ReadDisk (0,1, bpb.sector);
cout<<bpb.Entry.secsiz;
cout <<bpb.Entry.Clustsiz;
.
Return 1;
}
-

Khai bo kiu thi gian to tp tin, th mc


typedef struct {
unsigned
unsigned
unsigned
}Time;
typedef union {

S:5 ;
M: 6 ;
H:5;

Trang 37

Khoa Cng Ngh Thng Tin

H iu Hnh

unsigned
intTime;
Time
T;
}UnionTime;
-

Khai bo kiu ngy thng nm to tp tin, th mc


typedef struct {
unsigned
unsigned
unsigned
}Date;
typedef union {
unsigned
Date
}UnionDate;

intDate;
Day ;

Khai bo cu trc byte thuc tnh tp tin

typedef struct {
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
}Attrib;
typedef union {
unsigned char
Attrib
Attr ;
}UnionAttrib;
-

D: 5 ;
M: 6 ;
Y:7;

ReadOnly : 1 ;
Hidden : 1 ;
System : 1 ;
Volume : 1 ;
SubDir
:1;
Archive : 1 ;
DR
:2;
charAtt;

Khai bo cu trc mt Entry tp tin

typedef struct {
unsigned char
unsigned char
UnionAttrib
unsigned char
UnionTime
UnionDate
unsigned
long
}EntryDir;

FileName[8] ;
Ext[3] ;
Attribute ;
DR[10] ;
CreateTime ;
CreateDate ;
ClustBegin ;
FileSize;
Trang 38

Khoa Cng Ngh Thng Tin

typedef union {
unsigned char
EntryDir
}UnionDir;
-

H iu Hnh

Entry[32];
EntDir ;

Danh sch lin kt


typedef struct Node{
void *Data;
Node *Next;
}NodeType;
typedef NodeType *PointerType;

Hnh 4.10
Hm InsertLast
int InsertLast (PointerType &List, PointerType &Last, void* Item)
{
PointerType Temp;
Temp= new NodeType;
if( !Temp)
return 0;
Temp->Data = Item;
Temp->Next = NULL;
if(List==NULL)
List=Temp;
else Last->Next=Temp;
Last = Temp;
return 1;
}
-

Hm c Sector t a vi s hiu theo kiu vt l


int ReadDiskBios(unsigned char *Buff,unsigned Side, unsigned TrackSec,
unsigned Sector, unsigned SecNum)
Trang 39

Khoa Cng Ngh Thng Tin

H iu Hnh

{
union REGS u, v;
struct SREGS s;
int k, i=0;
v.x.cflag=1;
while(i<2) && (v.x.cflag!=0))
{
u.h.ah= 0x2;// c a
u.h.dl=0 ; a mm A
u,h.dh=Side;
u.x.cx=TrackSec; // Track v Sector bt u
u.h.al=SecNum;
s.es=FP_SEG(Buff);
u.x.bx=FP_OFF(Buff);
int86x (0x13, &u, &v, &s);
i++;
}
k=v.h.ah;
return (!v.x.cflag);
}
-

Hm c a vi u vo l sector logic
int ReadDisk(char *Buff, long SectorBegin, int SecNum)
{
unsigned Side, Track, Sector, X;
unsigned char X1;
Sector=(unsigned)(1+(SectorBegin)%Bpb.TrkSec);
Side=(unsigned)(((SectorBegin/Bpb.TrkSec)%Bpb.HeadCnt);
Track=(unsigned)((SectorBegin)/(Bpb.TrkSec*Bpb.HeadCnt));
X=Track;
X=X & 0XFF00;
X=X>>2;
X=X & 0X00FF;
X=X | Sector;
Track = Track <<8;
TrackSec=Track | X; //Track ( 10), Sector(6)
if ( ReadDiskBios(Buff, Side, TrackSec, Sector, SecNum))
return 1;
else
return 0;
}

IV.6 H thng tp tin Unix


Cu trc tng qut
Trang 40

Khoa Cng Ngh Thng Tin

H iu Hnh

Hnh 4.11
-

BootSector : cha chng trnh mi h iu hnh


Khi c bit: lu tr cc thng tin quan trng v ton b h thng tp tin, (s Inode, s khi a, dy cc nh cn trng trn a,)
Sau khi c bit l bng I-Node c nh s t 1 n ti a.
Khi d liu l vng nh lu tr ni dung tp tin, th mc.

Cch qun l cc nh cn trng trong khi d liu:


Dng phng php Bitmap: Vi a c n nh s c nh x thnh n bit vi
gi tr 1 l cn trng, gi tr 0 l cha d liu. Nh vy mt a 20MB cn 20000 bit
lu tr thng tin. Chim khong 3 nh.

Hnh 4.11

T chc lu tr tp tin:
- Mi file trong unix tng ng vi mt I-Node. Mt I-Node c kch thc
64byte bao gm cc thng tin v file: file Node, quyn s hu file ca
ngi s dng, quyn s hu nhm, kch thc file, thi im to,thi im
truy cp sau cng, thi im thay i sau cng, a cc nh cha ni
dung,
- Phn nh a ch cc nh ni dung tp tin c chia thnh 2 phn: phn
u gm 10 pt cha c 10 a ch nh. Phn th 2 gm 3 con tr gin
tip: Single indirect, double indirect, triple indirect.
- i vi tp tin c kch thc nh hn 10 nh d liu th cc con tr gin
tip khng c s dng ghi a ch.
Trang 41

Khoa Cng Ngh Thng Tin

H iu Hnh

Khi mt file c kch thc ln hn 10 nh d liu th con tr single


indirect c s dng ch n mt nh dnh ring, nh ny li cha 256
a ch ca nh d liu.
Tng t con tr double ch n mt nh cha 256 a ch nh v mi
nh ny li cha 256 a ch nh d liu.
Mt file ln nht s dng c 3 con tr gin tip l 16 GB.

Hnh 4.13
Cu trc th mc
Cu trc th mc c s dng trong Unix v cng n gin, mi entry bao gm tn
tp tin, s hiu I-Node ca file. Mi Entry c kch thc 16 byte:
I-Node

Tn tp tin
Hnh 4.14

Khi mt file c m , h thng file phi xc nh v tr khi d liu trn ia nh


vo ng dn c cung cp.
V d: cch truy tm file da vo ng dn c cung cp :
/usr/ast/mbox
Trc ht c I-Node ca th mc gc l I-Node u tin trong bng INode
Trang 42

Khoa Cng Ngh Thng Tin

H iu Hnh

c tng entry trong th mc gc so snh vi th mc usr t tm ra Inode ca th mc usr.


T I-node ny tip tc xc nh cc entry trong th mc v so snh vi ast
khi tm c I-node ca /usr/ast. Tip tc tng t s tm c I-node
ca /usr/ast/mbox

Hnh 4.15
CU HI V BI TP
1. Trnh by cc thnh phn cu trc h thng tp tin?
2. Trnh cc chc nng h thng tp tin?
3. Trnh by cu trc t chc h thng tp tin MS-DOS
4. Trnh by cu trc t chc h thng tp tin Unix
5. Trnh by s khc bit gia 2 cu trc t chc h thng tp tin MS-DOS v Unix?
6. Vit chng trnh c v xut ra mn hnh bng tham s a mm 1.44mb?
7. Vit chng trnh xem ni dung th mc gc ?
8. Vit chng trnh xem ni dung th mc bt k ?
9. Vit chng trnh xem ni dung tp tin ?
10. Vit chng trnh xo tp tin , phc hi tp tin ?
11. Vit chng trnh copy tp tin ?
12. Vit chng trnh sp xp a (dn cluster) ?
13. Vit chng trnh xo cc cluster m ci ?
14. Vit chng trnh to th mc?

CHNG V
H THNG QUN L NHP XUT
Trang 43

Khoa Cng Ngh Thng Tin

H iu Hnh

V.1 Cc khi nim


Mt trong cc chc nng chnh ca h iu hnh l h thng qun l thit b nhp
xut. H iu hnh ch th cho cc thit b, kim sot cc ngt v li. Ngoi ra h iu
hnh phi cung cp c ch giao tip n gin v tin dng gia cc thit b v cc phn
cn li ca h thng. Vic giao tip ny phi c lp vi thit b.
V.1.1 Thit b nhp xut
C nhiu cch nhn khc nhau v thit b nhp xut. i vi cc lp trnh vin th
quan nim cc thit b nhp xut l cc lnh thc thi c trn cc thit b nhp xut,
chng thc thi cc chc nng g v thng bo li ca chng bao gm nhng g.
V.1.2 Thit b logic
Mc tiu chung ca thit b logic l d biu din. Thit b logic c t chc thnh
nhiu lp. Lp di cng giao tip vi phn cng, lp trn cng giao tip tt , thn thin
vi ngi s dng. Thit b logic c lp vi thit b v d nh c th vit chng trnh
truy xut file trn a mm hay a cng m khng cn m t chng trnh cho tng loi
thit b. Ngoi ra thit b logic phi c kh nng kim sot li.
Thit b logic c t chc thnh 4 lp: Kim sot li, iu khin thit b, phn
mm h iu hnh c lp thit b, phn mm ngi s dng.
V.1.3 H thng qun l nhp/ xut
H thng qun l nhp xut c t chc theo tng lp, mi lp c mt chc nng nht
nh v cc lp c giao tip vi nhau theo s sau:
Cc lp
Chc nng nhp xut
X l ca ngi s To li gi nhp xut, nh dng nhp xut
dng
Phn mm c lp t tn, bo v, t chc khi, b m, nh v
thit b
iu khin thit b

Thit lp thanh ghi thit b, kim tra trng thi

Kim sot ngt

Bo cho driver khi nhp xut hon tt

Phn cng

Thc hin thao tc nhp xut

V.2 M hnh t chc v qun l vic nhp xut


V.2.1 M hnh
V.2.1.1 cc thit b nhp xut
Trang 44

Khoa Cng Ngh Thng Tin

H iu Hnh

Cc thit b nhp xut c th chia tng i thnh 2 loi thit b khi v thit b
thun t:
- Thit b khi l thit b m thng tin c lu tr trong cc khi c kch thc c
nh v c lu tr trong nhng khi c kch thc c nh v c nh v bi
a ch. Kch thc thng thng ca mt khi khong t 128 byte n 1024 byte.
c im ca thit b khi l chng c th c truy xut tng khi ring bit v
chng trnh c th c th truy xut mt khi bt k no . a l mt v d truy
xut khi.
- Mt dng thit b th hai l thit b tun t. dng thit b ny vic gi v nhn
thng tin l chui cc bits, khng c xc nh a ch v khng th tm kim. Mn
hnh, bn phm, my in, card mng, mouse l cc thit b tun t.
V.2.1.2 iu khin thit b
Mt n v nhp xut thng c chia lm hai thnh phn chnh l thnh phn c
v thnh phn in t. Thnh phn din t c gi l b phn iu khin thit b hay b
tng thch, trong cc my tnh thng c gi l card.
Mt b phn iu khin thng c b phn kt ni trn chng c th gn thit
b ln . Mt b phn iu khin c th qun l c 2 hay 4 , 8 thit b khc nhau. Nu
giao tip gia thit b v b phn iu khin l cc chun nh ANSI, IEEE, hay ISO th
nh sn xut thit b v b iu khin phi tun theo chun .
Giao tip gia b iu khin v thit b l giao tip mc thp.
a
Giao tip thit b

CPU

Memory

My in

B iu khin a

B iu khin Printer

Bus h thng
Hnh 5.1
V.2.1.3 DMA
a s cc loi thit b, c bit l cc thit b dng khi h tr c ch DMA (Direct
Memory Access). hiu c ch ny trc ht phi xt qu trnh c a m khng c
DMA. Trc tin b iu khin c tun t cc khi trn a, tng bit tng bit cho ti khi
ton b khi c a vo buffer ca b iu khin. sau my tnh thc hin checksum
m bo khng c li xy ra. Tip theo b iu khin to ra mt ngt bo cho CPU
bit. CPU ly d liu t buffer chuyn v b nh chnh bng cch to ra mt vng lp c
ln lt tng byte. Thao tc ny lm lng ph thi gian ca CPU, do ti u dng c
ch DMA.
V.2.1 Thit b logic
V.2.1.1 Kim sot ngt
Trang 45

Khoa Cng Ngh Thng Tin

H iu Hnh

Ngt l mt hin tng phc tp. N phi cn c che du su trong h iu


hnh,v mt phn t ca h thng bit v chng. Cch tt nht che du chng l h iu
hnh c mi tin trnh thc hin thao tc nhp xut cho ti khi hon tt mi to ra mt
ngt. Tin trnh c th t kho li bng cch thc hin lnh WAIT theo mt bin iu kin
hoc RECEIVE theo mt thng ip.
V.2.1.2 Device Drivers
Tt c cc on m c lp thit b u c chuyn n device driver. Mi device
drivers kim sot mi loi thit b, nhng cng c khi l mt tp hp cc thit b lin quan
mt thit vi nhau.
Device drivers pht ra cc ch th v kim tra xem ch c c thc hin chnh
xc khng. V d driver ca a l phn duy nht ca h iu hnh kim sot b iu
khin a. N qun l sector, track, cylinder, head,gip cho cc thao tc a c thc
hin tt.
V.2.1.3 Phn mm nhp xut c lp thit b
Mc d mt s phn mm nhp xut m t thit b nhng phn ln chng l c
lp vi thit b. Ranh gii chnh xc gia driver v phn mm c lp thit b l c lp
v mt h thng, bi v mt s hm m c thi hnh theo kiu c lp thit b c th
c thi hnh trn driver v l do hiu qu hay nhng l do khc no .
V.2.1.4 Phn mm nhp xut phm vi ngi s dng
Hu ht cc phn mm nhp xut u bn trong ca h iu hnh v mt phn
nh ca chng cha cc th vin lin kt vi chng trnh ca ngi s dng ngay c
nhng chng trnh thi hnh bn ngoi ht nhn.
Li gi h thng bao gm li gi h thng nhp xut thng c thc hin bi
cc hm th vin.
Khng phi tt c cc phn mm nhp xut u cha hm th vin, c mt loi
quan trng khc gi l h thng spooling dng khai thc ti a thit b nhp xut trong
h thng a chng.
V.2.2 Cc chc nng
V.2.2.1 iu khin thit b nhp xut
Chc nng ca b iu khin l giao tip vi h iu hnh v h iu hnh khng
th truy xut trc tip vi thit b. Vic thng tin thng qua h thng ng truyn gi l
bus.
Cng vic ca b iu khin l chuyn i dy cc bit tun t trong mt khi cc
byte v thc hin sa cha nu cn thit. Thng thng khi cc byte c t chc thnh
tng bit v t trong buffer ca b iu khin. Sau hin checksum ni dung ca buffer s
c chuyn vo b nh chnh. V d b iu khin cho mn hnh c cc byte ca k t
hin th trong b nh v t chc cc tn hiu iu khin cc tia ca CRT xut trn
mn hnh bng cch qut cc tia dc, ngang. Nu khng c b iu khin, lp trnh vin
h iu hnh phi to thm chng trnh iu khin tn hiu analog cho n hnh. Vi b
iu khin, h iu hnh ch cn khi ng chng vi mt tham s nh s k t trn mt
dng, s dng trn mn hnh v b iu khin s thc hin iu khin cc tia.
Trang 46

Khoa Cng Ngh Thng Tin

H iu Hnh

Mi b iu khin c mt s thanh ghi lin lc vi CPU. Trn mt s my tnh,


cc thanh ghi ny l mt phn ca b nh chnh ti mt a ch xc nh gi l nh x b
nh nhp xut. H my PC dnh ra mt vng a ch c bit gi l a ch nhp xut v
trong c chia lm nhiu on, mi on cho mt loi thit b.
B iu khin nhp xut
ng h
Bn phm
RS232 ph
a cng
My in
Mn hnh Mono
Mn hnh mu
a mm
RS232 chnh

a ch nhp xut
040 043
060 063
2F8 2FF
320 32F
378 37F
380 3BF
3D0 3DF
3F0 3F7
3F8 3FF

Vector ngt
8
9
11
13
15
14
12

H iu hnh thc hin nhp xut bng cch ghi lnh ln cc thanh ghi ca b iu
khin. V d b iu khin a mm ca IBMPC chp nhn 15 lnh khc nhau nh Read,
Write, Seek, Format, mt s lnh c tham s v cc tham s cng c np vo thanh
ghi. Khi mt lnh c chp nhn, CPU s ri b iu khin thc hin cng vic
khc. Sau khi thc hin xong, b iu khin pht sinh mt ngt bo hiu cho CPU bit
v n ly kt qu c lu gi trong cc thanh ghi.
V.2.2.2 DMA
C ch DMA gip cho CPU khng b lng ph thi gian. Khi s dng, CPU gi
cho b iu khin mt s cc thng s nh a ch trn a ca khi, a ch trong b nh
ni nh v khi, s lng byte d liu chuyn.
Sau khi b iu khin c ton b d liu t thit b vo buffer ca n v kim
tra checksum. B iu khin chuyn byte u tin vo b nh chnh ti a ch c m t
bi a ch b nh DMA. Sau n tng a ch DMA v gim s byte phi chuyn. Qu
trnh ny lp cho ti khi s byte phi chuyn bng 0, v b iu khin to mt ngt. Nh
vy khng cn phi copy khi vo trong b nh, n hin hu trong b nh.
V.2.2.3Thit b Logic
Kim sot ngt
Khi mt ngt xy ra, hm x l ngt khi to mt tin trnh mi x l ngt. N
s thc hin mt tn hiu trn bin iu khin v gi nhng thng ip n cho cc tin
trnh b kho. Tng qut, chc nng ca ngt l lm cho mt tin trnh ang b kho c
thi hnh tr li.
Device Driver
Chc nng ca device driver l nhn nhng yu cu tru tng t phn mm nhp
xut c lp thit b lp trn, v gim st yu cu ny thc hin. Nu driver ang rnh,
n s thc hin ngay yu cu, ngc li yu cu s c a vo hng i.
Trang 47

Khoa Cng Ngh Thng Tin

H iu Hnh

V d bc u tin ca yu cu nhp xut a l chuyn t tru tng thnh c


th. Driver ca a phi bit khi no cn c, kim tra s hot ng ca motor a, xc
nh v tr ca u c ng cha.
Ngha l device driver phi xc nh c nhng thao tc no ca b iu khin
phi thi hnh v theo trnh t no. Mt khi xc nh c ch th cho b iu khin, n
bt u thc hin bng cch chuyn lnh vo thanh ghi ca b iu khin thit b. B iu
khin c th nhn mt hay nhiu ch th lin tip v sau t n thc hin khng cn s
tr gip ca h iu hnh. Trong khi lnh thc hin. C hai trng hp xy ra: mt l
device driver phi ch cho ti khi b iu khin thc hin xong bng cch t kho li cho
ti khi mt ngt pht sinh m kho cho n. Hai l h iu hnh chm dt m khng ch,
v vy driver khng cn thit phi kho.
Sau khi h iu hnh hon tt vic kim tra li v nu mi th u n driver s
chuyn d liu cho phn mm c lp thit b. Cui cng n s tr v thng tin v trng
thi hay li cho ni gi v nu c mt yu cu khc hnh i, n s thc hin tip, nu
khng n s kho li ch n yu cu tip theo.
Phn mm nhp xut c lp thit b
Giao tip ng nht cho device driver
t tn thit b
Bo v thit b
Cung cp khi c lp thit b
T chc buffer
nh v lu tr trn thit b khi
Cp pht v gii phng thit b tn hin
Bo li
Cc chc nng ca phn mm nhp xut c lp thit b
Chc nng c bn ca phn mm nhp xut c lp thit b l nhng chc nng
chung cho tt c cc thit b v cung cp mt giao tip ng nht cho phn mm vi
ngi s dng.
Trc tin phi c chc nng to mt nh x gia cc thit b v d vi Unix tn
/dev/tty() dnh ring m t I-node cho mt file c bit, v I-node ny cha s thit b
chnh, c dng xc nh driver thch hp v s thit b h, c dung xc nh
cc tham s cho driver cho bit l c hay ghi.
Th hai l bo v thit b l cho php hay khng cho php ngi s dng truy xut
thit b. Cc h iu hnh c hay khng chc nng ny.
Th ba l cung cp khi d liu c lp thit b v v d nhng a khc nhau s c
kch thc sector khc nhau v iu ny s gy kh khn cho cc phn mm ngi s
dng lp trn. Chc nng ny cung cp cc khi d liu logic c lp vi kch thc
sector vt l.
Th t l cung cp buffer h tr cho ng b ho qu trnh hot ng ca h
thng v d buffer ca bn phm.
Th nm l nh v lu tr trn cc thit b khi
Trang 48

Khoa Cng Ngh Thng Tin

H iu Hnh

Th su l cp pht v gii phng cc thit b tn hin.


Cui cng l thng bo li cho lp bn trn t cc li do device driver bo v.
Phn mm nhp xut phm vi ngi s dng
Cc hm th vin chuyn cc tham s thch hp cho li gi h thng v hm th
vin thc hin vic nh dng cho nhp v xut nh lnh printf trong c. Th vin nhp
xut chun cha mt s hm c chc nng nhp xut v tt c chy nh chng trnh
ngi s dng.
Chc nng ca spooling l trnh trng hp mt tin trnh ang truy xut thit b,
chim gi thit b nhng sau khng lm g c trong mt khong thi gian v nh vy
cc tin trnh khc b nh hng v khng th truy xut thit b . Mt v d ca spooling
device l line printer. Spooling cn c s dng trong h thng mng nh h thng
email chng hn.
CU HI V BI TP
1.
2.
3.
4.

Trnh by cc khi nim thit b nhp xut, thit b logic?


Trnh by h thng qun l nhp xut?
Trnh by m hnh qun l nhp xut?
Trnh by cc chc nng h thng nhp xut?

CHNG VI
H THNG QUN L TIN TRNH
Trang 49

Khoa Cng Ngh Thng Tin

H iu Hnh

VI.1 Khi nim tin trnh


Trong h thng a chng c th th thc hin nhiu tc v ng thi.
Vic thc hin ng thi ny c hin bng cch chuyn i CPU qua li gia
cc chng trnh. iu ny to cm gic c nhiu chng trnh thc hin ng
thi.
Trong h thng nh vy tt c phn mm c t chc thnh mt s tin trnh.
Mt tin trnh l mt chng trnh ang c x l, s hu con tr lnh , tp cc
thanh ghi, bin v hon thnh nhim v ca mnh mt tin trnh phi s dng
cc ti nguyn my tnh nh CPU, b nh chnh, cc tp tin v thit b nhp xut.
tng l c th xem nh mi tin trnh s hu mt CPU o cho ring mnh,
nhng trong thc t ch c mt b x l tht s c chuyn i qua li gia cc
tin trnh.
H iu hnh chu trch nhim s dng mt thut ton iu phi quyt nh thi
im cn dng mt tin trnh thc hin mt tin trnh khc
VI.2 Cc trng thi ca tin trnh
Trng thi ca mt tin trnh ti mt thi im c xc nh bng hot ng hin
thi ca tin trnh .
Ti mt thi im mt tin trnh c th nhn mt trong cc trng thi sau y:
- Mi to: Tin trnh ang c to lp.
- Running: cc ch th ca tin trnh ang c x l.
- Blocked: Tin trnh ch c cp pht mt ti nguyn hay ch mt s kin
no xy ra.
- Ready: Tin trnh ch cp pht CPU x l.
- Kt thc : Tin trnh hon tt x l.
M hnh chuyn i gia cc trng thi:

Hnh 6.1
(1) Tin trnh mi to c a vo h thng.
(2) B lp lch cp pht cho tin trnh mt khong thi gian s dng CPU
(3) Tin trnh kt thc
(4)Tin trnh yu cu mt ti nguyn nhng cha c p ng hoc phi ch thao
tc nhp xut.
(5) B lp lch thu hi CPU v cp pht cho tin trnh khc
Trang 50

Khoa Cng Ngh Thng Tin

H iu Hnh

(6) Ti nguyn m tin trnh yu cu c cp pht hay thao tc nhp xut


hon tt.
VI.3 Ci t tin trnh
H iu hnh qun l cc tin trnh trong h thng thng qua khi qun l tin
trnh (Process Control Block- PCB).
PCB l mt vng nh lu tr cc thng tin m t cho tin trnh nh sau:
- Ch danh ca tin trnh: phn bit cc tin trnh
- Trng thi tin trnh: Xc nh hot ng hin hnh ca tin trnh
9 Ng cnh ca tin trnh: qun l cc ti nguyn ca tin trnh:
9 Trng thi CPU : ni dung cc thanh ghi.
9 B nh chnh: Danh sch cc nh c cp pht cho tin trnh.
9 Ti nguyn s dng: Danh sch cc ti nguyn h thng m tin trnh
ang s dng.
9 Ti nguyn to lp: Danh sch ti nguyn do tin trnh to lp.
- Thng tin giao tip: Phn nh cc thng tin v quan h ca tin trnh vi cc
tin trnh khc trong h thng:
9 Tin trnh cha: Tin trnh to lp tin trnh ny.
9 Tin trnh con: Cc tin trnh do tin trnh ny to lp.
9 u tin: Gip b lp lch la chn tin trnh c cp php CPU.
- Thng tin thng k: thng k v hot ng ca tin trnh: thi gian s dng
CPU, thi gian ch.
VI.4 Tiu trnh
Trong h iu hnh mi tin trnh c khng gian a ch v c mt dng x l,
nhng i khi ngi s dng mn c nhiu dng x l cng chia x trong cng
khng gian a ch v cc dng x l ny hot ng song song tng t nh cc
tin trnh phn bit khc.
Mi dng x l phn bit ny gi l mt tiu trnh.
Mi tiu trnh x l tun t on m ca minh v s hu con tr lnh tp cc thanh
ghi, stack ring. Cc tiu trnh chia s CPU nh cc tin trnh c lp.
Mt tin trnh c th s hu nhiu tiu trnh .
Cc tiu trnh trong mt tin trnh c th chia s ti nguyn ca tin trnh cha (cc
bin ton cc)
VI.5 Lp lch tin trnh
Trong h thng a nhim ti mt thi im c th nhiu tin trnh ng thi sn
sng x l. Mc tiu l chuyn i CPU qua li cc tin trnh thng xuyn.
thc hin iu ny h iu hnh phi la chn tin trnh k tip x l. B lp
lch s s dng thut ton thc hin.
Mc tiu ca b lp lch: H iu hnh xy dng nhiu chin lc khc nhau thc
hin lp lch nhng phi t cc mc tiu nh sau:
- S cng bng: Cc tin trnh chia s CPU mt cch cng bng. Khng tin
trnh no ch v hn mi c cp php CPU
Trang 51

Khoa Cng Ngh Thng Tin

H iu Hnh

Tnh hiu qu: H thng phi tn dng CPU 100% thi gian
Thi gain p ng hp l: Cc tiu ha thi gian hi p cho cac tng tc
ca ngi s dng.
- Thi gian lu li h thng : Cc tiu ha thi gian hon tt cc tc v x l
theo l.
- Thng lng ti a: Cc i ha s cng vic c x l trong mt n v
thi gian
Tt c mc tiu trn thng khng tha ht v chnh bn thn chng c s mu
thun vi nhau.
Lp lch tin trnh:
- H iu hnh t chc mt danh sch cha cc tin trnh ang sng sng
- H iu hnh s chn mt tin trnh trong danh sch sng sng cp pht
CPU.
- Cc chin lc lp lch tin trnh
VI.5.1 Chin lc lp lch tin trnh FIFO
CPU c cp pht cho tin trnh u tin trong danh sch sn sng- l tin trnh
c a vo h thng sm nht.

Hnh 6.2
V d:
Tin trnh

Thi im vo

Thi gian x l

P1

24

P2

P3

Th t cp pht CPU cho cc tin trnh:


P1
0
-

P2
24

P3
27

Thi gian ch c x l ca P1 : 0
Thi gian ch c x l ca P2 : 24-1=23
Thi gian ch c x l ca P3 : 24+3 -2 =25
Trang 52

30

Khoa Cng Ngh Thng Tin

H iu Hnh

Thi gian ch trung bnh l : (0+ 23+ 25)/3 =16 milisecondes


Thi gian ch trung bnh khng t cc tiu v xy ra hin tng tch lu thi
gian tt c tin trnh phi ch mt tin trnh c yu cu thi gian di kt thc.

VI.5.2 Chin lc Round Robin


Trong chin lc ny danh sch sn sng c s dng nh danh sch vng. B
iu lp lch ln lt cp pht cho tng tin trnh trong danh sch mt khong thi
gian s dng CPU gi l Quantum
Khi mt tin trnh s dng ht thi gian Quantum dnh cho n th h iu hnh thu
hi CPU cp cho tin trnh khc trong danh sch.
Nu tin trnh b Blocked hoc kt thc trc khi ht Quantum th h iu hnh
cng thu hi CPU.
Nu mt tin trnh s dng ht Quantum m cha x l xong s c a vo cui
danh sch sng sng ch cp pht CPU ln sau.

Hnh 6.3
V d:
Tin trnh

Thi im vo

Thi gian x l

P1

24

P2

P3

Vi Quantum = 4 th t cp pht CPU nh sau:


P1

P2

0
30

4
-

P3
7

P1
10

P1
14

P1

P1
18

Thi gian ch x l P1: 0


Thi gian ch x l P2 : 4-1=3
Thi gian ch x l P3: 7-2 = 5
Thi gian ch x l P1 ln sau: 10-4=6
Thi gian ch trung bnh : (0+3+5+6)/3 =4.66 Milisecondes
Trang 53

P1
22

26

Khoa Cng Ngh Thng Tin

H iu Hnh

Thi gian ca Q qu b th chuyn i CPU gia cc tin trnh qu nhiu khin


vic s dng CPU khng hiu qu.
Nu Q qu ln th tng thi gian hi p v gim kh nng tng tc ca h thng
VI.5.3 Chin lc gn u tin
Mi tin trnh c gn mt u tin tng ng, tin trnh no c u tin cao
hn s c chn cp pht CPU u tin.
u tin c nh ngha trong ni ti hoc t bn ngoi.
Chin lc u tin khng c quyn: Khi mt tin trnh c a vo danh
sch sn sng , u tin ca n c so snh vi u tin ca tin trnh ang
x l. B lp lch s thu hi CPU t tin trnh hin hnh cp pht cho tin trnh
mi nu u tin ca n cao hn u tin ca tin trnh hin hnh
Chin lc u tin c quyn: CPU vn c cp pht cho tin trnh hin hnh
mc d tin trnh mi vo c u tin cao hn u tin ca tin trnh hin
hnh.
V d : Chin lc u tin c quyn
Tin trnh

Thi im vo

u tin

Thi gian x
l

P1

24

P2

P3

Th t cp pht CPU nh sau:


P1
0

P3
24

P2
28

V d : Chin lc u tin khng c quyn


Trang 54

31

Khoa Cng Ngh Thng Tin

H iu Hnh

Tin trnh

Thi im vo

u tin

Thi gian x l

P1

24

P2

P3

Th t cp pht CPU nh sau:


P1
0
-

P2
1

P3
2

P2
6

P1
8

31

Vi chin lc ny tin trnh c u tin thp s i CPU v hn. trnh


trng hp ny th b lp lch phi gim dn u tin ca cc tin trnh sau mt
chu k thi gian.

VI.5.4 Chin lc cng vic ngn nht c thc hin trc:


y l thut gii dnh cho h thng x l theo l, khi m thi gian chy ca mi
cng vic c bit trc.
Gi s a, b, c, d ln lt l thi gian ca 4 cng vic . Nu cho 4 cng vic ny
chy theo th t th thi gian chy trung bnh l :
(4a+3b+2c+d ) /4 .
D dng thy l nu chn cng vic ngn cho chy trc th gi tr thi gian chy
trung bnh l nh nht.
VI.6 ng b ha tin trnh
S lin lc gia cc tin trnh
- Trong mi trng a nhim cc tin trnh khng chy c lp m thng
xuyn c nhu cu trao i thng tin vi nhau.
- Nguyn tc chung trao i thng tin gia cc tin trnh: S dng vng nh
c chia s, Trao i thng ip.
- Vn ny sinh : xy ra hin tng ua nhau s dng vng nh chia x dn
n kt qu khng chnh xc - Cn phi ng b ha tin trnh.
iu kin ua: Nu c nhiu tin trnh c , ghi d liu vo vng nh dng chung
v kt qu cui cng ph thuc thi im tin trnh no chy tht s gi l iu
kin ua.
Vng gng:
- trnh iu kin ua, nu h iu hnh khng cho php c nhiu tin trnh
c hoc ghi vo vng nh lu tr chung ti cng mt thi im cn phi
t s loi tr ln nhau

Trang 55

Khoa Cng Ngh Thng Tin

H iu Hnh

Mt phn no ca chng trnh m ti thc hin truy cp n vng


nh dng chung gi l vng gng

trnh iu kin ua th h iu hnh phi c thit k sao cho khng cho php
2 hay nhiu hn tin trnh ng thi trong vng gng.
Bn iu kin cn m bo thit k h iu hnh cho php nhiu tin trnh s
dng vng nh dng chung mt cch ng n v hiu qu:
- (1) Khng cho php c nhiu hn mt tin trnh ng thi trong vng gng.
- (2) Khi lp trnh cc tin trnh khng c php c bt k gi nh no v
tc CPU v s lng CPU.
- (3) Khng cho php mt tin trnh ngoi vng gng ca mnh lm
Blocked mt tin trnh khc.
- (4) Khng cho php bt k mt tin trnh no i thi gian qu lu mi c
th vo vng gng ca mnh.
VI.6.1 Cc phng php thc hin loi tr nhau vo vng gng
VI.6.1.1 Dng bin kha
H iu hnh s dng mt bin dng chung, gi l bin kha lock c khi to
=0. Khi mt tin trnh mun vo vng gng, n thc hin kim tra bin lock
int lock =0;
if (lock==0) (*)
{ lock =1;
tin trnh trong vng gng;
}
else
{ tin trnh i cho n khi lock =0
}
Vi phng php ny vi phm iu kin (1) khi b lp lch thu hi CPU ca mt tin
trnh ti (*), tin trnh ny ghi nhn bin lock =0 v chun b vo gng. Lc ny b
lp lch cp pht CPU cho tin trnh khc, tin trnh ny kim tra bin lock thy vn =0
v c php vo gng. Nu b lp lch li cp pht CPU cho tin trnh trc th tin
trnh ny tip tc chy v thc hin vo gng. Vy ti mt thi im c 2 tin trnh vo
gng.

VI.6.1.2 Lun phin ngt


tng: Dng mt bin dng chung turn=0; v mi tin trnh c on m sau:
Trang 56

Khoa Cng Ngh Thng Tin

whie (TRUE)
{
while (turn !=0);
Tronggng();
turn=1;
ngoigng();
}

H iu Hnh

while(TRUE)
{
while(turn !=1);
TrongGng();
turn =0;
NgoiGng();
}

Phng php ny vi phm iu kin (4) v theo phng php ny hai tin trnh phi
thay phin ngt vo ra vng gng. Nu mt tin trnh vo ra vng gng khng lun
phin s gy ra tin trnh cn li i qu lu khng vo vng gng.
VI.6.1.3 Gii php Peterson
#define FALSE 0
#define TRUE 1
#define N
2
int turn;
int interested[N]; /* khi gn bng FALSE*/
void Vogng(int Process)
{
int other;
other = 1- Process;
interested[Process]= TRUE;
turn = Process;
while (turn ==Process && interested[other] ==TRUE);
}
void RaGng(int Process)
{
interested[Process]=FALSE;
}
Khi mt tin trnh no mun vo vng gng thi gi hm Vaogang() v truyn
tham s l s hiu tin trnh.
Khi tin trnh mun ra khi vng gng n gi hm RaGng()
Mc d gii php Peterson l chp nhn c v tha mn 4 iu kin nhng b
hn ch:
1. Khi mt tin trnh i vo vng gng tin trnh vn s dng thi gian
CPU Lng ph CPU.
2. Khi a ra khi nim u tin cho cc tin trnh gii php Peterson
khng p ng c. (xt trng hp tin trnh c u tin thp hn trong vng gng v
tin trnh c u tin cao i vo vng gng.)
Trang 57

Khoa Cng Ngh Thng Tin

H iu Hnh

Gii php gi
VI.6.1.4 Gii php gi li gi h thng SLEEP vo WAKEUP s lm blocked tin
trnh i vo vng gng
SLEEP: Chuyn tin trnh gi n v trng thi blocked cho n khi tin trnh khc gi
n n tn hiu i trng thi ( WAKEUP)
WAKEUP(Process) : Chuyn tin trnh Process v trng thi Ready (tin trnh gi
SLEEP trc )
Xt bi ton : Sn xut tiu th : C hai tin trnh SnXut v TiuTh dng
chung buffer c kch thc c nh. Tin trnh SnXut t sn phm vo buffer nu
buffer cn trng. Tin trnh TiuTh ly sn phm t buffer nu buffer khc rng.
#define N 100
int count=0;
void SnXut(void)
{
int item;
while (TRUE)
{
SnXutSnPhm(&Item);
if (count == N) SLEEP();
tSnPhm(Item);
count++;
if (count == 1) WAKEUP(TieuTh);
}
}
void TiuTh(void)
{
int Item;
while( TRUE)
{
if (count == 0) SLEEP();
LySnPhm(&Item);
count--;
if (count == N-1) WAKEUP (SnXut);
TiuThsnPhm(Item);
}
}
Vi gii php ny h thng c th dn n tnh trng Deadlock tc c hai tin trnh
u ri vo trng thi Block, khng c tin trnh wakeup do s dng bin dng chung
Trang 58

Khoa Cng Ngh Thng Tin

H iu Hnh

count khng c thc hin theo thao tc nguyn t. Kt qu l tn hiu WAKEUP b


mt khi tin trnh c WAKEUP cha tht s SLEEP.
Cn duy tr mt bin m cho mi tin trnh m tn hiu WAKEUP c gi
n t tin trnh khc . Mi khi gi SLEEP tin trnh kim tra bin m , nu bin
m >0 th gim bin m xung 1 v tin trnh vn khng b blocked.
chnh l tng xy dng khi nim Semaphore
VI.6.1.5 Semaphore
Semaphore l mt kiu nguyn khng m. Mt semaphore s =0 ch ra rng khng
tn hiu WAKEUP no c gi n. C hai thao tc nguy t trn semaphore c nh
ngha nh sau:
DOWN(s) : if (s >0) s=s-1;
else SLEEP();
UP(s): if ( s >0 ) s=s+1;
else nu c mt hoc nhiu tin trnh ang b Blocked trn semaphore s .
H iu hnh chn ngu nhin mt tin trnh cho php thot khi trng thi Blocked.
(Trong khi s vn =0.)
ngc li: khng c tin trnh no Blocked trn s th: s= s+1 ;
Tt c cng on kim tra gi tr s, thay i s, gi SLEEP c tch hp thnh mt
thao tc duy nht khng phn chia c- gi l thao tc nguyn t .
Mt semaphore s c khi to =1 v c s dng bi nhiu tin trnh m
bo ch mt trong chng l vo c vng gng ti mt thi im gi l
semaphore nh phn. V vy mi tin trnh ch cn gi ton t DOWN(s) trc
khi vo vng gng v gi UP(s) sau khi ra khi vng gng th c th m bo c
s loi tr ln nhau.
Cc loi semaphore khc gi l semaphore ng b ha, n m bo mt dy cc
s kin no l xut hin hoc khng xut hin.
p dng Semaphore gii quyt bi ton Sn sut tiu th
#define N 100
typedef int Semaphore;
Semaphore Mutex = 1;
Semaphore Empty =N;
Semaphore Full = 0;
void SnXut (void)
{
int Item;
while(TRUE)
{
SnXutSnPhm(&Item);
down(&Empty);
down(&Mutex);
Trang 59

Khoa Cng Ngh Thng Tin

H iu Hnh

tSnPhm(Item);
up(&Mutex);
up(&Full);
}
}
void TiuTh (void)
{
int Item;
while(TRUE)
{
down(&Full);
down(&Mutex);
LySnPhm(&Item);
up(&Mutex);
up(&Empty);
TiuThsnPhm(Item);
}
}
VI.6.2 p dng Semaphore gii quyt bi ton c in
VI.6.2.1 Bi ton Ba n ti ca cc nh hin trit
C 5 nh hin trit ngi quanh mt bn trn trong mt ba n ti. Mi ngi
c mt da m Spaghetti. Mi ngi cn phi c 2 na c th n m. Gia 2 da c
mt na.
Gi nh rng cuc i ca nh hin trit ch lun phin nhau 2 hnh vi: n v
suy ngh. Khi nh hin trit cm thy i ng ta mun ly 2 na bn tri v phi theo
th t no . Nu ly c c 2 na ng ta bt u n. Sau t na xung v tip
tc suy ngh.
Yu cu vit chng trnh cho mi nh hin trit sao cho khng b kt.

Hnh 6.4
#define N 5
void HinTrit (int i)
Trang 60

Khoa Cng Ngh Thng Tin

H iu Hnh

{
while(TRUE)
{
SuyNgh();
LyNa(i);
LyNa((i+1)%N); // Nh hin trit I ly na bn tri, phi
n();
tNa(i);
tNa((i+1)%N);
}
}
Li gii 1
#define N 5
typedef int Semaphore;
Semaphore Mutex=1;
void HinTrit (int i)
{
while(TRUE)
{
SuyNgh();
down(&Mutex);
LyNa(i);
LyNa((i+1)%N); // Nh hin trit I ly na bn tri, phi
n();
tNa(i);
tNa((i+1)%N);
up(&Mutex);
}
}
Li gii trn ng nhng khng ti u ti nguyn ti mt thi in ch c 1 nh hin
trit trng thi n trong khi c th c 2
Li gii 2
#define N 5
#define LEFT (i-1)%N
#define RIGHT (i+1)%N
#define THINKING 0
#define HUNGRY 1
#define EATING 2
typedef int Semaphore;
int State [N];
Semaphore Mutex=1;
Semaphore S[N];// Khi gn =0
void HinTrit (int i)
Trang 61

Khoa Cng Ngh Thng Tin

H iu Hnh

while(TRUE)
{
SuyNgh();
LyNa(i);// Ly na tri v phi
n();
tNa(i);
}

}
void LyNa (int i)
{
down (&Mutex);
State[i]=HUNGRY;
Test(i);
up(&Mutex);
down(&S[i]);
return ;
}
void tNa (int i)
{
down (&Mutex);
State[i]=THINKING;
Test(LEFT);
Test(RIGHT);
up(&Mutex);
return ;
}
void Test (int i)
{
if( State[i]==HUNGRY && State[LEFT]!=EATING &&
State[RIGHT]!=EATING)
{
State[i]=EATING;
up(&S[i]);
}
}
VI.6.2.2 Bi ton c gi v nh vn
Mt c s d liu m tin trnh mun c(c gi) hoc ghi ln (nh vn) . H
thng cho php ng thi c nhiu tin trnh c c s d liu nhng ch duy nht mt
tin trnh ghi ln CSDL ti mt thi im. Khi c mt tin trnh ghi ln CSDL th khng
c tin trnh no c php truy cp n CSDL k c tin trnh c .
Yu cu: Lp trnh cho hai tin trnh c gi v nh vn
Seamphore Mutex =1;
Semaphore Db=1;// Truy cp vo DBF ca tin trnh Writer
int rc; // m s tin trnh c
Trang 62

Khoa Cng Ngh Thng Tin

H iu Hnh

void Reader (void )


{
while (TRUE)
{
down (Mutex);
rc= rc+1;
if ( rc==1)
down(db);
up(Mutex);
ReadDBF();
down(Mutex);
rc=rc-1;
if (rc==0)
up(db);
up(Mutex);
}
}
void Writer (void )
{
while (TRUE)
{
CreateData();
down(db);
WriteData();
up(db);
}
}
CU HI V BI TP
1. Trnh by khi nim tin trnh v gii thch qu trnh chuyn i gia cc trng thi
tin trnh?
2. Trnh by mc tiu ca b lp lch tin trnh?
3. Hy tnh thi gian ch c x l trung bnh ca cc tin trnh theo thut ton
Round Robin vi Q=3
Tin trnh

Thi im vo

Thi gian x l

P1

10

P2

P3

P4

Trang 63

Khoa Cng Ngh Thng Tin

H iu Hnh

Hy tnh thi gian ch c x l trung bnh ca cc tin trnh theo thut ton
u tin khng c quyn kt hp Round Robin(Q=3) i vi cc tin trnh c cng
u tin.
Bit rng:
- u tin ca P1, P2, P3, P4 ln lt l 2, 3,1, 2. (1>2>3)
- Sau mi ln x l u tin ca tin trnh gim i 1.
4. Hy tnh thi gian ch c x l trung bnh ca cc tin trnh theo thut ton
u tin khng c quyn , vi u tin 1>2>3 .
Tin trnh

Thi im vo

u tin

Thi gian x l

P1

P2

P3

P4

5. Trnh by nguyn tc trao i thng gia cc tin trnh. L do cn ng b ho cc


tin trnh?
6. Tho lun s vi phm iu kin (4) cn m bo thit k h iu hnh cho php
nhiu tin trnh s dng vng nh dng chung mt cch ng n v hiu qu ca
thut ton lun phin ngt?
7. Trnh by nhc im ca gii php ng b ho Peterson v gii php gi li gi
h thng Sleep() v wakeup() ?
8. Trnh khi nim Semaphore v nh ngha 2 ton t Down() v Up() trn
semaphore ? Cho mt v d tnh hung s dng semaphore nh phn?
9. S dng semaphore thc hin ng b ha hai tin trnh SendMessage() v
ReceiveMessage(). Bit rng hai tin trnh trn s dng chung mt hng i
Queue, tin trnh ReceiceMessage() nhn message t bn phm v ghi vo u
hng i v tin trnh SendMessage() ly message t hng i Queue v gi ln
mng my tnh. Kch thc ca hng i Queue l N, mi phn t hng i cha
c mt message. Khi hng i y tin trnh ReceiceMessage() phi tm ngng,
khi hng i rng tin trnh SendMessage() phi tm ngng.
10. S dung semaphore tao ra hai tien trnh sau sao cho nb<na<nb+10:
Tien trnh 1:

Tien trnh 2:

While(TRUE)
{
na=na+1;
}

While(TRUE)

{
}

CHNG VII
Trang 64

nb=nb+1;

Khoa Cng Ngh Thng Tin

H iu Hnh

H THNG QUN L B NH
VII.1 Gii thiu
B nh chnh l thit b lu tr duy nht thng qua CPU c th trao i thng
tin vi mi trng ngoi.
Nhu cu t chc qun l b nh l nhim v hng u ca h iu hnh.
B nh chnh c t chc nh mt mng mt chiu cc nh. Vic trao i
thng tin vi mi trng ngoi c thc hin thng qua cc thao tc c ghid
liu vo a ch c th ca b nh.
Hu ht cc h iu hnh hin i u cho php ch a nhim nhm nng cao
hiu qu s dng CPU.
VII.2 Qun l b nh khng phn trang, khng Swapping
B nh ch c chia s cho h iu hnh v mt chng trnh duy nht ca ngi
s dng. Tc ti mt thi im mt phn b nh s do HH chim gi v phn
cn li thuc v mt tin trnh ngi s dng, tin trnh ny c ton quyn s dng
vng nh dnh cho n.
M hnh

Hnh 7.1
bo v vng nh ca HH khi s xm phm ca tin trnh ngi dng cn
phi t chc thanh ghi gii hn.
a ch cao nht ca vng nh c cp pht cho HH s c np vo thanh ghi
gii hn.
Tt c cc a ch c tin trnh ngi dng truy xut n s c so snh vi ni
dung thanh ghi gii hn, nu a ch ln hn ni dung thanh ghi gii hn th y l
mt a ch hp l, ngc li mt ngt c pht sinh thng bo cho h thng
v mt truy xut bt hp l.
Vi t chc nh vy th ch c th x l mt chng trnh duy nht ti mt thi
im.
Trong thc t c rt nhiu tin trnh phi tri qua phn ln thi gian ch thao tc
nhp xut hon thnh trong sut thi gian ny CPU nhn ri nng cao hiu
sut s dng CPU cn cho php ch a chng.

VII.3 Qun l b nh vi nhng phn an c nh


Trang 65

Khoa Cng Ngh Thng Tin

H iu Hnh

H iu hnh chia b nh thnh n vng nh c nh( c th khng bng nhau)


Vic phn chia ny c thc hin vo lc khi ng h thng v khng thay i
sut qu trnh chy.
Vi t chc nh vy cn duy tr mt hng i duy nht lu tr nhng tin trnh
cha c cp pht b nh.

Hnh 7.2
Tt c tin trnh c t trong mt hng i duy nht. Khi c mt phn vng t
do , tin trnh u tin trong hng i c kch thc ph hp s c t vo phn
vng ny v cho x l.
Nu kch thc ca tin trnh khng va ng bng kch thc phn vng cha n,
phn b nh khng s dng n trong phn vng s b lng ph.
- Xy ra hin tng phn mnh ni vi.
- Mc a chng ca h thng b gii hn bi s lng phn vng
Vn bo v gia cc phn vng: bo v cn t chc hai thanh ghi : thanh ghi
nn v thanh ghi gii hn.
- Khi tin trnh c to lp, np vo thanh ghi nn a ch bt u ca phn
vng c cp pht cho tin trnhv np vo thanh ghi gii hn kch thc
ca tin trnh
- Sau mi ch b nh c pht sinh s t ng c cng vi a ch
cha trong thanh ghi nn cho ra a ch tuyt i trong b nh v cc a
ch c i chiu vi thanh ghi gii hn bo m tin trnh khng truy
xut ngoi phm vi c cp pht cho n.
VII.4 Qun l b nh vi nhng phn an ng
Nh t chc qun l b nh trn gy ra lng ph b nh v vy mt phng php
mi c xut l cp php cho tin trnh vng nh va kch thc ca tin
trnh.
Khi mt tin trnh kt thc vng nh cp cho n s c gii phng v c
cp php cho tin trnh khc.
Vi gii php ny khng cn hin tng phn mnh ni vi nhng li xut hin
phn mng ngoi vi. Khi cc tin trnh ln lt vo ra khi h thng, dn dn xut
hin cc khe h gia cc tin trnh c th dn n tnh hung tng vng nh cn
trng tha mn yu cu nhng cc vng nh ny khng lin tc.
Trang 66

Khoa Cng Ngh Thng Tin

H iu Hnh

C th p dng k thut dn b nh kt hp cc mnh b nh ri rc


thnh mt vng nh ln lin tc.
- Mt vn khc ny sinh khi kch thc ca tin trnh tng trng trong
qu trnh x l m khng cn vng nh cn trng gn k m rng vng
nh cho tin trnh.
Qun l cc nh cn trng: Cn phi lu tr thng tin cc nh cn trng cp
pht cho cc tin trnh, C hai phng php chnh: Bitmap v danh sch lin kt.
Phng php Bitmap:
Chia b nh thnh tng n v nh (vi bytes) . Xy dng bitmap, ng vi mi bit
trong bitmap l mt n v b nh.
- Bit c nh du l 1 khi n v b nh tng ng c cp pht
- Bit c nh du 0 khi n v b nh tng ng cha c cp pht.
Thao tc cp pht b nh l : Gi s tin trnh cn k n v b nh, HH duyt
bitmap v tm ra k bit lin tip bng 0

Hnh 7.3
Qun vng nh cn trng bng danh sch lin kt
T chc mt danh sch lin kt, mi phn t tng ng vi mt tin trnh hay l
hng. Mi phn t trong danh sch c 4 trng :
- C biu th tin trnh (P) hay l hng (H)
- a ch bt u ca vng nh tng ng
- Kch thc ca vng nh
- Con tr Next

Hnh 7.4
Thao tc cp pht b nh
Trang 67

Khoa Cng Ngh Thng Tin

H iu Hnh

First Fit : Xc nh l hng u tin trong danh sch c kch thc ln


cp pht cho tin trnh v l hng ny c chia lm 2 phn : 1 phn cho
tin trnh v phn kia l l hng mi.
- Best Fit : xc nh l hng b nht c kch thc ln cp pht cho tin
trnh.
- Worst Fit : Cp pht phn on t do ln nht ln cp pht cho rin
trnh.
C th lm tng tc bng cch cho c 3 thut ton trn bng cch t chc 2 danh
sch: 1 cho tin trnh v mt cho l hng. Tuy nhin li lm chm thao tc gii phng b
nh.
Thao tc gii phng b nh
- Khi thc hin thao tc gii phng ch cn xem xt cc trng hp khc
nhau ca 2 phn t k nhau. Nh thc hin thao tc kt hp hai l hng
k nhau mt cch ph hp:

Hnh 7.5

Qu trnh Swapping
Trong h thng a nhim nhiu ngi dng thng l b nh khng ch lu
tr tt c cc tin trnh v th h thng dng DSLK lu tr tm thi mt s tin trnh
no cha tht s chy, khi c cp pht CPU th h thng phi mang n vo b nh
chnh . Vic di chuyn tin trnh t b nh vo a v ngc li gi l qu trnh swapping.
B nh o
B nh o c a ra nhm khc phc tnh trng kch thc chng trnh vt
qu kch thc b nh vt l. H iu hnh chia chng trnh thnh nhiu phn v gia
li nhng phn chng trnh ang chy hin thi va cha trong b nh , phn cn li
lu tr trn a. HH theo di v qun l tt c cng vic swapping gia a v b nh .
D nhin b nh o vn c th thit k cho h thng a nhim.
S phn trang (paging)
Hu ht nhng h thng c s dng b nh o u s dng k thut phn trang.
a ch o l a ch tham kho t chng trnh . Tp tt c a ch o gi l vng a ch
o, i vi nhng h thng khng dng b nh o , a ch o cng l a ch vt l.
Trang 68

Khoa Cng Ngh Thng Tin

H iu Hnh

Vng a ch o c chi thnh nhiu trang (page) c kch thc bng nhau tng
ng vi nhng khung trang (Page frame) trong b nh vt l. Trang v khung trang lun
c kch thc bng nhau.
V d: c 32K b nh vt l chia thnh 8 khung trang c kch thc 4K v 64K b
nh o chia thnh 16 trang kch thc 4K. Trong bt k thi im no ch c 8 trang t b
nh o nh x vo b nh vt l nh sau:

Hnh 7.6
Nu lnh no trong chng trnh tham kho n a ch o khng thuc v bt
k trang no ang c nh x hin thi gi l li trang. Trong trng hp ny
HH tm ra mt khung trang no t s dng nht trc xut khi b nh v tm
kim trn a trang no cha a ch m chng trnh mun tham kho n
chuyn vo b nh vt l. Tip n h thng cp nht nh x b nh cho trang
mi.
Bng trang
H thng phi duy tr mt bng trang th hin nh x t b nh o vo b nh vt
l v cha thng tin trang no hin thi ang c nh x.

Trang 69

Khoa Cng Ngh Thng Tin

H iu Hnh

Hnh 7.7
VII.5 Cc thut ton thay th trang
Mi khi gp li trang HH phi chn 1 trong cc trang no trc xut ra khi b
nh. Nu ni dung trang b thay i th phi ghi ni dung mi ca trang ln a. Vn
l chn trang no trc xut gim tn ph.
Xt v d mt tin trnh truy xut n mt dy cc trang sau:
7, 0,1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1
gi s c 3 khung trang v ban u c 3 khung trang u rng.
VII.5.1 Thut ton FIFO
Ghi nhn thi im 1 trang c mang vo b nh chnh khi cn thay th trang ,
th trang lu nht s c chn trc xut.
7

Hnh 7.8
Vi thut ton ny c th c trang c chn thay th c th cha nhiu d liu
cn thit thng xuyn c np vo sm , do vy khi b chuyn ra b nh ph s
nhanh chng gy ra li trang.
Trang 70

Khoa Cng Ngh Thng Tin

H iu Hnh

VII.5.2 Thut ton ti u


Thay th trang s lu nht c s dng trong tng lai
7

Hnh 7.9
Thut ton ny bo m li trang l t nht tuy nhin thut ton ny khng kh thi
v khng th bit trc dy cc trang c truy xut theo th t.
VII.5.3 Thut ton lu nht cha s dng (LRU)
Vi mi trang ghi nhn thi im cui cng trang c truy cp, trang c
thay th l trang lu nht cha s dng.
7

Hnh 7.10
Thut ton i hi mt c ch xc nh th t cc trang theo thi im truy xut
cui cng. Dng stack
- Cn t chc mt stack lu tr s hiu cc trang
- Mi khi thc hin mt truy xut n 1 trang , s hiu ca trang s c xa
khi v tr hin hnh trong stack v a ln nh stack.
- Trang nh stack l trang c chn thay th.
VII.5.4 Thut ton Not Recently Used (NRU)
Thut ton da trn s tn ti 2 bit gn lin vi mi trang ch ra trang c va
mi c tham kho hay l c ghi ln hay khng. Nhng bit ny cha trong
bng trang
Trang 71

Khoa Cng Ngh Thng Tin

H iu Hnh

9 Bit R =1: nu trang truy cp ngc li cha c truy cp


9 Bit M =1 : Trang b thay i ngc li cha b thay i
C mi ln truy cp b nh cn phi cp nht li cc bit ny
Khi mt tin trnh bt u c 2 bit trong tt c cc trang c t bng 0. theo
mt chu k thi gian bit R c t li bng 0 phn bit nhng trang mi
c truy cp vi trang truy cp trc .
Khi xut hin mt li trang HH duyt ton b bng trang v chia chng thnh
4 lp da vo cc bit R, M nh sau:

Class 0 : R=0, M=0


Class 1: R=0, M=1
Class 2: R=1, M=0
Class 3: R=1, M=1
Sau thut ton chn ra mt trang thay th thuc thuc lp thp nht khc
rng.
CU HI V BI TP
1. Trnh by hin tng phn mnh ni vi v ngoi vi trong qu trnh t chc qun l
b nh phn on c nh v ng ?
2. Trnh by thut ton cp pht b nh (thut ton first Fit, Best Fit, Worst Fit )
trong k thut qun l b nh ng bng danh sch lin kt v k thut bitmap?
3. Trnh by thut ton gii phng b nh trong k thut qun l b nh ng bng
danh sch lin kt ?
4. Trnh by phng php chuyn i a ch o sang a ch vt l trong phng
php qun l b nh o? Kch thc trang v khung trang, ni dung bng trang
nh mc VII.4 ?
5. Trong mt thng ci t b nh o theo k thut phn trang, gi s mt chng
trnh truy cp n cc trang sau: 1, 0,4, 2, 1, 3, 1, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 3, 0, 1.
Gi s h thng c 3 khung trang lc u cn trng. C bao nhiu li trang xy ra
khi h thng s dng thut ton thay th trang LRU, FIFO ?
---HT---

Trang 72

Khoa Cng Ngh Thng Tin

H iu Hnh

TI LIU THAM KHO


[1] Gio trnh h iu hnh 1, L Khc Nhin n, Hong Kim
[2] Gio trnh h iu hnh 2, L Khc Nhin n, Hong Kim
[3] H tr k thut lp trnh h thng, Nguyn Tn
[4] Virus tin hc huyn thoi v thc t, Ng Anh V
[5] Operating Systems, Andrew S.Tanenbaum
[6] Operating System Concepts, Abraham Siberschatz, Peter B. Galvin

Trang 73

You might also like