You are on page 1of 185

Bi ging

H iu hnh
Nguyn Trung ng
Tel. 0983 410 866
Email. ntrgdong@gmail.com

Ti liu tham kho chnh


T Minh Phng: Gio trnh H iu
hnh. Hc Vin CNBCVT, H Ni 2013
Trn Hnh Nhi, Gio trnh HH nng cao, H
Khoa hc T nhin Tp.HCM, 1998
Nguyn Gia nh-Nguyn Kim Tun, Nguyn L
HH, NXB Khoa hc k thut, 2005
William Stallting, Operating Systems, Prentice
Hall, 1995

Chng I:
TNG QUAN V HH

NI DUNG:
1.1 Khi nim v HH
1.2 Phn loi HH
1.3 Cu trc ca HH
1.4 Tm hiu v lch s pht trin ca HH
1.5 Gii thiu mt s HH ph bin hin
nay

1.1 KHI NIM V HH


H iu hnh l mt chng trnh hay mt
h chng trnh phn mm my tnh, hot
ng lp trung gian gia ngi s dng
v phn cng my tnh
Mc tiu ca HH l cung cp mi trng
ngi s dng:
Thc thi cc chng trnh
S dng my tnh tr nn d dng, khai thc
phn cng my tnh mt cch hiu qu
5

1.1 KHI NiM V HH


HH l mt b phn quan trng ca h
thng my tnh. Mt h thng my tnh
bao gm 4 phn:
1) Phn cng: CPU; B nh; Cc thit b
xut/nhp
2) H iu hnh
3) Cc chng trnh ng dng
4) i tng s dng: Ngi, thit b hoc
my tnh khc
6

Ngi s
dng 1

Trnh bin dch

Ngi s
dng 2

Ngi s
dng 3

Hp ng Son tho vn bn

Ngi s
dng n

CSDL

Cc chng trnh ng dng

H iu hnh

Phn cng

4 Thnh phn ca h thng my tnh

1.2 PHN LOI HH


H thng s l theo l n gin
H thng s l theo l a chng
H thng chia s thi gian
H thng song song
H thng phn tn
H thng x l thi gian thc
V.v.
9

H THNG X L THEO L N GiN


Cc tc v c a vo hng i
Thc hin cc tc v ln lt theo nhng
ch th c xc nh trc
Tc v tip theo t ng c thc hin
khi tc v trc kt thc 1 cch t ng
C b gim st thng trc gim st
vic thc hin ca cc tc v trong h
thng
Processor ri vo trng thi ch khi h
thng truy xut thit b vo ra
10

H THNG X L THEO L A CHNG

Thc hin c nhiu tc v ng thi


HH np 1 phn code v data ca tc v
vo b nh
Khi c tc v ang s dng Processor
thc hin truy xut thit b vo ra th
Processor s c chuyn thc hin tc
v khc
Cn c c ch lp lch cho Processor
11

H THNG CHIA S THI GIAN


Cc tc v, tin trnh c s dng
Processor lun phin nhau theo lch phn
chia thi gian s dng Processor c
lp (vi mt khong thi gian t rt nh)
Cung cp cho mi ngi s dng 1 phn
nh trong my tnh chia s =>Ngi s
dng c th yu cu my tnh thc hin
ng thi nhiu cng vic
C c ch qun tr vo bo v b nh, s
dng b nh o
12

H THNG SONG SONG


C nhiu Processor trong cng mt h thng
my tnh
Cc Processor cng chia s ng truyn d
liu, ng h xung, b nh v cc thit b ngoi
vi
C 2 loi HH a Processor:
1) a x l i xng (Symmetric multiprocessingSMP)
2) a x l bt i xng (Asymmetric
multiprocessing-ASMP)
13

H THNG SONG SONG


1) a x l i xng:
Mi Processor chy c lp trn mt bn sao
HH nh nhau
Cho php nhiu tin trnh chy ng thi trn
mt h thng

2) a x l bt i xng:
Mi Processor c giao mt nhim v ring
bit
C mt hoc 2 Processor ch lm nhim v lp
lch, xc nh cng vic cho cc Processor
thnh vin
14

H THNG PHN TN
Phn tn s tnh ton trn cc b x l vt
l
Mi b x l c b nh cc b ring
Cc b x l thng tin vi nhau thng qua
cc ng truyn thng tc cao
C 2 dng h thng: Client/Server v
Peer-to-Peer

15

H THNG X L THI GIAN THC


C kh nng cho kt qu tc thi, chnh
xc sau mi tc v
Tc v cn thc hin khng a vo hng
i m s l tc thi v tr li ngay kt
qu chnh xc trong khong thi gian b
thc p nhanh nht

16

1.3

CU TRC CA HH

1.3.1 CC NHIM V CA HH
1. Qun l tin trnh
2. Qun l b nh chnh
3. Qun l Vo/Ra
4. Qun l b nh ph
5. Qun l tp tin
6. Thng dch lnh
7. Bo v h thng
17

NHIM V QUN L TIN TRNH

a. To lp v hy b tin trnh
b. Tm dng v kch hot li tin
trnh b tm dng
c. To c ch thng tin lin lc gia
cc tin trnh
d. To c ch ng b ha gia cc
tin trnh
18

NHIM V QUN L B NH CHNH

1) Cp pht, thu hi vng nh


2) Ghi nhn trng thi b nh
chnh
3) Bo v b nh
4) Quyt nh tin trnh no c
np vo b nh
19

NHIM V QUN L XUT/NHP

1) Lm cho cc thao tc trao i thng tin


trn cc thit b Vo/Ra c trong sut
vi ngi s dng
2) Mt h thng Vo/Ra bao gm:
H thng buffer caching.
B giao tip iu khin thit b.
B iu khin cho cc thit b c th.

20

NHIM V QUN L B NH PH

1) Qun l khng gian trng trn


a
2) nh v lu tr thng tin trn a
3) Lp lch cho vn ghi/c
thng tin trn a ca u t

21

NHIM V QUN L TP TIN

1) To/xa tp tin, th mc
2) Bo v tp tin khi c truy xut ng
thi
3) Cung cp cc thao tc x l v bo
v tp tin, th mc
4) To c ch truy xut tp tin thng
qua tn tp tin,
22

NHIM V THNG DCH LNH

1) ng vai tr giao tip gia HH


v ngi s dng
2) Mt s HH thnh phn ny
nm trong nhn ca n, mt s
HH khc thit k di dng 1
chng trnh c bit
23

NHIM V BO V H THNG

Kim sot qu trnh truy xut ca


chng trnh, tin trnh, hoc
ngi s dng vi ti nguyn ca
h thng

24

1.3. CU TRC CA HH
a. CU TRC N KHI:
L mt tp hp cc th tc, mi th tc c
th gi thc hin mt th tc khc bt k
lc no cn thit
MS-DOS l mt h iu hnh c cu trc
n gin, n cung cp nhng chc nng
ln nht cho h thng ti thiu

25

CU TRC N KHI

CU TRC PHN LP
H thng c chia thnh mt s
lp
Mi lp c xy dng da trn
mt lp bn di
Lp di cng l phn cng, lp
trn cng l giao din vi ngi
s dng

Cu trc phn lp ca HH UNIX


Ngi s dng
Chng trnh tin ch chun

Th vin chun
H iu hnh Unix

Phn cng

CU TRC VI NHN
Vi cu trc vi nhn, phn nhn ch cha cc chc nng quan
trng nht. Cc chc nng cn li ca h iu hnh c t chc
thnh cc mun, c th hot ng trong ch u tin nh
phn nhn hoc nh cc chng trnh ng dng thng thng.
Mi khi c yu cu cung cp dch v t chng trnh ng dng,
yu cu s c chuyn cho mun tng ng thc hin

CU TRC MY O
L bn sao chnh xc cc c tnh phn
cng ca my tnh thc. c cung cp
phn cng v kernel ca HH nh my
tht
Ti nguyn my tnh vt l c chia s
to ra cc my o
Mi tin trnh c thc hin trn mt
my o c lp
31

Trong mt h iu hnh, y l cc phn ct li ca


chng trnh, c tr trong b nh, v thc hin hu ht
cc nhim v iu hnh chnh, nh qun l cc thao tc
vo ra a, v qun l b nh trong

32

CU TRC CLIENT/SERVER

Cc tin trnh c chia thnh 2 loi


Tin trnh Client: L cc tin trnh bn
ngoi hay tin trnh ca chng trnh
ngi s dng
Tin trnh Server: L cc tin trnh ca
HH

Khi cn thc hin 1 chc nng ca h


thng tin trnh client gi yu cu n
tin trnh server tng ng, tin trnh
server x l v tr v cho client
33

1.4 LCH S PHT TRIN CA HH


1. Th h 1(1945-1955)
My tnh dng ng chn khng ra i
Vn hnh my tnh cn 1 nhm ngi:
Thit k, xy dng chng trnh, thao tc,
qun l,
Cha c khi nim v ngn ng lp trnh
v HH

34

1.4 LCH S PHT TRIN CA HH


2. Th h 2(1955-1965)
My tnh dng bn dn ra i
B phn s dng my tnh c phn chia r rng:
ngi thit k, ngi xy dng, ngi lp trnh,
ngi vn hnh,
Ngn ng Assembly v Foxtran ra i
Chng trnh c vit trn phiu c l
H thng x l theo l ra i, cc yu cu thc hin
c lu trn bng t, h thng c v thi hnh ln
lt
H thng x l theo l hot ng di s iu khin
ca 1 chng trnh c bit
35

1.4 LCH S PHT TRIN CA HH


3. Th h 3(1965-1980)
My tnh c s dng rng ri
Ra i my tnh IBM 360 s dng mch IC
Thit b ngoi vi dng cho my tnh xut hin ngy
cng nhiu
Cc thao tc iu khin my tnh ngy cng phc
tp
HH ra i nhm iu , kim sot hot ng ca
h thng v gii quyt cc yu cu tranh chp thit
b
Bt u c khi nim a chng, chia s thi gian
thc v k thut spool
Xut hin HH Multics v Unix
36

1.4 LCH S PHT TRIN CA HH


4. Th h 4(1980->)
My tnh c nhn ra i
HH MS-DOS ra i gn lin vi my tnh
IBM PC
Ra i v pht trin nhiu HH gn lin
vi s pht trin ca phn cng my tnh

37

CHNG II:

QUN L TIN TRNH

1. TNG QUAN V TIN TRNH

1.1 Tin trnh (process)


Tin trnh l mt chng trnh ang c
thc thi, c s hu 1 con tr lnh, tp
cc thanh ghi v cc bin
hon thnh tc v ca mnh, mt tin
trnh c th cn n mt s ti nguyn
nh CPU, b nh chnh, cc tp tin v
thit b Vo/Ra.

1.1 Tin trnh (process)


Tin trnh s hu 3 thnh phn: Code, Data,
Stack
Code: Thnh phn cu lnh thc hin
Data: Thnh phn d liu
Stack: Thnh phn lu thng tin tm thi

Cc cu lnh trong code ch dng data v


stack ring ca mnh ngoi tr cc vng
dng chung
Tin trnh c h thng phn bit bng s
hiu pid (proccess indentification)

Thng tin m t tin trnh


H iu hnh cn c cc thng tin v tin trnh lu trong cu
trc d liu PCB (Process Control Block), gm:
- S nh danh ca tin trnh: tin trnh c gn mt s nh
danh PID cho php phn bit vi tin trnh khc. S nh
danh ny c h iu hnh s dng tm v tr tng ng
vi tin trnh trong bng tin trnh (xem phn sau), hoc s
dng tham chiu gia cc bng khc nhau lu thng tin
lin quan n tin trnh.
- Trng thi tin trnh: mt trong nm trng thi lit k phn
trc.
- Ni dung mt s thanh ghi CPU: ni dung mt s thanh ghi
quan trng nh: Thanh ghi con tr lnh, Thanh ghi con tr
ngn xp, Cc thanh ghi iu kin v thanh ghi trng thi,
Cc thanh ghi a dng khc.

Thng tin phc v vic iu tin trnh


Thng tin v b nh ca tin trnh
Danh sch cc ti nguyn khc
Thng tin thng k phc v qun l

nh danh T-trnh

PID

Cu trc d liu PCB

status
Trng thi T-trnh

Waiting/waiting list

CPU-state-rec
Processor
Ng cnh ca T-trnh

Main store

Unit 1

Resource
Created recource

Unit 2

RCB 1
RCB 1

RCB 2
RCB 2

Parent
Thng tin giao tip

PCB
Progency
Priority

Thng tin thng k

CPU time

PCB 1

PCB 2

1.2 Cc trng thi ca tin trnh


Trng thi ca tin trnh ti mi thi im
c xc nh bi hot ng hin thi ca
n, tc l 1 trong cc trng thi sau:
Mi: tin trnh c to lp
Sn sang: tin trnh sn sang, ang ch
cp CPU
Chy (thc thi): tin trnh ang c x l
Ch i: tin trnh tm dng v ch cp pht
ti nguyn hay ch 1 s kin no
Kt thc: Tin trnh hon tt

M t chuyn trng thi ca tin trnh

Mi khi to Sn sng: tin trnh c khi to


xong v c ti vo b nh, ch ch c cp CPU
chy
Sn sng Chy: do kt qu iu ca h iu
hnh, tin trnh c h iu hnh cp pht CPU v
chuyn sang trng thi chy.
Chy Sn sng: h iu hnh cp pht CPU cho tin
trnh khc do kt qu iu hoc do xy ra ngt, tin
trnh hin thi chuyn sang trng thi sn sng v ch
c cp CPU
Chy Ch i c d liu, hay thc hin li gi h
thng, tin trnh chuyn sang trng thi ch i hoc
cn gi l trng thi b phong ta (blocked).
Ch i
Sn sng: khi s kin c ch i xy
ra, tin trnh s c chuyn sang trng thi sn sng.
Chy bb Kt thc: tin trnh thc hin xong, c
chuyn sang trng thi kt thc.

PCB ca cc tin trnh ang c trong h thng


c lin kt thnh thnh mt s danh sch,
mi danh sch bao gm tin trnh c cng trng
thi hoc tin trnh ang cng ch i mt ti
nguyn

1.3 Ch x l ca tin trnh


Tin trnh ca HH cn c bo v khi
s xm phm ca tin trnh khc
Ch x l c chia thnh 2 ch
nh s h tr ca phn cng: c quyn
v khng c quyn
Tin trnh ca HH hot ng trong ch
c quyn v ca ngi s dng hot
ng trong ch khng c quyn

1.3 Ch x l ca tin trnh


Tp lnh ca CPU c chia thnh 2 tp
users

Ch khng c quyn

Shell, editor
OS
Hardware

Ch c quyn

1.4 Cc thao tc iu khin


tin trnh
a. Khi to tin trnh
HH gn PID v a vo danh sch qun l ca
h thng
Cp pht khng gian b nh
Khi to cc thng tin cn thit cho khi iu
khin tin trnh: Cc PID ca p cha (nu c),
thng tin trng thi, u tin, ng cnh ca
processor
Cung cp y cc ti nguyn (tr processor)
a tin trnh vo danh sch p no : ready
list, suspend list, waiting list

b. Kt thc tin trnh HH thc hin cc thao


tc:
Thu hi ti nguyn cp pht cho p
Loi b tin trnh ra khi danh sch qun
l ca h thng
Hy b khi iu khin p

c. Thay i trng thi ca p HH thc hin:


Lu ng cnh ca processor
Cp nht PCB (process control block) ca tin
trnh sao cho ph hp vi trng thi ca p
Di chuyn PCB ca p n 1 hng i thch hp
Chn tin trnh khc cho php n thc hin
Cp nht PCB ca p va thc hin
Cp nht thng tin lin quan n qun l b nh
Khi phc li ng cnh ca processor

Chuyn i ng cnh P0

P1

1.6 Tiu trnh (thread)

Thng thng mi tin trnh c 1 khng gian


a ch v 1 dng x l
Mong mun c nhiu dng x l cng chia s 1
khng gian a ch v cc dng x l hot ng
song song nh cc tin trnh c lp
Xut hin HH c c ch thc thi gi l tiu
trnh
Tiu trnh l:
1 n v x l c bn
S hu 1 con tr lnh, tp cc thanh ghi, 1 vng
nh stack ring
C cc trng thi nh tin trnh tht.

Trong m hnh n lung, tin trnh PCB cha


y thng tin v trng thi tin trnh, gi tr
cc thanh ghi, c ngn xp cha tham s v
trng thi hm/th tc/chng trnh con khi
thc hin chng trnh con.
Khi thc hin, tin trnh s lm ch ni dung
cc thanh ghi v con tr lnh.
i vi m hnh a lung, do mi lung c
chui thc hin ring ca mnh, mi lung cn
c kh nng qun l con tr lnh, ni dung
thanh ghi. Lung cng c trng thi ring nh
chy, b kha, sn sng.

Ti nguyn ca tin trnh v lung


Tin trnh l n v c h iu hnh s dng
phn phi ti nguyn. Mi tin trnh v tt c
cc lung thuc tin trnh s s hu chung
mt s s ti nguyn bao gm:
- Khng gian nh ca tin trnh. y l khng
gian nh lgic, c th l khng gian nh o,
c s dng cha phn chng trnh (cc
lnh), phn d liu ca tin trnh.
- Cc ti nguyn khc nh file do tin trnh m,
thit b hoc cng vo/ra.

u im ca m hnh a lung
1) Tng hiu nng v tit kim thi gian. Dng chung ti
nguyn Vic chuyn i lung nhanh hn vi chc ln
so vi to mi tin trnh.
2) D dng chia s ti nguyn v thng tin. Ti nguyn
dng chung cho php lung d dng lin lc vi nhau
3) Tng tnh p ng. Tin trnh c th s dng mt
lung thc hin nhng thao tc i hi nhiu thi
gian nh c file di, s dng mt lung khc tip
nhn v x l yu cu ca ngi dng, trnh cm gic
tin trnh b treo.
4) Tn dng c kin trc x l vi nhiu CPU, cc
lung c th chy song song trn nhng CPU khc
nhau, nh vy tng c tc x l chung ca tin
trnh.
5) Thun li cho vic t chc chng trnh. Mt s
chng trnh c th t chc d dng di dng nhiu
lung thc hin ng thi.

Lung mc ngi dng: do trnh ng dng t to ra v qun l, h iu hnh


khng bit v s tn ti ca nhng lung nh vy.
u im:
Vic chuyn i lung khng i hi phi chuyn sang ch nhn v do
vy tit kim thi gian hn.
Trnh ng dng c th iu lung theo c im ring ca mnh, khng
ph thuc vo phng thc iu ca h iu hnh.
C th s dng lung mc ngi dng c trn nhng h iu hnh khng
h tr a lung bng cch b sung th vin lung m cc ng dng c th
dng chung.
Nhc im:
Khi mt lung ca tin trnh gi li gi h thng v b phong ta, th ton b
tin trnh s b phong ta v phi i cho ti khi li gi h thng thc hin
xong.
Khng cho php tn dng kin trc nhiu CPU. Do h iu hnh phn phi
CPU cho c tin trnh ch khng phi tng lung c th nn tt c cc
lung ca tin trnh phi chung nhau mt CPU thay v thc hin song song
trn nhiu CPU khc nhau.

Lung mc nhn
Lung mc nhn c h iu hnh to ra v
qun l. H iu hnh cung cp giao din lp trnh
bao gm mt s li gi h thng m trnh ng
dng c th gi yu cu to/xa lung v thay
i tham s lin quan ti qun l lung. u im
ch yu ca lung mc nhn l khc phc c
cc nhc im ca lung mc ngi dng. Trn
h thng vi nhiu CPU, lung mc nhn c th
c cp CPU khc nhau thc hin song song.
Nhc im ch yu ca lung mc nhn so vi
lung mc ngi dng l tc . Vic to v
chuyn lung i hi thc hin trong ch nhn
v do vy cn mt s thao tc chuyn t ch
ngi dng sang ch nhn v ngc li.

IU TIN TRNH

Tiu ch ca iu tin trnh:


Lng tin trnh c thc hin xong: s lng tin trnh
thc hin xong trong mt n v thi gian.

Hiu sut s dng CPU. T l phn trm thi gian CPU


trong trng thi hot ng
Thi gian vng i trung bnh tin trnh. thi gian t lc c
yu cu khi to tin trnh ti khi tin trnh kt thc (tng thi
gian ti tin trnh, thi gian ch i, chy, vo/ra d liu).
Thi gian ch i. Tnh bng tng thi gian tin trnh nm
trong trng thi sn sng v ch c cp CPU, ph thuc
thut ton iu CPU.
Thi gian p ng. y l tiu ch hng ti ngi dng v
thng c s dng trong h thng tng tc trc tip: tiu
ch quan trng l m bo thi gian t lc nhn c yu cu
cho ti khi h thng c p ng.
Ngoi ra cng cn quan tm n tnh cng bng v tnh d
on c

Cc dng iu
iu di hn v ngn hn
quyt nh
thm vo danh
sch ang hot
ng.

quyt nh cp
b nh cho tin
trnh

quyt nh cp CPU cho


tin trnh thc hin.

a) iu c phn phi li v khng phn


phi li (Preemptive - Nonpreemptive)
iu c phn phi li l kiu iu s dng
c ch ngt thu hi CPU ca mt tin trnh,
phn phi li CPU mt cch ch ng, khng cn
ch cho ti khi tin trnh ang chy kt thc hoc
chuyn sang trng thi ch i.
iu khng phn phi li: Tin trnh ang
trng thi chy s c s dng CPU cho n khi
tin trnh kt thc, hoc chuyn sang trng thi
ch i hoc li gi h thng, hoc ch i tn
hiu ng b t tin trnh khc, cn gi l iu

hp tc (cooperative)

C ch iu
c quyn: Tin trnh ton quyn s dng
processor cho n khi kt thc hoc t
ng tr li
Quyt nh iu khi tin trnh chuyn t
Running sang Waiting (blocked) hoc kt thc

Khng c quyn: Tin trnh ang x l th


b thu hi processor cp cho tin trnh
khc
Quyt nh iu khi tin trnh chuyn t
Running sang Waiting (blocked) hoc ready
hoc kt thc hoc t Waiting sang ready

Cc c im ca tin trnh

Tnh hng xut nhp


Tnh hng x l
Tng tc hay x l theo l
u tin ca tin trnh
Thi gian s dng CPU
Thi gian cn li tin trnh hon tt

T chc iu
HH s dng 2 loi danh sch t chc
lu tr cc tin trnh:
Danh sch Ready: Ch tn ti 1 danh sch
ny
Danh sch Waiting: C th tn ti nhiu danh
sch ny

Cc chin lc iu
a) Chin lc FCFS: Tin trnh no c a vo
danh sch ready trc s c cp Processor trc.
V d
Thi im cp processor
Tin trnh

Thi im t/g x l
vo

P1

P2

P3

P1

24

24

27

P2

P3

Thi gian ch: P1: 0, P2: 23, P3: 25

Thi gian ch i trung bnh: Ttb

= (0 + 24 + 27)/3

= 17
Nhn xt, nu cp CPU theo th t P2, P3, P1, hoc P3,
P2, P1, ta c: Ttb = (0 + 3 + 6)/3 = 3

b) Chin lc phn phi xoay vng:


Round Robin (RR)
Tin trnh no vo danh sch Ready trc c cp
processor trc
Mi tin trnh ch c s dng processor trong 1 khon
thi gian bng nhau c gi l Quantum

V d

Tin trnh

Thi im vo

t/g x l

P1

24

P2

P3

Quantum=4

Tin P1
trnh

P2

P3

P1

P1

P1

P1

Thi 0
im

10

14

18

22

Mt v d khc:
Vi
Quantum = 2,

c) Chin lc theo u tin:


Mi tin trnh c gn mt u tin tng ng,
tin trnh c u tin cao nht s c cp pht
CPU u tin
u tin ca tin trnh do HH gn v c th b
thay i
Gii thut iu vi u tin c th theo nguyn
tc c quyn hay khng c quyn
iu vi u tin v khng c quyn s thu
hi processor t tin trnh hin hnh cp cho tin
trnh mi nu u tin ca tin trnh ny cao hn
iu vi u tin v c quyn s ch chn tin
trnh mi vo danh sch sn sng ti v tr ph hp.

V d
Tin trnh

u
tin

t/g x l

P1

24

P2

P3

Thi im cp processor
P1

P2

P3

24

27

Nhc im: Tin trnh c u tin thp


d ri vo trng thi ch v hn
=>Cn gim u tin ca tin trnh sau
mi ln c cp processor

d) Chin lc cng vic ngn nht


(shortest job first - SJF):
y l mt trng hp c bit ca gii thut
iu vi u tin
u tin p c gn cho mi tin trnh l
nghch o ca thi gian x l t m tin trnh
yu cu : p = 1/t
CPU c s c cp pht cho tin trnh
yu cu t thi gian nht kt thc tin trnh
Gii thut ny cng c th c quyn hoc
khng c quyn

V d:

Thi gian ch i trung bnh


(6 + 2 +0)/3 = 2,67.

e) Chin lc nhiu cp u tin


Phn lp cc tin trnh ty theo u tin ca
chng c cch thc iu thch hp cho tng
nhm
Mi danh sch bao gm cc tin trnh c cng
u tin v c p dng mt gii thut iu
thch hp iu
Ngoi ra, cn c mt gii thut iu gia cc
nhm, thng gii thut ny l gii thut khng c
quyn v s dng u tin c nh
Mt tin trnh thuc v danh sch cp u tin i s
ch c cp pht CPU khi cc danh sch cp u
tin ln hn i trng

f) iu u tin thi gian cn li ngn


nht (Shortest Remaining Time First SRTF)
Khi mt tin trnh mi xut hin, h iu hnh so
snh thi gian cn li ca tin trnh ang chy
vi thi gian tin trnh mi xut hin yu cu.
Nu ngn hn, HH s thu hi CPU phn phi
cho tin trnh mi. Vd:

g) iu vi nhiu hng i
l phng php iu trong tin trnh c phn chia thnh
nhiu loi ty theo c im v u tin. Mi loi c xp
trong mt hng i ring v c iu theo mt phng php
ph hp vi c im ca loi tin trnh .
Thng thng, tin trnh tng tc trc tip c iu theo
phng php quay vng RR trong khi tin trnh nn c iu
FCFS.

IU TIN TRNH
iu (scheduling) hay lp lch l quyt
nh tin trnh no c s dng ti nguyn
phn cng khi no, trong thi gian bao lu.
Bi ton iu c t ra vi mi dng
ti nguyn khc nhau, chng hn thit b vo
ra, CPU, b nh, k c trong trng hp
c chia s thi gian hay khng. iu tin
trnh ch yu tp trung vo thut cp pht
CPU cho tin trnh.

TI NGUYN GNG V
ON GNG

2.1 Ti nguyn gng(Critical Resource)


Ti nguyn gng?
Nhng ti nguyn c HH chia s cho
nhiu tin trnh hot ng ng thi dng
chung m c nguy c tranh chp gia cc
tin trnh ny khi s dng chng

Ti nguyn gng c th l ti nguyn phn


cng hoc phn mm, c th l ti nguyn
phn chia c hoc khng phn chia
c

2.1 Ti nguyn gng (Critical Resource)


V d: bi ton rt tin ngn hng t ti
khon dng chung
If (ti khon tin rt >=0)
ti khon:=ti khon tin rt
Else
Thng bo li
endif

2.2 on gng (Critical Section)


Cc on code trong cc chng trnh
dng truy cp n ti nguyn gng
c gi l on gng
hn ch li c th xy ra do s dng
ti nguyn gng, ti 1 thi im HH ch
cho 1 tin trnh nm trong on gng
HH c c ch iu tin trnh qua
on gng

Yu cu ca cng tc iu tin trnh


qua on gng
Ti 1 thi im ch cho php 1 tin trnh nm
trong on gng, cc tin trnh khc c nhu
cu vo on gng phi ch
Tin trnh ch ngoi on gng khng c
ngn cn cc tin trnh khc vo on gng
Khng c tin trnh no phi ch lu c
vo on gng
nh thc cc tin trnh trong hng i
to iu kin cho n vo on gng khi ti
nguyn gng c gii phng

iu tin trnh qua on gng


Gii thut Peterson

Gii thut Peterson c xut ban u cho bi


ton ng b hai tin trnh. Gi s c hai tin trnh
P0 v P1 thc hin ng thi vi mt ti nguyn
chung v mt on gng chung. Mi tin trnh thc
hin v hn v xen k gia on gng vi phn cn
li ca tin trnh.
Gii thut Peterson yu cu hai tin trnh trao i
thng tin vi nhau qua hai bin chung.
Bin th nht int turn xc nh n lt tin trnh no
c vo on gng. Bin th hai bao gm hai c
cho mi tin trnh bool flag[2], trong flag[i] = true
nu tin trnh th i yu cu c vo on gng.

a. Gii php phn cng: Cm ngt


Dng cp ch th STI (SeT-ting Interrupt) v CLI
(CLean Interrupt)
V d:

Procedure P(i: integer)


begin
repeat
CLI;
<on gng ca p>;
STI;
<on khng gng>;
until .F.
end;

Dng ch th TSL (Test_and_set)


Function TestAndSetLock(Var i:integer):boolean
Begin
if i=0 then
begin
i:=1;
TestAndSetLock:=true
end;
else
TestAndSetLock:=false
End;

Procedure P(lock: integer);


begin
repeat
while (TestAndSetLock(lock)) do;
<on gng ca p>;
lock:=0
<on khng gng>;
until .F.
end;

b. Gii php dng bin kha


- Dng bin kha chung
Procedure P(lock: integer);
begin
repeat
while lock=1 do;
Lock=1
<on gng ca p>;
lock:=0
<on khng gng>;
until .F.
end;

- Dng bin kha ring


Var lock1, lock2: byte;
begin
lock1:=0; lock2:=1
p1: repeat
while lock2=1 do;
Lock1:=1
<on gng ca p>;
lock1:=0
<on khng gng>;
until .F.
p2: repeat
while lock1=1 do;
Lock2:=1
<on gng ca p>;
lock2:=0
<on khng gng>;
until .F.

end

C. Gii php c h tr bi HH v ngn ng


lp trnh
Dng Semaphore(n bo)
Semaphore S l 1 bin nguyn, khi gn bng 1 gi tr
khng m, l kh nng phc v ca ti nguyn gng
tng ng vi n
ng vi S c 1 hng i F(s) lu cc tin trnh ang ch
trn S
Thao tc Down gim S 1 n v, Up tng S 1 n v
Mi tin trnh trc khi vo on gng cn gi Down
gim S v kim tra nu S>=0 th c vo on gng
Mi tin trnh khi ra khi on gng phi gi Up tng S
ln 1 n v v ktra nu S <=0 th a 1 tin trnh trong
F(s) vo on gng

Procedure Down(S);
Begin
S:=S-1;
If s<0 then
Begin
Status(p)=waiting;
Enter(p,F(s));
end

End;

Procedure Up(S);
Begin
S:=S+1;
If s<0 then
Begin
Exit(Q,F(S));
Status(Q)=ready;
Enter(Q,ready-list);
end

End;

3. TC NGHN V CHNG
TC NGHN

Tc nghn
S xung t v ti nguyn ca cc tin trnh hot ng ng
thi trong h thng
Tc nghn thng xy ra vi xung t ti nguyn khng phn
chia c, t xy ra vi ti nguyn phn chia c. Vd Hai

tin trnh P v Q thc hin ng thi. Mi tin trnh cn s


dng ng thi hai ti nguyn X v Y trong mt khong
thi gian nht nh. Ti nguyn X v Y ch c kh nng phc
v mt tin trnh ti mt thi im.

iu kin hnh thnh tc nghn


1. S dng ti nguyn khng th chia s
2. Chim gi v yu cu ti nguyn
3. Khng thu hi ti nguyn t tin trnh ang
chim gi chng
4. i vng trn
Bn iu kin trn l cn v xy ra b
tc. Cn lu rng iu kin 2 l h qu ca
iu kin 4 v iu kin 3, tch ring thun
li cho vic tm hiu c ch x l b tc.

3.3 Cc mc phng trnh tc nghn


1. Ngn nga
2. D bo v trnh tc nghn
3. Nhn bit v khc phc

Loi tr tng h: C th trnh loi tr


tng h i vi nhng ti nguyn cho
php nhiu tin trnh s dng mt lc v
d cc file trong ch c. Tuy nhin,
trn thc t lun lun tn ti ti nguyn
khng c kh nng chia s ng thi nh
vy v cn m bo loi tr tng h khi
s dng chng. Do vy khng th ngn
nga iu kin v loi tr tng h.

Gi v ch: C hai cch ngn nga iu kin


ny.
Cch th nht l yu cu tin trnh phi nhn
ton b ti nguyn cn thit trc khi thc
hin tip, nu khng nhn , tin trnh b
phong ta ch cho n khi c th nhn
ti nguyn.
Cch th hai l tin trnh ch c yu cu
ti nguyn nu tin trnh khng gi ti
nguyn no khc

Khng c phn phi li iu kin ny c th


ngn nga nh sau. Khi mt tin trnh yu cu ti
nguyn nhng khng c do b cp pht, h
iu hnh s thu hi li ton b ti nguyn tin
trnh ang gi. Tin trnh ch c th thc hin tip
sau khi ly c ti nguyn c cng vi ti
nguyn mi yu cu. Mt cch thc hin khc l
khi tin trnh yu cu ti nguyn, nu ti nguyn
cn trng, ta cp pht ngay. Nu ti nguyn do
tin trnh khc gi v tin trnh ny ang ch cp
thm ti nguyn th thu hi li cp cho tin trnh
yu cu.

Ch i vng trn Mt trong nhng cch


ngn nga ch i vng trn l xc nh
mt th t cho cc dng ti nguyn trong
h thng v ch cho php tin trnh yu
cu ti nguyn sao cho ti nguyn m tin
trnh yu cu sau c th t ln hn ti
nguyn m tin trnh yu cu trc.

Phng trnh b tc ging ngn nga b tc ch


u nhm m bo b tc khng th xy ra (thc
cht cng l ngn nga). Tuy nhin, phng trnh
b tc cho php ba iu kin u xy ra v ch
m bo sao cho trng thi b tc khng bao gi
t ti.
Mi yu cu cp ti nguyn ca tin trnh s c
xem xt v quyt nh ty theo tnh hnh c th,
thay v tun theo mt quy tc chung nh trong
trng hp ngn nga. lm c nh vy, h
iu hnh yu cu tin trnh cung cp thng tin v
vic s dng ti nguyn ca mnh v s dng
thng tin ny khi cp pht. Dng thng tin n
gin v hiu qu nht l s lng ti a ti nguyn
tin trnh cn s dng

QUN L B NH

1. TNG QUAN
C th hnh dung b nh my tnh nh mt chui
cc nh c nh a ch bt u
t 0. n v nh a ch c th l t my (words)
nhng thng l byte. Trong qu trnh thc hin
tin trnh, CPU c cc lnh t b nh v thc
hin cc lnh ny. Cc lnh c th c yu cu
c, x l v ghi d liu ngc vo b nh.
c th thc hin cc lnh v x l d liu, c d
liu v lnh u phi c gn a ch. CPU s
dng a ch xc nh lnh v d liu c th.

Qu trnh to v ti
chng trnh vo b nh

a ch l gic v a ch vt l
Do v tr tin trnh trong b nh c th thay i, cn
phn bit hai loi a ch: a ch lgic v a ch vt
l.
a ch lgic l a ch c gn cho cc lnh v d
liu khng ph thuc vo v tr c th ca tin trnh
trong b nh. Khi thc hin chng trnh, CPU nhn
thy v s dng a ch lgic ny tr n cc
phn khc nhau ca lnh, d liu. Ton b a ch
c gn trong chng trnh to thnh khng gian
nh lgic ca chng trnh.
a ch vt l l a ch chnh xc trong b nh ca
my tnh v c phn cng qun l b nh t ln
BUS a ch truy xut n nh tng ng
a ch lgic c nh x sang a vt l nh mt c
ch phn cng gi l khi nh x b nh
(MMU=Memory Mapping Unit).

1.1 V sao phi t chc, qun l b nh?


CPU ch c th trao i thng tin vi b nh chnh
Cc chng trnh mun c thc thi cn c
np vo b nh chnh, to lp tin trnh tng ng
x l
Cc h thng a chng trn b nh chnh ngoi
HH c th c nhiu tin trnh ang hot ng
Kch thc b nh chnh l hu hn nhng yu cu
b nh th v hn

1.1 V sao phi t chc, qun l b nh?


HH cn phi t chc qun l b nh mt
cch hp l c th:
a bt k mt tin trnh no vo b
nh khi c yu cu, cho d khi trn b
nh khng cn khng gian trng
Bo v cc tin trnh ca h iu hnh v
cc tin trnh trn b nh, trnh cc trng
hp truy xut bt hp l xy ra.

1.2 Nhim v ca b phn qun l b nh

Ti nh v
Bo v b nh
Chia s b nh
T chc b nh logic
T chc b nh vt l

Ti nh v
Trong cc h thng a chng khng gian
b nh chnh thng c chia s cho
nhiu tin trnh v yu cu b nh ca cc
tin trnh lun ln hn khng gian b nh
vt l m tin trnh m h thng hin c
Cn thc hin c ch hon i (Swap):
Mt chng trnh ang hot ng trn b nh
s b a ra a (swap-out) v s c a
vo li(swap-in) ti thi im thch hp

Ti nh v
Khi thc hin swap-in 1 chng trnh vo
li b nh HH phi nh v n ng vo
v tr m trc khi n b swap-out
HH phi c c ch ghi li tt c cc
thng tin lin quan n 1 chng trnh b
swap-out.
Cc thng tin ny l c s h iu
hnh swap-in chng trnh vo li b nh
chnh v cho n tip tc hot ng.

Bo v b nh
Mi tin trnh phi c bo v chng li
s truy xut bt hp l v tnh hay c ch
ca cc tin trnh khc.
Mi tin trnh ch c php truy xut n
khng gian a ch m HH cp cho n
B phn Ql b nh phi bit khng gian a
ch ca tt c cc tin trnh trn b nh
Khi tin trnh a ra a ch truy xut b phn
Ql b nh phi kim tra tt c cc yu cu
truy xut b nh ca mi tin trnh

Chia s b nh
Bt k mt chin lc no c ci t
u phi c tnh mm do cho php
nhiu tin trnh c th truy cp n
cng mt a ch trn b nh chnh

T chc b nh logic
B nh chnh ca h thng my tnh c t
chc nh l mt dng hoc mt mng
Khng gian a ch bao gm mt dy c th
t cc byte hoc cc word.
B nh ph cng c t chc tng t
Cch t chc ny c s kt hp cht ch vi
phn cng my tnh nhng li khng ph
hp vi cch xy dng ca chng trnh
i a s cc chng trnh c t chc thnh cc
modul

T chc b nh vt l
B nh my tnh c t chc theo 2 cp:
B nh chnh: tc truy xut nhanh,
nhng gi thnh cao v d liu khng th
tn ti lu di trn n.
B nh ph: gi r, dung lng ln, d
liu c lu tr lu di nhng tc
truy xut chm.
Theo gin 2 cp ny, vic t chc
lung thng tin gia b nh chnh v b
nh ph l nhim v quan trng ca h
thng

1.3 Khng gian a ch v khng gian vt


l
a ch logic: cn gi l a ch o, l tt c
cc a ch do b x l to ra.
a ch vt l: l a ch thc t m trnh
qun l b nh nhn thy v thao tc.
Khng gian a ch: l tp hp tt c cc
a ch o pht sinh bi mt chng trnh.
Khng gian vt l: l tp hp tt c cc
a ch vt l tng ng vi cc a ch o

1.4 Cc cu trc chng trnh

Cu trc chng trnh tuyn tnh


Cu trc chng trnh ng
Cu trc chng trnh Overlay
Cu trc chng trnh phn trang
Cu trc chng trnh phn on

Cu trc chng trnh tuyn tnh


Tt c cc modun, th vin s dng trong
chng trnh khi bin dch s c bin
dch thnh 1 modun duy nht
Khi thc hin HH phi np ton b
modun ny vo b nh
Cu trc chng trnh ny c tnh c lp
cao v c tc thc thi cao
Lm lng ph b nh v kch thc
chng trnh tng ln khi bin dch

Cu trc chng trnh ng


Chng trnh c vit di dng cc modun ring
r
c bin dch thnh cc modun ring r, cc th
vin chun ca HH v ca NNlp trnh khng
c tch hp trong modun chnh ca chng trnh
Khi thc thi chng trnh ch 1 modun chnh c
np vo b nh, cc modun khc khi cn s c
np vo sau
Cu trc ny tit kim c khng gian nh nhng
thc thi chp hn cu trc tuyn tnh

Cu trc chng trnh Overlay


Chng trnh c bin dch thnh cc
modun ring r
Cc modun chng trnh c chia thnh
cc mc khc nhau:
Mc 0: Cha modul gc dng np
chng trnh
Mc 1: Chc cc modul c gi bi mc 0
Mc 2: Chc cc modul c gi bi mc 1

Mc i: Chc cc modul c gi bi mc i-1

Cu trc chng trnh Overlay


Cc modun trong cng mt mc c th c kch
thc khc nhau, kch thc ca modun ln nht
trong lp c xem l kch thc ca mc
B nh dnh cho chng trnh cng c t chc
thnh cc mc tng ng vi cc chng trnh
Khi thc hin chng trnh HH np s overlay
ca chng trnh vo b nh sau np cc
modun cn thit ban u vo b nh
HH da vo s overlay np cc modun
khc nu cn

Cu trc chng trnh phn trang


Cc modun chng trnh c bin dch
thnh 1 modun duy nht nhng sau
c chia thnh cc phn c kch thc
bng nhau c gi l cc trang
B nh phi c phn trang, tc chia
thnh cc khng gian nh bng nhau gi
l khung trang
HH phi xy dng b iu khin
trang(PCT-page control table)

Cu trc chng trnh phn on


Chng trnh c bin dch thnh nhiu modun
c lp, c gi l cc on
B nh phi c phn on, tc chia thnh cc
khng gian c kch thc c th khng bng nhau
tng ng vi kch thc ca cc an chng
trnh
Khi thc hin chng trnh HH c th np tt c
cc on hoc 1 vi on cn thit vo cc phn
on nh lin tip hoc k lin tip
HH phi xy dng b iu khin on(SCTSegment control table)

2. K THUT CP PHT B
NH

2.1 K thut phn chng c nh


Khng gian a ch c chia thnh 2
vng c nh
Vng a ch thp dng cha HH
Vng cn li (tm gi l user program) cp
cho cc tin trnh c np vo b nh chnh

2.1 K thut phn chng c nh


Vi h thng n chng:
Vic qun l b nh n gin v vng nh user program
ch cp cho 1 chng trnh
HH s dng 1 thanh ghi gii hn ghi a ch ranh gii
gia HH v chng trnh ngi s dng
Khi chng trnh ngi s dng a ra a ch cn truy
xut, HH s so snh vi gi tr gii hn c ghi trong
thanh ghi gii hn
Nu nh hn gi tr gii hn th HH t chi vic truy sut
Ngc li, nu ln hn s cho php truy xut

2.1 K thut phn chng c nh


Vi h thng a chng:
Vng nh user program c chia n phn khng nht thit
phi bng nhau. Mi phn c c gi l 1 phn
chng
Mi tin trnh c th c np vo 1 phn chng bt k
nu kch thc ca n <= kch thc ca phn chng v
phn chng ny cn trng
Khi c tin trnh cn c np vo b nh m khng cn
phn chng trng th HH s swap-out 1 tin trnh ti 1
phn chng no c kch thc va , khng cha
tin trnh ang trng thi ready hoc running v khng
c quan h vi tin trnh ang trng thi running khc
np tin trnh va c yu cu

2.1 K thut phn chng c nh


(8M)
(8M)
(8M)
(8M)
(8M)
(8M)
(8M)
OS (8M)

2M
4M
6M
8M
8M
12M
16M
OS(8M)

phn chng kch thc


bng nhau

phn chng kch thc


khng bng nhau

Hnh 3.1 V d v phn chng c nh ca b nh 64MByte

2.1 K thut phn chng c nh


C 2 kh khn vi vic dng phn chng
c nh c kch thc bng nhau
Th 1: Nu chng trnh c kch thc qu
ln so vi 1 kch thc ca phn chng,
gii quyt vic ny th:
Ngi lp trnh phi thit k chng trnh theo cu
trc overlay
Ch 1 phn cn thit ca chng trnh mi c
np vo b nh lc np chng trnh. Khi cn
mudun no m khng sn c trong b nh
ngi s dng phi np n vo ng phn
chng ca chng trnh v s ghi ln bt k
chng trnh hoc d liu trong

2.1 K thut phn chng c nh


Th 2: Khi kch thc ca chng trnh
nh hn kch thc ca 1 phn chng
hoc ln hn kch thc ca phn
chng nhng khng phi l bi s ca
kch thc phn chng.
iu ny gy ra s phn mnh ni vi,
lng ph b nh

2.1 K thut phn chng c nh


khc phc nhc im ny c th s
dng phn chng c nh c kch thc
khng bng nhau
C 2 la chn a tin trnh vo dng
phn chng ny

2.1 K thut phn chng c nh


La chn 1:
Mi phn chng c mt
hng i tng ng
Khi 1 tin trnh cn c np
vo b nh s a vo hng
i ca phn chng c kch Tin trnh
thc va cha n mi
c a vo phn chng
Nhc im: C th c phn
chng ang trng nhng li
c nhiu tin trnh ang ch
vo phn chng khc

OS

2.1 K thut phn chng c nh


La chn 2:
Dng 1 hng i chung
cho tt c cc phn
chng
Khi c tin trnh mun np
vo b nh nhng cha
c np s c a
vo hng i
Khi c phn chng trng,
HH s chn tin trnh c
kch thc va a
vo phn chng
Phng php ny gy kh
khn trong vic la chn
tin trnh np vo phn
chng

Tin trnh
mi

OS

2.2 K thut phn chng ng


Vng nh user program khng c phn
chia trc
Khi c tin trnh np vo b nh HH cp
cho n khng gian nh ng kch thc
ca n
Khi tin trnh kt thc vng nh ca n s
c thu hi HH cp cho tin trnh
khc k c tin trnh mi c kch thc
nh hn vng nh ca tin trnh gii
phng gii phng

2.2 K thut phn chng ng


1. Tin trnh 1,2,3,4 ln lt c np vo b nh
2. Tin trnh 2 kt thc, vng nh c gii phng
3. Tin trnh 5 c np vo vng nh ca tin trnh
2 va gii phng
4. Tin trnh 6 yu cu c np vo b nh nhng
khng th v khng c vng nh trng ph hp
np trong khi tng dung lng nh cn trng
ln hn kch thc m tin trnh yu cu
Process6
65k

Process4
128k

Process3
32k

Process2
Process5
128k
120k

Process1
64k

OS- 128k

2.2 K thut phn chng ng


Trong k thut phn chng ng, HH phi a ra
cc c ch thch hp qun l cc khi nh
cp pht hay cn trng trn b nh.
HH s dng 2 c ch: Bn bt v Danh sch
lin kt.
Hai c ch HH u chia khng gian nh thnh cc
n v cp pht c kch thc bng nhau, cc n
v cp pht lin tip nhau to thnh 1 khi nh, HH
cp pht cc khi nh ny cho cc tin trnh

2.2 K thut phn chng ng


C ch bn Bit: Mi n v cp pht
c i din bi mt Bit trong bn bit.
n v cp pht cn trng i din bng
bit 0, ngc li i din bng bit 1

Bn bit

2.2 K thut phn chng ng


C ch danh sch lin kt:
Mi khi trn b nh c i din bi mt
phn t trong danh sch lin kt
Mi phn t gm 3 trng chnh:
Trng u tin: cho bit khi nh cp pht (k
hiu P) hay cn trng (k hiu H)
Trng th 2: cho bit th t ca n v cp pht
u tin trong khi
Trng th 3: cho bit n v tng s n v cp
pht trong khi

2.2 K thut phn chng ng

2.2 K thut phn chng ng


Khi c mt tin trnh cn c np vo b
nh m b nh c nhiu hn mt khi nh
trng c kch thc ln hn kch thc ca
tin trnh , HH phi quyt nh chn mt
khi nh ph hp np tin trnh sao cho
vic la chn ny dn n vic s dng b
nh chnh l hiu qu nht.
C 3 thut ton m HH s dng trong
trng hp ny: Best-fit, First-fit, v Next-fit

2.2 K thut phn chng ng


Best-fit: chn khi nh c kch thc va ng
bng kch thc ca tin trnh cn c np vo b
nh.
First-fit: HH s bt u qut qua cc khi nh
trng bt u t khi nh trng u tin trong b
nh, v s chn khi nh trng u tin c kch
thc ln np tin trnh.
Next-fit: tng t nh First-fit nhng y HH
bt u qut t khi nh trng k sau khi nh va
c cp pht v chn khi nh trng k tip
ln np tin trnh

2.3 K thut phn trang n


B nh chnh c chia thnh cc phn
bng nhau v c nh, c nh s bt
u t 0 v c gi l cc khung trang
Khng gian a ch ca cc tin trnh cng
c chia thnh cc phn c kch thc
bng kch thc ca mt khung trang
c gi l cc trang
Khi tin trnh np vo b nh th cc trang
c np vo cc khung trang bt k cn
trng c th khng lin tip nhau

2.3 K thut phn trang n


HH s dng cc bng trang(PCT)
theo di v tr cc trang ca tin trnh trn
b nh. Mi tin trnh c bng trang ring

2.3 K thut phn trang n


S phn mnh trong c ch ny?
Nu kch thc ca tin trnh khng phi l
bi s ca kch thc 1 khung trang th s
xy ra hin tng phn mnh ni vi

2.4 K thut phn on n


B nh chnh c chia thnh cc phn
c nh c kch thc khng bng nhau,
c nh s bt u t 0 c gi l
cc phn on
Mi phn on bao gm s hiu phn
on v kch thc ca n
Khng gian a ch ca cc tin trnh k c
cc d liu lin quan cng c chia
thnh cc on c kch thc khng nht
thit phi bng nhau

2.4 K thut phn on n


Khi tin trnh c np vo b nh th tt
c cc on ca n c np vo cc
phn on cn trng trn b nh, cc
phn on ny c th khng lin tc nhau
theo di cc on ca cc tin trnh
khc nhau trn b nh HH s dng cc
bng phn on (SCT), thng thng mi
tin trnh c 1 bng phn on ring

2.4 K thut phn on n


Mi phn t t rong bng phn on ti
thiu gm 2 trng
Trng th nht: cho bit a ch c s ca
phn on m on chng trnh tng ng
c np
Trng th 2: cho bit di ca phn on

2.4 K thut phn on n


478
Code
100k
Data
64k

356

Stack
150

228
164
64
0

base
64
164
356

limit
100
64
150

3. K THUT B NH O

3.1 Khi nim nh o


thc thi chng trnh c kch thc ln
hn b nh vt l cp pht cho n
cn xy dng chng trnh theo cu trc Overlay
gy kh khn cho ngi lp trnh

khc phc kh khn cho ngi lp trnh,


tng s dng b nh o ra i
K thut b nh o cho php x l mt tin
trnh khng c np ton b vo b nh vt
l

3.1 Khi nim nh o


B nh o m hnh ho b nh nh mt
bng lu tr rt ln v ng nht, tch
bit hn khi nim khng gian a ch v
khng gian vt l
Ngi s dng ch nhn thy v lm vic
trong khng gian a ch o, chuyn i
sang khng gian vt l do h iu hnh
thc hin vi s tr gip ca cc c ch
phn cng

3.2 Ci t b nh o
C th ci t b nh o theo 2 k thut
Phn trang theo yu cu: S dng k thut
phn trang kt hp vi k thut swap
Phn on theo yu cu: s dng k thut
phn on kt hp vi k thut swap

3.2.1 Phn trang theo yu cu


S dng k thut phn trang kt hp vi k
thut swap
Mt chng trnh c xem nh 1 tp hp
cc trang thng tr trn b nh ngoi
Khi thc thi h thng khng np ton b
chng trnh vo b nh trong m ch np
nhng trang cn thit trong thi im hin ti
Mt trang ch c np vo b nh trong khi cn
thit

3.2.1 Phn trang theo yu cu


Cn c c ch phn cng phn bit
cc trang ang b nh trong v cc
trang ang b nh ngoi
T chc bng trang nh k thut phn trang
n nhng 1 phn t trong bng trang cha
nhiu thng tin phc tp hn
Cn c 1 bit cho bit trang tng ng ca
tin trnh c hay khng trong b nh chinh v
1 bit cho bit trang c b sa i hay khng so
vi ln np gn nht

Hin tng li trang


Khi h thng truy xut ti 1 trang c nh du

l bt hp l s lm pht sinh li trang, HH x l


li trang nh sau:

Bc 1: Kim tra truy xut n b nh l hp l hay bt


hp l
- Nu truy xut bt hp l : kt thc tin trnh
- Ngc li : n bc 2
Bc 2: Tm v tr cha trang mun truy xut trn a.
Bc 3: Tm mt khung trang trng trong b nh chnh
- Nu tm thy: n bc 4
- Ngc li, thc hin c ch swap out 1
trang thch hp trn b nh chnh sau cp nht bng
trang tng ng ri n bc 4

Hin tng li trang


Bc 4:
- Chuyn trang mun truy xut t b nh
ph vo b nh chnh ti khung trang
xc nh c
- Cp nht ni dung bng trang tng ng.
- Ti kch hot tin trnh ngi s dng

Thay th trang
Khi cc khung y m cn np thm trang
th phi thay th mt trang ang c trn
khung
Nu trang b thay th c thay i ni dung th
cn phi a ra a
C cc phng php chn phn t thay th:
Optimal:

Thay th trang s lu c s dng nht trong

tng lai

FIFO: trang trong b nh lu nht s c chn thay th


LRU (Least Recently Used ): trang c chn thay
th s l trang lu nht cha c truy xut

3.2.2 Phn on theo yu cu


B nh o bao gm cc on
(segment) c kch thuc khng c nh
Khi np on vo b nh th h iu
hnh tm khong trng np on
C bng on qun l cc on

3.2.3 Phn on kt hp phn trang


Kt hp cc u im ca phn on v
phn trang
B nh o bao gm cc on
Trong mi on thc hin phn trang

QUN L FILE V A

1. CC KHI NIM C BN

File?
File hay cn gi l tp tin, l tp hp thng
tin/d liu c t chc theo mt cu trc
no .
Ni dung ca tp tin c th l chng
trnh, d liu, vn bn,...
Mi tp tin c lu trn thit b lu tr
u c t tn.
Mi h iu hnh c qui c t tn khc
nhau, tn tp tin thng c 2 phn: phn
tn (name) v phn m rng (extension).

Cc thuc tnh trn file

Tn (name)
nh danh (identifier)
Kiu (type)
V tr (location)
Kch thc (size)
Gi (time), ngy (date) v nh danh ngi
dng (user identification)
Cc thng tin tp tin c lu tr trn cu trc
th mc v c duy tr trn thit b

Cc thao tc trn file

To
M
ng
Ghi
c
Di chuyn
Xa
Tm
Ly thuc tnh
i tn
.V.v.

Cc kiu file
File thng: l file vn bn hay file nh
phn cha thng tin ca ngi s dng
Th mc: l nhng file h thng dng
lu gi cu trc ca h thng file
File c k t c bit: lin quan n
Vo/Ra thng qua cc thit b Vo/Ra tun
t nh mn hnh, my in,..
File khi: dng truy xut trn thit b
a

Cu trc file
Cc h iu hnh thng h tr ba cu trc
file thng dng l:
Khng c cu trc: file l mt dy tun t
cc byte
C cu trc: File l mt dy cc mu tin
c kch thc c nh
Cu trc cy: File gm mt cy ca
nhng mu tin khng cn thit c cng
chiu di, mi mu tin c mt trng kho
gip vic tm kim nhanh hn

2. CC PHNG PHP TRUY XUT


Truy xut tun t
Truy xut trc tip

3. CU TRC TH MC

3.1 Cu trc th mc dng n cp


Mt th mc cho tt c cc tp tin

Th mc n cp c nhiu hn ch khi s
lng tp tin tng. V tt c tp tin c
cha trong cng th mc, chng phi c
tn khc nhau.

3.2 Cu trc th mc dng hai cp


Mi ngi dng c 1 th mc ring

cc ngi dng khc nhau c th c cc tp tin


vi cng mt tn
Cu trc ny c lp mt ngi dng t ngi
dng khc.

3.3 Cu trc th mc dng cy

3.4 Cu trc th mc dng th khng cha


chu trnh
C chung nhau th mc con v cc file

3.5. Cu trc th mc dng th tng qut

4. CC PHNG PHP CI T
H THNG QUN L TP TIN

4.1 BNG DANH MC QUN L TH


MC, TP TIN
Lu tr cc thng tin lin quan n cc tp tin v
cc th mc ang tn ti trn a(hoc thit b lu
tr khc)
Bng danh mc gm nhiu entry, mi entry s lu
thng tin v tn, thuc tnh, v tr lu tr,... ca mt
tp tin hay th mc.
Khi c tp tin/th mc c to ra, HH s dng
mt entry trong bng danh mc cha cc thng
tin ca n
Khi mt tp tin/th mc xa khi a th HH s gii
phng entry ca n trong bng danh mc

4.1 BNG DANH MC QUN L TH


MC, TP TIN
S lng entry trong bng danh mc c
th c nh hoc khng c nh
Bng danh mc thng c lu tr ti
mt khng gian c bit no trn a
Trong qu trnh hot ng bng danh mc
thng c HH np t a vo b nh
sn sng cho vic truy xut file ca
HH sau ny

4.2 Bng phn phi vng nh


HH chia khng gian a thnh cc khi
(block) c kch thc bng nhau
Ni dung file c chia thnh cc block
bng nhau v bng kch thc block trn
a tr block cui cng
Khi lu tp tin trn a HH cp va s
block lu tr tp tin
HH t chc bng phn phi vng nh

lu gi dy cc khi trn a cp pht cho


tp tin hay th mc

4.3 Cc phng php cp pht vng nh


Cp pht lin tc: lu tr tp tin trn dy
cc block lin tip

4.3 Cc phng php cp pht vng nh


Cp pht theo danh
sch lin kt:
s dng danh sch
lin kt cc block
qun l cc block cha
file
Word u tin ca mi
block a c s
dng nh 1 con tr tr
n block k tip
Kch thc ca block
a ln hn kch thc
block file 1 word

4.3 Cc phng php cp pht vng nh


Cp pht theo danh sch
lin kt s dung Index:
Tt c cc con tr lin kt
cc block c lu vo 1
v tr gi l khi ch mc
Mi tp tin c khi ch
mc ca chnh n, l 1
mng a ch block a lu
tp tin

I-NODES
HH thit k 1 bng nh theo di cc block ca
1 file c gi l I-nodes
Mt I-nodes gm 2 phn:
Phn 1 cha cc thuc tnh tp tin
Phn 2 c chia ra lm 2 phn nh
Phn nh th nht gm 10 phn t, mi phn t cha a
ch khi d liu ca tp tin
Phn t th 11 cha a ch gin tip cp 1 (single indirect)
Phn t th 12 cha a ch gin tip cp 2 (double indirect)
Phn t th 13 cha a ch gin tip cp 3 (double indirect)

I-NODES
a ch gin tip cp 1:
Cha a ch ca mt khi,
trong khi cha mt
bng c th t 210 n 232
phn t m mi phn t
mi cha a ch ca khi
d liu ca tp tin
a ch gin tip cp 2:
cha a ch ca bng cc
khi a ch gin tip cp 1
a ch gin tip cp 3:
cha a ch ca bng cc
khi a ch gin tip cp
2.

Ti liu tham kho


T Minh Phng: Gio trnh H iu
hnh. Hc Vin CNBCVT, H Ni 2013
Trn Hnh Nhi, Gio trnh HH nng cao, H
Khoa hc T nhin Tp.HCM, 1998
Nguyn Gia nh-Nguyn Kim Tun, Nguyn L
HH, NXB Khoa hc k thut, 2005
William Stallting, Operating Systems, Prentice
Hall, 1995

You might also like