You are on page 1of 182

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy

chng I. Cc nguyn l c bn ca h iu hnh


1.1 S tin ho ca h iu hnh hin i
a. Khi nim h iu hnh
H iu hnh (Operating System - OS, di y vit tt ting Vit l HH) l mt h
thng cc chng trnh (v d liu - tham s h thng) c ci t sn (di dng cc
file trn a t - bng t) thc hin hai chc nng c bn:
- Chc nng ca mt h thng qun tr ti nguyn: Qun tr, phn phi cng
vic cho h thng thit b h thng thit b hot ng hiu qu nht,
- Chc nng ca mt my tnh m rng (my tnh o): Phc v nhu cu a dng
ca ngi dng mt cch tt nht.
Theo cch ni c th hn, HH l mt b cc mun phn mm h thng ng vai tr
giao din gia chng trnh ng dng vi phn cng h thng, vi mc tiu t ti mt
h thng my tnh hiu qu, tin cy v d s dng. Mt cch i th, tn ti cc chc
nng ring bit ca HH nh lp lch lm vic ca b x l (hoc cc b x l), phi
hp thc hin cc qu trnh (QT: process) tng tc nhau, qun l cc ti nguyn h
thng (chng hn nh cc thit b vo/ra, b nh trong, File...) ... nhm nng cao nng
lc iu khin v bo v, duy tr tnh ton vn h thng, thi hnh khi phc li v cung
cp mt giao din ngi dng. HH thng cu trc hai yu cu ny thnh hai lp:
dch v h thng v nhn ca HH.
Dch v h thng l nhng chc nng mc cao c chng trnh ng dng nhn bit
cn nhn (thng trc trong b nh trong) ch m bo nhng chc nng mang tnh c
bn nht v ph thuc vo kin trc h tng.
Hnh 1.1. m t khung nhn n gin v h thng my tnh theo cu trc lp. V tr ca
dch v h thng trong hnh cho thy vai tr quan trng ca lp ny.
Ngi dng
Chng trnh ng dng
Dch v h thng
Nhn
Phn cng my tnh
Hnh 1.1. Cu trc lp ca h thng my tnh

Vi ngha ng vai tr nh mt my tnh o, theo cch nhn ca ngi dng (t lp


chng trnh ng dng), HH l s tru tng ha ca h thng my tnh c trnh
din bng cc dch v h thng: HH c ch dn nh l mt my m rng (my tnh
o). Mc ch ca lp dch v h thng l nhm che y i nhng chi tit ca h thng
(phn cng v phn mm) i vi ngi dng.
Theo cch nhn ca ngi qun tr h thng, dch v h thng v nhn c coi l
ngi qun l ti nguyn. Qun l h thng ti nguyn (CPU, b nh, h thng vo ra,
file) khng ch kim sot c tnh trng ca cc ti nguyn m cn nhm khai thc
- 1-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
hiu qu nht. Mt s bi ton in hnh nh iu khin b nh, lp lch QT, iu
khin lin QT, iu khin file, iu khin vo ra ...
My tnh m rng v qun l ti nguyn l hai thut ng chung nht c dng xc
nh mt HH. My tnh m rng (tru tng my) l mc tiu thit k nguyn thy
i vi HH v qun l ti nguyn gii ngha cho vic thc hin mc tiu .
Thit k HH truyn thng thng bt u t yu t quan trng hn l qun l ti
nguyn, trong khi thit k HH hin i li tp trung nhiu hn vo yu t tru
tng my. V mt l tt nhin l yu t no l quan trng hn li ph thuc vo s
quan tm t pha ngi dng.
b. S b v s tin ha ca h iu hnh
Trong my tnh thuc cc th h u tin khng c HH. Cc thao tc chn cng vic,
phn cng cng vic u do thao tc vin (v thm ch ngay chnh ngi lp trnh)
thc hin. Theo thi gian, nng lc ca my tnh c nng cao: v tc x l ca
CPU, v dung lng b nh, v h thng thit b ngoi vi, v phn mm h thng cng
nh s lng v nng lc ngi s dng tng trng v v vy cn c mt h thng
chng trnh iu khin t ng h thng my tnh. Nhng yu t thc t nh vy lm
ny sinh nhng iu kin cn thit cho vic xut hin cc HH n gin.
Lch s tin ha ca HH trnh din mt qu trnh chuyn ha tng bc trong vic
thit k, t nhn mnh chc nng qun tr ti nguyn sang nhn mnh chc nng my
tnh m rng. Theo m hnh trong hnh 1.1. th iu c th hin vic chuyn ha
t nhn mnh nhn sang nhn mnh cc dch v h thng.
Theo lch s tin ha, HH hin i c phn ra thnh 4 th h: HH truyn thng
(tp trung), h iu mng, HH phn tn v h t tr cng tc. Th h gn y nht (h
t tr cng tc) ch trng thit k cc ng dng phn tn trong mi trng h thng m
(bao gm cc thnh phn h thng hn tp c tch hp mm do v c tnh kh
chuyn nhm h tr vic cng tc thc hin theo quy m ln mc ng dng).
Di y m t s b v cch thc phn bit cc HH ny theo (1) kt dnh phn
cng-phn mm v (2) t hp mc tiu-c trng.
Chiu gim kt dnh phn cng- phn mm
Th h 1

Th h 3

Th h 4

Th h 2

H iu
hnh tp
trung

H iu
hnh phn
tn

H iu
hnh t tr
cng tc

H iu
hnh mng

Hnh 1.2. Phn b ca cc th h h iu hnh theo kt dnh

kt dnh phn cng-phn mm cho bit h thng l "tp trung n mc no",


c o bng t hp kt dnh phn cng v kt dnh phn mm. Theo , phn b cc
th h HH c sp xp nh hnh 1.2. T s gia tng ph truyn thng lin b x l
so vi thi gian truyn thng nt ti b x l cng thp th kt dnh phn cng cng
cht. Kt dnh phn mm cht nu phn mm iu khin tp trung v s dng thng tin
ton cc.
- HH tp trung kt dnh phn cng - phn mm cht.
- 2-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
- HH phn tn (DOS): phn mm kt dnh cht trn nn phn cng kt dnh
lng,
- HH mng (NOS): c phn mm ln phn cng u kt dnh lng,
- H t tr cng tc (CAS) lm gim kt dnh cht phn mm (cch nhn lgic
tp trung ca DOS). CAS nm gia NOS v DOS.
Phn bit HH theo t hp mc tiu-c trng
Bng 1.1 trnh by s phn bit cc th h HH theo t hp mc tiu-c trng.
Bng 1.1. Phn bit h iu hnh theo mc tiu-c trng
Th h H thng
c trng
Mc tiu
Qun tr qu trnh
Qun tr ti nguyn
Qun tr b nh
1
HH tp trung
My tnh m rng (o)
Qun tr vo-ra
Qun tr file
Truy nhp t xa
Chia x ti nguyn
2
HH mng
Trao i thng tin
(lin thao tc)
Duyt mng
Khung cnh ton cc
Cch nhn ca mt my
ca: H thng file,
tnh duy nht ca mt h
Khng gian tn,
3
HH phn tn
thng phc hp cc my
Thi gian, an ton,
tnh (tnh trong sut)
Nng lc tnh ton
Cc ng dng phn tn Lm vic cng tc (t
4
H t tr cng tc
l m v cng tc
tr)
Mc tiu nguyn thy ca HH l my tnh o (virtual computer). Ba mc tiu b
sung l lin thao tc, trong sut v t tr hin vn ang l nhng ni dung nghin cu,
pht trin.
- Mc tiu lin thao tc hng ti nng lc to ra iu kin thun tin cho vic
trao i thng tin gia cc thnh phn hn tp trong h thng. y l mc tiu gi m
nguyn thu dn ti vic thit k HH mng trong mt mi trng hn tp.
- Khi nim trong sut (transparency) v khi nim o tng t nhau ch
cung cp tnh tru tng cao cho h thng. iu khc bit gia hai khi nim ny l
theo tnh o, ngi dng c th nhn thy ci h mun, trong khi tnh trong sut
m bo rng ngi dng khng nhn thy nhng ci h khng mun. o l mc tiu
quan trng ca HH tp trung cn trong sut l mc tiu quan trng ca DOS. Khi
nim trong sut cho php m t DOS nh mt h thng cung cp mt khung cnh
lgic ca h thng cho ngi dng, c lp vi h tng vt l. Ngi dng c c
cch nhn ca my tnh n cho mt h thng my tnh phc hp: s tn ti ca h
tng mng v hot ng ca h thng l trong sut vi ngi dng. T "trong sut"
y c hiu theo ngha 'thun khit" ca mt mi trng thun nht.
- Trong sut l mt mc tiu qu cao. Hn na, khng bt buc phi lun c t
ti tnh trong sut v n bao gi mt tp trung no . iu chc chn ph hp vi
ngi dng l h thch c c ci nhn ring v h thng. Ngi dng cn mt mi
trng m khng i hi nht thit v tnh trong sut m ch cn h thng cung cp
- 3-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
tnh m ngi dng bin i, chuyn, di tr, m rng phn mm ng dng ca h
mt cch c lp i vi s hn tp ca h thng. L do l, nh l rt t nhin, ngi
dng bit c s tn ti ca ti nguyn phc v s hin din ca cc ngi dng khc,
v ngi dng tr thnh cng tc hon ton vi h thng. T , h thng phn mm
c xy dng nh vic tch hp cc dch v cng tc, c cung cp t cc n v t
tr. Kiu hot ng nh vy ca h t tr cng tc rt ging x hi loi ngi. Hin ti
mt s h thng phn mm lp gia (middleware) c xy dng nh nhng phin bn
(version) ban u ca h t tr cng tc.
Lin thao tc, trong sut, v t tr l nhng tnh cht rt ng mong mun. Ngi dng
khng phi (thng l khng cn thit) bit HH hin ti c phi l mng, DOS, CAS
hay khng. Hu ht cc HH hin i l mt h thng tch hp. N l vic tin ha t
HH tp trung ti HH mng, HH phn tn v sau l h t tr cng tc, trong
ngi dng tip xc vi vic xy dng cc ng dng cng tc ln da trn cc khi
c cu trc hon ho.
1.2. Tng quan v h iu hnh truyn thng
Nh bit, HH truyn thng (cn c gi l HH tp trung vi n/a b x l)
chy trn mt my tnh l th h HH u tin, vi kt dnh cht ch phn mm phn cng trong mi ti nguyn c chia x mt cch ni ti v truyn thng lin
x l/lin QT c thc hin qua hoc chia x b nh hoc ngt QT trc tip. Trong
HH tp trung, h thng my tnh l tp trung: CPU (mt hoc nhiu) v b nh trong
tha mn mt s tnh cht nguyn thy ca chng (v d, tc truy nhp ca mt
CPU bt k ti mt a ch b nh trong bt k l ng nht ...). Coi rng ch c duy
nht "mt b CPU" cng duy nht "mt b nh trong" v khng h quan tm n s
khc bit thi gian truyn thng gia cc CPU hay gia cc b phn ca b nh trong.
Trong cc HH truyn thng, chc nng h qun tr ti nguyn c nhn mnh hn
cho nn vic thit k chng nh hng vo khai thc hiu qu cc ti nguyn phn
cng ca h thng. Cc bi ton iu khin CPU (lp lch), iu khin b nh trong,
iu khin d liu c c bit ch . HH truyn thng c tin ha t mt
chng trnh n gin (cung cp mt giao din ngi dng v iu khin vo - ra) ti
mt h a ngi dng/a bi ton hon ho vi cc yu cu v qun tr rt phc tp i
vi QT, b nh, file v thit b. S tin ha ny c th hin trong bng 1.2 m cc
chc nng qun l c t ra nhm p ng mi yu cu b sung.
Bng 1.2. Chc nng chnh ca h iu hnh tp trung
Yu cu h thng
Chc nng qun l
Ngi dng c nhn
Giao din ngi dng, iu khin vo - ra,
ngt, iu khin thit b
Vo - ra hiu qu
Thit b vo - ra o, spooling
Chng trnh ln
B nh o, phn trang hay phn segment
a chng trnh v phn chia thi gian
a ngi dng
Lp lch qu trnh
iu khin truy nhp v bo v
Chia x file v iu khin ng thi
a bi ton (a nhim)
X l ng thi
ng b ha qu trnh, b tc
Truyn thng lin qu trnh

- 4-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
C mt lu nh v chnh khi nim h iu hnh trong thi k nh du s pht trin
mnh ca HH truyn thng (vo khong nhng nm 1980). Trong nhiu ti liu, c
bit l ti liu v thit k HH, "h iu hnh" c hiu theo nhng ni dung c
trnh by trn y. Nhng trong khng t cc ti liu khc, "h iu hnh" c hiu
nh b cc chng trnh h thng (xem hnh 1.3) c cung cp cho ngi s dng v
ngoi nhng thnh t ni - tng ng vi thnh phn iu kin, HH cn c thnh
phn ng dng v thnh phn tin ch. L do chnh ca vic m rng ni dung khi
nim v HH nh vy lin quan n sn phm kt qu cung cp cho ngi s dng l
mt "b phn mm h iu hnh". Tuy nhin, khi trnh by bn cht ca HH, cch
quan nim ny cng nht qun vi cch quan nim ni v ni dung trong gio trnh
ny nht qun theo cch quan nim nh vy.
Ngi dng
Cc chng trnh ng dng
Trnh bin dch

Trnh son tho

Trnh thng dch

H iu hnh (Li gi h thng, nhn)

chng trnh
h thng

Ngn ng my
Vi chng trnh ti ROM

phn cng

Thit b vt l
Hnh 1.3. Mt cch nhn khc v kin trc mc h thng my tnh

Tip theo trong mc di y, chng ta m t s lc qu trnh tin ha ca HH


truyn thng.
1.2.0. Tin ha h iu hnh truyn thng
a. H iu hnh n chng trnh
HH n chng trnh (HH dy: serial OS) xut hin u tin: chng trnh ca
ngi dng c xp hng ln lt c a vo b nh trong v chy (thc hin).
Mt chng trnh sau khi c np t dng xp hng vo b nh trong c h thng
(cng ton b ti nguyn) phc v t khi chng trnh bt u chy cho n lc
chng trnh kt thc. Mt chng trnh c np vo b nh nh vy c th c thc
hin vi nhiu b d liu. Ch khi chng trnh ny kt thc th mi np tip chng
trnh khc trong dng i vo b nh trong. Trong h thng n chng trnh thc cht
khng cn gii quyt bi ton iu khin CPU (lp lich) v CPU c dnh ring
cho chng trnh hin ti.
Tuy nhin, vic np chng trnh v d liu vo b nh trong lm vic li lin quan
n thit b vo-ra a dng m trong giai on ban u ph bin l vo ba c l (thit
b vo chun) v ra my in (thit b ra chun). V ti mt thi im, ra i CPU tc
cao, tc np ba cng nh tc in ra khng theo kp vi tc ca CPU, v th
lm tng thi gian ngh v ch ca CPU m gy ra lng ph. i hi cn ci tin nhm
tng hiu qu hot ng. Mt trong nhng ci tin i vi HH n chng trnh l
hot ng theo ch SPOOLING (Simultaneous Peripheral Operation OnLine), m
theo tt c vic vo - ra i vi HH l lm vic vi a cng cn vo - ra t a
- 5-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
cng vi cc vt mang tin khc c m bo bng nhng c ch ring. Tc ca
ton b h thng c tng ln ng k. Ch SPOOLING cn c s dng trong
nhng HH a chng trnh xut hin sau ny.
b. H iu hnh a chng trnh
S tin b nhanh chng ca cng ngh my tnh dn ti dung lng b nh tng ln
ng k (vt xa dung lng trung bnh ca cc chng trnh ngi dng) v tc
CPU cng tng nhanh, ch hot ng a chng trnh xut hin. Ch a chng
trnh (multiprogramming) c phn loi theo hng c lp ngi dng (ch m)
v hng thn thin ngi dng (ch a ngi dng).
i vi HH a chng trnh, ti mi thi im c th c nhiu chng trnh ng
thi c mt b nh trong. Cc chng trnh ny u c nhu cu c phn phi b
nh v CPU thc hin. Nh vy, b nh, CPU, cc thit b ngoi vi v.v. l cc ti
nguyn ca h thng c chia x cho cc chng trnh. c im quan trng cn lu
l cc chng trnh ny phi c bnh ng khi gii quyt cc yu cu ti nguyn.
Khi nim chng trnh ni trong ch a chng trnh c dng ch c chng
trnh ngi dng ln chng trnh HH.
Khi so snh vi HH n chng trnh, c th nhn thy ngay mt iu l i vi mt
chng trnh c th th trong ch n chng trnh, chng trnh s kt thc
nhanh hn (thi gian chy ngn hn) so vi khi n chy trong ch a chng trnh;
nhng b li, trong mt khong thi gian xc nh th ch a chng trnh s hon
thin c nhiu chng trnh (gii c nhiu bi ton) hn, do hiu qu s dng
my tnh cao hn.
Mt trong nhng ti nguyn quan trng nht ca h thng my tnh l CPU. Vic chia
x CPU l mt trong nhng dng in hnh ca vic chia x ti nguyn. Tnh cht chia
x CPU li phn lp cc HH a chng trnh thnh cc lp con: HH hot ng theo
ch m (batch) v HH hot ng theo ch phn chia thi gian (time shared).

H iu hnh hot ng theo ch m


y l loi HH nh hng ti mc tiu lm cc i s lng cc bi ton c gii
quyt trong mt khong n v thi gian (c ngha l trong mt khong n v thi
gian th hng mc tiu vo vic hon thin c cng nhiu chng trnh cng tt).
nc ta nhng nm trc y, cc my tnh EC-1022, EC-1035 (HH OS), IBM
360/40-50 (HH DOS) ph bin hot ng theo ch m. Trong HH ch m,
cch thc iu khin CPU in hnh l mt chng trnh trng thi sn sng s c
chn thc hin (c phn phi CPU) khi chng trnh ang chy phi ngng v n
cn n mt ti nguyn khc CPU.
Cc HH theo ch m li c th phn bit thnh hai loi in hnh l MFT v
MVT: s phn bit chng theo cch iu khin b nh trong.
MFT: Multiprogramming with Fixed number of Tasks
Khi h thng lm vic, quy nh sn mt s lng c nh cc bi ton ng thi
b nh trong: B nh trong c chia thnh mt s vng nh c nh, cc vng ny c
bin c nh m mi vng c dng cha mt chng trnh ti mt thi im. Mi
chng trnh ngi dng ch c a vo mt vng nh xc nh tng ng vi
chng trnh . Mt chng trnh ch c th lm vic trong gii hn ca vng b nh
trong ang cha n: chng trnh tn ti trong vng b nh tng ng trong sut
thi gian n c thc hin trong my tnh, k t lc bt u cho ti lc kt thc.

- 6-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
MVT: Multiprogramming with Variable number of Tasks
Khc vi ch MFT, trong ch MVT, b nh trong khng b chia sn thnh cc
vng, vic np chng trnh mi vo b nh trong cn c tip din khi m b nh
trong cn cha thm chng trnh.
C th quan nim rng trong ch MFT b nh trong c phn thnh cc vng c
vch ngn c nh, cn trong ch MVT, khng c vch ngn sn, mi khi chng
trnh c np vo mi hnh thnh mt vch ngn tm thi. Nu ch gp cc chng
trnh i hi t b nh th theo ch MVT, s lng chng trnh ng thi c mt
trong b nh nhiu ln.

Ch phn chia thi gian (Time Shared System: TSS)


Ch phn chia thi gian l ch hot ng in hnh ca cc HH a ngi dng
(multi-users). HH hot ng theo ch ny nh hng phc v trc tip ngi
dng khi chng trnh ca ngi dng ang thc hin, lm cho giao tip ca ngi
dng vi my tnh l ht sc thn thin. Lin quan n HH hot ng theo ch
ny l cc khi nim lng t thi gian, b nh o v.v.
Trong h TSS, ti cng thi im c nhiu ngi dng ng thi lm vic vi my
tnh: Mi ngi lm vic vi my tnh thng qua mt trm cui (terminal) v v vy, h
thng cho php my tnh thn thin vi ngi dng.
Khc vi cch thc iu khin CPU trong ch m, HH phn phi CPU ln lt
cho tng chng trnh ngi dng, mi chng trnh c chim gi CPU trong mt
khong thi gian nh nhau (khong thi gian c gi l lng t thi gian: time
quantum): c th thy ph bin v lng t thi gian in hnh l khong 0,05s. My
tnh lm vic vi tc cao, chu k quay li phc v cho tng chng trnh ngi
dng l rt nhanh so vi gic quan ca ngi dng, v v vy, mi ngi dng u c
cm gic rng mnh ang chim hu ton b ti nguyn h thng.
iu khin b nh trong ca ch a ngi dng c nhiu khc bit bn cht so vi
ch m. B nh trong lun cha chng trnh ca mi ngi dng, v vy xy ra
tnh hung ton b b nh trong khng cha tt c chng trnh ngi dng hin
ang thc hin; v vy, i vi HH TSS ny sinh gii php s dng b nh o: s
dng a t nh vng m rng khng gian nh ca b nh trong.
HH UNIX (v Linux) l HH a ngi dng in hnh.
C th nhn xt rng, tnh qun tr ti nguyn c nhn mnh trong HH m v tnh
cht my tnh o c quan tm hn trong HH a ngi dng.
c. H iu hnh thi gian thc
Nhiu bi ton trong lnh vc iu khin cn c gii quyt khng mun hn mt
thi im nht nh, v v vy, i vi cc my tnh trong lnh vc cn HH thi
gian thc (RT: Real Time). Trong h thi gian thc, mi bi ton c gn vi mt
thi im ti hn (ting Anh l deadtime) v bi ton phi c gii quyt khng
mun hn thi im cho : Nu bi ton hon thin mun hn thi im th
vic gii quyt n tr nn khng cn ngha na. H thi gian thc c th c coi
nh mt trng hp ca h a chng trnh hot ng theo ch m c gn thm thi
im kt thc cho mi bi ton.
d. H iu hnh kt hp
Cc nh thit k HH hin i cng chn la vic thit k HH c kh nng khi to
hot ng c theo mt trong mt s ch hot ng ca HH ni trn y.
Chng hn, HH OS cho h thng my EC hoc IBM c th hot ng hoc theo ch
- 7-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
m (MFT, MVT) hoc theo ch phn chia thi gian (SYS); hoc HH LINUX
hot ng theo ch n ngi dng (vi superuser) hoc ch a ngi dng (vi
cc ngi dng khc). Kiu h iu hnh nh vy c quan nim l kt hp ni dung
ca nhiu loi h iu hnh (Combination Operating System).
e. H thng a x l
H thng nhiu CPU
Hin nay, t tc pht trin nhanh ca cng ngh, my tnh ngy cng c ph
dng trong x hi. Mc thm nhp ca my tnh vo cuc sng cng cao th yu
cu nng cao nng lc ca my tnh li ngy cng tr nn cp thit. B nh chnh ngy
cng rng ln; a t c dung lng cng rng, tc truy nhp ngy cng cao; h
thng thit b ngoi vi cng phong ph, hnh thc giao tip ngi-my ngy cng a
dng. Nh ni, CPU l mt ti nguyn th hin ch yu nht nng lc ca h thng
my tnh, v vy mt trong nhng vn trng tm nht tng cng nng lc ca h
thng l tng cng nng lc ca CPU. i vi vn ny, ny sinh cc gii php theo
hai hng:
Gii php tng cng nng lc ca mt CPU ring cho tng my tnh: cng ngh vi
mch ngy cng pht trin v vy nng lc ca tng CPU cng ngy nng cao, cc d
n vi mch VLSI vi hng triu, hng chc tiu transitor c trin khai. Tuy nhin
gii php ny cng ny sinh nhng hn ch v k thut: tc truyn thng tin khng
vt qua tc nh sng; khong cch gn nht gia hai thnh phn khng th gim
thiu qu nh v.v.
Song song vi gii php tng cng nng lc tng CPU l gii php lin kt nhiu CPU
to ra mt h thng chung c nng lc ng k: vic x l song song to ra nhiu
li im. Th nht, chia cc phn nh cng vic cho mi CPU m nhn, nng sut
tng khng ch theo t l thun vi mt h s nhn m cn cao hn do khng mt thi
gian phi thc hin nhng cng vic trung gian.
Th hai, gii php ny cn c li im tch hp cc h thng my c to ra mt
h thng mi vi sc mnh tng gp bi.
Chng ta kho st mt s ni dung chn gii php a x l theo ngha mt h thng
tnh ton c t hp khng ch mt CPU m nhiu CPU trong mt my tnh (h a x
l tp trung) hoc nhiu my tnh trong mt h thng thng nht. Gi chung cc h c
nhiu CPU nh vy l h a x l.
Phn loi cc h a x l
C mt s cch phn loi cc h a x l:
Phn loi theo v tr t cc CPU: tp trung hoc phn tn.
Cc siu my tnh (supercomputer) l cc v d v h a x l tp trung. c trng ca
h thng ny l cc CPU c lin kt vi nhau trong mt my tnh duy nht m bo
kt dnh phn cng cht. V d v h a x l phn tn l cc h thng tnh ton
phn tn da trn mng my tnh vi kt dnh phn cng lng.
Phn loi theo c tnh ca cc CPU thnh phn: h a x l thun nht hoc h a
x l khng thun nht v.v. Mt v d quen thuc v h khng thun nht l thit b x
l trong my vi tnh gm CPU x l chung v CPU x l du phy ng. Siu my tnh
ILLIAC-IV gm nhiu CPU c c trng ging nhau l mt v d v h thun nht.
Cch phn loi in hnh l da theo kiu cc CPU thnh phn tip nhn v x l d
liu trong mt nhp lm vic. Cch phn loi ny bao gm c my tnh n x l thng
thng:
- 8-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
- n ch th, n d liu (SISD: Single Data Single Instruction) c th hin
trong my tnh thng thng; Mi ln lm vic, CPU ch x l mt d liu v ch c
mt ch th (instruction, cu lnh) c thc hin. y l my tnh n x l.
- n ch th, a d liu (SIMD: Single Instruction Multiple Data):
Cc b x l trong cng mt nhp lm vic thc hin ch cng mt ch th. V d nh
php cng hai vector cho trc: Cc CPU thnh phn u thc hin cc php cng theo
i s tng ng ti mi CPU; sau , chn tip ch th mi tip tc cng vic.
Thng thng, h thng c b phn iu khin ring cho vic chn ch th v mi CPU
thnh phn cng thc hin ch th (b x l ma trn).
- a ch th, n d liu (MISD: Multiple Instruction Single Data):
Trong cc my tnh thuc loi ny, h thng gm nhiu CPU, cc CPU lin kt nhau
tun t: output ca CPU ny l input ca CPU tip theo (B x l vector). Cc CPU kt
ni theo kiu ny c gi l kt ni dy chuyn.
- a ch th, a cu lnh (MIMD):
Mi CPU c b phn tch chng trnh ring; ch th v d liu gn vi mi CPU: nhp
hot ng ca cc CPU ny hon ton c lp nhau.
1.2.1. Cu trc h iu hnh truyn thng
Cc ng dng
Cc h thng
con
Cc tin ch
Cc dch v h
thng
Nhn

K ton ...

Vn phng

Mi trng lp trnh
B bin dch
H thng File

Sn xut

H thng c s d liu

Thng dch lnh

Th vin

Qun l b nh

B lp lch

CPU a thnh phn, kim sot ngt, iu khin thit b, ng b


nguyn thy, truyn thng lin qu trnh

Hnh 1.4 Phn mc cc thnh phn h iu hnh theo chiu dc v chiu ngang
HH l b phn mm ln c kch thc t hng nghn ti hng triu dng m lnh,
cho nn khi thi hnh cn thit phi kin trc phn mm HH t cc mun d dng
qun l (ph hp vi phng php chung pht trin phn mm). K vng mt kt qu
thit k l cung cp cc giao din c xc nh tng minh gia cc mun v cch
t cc rng buc cho tng tc mun. Hai cch tip cn truyn thng thng dng
phn hoch cc mun l phn hoch ngang v phn hoch dc. Phn hoch dc da
trn khi nim mc, theo phn chia cc mun thnh nhm theo cc mc khc nhau
vi rng buc l ch cho php tng tc gia cc mun thuc hai mc lin k. y l
giao din mt vo - mt ra gia cc mc. Cc mun trong tng mc (phn hoch
ngang) li c t chc thnh cc thnh phn ln ri rc nhau, mi thnh phn nh th
li c th c tinh ch tip theo t hp phn hoch ngang hoc dc (hnh 1.4). Kiu
in hnh ca mun l tp dng lnh thi hnh mt dch v h thng ring bit. Trong
mt h thng hng i tng, cc mun cn c thi hnh nh mt i tng vi
cc thao tc (hon ton xc nh) trn mi i tng dch v thnh phn. Mun ha
da trn i tng l tt hn so vi m ha. Mi ti nguyn, bao gm c file v QT,
cn c tip cn nh i tng d liu m th hin vt l ca chng phi c che
giu bng cc cu trc d liu tru tng. Hot ng (thc hin) ca mun c gii
- 9-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
hn bng mt tp cc thao tc v lut hnh thc gn cho i tng. Mun hng i
tng cung cp hng lot li th, trong c tnh ng nht truy nhp v bo v. V
ng nht, chng d dng bin i v do lm tng tnh kh chuyn ca h thng.
Tnh kh chuyn ca HH cn tng ln khi tch cc m ph thuc-my t h thng.
a phn cc phn mm HH (cc dch v h thng) l c lp phn cng. T , h
thng cn c cu trc theo cch m phn ph thuc-my c gi mc ti thiu
nht v tch ri khi cc dch v h thng. Cch tip cn nhn ti thiu ny lm gim
bt phc tp v tnh kh chuyn h thng t kiu kin trc my tnh ny sang kiu
kin trc my tnh khc v ch c nhn mi phi vit li. Cc chc nng in hnh c
thi hnh trong nhn ti thiu bao gm: tnh a thnh phn ca cc b x l vi h tr
a chng trnh, kim sot ngt, iu khin thit b, (dch v) nguyn thu ng b QT
(BQT), cc phng tin truyn thng lin QT (TTLQT, ting Anh Interprocess
Communication, IPC). Cu trc nhn thng nguyn khi theo ngha khng cn phn
hoch ngang hoc dc c na m ch l mun ha theo m. Cu trc ny t c
do nhn c ti thiu nht. Trit l thit k ny l hiu qu cho php ch ti cch
lin kt nhn hn l cu trc nhn. Hnh 1.4 th hin cc khi nim mun ha v cu
trc ha vi mt s thnh phn trong mi mc ca phn mm h thng.
Cu trc HH c nng cao theo m hnh Client/Server. M hnh Client/Server l
mt m hnh lp trnh khun mu. Theo m hnh ny, li gi h thng t cc chng
trnh ng dng yu cu cc dch v HH ging nh yu cu QT khch trc tip ti QT
phc v. Chng c thi hnh gin tip thng qua nhn HH. Li gi h thng chia x
mt li vo nht qun ti h thng. C ch ny lm n gin ha tng tc ti HH v
cho php ngi thit k h thng chuyn thm nhiu dch v h thng ti mc cao hn
(trong nhiu trng hp ti khng gian QT ngi dng) v kt qu c nhn nh hn
v d qun l hn. M hnh Client/Server l cch t nhin m t cc tng tc gia cc
QT trong h phn tn trong khi chuyn thng ip (mt khi nim quan trng) ch c
ngha chuyn vn d liu trong cc thc th truyn thng.
S phn bit gia chng trnh ng dng vi chng trnh h thng thng m h.
Chng trnh trong nhn v dch v h thng l phn mm h thng (xem hnh 1.4).
Tuy nhin, theo mt quan nim khc (nh c trnh by trong hnh 1.3), chng
trnh h thng cn bao gm c trnh bin dch, trnh son tho h thng, trnh thng
dch [3]. Chnh bi l do m ngi vit trnh bin dch cng t coi h l nhng
ngi lp trnh h thng. Tuy nhin, trnh bin dch theo quan im ca HH c
xem l mt ng dng. Mt khc, phn mm c s d liu l mt ng dng i vi trnh
bin dch hoc mt ngn ng, n lt mnh n li l chng trnh h thng i vi
ng dng 1

ng dng 1

ngdng...

Cc ng dng

Tnh m rng

API
Cc dch v h thng
SPI (hoc HAL)

M my 1

M my 2

Tnh d chuyn

M my ...

Nn

Hnh 1.5. Cc mc API v SPI


- 10-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
ngi dng. Kin trc ny c th pht trin thm mt vi mc. Ngi dng nhn h
thng qua mt h thng con c c trng bng cc dch v cung cp cho h. Mi
quan h gia chng trnh h thng v chng trnh ng dng l gn gi.
1.2.2. H thng con v vi nhn
Nhn ti thiu vn nng m da trn n, cc dch v HH chun c thi hnh nhm
h tr cc h thng con hng ng dng c gi l vi nhn. Kin trc vi nhn bao
gm mt nhn ti thiu ph thuc nn phn cng v mt tp cc thi hnh c lp phn
cng (dch v h thng) bng B giao din trnh ng dng (API: Application Program
Interface) hon ton xc nh. iu ngha ca khi nim vi nhn ch n cung cp
mt mi trng cha cc iu kin cn v cu trc HH hoc h thng con p
ng nhu cu bt k vi t cng sc nht. Nhn, mc d ph thuc phn cng, nhng
c cu trc vi tru tng phn cng d dng c ghi li m my khi c
mang chuyn ti mt nn khc. Cu trc b sung ny c gi l Mc tru tng phn
cng (HAL: Hardware Abstraction Layer) hoc Giao din cung cp dch v (SPI:
Service Provider Interface) khi c s dng trong m un phn mm mc trn. Nh
trnh by ti hnh 1.5 th API cung cp tnh m rng cho cc ng dng mc cao cn
SPI (hoc HAL) cao tnh kh chuyn cho nn tng mc thp.
Khch OS/2
H thng con
OS/2

Khch Win
H thng con
Win 32

Khch POSIX
H thng con
POSIX

Mode
ngi
dng
Mode nhn

API dch v h thng


Qun l
Gim st Qun l
Li gi
Qun l
Qun l
i tng an ton
qu trnh th tc
b nh o vo ra
cc b
Nhn vi s tru tng phn cng

Cc
chp
hnh

Nn phn cng
Hnh 1.6. Kin trc h thng Windows NT
Cc dch v h thng l ng hng mun v y v vy chng c dng nh mt
c ch h tr lp rng ln cc ng dng. Ngi thit k phn mm ch cn bit cc
giao din chun ti cc mun dch v thi hnh v c th chn mt tp con ca chng
theo i hi. Kin trc nh vy rt thuyt phc v tnh mun ha, d mang chuyn v
kh nng tip th (mun thi hnh c th thuc bn quyn ca nh cung cp h thng
khc). Ngnh cng nghip c mt vi c gng hng ti mt kin trc vi nhn
chung, ng k nht l Microkernel ca IBM v Windows NT ca Microsoft.
Windows NT c trnh by trong hnh 1.6 nh mt v d ca kin trc vi nhn, trong
kin trc ny mi khch thy my tnh theo mt mi trng tnh ton khc nhau (OS/2,
Win32, POSIX) c biu din bi API trong h thng con. Mi h thng con c
khng gian a ch lgic ring ca mnh, c th c c lp v bo v i vi cc h
thng con khc. Li gi h thng con da trn API dch v h thng v nh vy c
thi hnh mt cch c lp vi vic thc hin ti mc nhn v mc phn cng. Nh mt
- 11-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
chn la, h thng con c th tng tc gin tip vi dch v h thng qua h thng
con Win32, h ny h tr phng tin lp trnh window. Kin trc ti hnh v t c
mi khi nim kin trc h thng nh tho lun: mun ha, phn mc, m hnh
Client/Server, m hnh i tng, v nhn ti thiu. Hu ht cc HH hn i theo
ui trit l thit k nh vy vi mt vi khc bit nh khi thi hnh.
1.2.3. Cc chc nng qun tr
HH c chc nng qun tr ti nguyn. Mi ti nguyn trong h thng my tnh ni
chung thuc vo mt trong bn lp: B x l/qu trnh, b nh, I/O v d liu/file. M
t mt cch tm tt cc vn c s ca HH truyn thng. Tm tt ny nh l nhng
thng tin nn tng cho tho lun HH mng, HH phn tn v h t tr cng tc.
Qun tr B x l/Qu trnh mc h thng thp nht l cung cp nh x (lp lch:
scheduling) cc b x l ti cc QT, hoc ngc li. thun tin cho vic m rng a
ngi dng v a bi ton (a nhim), cn ti tnh a thnh phn-khng gian b nh
(ni t QT) v tnh a thnh phn-thi gian cc b x l (ni QT thc hin). Thi hnh
tnh a thnh phn nh vy thng qua tnh a chng trnh v phn chia thi gian c
c ch kim sot ngt y h tr. Ti mc cao, vic thi hnh l trong sut ti cc
QT thc hin ng thi. Ngi dng ch quan tm ti vic phi hp tng tc cc QT
ng thi. Cc tng tc i hi BQT v TTLQT. Trong hn hai chc nm tr li
y, hng lot phng php BQT c xut nhm gii quyt bi ton ng b nh
loi tr rng buc v kt hp trng thi.
Hu ht cc tip cn c s dng li gi h thng c bit thao tc trn cc bin kiu d
liu semaphore. Do c h thng h tr kh nng kt khi QT, cc thao tc nguyn t
trn semaphore (yu cu ti nguyn P(s) / gii phng ti nguyn V(s)) cho php phi
hp cc QT tng tc. Cc tip cn khc (khng dng semaphore) gn nng lc ng
b vo ngn ng lp trnh nh hoc l bin dng cu trc iu khin (chng hn,
khong ti hn c iu kin - Condition Critical Region, ghi tt CCR. Khi nim c s
l khong ti hn - Critical Region, ghi tt l CR) hoc l b sung kiu d liu tru
tng mi (chng hn, b gim st - monitor). Ngoi ra, mt cch thc BQT khc
da theo cch lnh vo-ra, chng hn B cc qu trnh tun t truyn thng
(Communicating Sequential Processes: CSP). y l cch tip cn tng qut hn theo
kiu li gi th tc v dn dt im hn (rendezvous) trong ngn ng lp trnh Ada.
Tin thm mt bc mi, cho php c t dy cc iu khin thc hin ng thi trong
mt chng trnh m khng cn dng cc nguyn thy ng b mt cch tng minh,
nh c thi hnh trong biu thc ng i (Path Expression: PE). Ngi ta ch ra
rng, mi tip cn c xut cho bi ton ng b c th c thi hnh vi s tha
hip gia hiu qu v nng lc din t li gii bi ton. Cc phng php ng b
truyn thng s c m t s lc ti chng 3).
Cc phng tin TTLQT c pht trin song hnh vi BQT. Trong HH tp trung,
TTLQT xuyn qua chia x b nh dng nh l gii php d dng. Tuy nhin, chia x
b nh vi phm gi thit c bn l cc QT khng ng b v nhn chung l khng chia
x khng gian a ch chung. La chn cn li l truyn thng thng qua chuyn thng
ip (ghi tt CT, message passing). u im ca CT do n l mt phn bn cht
ca h phn tn v nh vy c th a vic pht trin HH tp trung thch hp vi vic
pht trin h phn tn.
iu rt c gi tr chnh l mi quan h thn thit gia BQT v truyn thng QT
(TTQT). TTQT i hi mt s gi thit nn tng t BQT, chng hn nh ng b gi
v nhn d liu. Vi cc dch v nguyn thy ca truyn thng QT, cu trc ng b
mc cao c th c thi hnh ch da trn cc TTQT nguyn thy. Khi u t nguyn
- 12-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
thy ng b v truyn thng cng dn n vic pht trin ngn ng ng thi: cc
ngn ng cho php c t c QT ng thi, ng b v TTLQT. Ngn ng ng thi
v ng b/truyn thng trong h phn tn c bn lun tng ng trong chng 3 v
chng 4.
Cng vi BQT v TTQT, qun tr QT cn c chc nng lp lch. Qu trnh ang sn
sng (ready) hoc dng xp hng (waiting sequence) cn c lp lch li thc
hin khi ti nguyn sn sng hoc iu kin no c tha mn. Rt nhiu chin
lc c dng nhm t c hm mc tiu, chng hn ti thiu thi gian chuyn lch
hoc ti a thng lng h thng (system throughput). Lp lch bi ton (task, hoc
qu trnh - process) cho my n-a x l l mt vn nghin cu thao tc c in.
ng dng lp lch bi ton vo h phn tn l phc tp do tn ti a my tnh v tng
ph (overhead) truyn thng buc phi tnh n trong lp lch. Tn ti hai kiu lp lch:
Lp lch QT tnh da trn m hnh quan h i trc v chia x ti ng qu trnh da
trn m hnh quan h ph thuc qu trnh. Quan h i trc biu din cc QT buc
phi ng b nh th no, trong khi quan h ph thuc ch cho bit du hiu tng
tc gia cc QT. Hai kiu lp lch ny biu din hiu bit khc nhau v mi tng
tc gia cc QT trong ng b v truyn thng. Lp lch tnh, chia x ng v cn
bng ti c trnh by trong chng 5.
Qun tr thit b vo - ra l trch nhim cht ch ca h thng cc thit b gn kt vt
l. Nhm gim bt phc tp khi thit k h thng theo tnh ph thuc my, kin
trc h thng ca b x l thng c tch hon ton khi tnh chi tit thit b vo-ra.
B x l cung cp mt giao din chung ti tt c thit b v cn c theo giao din
chung , nh ch to thit b vo-ra pht trin thit bi iu khin thit b vo-ra v
trnh iu khin phn mm tch hp vo h thng. Theo hng tru tng, cc thit
b vo-ra ch l b ghi nh: Mt s cho php c v ghi (chng hn, a t), mt s
khc ch cho php c (chng hn, bn phm) v mt s khc na ch cho php ghi
(chng hn, my in). Theo quan im ca HH, thch hp nht coi tt c thit b vora l file lgic. File lgic biu din thit b vt l c gi l thit b o. Cc QT ch
thao tc trn cc file v h thng chu trch nhim din gii file ny ti thit b vt l.
Ngi ta s dng mt s k thut nhm tng tc thao tc vo-ra, ng k nht l hai
khi nim spooling v buffering. Spooling (nh c gii thiu ti trang 10) lm
thun tin chia x cc thit b vo - ra, cn buffer (b m) cn bn c dng dn
xp s khc nhau v tc lm vic gia thit b vo-ra chm v b x l nhanh.
Buffer c th c thi hnh nhiu mc phn mm khc nhau, chng hn nh h
thng file, trnh iu khin thit b, v trong mt s trng hp ngay trong thit b
iu khin vo-ra. Hai thit b vo - ra quan trng nht l a v trm cui. a tc
cao v dung lng rng (vi trm gigabytes) l rt thng dng. a dung lng cao
ng vai tr ng k trong vic thit k phn mm ln. Trm cui bn - b nh to
nn s thi hnh vic h tr cc ca s (windows) ti trm cui. Ca s c khi hnh
nh mt bn giao tip o (virtual console) n gin. Vi cc chc nng b sung nh
mt giao din ngi dng ha v cc ca s a tng tc, windows c tin ha
thnh giao din ang pht trin mt cch thng hoa i vi h thng con v s tr
thnh mt my tnh o nh trng hp HH Windows 95.
Mt vn ng quan tm lin quan ti qun tr vo-ra l b tc (deadlock). B tc ny
sinh trong h thng do nh v sai ti nguyn khi c mt tp QT khng u tin
(nonpreemptable) m mi t chng gi ti nguyn li i hi ti nguyn t QT trong
tp , to ra mt chu trnh xu QT khng th tho ri. "Ti nguyn" c th l thit b
vt l v (chung hn) l cc buffer v cc iu kin. Vic phng nga, thot ra, v pht

- 13-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
hin b tc c nghin cu rng ri. Tuy nhin, pht hin v gii quyt b tc phn
tn hin vn ang l vn m.
Qun l b nh bao gm vic phn phi - phn phi li b nh v nh x khng gian
chng trnh lgic vo b nh vt l. Mc tiu cn bn l bo m tn dng cao b
nh v cung cp b nh o h tr chng trnh ln, c bit l cc chng trnh c
kch thc vt kch thc b nh vt l. Hu ht h thng my tnh hin nay u s
dng cc k thut iu khin trang (paging)/ iu khin segment (segmentation) khi
thi hnh b nh o. Thi hnh b nh o i hi phn cng b sung, thng c gi l
n v qun l b nh (memory managment unit). C trang v segment u l cc c
ch phn phi b nh ri rc. S khc nhau chnh gia hai c ch ny phn chng
trnh theo trang vt l v theo segment logic. HH hin i thi hnh b nh o theo c
ch t hp hai c ch ny. Do khng phi tt c cc trang v segment ng thi nm
trong b nh trong, nn cn iu tit nhng ch dn ti d liu v ch th (lnh) mi khi
thc hin mt chng trnh. Nhiu thut ton thay trang c xut nhm rt gn tn
s li trang. Hiu sut ca chin lc thay trang ph thuc mnh vo cch thc hin
chng trnh ti khong thi gian cho bt k. nh hng khng gian v thi gian
c m t tng qut trong chng trnh c nh hng ng k khi chn thut ton
thay trang.
B nh o l gii php nhm gii quyt s khc nhau v kch thc v tc gia b
nh a chm tng i v b nh vt l nhanh hn. Tn ti vn tng t khi b
nh tc cao (cache) c dng nh b m gia b x l v b nh chnh. Qu
trnh buffer ny ch i hi phi nh x a ch vt l (c gi l caching) m thng
thng c quan tm theo hng kin trc hn l vn ca HH. Chn la thut
ton thay trang, nh hng ca c trang v segment, nh hng ca phn phi b nh,
caching v lin kt cache l mt s vn ca qun tr b nh.
Trong HH tp trung, b nh chia x cho gi tr l tnh n gin i vi truyn thng
v tng tc QT. Nhiu thut ton c pht trin cho b nh chia x. Trong mi
trng phn tn, hy vng m phng c h thng b nh chia x trong khi khng c
b nh vt l chia x. Khi nim b nh phn tn ny a ra mt s cu hi v tnh
nht qun v hiu nng ca chia x d liu l tng t nh chia x file trong h thng
file phn tn. Chng 6 trnh by v h thng file phn tn.
Cui cng, song khng km quan trng, l qun tr file trong HH. File l mt thc
th d liu lgic c thi hnh trn cc thit b nh, bao gm a, b nh, v thm ch
c thit b vo-ra. Theo ngha tru tng nht, mi tnh ton c xem nh cc qu
trnh thao tc vi file. Nu b i hai thut ng c bn l qu trnh v file, th khng cn
c g nghin cu v HH. Do chng ta ch gii quyt vi qu trnh v file, mi ch
tip theo u lin quan n chng. Chng ta khng bn lun nhiu v qun tr vo - ra
v qun tr b nh v iu ch thch hp trong HH tp trung.
File cn c cu trc v thi hnh trc khi c thao tc. Mi khi mt cu trc file
chung v thi hnh ca chng c quyt nh th cc chc nng c s qun tr file l
truy nhp file (file acces) v chia x file. Thm na v mc tiu hiu qu, truy nhp file
i hi c ch iu khin bo v (protection) v an ton, v chia x file ng b hoc
iu khin ng thi. Khc vi qun tr b nh v qun tr vo-ra, file c phn tn v
nhn bn trn mng hoc mi trng phn tn. An ton v iu khin ng thi file
thao tc file tr thnh nhng vn thit thc hn trong thit k HH phn tn so vi
HH tp trung. ng dng caching trong truy nhp file cng phc tp hn, do thc t
file c cache trn nhiu my. Mt s chng, on tip tho lun v thi hnh v iu
khin h thng file phn tn.
- 14-

H Quang Thy
1.3. S lc v h iu hnh mng

Bi ging H iu hnh phn tn (Phn 1)

Hin nay, my tnh khng c dng mt cch ring l v nhiu my tnh c kt ni


thnh mt h thng tnh ton chung; mi my tnh m nhn mt chc nng b phn
v ton b h thng tnh ton chung c nng lc hn hn vic s dng ring l.
Theo tin trnh cc loi HH mng, HH phn tn v HH t tr cng tc xut
hin (hnh 1.3). So vi HH tp trung, kt ni phn cng v phn mm trong h thng
my tnh tr nn mm do hn, trong mt s trng hp (nh HH mng) kt ni
l lng lo.
HH mng cho php lin kt nhiu my tnh theo cch khng thc s cht ch: khng
c s iu khin phn cng hoc phn mm trc tip t mt trm lm vic
(workstation) ti nhng trm lm vic khc tn ti trong h thng, v tng ph truyn
thng gia cc trm cui (o theo thi gian) l ln hn rt nhiu so vi chuyn giao
thng tin ni ti trong mi trm cui. Mc tiu cn bn ca HH mng l chia x ti
nguyn (bao gm chng trnh v d liu) trong mng. Tng tc duy nht trong h
thng l trao i thng tin gia cc trm thng qua mt vi dng knh truyn thng
ngoi. c trng duy nht, lin thao tc (interoperability) l tnh cht mong mun
trong h thng my tnh mng. Lin thao tc cung cp tnh linh hot trong trao i
thng tin dc theo cc trm trong mng my tnh hn tp, y c gi l tnh lin tc
ng. Lin thao tc c biu th bi cc giao thc truyn thng chun v giao din
chung nhm chia x CSDL v h thng File. V d v c ch h tr lin thao tc l giao
thc truyn thng chun v giao din chung ti cc CSDL (data base) hoc h thng
file.
Chc nng trao i thng tin c phn chia v thi hnh theo cu trc mc. Ti mc
phn cng, mng con truyn thng chu trch nhim thi hnh trao i thng tin. Cao
hn, HH cung cp dch v giao vn (transport service) d liu v ngi dng s dng
cc giao thc truyn thng qu trnh im - im (peer to peer) hng ng dng. Cc
mc c th mn hn nh kin trc by mc OSI ca ISO.
HH mng c th c coi l m rng trc tip HH truyn thng, c thit k
nhm lm thun tin chia x ti nguyn v trao i thng tin. Do , thun tin m t
HH mng thng qua minh ha cc ng dng mng chung ca n v cc dch v giao
vn cn c h tr cc ng dng ny. Dch v giao vn phc v nh mt giao din
ng gia QT ng dng mng v mng truyn thng vt l, v n thi hnh giao thc
truyn thng gia hai h iu hnh im. Hnh 1.6 cho thy s tch hp cc dch v
giao vn trong HH i vi QT ng dng truy nhp h thng file t xa. V d ny
c m hnh ha theo H thng file mng (Network File System: NFS) ca Sun. Truy
nhp file t xa da trn h thng file mng truyn thng v c chuyn dch bi h
thng mng thnh cc giao vn d liu gia cc dch v im.
Hu ht cc HH mng dng API mc cao chng hn nh socket v li gi th tc t
xa (Remote Procedure Call: RPC) i vi dch v giao vn nhm h tr truyn thng
gia cc HH trong cc min mng khc nhau. HH mng c c trng bi tp
gm mt mc giao vn v h tr ng dng mng chy trn dch v giao vn. Cc lp
ng dng mng ng ch l ng nhp t xa (remote login), chuyn file (file
transfer), thng ip, duyt mng (network browsing) v thc hin t xa (remote
execution). Di y trnh by s lc v chng.

- 15-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy
Qu trnh (ng dng)
Dch v file
H thng file H thng file
a phng
mng
Qun tr
Dch v
thit b
giao vn
iu khin
Dch v
NHN mng
thit b

Phn cng a phng

Cc
giao
thc truyn
thng im

Qu trnh (ng dng)


Dch v file
H thng file H thng file
mng
a phng
Dch v
Qun tr
giao vn
thit b
Dch v
iu khin
NHN thit b
mng

Phn cng a phng


Mng truyn thng
Hnh 1.6. Tch hp dch v giao vn

ng nhp t xa: l kh nng cho php trm ring ca ngi dng thnh mt trm
cui ng nhp vo mt trm lm vic t xa trong mng, cho php chia x trc tip
CPU v ti nguyn tng ng ca n. ng nhp t xa input t bn phm c
chuyn i thnh cc b d liu ca cc giao thc truyn thng mng. Ti im i
ngu p dng ti hin th output. i lc hy vng m phng rt nhiu kiu trm cui
(c gi l m phng trm cui). Nh vy, vic dn xp gia cc tham s trm cui l
cn thit trc khi kt ni c thit lp. Dch v vi m rng kt hp ny c gi l
h tr trm cui o. Mt ng dng mng c s dng rng ri vi m rng nh vy l
telnet, mt dch v ng nhp t xa c thit k cho cc trm cui khng ng b
(asynchronous: d b). Trong UNIX, rlogin l dch v tng t ngoi tr n khng h
tr m phng trm cui. Thm vo, rlogin gi thit rng host t xa trong cng mt
min ng nht, v vic xc minh mt khu khng phi l mt la chn ngm nh.
Truyn file: l nng lc truyn file hoc mang chuyn file dc theo cc trm lm vic
khc nhau trong mt h thng mng. Truyn file khng n thun mt trao i d liu.
File cha d liu, cu trc file v c cc thuc tnh file. Nh vy, mt giao thc truyn
file (chng hn, fpt trong UNIX) bt buc cung cp mt giao din ti cc h thng file
a phng v h tr cc lnh tng tc ca ngi dng. Thng tin v thuc tnh file,
khun dng d liu, dng d liu, v iu khin truy nhp bt buc phi c trao i
v c gi tr nh mt phn ca thao tc truyn file. Nhn bn file t xa (rcp) trong
UNIX l mt dch v truyn file c hn ch bng vic sao cc fioe gia cc trm lm
vic, khi gi thit rng cu trc file UNIX l nh nhau trong min mng (tc l HH
ti cc nt l ng nht).
H thng thng ip cho php ngi s dng mng gi v nhn ti liu hoc thng
ip m khng cn to ra mt kt ni thi gian thc. Hai ng dng thng ip chnh l
Chuyn i d liu in t (Electronic Data Interchange: EDI) i vi cc giao dch
(transaction) kinh doanh v th in t (e-mail). EDI l ng dng chun m nguyn tc
ch o l truyn thng tin kinh doanh. E-mail l thng ip cho php trao i thng
ip gia cc ngi dng mng. Khc vi truyn File, h thng mail l khng thng
dch ngoi tr nhng thng ip chung c gn vo trong mail (hin nay, iu ny
khng hon ton do mt s h thng mail c chc nng thc hin t xa). Thuc tnh
cu trc v iu khin truy nhp ca d liu mail khng c ch . iu cn bn l
nm gi v truyn thng ip v giao din ngi dng thao tc trn thng ip mail.
Rt nhiu chun, chng hn X.400 do CCITT (nay l, ITU-T) v Giao thc truyn mail
- 16-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
n gin (Simple Mail Transfer Protocol: SMTP) ca B quc phng M, c
xut nhm thi hnh h thng mail mng. Nhiu h thng e-mail tinh vi c xy
dng, phc v nh b chuyn i c nng lc truyn thng gia cc h thng mail
khc nhau.
Duyt mng l dch v thng tin tm kim v trnh by cc ti liu gia cc site
mng thnh vin. Trnh duyt thng c thi hnh nh l mt h thng Client/Server
trong trnh duyt l khch truy nhp i tng ti phc v file t xa. H thng c
s dng rng ri nht hin nay l WWW (World Wide Web). WWW l m hnh d
liu lin kt cc ti liu siu phng tin dng cc ch dn c gi l B nh v
ti nguyn thng nht (Universal Resource Locator: URL). Ti liu c hin th bi
trnh duyt thng l siu vn bn (hypertext) v c th cha nhiu con tr ti siu vn
bn khc hoc siu phng tin khc. Trnh duyt, chng hn Mosaic, truyn thng vi
phc v WWW dng giao thc truyn siu vn bn (HyperText Transport Protocol:
HTTP). Cc giao thc khc, chng hn ftp v telnet cng c s dng. Ti liu a
phng tin in hnh c cu trc khi s dng Ngn ng nh du vn bn
(HyperText Markup Language: HTML) v c phn tn nh dch v Web. Hin c
nhiu h thng duyt khc vi (c s d liu) ti nguyn phn tn ln. Vo thi im
1997, Netscape hu nh l h thng duyt ph dng nht vi hiu qu b sung ca n
v s m rng v an ton.
Thc hin t xa l kh nng gi thng ip i hi s thc hin mt chng trnh ti
site t xa. Do cc chng trnh thc hin c l ph thuc my v khng th chy
trn my ty , s thc hin t xa thng c lm theo cch thng dch (khng l
bin dch) mt file script hoc m lin phng tin c lp my c thng ip a
ra. Thc hin t xa l mt cng c mng rt mnh song nguy him. V th n thng
c gii hn ti mt s ng dng m s hn ch c th ko theo vic ngn nga e
do v bo v khi vi phm.
ng dng tt ca thc hin t xa l chuyn vn d liu a phng tin. File video v
nh i hi khi lng ln bng thng nu chng c truyn di dng dng im.
Chng cng phi gp bi ton v tnh khng tng thch trong hin th output. Mt s
ngn ng lin phng tin ph dng c th c dng c t dng thng nht v c
ng hn. Ti im nhn, thng dch tng ng c gi nhm dch d liu hoc thc
hin cc ch th trong ngn ng a phng tin. Vn chuyn i d liu c gii
quyt v vic ti trn mng l rt ln.
Nhiu ng dng mng s dng khi nim thc hin t xa. V d, MIME
(Multupurpose Internet Mail Extension) l h thng mail tch cc m h tr trao i
mail a phng tin gia cc my tnh khc nhau, chng hn, thng ip c th mang
mt kiu c bit cho mt hin th ring. Ph thuc vo kiu, qu trnh tng ng c
gi nhm thc hin bi ton. Thng ip ytong mail MIME c thng dch v c
cng hiu qu nh chng trnh thc hin xa.
Cch tip cn tng qut hn ti thc hin t xa trong ngn ng v mi trng lp trnh
Java. Java l ngn ng lp trnh hng i tng mc ch - tng qut, xut pt t
C++. Bin dch Java cho dy cc ch th m-byte hiu nng cao v c lp my c
ng c th c gi v thng dch ti host bt k min c sn thng dch Java.
Chng trnh m-byte c gi l tiu dng (applet). Nhm h tr dch v mng v
phn tn, mi trng lp trnh Java cung cp th vin gm cc th tc con kt hp cht
ch cc giao thc Internet, chng hn http v fpt. Mt tiu dng Java l mt i tng
m c th c ch dn ti mt URRL nhm m cc i tng khc. Mt ng dng
trc tip ca tiu dng trong WWW l s dng th mnh ng ca tiu dng ko
- 17-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
nh c to ra d dng hn trong h thng duyt. Phin bn mi ca Netscape c
thi hnh nh s dng Java v vy h tr tiu dng Java.
Do vic s dng nhng ng dng chia s ti nguyn mng nh trn ang pht trin,
chng c thi hnh nh nhng phc v h thng chun (qu trnh chy ngm:
daemon) thc hin giao thc im trn mt h tng dch v giao vn v tr thnh b
phn ca HH mng.
Ngoi ra, hin c nhiu hng ci tin truyn thng trn mng lin quan n tnh
cht lin hot, thng c gi l "tch cc" trong mng, lin quan n giao thc (thng
ip tch cc: active massage), lin quan n mi trng (mng tch cc: active
network) Mt khc, an ninh mng v ang l mt trong nhng vn ct li nht
hin nay.
1.4. S lc v h iu hnh phn tn
HH phn tn mi thc s l mt HH qun l ti nguyn my tnh trn phm vi lnh
th ln. Cc my tnh c kt ni lgic (theo phn mm) trong HH phn tn mt
cch tng i cht ch, h thng ti nguyn ca mi my tnh ng gp thc s vo
h thng ti nguyn chung thng nht v tham gia vo vic gii quyt mi bi ton
iu phi qu trnh, iu phi b nh, iu phi vo-ra v.v. HH phn tn, v lgic l
mt h thng thng nht song v vt l li c phn b chy trn nhiu my tnh
cc v tr khc nhau.
S pht trin cc trm lm vic mnh v nhng tin b ca cng ngh truyn thng to
ra s cn thit v hp l m rng vic chia x ti nguyn thm mt bc na:
bao gm dng tng qut hn na cc hot ng cng tc gia mt tp hp gm cc
my tnh t tr, c kt ni bi mt mng truyn thng. Chia x ti nguyn v cng
tc cc hot ng phn tn kiu ny ca mi trng tnh ton l nhng mc tiu chnh
trong thit k HH phn tn v l tiu im chnh ca tp bi ging ny.
Cn xc nh nhng thnh phn trong mt h phn tn kt ni lng l cn phn tn hay
khng tp trung. Ti nguyn vt l l phn tn v c tha hng t nhin t h kt
ni lng. Thng tin v nhu cu thng tin tr nn phn tn do tnh t nhin ca n hoc
do nhu cu t chc, chng hn v tnh hiu qu v tnh an ton. Hn na, hiu nng h
thng cn c nng cao nh tnh ton phn tn. Lm th no cc ti nguyn v
hot ng phn tn c qun l v iu khin l nhng trch nhim cn bn ca HH
phn tn. Nn chng HH phn tn t n cng phn tn ? Li gii p l v i th l
nn theo cch thc chnh do tnh t nhien ca n v nhu cu t chc. iu t ra
vn thi hnh phn tn i vi cc chc nng qun tr v iu khin ca HH phn
tn, chnh l thit k cc thut ton phn tn. Nhu cu v cc thut ton phn tn trong
cc HH phn tn thc y vic tch hp hai ch th c quan h mt thit ny trong
mt s ti liu.
Khi cho mt HH phn tn trn mt h phn tn, hy vng c c s che khut cc
chi tit thi hnh ca h thng i vi ngi dng. iu phn bit mu cht gia
HH mng v HH phn tn chnh khi nim trong sut. Trong sut l mt khi
nim mi. Trong HH tp trung, ngi s dng chia x thi gian c s trong sut
ng thi (concurrency transparency) nu h khng nhn bit thc t c nhiu ngi
dung fkhc cng ang chia x cng mt h thng. Mt chng trnh c gi trong
sut nh v (location transparrency) nu nh bn ca chng trnh vo trong b
nh vt l v/hoc b x l l b che khut. Trong HH phn tn khi nim ny cn
c m rng ti nh v file v ng thi truy nhp nu file c th nm bt k trn h
thng lu tr v truy nhp n thng qua ng dn lgic hn l vt l. i vi qu
- 18-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
trnh phn tn, c th t c phn tn song song v phn tn hiu nng nu qu trnh
c th c thc hin trn mt b x l bt k m khng k s nhn bit ca ngi
dng v khng k s khc nhau ng k v hiu nng. Cn nhiu v d na v c gii
hn hay khng ? Mt h thng trong sut hon ton l hp l hoc thm ch ch hy
vng l mt cu hi cn c bn lun. Ni chung, tnh trong sut l mt ci tt p
cn c v chng ta vn s dng n nh m rng mu cht ca HH phn tn.
Trong cc mc trc y, h thng tnh ton c m t nh mt h thng tru tng
bao gm cc qu trnh v cc file. Cn b sung cc thut ton (chnh xc hn l cc
thut ton iu khin phn tn) m qun l s thc hin cc qu trnh trn cc file
trong h phn tn. Nh vy, HH phn tn bao gm ba thnh phn chnh: iu phi
cc qu trnh phn tn, qun tr cc ti nguyn phn tn v thi hnh cc thut ton phn
tn. Ti mi nt trong h phn tn, gi thit rng tn ti nhng mun thc hin vic
qun tr ti nguyn a phng.
Mt s HH phn tn in hnh nh AMAEBA, MACH, CHORUS, DCE c gii
thiu trong [8].
1.5. S lc v h t tr cng tc
HH t tr cng tc cho mt cch thc linh hot hn so vi HH phn tn. Cc my
tnh thnh vin va c php tham gia kt ni vo ton b h thng li va c php
chy mt cch c lp. Khi tham gia vo h thng, ti nguyn ca my tnh thnh vin
c ton b h thng s dng (gn nh theo cch thc ca HH phn tn) cn khi
my thnh vin chy c lp th n c quyn s dng ti nguyn ring. V thc cht,
trong h t tr cng tc, tnh "t tr" ca my thnh vin c ch trng hn so vi tnh
thng nht lgic ca ton b h thng.
Nh vy, nu ch cn duy tr tnh trong sut mt mc no v hy b v ci
nhn ca mt h thng nht lgic ca h a my tnh, nhn c cch nhn khc nhau
hon ton ca mt h (phn cng v phn mm) lng lo thun ty. Mi ngi dng
hoc qu trnh thao tc t tr bng cch cung cp cc dch v ca mnh v yu cu cc
dch v t ni khc. Nhm cc hnh ng c th c iu phi bng vic trao i
dch v v yu cu. Dch v mc cao c th c cung cp bng cch gii quyt chng
t nhng dch v mc thp hn. Mi h thng phn mm c th c nh danh mt
cch thoi mi bng cch tch hp nhiu dch v vi s tho thun no theo cu
trc. y l cch tim cn bt chc cch ng x trong x hi loi ngi: ng x
trong h thng my tnh lm theo cch ng x trong x hi loi ngi phc tp. y l
cch nhn ca h t tr cng tc. Hnh 1.8 minh ha mt s khc bit c bn gia HH
phn tn vi h t tr cng tc. H phn tn c c trng bng phn tch dch v
trong khi h t tr cng tc li nhn mnh vic tch hp dch v.
H t tr cng tc l h thng phn mm nh hng dch v mc cao i hi h tr c
ch truyn thng trn cc giao thc truyn thng mc cai c xy dng. Ly v
d hnh nh cch thc giao dch bt ng sn c th c thc hin trong mt h t tr
cng tc. Ngi mua nh, l mt qu trnh khch, c th to ra mt yu cu ti hoc
trc tip ti ch ngi nh hoc gin tip ti i l bt ng sn (c hai u l qu trnh
phc v). Ch ngi nh l qu trnh khch ti ngi mi gii. Ngi mi gii c th t
mt i l bt ng sn, mt phc v ln hn c th ch dn cho ngi mua nh mt
mi gii ginh ring. Ngi bn l khch ti i l bt ng sn ging nh mt khch
ti ngi mi gii. Ngi mua c th nh v c i l bt ng sn nh xem thng
tin trn Trang vng, c bit n nh mt qu trnh phc v trc tip. Nu ngi
nh c ch ca n bn trc tip th ngi ch c th qung co ti u nh qu
trnh phc v vi a ch bit. Hnh 1.9 trnh by mt lot cc quan h Client/Server
- 19-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
ca mt ng dng h t tr cng tc. Phc v kiu Trang vng v i l bt ng sn
cung cp dch v mi gii hoc thng mi nh nhng dch v nh v. Khi nim mu
cht ca h t tr cng tc l tch hp cc dch v thnh dng hot ng cng tc. C
phn cng v phn mm l tch ri v khng tp trung hon ton.
T tng ca h t tr khng tp trung hnh nh gng go. Tuy nhin, mt m rng
n gin c khi nim Lm vic cng tc c h tr bng my tnh (Computer
Supported Cooperative Work: CSCW). CSCW l mt khung nhm h tr phn mm
nhm (groupware), mt ng dng phn mm ln m bao gm cc ngi dng cng
tc v ti nguyn phn tn dc theo mt mng hn tp. Mt v d l hi tho phn tn,
trong cuc mit tinh in t trong mt mng vt l phn tn c th c t chc. Tri
ngc vi trit l my tnh n c ch cho ngi dng v ti nguyn c th thit k
Dch v

Phn tch trong h phn


tn

Tch hp trong h t tr
cng tc

Hnh 1.8. Phn tch v tch hp dch v


v qun tr, l s nhn bit r rng s tn ti a my tnh. Ngi dng, t mng logic
ca h vi mctiu ring v c sn sng cho iu khin truy nhp v bo v ca
nhm. H cng tc khng tp trung l h thng cungg cp nhng dch v chun cho
php tch hp cc dch v cng tc mc cao trong mt h thng mng ln. Vi s
lng rt ln ln phng n v mng v con ngi, y l s tin ha t nhin ca
HH mng v HH phn tn.
Nhu cu trn cc ng dng h t tr cng tc c th bng pht mt s c gng chun
ha cho vic pht trin tng lai ca phn mm phn tn, ng ch l Qu trnh phn
tn m (Open Distributed Processing: ODP) v Kin trc mi gii yu cu i tng
chung (Common Object Request Broker Architeturre: CORBA). ODP l khung h
thng cng cng h tr phn tn, lin thao tc v kh chuyn i vi cc x l phn
tn hn tp c bn trong v dc theo t chc t tr. CORBA ccung cho cng trit l v
s dng m hnh hng i tng thi hnh yu cu dch v trong sut dc theo mt
h thng phn tn a i tng hn tp lin kt ni. C ODP v CORBA dng dch v
thng minh trader hoc broker lm thun tin lin tng tc trong h t tr cng tc.
Trang vng v i l bt ng sn nh nhng thng nhn. Chng c th c nhn

- 20-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
nh tuyn phn mm lin kt qu trnh khch v phc v v chng phc v nh mt
phn mm lp gia (middleware) h tr cc ng dng cng tc phn tn.
Trang vng
Cc knh
truyn thng

PHC
i l bt ng sn
Ngi mi gii

Khch
Ngi mua

Phc v i chng
Bo ch

Ngi mi gii

Khch
Ngi bn

Hnh 1.9. Mt h t tr thng qua tch hp dch v


ng thi vi tin trnh pht trin trn y ca cc HH, vic nghin cu v cc h
thng x l song song cng c pht trin. Tng ng vi cc m hnh song song trn
cc h thng tp trung SIMD, MISD, MIMD l cc m hnh SPMD (Single Program
Multiple Data), MPSD, MPSD trong i tng thc hin song song l chng trnh
thay cho ch th (instruction).
Mt hng nghin cu thi s hin nay l m hnh tnh ton cm (Cluster Computing)
trong vic song song ha mt cch hiu qu l mc tiu ca cc m hnh nh vy.
Trong cc m hnh tnh ton song song th cch thc SPMD l in hnh nht.
Tnh ton song song trn mng cc my tnh c nhn, khai thc cng sut d tha ca
cc my tnh c nhn trong mng cng l hng ang c c bit ch , theo tm
cch "t hp sc mnh" cc my tnh c nhn trong mng thnh "siu my tnh o" (c
ngi cn gi l "siu my tnh con nh ngho). Cch thc ni trn lin quan n vic
to dng "cm my tnh c nhn" (PC-cluster) bng mt h thng phn mm (thuc
dng middleware) vi tn gi l phn mm PC-cluster. Hin ti c hai lp phn mm
PC-cluster min ph in hnh l PVM (Parallel Vitural Machine) v MPI (Message
Passing Interface). Tnh n thi im nm 2002, mt s h thng PC-cluster c
ci t th nghim ti mt s c quan trong nc (trong c khoa Cng ngh,
HQGHN) song hiu qu thc s ca chng hin vn cn mc rt khim tn.
Vn thit k v nghin cu i vi HH tp trung (truyn thng), hot ng trong
mt h thng c mt hoc nhiu b x l, c nghin cu tng i dy . Tuy
nhin, vi vic pht trin nhanh chng cc trm lm vic c nhn v mng cc b dn
n s pht trin nhanh chng cc khi nim HH mi, l HH mng v HH phn
tn (mt s tc gi, c bit l cc tc gi Vit kiu, dng thut ng "phn b" thay
cho thut ng "phn tn" c dng trong ti liu ny). Vn quan h n mng v
HH phn tn l mc tiu nghin cu ca gio trnh ny. Mt vn khc ni ln l
pht trin cc h thng t ng cng tc, trong nhn mnh vic thit k cc thut
ton phn tn trong mt mi trng h thng m. Mt h thng m lin quan n tnh
mm do mt cch ton vn v che khut i s hn tp cc thnh phn nhm h tr
vic cng tc nhiu cp ti mc ng dng. Khi nim ny l rng ln hn so vi HH
theo ngha truyn thng.
1.6. Thut ton phn tn
- 21-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Vic thit k cc thut ton phn tn, c i hi nhm h tr vic thi hnh dch v
HH phn tn iu phi s thc hin ca cc qu trnh ng thi c vai tr quan
trng trong nghin cu v HH phn tn. Cc thut ton thng c ch dn nh cc
giao thc do chc nng ca chng l ch yu thit lp lnh hoc quy tc i vi s hn
ch ca h phn tn l thiu nhng thng tin trng thi h thng ton cc. Mi qu
trnh c nhn thc khc nhau ca h thng do s thiu vng b nh chia x v tr
truyn thng ng k gia cc qu trnh. Ci nhien ca h v h thng thng l khng
y v khng mch lc. Phn t bn cht nht ca thng tin ton cc l thng tin
thi gian ton cc c h thng, thng c ch dn nh mt ng h ton cc. V mt
l thuyt, khng th t c nhm t c mt ng h ton cc thm ch trong h
phn tn c mt ng h trung tm chung. B qua thng tin thi gian ton cc, s thc
p s sp xp s xut hin cc s kin tr thnh mt bi ton khng tm thng. Vic
xp x ng h ton cc vi s th li thi gian no v c ch thc hin th t s
kin ng n khng cn s dng thng tin ng h ton cc bt buc phi c pht
trin. Nhiu thi hnh ca cc chc nng iu khin mc cao chng hn BQT v
TTQT da vo s th li (fault tolerance) thi gian v c ch sp xp s kin ny.
tr truyn thng to ra kh khn ln t c tha thun v trng thi h thng, bn
cht ca cc hot ng phn tn cng tc.
B sung ti tnh phc tp do tr truyn thng, thit k thut ton phn tn l phc
tp hn bi v ngun li v khng tin cy l ph bin hn trong h phn tn so vi h
tp trung. Th li trong h phn tn l vn kh tnh hn i vi cc thut ton phn
tn. Bn cht l h thng bao gi nhiu kiu ca li. Thm ch nhiu thut ton tp
trung BQT, lp lch, v iu khin ng thi .. buc phi c xem xt k lng
dng trong h phn tn. Thut ton c th c phn thnh hai lp: thut ton
khng tp trung y v thut ton phn tn vi mt iu phi tp trung th li. Loi
th hai n gin hn theo khi nim cung cp nhng c ch hiu qu tn ti nhm
kim sot li ca iu khin tp trung v chn nhng ch o mi.
Kin trc phn cng ca h phn tn cng c vai tr quan trng trong thi hnh cc
thut ton phn tn. Cc phng php truyn thng ph thuc vo vic tp mng l
kt ni y hay khng, thng thng hay khng thng thng, v truyn d liul
im-im hay a im. Kin trc thm ch cho php c vic thay i tp, li kt ni
v cc nt l tn ti. V pha phn mm d liu thng c nhn bn nhm cho php
truy nhp ng thi v t c tin cy cao hn. Nhn bn d liu li a n vn
tnh cht ch ca d liu. Qun l nhn bn d liu tr thnh mt vn cng kh
tnh trong thit k h phn tn.
Di y l mt danh sch tng qut cc thut ton phn tn khi lu tm ti nhng vn
ng k ca h phn tn c tm tt t nhng iu m t trn.
Chuyn thng ip H qu ca vic khng c b nh chia x ng rng iu phi
gia cc qu trnh ng thi bt buc phi thc hin bng CT. Nh vy, thut ton
ng b v nm gi b tc cn c thit k li trong mi trng phn tn. Thut ton
phn tn c th khng tp trung hon ton hoc tp trung. Trong thut ton tp trung,
thut ton bu c phn tn thng c i hi thit lp v duy tr iu khin tp
trung.
S thiu thng tin ton cc. Hiu lc ca thut ton phn tn ph thuc vo tri thc
ca n v trng thi ca h thng. Do khng hp l nu a ra thng tin trng thi ton
cc do tr mng v cc thnh phn trong h thng khng tin cy, tng tc gia cc
qu trnh bt buc phi da trn s nht tr nhn c t mt vi giao thc tha thun
no . Giao thc tho thun t n l thut ton phn tn.
- 22-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

Nhn bn d liu. Qun l nhn bn d liu l chc nng c s ca h thng file v


c s d liu phn tn. Mc tiu cn bn ca giao thc l duy tr tnh nht qun
(consistency). Vn tng ng lgic cn n tn pht tin cy (reliable broadcast).
Tp cc d liu c nhn bn l tng t nh mt nhm thnh vin c tn pht.
Vn ny ko theo trong HH hoc CSDL cng c nhn nhn.
Li v khi phc. tin cy ca h thng c th c nng cao theo ngha th li
hoc khi phc tip sau li. Tip cn th li s dng gii php d tha hoc a phc
v. Khi phc l cch tip cn sn c trong trng thi ca h thng l c duy tr
v c dng thc hin li t im kim tra ngay trc. Thut ton khi phc gii
quyt vi vic ng nhp vo trng thi h thng, cc im kim tra v nm gi cc
qu trnh v thng ip c lp.

Cu hi v bi tp
1. Trnh by khi nim v hai chc nng c bn ca h iu hnh.
2. Trnh by s lc v qu trnh tin ha ca h iu hnh, nhng nt c trng
nht ca mi lp h iu hnh. Nhn xt v qu trnh tin ha .
3. Trnh by nhng bi ton iu khin ch yu nht ca h iu hnh truyn
thng v s b v mt s gii php gii quyt mi bi ton .
4. Khi nim vi nhn v s b v gii php vi nhn.
5. Tnh m v tnh kh chuyn ca h iu hnh. S b v gii php thi hnh tnh
m v tnh kh chuyn.

- 23-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

chng II. Khi nim v kin trc h phn tn


II.0. Gii thiu
Nh c trnh by trong chng trc, HH hin i thng tp trung vo chc
nng my tnh o, nhn mnh mc dch v h thng v v vy thun tin hn quan
nim HH phn tn nh mt b tch hp cc dch v h thng cho php trnh din ci
nhn trong sut ti h thng my tnh vi ti nguyn v iu khin phn tn (t ti
nhiu v tr a l khc nhau). C th ni HH phn tn l HH kt ni cht v phn
mm trn nn tng kt ni lng v phn cng. Theo mt cch ni khc, HH phn tn
cung cp cho ngi s dng cch thc lm vic nh vi mt HH tp trung trong iu
kin phn tn c phn cng ln phn mm.
Mt vn t ra cho chnh khi nim HH phn tn. Tn ti nhiu cch hiu v
HH phn tn, song c rt him ti liu cho mt nh ngha chnh thc v HH phn
tn. Trong nhiu ng cnh, ngi ta cn s dng khi nim "h phn tn" thay th cho
khi nim "HH phn tn". Chng ta chp nhn nh ngha c a ra trong [8]:
H phn tn l t hp bao gm cc my tnh c lp vi trnh din h thng nh
mt my tnh n trc ngi dng.
HH phn tn c pht trin trn c s mt s tin sau y:
Th nht, do nhu cu tng khng ngng vic chia x ti nguyn v thng tin m cc
HH c t trc khng p ng c.
Trong qu trnh trin khai ng dng Tin hc vo i sng, cc mng my tnh c
pht trin khng ngng, cc ti nguyn ca cc my tnh trong mng (phn cng, phn
mm) ngy cng c m rng v nng cp, gi tr cc ti nguyn ny cng tng
nhanh dn n s tng trng vt bc nhu cu chia x ti nguyn v thng tin trong
mt h thng thng nht. HH tp trung v HH mng thun ty khng p ng c
nhu cu i vi s tng trng .
Tin th hai lin quan n vic gi cc trm lm vic gim nhanh chng.
Vic gim gi cc trm lm vic lm cho chng c s dng ph dng hn, s lng
v cht lng cc trm lm vic cng tng khng ngng m t lm tng yu cu x
l phn tn. iu ny to ra nhiu v tr c kh nng x l v lu tr thng tin hn m
t cn thit phi phi hp chia x tt hn tim nng lu tr v x l ca cc v tr
.
Vic s dng rng ri cc mng
Trn c s vic kt ni mng trin khai HH mng to nn mt c s k thut h
tng (phn cng, kt ni mng, phn mm) lm nn tng pht trin HH phn tn.
Tnh thun thc v k ngh phn mm ca cc chuyn gia pht trin HH. Kinh
nghim xy dng HH trc y (HH tp trung, HH mng) cho php nng cao
trnh nng lc xy dng HH phn tn.
II.1. Cc mc tiu thit k h iu hnh phn tn
I.1.1. c im ca h phn tn
H phn tn c cc c im c bn l Tnh chia x ti nguyn, Tnh m, Kh nng
song song, Tnh m rng, Kh nng th li, Tnh trong sut.

- 24-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

a. Tnh chia x ti nguyn


Thut ng ti nguyn c dng ch tt c mi th c th c chia x trong h
phn tn, bao gm t cc thit b phn cng (a, my in ...) ti cc i tng (file, cc
ca s, CSDL v cc i tng d liu khc).
Trong h phn tn, chia x ti nguyn c hiu l ti nguyn ca h thng c cc
QT chia x (s dng chung) m khng b hn ch bi tnh trng phn tn ti nguyn
theo v tr a l.
Vic chia x ti nguyn trn h phn tn - trong ti nguyn b l thuc v mt vt l
vi mt my tnh no - c thc hin thng qua truyn thng. chia x ti
nguyn mt cch hiu qu th mi ti nguyn cn phi c qun l bi mt chng
trnh c giao din truyn thng, cc ti nguyn c th truy nhp, cp nht c mt
cch tin cy v nht qun. Qun l ti nguyn y bao gm lp k hoch v d
phng, t tn cc lp ti nguyn, cho php ti nguyn c truy cp t ni khc, nh
x tn ti nguyn vo a ch truyn thng ...
b. Tnh m
Tnh m ca mt h thng my tnh l tnh d dng m rng phn cng (thit b
ngoi vi, b nh, cc giao din truyn thng ...) v phn mm (cc m hnh HH,
cc giao thc truyn thng, cc dch v chia x ti nguyn ...) ca n. Ni mt cch
khc, tnh m ca h thng phn tn mang ngha bao hm tnh d dng cu hnh
c phn cng ln phn mm ca n.
Tnh m ca h phn tn c th hin l h thng c th c to nn t nhiu
loi phn cng v phn mm ca nhiu nh cung cp khc nhau vi iu kin cc
thnh phn ny phi theo mt tiu chun chung (lin quan n HH l tnh a dng
ti nguyn; lin quan n nh cung cp ti nguyn l tnh chun). Vai tr ca ASP
v SPI trong HH c trnh by trong chng 1.
Tnh m ca H phn tn c xem xt theo mc b sung thm cc dch v chia x
ti nguyn m khng ph hng hay nhn i cc dch v ang tn ti. Tnh m c
hon thin bng cch xc nh hay phn nh r cc giao din chnh ca h phn tn v
lm cho n tng thch vi cc nh pht trin phn mm (tc l cc giao din chnh
ca HH phn tn cn ph dng).
Tnh m ca HH phn tn c thi hnh da trn vic cung cp c ch truyn thng
gia cc QT v cng khai cc giao din c dng truy cp ti nguyn chung.
c. Kh nng song song
H phn tn hot ng trn mt mng truyn thng c nhiu my tnh, mi my
tnh c th c mt hoc nhiu CPU. Trong cng mt thi im nu c t hai QT tr
ln cng tn ti, ta ni rng chng c thc hin ng thi. Vic thc hin cc QT
ng thi theo c ch phn chia thi gian (mt CPU) hay song song (nhiu CPU).
Kh nng lm vic song song trong h phn tn c thi hnh do hai tnh hung:
- Nhiu ngi s dng ng thi a ra cc lnh hay tng tc vi chng
trnh ng dng (ng thi xut hin nhiu QT khch).
- Nhiu QT phc v chy ng thi, mi QT p ng yu cu ca mt trong
s cc QT Khch.
T iu kin a x l, kh nng song song ca h thng phn tn tr thnh mt
thuc tnh ca n.
- 25-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

d. Kh nng m rng
H phn tn c kh nng hot ng tt v hiu qu nhiu mc khc nhau. Mt h
phn tn nh nht c th hot ng ch cn hai trm lm vic v mt phc v file.
Cc h ln c th bao gm hng nghn my tnh, nhiu phc v File v phc v
my in ...
Kh nng m rng ca mt h phn tn c c trng bi tnh khng thay i
phn mm h thng v phn mm ng dng khi h thng c m rng.
iu ny ch t mc no i vi h phn tn hin ti (khng th hon ton
nh nh ngha trn). Yu cu m rng khng ch l m rng v phn cng hay v
mng trn h thng bao trm m cn cn phi c phn tch, nh gi trn tt
c cc kha cnh khi thit k h phn tn. Mt v d n gin l tnh hung tn sut
s dng mt file qu cao xut hin nh kt qu ca vic tng s ngi s dng trn
mng. trnh tnh trng tc nghn xy ra nu nh ch c mt phc v p ng cc
yu cu truy cp file , cn nhn bn file trn mt vi phc v v h thng
c thit k sao cho d dng b sung phc v. C th tnh n cc gii php khc
l s dng Cache v bn sao d liu.
e. Kh nng th li
Kh nng th li th hin vic h thng khng b sp bi cc s c do cc li
thnh phn (c phn cng ln phn mm) trong mt b phn no .
Vic thit k kh nng chu li ca cc h thng my tnh da trn hai gii php sau
y:
- Dng kh nng thay th m bo vic hot ng lin tc v hiu qu.
- Dng cc chng trnh m bo c ch phc hi d liu khi xy ra s c.
xy dng mt h thng c th khc phc s c theo cch th nht th c th
chn gii php ni hai my tnh vi nhau thc hin cng mt chng trnh m
mt trong hai my chy ch Standby (khng ti hay ch). Gii php ny
kh tn km v phi nhn i phn cng ca h thng.
Gii php khc nhm gim bt ph tn l dng nhiu phc v khc nhau cung cp
cc ng dng quan trng cc phc v ny c th thay th nhau khi s c xut
hin. Khi khng c s c th cc phc v chy bnh thng (ngha l vn phc v
cc yu cu ca khch). Khi xut hin s c trn mt phc v no , cc ng dng
khch t chuyn hng sang cc phc v cn li. Vi cch th hai th phn mm
phc hi c thit k sao cho trng thi d liu hin thi (trng thi trc khi xy
ra s c) c th c khi phc khi li c pht hin. Ch rng vi cch thc
ny, mt mt th cng mt dch v c th c sn sng trn nhiu my v mt
khc, trn mt my li c sn mt s dch v khc nhau.
H phn tn cung cp kh nng sn sng cao i ph vi cc sai hng phn
cng. Kh nng sn sng ca h thng c o bng t l thi gian m h thng sn
sng lm vic so vi thi gian c s c. Khi mt my trn mng sai hng th ch c
cng vic lin quan n cc thnh phn sai hng b nh hng. Ngi s dng c
th chuyn n mt trm khc nu my h ang s dng b hng, mt QT phc v
c th c khi ng li trn mt my khc.
f. Tnh trong sut

- 26-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Nh c trnh by trong chng 1, tnh trong sut l tnh cht cn bn ca h phn
tn. Tnh trong sut ca h phn tn c hiu nh l s che khut i cc thnh phn
ring bit ca h thng my tnh (phn cng v phn mm) i vi ngi s dng v
nhng ngi lp trnh ng dng. Ngi s dng c quyn truy cp n d liu t ti
mt im d liu xa mt cch t ng nh h thng m khng cn bit n s phn
tn ca tt c d liu trn mng. H thng to cho ngi dng cm gic l d liu c
coi nh t ti my tnh cc b ca mnh. Cc th hin in hnh v tnh trong sut ca
HH phn tn c trnh by trong phn sau.
II.1.2. Mc tiu thit k h iu hnh phn tn
Cc c im ca h phn tn cn c tnh n khi thit k HH phn tn. Mc tiu
thit k HH phn tn tng ng vi mc tiu thit k HH ni chung v cn c
xem xt theo hai gc : gc ca ngi s dng v gc ca nh cung cp HH.
Trong thit k HH phn tn, nhng mc tiu chung nht theo c hai gc ny l
cung cp mt m hnh n gin hng ti mt h thng hiu qu (efficient), mm do
(linh hot - flexible), nht qun (consistency), mnh m (robust). Ni dung ca bn
mc tiu thit k ny cng bao gi c phn ln cc tnh cht ca h phn tn m
c gii thiu trong mc trc.
Do tnh cht "phn tn" vt l (ti nguyn phn tn, truyn thng mc cao, a dng
hn cc li thnh phn) cho nn HH phn tn hot ng phc tp hn, cng c ngha
l vic thi hnh cc mc tiu trn y l phc tp v kh khn hn.

Tnh hiu qu
Tnh hiu qu tr nn phc tp hn so vi HH tp trung do phi tnh n chi ph phi
tr cho bi ton truyn thng m trc y trong HH tp trung b qua yu t ny.
Truyn thng CT trong mi trng phn tn a l dn n tr ti hng micro
giy, mili giy thm ch l hng giy v to ra mt yu t phc tp trong vic nh gi
mc hiu qu ca h thng.
Ngun gc ca " tr" l do b sung nhiu yu t mi vo HH phn tn so vi
HH tp trung, l tr do nhn bn d liu, tr do tnh ton n tng ph theo
cc giao thc truyn thng cc mc khc nhau v s phn tn ti ca h thng.
tr do nhn bn d liu l kh r rng v hin nhin. Nhn bn d liu l vic
to thm cc bn sao d liu t ni khc ti v tr x l nhm mc ch tng tc truy
nhp d liu. Tuy nhin nhn bn d liu cng i hi chi ph phi tr gm thi gian
sao d liu v thi gian m bo yu t nht qun ca d liu c nhn bn. Khng
th t ra gii php nhm hn ch nhn bn d liu. Tuy nhin, vic truyn thng mc
ngn ng hay HH nn lm tht hiu qu v giao thc truyn thng mc mng nn
lm cho tht tt. Khi lu n phn b ti h thng th nhng vn nh hin tng
tht c chai hoc tc nghn hoc trong mng vt l hoc trong thnh phn phn mm
bt buc phi c a ch ha. Cc ng dng (h thng hoc ngi dng) c th tin
thm mt bc l QT phn tn cn c cu trc tt chng hn nh tnh ton v truyn
thng c th c cn bng ti v gi ln nhau mt cch hp l. Mt thut ton lp
lch ti u trong HH tp trung c th khng tr thnh thut ton tt khi p dng trong
HH phn tn. Vic phn tn cc QT sao cho h thng c cn bng: cc CPU dng
cho x l, cc ng truyn thng c pht huy cao nht c th c.
Hai thng s quan trng nh gi hiu qu h phn tn l tng tc v thng lng
h thng. tng tc (speedup) c hiu l thi gian hon thin QT l nhanh hay
chm. Thng lng (throughput) c hiu l s QT ng thi c x l ti mt thi
im. Vic nng cao hai thng s ny thng qua vic lp lch cc QT phn tn, chia x
ti v h thng truyn thng cn c thit k tt.
- 27-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

Tnh mm do
Theo cch nhn ca ngi s dng, tnh mm do c th hin thng qua tnh thn
thin ca h thng, tnh t do ca ngi dng khi s dng h thng. Tnh thn thin
c hiu rt rng nh d dng s dng giao din h thng, kh nng nh x qu trnh
tnh ton trong khng gian bi ton ti h thng. Tip cn hng i tng l chin
lc ph bin hon thnh mc tiu ny. Tnh thn thin cng lin kt vi cc tnh
cht nht qun v tnh tin cy. Cc h thng nht qun v ng tin cy khng c nhng
hn ch v l. N cn cung cp mi trng hot ng thch hp trong cc tool v
dch v mi d dng c xy dng.
Theo cch nhn ca h thng, tnh mm do l nng lc ca h thng tin ha v di
tr. Cc tnh cht mu cht l mun, co gin, kh chuyn v lin thao tc. Trong
nhng trng hp khc, cc tnh cht ny c quan trng ring trong h phn tn do
hu ht cc h thng s dng cc thnh phn phn cng v phn mm hn tp. Mt
mt, chng ta mong mun c mt quyn t tr a phng, nhng mt khc, chng ta
li mun cng cng tc thnh mt h lin kt cht ch, v chnh iu ny dn n
hn ch no ti chng ta. Chnh t hai mong mun c v i lp nhau ny a n
gii php dung ha trong vic gii quyt tnh mm do ca h phn tn.

Tnh nht qun


Tnh nht qun tr nn kh khn hn khi thi hnh trong h phn tn: thiu vng thng
tin ton cc, tim tng nhn bn v phn hoch d liu mnh, kh nng xy ra li
thnh phn, mi lin quan phc tp cc mun thnh phn; tt c cc iu u tham
gia vo s thiu nht qun ca h thng. Theo phng din ngi dng, mt h thng
l nht qun nu nh c c tnh ng nht khi s dng v ng x h thng c th
khng nh trc. Hn na, h thng phi nng lc duy tr tnh trng ton vn nh
c ch iu khin ng thi chnh xc v cc th tc kim sot li v khi phc. iu
khin nht qun trong d liu v file (hoc CSDL trong h thng nh hng giao dch)
l nhng vn cn c bn lun trong h thng file phn tn.

Tnh mnh m
Bi ton tnh mnh m cng tr nn quan trng hn trong h thng phn tn: li kt
ni truyn thng, li ti nt x l v li trong cc QT Client/Server l thng xuyn
hn so vi h thng my tnh tp trung. Quy tc no cn c h HH tun th trong
nhng trng hp, chng hn nh mt thng ip hi/p b mt hoc nt x l hoc
phc v b v ? Tnh mnh m v kha cnh th li c hiu rng h thng
nng lc t khi ng li ti trng thi m ti tnh ton vn ca h thng c
bo qun m ch vi mt gim st hiu nng mt cch hp l. c tnh mnh m,
h thng nn c trang b c ch kim sot c tnh hung khc thng (thm ch
cha phi l li r rng) v li, chng hn nh thay i tp h thng, tr thng
ip ln, hoc s bt lc khi nh v phc v. Tnh mnh m cng nn c m rng
ph c kha cnh an ton i vi ngi dng v h thng. Tnh tin cy, bo v v
iu khin truy nhp l trch nhim ca HH phn tn.
II.2. Tnh trong sut trong h phn tn
Tnh cht mu cht nht phn bit h phn tn vi cc h thng khc l tnh trong sut,
thut ng thng xuyn c nhc trong cc h thng phn tn. N l mc tiu thc
y vic che khut i nhng chi tit ph thuc h thng m khng thch hp i vi
ngi dng trong mi hon cnh v to ra mt mi trng thun nht cho ngi dng.
Nguyn l ny c thc t ha khi thit k h thng my tnh qua mt thi gian
- 28-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
di. Tnh trong sut tr nn quan trng hn trong h thng phn tn v thc hin kh
khn hn chnh t tnh hn tp ca h thng.
S che khut thng tin ph thuc h thng khi ngi dng da trn vic cn bng
gia tnh n gin v tnh hiu qu. Mt cch ng tic, hai tnh cht ny l xung t
nhau. Bi vy, mong mun mt mc tiu trong sut hon ton l khng thch hp. H
phn tn tt l c gng t c tnh trong sut cao nht c th c. Tng t nh
khi nim "o" trong HH v "tru tng" trong ngn ng lp trnh, mc tiu ca tnh
trong sut l cung cp mt ci nhn lgic thng nht ca mt h thng vt l hn tp
nh vic rt gn hiu qu vic nhn bit h thng vt l ti cc tiu (ni ring, theo
kha cnh chia ct vt l ca cc i tng v iu khin trong h thng).
Tnh trong sut th hin trong nhiu kha cnh, di y l mt s kha cnh in
hnh nht:
- Trong sut truy nhp: Truy nhp i tng a phng/ton cc theo cng mt
cch thc. S tch ri vt l ca cc i tng h thng c che khut ti ngi dng.
- Trong sut nh v (cn c gi l trong sut tn): Ngi dng khng nhn
bit c v tr ca i tng. i tng c nh v v ch dn theo tn lgic trong
mt h thng thng nht.
- Trong sut di tr (cn c gi l c lp nh v): l tnh cht b sung vo
trong sut nh v theo ngha khng nhng i tng c ch dn bng tn lgic m
i tng cn c di chuyn ti nh v vt l khc m khng cn i tn.
- Trong sut ng thi: cho php chia x i tng dng chung khng gp tranh
chp. N tng t nh khi nim phn chia thi gian theo ngha khi qut.
- Trong sut nhn bn: a ra tnh nht qun ca a th hin (hoc vng) ca file
v d liu. Tnh cht ny quan h mt thit vi trong sut ng thi song c c th
hn v file v d liu l loi i tng c bit,
- Trong sut song song: cho php cc hot ng song song m ngi dng khng
cn bit hot ng song song xy ra nh th no, u v khi no. Tnh song song
c th khng c ngi dng c t.
- Trong sut li: cung cp kh nng th li ca h thng c hiu l li trong h
thng c th c bin i thnh s gim hiu nng h thng mt cch mm do hn
ch khng phi ch l lm cc tiu s v v nguy him i vi ngi dng,
- Trong sut hiu nng: c gng ginh c tnh nht qun v khng nh (khng
cn thit ngang bng) mc hiu nng thm ch khi thay i cu trc h thng hoc
phn b ti. Hn na, ngi dng khng phi chu s chm tr hoc thay i qu mc
khi thao tc t xa. Trong sut hiu nng cn c th hin l hiu nng h thng
khng b gim theo thi gian.
- Trong sut kch thc: lin quan n tnh mm do v tim tng. N cho php
s tng trng ca h thng c che khut i vi ngi s dng. Kch thc h
thng khng to ra tc ng i vi nhn thc ca ngi dng.
- Trong sut duyt li ch dn rng s tng trng h thng theo chiu dc l t l
nghch vi s tng trng h thng theo chiu ngang. S duyt li phn mm b che
khut i vi ngi dng. Trong sut duyt li cng c hiu nh trong sut phn
on.
Sau y l mt v d gii thch. Trc y khi in thoi cn cha ph bin (in
thoi lin tnh him hoc rt t), dng in thoi nu khong cch ngn cn dng th
nu xa lin lc vi ngi quen. Trng hp ny vi phm tnh trong sut truy nhp
- 29-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
do phng php lin lc l khng ng nht. Khi in thoi lin tnh pht trin, gi c
gim, nu dng in thoi c nh th lin lc s in thoi ni tnh khc vi lin lc
vi s in thoi tnh ngoi (chng hn, b sung thm m tnh). Trng hp ny vi
phm trong sut nh v. Nu mt ngi chuyn ch phi thay s in thoi mi
(khng th dng s in thoi c) l vi phm tnh trong sut di tr.
Mt phng php lin lc l tng l trn phm vi ton h thng, c th "gp" i
tng bt k ch bi tn ton cc (k hiu hoc s) chng hn nh s chng minh nhn
dn. Tip tc cc v d trn y, nu mi ngi ch s dng in thoi di ng lin
lc vi nhau th h thng nh vy c coi l tha mn cc tnh cht trong sut truy
nhp, nh v v di tr.
T phn tch trn y, nhn thy rng trong sut truy nhp, nh v, v di tr c quan
h gn gi nhau.
Trong sut song song, ng thi, v hiu nng c thit k nhm che chn s qun l
cc hot ng ng thi i vi cc ngi dng, da trn cc quan h ni ti ngi
dng (intrauser), lin ngi dng (interuser) v lin nt (internode). Cho php thc
hin ng thi cc mc thc hin khc nhau: ni ti mt ngi dng, gia cc ngi
dng, v gia cc nt phn tn. Trong sut nhn bn v trong sut li c quan h vi
vic duy tr tnh ton vn h thng. Trong sut kch thc v trong sut duyt li cung
cp s bin i uyn chuyn ca h thng theo s tng trng v phn cng v phn
mm.
Danh sch trong sut c m t trn y khng phi l ton din. Tuy nhin, danh
sch ny thch hp vi h phn tn. Chng cng c phn lp khi xem xt mi quan
h vi cc mc tiu thit k h iu hnh. Trong sut ng thi v hiu qu cung cp
tnh hiu qu. Trong sut truy nhp, nh v, di tr v kch thc lin quan n tnh
mm do. Tnh nht qun lin quan ti trong sut truy nhp, nhn bn v trong sut
hiu nng. Cui cng, cc trong sut li, nhn bn, v kch thc lin quan ti tnh
mnh m ca h thng. Bng 2.1 cho mi lin h gia mc tiu ca h thng vi tnh
trong sut.
Bng 2.1 . Phn lp cc tnh trong sut theo mc tiu h thng
Mc tiu ca h thng
Tnh trong sut
Hiu qu
ng thi / song song / hiu nng
Mm do
truy nhp / nh v / di tr / kch thc /
duyt li
Bn vng
truy nhp / nhn bn / hiu nng
Mnh m
th li / nhn bn / kch thc / duyt li
Thi hnh HH phn tn v cc thut ton iu khin phn tn tng ng lin quan
cht ch ti vic thc hin cc tnh trong sut ny. Ni tm li, h phn tn cung cp
s tch ri vt l ca cc i tng, tnh trong sut c dng che khut i tc ng
ca s chia tch vt l ny. Kt qu cui cng l ngi dng nhn h a my tnh nh
mt h my tnh n lgic.
Bn lun trn y v tnh trong sut da trn cc tnh cht ca h thng ng mong
mun theo quan im ca c ngi dng ln h thng. Cc bi ton chnh trong HH
phn tn cng c phn lp theo tnh trong sut v c trnh by trong bng 2.2. Ni
tm li, mc tiu ca HH phn tn l cung cp mi trng tnh ton hiu nng cao v
mnh m vi vic nhn bit t nht v qun l v iu khin ca cc ti nguyn h
thng phn tn.

- 30-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)


Bng 2.2. Vn ca h phn tn v tnh trong sut
Vn chnh ca h thng
Tnh trong sut
Truyn thng
Trong sut lin thao tc v
ng b
iu khin
Thut ton phn tn
Lp lch qu trnh
Trong sut hiu nng
Nm gi b tc
Cn bng ti
Lp lch ti nguyn
Trong sut ti nguyn
Chia x file
iu khin ng thi
Kim sot li
Trong sut li
Cu hnh
Thu gn

II.3. Cc dch v
HH c coi l "nh" cung cp dch v v thit k hiu qu cc dch v ny th
chng nn c t chc v xy dng theo phn cp. Nh vy, dch v c to nn t
cc dch v c v chng ta nhn c mt cu trc nhiu mc dch v: dch v
nguyn thy, dch v t phc v h thng v dch v gia tng gi tr.
2.3.1 Dch v nguyn thy
Dch v nguyn thy l mc thp nht trong h thng cc mc dch v, chng l nhng
dch v c bn nht, chng tn ti trong nhn ca HH mi nt trong h thng.
Dch v nguyn thy, bt buc phi c a vo nhn ca HH: iu ny tng ng
vi cch tim cn "nhn ti thiu" (vi nhn) ca HH tp trung. Ba dch v (chc
nng) c bn m nhn buc phi cung cp c nh danh nh sau:
- Dch v truyn thng: Trong h phn tn, truyn thng gia cc QT c thc
hin nh CT, mt tp cc dch v nguyn thy gi v nhn buc phi c xc nh
v thi hnh. Cc dch v nguyn thy ny truyn tin theo knh lgic.
- Gi v nhn c th ng b hoc d b. Truyn thng ng b thm vo phc
v mc ch truyn thng, c pht trin t ng b truyn thng lin QT (ti mt
nt) nhm gip ch cho truyn thng lin nt. Nu CT ch theo ngha tng tc QT,
ng b QT phi da vo truyn thng hoc chnh ng ngha ng b ca truyn thng
hoc bi cc phc v ng b no da trn CT. Trc ht cn c cc dch v
nguyn thy ng b (syschronous primitive), cn c gi l dch v kt khi
(blocking primitive). i ngu vi chng l nguyn thy d b (asyschronous
primitive) hay dch v khng kt khi (nonblocking primitive). Ngoi ra cn c cc
cp dch v nguyn thy buffer (buffered primitive/ unbuffered primitive) v cp cc
dch v nguyn thy tin cy (reliable primitive/ unreliable primitive).
- V yu cu che y s ph thuc vt l trong h phn tn, m t b x l a
thnh phn nh l mt phc v QT l ph hp hn. Dch v QT qun l vic pht sinh,
loi b v iu chnh cc QT bng cch nh v cc ti nguyn cn thit, chng hn nh
b nh v thi gian x l. Vic gii p vn b x l l cc b hay t xa, yu cu
bao nhiu b x l ri ti cc QT l trong sut.
Phc v QT tng tc vi cc phc v QT khc thng qua truyn thng t xa v ng
b.
- 31-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
2.3.2. Dch v t phc v h thng
C rt nhiu dch v tuy rt cn thit song khng bt buc phi a vo nhn, cc dch
v ny c cc phc v h thng cung cp. Di y l mt s dch v in hnh nht
c lit k theo mc quan h vi h thng phn tn.
Chc nng che giu i tng vt l bng tn lgic i hi tn ti c ch nh x tn
lgic thnh i tng vt l. a ch ca mt QT hay nh v mt file c th thu c
theo cch ad-hoc (khng d tnh trc), nhng ni chung l qua xem xt ca phc v
tn hoc phc v th mc. Phc v tn thng c dng nh v (nh danh) ngi
dng, QT, hoc my cn phc v th mc thng c dng lin kt vi file hoc
cng truyn thng.
Nu khng th nh v c phc v th phc v l v dng v vy mi phc v cn
c nh v bi dch v tn. Nh vy phc v tn l phc v thit yu nht trong h
phn tn. Vic thu c a ch v nh v t phc v tn ph thuc h thng v buc
phi c gii thch thnh ng truyn thng trc khi i tng c truy nhp. Cc
dch v gii thch ny, gm chn ng i v chn l trnh thc s ca thng tin, l cc
dch v c cung cp bi phc v mng. Phc v mng c trong sut theo mc
HH. Vic truyn pht T trong mng m cha dng n kh nng h tr hiu qu
ca phn cng cn ti mt phc v truyn pht hay phc v khuych tn trong HH.
Phc v quan trng tip theo l phc v thi gian. ng h (tng qut hn l b thi
gian) c dng ng b v lp lch cc hot ng phn cng v phn mm trong
mi h thng my tnh. V mt l thuyt th khng th a vo hay chp nhn mt
thng tin ng h tng th tuyt i. Thm ch c tn ti mt ng h trung tm (kiu
thi gian Greenwich) th lch thi gian vn xut hin do tr khi tip nhn v ghi
thng tin thi gian. Trong h phn tn, lch ny cng ln do lch truyn thng
gia cc QT di hn. Ti nc HH, c hai kiu s dng thng tin thi gian in hnh
ng b cc QT: (1) i hi mt xp x gn gi thi gian (chng hn thi on CPU
phc v mt QT) vi ng h thi gian thc v (2) s dng ng h thi gian nhn to
nhm duy tr quan h nhn qu th t s kin (s kin no xut hin trc trong hai s
kin). Tng ng, chng c gi l ng h vt l v ng h lgic. Mc ch dng
ng h vt l l m bo tnh ng b thao tc hoc i hi rng thao tc thc s
c gii quyt ti mt thi im thi gian thc. Thi gian buc phi ph hp nh mt
o thc s no song vic c gn gi vi thi gian th gii thc hay khng l
khng quan trng. ng b cc QT s dng ng h lgic do cn duy tr mt th t
tng th vic xut hin cc s kin nhm tin chc chn vo tnh ng n v s ph
thuc ln nhau ca cc thao tc. Phc v thi gian cho ng h vt l da trn vic xp
x tt nht ng h thi gian "thc". Gii php thc hin ng b ng h logic l hp
l v c thc hin bng ng h lgic Lamport xut hin trc.
Phc v tn v phc v thi gian l cc phc v thng tin. Thng thng, cn i hi
thm cc phc v h thng khc nhm qun l ti nguyn h thng c chia x. V d
quen thuc l phc v file v phc v in. Phc v file c th c nhn bn hay tch
nu file khng bin i. Cc phc v c th c cu trc th bc, chng hn, phc v
file c th cha cc phc v con th mc hoc an ton iu khin truy nhp v xc
nhn quyn; phc v QT c th b sung thnh mt phc v di tr vi s cng tc ca
phc v QT thun tin chuyn QT t nt ny sang nt khc. Trong mt h thng
phn tn rng ln m cc QT truyn thng c th nghi ngi nhau, cn n mt phc v
xc nh tin cy xc nh nh danh qu trnh. Phc v h thng cung cp nhng
dch v c s qun l qu trnh, file, truyn thng qu trnh.

- 32-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
2.3.3. Dch v gia tng gi tr
Dch v gia tng gi tr l dch v khng nht thit c thi hnh trong h thng phn
tn nhng li rt hu ch h tr cc ng dng phn tn. V pha ngi dng, s
dng cc ng dng phn tn c thc y khng ch vi mong mun lm tng hiu
nng tnh ton v tng vic th li m cn cn c to ra cc hot ng cng tc. Mt
khc, cn quan tm ti khi nim nhm cc qu trnh tng tc. Nhm tnh ton ta
nh mt t chc x hi v cn thit phi c qun l.
Phc v nhm qun l vic khi to v kt thc cc hot ng nhm, bao gm c a
ch nhm v truyn thng. N thc hin c chc nng qun l thng tin nh tnh thnh
vin, chnh sch kt np v c quyn ca thnh vin. Quyt nh ca nhm v vic
thu nhn hoc ri khi nhm c thi hnh bi ngi lnh o nhm hoc s nht tr
ca ton th thnh vin trong nhm. Nghi thc nhm m bo tnh cht xc nh ca
nhm. Cu trc nhm bin ng theo cc ng dng. V d, nhm tin trn mng, nhm
hi tho phn tn, nhm son tho ng thi, nhm tnh ton phn tn tri t kt ni
lng n kt ni rt cht (tng dn theo mc gn kt) vi cc quy tc chi phi cng
rn. Khi mt ng dng nhm tr thnh chun tc th n c trn vo h thng tr
thnh mt dch v mi. Theo ngha ny, phc v hi tho phn tn, phc v son tho
ng thi l cn a vo h thng. Phc v Web l mt v d phc v gi tr gi tng
chun tc.
II.4. M hnh kin trc h iu hnh phn tn
Cc dch v phn tn c m t thng qua cc c t chc nng. Thi hnh cc dch v
phn tn ph thuc vo kin trc h thng v mng truyn thng h tng. Mc trn,
kin trc h thng c m t mt cch tru tng thng qua cc thnh phn chnh v
mi quan h ca cc thnh phn ny. Mc di, kin trc mng c t cc phng tin
truyn thng. Tn ti rt nhiu m hnh h thng v kin trc mng, m di y l
cc m hnh c dng ph dng nht v c minh ha thng qua cc khi nim
phn mm.
2.4.1. Kin trc h thng phn tn (mc trn)
Theo ngha tru tng nht, th gii HH tp trung ch bao gm hai kiu thc th
chnh l QT v file. Theo gi thit ca mt mng, HH phn tn bt buc b sung
thnh phn th ba, l ng truyn thng (hay cng) trn cho php tnh trong
sut ca h thng.
Trm khch

Trm phc v

Cc cng truyn thng trong mng

My phc v dnh ring


Hnh 2.1. M hnh trm - phc v

- 33-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Nh vy, trong HH phn tn, ba thc th chnh l QT, File v ng truyn thng.
Phn cng nhn thy c l cc trm lm vic v mng. Hn na, ngi dng khng
quan tm n cc thnh phn vt l, ngoi tr gi c, hnh dng v hiu nng ca
chng. QT ngi dng hoc i hi hoc cung cp dch v. Mt s trm lm vic c
dnh ring cung cp cc dch v (theo l do a l hoc hiu nng, gi l my trm
phc v dnh ring). y l m hnh trm lm vic-phc v (workstation - server)
c trnh by trong hnh 2.1.
Trong m hnh trm - phc v, my trm c th ng vai tr nh mt my tnh c lp
hoc nh mt phn ca mng ton b. N cung cp nng lc mt b x l cc b v
mt giao din mng. Mt s trm lm vic khng c a, mi dch v file v khi ng
c h tr bi h thng file mng. S tn ti a l trong sut, ngoi tr ting lch
cch nh k ca a, cho bit my tnh ang tn ti. Nu QT c thc hin t xa th
iu phn bit gia mt trm lm vic vi mt trm cui tr nn mp m.
Trong m hnh trm - phc v, a s cc trm lm vic nhn ri. iu ny a n mt
yu cu l nn chng tp trung mi nng lc x l vo mt v tr v cho php ngi
dng ch dng trm cui (h tr tt phn cng v phn mm hin th ). Nng lc x l
c th c tn dng tt hn trn mt nn tng yu cu. Quan nim ny dn ti m
hnh xu b x l (processors - pool), c ch ra trong hnh 2.2. c trng chnh ca
m hnh ny l chia x tnh ton, b sung vo chia x ti nguyn.
Trm cui

Trm cui-X

PAD

PAD

Cng truyn thng trong mng

My
Phc v
phc v
b
dnh
Hnh 2.2. M hnh xu - b x l
x l
ring
xu
Trong m hnh xu-b x l, ngi dng c php truy nhp vo h thng my tnh
n o nh vo cc trm cui thng minh, nh X-terminal. Tiu chun "thng minh"
ca trm cui t nht phi bao gm (1) boot my t xa, (2) gn kt (mount) h thng
file t xa, (3) ch ng qun l trm cui o, (4) nng lc thit k v gii thit k gi
(packet assembling and deassembling - PAD) i vi truyn thng chuyn mch gi.
PAD c th c thit k ngay ti trm cui hoc ng ring c th c c tnh a
thnh phn gm mt s lng ln cc trm cui. nh v file v b x l do h thng
thc hin. M hnh ny c c tnh trong sut song song.
Tn ti m hnh kin trc "lai" l kt qu tch hp ni dung hai m hnh trn y. Hin
vn cn mt s cu hi v cch thc tch hp hai m hnh: C th hay khng cc b x
l trong m hnh trm - phc v c dng nh xu - b x l ? Nu di tr QT c thi
- 34-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
hnh hiu qu th ti sao li khng lm nh vy. Cc QT c th di tr ti cc b x l
nhn ri hoc ti t da theo chin lc ti no . Tt nhin l gii php nh vy cn
lin quan n nhiu yu t khc na.
2.4.2. Kin trc mng truyn thng
Tnh a thnh phn ca h thng my tnh trong h phn tn dn n i hi cn kt
ni cc thnh phn ny. Ni khc i, nhu cu chia x ti nguyn (phn cng, phn
mm, thng tin ...) t mt tp hp nhiu my tnh i hi lin kt cc thnh phn trong
tp hp .
iu ny c thc hin trong mng vi HH mng. Trong h phn tn, h tng
kt ni tng t nh HH mng. Cc thnh phn trong h thng c th kt ni imim (c kt ni trc tip gia cc cp nt my tnh trong h thng) hoc knh truyn
thng a im (tuyn chia x - bus, hay mng lin kt ni - switch).

B dn
ng/ cng
T1

T3

T1

cu / b dn
ng
Nt mng lin phng tin

LAN Ethernet

LAN Token Ring

Hnh 2.3.a. WAN tc thp


B dn
ng/ cng
DS3

SONET

DS3

b dn ng
DQDB interface Chuyn mch ATM trung
gian

DQDB
interface

DQDB MAN
Hnh 2.3.b. WAN hoc MAN tc cao

FDDI LA

Truy nhp cc phng tin truyn thng trong tuyn chia x l phn chia thi gian, cn
switch cung cp tnh a hp khng gian-thi gian (phn chia c thi gian ln khng
gian) vi chi ph phn cng v phc tp cao hn.
Mng truyn thng da trn-bus c dng rng ri trong mng LAN v cng ngh
n gin v tnh hon thin ca n. Chun IEEE 802 LAN nh ngha mt s phng
tin da trn-bus, bao gm Ethernet, Token Bus, Token Ring, Fiber Distributed Data
Interface (FDDI) v Distributed Queue Dual Buses (DQDB).
H thng switch ph thng hn, thng c dng thi hnh cc h thng a x l
hiu nng cao v lin kt ni cc mng LAN dc theo cc vt mang dch v truyn
thng cng cng. Switch nguyn thy in hnh cho h a x l l mng lin kt ni
ngang hng hoc a mc. Dch v switch cng cng bao gm cc dng mng
- 35-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Intergrated Services Digital Network (ISDN) v rle Switched Multimegabit Data
Service (SMDS), v ni bt l Asynchronous Transfer Mode (ATM). iu quan trng
dn ng d liu khng phi do host m do cc switch thi hnh. Switch cn m nhn
mt s chc nng mng.
Cc LAN c kt ni thnh mng thnh ph (MAN: Metropolitan Area Network)
hoc mng din rng (WAN: Wide Area Network). Mng c c trng theo yu cu
nng lc v khong cch a l ca chng. LAN c nng lc n 20 Mbps v khong
cch di vi km, c dng cho mt c quan cc b n l. WAN c th tri trn
khong cch vi trm n vi nghn km v qua mt s nt truyn thng. WAN truyn
thng tc thp, tc d liu t vi Kbps (kilobits-per-second) v i hi b m
lu gi-chuyn tip (store-and-forward). Nng lc in hnh l cc knh T1 56 Kbps v
1.544 Mbps. m rng nng lc bng cng ngh si quang t t mc DS1 (1.5
Mbps) ti mc DS3 (45 Mbps) v giao thc mng quang ng b (Synchrronous
Optical NETwork - SONET, 155 Mbps). Tc cao cho php pht trin WAN v
MAN. D liu trn bao gm vn bn, ting ni, video c sinh ra t cc LAN. p
dng cng ngh chuyn mch gi nhm nng cao tc v ko di khong cch
truyn.
Nng lc v khong cch ng vai tr quan trng trong vic xc nh kiu ng dng c
th thc hin trn mng. phn bit, s dng tham s a nh t s ca tr truyn
trn tr chuyn. LAN c tham s a nh thua nhiu so vi MAN hoc WAN tc
cao. Mng vi a b l mng kn, vi a ln l mng nh hng truyn thng.
II.5. Cc giao thc mng truyn thng
Sau khi cung cp mt kin trc mng, cn a ra cc quy tc v chun qun l vic
truyn thng. Giao thc truyn thng l tp cc quy tc quy nh vic trao i T
nhm cung cp dng thng tin ng tin cy v ng trt t trong qu trnh truyn
thng. truyn thng ti im xa trong i thng, con ngi dng in thoi v
th. Tng t, trong h thng truyn thng my tnh cng c hai chin lc dch v
truyn thng l nh hng kt ni (nh in thoi) v khng kt ni (nh th).
Giao thc nh hng kt ni i hi khi ng r rng mt kt ni trc khi bt u
truyn thng thc s. Thng ip c phn pht tin cy v theo dng tun t. Thao
tc giao thc khng kt ni lm vic tng t chuyn th ca ngnh bu chnh: khng
cn thit thit lp cuc kt ni. T c phn pht da trn s c gng nht v thi
gian v ng i v c th xut hin theo th t ty . Nh vy, vic chuyn pht T
khng kt ni l khng bt buc im gi v im nhn duy tr mt kt ni trong sut
qu trnh phn pht T v v vy, thi gian thc hin gi v nhn ca mi i tng
tng ng l nhanh chng.
Chn la giao thc no l tu thuc vo ng dng. Nu truyn File th hp l hn dng
nh hng kt ni, cn nu qung b trng thi h thng cc b th dng khng kt
ni.
Ti mc mng, hai dch v kiu ny thng c ch dn nh l vng o v gi d liu
o. Ti mc truyn thng phn cng, gi chng l chuyn mch vng (khng kt ni)
v chuyn mch gi (hng kt ni). Kt ni trong chuyn mch vng l kt ni vt l
c nh. Vng o l kt ni lgic. Mt ng vt l n c th chuyn mt s vng o
a hp. C th m rng tnh tru tng ny ti truyn thng hng kt ni. Truyn
thng hng kt ni c thi hnh nh mt s dch v gi. D liu thc s c mang
chuyn trong mng chuyn mch gi sut thi gian h thng cung cp vic phn pht
cc T mt cch tin cy - ng th t v cho ngi dng cm gic v mt kt ni.
- 36-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Trong h thng, truyn thng xy ra ti nhiu mc khc nhau. Ngi dng CT ln
nhau. Cc my truyn thng ln nhau. Cc mng cng i hi cng tc thng qua
truyn thng. y l truyn thng im-im: truyn thng gia hai thc th ng
mc. Thit k phn mm v phn cng truyn thng trong h thng my tnh l mt
nhim v rng ln hn. Chng c cu trc thnh cc tng.
Vic phn tng truyn thng cn m bo mt s nguyn tc sau:
(1) Mt tng truyn thng tng ng vi mt mc tru tng,
(2) Mi tng cn thc hin chc nng hon ton xc nh. Vic xc nh chc
nng ca mi tng truyn thng cn ph hp quy tc chun ho quc t,
(3) Thng tin i qua mi tng l t nht,
(4) S tng phi ln cc chc nng tch bit khng nm trong cng mt
tng v nh m hnh khng qu phc tp,
(5) Mt tng c th c phn thnh cc tng con nu cn thit v cc tng con
c th b loi b,
(6) Hai h thng khc nhau c th truyn thng vi nhau nu chng bo m
nhng nguyn tc chung (ci t cng mt giao thc truyn thng),
(7) Cc chc nng c t chc thnh mt tp cc tng ng mc cung cp chc
nng nh nhau. Cc tng ng mc phi s dng mt giao thc chung.
Nh vy, mi tng cn c m t chnh xc v chc nng (hay dch v). Hai tng k
nhau c giao din v giao thc truyn thng r rng gia chng. Tng thp hn cung
cp cc dch v cho tng ngay trn n. Giao thc gia cc tng l n gin hn v c
cu trc thun nht hn so vi giao thc im-im v thc hin vic trao i gia hai
tng. Cho php m rng c im chc nng l phn tch c v kin trc giao din
n gin xc nh hon ton khi to mt c t mng tng minh cho nhiu nh
cung cp thi hnh. c t mng c chun ha c gi l kin trc h thng mng.
Cc mc trong mng chun ha cng cc giao thc tng ng c gi l b giao thc
mng.
Di y l hai b giao thc mng in hnh nht: Open Systems Interconnection
(OSI) ca T chc chun ha quc t (ISO) v Transmission Control Protocol/Internet
Protocol (TCP/IP) ca B quc phng M.
2.5.1. B giao thc OSI
OSI l b giao thc by tng. Mt QT truyn thng ti mt QT khc xa bng cch
chuyn d liu qua by tng, ri n tng vt l, v cui cng i qua cc tng xa theo
th t ngc li. Chi tit ca CT l b che t QT truyn thng v cc QT ny ch quan
st c giao thc im-im. Trong sut d liu gia cc tng l t c (Hnh 2.4).
Ti nt gi, mi tng nhn mt n v d liu giao thc (PDU: Protocol Data Unit) t
tng ngay trn v gi PDU ny vi thng tin iu khin header cho tng ngang hng
vi n im nhn. T kt hp ny (T v header) c coi l PDU cho tng di.
Trong nhiu trng hp, PDU cn c phn on do gii hn kch thc PDU ca
tng di. Vic phn on v ghp ni li cn trong sut tng trn.
Ti nt nhn, thng tin header c tho ra tng ng theo tng tng. Cng vo ra
hoc nt trung gian ch thc hin vic lu tm thi v chuyn tip ti ba tng ph thuc
mng thp nht. Di y trnh by ni dung cc tng theo th t "t thp ln cao".

- 37-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy

Giao thc im - im

ng dng

ng dng

Trnh din

Trnh din

Phin

Phin

Giao vn

Giao vn
Nt trung gian

Mng

Mng

Mng

Mng

Kt ni d liu

Kt ni d liu

Kt ni d liu

Kt ni d liu

Vt l

Vt l

Vt l

Vt l

Kt ni truyn thng

Kt ni truyn thng

Hnh 2.4. B giao thc by tng OSI

Tng vt l c t c trng in t v c hc ca ng truyn thng vt l gia cp


hai nt. Chc nng chnh l cung cp mt ng dn bit (bit pipe) lgic tin cy i vi
knh truyn thng. Tn hiu in t hoc quang cn c bin i thnh bit v ngc
li. nh x tn hiu thnh bit cn ng b bit: pht hin bt u ca bit hoc dy bit.
Dy bit hoc c ng b bit hoc d b k t. Dy ng b bit l mt khi ln cc
bit c truyn theo tc thng thng. Phng php ny cho tc truyn d liu
cao hn v tn dng ng truyn thng tt hn. D liu d b k t l mt dy bt c
kch thc nh c nh c truyn d b theo ng dn bit. Trm cui hng k t tc
thp thng dng phng php ny chuyn d liu. Vic pht v nhn bit lgic
i hi chun ha cc thuc tnh in t v c hc chng hn nh phng php m, k
thut m ha gm ghi v c t vt kt ni. Hai chun kt ni im-im in hnh l
RS232C v X.21. Hn na, modem (MOdunlator/DEModunlator) c th dng gia
mt cp cng RS232C v nh vy tr thnh cng ca tuyn vt l. Modem (ng b
hoc d b) bt buc phi chun ha. Cng vy, chia x tuyn dng chung, chng hn
dy ng trc Ethernet, cng c chun ha lm tng kt ni d liu.
Tng iu khin kt ni d liu (DLC) m bo truyn tin cy nhm bit (c gi
l khun - frame). Giao thc kt ni d liu qun l khi to cu hnh, iu khin li,
tnh k tip, iu khin dng cc khun. Cu hnh trnh din cch thit lp v kt thc
kt ni v xc nh kt ni hai chiu hay mt chiu, ng b hay d b. Li gm c li
ng truyn hoc thiu/lp khun. Li c pht hin nh c ch tng kim tra
(checksum) hoc c ch qu hn (time-out) v c iu chnh li nh c ch truyn
li hoc truyn bn ng ca cc bn li. iu khin dy dng s hiu dy duy tr
- 38-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
vic truyn c th t cc khun. S hiu cn c dng pht hin vic st/lp khun
v gip cho vic iu chnh dng truyn khun. Dng khun d liu cn phi c
iu chnh nu nh ni nhn khng th theo kp ni gi, c th do dung lng qu hn
ch ca b m. Vic pht mt khun c php ch khi n ri vo ca s b m ca
ngi gi v ngi nhn. Tt c chc nng iu khin ny lm tng chi ph tnh theo
bit c b sung vo khun d liu to thnh u v ui ca khun. Kt qu l mi
giao thc DLC c dng khun xc nh thng dch ng n cc bit trong cc
trng iu khin.
cu hnh a im, chng hn nh tuyn chung, tng iu khin kt ni d liu c
thi hnh vi tng con iu khin truy nhp trung gian MAC (Medium Access Control)
t gia tng con DLC v tng vt l. MAC gii quyt bi ton truy nhp knh a tng.
Tng mng: Do hai tng thp nht (tng vt l v tng kt ni d liu) ch lin quan
n mt tuyn kt ni. Tng mng gii quyt vn gi cc gi (packet) dc theo
mng thng qua mt s on tuyn kt ni. Gi l n v c s truyn d liu trong
tng mng. Kch thc ca gi khc vi khun ca tng kt ni d liu (kch thc
khun ph thuc vo tnh cht ca ng truyn d liu vt l). Gi c gi chuyn
tip qua mi nt trn mng theo hnh thc chuyn tip gi t nhng nt khc hoc bt
u t chnh nt . Mt cu hi c t ra l: ng kt ni no s c chn
chuyn tip gi da theo a ch ch ca gi? y l chc nng dn ng ca tng
mng. Cc chc nng khc nh iu khin li v dng cng c thi hnh tng
mng, nhng mc cao hn gia cc nt v thng qua cc nt trung gian. Hin
tng nt no lun c u tin chn theo quyt nh dn ng c kh nng xy
ra v nt nh vy s tr thnh c chai trong mng. iu khin dng nhm gim nh
vn ny c gi l iu khin tc nghn. Quyt nh dn ng c th c to ti
thi im khi kt ni c yu cu v c thit lp. Quyt nh dn ng c th to
ra trn c s gi tip - gi. Hnh thc ha bng cc gi thit ca kt ni. Chng hn
nh ng truyn thng c coi nh mt chu trnh o v c tnh cht phn pht theo
th t cc gi. Cc gi c pht theo phng php sau c gi chuyn mch gi
(datagram) v i hi thit k li cc gi theo dy ng n. Quyt nh dn ng c
th tnh hoc c th c iu chnh theo trng thi mng. Tnh ton quyt nh dn
ng c th l tp trung hoc phn tn trn mt s nt cng tc. Bi ton dn ng
mng c nghin cu rng ri.
Gia mi cp nt (gi v nhn), tn ti mt s ng dn ng gi. Vi mt s
ng dng phn tn, trng ch vo cch thc dn ng phc. Nu ng i c chn
theo thuyt khng quyt nh i vi mi gi c chuyn tip, vic ti h thng c
lm cn bng hn ngn nga hin tng tht c chai. Lc , cc gi xut hin c
th khng tun theo dy. Mt khc, vic sao bi cc gi s c gi c th a n yu
cu tng hiu nng h thng. Nu ch tip nhn gi c gi thnh cng u tin, c
th nhn thy tr lin nt ngn hn v xc sut thiu gi gim i. iu ny li i
hi b sung c ch thit k li gi v loi b gi lp li. Cc ng dng i hi hiu
nng cao v tin cy cn c th nng cao tng ph.
Hn na, khng phi tt c cc gi l gi d liu. S dng mt s gi iu khin cho
gii php a ch mng v qung b trng thi. Cc giao thc ny thng dng dch v
chuyn mch gi do cc gi ca chng l nh v ngn hn.
Tng giao vn: Theo quan im ca HH, y l tng quan trng nht trong b giao
thc by tng v n v tr trung gian gia cc mng con truyn thng (ph thuc
mng: tng vt l, tng kt ni d liu v tng mng) vi cc tng cao hn - c lp
mng (tng phin, tng trnh din v tng ng dng). Trch nhim c bn ca tng giao
- 39-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
vn l cung cp vic truyn thng hai mt tin cy gia cc QT ngang hng. Li-vn
ph thuc mng s c che chn khi cc QT truyn thng. Cc phin truyn thng
QT c m bo bi kt ni giao vn. Tng giao vn ti nt gi tch thng ip thnh
cc gi v chuyn chng xung tng mng chuyn trn mng. Tng giao vn ti nt
nhn thit k li cc gi thnh thng ip. Mt s phin nh hn c th c kt hp
li thnh kt ni giao vn n nhm t c s tn dng hiu qu hn kt ni, nu
chng cng i ti mt nt. Tng t, tng giao vn c th chp nhn mt phin chim
gi kt ni giao vn phc lm tng thng lng phin. Vic kt hp v tp trung
trong dch v giao vn cn trong sut i vi phin. Phin c phn lp theo yu cu
v kim sot li v nng lc kt hp. OSI nh ngha 5 lp (t TP0 ti TP4) dch v
giao vn h tr phin. Vic chn lp dch v ph thuc vo yu cu ca ng dng v
cht lng ca mng truyn thng h tng. Dch v truyn thng ph dung nht TP4
cho php kt hp cc phin, pht hin li v truyn li. N l dch v giao vn hng
kt ni tin cy i vi mng khng tin cy.
Tng phin, trnh din v ng dng: Cc tng trn tng giao vn l khng bn cht
v mt h thng v mng truyn thng. Chng l cc dch v b sung ti h thng.
Tng phin b sung dch v hi thoi v ng b cho tng giao vn. Hi thoi lm
thun tin vic thit lp phin cn ng b cho php cc QT chn thm cc im kim
tra khi phc hiu qu t hin tng sp h thng.
Tng trnh din cung cp m ho d liu, nn v bin i m i vi T bng cc s
m ha khc nhau.
Chun ha tng ng dng dnh cho ngi thit k ng dng, chng hn dch v th
in t v truyn file.
2.5.2. B giao thc TCP/IP
c t OSI cung cp mt din mo b ngoi ca truyn thng mng. Khi cho mt
mng vt l h tng, tn ti hai kiu tng tc h thng: truyn thng lin QT v
truyn thng lin nt. t ra hai cu hi i vi ngi thit k h thng: Lm th no
duy tr c truyn thng gia cp hai QT v vic dn ng T theo cc nt ca
mng nh th no ? Ni khc i, tng giao vn v tng mng l ct yu trong thit k
h thng. TCP/IP l b giao thc tp trung vo hai vn ny trong mi trng lin
mng. TCP l giao thc tng giao vn tng ng vi TP4 trong b OSI. ch c bn
ca b TCP/IP l mng lin kt ni trong khi OSI l my tnh lin kt ni.
Hnh 2.5 m t b giao thc TCP/IP cho hai mng c kt ni qua mt s cng, cn
hnh 2.6 th hin cc giao thc tng ng vi cc tng. Giao thc thc s trong hnh
ch c hai tng; cc tng khc c ch ra ch mang tnh ton vn. Tng ng dng l
khng cn nh r, thm ch ngay c tng tc gia TCP v ng dng l khng xc
nh linh hot. Tng kt ni d liu v vt l c ch nh l mt giao din mng
m hin c rt nhiu chun cho n.
Mc giao vn c th chn hng kt ni hoc khng kt ni. Dch v ny c th c
thc hin bi mt chu trnh o hoc mt gi tin ti tng mng. Nh vy, t hp thnh
bn c ch truyn thng QT. Truyn thng hng kt ni, theo nh ngha, c yu cu
nghim ngt i vi vic phn pht chnh xc v ng trnh t T hn so vi truyn
thng khng kt ni. N l dch v ng n cho hu ht ng dng. Hn na, mt gi
tin (n v truyn thng khng kt ni) l d dng v hiu qu hn khi thi hnh trong
tng mng, c bit khi mng h tng l khng tin cy. Kt hp tng giao vn hng
kt ni v tng mng gi tin lm thch nghi mt lp rng ln cc ng dng mng. y
l trit l ca TCP/IP (TCP hng kt ni v IP mch chuyn gi tin).

- 40-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy

Giao thc im - im

Trnh ng dng

Trnh ng dng

Thng ip
Giao vn

Giao vn

Gi

Cng (Gateway)

Internet

Internet

Mch chuyn
gi tin
Kt ni d liu
Kt ni d liu
v vt l
v vt l

Internet

Internet

Kt ni d liu
v vt l

Kt ni d liu
v vt l

Khun bit

Khun bit

Hnh 2.5. B giao thc TCP/IP

Trch nhim duy tr truyn thng tin cy t mc mng c chuyn ti mc HH, ni


cho php iu khin nhiu hn so vi ti mng. D liu khc v T iu khin ch i
hi dch v khng tin cy, v iu c p ng nh dch v gi tin ngi dng ti
mc giao vn.
Tng ng dng

FTP

SMTP

TELNET

DNS

SNMP

RIP
Tng giao vn

User Datagram
Protocol

Transsmission Control
Protocol

ICMP
Tng Internet

Tng mng

Internet Protocol
ARP

Ethernet

Token Ring

Token Bus

Fiber

Hnh 2.6. Cc tng trong b giao thc TCP/IP


Mt QT c th truyn thng trc tip ti QT ngang hng nh s dng s hiu QT (Pid)
nh a ch ngun v ch. Tuy nhin, thun tin hn dng khi nim cng i vi nt
truyn thng lin QT. V d mt QT c th dng nhiu ng truyn thng ti mt QT
khc nh vic s dng cng phc v cc QT khc c th chia x cng ch chung
nhm thc hin kt ni a im. Cng c HH cc b khi to v gn mt s hiu
(id) tng ng. S hiu cng l duy nht ni ti trong my cc b. Nt mng din rng
tng minh t c nh vic ghp ni s hiu cng vi my ch v a ch mng.
- 41-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Hnh 2.7 cho mt cu trc a ch IP v mt kt ni TCP gia hai nt. Nt kt ni c
nh danh bi cp a ch my ch Internet v cng giao vn.
a ch Internet y cha a ch mng v a ch my ch ni ti trong mng. Nu
mng cha mng con, a ch mng (cng c gi l min) c chia lm hai phn:
a ch mng v a ch mng con. Mt a ch IP di 32 bit. Cc dng a ch IP c
m t chi tit phn sau.
Kt ni TCP lin QT
www.vnu.edu.vn
Cng
giao thc
giao vn
S hiu
cng 80

a ch
my ch

a ch
min
hoc
mng

www.mcu.edu
Internet

a ch
min
hoc
mng

a ch
my ch

Gi IP lin nt

Cng
giao thc
giao vn
S hiu
cng 280

Hnh 2.7. Kt ni TCP v a ch IP

Mc giao vn trong TCP/IP hoc UDP/IP cung cp cc cng i vi cc dch v hng


kt ni hoc khng kt ni. Giao din chuyn mch gi (socket) trong UNIX BSD IV
c pht trin ti trng HTH Berkeley l mt v d i vi c ch giao din m
nhng ng dng chng hn ng dn dng UNIX cn c xy dng. Socket l tru
tng ha vo-ra mng cho php thc hin cc thao tc c v ghi chun. Li gi h
thng socket to ra mt socket, cho mt c t socket c dng c v ghi socket,
tng t nh c t file ca mt file c m. Tham s trong li gi h thng socket
m t h giao thc v kiu dch v truyn thng s c thit t i vi socket. Vi
kt ni TCP, socket bt buc hng ti cng giao vn ch trc khi ton t c hoc
ghi c gii thch. Li gi connect thc hin vic lm ph hp socket vi cng giao
vn ch xa. HH ti ch xa cho s hiu cng tng ng. Nu s hiu cng cn thit
l bit th n c th c QT ch gn nh li gi bind vi chc nng rng buc
socket ti mt cng cc b. i vi truyn d liu khng kt ni, cc li gi h thng
sendio v revfrom c dng. Yu cu v s hiu socket v a ch ch c m t
nh nhng tham s trong li gi. Khng cn kt ni t trc.
Do TCP/IP xc nh trc tip hai tng ch yu nht thit k h thng phn tn v
mng truyn thng, n thng c dng nh l mt m hnh trnh by. Socket
trong truyn thng khng kt ni c s dng rng ri trong h phn tn v lp trnh
mng.
Chc nng cc giao thc trong b giao thc TCP/IP
Mt s giao thc in hnh trong b giao thc TCP/IPc lit k nh di y.
FTP (File transfer Protocol): Giao thc truyn File ly (gi) File t (ti) my khc.
Telnet: Chng trnh m phng thit b u cui cho php login vo my ch.
SMTP (Simple Mail Transfer Protocol): Mt giao thc th tn in t.
DNS (Domain Name phc v): Dch v tn min cho php nhn ra my tnh t mt
tn min thay cho chui a ch Internet kh nh.

- 42-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

SNMP (Simple Network Management Protocol): Giao thc cung cp cng c qun
tr mng.
RIP (Routing Internet Protocol): Giao thc dn ng ng.
ICMP (Internet Control Message Protocol): Nghi thc thng bo li.
UDP (User Datagram Protocol): Giao thc truyn khng kt ni cung cp dch v
truyn khng tin cy nhng tit kim chi ph truyn.
TCP (Transmission Control Protocol): Giao thc hng kt ni cung cp dch v
truyn thng tin cy.
IP (Internet Protocol): Giao thc Internet chuyn giao cc gi tin qua cc my tnh
n ch.
ARP (Address Resolution Protocol): C ch chuyn a ch TCP/IP thnh a ch
vt l ca cc thit b mng.
II.6. Kt qu thit k ch yu
H phn tn bao gm cc QT ng thi truy nhp ti nguyn phn tn (c th c
chia x hoc nhn bn) thng qua CT trong mi trng mng c th khng tin cy v
cha cc thnh phn khng cu trc. Mt s vn c t ra khi nghin cu thit k
h phn tn. Th nht, bng cch no cc i tng trong h thng c m hnh ha
v nh danh. Th hai, bng cch no kt hp tng tc gia cc i tng v bng
cch no chng truyn thng cho nhau. Th ba l nu i tng c chia x hoc
nhn bn, bng cch no chng c qun l trong cu thnh c iu khin. Th t,
s an ton ca i tng v an ninh trong h thng bt buc phi xc nh. Cc vn
ny c tm lc trong phn tip theo v c phn tch k trong cc chng sau.
II.6.1. M hnh i tng v s tn
i tng trong h thng my tnh l QT, file d liu, b nh, thit b v mng. Theo
truyn thng, cc kiu i tng khc nhau c thi hnh khc nhau. Theo ng tinh
thn ca tnh trong sut, gi thit rng mi i tng c trnh by theo cng mt
cch thc. Do cc i tng mang ngha y ch khi chng c truy nhp v vy
mi i tng cn c ph hp vi cc thao tc hon ton xc nh truy nhp i
tng. Bi vy, mi i tng c tru tng ha bng tp cc thao tc truy nhp
c i vi n. Chi tit vt l ca i tng l trong sut i vi cc i tng khc.
QT thc hin cng vic qun l i tng tr thnh phc v i tng. Ni khc i,
i tng c c lp qua cc phc v v ch cn cc phc v l cc thc th nhn
thy c trong h thng. Nh vy, trong h thng c phc v QT, phc v File, phc
v b nh... Khch l mt phc v rng, n truy nhp cc phc v i tng.
giao thip c vi mt phc v th phc v phi c nh danh. Tn ti ch ba
cch nh danh phc v:
- nh danh bng tn,
- nh danh bng hoc a ch vt l hoc a ch lgic
- nh danh bng dch v m phc v cung cp,
Tn c dng cho mc ch nh danh, c gi thit tng qut l duy nht trong khi
cho php tn ti tnh a a ch tng ng vi cng mt phc v, a ch c th thay
i khi phc v chuyn ng. Tn l trc gic v trong sut hn so vi i ch nhng
i ch cha thng tin cu trc nh v phc v. Gii php nh x tn ti a ch
lgic c thc thi bi phc v tn trong HH. Gii php i ch nh x a ch lgic
- 43-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
thnh a ch vt l l chc nng ca dch v mng. Trong nhiu h thng, cng (port)
c coi l mt a ch lgic. Tng ng nhiu cng ti mt dch v theo cc a im
vo ti phc v. Mt khc, a phc v c th chia x cng mt cng. Tip cn ny
c t ra theo nh danh tn trong h phn tn. Phng php th ba - nh danh theo
dch v l c o hn. Khch ch quan tm n dch v c yu cu cn ai cung cp
dch v ny th khng lin quan. iu hp l l a phc v c th cung cp cng mt
dch v. Tip cn ny cng c dng cho thi hnh HH t tr cng tc. Mt cch t
nhin, cn thit mt giao thc gii php chuyn t dch v ti phc v.
M hnh i tng v nh danh theo tn l nhng vn c s buc c quyt nh
ngay khi thit k HH. Cu trc h thng, qun l khng gian tn, gii php tn v
phng php truy nhp, tt c ph thuc vo s tn ca cc i tng trong h
thng.
2.6.2. Cng tc phn tn
Cc QT ng thi tng tc nhau i hi cng tc ng b hot ng. Ni chung c
3 kiu th tc ng b:
- ng b bng ngn cm: Tp QT (hoc s kin) bt buc i ti mt im ng
b chung trc khi chng c th tip tc,
- Cng tc theo iu kin: Mt QT (hay s kin) bt buc phi ch mt iu kin
c khi to mt cch d b t cc QT tng tc nhm duy tr th t thc hin no .
- Loi tr rng buc: Cc QT ng thi bt buc loi tr rng buc khi truy nhp
ti nguyn c chia x ti hn.
Ngm hiu rng ng b cn ti tri thc lin quan n thng tin trng thi v cc QT
khc. Thng tin trng thi y l iu rt kh khn v trong h phn tn khng c
b nh chia x. Thng tin trng thi c th c chuyn ti bng vic gi T. Tuy
nhin, thi im T c nhn l khng ng v khng y do chuyn T b tr
trn mng. Quyt nh mt QT c tip tc hay khng buc phi da vo cc giao
thc gii php phn tn da trn T. Mt gii php thng i lin ti vn cng tc
phn tn l giao cho mt b cng tc tp trung chn la trch nhim cng tc. Vai tr
ca b cng tc tp trung c th c chuyn t QT ny sang QT khc nhm lm cho
b cng tc khng tr thnh im trung tm ca li. Bng cch p dng cch thc ny,
buc tn ti cc iu khon cho php mt QT c chn tr thnh b cng tc mi nu
nh b cng tc chnh thc c li hoc c quyt nh lm n t b trch nhim ca
mnh.
Mt vn khc lin quan mt thit vi tnh ng b l s b tc ca cc QT. Tng t
nh vn b tc trong h iu hnh tp trung, cc QT ng thi c th chy ng
n, khng xm phm rng buc ca bt c ng b no song li c th dn n hin
tng b tc do gp phi chu trnh ch ln nhau. QT v ti nguyn trong h phn tn l
rt hn tp. phng trnh v ngn nga b tc, i khi l khng thc t khi tin hnh
vic ngn cn b tc hoc dng chin lc phng trnh kim sot b tc. Chng ta
xem xt kh nng pht hin b tc v th khi phc li nu c th. Trong h phn tn,
vn pht hin b tc li l vn khng tm thng v khng c c thng tin
trng thi ton cc ca h phn tn. Tn ti mt s cu hi nh ai l ngi xng
thut ton pht hin b tc, lm th no thut ton c thi hnh theo hnh thc CT
ca h phn tn, QT no s l nn nhn thot ra/ gii quyt b tc v bng cch no
nn nhn c khi phc. Hiu lc ca gii php b tc v chin lc khi phc c
coi l quan trng hn so vi pht hin b tc trong h phn tn.

- 44-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Gii php phn tn cho vn ng b v b tc l c gng i snh tng phn thng
tin trng thi tng th v s dng n ra quyt nh. Nhiu ng dng khng i hi
thng tin trng thi tng th tuyt i m tin hnh ging nh cc QT phc tp tha
thun theo am hiu ca chng v h thng. Giao thc chp nhn l thut ton CT cho
php hnh ng nht tr trong h phn tn cho php c th c li thnh phn chp nhn
c. Vic a ra s nht tr i hi chuyn i cc tri thc cc b xuyn theo cc pha
cng tc. y l bi ton khng qu kh ngoi tr vic b x l no ng v li hoc
khng ng tin cy. Tuy nhin, trc gic c nhn th thy rng hot ng chp nhn l
khng th lm c trong h phn tn d b.
ng b phn tn v nm gi b tc l hai cng c cng tc QT chnh yu xy dng
dch v phn tn.
2.6.3. Truyn thng lin QT
Truyn thng lin QT l vn bn cht nht trong mi thit k h phn tn do mi
th u da vo n. Trong HH, s tng tc gia cc QT v dng thng tin gia cc
i tng ph thuc vo truyn thng. mc thp nht, CT mang ngha ca truyn
thng trong h phn tn. Truyn thng lin QT c th c thc hin bi dch v
nguyn thy CT n gin. Tuy nhin, do yu cu v tnh trong sut trong truyn
thng nn i hi cung cp nhng phng php truyn thng lgic mc cao nhm che
du i chi tit vt l ca CT.
Hai khi nim quan trng c dng thc hin mc tiu ny l m hnh
Client/Server v RPC. M hnh Client/Server l m hnh lp trnh nhm cu trc cc
QT trong h phn tn. Trong m hnh ny, mi lin tng tc h thng c xem nh
mt cp trao i thng ip trong QT khch gi T hi ti phc v v ch phc v
p li mt T tr li. CT hi/p nh vy tng t nh khi nim li gi th tc
trong ngn ng lp trnh trong th tc gi truyn tham s cho th tc c gi, v
th tc c gi tr li kt qu cho th tc gi hon thnh thc hin thao tc. Trao
i thng tin hi/p gia khch v phc v c th c trnh by nh li gi th tc
ti mt phc v t xa. Truyn thng RPC c xy dng da trn m hnh
Client/Server v CT c xut nh c ch truyn thng lin QT i vi mi h
phn tn trong tng lai.
Bn lun trn y v CT, m hnh Client/Server v RPC vi gi thit truyn thng
im-im. Khi nim nhm l bn cht trong phn mm phn tn. Cng tc QT trong
hot ng ca nhm. Qun l nhm hay truyn thng nhm (tn pht bi - multicast
hoc qung b - broadcast) l cn thit. Nhu cu truyn thng i qua mt s tng giao
thc v truyn ti mt s nt phn tn vt l. iu s nhy cm hn ti li trong h
thng. Truyn thng nhm tin cy v nguyn t vn l vn m trong h phn tn.
Hn na, qun tr nhm, nn tng ca phng thc lm vic cng tc c h tr ca
my tnh (CSCW), vn cha t c thun thc do thiu kinh nghim trong cc
ng dng phn mm phn tn. Vn truyn thng lin QT c kho st t m trong
chng 4.
2.6.4. Ti nguyn phn tn
V mt logic, ti nguyn cn cho tnh ton ch l d liu v nng lc x l. V mt vt
l, d liu nm trong b nh hoc b nh ph phn tn (dng cc file). Nng lc x l
c tnh gp t nng lc x l ca tt c b x l. Mc tiu nn tng ca x l phn
tn l t c tnh trong sut khi nh v nng lc x l ti QT, hoc ngc li, phn
tn cc QT (hoc ti) ti cc b x l. Phn tn ti tnh trong h phn tn c ch dn
nh lp lch a x l. Mc tiu l ti thiu thi gian hon thnh tp cc QT. Vn
chnh l tc ng ca tng ph truyn thng khi thit k chin lc lp lch. Nu phn
- 45-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
b ti (hay phn b li ti) l c lm theo cch ng, n c gi l chia x ti. Mc
tiu l cc i s tn dng tp cc b x l. Vn nguyn thu l di tr QT cng
chin lc v c ch cho n. Ngoi nhng yu cu v hiu nng tt hn v tn dng
cao hn, nhiu ng dng phn tn c rng buc v thi gian. Trong nhng trng
hp , lp lch QT phi p ng mt s yu cu v thi gian thc. Lp lch phn b ti
tnh v ng v lp lch thi gian thc c trnh by trong chng 5.
Tnh trong sut p dng trong d liu phn tn l vn phc tp hn. Nu file l thc
th d liu c bn th mt h thng file trong sut c ngha l n a ra mt cch nhn
h thng file n i vi cc file ri rc trong mt mi trng phn tn. H thng file
phn tn l h thng file trong sut. C th m rng khi nim d liu trong sut thm
mt cht na vi gi thit rng khi d liu l nh hn file v d liu nm trong cc
mun b nh phn tn. Mt h thng b nh trong sut cho php trnh din mt ci
nhn b nh chia x n i vi cc b nh phn tn vt l. iu ct li l m phng
mt h thng b nh chia x, c gi l b nh chia x phn tn (distributed shared
memory) nu tng ph truyn thng l tha th c.
Vn chung cho c h thng file phn tn v b nh chia x phn tn l chia x v
nhn bn d liu. C hai vn chung ny yu cu cc giao thc duy tr tnh nht qun
v ton vn d liu v nh vy, kt qu ca chia x v s tn ti nhn bn l trong sut
i vi ngi dng. Mc d, hai vn ny tng ng lgic song vn tn ti nhng
s khc bit tinh t trong khi thi hnh gia h thng file phn tn v b nh chia x
phn tn. Vn h thng file phn tn da trn quan im ca file, trong khi trong
h thng b nh chia x phn tn li nhn mnh hn vo mc am hiu ca h thng
i vi QT.
2.6.5. Th li v an ton
Do tnh m trong mi trng iu hnh, h phn tn d b tn cng bi hng hc v de
do an ton. C hai (li hng hc v e da an ton) c coi l li h thng. Hng
hc l li do ch th khng nh trc (v ) v vi phm an ton l li do ch th ch
nh (c ). H phn tn tin cy l h thng c tnh th li theo ngha trong h thng
c nhng c ch v gii php i vi hai loi li trn y.
Vn hng hc c th c gim nh nu trong h thng phn tn tn ti s d dt.
D dt l tnh cht vn c gn lin vi h phn tn do d liu v ti nguyn c th c
nhn bn. Thm vo , thng thng vic khi phc do li hng hc yu cu vic
chy li QT b li v cc QT khc nu c dnh dng n hng hc. Thng tin trng thi
thc hin bt buc phi bo qun khi phc chy li m y li l mt vn kh
khn trong h phn tn. Thng thng, s dng gii php im kim tra cho php h
tr chy li QT v khi phc.
Mi quan tm v an ton ngy cng tng nhanh trong mng v h phn tn. Theo quan
im ca HH, cn quan tm ti tnh tin cy ca QT truyn thng v tnh tin cn v
ton vn d liu. Vn xc thc v giy php m nhn cht lng v tnh duy nht
trong h phn tn. V vn xc thc, khch v cng vy phc v v thng ip bt
buc phi c xc thc. Vi vn giy php, iu khin truy nhp phi nng lc
xuyn qua mng vt l vi cc thnh phn hn tp theo cc n v qun tr khc nhau
s dng cc m hnh khc nhau.
II.7. Mi trng tnh ton phn tn
Hnh 2.8 m t mi trng tnh ton phn tn (Distributed Computing Enviroment DCE). M hnh ny c bin i i cht so vi kin trc DCE c T chc phn mm
m (Open Software Foudation: OSF) xut. OSF l mt d n lin kt ca nhiu
- 46-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
cng ty my tnh M vi mc ch pht trin v chun ha mt mi trng UNIX m
m min ph khng b nh hng bi AT&T v Sun. So vi hu ht cc thi hnh UNIX
l sn sng m rng hp nht h tr tnh ton phn tn, sn phm chnh t OSF l
DCE, mt b tch hp phn mm v tool nhm pht trin ng dng phn tn trn cc
HH c. DCE cung cp nhiu dch v thit yu, chng hn nh cc dch v lung
(thread), RPC, an ton, v th mc sn sng tch hp vo nhiu nn UNIX v khng
UNIX. Vic sp t mi dch v ring trong kin trc phn cp l quan trng. Ti trung
tm ca h thng l dch v nhn v dch v giao vn, l giao din cung cp cc dch
v truyn thng ti cc QT ti cc host khc. QT v lung l nhng n v tnh ton c
s c nhn h tr. Lung l dng c bit ca QT c kh nng thi hnh hiu qu
phc v ng thi. Mi dch v khc nm trong khng gian ngi dng v tng tc
ln nhau theo ngha ca RPC v truyn thng nhm. Cc dch v thi gian, tn, v QT
l nhng v d ca dch v h thng c s. Vi file nh l i tng nguyn thy trong
h thng, cc dch vmc cao, chng hn nh iu khin ng thi v qun l nhm
cn c xy dng da trn dch v file phn tn. Cui cng, chc nng an ton v
qun tr cn c tch hp t mi tng.

cc ng dng

li gi th tc t xa (RPC) v truyn thng nhm

qun

ton

dch v h thng c s: thi gian, tn, dch v QT ...

An

dch v file phn tn

tr

dch v phn tn, iu khin ng thi, qun l nhm ...

qu trnh v lung
nhn vi dch v trong sut

Hnh 2.8. Kin trc mi trng tnh ton phn tn

Cu hi v bi tp
2.1. c im ca h iu hnh phn tn. Mc tiu thit k h iu hnh phn tn.
2.2. Tnh trong sut trong h iu hnh phn tn: khi nim v cc th hin ca n.
2.3. Cc mc dch v trong h phn tn.
2.4. S b v cc kt qu thit k ch yu: m hnh i tng - tn, cng tc QT,
truyn thng lin QT, ti nguyn phn tn, th li - an ton

- 47-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

chng III. Qu Trnh ng thi v lp trnh


Trong HH phn tn, hai phn t thit yu l QT v lung (thread). Qun l QT c
phn lp trin khai theo ba khu vc (cng l ba chc nng lin quan n qun l QT
trong h phn tn):
+ Truyn thng QT,
+ ng b ho QT,
+ Lp lch QT.
Ba chc nng ny thuc vo mt th thng nht v khng tch ri nhau.
Cc chc nng truyn thng v ng b c mi quan h mt thit c v khi nim v
ln khi thi hnh. Cc khi nim v vic thi hnh phi hp c trnh by trong hai
chng III v IV.
Lp lch QT lin quan n trnh t thc hin cc QT t c hiu sut tt nht cho
h thng. Trnh t thc hin QT tu thuc vo ng b QT trong khi hiu sut li ph
thuc vo nng lc ln mnh ca k thut truyn tin c s v thi gian tr trong qu
trnh truyn tin. Do c th kh ring bit nn lp lch QT c trnh by trong chng
V. D cho truyn thng QT, ng b QT v lp lch QT c nhng c im chung nh
trong HH tp trung, song nhm mc ch nh hng h phn tn cho nn trnh by
qun l QT c trong ba chng III, IV v V .
Trc ht bt u vi cc nh ngha v cc c im ca iu khin QT.
3.1. Khi nim QT v lung
QT l i tng trong HH, biu th vic thc hin mt chng trnh trong mt phin
lm vic: QT l mt n v tnh ton c s trong h thng.
Mt s im phn bit hai khi nim chng trnh v QT: Chng trnh lin quan n
bi ton cn gii quyt (cc tham s hnh thc), tn chng trnh, di, ngn ng
ngun . QT l mt ln s dng chng trnh c gii quyt bi ton trong mt
tnh hung c th (tham s c c th). QT c trng thi qu trnh, bao gm trng
thi phn b cc thnh phn ca QT trong b nh trong ...

a chng trnh
vi 4 chng trnh

M hnh quan nim


ca 4 QT tun t

Ch 1 chng trnh hot


ng trong mi th hin

Hnh 3.1. Qu trnh


QT c gi l n nu cc lnh (thnh phn con) trong n c thc hin mt cch
tun t. Thut ng ng thi lin quan n vic m t s thc hin ng thi cc QT
- 48-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
n. Gia hai QT c nhng thnh phn c php thc hin ng thi. Cc thnh phn
khc cn c ng b hoc truyn thng gia chng.
Thc hin
Running

1. QT kt khi nhp d liu


2. B lp lch chn QT khc
3. QT c chn
4. Nhp d liu xong

1
2
Kt khi
Blocked

Sn sng
Ready

Hnh 3.2. Trng thi ca QT


Lung (thread) l mt bin th ca QT, tng ng vi trng hp khi thc hin mt
QT li sinh ra mt QT khc. QT n thc cht l QT n lung, trong thi gian thc
hin, n khng to ra mt QT mi.
QT a lung l QT m trong khi thc hin n cho ra mt QT mi: y l trng hp
c bit ca tnh ng thi khi QT cha v QT con "ng thi" thc hin v chia x ti
nguyn CPU cng b nh trong v mi lung c trng thi ring ca mnh.
Hnh 3.3 trnh by tnh ng thi hai mc ca mt QT v mt lung. Ti mc th nht
(mc thp), cc QT chy ng thi d b theo HH gc. Khi xem xt ti mc ng
thi th hai, mi QT ng thi chy ta mt my tnh o h tr tnh ng thi ca cc
lung. Mt QT c hiu mt cch n gin nh mt khng gian a ch lgic m ti
lung thc hin.
H iu hnh gc
PCB

PCB

TCB TCB TCB

TCB TCB TCB

PCB

Lung

QT n

Cc QT a lung

Th vin h tr thi gian chy ca lung

Hnh 3.3. Qu trnh v lung


Trong HH tp trung, thut ng "khi iu khin QT" PCB (Process Control Block)
dng ch cu trc d liu cha cc thng tin v QT, h tr vic iu khin CPU v
- 49-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
iu khin QT (thng tin trng thi: thanh ghi a ch lnh, ni dung cc thanh ghi, con
tr stack, cng truyn thng, v c t file ...). PCB cha cc thng tin cn thit lun
chuyn thc hin QT c qun l bng HH gc.
Ging nh QT, lung cng c cc th tc v stack ring. Thng tin trng thi v lung
c cho trong khi iu khin lung TCB (Thread Control Block). TCB c qun l
bi Th vin h tr thi gian chy lung. TCB l ring i vi mi lung trong khi
PCB li c chia x cho cc lung tng tc ng b v truyn thng. Thng tin
trong TCB t hn nhiu so vi thng tin trong PCB v ch gm ni dung cc thanh ghi
(b m chng trnh, nh stack, tp thanh ghi). Cc thng tin trng thi khc c
bo qun trong PCB. Bi l do , lung c gi QT nh trong khi QT c gi l
QT nng. Ch v mt s dng k hiu, trong cc HH hot ng theo ch m
(batch, l) dng k hiu TCB vi ngha khc l "khi iu khin bi ton" - Task
Control Block.
Thi hnh lung trong khng gian ngi dng c ch ra trong hnh 3.4, v ch c QT
(m khng phi l lung) c HH nhn thy. Ngoi ra, lung c thc hin trong
khng gian nhn v c qun l trc tip bi HH gc. Lung trong mt QT c
khi to tnh hoc ng bi mt QT iu khin hoc mt lung khc.
3.1.1 Cc ng dng lung
Lung c nhiu ng dng trong HH phn tn. Chng thng c dng khi thi hnh
mt QT phc v cung cp cc dch v tng t hoc c quan h ti cc QT a khch,
chng hn nh phc v trm cui hoc phc v file.
Khi mt yu cu phc v (serving request) t QT khch ti mt QT phc v n lung,
th QT phc v ny t tm ngng (c th quan nim phc v ny nh mt ti nguyn
c iu khin bi mt semaphore nh phn) ch i hon thin cc iu kin
hoc thao tc no t trc. Tuy nhin, vic tm ngng phc v li kt khi cc yu
cu khch mi c a ti phc v. tng thng lng h thng, a bn sao ca
cng mt phc v c khi to cho cc yu cu khc nhau ti cng mt phc v mt
cch ng thi. Do cc lung phc v ny c m lnh tng t nhau v bt buc phi
tng tc nhau qua thng tin ton cc c chia x, v vy chng c nhm trong
mt khng gian i ch, v nh vy l khi to tnh a lung trong mt phc v n.
QT khch cng c iu khin theo cch hon ton tng t. Mt QT khch yu cu
to ra nhu cu ng thi ti cc phc v v b qua vic b kt khi bi bt k t cc
yu cu dch v ny.
Hnh 3.4 m t ba ng dng lung trong h phn tn.
Phc v trm cui (phc hp v tp trung d liu) trong hnh 3.4a:
Chc nng tp hp d liu a thnh phn t nhiu trm cui vo b m chung v gi
d liu phc trong mt b m chung ti mt my tnh (hay mng). Nu khng dng
a lung, phc v trm cui cn bu c trm cui a vo bng cch s dng dch v
nguyn thu khng kt khi. Theo quan nim, s n gin hn nu thit k phc v
thnh a lung, mi t chng p ng mt input ring. M lnh ca cc lung ny l
ng nht nn c chia x nh m thc hin li m mi lung c stack cc b ring
ca mnh. Vic truy nhp vo buffer cng c chia x bi cc lung cn loi tr rng
buc. Vic loi tr rng buc c th t c bng cch s dng phng php ng b
b nh chia x nh semaphore hay b kim tra, v tt c cc lung chia x mt vng
a ch. Hn na ng b lung c th hiu qu hn nhiu v QT ng b ch gi phn
cc b v c th trnh c vic gi nhn trong mt s trng hp. Cc lung trong v

- 50-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
d phc v trm cui ny c to tnh v chy khng tin nh. V c bn, chng
chy ging nh mt b iu khin ngt tht s.
Hnh 3.4b, trnh by mt tnh hung ng dng lung khc. Phc v File thi hnh cc
thao tc dch v file khc nhau theo yu cu t khch. Mt lung c to ra cho mi
thao tc v iu khin c quay li lung chnh, v nh vy lung chnh c th tip
nhn mt yu cu mi. Trong nhng iu kin no , lung c kt khi, v mt
lung khc c lp lch thc hin. Lung ngng tn ti khi cng vic ca n hon
thnh. Kt khi lung v lp lch lung c trnh by phn sau. Ch l trong v d
v phc v file, tn ti lung chnh phc v nh mt trnh iu phi cng vic cho cc
dch v file ng thi; vic khi to v kt thc lung l ng. To lung v hu lung
l n gin v l do dng li khng gian nh. y l cu trc lung ph bin cho phn
ln cc loi phc v ny.
a) Phc v trm cui

b) Phc v File

c) Phc v
Khch

Chnh

Lung

Ghi

....

Yu cu
c

Lung

B m

Lung

Lung

Lung

Nhng lung tnh ng nht

Nhng lung
ngng thi

Yu cu ng thi v
d b

Hnh 3.4. Cc ng dng lung

V d th 3 v lung cho trong hnh 3.4(c) l mt khch a ra nhiu yu cu ti cc


phc v khc nhau. a lung trong QT khch lm cho n c th t c ng thi
cc dch v v d b thm ch khi thng tin yu cu tr li l ng b. Mt ng dng
hu dng ca cu trc ny l vic cp nht ng thi cc bn sao file nhn bn m
c qun l bi nhiu phc v file.
H tr lung trong nhiu HH hin i rt rng ln bi vy ngi lp trnh ng dng
c th vit cc chng trnh ng thi mt cch hiu qu. V d, ng dng duyt web
a lung c th khi to vic truyn fie a thnh phn, cho php lm chm QT truyn
file Internet chng ln nhau.
Mt v d ng dng a lung khc l h thng a ca s. Cc ng dng to ca s
tr nn d dng hn nu chng c thc hin trong lung vi chia x vng a ch
logic chia x. Chng hn, mt lung c th thc hin mt hot ng trong ca s ny
m kt qu li trong mt ca s khc. thc hin hiu qu nhng ng dng ny,
cc lung u tin v cc h tr b a x l c i hi.

- 51-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
3.1.2 Thi hnh lung trong khng gian ngi dng
H tr lung nh mt gi thm vo c thc hin trn nhiu h thng bao gm gi
lung DCE t T chc phn mm m m OSF v gi QT nh (LWP: Light Weight
Process) t Sun. Vn thi hnh ct li l nm gi c cc li gi h thng ang kt
khi t mt lung v lp lch lung thc hin trong mt QT. Trong thi hnh lung
trong khng gian ngi dng (chng trnh ngi dng), mt QT c n nh chia x
thi gian b x l nh thng c lm trong bt c HH no. Khong thi gian c
n nh ny l a thnh phn gia cc lung ang tn ti. Cc lung chy da trn th
vin h tr thi gian chy lung. Trch nhim ca mt th tc thi gian chy lung l
thc hin vic chuyn ng cnh t lung ny sang lung khc. Mi li gi h thng kt
khi t mt lung ang thc hin l khng b HH by li nhng c gi ti mt th
tc thi gian chy. Th tc thi gian chy s n gin khi gi li TCB ca lung gi v
ti (np) TCB ca lung m n la chn to thnh cc thanh ghi phn cng (b m
chng trnh, cc thanh ghi v cc con tr stack) vi gi thit rng n c php thc
hin nh cc thao tc c cch. V kt qu, khng mt kt khi thc s trong h thng
xut hin nhng mt lung b kt khi trong hng i c duy tr bng th vin h tr
thi gian chy, v s thc hin QT li c tip tc vi mt lung khc.
Vic chuyn ng cnh lung yu cu mt ti rt nh v n bao hm vic lu gi v
khi phc ch b m chng trnh, cc con tr stack. Hn na, vic lp lch chy
lung c thc hin bng Th vin thi gian chy, ngi dng c quyn la chn
mc u tin ti lung c to. Lp lch cho lung thng thng l theo khng u tin
v da theo quyn u tin vo trc th phc v trc (FCFS - First Come First
Served); N c th l lp lch c u tin theo cc mc khc nhau khi lung mi c
to c mc u tin cao hn. S c u tin, chng hn vic thc hin cun (RR:
Round Robin) cc lung s kh hn khi khng s dng ngt ng h v tht s l
khng cn thit mi mc lung. Nu cn, mt lung c th bao gm nguyn thu
lung ng hoc nhng cho php t b s thc hin ca mt lung ti lung khc
nhm to ra tnh khng ng b chy lung. Cc nguyn thy lung c trong cc gi
lung in hnh l:
Qun l lung thc hin vic to lung, tm dng, kt thc lung.
n nh u tin v cc thuc tnh lung khc.
H tr ng b v truyn thng chng hn nh semaphore, monitor, v CT.
3.1.3 Thi hnh lung trong khng gian nhn ca h iu hnh
Cc gi lung c thi hnh nh mt mc phn mm trong khng gian ngi dng l
d thc hin v c ng m khng i hi phi thay i nhn. Lung c th c thi
hnh mc nhn vi mt s m rng. Khi thi hnh lung trong khng gian nhn, vic
kt khi v lp lch lung c x l nh thng thng nhng li mm do hn v hiu
qu hn. V d, lung c th c u tin mt cch d dng, mt lung pht ra mt li
gi h thng th n c th b kt khi m khng kt khi cc lung khc thuc cng
QT v mi lung c th hon thnh mt chu trnh ca b x l vi cng c s ca cc
QT. Tuy nhin, s tru tng hai mc tinh vi i vi ng thi tr nn m nht hn v
li th ti chuyn ng cnh lung ca QT nh khng cn na. Tnh c ng v hai mc
tru tng ng thi i khi ny sinh thm bt li khc.
Ging nh cc khi nim m hnh Client/Server v RPC, lung l khi nim thit k h
thng c bn. Vic la chn thi hnh lung trong khng gian nhn hay trong khng
gian ngi dng l mt nhn t thit k h thng kh tnh. Cch kt hp thi hnh lung
c khng gian ngi dng v khng gian nhn nh trong Suns Solaris hi t c cc
- 52-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
li im ca hai hng tip cn trn. Phn di y minh ha vic kt hp h tr nhn
a lung nh vy.
Nhn truyn thng l nhng lung n. Thng th ch c mt b x l v cu trc ca
nhn l rt gn. V vy, i hi dch v nhn chy trong mt lung n khng cn tnh
s u tin. Khng ng b l iu cn thit trong thao tc nhn. Gn y, hai khuynh
hng quan trng c ny sinh cho nhng h thng hin i. Th nht, my tnh
n vi nhiu b x l tr nn thng dng. Th hai l s phc tp v nhu cu phn
mm i hi phi to ra nhiu dch v mi trong nhn. Nhn a lung h tr cho
nhng dch v nhn ng thi c khng nh.

Lung trong khng


gian ngi dng

QT nh - Lung

Lung trong khng gian


nhn

H a x l

Hnh 3.5. Tnh ng thi ba mc ca nhn a lung c u tin

Thao tc ni ti ca nhn v nhng dch v m nhn cung cp ti ng dng ca ngi


dng c th c thi hnh nh lung. Lung trong khng gian nhn c phc hp
trong mt h a b x l h tng. Vic thc hin lung l song song thc s v c th
nh u tin. S ng b gia nhng lung trong nhn tr nn cn thit v c th thc
hin c bng cch dng b nh chia x. kt hp cht ch lung trong khng gian
ngi dng v lung trong khng gian nhn trong cng mt h thng, Solaris gii
thiu mt khi nim lung mc trung gian v gi l QT nh LWP. LWP c QT
ngi s dng to ra v c chng trnh con (trong th vin) thi gian chy lung
qun l. Chng c nhn t chc nh l n v c s cho vic lp lch. Lung ngi
dng, khng th c nhn nhn bit, cng c to ra v qun l bi b lung. LWP
phc v giao din lung ngi dng v lung nhn. Hnh 3.5 th hin nhn a lung
c u tin vi ba mc ng thi: Lung ca ngi s dng l a thnh phn theo LWP
trong cng mt QT; LWP l a thnh phn theo lung nhn v lung nhn l a thnh
phn trong h a b x l.
Lung ngi dng c th c lp lch ti bt c mt LWP no c QT to ra. Khi
c gn ti mt LWP, n tr thnh thc hin c khi dng thi gian c nhn
nh v ti LWP. Mi LWP li c kt ni ti mt lung nhn. Li gi kt khi t
mt lung ngi s dng s by ti mt LWP. LWP to ra mt h thng thc gi
n nhn v tr thnh kt khi. Vic kt khi LWP khng lm kt khi ton b QT do
- 53-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
cc lung i c th c lp lch ti LWP khc trong cng QT. Lung ngi dng c
th c u tin v rng cc LWP c th c u tin bi nhn. Vic thi hnh lai c
tnh mm do v hiu qu t c lung ngi dng v lung nhn.
Rt nhiu HH hin thi c h tr lung v c mt s lng ln cc phn mm s
dng lung. S h tr lung tr thnh mt b phn trong HH ngy nay.
Quan h i trc
Mt chiu

Knh truyn
thng

Clien/Server

Ngang hng

th QT ng b
th QT d b v m hnh truyn
thng
Hnh 3.6. M hnh th cho s tc ng gia cc QT

3.2 M hnh th th hin cc QT


M hnh th
on 3.1 m t cc khi nim QT v lung. Trong on ny, chng ta quan tm n
vic lm th no chng c th t cng vi nhau. Cc QT c quan h vi nhau bi
iu cn thit cho:
- tnh ng b: vic chy mt vi QT phi c tip ni theo mt trnh t no .
Mt v d v s ng b l mi quan h i trc (tin t: predecence) gia hai QT. Mi
quan h i trc gia hai QT quy nh rng mt QT ch c thc hin khi m nhng
QT "i trc" n c thc hin.
- hoc/v vn truyn thng: Trong nhiu trng hp th mi quan h i trc
hoc th t ca cc QT l khng nht thit i vi vic cc QT CT cho nhau.
Hnh 3.6 s dng m hnh th biu th hai ci nhn khc nhau v s tc ng gia
cc QT. th QT ng b theo m hnh th c hng khng chu trnh th hin
trc tip mi quan h i trc v th t trong tp cc QT. Nhng cnh v hng trong
th QT d b th hin ng truyn thng v s ph thuc gia cc QT.
Cc th trong hnh 3.6 cha cho bit c th thc s m phng tc ng trong mt h
phc tp. Tuy nhin, chng vn c s dng xy dng m hnh cc QT v b x l
trong h thng phn tn:
- th QT ng b c s dng nh gi tng thi gian ca mt tp hp
cc QT,
- th truyn thng d b c th c s dng nghin cu phn b cc b x
l nhm ti u ho tng chi ph v thi gian truyn thng gia b x l.

- 54-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
th qu chi tit i vi h phn tn thng lm cho vic phn tch kh khn hn v
thm ch gn nhng khng th gii quyt c.
Trong hnh 3.6, cnh c hng trong th i trc c gii thch qua truyn thng
ng b i vi QT gi v nhn T. Kt qu t QT ny c chuyn n QT lin sau
n nh l mt input. S chuyn thng tin xy ra v c ng b ch khi hon thnh
mt QT v bt u mt QT tip theo.
Truyn thng c xc nh chnh xc hn trong th QT d b, khi cha th ni v
vic lm th no v vo lc no th vic truyn thng xy ra, ngoi tr vic khng nh
tn ti ng truyn thng gia hai QT.
QT trong th v hng thc hin v hn nh, tri li, QT trong th c hng th
ch c th thc hin trong mt khong thi gian nht nh v c gi l thi gian sng
(lifetime). C ba kiu CT cho m hnh th d b: Mt chiu (one-way),
Client/Server v ngang hng (peer to peer). Nu s dng thut ng v truyn tin th
chng tng ng vi: truyn n (simple), Bn - hai chiu (Half - duplex) v hai
chiu (full - duplex):
- Mt QT ng dng CT mt chiu th gi mt T nhng khng c yu cu v
s tr li. V d v truyn tin loi ny l thng tin qung b (broadcast) cho mi ngi
m khng c s kim tra t mi ngi v kt qu nhn T.
- Trong m hnh Client/Server, truyn thng hai chiu: Mt QT gi yu cu v
nhn s tr li i vi yu cu . Rt nhiu ng dng thc hin theo quan h hai
chiu master/slave.
- Thng tin ngang hng l mt cch trao i thng tin i xng, n c s dng
cho vic chuyn thng tin gia nhng qa trnh cng tc.
M hnh khng gian - thi gian
M hnh th QT ng b v d b thch hp cho vic nh gi h thng nhng li
thiu chi tit v y th hin c s tng tc gia cc QT. Hnh 3.7 trnh by
m hnh khng gian - thi gian l cch th hin tt hn vic truyn thng v quan h i
trc. S tn ti ca ng truyn thng v quan h i trc gia cc s kin v vic
truyn thng thc s c th hin tng minh trong m hnh. Quan h i trc hoc
l ng truyn thng tin c nhn bit d dng trong m hnh khng gian - thi
gian. M hnh QT ny c nhiu thng tin nh gi s tng tc gia cc QT hn l
thng tin nh gi v s hot ng chung ton h thng.
Truyn thng

S kin

Khng gian

Cc QT

P1
P2
P3
P

Hnh 3.7. M hnh khng gian thi gian cho s tc ng ca cc QT

- 55-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Nh vy, mi m hnh ( th, khng gian - thi gian) c tc dng ring v ty thuc
vo mc ch nh gi chn m hnh.
Khi cc QT c th hin bng th i trc hoc th truyn thng, s tng tc
gia cc QT phi c pht biu trong mt ngn ng hoc theo cc kiu k thut khc
nhau. Gii php hoc t ra mt ngn ng ng thi (concurrent language) cho QT
ng thi hoc l s d dng hn khi m rng mt ngn ng tun t c bng cch
b sung nhng cu trc hoc thm mt HH cung cp cho vic to QT, truyn thng,
v ng b QT. V d, chng ta a ra mt cu trc iu khin Cobegin/Coend hoc s
dng nhng li fork/join to v ng b nhng QT ng thi. Nhng QT c to
ra bng cch ny th c ghp cht ch khi chng c mi quan h ch t
(master/slave) hoc l cha con (parent/child) v chia s cng mt thuc tnh chung.
Chng c th phi hp lm vic v mt mc tiu chung v thng c thc hin bi
mt c th ring hoc l mt t chc no .
Gii php thch hp cho vic thc hin m hnh th i trc. Nhng v lu di,
gi s mi quan h gia cc QT l ngang hng. QT ch tc ng cng vi QT khc
thng qua truyn thng lin QT. Khng c mi quan h i trc gia cc QT. Trong
thc t, cc QT c to lp mt cch c lp, chy d b v c khong thi gian sng
khc nhau. M hnh tt nht l th QT truyn thng. Trong trng hp ny, s xc
nh v tng tc gia cc QT pht trin thnh mt HH thay v thnh mt ngn ng
ln.
3.3 M hnh Client/Server
Mt cch m t tc ng ln nhau gia cc QT l m t theo cch cc QT nhn nhau.
M hnh ph bin nht l m hnh Client/Server (quan trng gn nh khi nim trong
sut trong h phn tn). M hnh Client/Server l hnh mu lp trnh th hin tng tc
gia cc QT v cu trc h thng. Mi QT trong h thng cung cp nhng dch v
cho / hoc yu
Truyn thng lgic
cu dch v t
Yu cu
cc QT khc. QT
Khch
Server
a ra yu cu
phc v c gi
Tr li
l khch, QT
cung cp dch v
c gi l phc
v. i vi mi
tng tc, mt
QT ch c th l
Truyn thng thc s
khch hoc phc
v. Tuy nhin,
Yu cu
Kernel
Kernel
trong
nhiu
trng hp, QT
Tr li
c th ng vai
tr c khch ln
Hnh 3.8. M hnh Client/Server.
phc v.
Tng tc gia khch v phc v thng qua dy yu cu v tr li. QT khch yu cu
dch v t phc v v t kho bn thn li. Phc v nhn c yu cu t khch, thc
hin thao tc cn thit v sau gi T tr li cho khch. Khi c kt qu tr li t
phc v, khch li bt u tip tc thc hin. iu c bn y l ng b hi - p
trao i thng tin.
- 56-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
V mt logic th khch truyn thng trc tip vi phc v nhng thc t th yu cu
hoc tr li phi i qua phn nhn gi, thng qua mt mng truyn thng n nhn
ch v QT ch. T khng c thng dch bi h thng. Giao thc truyn thng mc
cao gia khch v phc v c th xy dng trn nhng T yu cu v T tr li. Hnh
3.6 minh ha khi nim m hnh Client/Server i vi tng tc QT.

M hnh truyn thng Client/Server


Truyn thng RPC
Truyn thng CT
Dch v truyn T hng kt ni hoc khng c kt ni
Hnh 3.9. Kiu truyn thng Client/Server trn RPC v CT

M hnh Client/Server c th c hiu nh mt m hnh truyn thng hng dch v.


y c coi l mc tru tng cao ca s truyn thng lin QT, m s truyn thng
ny c th c cung cp (h tr) bi hoc l RPC hoc truyn thng CT (message
passing comminucation) ln lt c thi hnh qua dch v giao vn theo hng kt
ni hoc khng kt ni trong mng.
Hnh 3.9 cho bit quan h ca 3 khi nim trn y: m hnh Client/Server, RPC v
CT. Nhng dch v c cung cp bi phc v c th theo hng kt ni hoc khng
kt ni. Mt dch v hng-kt ni c th li c xy dng da trn dch v khng
kt ni. Nhng iu ngc li th khng th. M hnh Client/Server t c mt
trong sut trong truyn thng.
Chng II gii thiu h thng dch v trong h phn tn bao gm ba khu vc chnh,
l : Nguyn thu, h thng v dch v gia tng gi tr.
Dch v nguyn thu l c ch nn tng c t trong nhn. T gc ng dng th
ch c dch v h thng v dch v gia tng gi tr l c th nhn thy (c th s dng)
c t pha ngi dng.
i vi ngi s dng th chng trnh l mt tp hp ca nhng (QT) khch v phc
v. Nu chng ta thi hnh dch v h thng nh l QT phc v v tch n ra khi nhn
vi mi trng hp c th c th kch thc ca nhn s c gim mt cch ng
k. R rng l nu nh kch thc ca nhn c gim xung th tnh kh chuyn theo
nn phn cng khc nhau l d dng hn. Mt kt qu t nhin l s dng m hnh
Client/Server l QT ch cn mt kiu li gi h thng n nhn n, chnh l li gi
gi v nhn yu cu. V vy, nhn khng cn thit phi phn tch c php li gi h
thng v xc nh ci g cn phi lm. Thay vo , trch nhim ca QT phc v l
thng dch thng ip theo hiu bit nhiu nht ca nhn v cu trc ca T. Giao
din gia QT v nhn tr nn n gin v ng nht.
Nhiu phc v c th cng tn ti nhm cung cp cng mt dch v. Chng cn c
nh danh hoc theo tn hoc theo chc nng m chng cn thc hin. i hi ny
phc v vic nh v cc phc v. Nhng phc v, c gi l nhng phc v rng
buc hay phc v i l, chng rng buc QT khch vi nhng QT phc v c chn
thnh cp, i khi chng cng cn c nh v. Cui cng, cn hn ch mt cch ti
thiu cc phc v m hon ton bit tn hoc a ch. Khi c yu cu t pha khch,
phc v rng buc c th chn phc v no thch hp nht cho khch hoc l mt
phc v no lm cn bng ti i vi cc phc v. Nh mt s la chn, cng c
th thc hin vic xc nhn ca khch cho phc v.

- 57-

H Quang Thy
3.4 Cc dch v thi gian

Bi ging H iu hnh phn tn (Phn 1)

M hnh khng gian - thi gian tng minh tng tc gia cc QT, cc s kin l c
ghi nhn chi tit theo ng h ca ring QT . Trong thc t th ng h thng c
s dng th hin thi gian (mt o tng i v thi gian so vi mt im thi
gian lm mc) v b m thi gian (mt o tuyt i cho khong thi gian) c
dng m t tnh ng thi ca cc s kin theo ba cch khc nhau:
1. Khi no th s kin xut hin.
2. S kin xut hin trong bao lu.
3. S kin no xut hin trc nht.
i vi cc ng dng my tnh, chng ta cn nim r rng v thi gian v o thi
gian. V d chng ta cn bit mt file c sa i ln cui cng vo lc no, mt
khch c c quyn bao lu truy nhp phc v v sa i no ca i tng d
liu l xy ra u tin. Trong trng hp th hin thi gian bng ng h c tng
mt cch u n th khng c s nhp nhng v s xut hin cc s kin trong mt
QT. Tuy nhin, nhng QT tng tc trn nhng my c lp ring r c th c nhn
thc khc nhau v thi gian. Do khng th c s nht th v ng h ton cc nn rt
kh khn phi hp cc hnh ng phn tn nh thu lm thng tin rc trn mng, nh
k bo qun h thng file vo na m mi ngy hoc vic xc nhn gi tr thi im
kt thc ca vic nhn T. Trong phn ny s m t hai khi nim nn tng v thi
gian xc nh c thi gian trong h thng phn tn: ng h vt l v ng h
lgic. ng h vt l l mt xp x tt ca thi gian thc, c dng o c v thi
im v ln khong thi gian. ng h logic c dng sp xp cc s kin. C hai
u c vai tr quan trng trong h phn tn.
3.4.1 ng h vt l
Trong mi h thng my tnh, ng h vt l (physical clocks) c s dng ng
b v lp lch cho cc hot ng ca phn cng. Mt khc, theo kha cnh phn mm,
n cn thit m phng thi gian thc hoc l o khong thi gian. B m thi gian
phn mm da vo b m thi gian phn cng. Trong h phn tn, mi ng h chy
theo mt nhp ring ca mnh, v v vy tn ti mt tr trong vic trnh din ng h
thi gian. V thng tin v thi gian khng th chuyn v nhn c mt cch tc thi,
do , mt ng h vt l tuyt i theo l thuyt th khng th c. V vy, chng ta
phi t mt ci n nh xp x thi gian thc ton cc. Thch thc t ra l lm sao
cho mi my tnh c th nhn c thi gian ng nht. Mong mun c th t thi
gian ng nht gn vi thi gian thc nht c th c. gii quyt vn trn y,
cn mt thut ton v ng b ng h. Hnh 3.10 th hin k thut dch v thi gian
gn ging vi dch v thi gian phn tn DTC (distributed time service) c trong DCE.
B ghi nhn thi gian (TC) trong mi my khch yu cu dch v thi gian ti mt
hoc nhiu phc v thi gian (TS). Phc v thi gian lu gi nhng thng tin thi gian
mi nht v c th truy cp n ngun thi gian thc ton cu. Phc v thi gian c th
trao i thng tin thi gian, v vy dch v thi gian cua n c th thch hp vi nhng
khch ca n. Tn ti hai vn cn quan tm trong thc t trong thi hnh dch v thi
gian, l tr trong vic ghi nhn thng tin v thi gian phi c b vo v s
khc nhau gia cc ngun thi gian phi c nh c.
Phn b tr
Hnh 3.10 m t ba kiu ca truy cp thi gian: Phc v thi gian n ngun thi gian
ton cu, khch n phc v thi gian v phc v thi gian ln nhau. Nhiu ngun h
thng thi gian ton cu UTC (Universal Coordination Time) chun c sn i vi
- 58-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
my tnh v nhng ng dng gn cht ti thi gian khc. Vin tiu chun v Cng
ngh quc gia NIST ca M cung cp cch truy nhp vi chnh xc ln ti mt
miligiy.
Dch v thi gian my tnh t ng ACTS (Automated Computer Time Service) cung
cp nhng dch v modem ti thi gian NIST thng qua ng in thoi. ACTS c
thit k cho nhng ng dng ch yu cu nhng dch v thi gian khng thng xuyn:
QT quay s modem l qu chm i vi vic ng b nhng hot ng phn cng.
i vi nhng truy nhp mang tnh thng xuyn, NIST thc hin mt trm pht sng
ngn WWV thc hin vic tn pht nhng tn hiu UTC. tr thi gian ca T c
th c tnh ton mt cch chnh xc nu nh khong cch t trm pht sng v
khong cch n im truyn thng tin l c bit. Tuy nhin, iu khng may l
sng radio li rt nhy cm vi mi trng.
Mt phng n khc l s dng dch v ca h thng nh v ton cu GPS (Global
Positioning System). Tuy nhin, v tinh GPS li c qu o chm v khong cch ca
n n tri t cng thay i theo thi gian. tnh c chnh xc tr (hoc
khong cch) c th th cn n s theo di ca nhiu v tinh GPS. Gi thnh cho phn
cng cng nh gi thnh lin quan n vic tnh ton s l rt cao. Cng c th da vo
trm v tinh qung b cc thng tin UTC. Khong cch v tinh n trm my tnh
di t th hon ton c nh nhng tr tc truyn th li rt ln, khong 125
milli giy. Nhiu knh truyn hnh cp (Cable TV chanel) cng mang c thng tin v
thi gian trong tn s. Mi ngun thi gian ton cu (Universal time source) cha
ng nhng lp lun tn thnh v ph phn trong . Rt may l khng phi tt c cc
phc v thi gian cn truy nhp n UTC t nhng ngun m mt phc v thi gian
c th truyn b thi gian UTC hin ti c n nm gi n nhng phc v thi gian
TS
Ngun UTC
ngoi

TS

TS
Ghi chp thi gian khch
TS

TS

Hnh 3.10. Mt kin trc dch v thi gian phn tn

khc mt cch chnh xc v nhanh chng.


Vn tr trong QT trnh din hoc thu nhn thng tin UTC t pha khch ca mt
phc v thi gian li l mt vn khc. Thm vo tr ca QT truyn tn hiu l
tr trn ng truyn thng mng. tr trn mng thay i thng xuyn v l mt
vn ng quan tm hn l tr truyn tn hiu. Gi s Ts v Tr l thi gian gi v
nhn c nhng yu cu v dch v thi gian t khch n phc v thi gian. Gi s tp
l thi gian gian cn thit dch thi gian thc hin yu cu . UTC t phc v thi
gian tr v cho khch c th c iu chnh cho ng bng cch cng thm mt na
ca tr Tr - Ts - tp. Cng thc tnh s b da trn gi thit l QT giao thng trn
mng (network trafic) l i xng.
Nu ng h my khch nhanh hn UTC mi th n s c lm chm li bng phn
mm. ng h thi gian khng th quay li c v iu ph nhn thi gian ca cc
s kin trc . Vn ng h chm hn th khng ng ngi nhng tt nht l tng
- 59-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
tc ng h n t c cng vi UTC mt cch t t. V d mt s tng t
ngt ng h c th loi b QT ang i hoc l nguyn nhn lm ny sinh vn ht
thi gian (time - out).
Truy cp UTC t mt khch ti mt phc v thi gian l mt m hnh dch v ko
(mt kiu dch v b ng). Mt phc v thi gian cn phi ng vai tr ch ng
trong vic T UTC n nhng khch ca n. M hnh dch v y (dch v thi gian
tch cc) cho u im l duy tr c mc cao tnh nht qun ca ng h. Kiu y
ging nh sng radio hoc l T v tinh nhng UTC mong i, ci m mi khch
ang ch n tr li. Tuy nhin, khch li khng c cch no xc nh c tr
ca mng. iu tr ngi ny lm cho gii php ny ch thch hp vi nhng h thng
c phn cng a tn pht, ni m tr CT c th ngn hn v c th d on c
trc. C hai ch ko v y c th cng p dng trong vic truyn thng gia cc
phc v thi gian.
Vn d on tr mng cn phi t chnh xc, c bit khi giao thng trn
mng tr nn ng v tc nghn s dn n kt qu tri ngc nhau v phc v thi
gian. lm tng nht qun, cc phc v thi gian c th nh c UTC ca chng
vi nhng phc v thi gian khc. Mt khch c th ni vi nhiu phc v thi gian
xc nh tnh khng nht qun ca cc UTC.
Xc nh s khng ng nht
UTC1 Loi b

UTC mi

UTC2
UTC3
UTC4
UTC5

Hnh 3.11. Khong UTC trung bnh

S khng ng nht gia cc phc v thi gian c th c hn ch nh vo s cng


tc ca cc UTC. Phc v thi gian c th trao i vi cc phc v thi gian khc theo
cch ko hoc y. Quyt nh UTC da theo gi tr ln nht, nh nht, im gia
hoc l trung bnh ca UTC. Hai thut ton sau l la chn tt nht cho mc ch ng
nht ho. Nu trung bnh c s dng th hai gi tr nh nht v ln nht c b i
(theo ng phng php thng k).
C mt iu khng chc chn nh na v UTC c phc v thi gian nm gi. Phc
v thi gian c th kt xut mt khong thi gian, UTC l, trong l l mt thng
tin c thng k mt cch khng chnh xc hoc nhng khong thi gian khng chc
chn.
Vic xc nh tnh khng chnh xc gip khch quyt nh c UTC c p ng c
chnh xc cho ng dng hay khng. Trung bnh ca UTC trong khong thi gian
c th c sa li nh nh trong hnh 3.11. Nhng khong khng k tip c th b b

- 60-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
i. Nhng phn giao gm nhiu UTC nht th c xc nhn. im UTC mi c xc
nh chnh gia on giao .
Thm ch ngay khi c phc v thi gian nht qun, th tnh ton UTC ca khch vn
khng nht qun do tr truyn thng trn mng khng d on c. Vn khng
nht qun ca khch c th c gii quyt nu khch theo chin lc nh phc v
thi gian l kt ni ti nhiu phc v thi gian v nh c UTC.
ng h vt l ng vai tr quan trng trong vic pht trin phn mm phn tn bi v
c rt nhiu giao thc phn mm da vo time-out nm gi loi tr. Nu khi to
time-out bi mt QT c t di s kim tra ca mt QT khc t trn mt my
khc, hai ng h vt l phi ng b c th chp nhn c i vi c hai QT. Tem
thi gian vt l c dng kh thng ip bi (ngn nga pht li) v kim tra s
mn hn quyn hn i vi iu khin truy nhp.
3.4.2 ng h logic
ng h vt l l gn tng ng vi ng h thi gian thc ton cc. Vic o
khong thi gian l hu dng v nhn c trc tip t ng h vt l. Ni chung, c
th s dng ng h vt l ch ra c s kin no xy ra trc s kin no tr khi
chng xy ra rt gn nhau. Nu nh khng chc chn ca UTC l cao hoc l
khong thi gian ca cc s kin l giao nhau th ng h vt l khng cho kh nng
xc nh c th t ca cc s kin. i vi nhiu ng dng, cc s kin khng cn
lp lch hoc ng b vi thi gian thc m ch quan tm n trnh t thc hin cc s
kin. Trong trng hp th ng h lgic c dng xc nh thng tin v th t
ca cc s kin, c bit trong h phn tn, vic duy tr mt ng h vt l chung gia
cc QT cng tc l vic rt kh khn. ng h logic Lamport l mt khi nim c bn
xp th t cc QT v s kin trong h thng phn tn.
Mi mt QT Pi trong h thng duy tr mt ng h logic Ci, Lamport nh ngha k
hiu i s nh quan h xy ra trc (happens - before) ng b ng h logic
gia hai s kin. a b c ngha l s kin a xy ra trc s kin b. Trong cng mt
QT, nu s kin a xy ra trc s kin b th ng h logic Ci(a) v Ci(b) c gn sao
cho Ci(a) < Ci(b). ng h logic trong mt QT lun c tng mt s dng tu khi
s kin trong QT c tng tin (ngha l thi gian khng bao gi quay tr li v ch
o tng i i vi ng h logic). Mt QT tng tc vi mt QT khc qua cp hai
php ton gi (send) v nhn (receive) t qu trnh Pi n QT Pj. Vic gi i phi c
thc hin trc vic nhn c. Do vy, gia s kin gi t QT Pi v s kin nhn ti
QT Pj phi m bo tnh cht l Ci (gi) < Cj (nhn) do QT nhn khng th hon thnh
c trc khi s kin gi cha c thc hin. ng h logic C da trn quan h xy
ra trc c tng kt theo hai quy tc sau:
1. Nu a b trong cng mt QT th C(a) < C(b).
2. Nu a l s kin gi mt T ca QT Pi v b l s kin nhn cng T ca
QT Pj th Ci(a) < Cj(b).
Quy tc 1. rt d dng c thi hnh v trong cng mt QT (chng hn, mi khi xut
hin mt s kin mi th b m ng h lgic ca QT tng ln 1). Quy tc 2. c
th c hiu lc nu nh gn tem thi gian ng h logic ca QT gi vo trong T v
QT nhn s cp nht ng h logic ca mnh bng cch s dng thi gian ca ng h
ca chnh n v vic tng tem thi gian theo cng thc:
C(b) = C(a) + d v Cj(b) = Max (TSa + d, Cj(b))

- 61-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
trong TSa l tem thi gian ca s kin c gi v d l mt s dng. Mi quan h
xy ra trc th hin kt qu ca hai QT c tnh bc cu:
Nu a b v b c th a c.
Hai s kin a v b c gi l hai s kin ri nhau v c th chy ng thi nu nh
khng c a b v b c. Biu khng gian thi gian trong hnh 3.12 th hin mi
quan h ca cc s kin {(a,e,c) v (d,e,h)} v nhng s kin ng thi {(b,e), (f,h)}.
ng h logic cho nhng s kin ng thi khng lin quan n nhng s kin khc.
Th t b phn v th t ton b ca s kin
S dng quan h xy ra-trc v hai quy tc trn, mi s kin c quan h nhn
qu s c sp xp bi ng h logic. Kt qu ny ch cho mt th t b phn trong
th s kin. Vi hai s kin ri nhau a v b (ca hai QT i v QT j), th Ci(a) < Cj(b)
khng c ngha l a b. Hn na, c kh nng l Ci(a) = Cj(b). Th t ton cc ca
cc s kin c th nhn c bng cch thm mt quy tc cho hai s kin ri nhau (cc
s kin nhn qu lun c th t).
3. Vi mi s kin a v b th C(a) C(b).
d=1
a,40 42

b,45

d,20

58

e,50

55

c,60

f,60

43

81

57

g,50

h,75
56

80

Hnh 3.12. Mi quan h xy ra trc v s gn thi gian ng h

Nhng s kin ri rc cng vi ng h logic nh danh c th c phn bit theo


mc ng h logic ca chng vi mt s hiu QT hon ton khc nhau, iu m
bo s duy nht ca mt ng h logic ton cc cho c h thng. Th t ca cc s
kin ri nhau khng lin quan ti vic thc hin chnh quy ca QT. Tp th t ton cc
cc s kin m t mt dy thc hin ng n mm do ca cc s kin. Tn ti nhiu
thut ton iu khin ng thi s dng tnh cht th t ton cc ca s kin da trn
ng h logic.
3.4.3 ng h logic vector
Thm ch th t s kin ton cc s dng ng h logic c miu t trn khng th
khng nh c l thc s c phi s kin a xy ra trc s kin b hay khng cho d
C(a) < C(b) bi v chng c th cng c thc hin. Trong trng hp , cn s
dng ng h logic vector, trong theo phng thc ng h logic vector, mi QT
lu gi mt vertor ng h logic ring i vi mi s kin.
Gi s ng h logic vector ca s kin a ti b x l i l VCi(a) = {TS1, TS2, ..., Ci(a),
.., TSn}, trong n l s QT ng thi, Ci(a), cn c ghi l TSi, l thi gian ng h
logic ca s kin a trong QT Pi v TSk (k nhn 1, 2, ... , n ngoi tr i) l c lng tt
- 62-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
nht cho thi gian ng h logic ca QT Pk. c lng tt nht cho thi gian ng h
lgic ca QT khc nhn c thng qua thng tin v tem thi gian c mang trong
cc T trong h thng.
Vi mi QT th ng h logic vector c khi ti bng 0 ti thi im bt u thc
hin QT:
- ng h logic trong ni ti QT c tng nh quy tc 1.
- Quy tc 2 c bin i theo cch nh sau: Khi QT Pi gi T m (s kin a) n
QT Pj, tem thi gian logic ca m (chnh l VCi(m)) cng c gi cng vi m. Gi s b
l s kin nhn m ti QT Pj. Pj s cp nht ng h logic vector VCj(b) vi TSk(b) =
Max { TSk(a), TSk(b)}. Pj s gi gi tr ln nht trong cp ca vi k = 1 ... n v tng
ng h logic vector ca n ln theo kt qu tnh ton. Bng cch , mi thng tin v
ng h c chuyn n tt c cc QT bng cch gi cc tem thi gian TSi trong T.
R rng rng, nu s kin a trong QT Pi xy ra trc s kin b trong qu Pj th VCi(a)
< VCj(b), ngha l TSk(a) TSk(b) vi mi k v TSj(a) < TSj(b). iu xy ra do c
mt ng chuyn nhn qu t s kin a n s kin b v s kin b c nhiu thng tin
cp nht hn s kin a, tem thi gian c truyn dc theo ng v quy tc cp
nht lun l chn ci ln hn trong hai ci. Thm vo na, ng h logic ca s kin
k tip s c tng bi s kin a. V vy, TSj(b) phi ln hn TSj(a). i vi nhng s
kin ri rc th khng th c VCi(a) < VCj(b) tr khi a b bi v QT Pi (ni xy ra s
kin a) s c cp nht mt cch tt cho thi gian ca mnh hn mi c lng ca
cc QT khc v thi gian hin ti ca QT Pi. Do , Ci(a) ln hn hoc bng vi TSi
trong nhng vector khc. Cng nh vy, VCj(b) < VCi(a) nu nh b a. Ni tm li
l chng ta c th kt lun l hai s kin c th c hay khng mi quan h trc sau
bng cch so snh vector thi gian ca hai s kin .
a,100

200 b,300

d,010

e,230
220
g,001

450 c,550

240

f,260 274
250
h,243
242

244

Hnh 3.13. ng h logic vector

Nu VCi(a) < VCj(b), chng ta c th kt lun l s kin a xy ra trc s kin b. Nu


khng th a v b ng thi. Hnh 3.11 a ra mt v d ca ng h logic vector dng
m hnh khng gian thi gian.
3.4.4 ng h logic ma trn
Khi nim ng h logic vector c th c m rng thnh ng h logic ma trn
(Matrix logical clock). Mt ng h ma trn MC[k,l] ti qu trnh P l mt ma trn cp
nxn, n th hin gi logic bng vector ca ng h logic vector. Dng i trong ma trn
MC[1..n,1..n] l mt ng h logic vector ca Pi. Dng th j trong ma trn

- 63-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
MC[1..n,.1..n] xc nh chnh tri thc m qu trnh Pj c c v ng h logic vector
ca QT Pi. Lut cp nhp ng h logic ma trn ging nh cp nht cho ng h logic
vector. Mi mt s kin a phng, QT s tng ng h ca n bng cch t
MCi[i,i] = MCi[i,i] + d.
Khi QT Pi gi T n QT Pj, ton b ng h ma trn MCi[k,l] c gn tem
thi gian bng TSi[k,l] v gi cng vi T n QT Pj. u tin, Pj cp nht ng h
vector bng lut ly ln hn trong mt cp.
MCj[j,l] = max { MCj[j,l], TSi[j,l] } l = 1..n
Sau , Pi cp nht ton b ma trn mt ln na bng lut ly phn t ln hn
trong mt cp
MCj[k,l] = max { MCj[k,l] , TSi[k,l] }
k = 1..n, l = 1..n
Ln cp nht u tin bo qun c th t ca cc s kin. Ln cp nht th hai
truyn thng tin cho nhng QT khc qua cch chuyn cc T.
3.5 C cu ngn ng cho ng b
Trn c s khi nim QT, yu cu t ra l cn xy dng cu trc ngn ng thi hnh
c s tng tc QT. Mt ngn ng lp trnh ng thi cho php c t c vic x
l ng thi, cch thc ng b cc QT ng thi v truyn thng gia chng. Theo
mt l t nhin, cn xut pht t mt ngn ng tun t sn c, ri b sung thm cc
phng tin h tr x l ng thi. Cch tip cn ny l d dng hn cho ngi lp
trnh (ng dng) v ch cn mt t b sung khi hc ngn ng. T mt ngn ng tun t
cn phi b sung cc cu trc sau y c th nhn c mt ngn ng ng thi:
c t c cc hot ng ng thi
ng b ho cc QT
Truyn thng lin QT
S thc hin khng nh trc ca cc QT
ng b ha QT c kho st k trong HH tp trung (sinh s kin generate /
ch i s kin wait). Vic truyn thng lin QT thng qua vic CT l mt vn
mi khi lu n h thng phn tn. Mc ny a ra mt s gii php chun ng b
QT cng vi vic lm ph hp chng i vi h phn tn v cch thc tin ha chng
thnh vn truyn thng nt trong h phn tn. Rt nhiu cch t vn c t ra
gii quyt bi ton ng b theo nhiu gc khc nhau ca mt ngn ng lp
trnh. u tin m t ngn gn cu trc ngn ng t tm cch m rng chng
nhm ng b QT.
3.5.1 Cu trc ngn ng
Mt ngn ng hng th tc chung c nh ngha tng qut bng vic c t hon
chnh cu trc c php v ng ngha cc thnh phn chnh. Theo c tnh, cc thnh
phn ny c phn lp nh sau:
Cu trc chng trnh ch ra chng trnh v cc thnh phn con ca n (th tc,
khi, cu lnh, biu thc, bin, hng....) c b tr nh th no. Ngm nh cc
thnh phn ca chng trnh c thc hin tun t; ngoi tr vic thay i tng
minh bng cu lnh iu khin.

- 64-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

Cu trc d liu c nh ngha trnh by cc i tng trong chng trnh.


Tnh tru tng ho ca kiu d liu v s thi hnh hiu qu ca chng l mc tiu
nguyn thy.
Cu trc iu khin qui nh dng thc hin chng trnh. a s ngn ng nhn
mnh vic dng cu trc iu khin hin dng one - in - one - out (mt - vo - mt ra: l mt c trng ca lp trnh c cu trc) chng hn nh l if - then - else,
while - do, repeat - until. Mt loi cu trc iu khin bao cha li gi, quay v v
thot khi chng trnh con.
Cc th tc v li gi h thng kch hot cc th tc c bit hoc dch v h
thng. Chng lm thay i hng thc hin v cho php truyn tham s.
Vo/Ra cho php nhp d liu vo v a ra kt qu thc hin chng trnh. Mi
chng trnh u c t nht mt thao tc ra. Vo/Ra c th c xem l trng hp
ring ca truyn thng CT.
Php gn sinh kt qu cho i tng d liu: l cc thao tc c bn khi thc hin
chng trnh
Bng 3.1 cho v d v cc phng php ng b c hin th theo phng tin s
dng ngn ng. Mi quan h gia phng php ng b v nhng phng tin ngn
ng tng ng l khng tng minh. N c dng ch chng t s tin ha vic
pht trin cu trc ngn ng cho BQT.
Phng php ng b
Phng tin ngn ng
ng b chia x bin chia x
Semaphore (C tn hiu)
Bin chia x v li gi h thng
B gim st
Tru tng ha kiu d liu
Khong ti hn iu kin
Cu trc iu khin
Kt xut nh k
Kiu d liu v cu trc iu khin
Biu thc ng i
Kiu d liu v cu trc chng trnh
ng b CT
Cc QT tun t truyn thng
Vo v Ra
Li gi th tc t xa - RPC
Li gi th tc
Cuc hn
Li gi th tc v truyn thng
Bng 3.1 K thut ng b v phng tin ngn ng
Khi nim ng b y c chia lm hai loi: 5 trng hp trn l phng php
ng b chia x bin chung, cn 3 trng hp di theo cch tim cn CT. Hai on
tip theo s tho lun v cc c ch ng b kiu CT thng qua gii bi ton c
ng thi / ghi c quyn bng cch s dng tng phng php y.
Bi ton QT c / QT ghi s dng gi thit thng thng v c v ghi thc th i
tng d liu (chng hn, nhiu QT c c th ng thi nhng QT ghi cn loi tr
rng buc vi cc QT c v ghi khc: n khng cho php QT c v ghi khc ng
thi thc hin vi n). Bi ton ny l tng qut i vi m hnh ng b ha v
ng thi trong nhiu ng dng.
Bi ton QT c / QT ghi rt a dng, v th khng th ch t chng mc khi
nim lp trnh ng thi m trong nhiu chuyn mc v d n lp trnh cn xc nh
- 65-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
bin th ca chng mt cch chnh xc hn. Phng n u tin QT c: mt QT ghi
xut hin s i cho n khi khng cn QT c chy. Nh vy QT c c quyn u
tin cao hn QT ghi v iu ny c th dn ti vic QT ghi b xp x nu QT c
mi li xut hin trc khi mt QT c cha thc hin xong. Phng n u tin QT
ghi: mt QT c xut hin s i cho n khi khng cn QT ghi chy v QT ghi ang
i. iu ny cng dn ti tnh hung QT c i mi nhng chng bao gi n lut
mnh.
Tn ti im cha r rng khi nh ngha u tin QT c khi c QT c v QT ghi
ang i mt QT ghi khc ang thc hin. Sau khi QT ghi ny hon thnh xong th s
trao quyn iu khin cho ai ? (QT c hay QT ghi ?). Ta gi s u tin QT c l s
u tin QT c mnh (strong reader) nu nh QT c lun c xp lch u tin hn
cc QT ghi ang i mt QT ghi hon thnh. Nu lch l khng tng minh (khng
m bo ci g c xp lch tip theo) th c gi l u tin QT c yu (weak
reader). Trong trng hp cn li sau khi hon thnh quyn iu khin lun c trao
li cho QT ghi th c gi l u tin QT c yu hn (weaker reader). Khng tn ti
tnh mp m i vi nh ngha s u tin QT ghi v QT c lun phi i cho n khi
khng cn QT ghi ang chy v QT ghi no i na.
Cc lp lun di y lun gi thit chn phng n u tin QT c yu (tc l QT ghi
phi i cho n khi khng cn mt QT c hay ghi no ang xy ra) lm c s a ra
nhng v d v gii php ng b.
3.5.2 ng b ho bin chung
C ch ng b bin chung c pht trin ng b QT ng thi HH tp
trung. ng nh tn gi, s cng tc QT c thc hin bng cch chia x bin.
TTLQT khng cp ti c CT ln truyn thng Client/Server. Mc d vy tip
cn tp trung vn c s dng thit k HH phn tn. V d, cc lung v bi ton
(task) s dng b nh chia x phn tn tip tc dng ng b b nh chia x. Cng
vy, vn s dng m phng ng b bin chia x trong vic CT.
Bng 3.1 tm tt cc c ch ng b b nh chia x. Nng lc v s tng thch vi
phng tin ngn ng v c ch c so snh v s thch hp vi h thng phn tn
c xc nhn trong bng ny.
Semaphore: Tip cn bin chia x v li gi h thng
Semaphore l kiu d liu ci t trong h thng. Bin thuc kiu semaphore c gn
vi mt kho v mt dng xp hng cc QT kt khi theo mc ch chia x bin chia
x. Ch vi 2 ton t P ng kha v V m kha, semaphore c dng BQT. Hai
ton t c thi hnh nh li gi h thng ti HH. HH bo m tnh khng th
chia tch ca mi ton t v chu trch nhim i vi vic kt khi v tch khi QT
trong dng xp hng. c trng kha ca semephore l n cung cp c ch kha
nguyn thy nht. S cng tc cc QT hot ng t c s ng b ng n hon
ton thuc v QT ngi dng. Tn ti s khng trong sut khi ngm nh khi nim b
nh chia x.
Gii php semaphore hnh 3.14 cho thy s ph thuc mnh gia QT c v QT ghi.
QT ngi dng bit c s tn ti ca cc QT khc v y l gi thit khng mong
mun (v s gy rc ri) trong h thng phn tn. Bin chia x rc l bin b m s QT
c cn bin semaphore mutex cung cp s loi tr rng buc cho vic cp nht rc.
Vic m rng kiu d liu semaphore h thng thnh kiu d liu semaphore ngi
dng tng qut hn c pht trin thnh khi nim kiu gim st monitor mc
tru tng cao hn.
- 66-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Var mutex, db: semaphore; rc: integer; {rc : read counter}
Reader processes
Writer processes
P(mutex);
rc := rc + 1;
if rc = 1 then P(db);
P(db);
V(mutex);
Read database
Write database
P(mutex);
rc := rc - 1;
if rc = 0 then V(db);
V(db);
V(mutex);
Hnh 3.14. Gii php semaphore cho bi ton u tin QT c yu
Khong ti hn iu kin
Khong ti hn iu kin (Conditional Critical Region CCR) l phng n cu trc
iu khin theo cch tip cn semaphore. C php ca CCR c dng region - begin end. Mt QT vo khong ti hn, iu kin ca n phi c kim tra: Nu iu kin
cha tho mn th n dng li v mt QT khc c tip tc.
Hnh 3.15 m t gii php CCR cho phng n u tin QT c yu. Cc tip cn cu
trc iu khin gi thit bin chia x v yu cu bin dch khong ti hn thnh nguyn
thy ng b c sn trong HH. i hi cn c khng gian a ch chung v vic bin
dch ring r lm cho CCR c v khng thch hp i vi h phn tn.
Var db: shared; rc: integer;
Reader processes
Region db begin rc := rc + 1; end;
Read database
Region db begin rc := rc - 1; end;

Writeter processes
Region db when rc = 0
begin write database end;

Hnh 3.15 Gii php CCR cho bi ton u tin QT c yu

Monitor: Tip cn kiu d liu tru tng


Monitor l mt khi nim m hnh i tng v c cu trc c php ging nh kiu d
liu ngi dng nh ngha. Monitor gm mt khai bo cc bin cc b ca n, mt
tp cc thao tc c php (hoc th tc monitor) v mt th tc khi to thc hin
khi to trng thi ca monitor.
S khc nhau gia monitor v kiu d liu thng thng do ngi dng nh ngha ch
l gi thit ng ngha rng ch mt th hin cho mt i tng monitor c th hot
ng ti mt thi im. Gi thit hon ton tuyt i ny hot ng ging nh s loi
tr nhau ca cp thao tc P v V trong kiu d liu semaphore. Tuy nhin, vng nguy
him l c nh v c xc nh sn trong cc th tc monitor. Kt qu l, monitor c
tnh cu trc hn semaphore. hot ng cng tc, mi khi QT trong mt th tc
monitor, cc bin iu kin vi hai ton t chun wait v signal c dng cho
php tm dng hoc tip tc thc hin QT trong monitor. Do vic xen k cc th tc
- 67-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
monitor l cho php, vic thi hnh monitor cn m bo rng khng c qu mt QT
trong monitor c hot ng ti mt thi im. V cc th tc monitor chp nhn
tham s, monitor cung cp truyn thng QT tt ging nh BQT. R rng l, s che
khut v chi tit BQT khi QT ngi dng l mt bc chuyn bin chnh monitor
cung cp tnh nng trong sut.
Hnh 3.16 m t gii php monitor cho bi ton u tin QT c yu. Cc monitor phc
v ta nh ngi iu khin qun l cc lut i vi QT c v ghi ng thi. Khng
cn s tng tc trc tip gia QT c v QT ghi. Monitor tng ng vi mt phc
v, cn QT c v QT ghi ging nh cc khch. ng tic, im hn ch chnh l thm
ch nu monitor c thi hnh bi h thng v chu trch nhim iu khin c/ghi,
cc hot ng c v ghi thc s vn c din ra trong QT ngi dng. Trong trng
hp ny, monitor khng l mt phc v h thng y . Thm na, nhu cu ca QT
ngi dng bt u/kt thc mi thao tc c/ghi khng th l trong sut nh thao tc
c/ghi n gin.
Ngoi tr gi thit v chia x b nh, khi nim monitor cha th thch nghi i vi h
thng phn tn. cung cp tnh trong sut v c/ghi ng thi c s d liu, hot
ng c/ghi thc s phi c xy ra trong monitor. Tuy nhin, s thc hin phc ca
th tc monitor l khng cho php v chnh v th, gii php monitor a lung c v
hp l. Mi lung tng ng vi mi hot ng ca mt th tc monitor m khng cn
kt khi monitor. Lung c th tm dng v i cho ti khi c iu kin v chng chia
x cc bin bng cch dng semaphore. ng tic, gii php ny lm mt i c trng
thng nht n ca th tc monitor, hot ng n ca mt th tc monitor loi tr
rng buc. iu khng c tip din trong monitor. Gii php i vi mt th tc
monitor l i lc th loi tr v i lc th ng thi.
Rw: monitor
Var rc: integer; busy: boolean; toread, towrite: condition;
procedure startread
procedure endread
Begin
Begin
If busy then toread.wait;
rc := rc + 1;

rc := rc - 1;

toread.signal;

if rc = 0 then towrite.signal;

end;

end;

procedure startwrite
Begin
If busy or rc # 0 then toread.wait;
busy := true
end;
end;
begin

procedure endwrite
begin
busy := false;
toread.signal or towrite.signal;

rc := 0; busy:= false; end;

Reader process
Rw.strartread;
Read database;

Writer process
Rw.start.write;
Write database;
- 68-

H Quang Thy
Rw.endread;

Bi ging H iu hnh phn tn (Phn 1)


Rw.endwrite;

Hnh 3.16. Gii php monitor bi ton u tin QT c yu

Serialize (B gim st): Tip cn t hp tru tng d liu v cu trc iu khin


Gii php ng b monitor cho thy cn phi c tnh ng thi trong monitor v trong
thi gian duy tr tnh nguyn t ca thao tc ca th tc monitor. Serialize l m
rng khi nim monitor cho php thc hin c cc iu trn. Serialize c cu trc
tng t nh monitor v QT s dng li gi th tc serialize cng ging nh cch s
dng monitor. Ging nh monitor, truy nhp loi tr l c tha nhn. Tuy nhin mt
th tc serialize bao gm hai kiu khong: mt i hi loi tr rng buc v mt cho
php QT ng thi hot ng, loi th hai c gi l khong rng (hollow). Hn th,
serialize cn c cu trc iu khin mi l joincrowd -then - begin - end. Khi mt QT
i vo khong rng, n gii phng serialize v ghp ni cc QT ng thi. Vic kt
khi QT bi wait theo bin iu kin trong monitor c thay th bng th tc
endqueue trong serialize. Vic chuyn dch cc QT trong hng i khi iu kin mong
i ca n bin i c lm hon ton bng h thng hn l s dng signal trong
monitor. Dng hng i lm tng thm tnh r rng ca chng trnh. Hnh 3.17.
m t gii php serialize so snh vi cc v d trc. Serialize cho php loi tr rng
buc v thc hin ng thi trong cc th tc serialize. Serialize tm gn tt nht i
tng ng thi v hu nh tng ng vi phc v ti nguyn. Khch yu cu truy
nhp c s d liu dng cc th tc serialize c v ghi trc tip v trong sut.
Rw: serializer;
Var readq, writeq: queue; rcrowd, wcrowd: crowd;
Procedure read
Begin
Enqueue(readq) until empty(wcrowd);
Joincrowd(rcrowd) then begin read database end;
End;
Procedure write
Begin
Enqueue(writeq) until (empty(wcrowd) and empty(rcrowd));
Joincrowd(wcrowd) then begin read database end;
End;
Hnh 3.17. Gii php serializer cho bi ton u tin QT c yu

Path Expression: Mt tim cn tru tng d liu v cu trc chng trnh


Khi nim path expression (biu thc ng dn) khc hn so vi nhng phng php
ng b c tho lun trn. Ging nh monitor, l kiu d liu tru tng. Tuy
nhin cc th tc xc nh trong kiu d liu tru tng path expression khng ch
tng minh ti bt k nguyn thy ng b no. Ch c th t thc hin cc th tc
phi i sau tp rng buc ca path expression. Path Expression l c t ngn ng bc
- 69-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
cao m t cc thao tc c nh ngha nh th no i vi i tng chia x c th
c gi m bo yu cu ng b. V l do ny chng c coi nh l cu trc
chng trnh do n ging nh m t hnh thc mt chng trnh. Gii php path
expression cho vn u tin QT c yu l rt ngn gn :
Path 1 : ( [read], write ) end
Hng s 1 rng buc s lng hot ng ng thi trong ngoc n l 1 v iu c
t s loi tr gia cc QT c v ghi. Du ngoc vung ch ra QT c c th xy ra
ng thi. Chng trnh dch phi sn sng chuyn path expression thnh dch v
nguyn thy ng b thi hnh c. Rt nhiu m rng ca khi nim path expression
c pht trin nhm lm tng kh nng c t yu cu v ng thi v ng b. V
d ng k nht c khng nh trong path expression i vi phi hp c iu
kin.
3.5.3 ng b ha chuyn thng ip
Khng c b nh chia x nn trong h phn tn, CT l cch truyn thngc la
chn. cng l mt dng ng b ngm do T c th nhn ch sau khi chng c
gi i. i vi nhiu ng dng, nhn l kt khi cn gi c th kt khi hoc khng.
Ta gi gi khng kt khi-nhn kt khi l CT d b v gi kt khi-nhn kt khi l
CT ng b. Mc ny trnh by cch ng b khi s dng cho hai loi CT nh vy.
Cc khi nim thch hp CT nh QT x l truyn thng tun t, li gi th tc t
xa v cuc hn s c m t.
CT khng ng b (d b)
Tuy trong CT khng chia x bin nhng cc knh truyn thng vn c chia x. V
vy hot ng nhn kt khi t knh truyn thng l tng ng vi vic thc hin
ton t P semaphore v gi khng kt khi l tng ng vi ton t V. CT d b
n gin l vic m rng khi nim semaphore cho h thng phn tn. y gi thit
rng knh c b m khng hn ch. Vic ng b CT d b cng cn cu trc nh
semaphore, khi cc knh truyn thng c th c ch ra trong mt ngn ng v c
h tr bng HH. Hnh 3.18 minh chng cch dng CT d b cho loi tr rng buc.
Phc v knh i din cho HH h tr cho cc knh logic. N to mt knh logic cho
mc ch ng b v khi to knh ny cha T. Ni dung T trong knh l
khng quan trng i vi vic loi tr rng buc. Cc v d tt cho ng b CT l s
dng ng dn (pipe) v (socket). Phc v knh cng t chc vic xp hng i cc T
v x l khi trn knh.
Process Pi

Channel phc v

Process Pj

Begin
Receive(channel);
Critical section;
Send(channel);
End;

Begin
Create channel;
Send(channel);
Manage channel;
End;

Begin
Receive(channel);
Critical section;
Send(channel);
End;

Hnh 3.18. Loi tr rng buc dng trong CT d b.


Chuyn thng ip ng b
CT ng b tha nhn gi kt khi v nhn kt khi. iu ny cn thit khi khng
c b m cc T trn knh truyn thng. Gi phi i cho ti khi c mt QT nhn
- 70-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
tng ng cng din ra v nhn cng phi i mt QT gi tng ng. C ngha bt c
mt QT no n trc phi i QT khc v vic i ny l i xng. C cu ny cho
php hai QT sau khi i snh cp gi v nhn th kt ni v trao i d liu ti mt
im ng b v sau khi hon thnh li tip tc thc hin hot ng ring ca mnh.
im ng b nh vy c gi l cuc hn gia gi v nhn. Cuc hn l mt khi
nim c ch trong h thng my tnh cng nh trong i sng hng ngy. V d, bn
ngoi sn vn ng trc gi bt u ca trn bng, d dng bt gp nhng ngi hoc
l cm v bn hoc l gi nhng ngn tay s hiu v h cn mua. Cuc hn gia
ngi bn v ngi mua y l d b v i xng.
Gii php loi tr rng buc s dng CT ng b c m t hnh 3.19. QT phc
v semaphore bt u bng cuc hn vi hoc Pi hay Pj; sau , cho php QT c hn
bc vo khong ti hn, phc v ghi nhn id ca QT x l v ch i cuc hn ch
QT thc hin hiu qu ca ton t V. iu hon thnh mt chu trnh thc hin loi
tr ca khong ti hn v phc v lp li vic chp nhn mt cuc hn khc. Cng nh
trn, ni dung T l khng quan trng. iu quan trng hn l cch gi v nhn c
thch hp vi nhau khng ?
Cn mt phng php i snh tn gi ca hai cuc hn bng cch dng cc tn th
tc. Di y m t ba ng b quan trng theo tip cn CT ng b.
Process Pi
Begin
Send(sem, msg);
Critical section;
Receive(sem, msg);
End;

Semaphore phc v
Process Pj
loop
begin
Receive(pid, msg); Send(sem, msg);
Send(pid, msg);
Critical section;
End;
Receive(sem, msg);
end

Hnh 3.19. Loi tr rng buc c dng trong CT ng b

QT truyn thng tun t: Mt tip cn Vo/Ra


QT truyn thng tun t (CSP) l m bo ngn ng u tin nh v vn ng b
trong h phn tn. N dng cc cuc hn u vo/u ra t c s ng b CT.
u vo/u ra l mt dng ca truyn thng T. QT gi P a mt lnh ra Q! exp
n QT nhn Q v QT Q cn c mt lnh vo tng ng P? var. Cuc hn lnh
vo/lnh ra c ni vi nhau thng qua tn gi ca QT cn kt ni (P ch ra Q v Q
ch ra P). iu ny tng ng vi php gn t xa thc hin vic gn gi tr exp t
mt QT cho bin var ca mt QT khc. Vic trao i T gia cc QT vo / ra l ng
b nn t c s ng b gia hai QT.
S dng trc tip tn QT khi truyn thng trong CSP c mt vi hn ch. iu ny c
th minh ho bng thi hnh bi ton c/ghi. Trc ht l tnh khng hp l khi yu
cu QT c phi gi T cho QT ghi hoc ngc li bi v chng c thc hin mt
cch c lp v khng bit s tn ti ca cc QT khc. Th hai, chng truyn thng
trc tip vi nhau l khng cn thit. V vy chng ta cn QT phc v nhn nhng yu
cu t QT c/QT ghi v qui nh nhng lut cho c ng thi / Ghi c quyn.
Trong CSP c v ghi ch c mt kiu lnh truyn thng vi phc v S (v d : S! req
trong req l request message). Phc v s thc hin trao i ng b bng cch R?
msg hoc W? msg vi msg l ni dung ca T nhn c cn R v W tng ng l
QT c v QT ghi, nhm h tr vic khng phi qui nh cuc hn gia QT c v QT
ghi. CSP a ra lnh alternative, mi lnh ny bao gm mt s lnh guarded. Khi a
- 71-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
vo mt lnh alternative th tt c iu kin ca cc lnh guarded u phi kim tra.
Ch c mt lnh c iu kin ng c la chn thc hin. Vic chn cc lnh
guarded trong lnh alternative khng c xc nh trc. Tnh khng xc nh ca
chng trnh tun t l mt m rng m c i vi lp trnh trong h phn tn. Mt
cu lnh vo ca CSP c iu kin ng khi cu lnh ra tng ng ca n c dng.
i vi vn c/ghi, phc v cn mt lnh la chn cho php gp QT c hoc QT
ghi. Vn u tin l phc v phi bit tn ca tt c cc QT c v ghi ti thi im
sinh m cung cp cho QT iu khin. Th hai, s dng tn QT cho vic giao tip
th ch c mt QT c yu cu phc v. Thao tc c v ghi thc s khng th c
thc hin bng QT ngi dng m cn c chuyn di dang m ca phc v.
Chuyn ti nguyn i tng vo ti nguyn phc v l iu tt v n cung cp
trong sut cao hn. Vic c ng thi c th c thc hin bng cch s dng cu
lnh song song CSP to nn lung QT ng thi. Tuy nhin vic ng b gia cc
qu QT vn cn c hon thin trong phc v a lung. iu ny c ngha l chng
ta a trch nhim ng b cc lung QT trong phc v. Nhng cu lnh vo v ra
ng b ch p ng cho mc ch truyn thng hi v p. B qua gii php b sung
c tnh ng b cho lung th khng c cch no khc cho vn c/ghi trong CSP.
Kh khn ny c th gim bt nu m rng khi nim vo/ra ng b ti cc th tc.
iu ny dn n s pht trin ca li gi th tc t xa v nhng cuc hn Ada.
Li gi th tc t xa
Khi nim vo/ra ng b trong CSP cung cp vic kt khi v trao i d liu gia
cc QT gi v nhn. Li gi th tc c nhng c trng tng t m theo th tc
gi c kt khi cho n khi th tc c gi hon thin v d liu c chuyn giao
gia th tc gi v th tc c gi. Truyn thng t xa c th dng khun dng li
gi th tc giao tip v c thc hin thc s bi CT. Trong x l truyn thng,
dng li gi th tc thay cho tn QT em li hiu qu hn. V kiu li gi t xa cng
c c tnh trong sut khi CT c che du i vi ngi dng.
Li gi th tc t xa l truyn thng Client/Server. Ti nguyn ca phc v c i
din bng tp hp cc th tc v chng c dng khi cc khch t xa dng cc th
tc giao tip. Phc v cng hot ng ging nh monitor. Hai phng php RPC v
cuc hn u CT ng b tuy nhin s khc nhau gia chng l s phn bit phc v
v cc khch ca n. Cc phc v trong RPC l b ng, chng a ra cc th tc ca
chng v ch i cc khch dng cc th tc . Cn phc v trong cuc hn th
ngc li, chng c gng to ra cuc hn cho cc yu cu ca khch. Chnh v th
chng ta c th coi RPC l giao tip khng i xng, cn cuc hn l giao tip i
xng. V RPC c dng nh giao thc truyn thng cn cuc hn dng cho ng b
v l c s cho vic thc hin cuc hn t xa trong cc h thng phn tn.
Cuc hn Ada: Mt tip cn li gi th tc t xa v i xng
D khng phi c thit k cho cc cuc hn t xa trong mi trng mng phn tn
nhng nhng cuc hn Ada vn l v d tt cho vic dng khi nim li gi th tc v
cung cp cu trc ngn ng khng xc nh cho QT ng thi. Cc th tc trong RPC
l tnh v cn c kch hot bng li gi. dng c cc th tc trong cuc hn,
chng bt buc c c tnh sn sng ng lun sn sng p ng cc li gi. Ngn
ng Ada a ra nhng cu lnh chp nhn cho mc ch ny. Mt cu lnh chp nhn
c mt b phn vo c cho di dng dy cu lnh xc nh th tc. B phn vo
cha tn im vo v cc tham bin hnh thc. Vic yu cu nh cuc hn vi cu lnh
chp nhn tng ng vi cng tn im vo th tc. Vic kt khi l i xng theo
cch QT u tin xut hin (li gi khc) ch b m ca n xut hin. im hn ny
- 72-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
cung cp im ng b gia hai QT. Thc hin cu lnh chp nhn bao gm vic trao
i tham s v phn t ca n. M lnh khng loi tr thc s c ghi ngoi cu lnh
chp nhn v c th thc hin ng thi.
Nu cc QT c cu trc khch v phc v th cc cu lnh chp nhn thng xut hin
trong QT phc v. Cc khch yu cu phc v bng cch gi nhng cu lnh chp
nhn ca phc v mt cch trc tip. Do phc v cn hn vi nhiu khch mt cch
khng nh trc, th cu lnh la chn (ging nh lnh alternative trong CSP) c
b sung vo ngn ng Ada. Cu lnh select alternative c dng ca lnh guarded theo
ngha cho bit iu kin i vi lnh chp nhn. Khi mt lnh chn c a vo, th
tt c cc iu kin m bo c kim tra v nh du nu nh iu kin ng.
Mt trong nhng cu lnh nh du m cha gii quyt s c chn thc hin theo
cch khng nh trc. Hnh 3.18 minh chng cch dng cu lnh chp nhn v cu
lnh chn cho vn u tin QT c yu. Nhim v ca rw (phc v) s hn vi QT
c v QT ghi mt cch khng nh trc. Cc QT c/ghi tng tc vi phc v qua
li gi bi ton thch hp vi im vo ging nh li gi th tc thng thng.
task rw is
entry
strartread;
entry endread;
entry startwrite;
entry endwrite;
end;
task body rw is
rc: integer := 0;
busy: boolean := false;
begin
loop
select
when busy = false
accept startread do rc := rc + 1 end;
or

accept endread do rc := rc - 1 end;


or
when rc = 0 and busy = false
accept startwrite do busy := true end;
or

accept endwrite do busy := false end;


end loop
end;
- 73-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy

Hnh 3.20. Gii php cuc hn Ada cho vn u tin QT c yu

Kt hp cu lnh chp nhn v cu lnh chn cung cp vic loi tr rng buc v ng
b cho c/ghi. c/Ghi thc s cng c th c nhng trong phc v ng b. c
ng thi vn c th dng cu lnh accept-startread bng vic fork QT hoc lung
khc. Trong h phn tn, tn im vo c th c truyn i v cuc hn ca th tc
c thc hin bng li gi th tc t xa.
3.6 M hnh i tng cc phc v ti nguyn
Nhu cu ng b xut hin t vic chia x ti nguyn. lm tng hiu qu vic s
dng ti nguyn cn giao trch nhim cho phc v qun l ti nguyn. S dng khi
nim hng i tng i vi ti nguyn s cung cp s trong sut ti nguyn ti cc
khch. Mt ti nguyn c coi l mt i tng o v c trnh by di dng mt
tp cc thao tc chnh xc c khch gi. ng b v iu khin ng thi gia cc
i tng phc v l hon ton trong sut vi cc khch. Hn na truyn thng gia
cc khch v phc v i tng c th trong sut bng cch dng cc li gi th tc t
xa. S ng thi trong phc v c th c thc hin tt bng cch dng a lung cho
php p ng ng thi cc yu cu ca nhiu khch. Do cc lung chia x vng a
ch chung, phng php ng b bin chia x c s dng phi hp cc lung.
Trong RPC v cuc hn tho lun nhiu v vic ng b CT. Trong mt vi ng
dng, cc khch c th a thch gi cc yu cu d b cho phc v. Mt yu cu khng
cn s p li nn l d b. iu ny cng c th xy ra khi cn li dp cho mt cu
hi song hiu qu hn, QT khch thc hin mt cng vic khc thay v b kt khi.
C hai phng php thi hnh vic CT khng ng b vi phc v: mt l nh ngha
RPC d b mi, hai l ng vi mi RPC to mt lung ca QT khch. C hai phng
php u cn ti c ch ngn ng, vi c ch QT c th bit c vic hon thnh
v ly c kt qu ca cc RPC.
Server ti nguyn a lung
(ng b ha v ng thi)
ng b bin chia x

M hnh i tng
(Trong sut ti nguyn)
a lung
cc RPC
(Trong sut truyn thng )
Cc QT khch cng tc
Hnh 3.21. Cu trc ca phc v ti nguyn phc v i tng

3.7. Ngn ng lp trnh ng thi

- 74-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Ngn ng lp trnh ng thi l mt h chng trnh h tr vic c t tnh ng thi,
s ng b, vic truyn thng trong tng tc gia cc QT ng thi. S thi hnh ca
ngn ng lp trnh ng thi c dnh cho HH phn tn hn l chng trnh dch
nh kiu cc ngn ng tun t. iu do tnh ng thi, ng b v truyn thng QT
l mt vn thi gian chy. Ngn ng lp trnh ng thi c th c xem nh l s
m rng t ngn ng tun t tn ti. Chng ta xem xt c ch ng b theo minh
ha trong hnh 3.22.
C ch ng b c phn thnh hai loi: Bin chia x hoc CT. Monitor l mt v
d thng dng nht cho khi nim ng b bin chia x cho nhng ngn ng ng
thi. S th hin tru tng nh khi nim monitor lm cho n tr thnh m hnh thch
hp i vi i tng d liu v phc v ti nguyn. Nhng ngn ng c in s dng
monitor l Concurent Pascal, Modula v Turing Plus. Concurent Pascal l ngn ng
u tin h tr monitor. Modula l mt ngn ng c pht trin vi mc ch nhn
mnh tm quan trng ca modun chng trnh. Nh b sung mdun giao tip h tr
monitor, Modula s dng mun thit b nhm thi hnh cc I/O tru tng cho php
mm do hn khi giao tip vi nhn. Turing l mt ngn ng tun t c thit k
phc v ch dn ti cc cng thc ton hc mnh. Turing Plus l mt m rng ca
Turing nhm h tr monitor cho lp trnh ng thi. Tn ti nhiu ngn ng ng thi
da trn monitor v vic nh ngha monitor cng rt a dng. iu khc nhau chnh
ca chng l ng ngha l ton t signal cng li gi monitor lng nhau v quy nh
phm vi ca cc bin.

- 75-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy

ng b ha v c ch truyn thng
Bin chia x

Kiu
tru
tng

Monitor

Cu
trc
iu
khin

CCR

Chuyn thng ip

Cu
trc
chng
trnh

D b

nh
danh
QT
trc
tip

nh
danh
th
tc

Path

ng b
Bt
i
xng
(hi
/
p)

nh
danh
gin
tip
(cng
/ hp
th)

RPC
ng
b

nh
danh
QT

nh
danh
th
tc

i
xng
(cuc
hn)

nh
danh
QT

Bin
dng
ca
RPC

RPC

PASCAL
ng thi

DP
Argue

Path
Pascal

SLIPS

X-11 Gray SR
Socket

khng
c

nhng
trong
HH

nh
danh
th
tc

CSP
DP

ADA
DP
CSR
ng
thi

Hnh 3.22. Phn loi c ch ng b v truyn thng

Mt ngn ng ng thi danh ting khc s dng bin chung ng b ng thi l


Path Pascal, mt bin th ca khong ti hn iu kin - CCR trong QT phn tn - DP
(Distributed Processes) v Argus. Biu thc Path l cch c t ng ngha cho mt tnh
ton ng thi. Tuy nhin, biu thc Path n gin khng hiu qu trong cc m hnh
cng tc QT trong i hi thng tin trng thi v ti nguyn chia x. Biu thc Path
m rng c xut th hin vic m rng m hnh kiu nhng khi m rng
nh vy th s p ban u li b mt i. Khong ti hn iu kin CCR d dng
c thi hnh. nh gi cc iu kin nhm tch khi cc QT l rt ng gi. iu ny
c th c gii quyt bng wait v signal hin theo iu kin tng t nh bin iu
kin trong tip cn monitor.
Hai phng php ng b CT ng b v d b c s dng trong nhiu ngn ng
ng thi. Vic nhn hoc gi T c th c xc nh bng cch ch trc tip tn
ngun v tn ch ca T. Tuy nhin, nh c din gii trn, cch ch tn nh
vy l khng thc t. Mm do hn, QT TT l khng trc tip m c thc hin bng
cch qua knh nh danh. Cng (Port) v hp th (Mailbox) l hai knh chuyn nh
danh. Cng cho php truyn thng nhiu-mt. Hp th cho php truyn thng nhiunhiu. S dng cng hoc hp th khng gii hn vic cung cp gi T d b. GYPSY
l ngn ng bc cao u tin s dng hp th gi cc T d b. PLITS l ngn ng
s dng vic CT d b nhng nh danh trc tip cc mun QT. Vn nh tn
trc tip trong PLITS c lm nh bt bng vic b sung kha T v nhng php
ton cho php loi b nhng thng tin c b sung t bn gi. Mt QT nhn c th
- 76-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
nhn mi T t bt c ni gi no hay bt c T no vi cng mt kho th (tagged
key) thc s. Hp l hn nu QT nhn tr thnh mt phc v dnh cho khch phc m
khng cn bit tn ca cc khch. Ni thm l knh TT phc gia khch v phc v
c thit lp khi dng cc kha khc nhau i vi T.
Chnh v vy, bn nhn c th c coi nh l mt phc v dnh cho nhiu khch m
khng cn bit tn ca cc khch. S dng kho th khc nhau c th to nn nhng
knh truyn khc nhau gia phc v v khch.
Thin hng trn c s dng trong ngn ng C ng thi chuyn ng b nhng
T d b. C th t tn cho knh bng cch s dng nhng cu trc ngn ng bc cao
qua cc li gi th tc v c gi l RPC d b.
CT ng b c th i xng hoc khng i xng, ph thuc vo kch bn truyn
thng. CT ng b khng i xng gi thit hai ch th truyn thng c quan h
ch/t - master/slave (chnh-ph - primary/secondary). i tng chnh pht yu cu
v i tng ph p ng cu tr li cho yu cu . Khi thi hnh trong m hnh phc
v/client th phc v ng vai tr nh l i tng nhn yu cu phc v. CT ng
b i xng l khi nim cuc hn khi cc QT truyn thng ang c gng tch cc
ng b vi mt QT khc. Tng t, c ng b hi/p v cuc hn u yu cu thit
lp knh truyn thng bng tn QT hoc li gi th tc. Cng v hp th khng th p
dng y v chng c dng cho gi d b. RPC quy c dng CT ng b khng
i xng v cc li gi th tc c hp th ho trong mt s ngn ng ng thi nh
DP, Argus v Mesa. Cc ngn ng ny cng b sung ng b CCR hoc monitor bin
chia x. Do RPC l phng php truyn thng quan trng trong h phn tn nn n
c tch hp nh mt gi phn mm trong hu ht HH hin nay.
CT ng b i xng dng cuc hn. CSP dng cch nh tn QT cho cuc hn. DP
m rng thm tn th tc trong QT, ni cuc hn c th xy ra ti cc im khc nhau.
Hiu qu s dng cuc hn theo kiu RPC tm thy trong Ada. Thi hnh Ada cho cuc
hn RPC l ng hon ton. Lnh seclect h tr li gi cuc hn khng nh trc
(truyn thng chn lc). B sung thm nhng chc nng v qu hn (time-out) v im
vo th tc cho vector ngt trong nhng lnh accept. Ada tr thnh thch hp cho lp
trnh h thng v lp trnh thi gian thc. Hnh 3.20 trnh by s phn loi cc m t
trn y v ng b v truyn thng ngn ng ng thi. Nhiu ngn ng ng thi
dng cch t hp cc c ch. v d, ngn ng SR (Synchronizing Resources) c hu ht
cc cu trc cn thit cho lp trnh ng thi. SR dng s tru tng ti nguyn, PRC
d b v RPC cuc hn, truyn thng chn lc, m un ha phn cng v m un ha
ngt.
i ti cc tim cn ngn ng ng thi khc ngoi hng m rng n gin cc ngn
ng tun t cng rt c gi tr. Bn lun trn y ch ra rng qun l QT ng thi,
ng b cng nh truyn thng thc ra l nhng vn trc giao vi kha cnh tnh
ton ca ngn ng tun t. Thc ra cn tm mt ngn ng phi hp theo phng thc
n gin v hiu qu xy dng chng trnh ng thi bng cch kt ni mt vi
thc th truyn thng c s li v cung cp ngha truyn thng v ng b nhau cho
chng. Cc thc th truyn thng l QT, ti nguyn, hoc c hai hoc l i tng tru
tng. Vi gi thit CT cho truyn thng v ng b QT, th cc vn mu cht ch
l thc th c m hnh ha nh th no, cc chng trnh ng thi c gii quyt
ra sao v cc knh truyn thng gia cc thc th s c t tn lgic v qun l nh
th no ? Mt ngn ng ng thi mi (chi tit hn, h lp trnh ng thi) c th c
xy dng da trn nhng m hnh tnh ton v truyn thng. on di y gii thiu
v so snh ba h thng, c thit k theo dng tip cn ny: Occam, SR v Linda.

- 77-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

Occam tin ha t nhiu tng trong CSP. N c dng rng ri lp trnh ng


thi trong cc h thng Transputer v x l tn hiu s DSP (Digital Signal
Processing). Transputer v DSP l cc my tnh n chp vi b nh trong cc b v
tuyn truyn thng nhanh. N c th cu hnh nh x cc QT ng thi ti x l
song song hiu qu vi vic truyn thng d liu thng xuyn gia cc b x l nh
tuyn tc cao. Do cc b x l n chp ny c b nh cc b hn ch nn OCCAM
gi thit ht QT nh. Mi lnh sai khin (gn, vo v ra) c coi nh nhng QT
nguyn thy. Lnh c nhm vi nhau nh lnh contructors thnh lnh hp thnh
theo mt trong ba kiu thc hin: thc hin tun t cc lnh (cu trc SEQ), thc hin
song song cc lnh (cu trc PAR), thc hin d b v khng nh trc cu trc ALT
tng t nh lnh alternative trong CSP. Hai cu trc b sung, IF v WHILE cn n
iu chnh dng tun t thc hin cu trc. Cu trc c th cng tc vi cc bin
cc b v c th gp trong cu trc khc. Mc d lnh l QT nguyn thy thc hin
c, cu trc l n v QT lp lch chun. Khng c s chia s bin ton cc gia cc
cu trc khc nhau. ng b c thc hin bng cch s dng khi nim cuc hn
ca lnh input/output trong CSP, ngoi tr tn cc knh truyn thng dng cc tn
knh ton cc khai bo tng minh. S dng cu trc dn xp cc chng trnh
ng thi v knh ton cc truyn thng gia cc cu trc lm cho trnh bin dch
d to ra m xp lch cc QT ti b x l.
Trong SR, chng trnh ng thi l mt tp cc ti nguyn, khc vi cch nhn QT
ca Occam. Ti nguyn c tru tng nh mt mun gm khai bo v thn. Khai
bo c t nhng thc th nhp i vi cc ti nguyn khc v thc th xut i vi cc
php ton trn chnh ti nguyn ny. Thn cha mt phn khi to, mt hoc nhiu QT
v mt m kt thc. Cc QT trong mt ti nguyn c th ng thi hoc tng tc nhau
nh bin chia s trong ngun . Cc ti nguyn khc nhau tng tc nh cc
operations tng t nh thc th th tc trong Ada. Thc th operations hoc l QT
hoc l th tc.
Minh ha cho mt ti nguyn c dn ra qua vic thc hin lnh CREATE
tn_ti_nguyn tr li nng lc truyn thng sau ny vi cc php ton ti nguyn.
Php ton ti nguyn c dn ra lnh CALL ng b hoc lnh SEND khng ng b
ti ti nguyn khi dng nng lc ti nguyn. Trong Occam, nng lc l mm do hn
so vi knh ton cc. Chng c to ra mt cch ng v c th c truyn nh mt
bin. Thm vo na, nng lc c th trnh by a th hin ca mt ti nguyn v t
c c khi nim t tn knh v iu khin truy nhp. Cuc hn c c t bng
lnh nhp (in) vi im vo php ton c la chn (ana) h tr truyn thng chn
lc v la chn (by) lp lch cc yu cu sp gii quyt. SR dng tru tng d liu
v h tr hu ht mi kiu ng b CT v chia s bin.
Linda khc bit vi Occam hoc SR. N khng l mt ngn ng lp trnh nhng mt
m hnh d liu chia x duy nht c th c tch hp vi bt k ngn ng lp trnh
no h tr cng tc QT trong lp trnh song song. QT v d liu chia x trong m
hnh Linda c trnh by ng nht nh mt tp khng sp xp ca cc b (tuple) m
mi b c dng t = (tag, value), trong tag l tn k hiu ca b d liu cn value
l danh sch gi tr c kiu ph hp vi b . QT l b hot ng (active tuple) cn
b d liu l b th ng (pass tuple). Cc b thuc lp khng gian b (TS), mt vng
b nh lgic a ch ha c ni dung chia x, c th phn tn mt cch vt l
trnh by cu trc d liu phn tn trong khng gian bi ton. Linda cung cp ba
nguyn thy c s truy nhp b. Hai nguyn thy in(s) v out(s) l nhn kt khi t
TS v gi khng kt khi ti TS, y, s l mt mu hoc mt anti-tuple c dng s =
- 78-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

(tag, Actual, formats). in(s) lm ph hp vi mu s da vo b t vi th tag v thc t


Actual. Nu ph hp, nghi thc trong s c gn bng cc gi tr tng ng trong t v
QT gi c tip tc. Sau , b ny b xo khi TS. Trong trng hp ph hp bi (c
nhiu hn mt b ph hp) th ch c duy nht mt b c chn mt cch tu bin.
Php ton in b kt khi theo ngha QT gi b ngng li cho n khi c c s ph
hp. Php ton out n gin tnh gi tr ca biu thc trong s v a vo trong TS. Cp
nht b c thc hin ny sau khi c s ph hp in ngay sau mt nguyn thy out.
Nguyn thy th ba l rd c dng nh gi b. Nguyn thy ny tng t nh in,
ngoi tr cn phi lm ph hp vi cc b cn li trong TS. Cc phin bn in v rd
khng kt khi cng c Linda h tr.
Linda c mt nguyn thy b sung eval(s) to ra QT. Php ton eval khi to (fork)
mt QT mi nhm nh gi tt c cc biu thc trong s. Cc biu thc ny thng cha
cc th tc. eval tng t nh out, ngoi tr vic s c a vo TS trc khi nh gi
n. Khi QT c hon thnh (tc mi biu thc c tnh), s cng cc gi tr kt
qu thnh mt b d liu th ng. Linda l cch tru tng nht m hnh ha cng
tc qu trnh. Do ch c mt s rt t cc php ton nguyn thy, Linda c th c gn
vo ngn ng c s, chng hn C. C-Lind l thi hnh ca m hnh Linda trong C.
Hnh 3.23 m t nhng nt khc nhau c s gia Occam, SR v Linda theo cc phng
din l khi nim h thng c s, m hnh d liu cn bn, cch thc t tn cho knh
truyn thng.

H thng

M hnh i tng

t tn knh

Occam

Ngn ng lp trnh Qu trnh


ng thi

SR

Ngn ng lp trnh Ti nguyn


Nng lc ng
ng thi
Ngn ng lp trnh Cu trc d liu Th kt hp
ng thi
phn tn

Linda

Knh ton cc tnh

Hnh 3.23 So snh Occam, SR v Linda

3.8 Lp trnh phn tn v lp trnh trn mng


Occam, RS v Linda c m t nh nhng ngn ng ng thi hoc nhng m hnh
cho h thng cht ch. Chng khng p ng c cho h thng khng cht ch hoc
l mng my tnh, ni nhng vn v kh nng trong sut v kh nng tng tc cc
ton t l cn c suy ngh. Trong h thng lng, s thc hin cc h chng trnh
ng thi cn c cung cp s truyn thng tin cy, i tng ring bit, nhn bn d
liu v mt h thng hn tp. Hai ngn ng lp trnh ORCA v JAVA l v d lin
quan n lp trnh h phn tn v mng.
3.8.1 ORCA
Orca l ngn ng lp trnh ng thi da trn m hnh i tng chia s logic cho h
thng phn tn lng. N h tr vic thc hin song song ca QT trn cc my khc
nhau nh truy nhp ng thi i tng d liu chia x. i tng d liu chia x l
cc th hin ca kiu d liu tru tng c ngi dng nh ngha. Chng c th
c phn tn vt l hoc c nhn bn truy nhp cc b hiu qu v thun tin
nhng chng hon ton trong sut i vi chng trnh ng dng nh thi hnh ca
Orca.

- 79-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
QT Orca mi khi c khi to, truyn thng xuyn qua cc i tng chia x khi
dng cc php ton ngi dng nh ngha trn cc i tng . u im ca vic s
dng bin chia x cho TTLQT th tng phn vi CT l hon ton rnh mch. Truyn
thng lin b x l l hon ton trong sut v cc thng tin ton cc c th c chia
x trc tip. Vit mt chng trnh ng thi l gn gi vi kiu lp trnh thng
thng. Thm na, nu th hin cu trc d liu phc tp ca i tng c phn tn
vt l, vic s dng CT tng minh truy cp vo tng phn ca cu trc d liu s
tr nn kh khn nu khng qu di dng.
Khi nim ct li c dng trong h thng Orca l i tng chia x lgic v kiu d
liu tru tng. Khi nim i tng chia x lgic (hoc cu trc d liu) tng bit
trong Linda cn khi nim kiu d liu tru tng c trong SR. Trong Linda i tng
chai x (bao gm d liu v QT) l cc b trong khng gian b. Phng thc truy nhp
l ph hp (a ch ha ni dung) nhng mc thp (nguyn thy in, out, rd). Mc d
v ng ngha th kh n gin v p , nhng vit mt chng trnh vi cu trc d
liu phc tp trong Linda l khng trc gic (nhng trong nhng ngn ng lp trnh).
Dng kiu d liu tru tng trong Orca th cho php s cht ch kim tra kiu v
mm do ca cc php ton trn i tng. SR l ngn ng nh kiu mnh v c tnh
tru tng kiu d liu ging nh Orca. Tuy nhin, do khng c khi nim i tng
chia x logic nn SR phi da vo mt tp hp ln nguyn thy ng b v truyn
thng (cuc hn, CALL, SEND, nng lc v nhng ng b bin chia x khc). Mt d
ngn ng ny kh di do cho lp trnh ng thi, nhng ng b v truyn thng QT
li khng trong sut. Orca c xem nh ngn ng tho hip tt gia Linda v RS.
QT ng thi trong Orca c kch hot bng cch to ra mt QT mi trn mt my
hon ton xc nh bi lnh fork:
fork Tn_QT ( cc tham s) { on [ s B XL]}
Tham s c truyn t QT cha xung QT con c th l gi tr, i tng thng hoc
i tng chia x. Gi tr v i tng thng l nhng d liu cc b ca QT. i
tng chia x l ton cc. Chng c nhn bn ti mi b x l v cn mt giao thc
cp nht nguyn t duy tr nht qun ca cc bn sao ca i tng chia x.
Hai kiu ng b trn i tng c Orca cung cp l loi tr rng buc v cng tc
c iu kin. Orca cho rng tt c cc php ton u hon ton c lp trn i tng.
Mi i tng c gn mt kha loi tr rng buc. Kho ch c hiu lc ti mc
i tng v c gii hn vi i tng n. Kho chia x c cung cp cho php
cng mt lc c nhiu php ton c i tng. cng tc c iu kin, Orca s
dng lnh an ton (Guarded) tng t nh trong CSP:
Operation Op(parameters)
//operation Tn_ton_t(cc_tham_s)

Guarded condition do statements; //Guarded iu_kin do cc_cu_lnh;


Guarded condition do statements; // Guarded iu_kin do cc_cu_lnh;
Lnh trong ton t ch c thc hin khi iu_kin trong Guarded l ng. Nu
khng th QT b chn li. Nu c hn mt iu kin ng, th ch mt lnh iu
kin c chn ng cung cp cch thc thc hin khng xc nh. Mt ton t i
tng trong mt chng trnh ng dng trn Orca c bin dch thnh nguyn thy
invoke (yu cu).
invoke (object, operation, parameters)
Cc nguyn thy invoke c by ti h thng thi gian thc hin Orca (Orca RTS:
Orca Run Time System). RTS kim tra xem i tng c phi l ch c. Nu ng,
RTS t kho chia x cho bn sao a phng, thc hin QT c, sau li m kha
- 80-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
i tng. Nu khng, RTS khi to mt T qung b n tt c cc v tr ca i
tng chia x, bao gm chnh n, cp nht i tng v kt khi QT. Khi nhn T
qung b ghi ln i tng, RTS t mt kho ghi ln i tng, thc hin ton t
ghi v m kho i tng. Nu thng ip qung b hnh thnh cc b, n s kt khi
QT.
RTS gi thit truyn thng l tin cy. N h tr tng qung b tin cy ngay di h
thng thi gian chy. Tng qung b tin cy c th thi hnh nhiu giao thc qung
b theo nhng i hi ng ngha khc nhau. Giao thc qung b k vng m bo rng
mi pha i tng nhn c ton b cc T qung b v tt c cc T c phn
pht theo ng mt th t (tc l qung b c xem nh l mt nguyn t). Thi hnh
giao thc qung b nguyn t c trnh by chng sau, tuy vy y gii thiu
khi qut cch tip cn n gin trong Orca thc hin qung b nguyn t. Khi
qung b c RTS yu cu, nhn ca RTS gi mt T im-im n li gi nhn
c bit sequencer. Sequencer gn mt s hiu dy ti yu cu v qung b T bao
gm cc s hiu dy ti mi pha i tng nhn bn. Chi s dy c mi nhn dng
xc nh th t phn pht T, kim tra T bi, v yu cu sequencer chuyn li
mt T nu nh T b mt.
i tng l n v d liu nn tng trong Orca. i tng c trnh by bng mt
cu trc d liu chng hn nh danh sch, cy hoc th, thng c dng bng con
tr trong ngn ng lp trnh quy c. Con tr (pointer) l mt a ch my. Truyn a
ch my l km ng ngha v c th dn n xung t an ninh CT HPT. C ch cho
php thi hnh v truyn cu trc d liu phc tp c sn to ra m hnh i tng
chia x hu dng. Orca gii quyt vn ny bng cch thay th con tr bi tn. Vi
mi i tng c RTS qun l, mng logic cc d liu c cu trc s c duy tr
cho i tng. V d, mt cy nh phn n gin t vi 3 nt {A, B, C} v cc lin kt
tri v phi, c trnh by nh sau:
t[1] = 6,A,8
t[6] = 0,B,0
t[8] = 0,C,0
Mi nt trong cu trc d liu ny c to ng bi nguyn thy RTS addnode(t), tr
li tn n cho nt . Tn n c dng nh s hiu ca cu trc mng t tn cho nt
cng nh lin kt ti cc nt khc. Tng t cng c mt nguyn thu xa nt l
deletenote(t,n). Ch dn ti nt b xa s gp li thc hin. Mng i tng mang
tnh lgic: nh v v gii phng lu gi chng c RTS qun l ng. Dng nt t
tn thi hnh cu trc d liu t c hiu lc ti con tr m khng cn a ch
my. Truyn cu trc d liu phc tp tr thnh chp nhn c vi vic tr thm tng
ph trong h thng thi gian chy.
3.8.2 Java
Mc tiu nguyn thy ca Orca l h tr lp trnh ng thi trong h phn tn. Vn
thi hnh chnh yu ca n l tnh ton phn tn v to trong sut truyn thng ti
cc QT cng tc. Java c a ra theo mt phi cnh khc. N l ngn ng lp trnh
v mi trng lp trnh, nhm t c kh nng cng tc trong pht trin phn mm
mng. Chng ta c th hnh dung rng ng dng mng cha mt tp hp cc mdun
phn mm c phn tn mt cch vt l trn mt h mng din rng hn tp. Mi
mdun phn mm c th c thi hnh v duy tr bi nhng c th khc nhau trn
nhng nt mng. thc hin mt ng dng mng th phi tp hp mt s modun trn

- 81-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
ti mt nt mng n. Kh nng lin thao tc m mt ng dng mng cn s h tr
ca ba h thng c s:
1. Cc giao din chun nh ngha tt tch hp cc mun phn mm,
2. Nng lc thc hin mun phn mm trn my tnh bt k,
3. H tng cho cng tc v vn chuyn modun phn mm
thun tin tch hp phn mm, Java thng qua m hnh hng i tng, mt kiu
lp trnh c dng rng ri khi pht trin nhng phn mm ln. Ngn ng Java
tng t ngn ng hng i tng C++. Vi s chp nhn vi mt t kiu d liu, nh
s v logic, mi thc th phn mm c m hnh ha nh mt i tng Java. Mt
i tng l mt tm lc ca d liu v cc th tc (hoc phng php) lin quan trn
i tng . i tng c to ra bng vic thuyt minh lp qua v d. Lp l mt
mu xc nh cc bin cng nh nhng phng php chung cho tt c cc i tng
cng kiu (lp). Lp ny thng cha ng lp khc (tha k). Chng l c s xy
dng cc khi trong chng trnh Java. Cc file lp thng dng phn loi v sp xp
trong cc th vin lp c gi l gi. cc gi c th c np cc b hay t xa
khi to i tng. Pht trin phn mm mng tr thnh d iu khin hn do cc th
vin lp c chia x.
Tip cn t ra vi Java l cho php chy mi modul phn mm ti mi ni theo ng
ngha ca khi nim my o. H thng Java vi trnh bin dch v trnh phin dch.
u tin, chng trnh Java c bin dch thnh file lp cha cc m trung gian c
gi l applet (tiu dng). Tiu dng l chng trnh c lp my v c th c thng
dch trn mi my tnh c trnh thng dch Java. Thng dch trn m trung gian l km
hiu qu hn so vi chy m my bin dch. Tuy nhin, u im ln ca cch thc ny
l m trung gian c chuyn i nh nhng T ti bt c mi trng no v chy trc
tip khng cn dch li. Mt ng dng mng c th mang bt c mt file m byte no
trn ng truyn thc hin. Do cc bn sao ca file m khng cn lu cc b, bi
ton duy tr tnh nht qun cp nht phin bn trong pht trin phn mm cng tc
c loi b.
Java c rng buc cn thn nhm m bo tnh c lp my. Mt vi c trng ca
ngn ng thng dng l nguyn nhn lm cho cc vn lin thao tc hoc an ton
c loi b khi ngn ng. V d, Java khng cung cp con tr, kiu cu trc, chuyn
i kiu ngm nh hoc tha k bi. Khi nim v file u (.h) trong C cng b loi
tr khi Java. Hn na, mi phng thc v bin trong file lp Java l c chh dn
bng tn v c gii quyt trc khi thc hin. Vic lm chm gii php tn i hi
s h tr ca dch v tn. N cung cp s trong sut truy nhp, trong sut nh v v
an ton b sung.
H tng chuyn vn tiu dng Java c sng t tt nht nh vic tch hp Java
cng vi h thng duyt WWW. Theo nhiu kha cnh, trit l ca Java cng rt ging
vi duyt Web l s dng giao thc giao vn nh giao thc chuyn siu vn bn HTTP
chuyn cc modun HTML dc theo cc nt mng hn tp. HTML l ngn ng nh
du c lp my m t d liu siu vn bn. Ging nh file lp trong Java, file
HTML l i tng c th cha cc file HTML khc v c th nh v v lin kt khi
dng b nh v ti nguyn tng th ton mng URL. Tiu dng Java c th hp nht
trong mt file HTML v c thng dch bi trnh thng dch Java c dng ni
trong trnh duyt. Theo cch , trnh duyt va c th hin th ni dung d liu siu
vn bn tnh va c th chy linh hot tiu dng Java. Trnh ng dng l v k. Vi
trnh duyt a lung v Java a lung, th trnh duyt c th hin th ng thi vn bn
cng nh hnh nh ng v tr thnh tng tc gia khch v phc v ca ng dng.
- 82-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Mt cch hiu qu, trang Web c trnh by di mt file HTML tr thnh li vo
ca tiu dng Java. Khi nim thc hin thng dch trc tuyn trong Java khng phi l
mi. V d, Postscript v d liu ha GIF cng c thng dch trong h thng trnh
duyt. Tuy nhin, Java l ngn ng a nng c suy ngh cn thn cho lp trnh
mng.
Lu cui cng l vn an ton khi thit k Java. An ton l vn kh tnh trong
lp trnh mng h thng m. Thm na, nh ngha ngn ng cht ch nhm
phng s lm dng ca ngn ng, Java l ngn ng nh kiu mnh ging nh Orca.
Mi i tng trong Java phi c nh kiu tng minh. Trnh bin dch lm hiu
lc nhng kim tra kiu tnh. Do mi my thy c tiu dng t bn ngoi theo m
trung gian, cn phi xc minh m trung gian khng phi b lm gi hay bin dng.
Kiu v nhng thng tin iu khin khc c tch hp vi mi tiu dng. Trc khi
thc hin mt tiu dng, m ca n buc phi c kim tra cht ch b kim tra Java
(Java Virifier) xem s vi phm v truyn tham s, chuyn i kiu bt hp php, kh
nng trn (vt trn) v ht (xung qu y) stack, vi phm truy nhp v sinh m trung
gian gi bi trnh bin dch ng ng. Vic kim tra li thi gian chy mc ti thiu
nht nhm c c s thc hin hiu qu.
Mt vn v an ton khc ng ch ti lp trnh trn mng l s nhi li i tng.
Khi tiu dng thc hin c th gi mt i tng khc. File lp c ti cho i
tng c th l tiu dng ch thc vi cng tn v xut hin nhng c th khng phi
t a ht mong mun. V d, i tng lp i vi h thng file v vo ra I/O nn n
l a phng. Mi lp file lp c tng ng mt a ht bo v. a ht c phn
ra t nht l ba mc: my tnh cc b, mng cc b v mng ton cc m mc my tnh
cc b c mc bo v cao nht. Khi ti mt file lp, cc lp vi bo v cao hn
c u tin hn cc lp bo v thp hn. Hn na, lp trong mt da ht ch truy
nhp c cc phng php trong cng a ht. Cc phng php thuc cc lp trong
mt a ht khc c truy nhp ch khi chng c khai bo l cng cng. Quy tc ti
cc lp tun theo B ti lp Java (the Java Class Loader) do ngi lp trnh Java nh
ngha.
Cu hi v bi tp
3.1. Khi nim QT v lung, ngha ca khi nim lung. c im chnh trong
m hnh Client/Server trong h phn tn.
3.2. Vai tr ca dch v thi gian trong h phn tn. Gii php ng h vt l v
ng h lgic trong h phn tn.
3.3. ng b ha s dng bin chung
3.4. ng b ha chuyn thng ip

- 83-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

chng IV. Truyn thng v cng tc lin qu trnh


Cc QT cng tc trong h thng my tnh tng tc ln nhau theo m hnh TTLQT
nhm phi hp thc hin. TTLQT v cng tc QT phn tn l ch chnh ca chng
ny. Chng ba nhn mnh tm quan trng ca m hnh clien/server i vi truyn
thng v quan h gn kt gia TTLQT v ng b. TTLQT ng vai tr ng k hn
trong h phn tn do ch c phng php trao i d liu QT l CT. V vy mi m
hnh truyn thng lin QT mc cao u c xy dng trn nn CT. Mi cng tc
QT phn tn u da vo truyn thng lin QT CT.
TTLQT ph thuc vo nng lc nh v thc th truyn thng. y chnh l vai tr ca
dch v tn trong h phn tn. Chng ny trnh by ba m hnh truyn thng CT c
s v m hnh dch v tn. Tip theo l mt minh ho cng tc QT phn tn s dng
hai bi ton kinh in ca TTCT: loi tr rng buc phn tn v chn th lnh.
TTLQT c th c xem xt ti cc mc tru tng khc nhau. Bng 4.1 cho nm mc
t mng ti h giao vn v ti cc QT ng dng. Theo phng din HH phn tn, u
tin quan tm ti ba mc trn chuyn vn T trong cc QT phn tn. Chng l CT,
m hnh truyn thng nh hng dch v mc cao s dng truyn thng hi/p v
truyn thng giao dch da trn m hnh hi/p v CT.
Bng 4.1. cho thy CT l mc thp nht ca TT gia cc QT TT. TT hi/p da trn
khi nim client/server. Khi c thi hnh nh li gi th tc trong chng trnh phn
tn, m hnh TT c quy ti li gi th tc t xa (RPC). Mt cch t nhin, hi/p
hoc RPC da trn phng tin CT c s.
Giao dch l mt dy cc TT hi/p i hi TT nguyn t. Giao dch biu din n v
c s ca TT i vi cc ng dng mc cao, chng hn h CSDL. Thc hin ng thi
cc giao dch cn c ng b duy tr tnh nht qun ca h thng. Ngoi ra, khi
nim b nh chia x lgic hoc i tng d liu l phng php TT khc bit ng k
so vi ba m hnh CT. Trong h thng ch vi b nh vt l phn tn, b nh chia x
c m phng bi CT. Li th ca b nh chia x lgic l d dng lp trnh, do TT
l trong sut. Giao dch v b nh chia x phn tn c trnh by trong cc chng 6
v 7.
Bng 4.1. Cc mc khc nhau ca TT
Giao dch
TTLQT

Hi / p (RPC)
CT

HH mng

Kt ni giao vn

Mng truyn thng

Chuyn gi

4.1 Truyn thng CT


T l mt tp cc i tng d liu, m cu trc v s gii thich chng c xc nh
bi cc QT ngang hng vi n. i tng d liu trong T thng c nh kiu
nhm d dng chuyn i i tng d liu trong h thng hn tp. T bao gm u
T (cha thng tin iu khin ph thuc h thng) v thn T vi kch thc c nh
hoc bin thin. Trong h thng CT, QT TT chuyn cc T c ng gi ti dch
v giao vn h thng cung cp kt ni truyn T trong mng. Giao din ti dch v
giao vn l dch v nguyn thy hin, chng hn gi v nhn, hoc bin th no ca
c hai. Ng ngha ca cc dch v nguyn thy TT ny cn xc nh hon ton. Cc bi

- 84-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
ton chnh c a ra trong cc on sau y bao gm TT l trc tip hay gin tip,
kt khi hay khng kt khi, tin cy hay khng tin cy, dng vng m hay khng.
4.1.1. Dch v TT nguyn thy c s
Hai dch v TT nguyn thy c s di y l v d gi v nhn T. S l hiu qu
i vi QT ng dng khi ch r thc th TT v T c truyn:
send (ch, T)
receive (ngun, T)
trong ngun hoc ch = (tn QT, lin kt, hp th hoc cng).
Mt cu hi ny sinh trc tip t dch v nguyn thy l lm th no a ch ha
thc th TT, ngun hoc ch? Di y bn lun v bn la chn trn: tn QT, kt
ni, hp th, cng.
u tin, gi s a ch ha thc th TT bng tn QT (tc l nh danh QT ton cc).
Khi thi hnh thc s, nh danh QT ton cc c th c to duy nht qua kt hp a
ch my ch mng vi s hiu QT cc b c sinh. S ny ngm nh rng ch c
mt ng TT lgic trc tip tn ti gia cp hai QT gi v nhn nh hnh 4.1.a ch
ra. iu ny tng t TT input/output dng trong CSP m on 3.5.3 ch ra hn ch
ca cch tip cn ny. S a ch c ch dn l a ch i xng do cc QT
gi/nhn tng ng bit r nhau trong dch v TT nguyn thy. Trong mt s trng
hp, thun li hn cho QT nhn l nhn c T t ngun cha bit. Trong trng
hp nh th, a ch ngun ca DV nguyn thy nhn l mt bin vo m c cho gi
tr nh danh QT gi T (nu c mt QT nhn). a ch gi v nhn l bt i xng
do ch QT gi cn nh v ngi nhn. Hnh 4.1.b. ch ra cc trng hp tng qut hn
ca DV nguyn thu nhn.
S trn gi thit tn ti ng TT trc tip gia cp hai QT. Thc t, ng TT l
trong sut hon ton v vy khng ch ti kt ni khi giao vn T. V quan nim
th n gin nhng hp l ch c mt ng TT nh hng kp gia mi cp hai
QT TT. cho php ng truyn d liu phc gia cc QT v TT trc tip, bt buc
nh danh c mi ng i trong dch v TT nguyn thu. i hi ny a n khi
nim kt ni hay lin kt, tng t vi khi nim chu trnh o trong mng TT. T c
th c gi theo cc chu trnh o khc nhau. Nh vy, im TT phc trong mt QT
cn phi inh danh bng vic s dng cc kt ni khc nhau, mi kt ni nh x ti
mt ng TT thc s. Ging nh chu trnh o, kt ni c to v loi b theo yu
cu. Chng c nhn h thng qun l cc b v l nhng knh TT khng nh
hng. T c gi qua mt kt ni c hng vo mt ng TT mng v c
phn phi ti cc my ch xa. My ch t xa nh x T ti kt ni u vo trong QT
nhn. Hnh 4.1.c ch ra tnh hp l ca vic duy tr hai kt ni gia cc QT khi dng
hai s hiu kt ni khc nhau. QT c cn ch kt ni l tng t vi tn im vo
th tc trong cuc hn (on 3.5.3) vi l do l chng u cung cp im TT phc
trong mt QT. Tuy nhin, giao vn d liu bng truyn tham s trong cuc hn l nh
hng kp.
Dng tn QT v s hiu kt ni nh v cc im TT cung cp c ch TT trc tip
gia cc QT ngang hng. Tuy nhin, i khi TT gin tip cng c a chung. QT
gi khng quan tm ti nh danh ring bit ca QT nhn cho n khi c mt QT nhn
c T. Tng t, QT nhn ch quan tm n chnh T m khng cn bit QT gi.
V d, client phc c th i hi dch v t mt trong nhiu dch v phc (nh danh
ca khch c th c cha trong chnh T). Kch bn TT ny l cng knh khi dng
TT trc tip thi hnh. y l tnh hung chung trong cuc sng hng ngy, v c
- 85-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
gii quyt bng hp th chung. CT dng hp th chung l s TT gin tip cung
cp c TT a im v a ng mt cch hp l. Kch bn ny c minh ho trong
hnh 4.2.

nh danh
QT bt i
xng
(b)

nh danh
QT i
xng (a)

Lin kt
(c)

Hnh 4.1. Dch v TT nguyn thu gi / nhn trc tip

Hp
th

Hp
th

Hp
th

TT a im
(a)

TT a ng
(b)
Hnh 4.2. Dch v TT nguyn thu gi / nhn gin tip

V quan nim, hp th l cu trc d liu ton cc chia x ca QT sn xut (gi) v


QT khch hng (nhn). Dng hp th i hi s ng b chnh xc dc theo mng m
y l mt bi ton kh. Do hp th l dng cho TT, c th gn vi n mt cu trc
chuyn vn yu v thi hnh chng bng cch dng vng m v lin kt TT. Cng l
mt v d tt cho hp th. Cng l mt khi nim tru tng v mt dng xp hng c
kch thc c nh hot ng theo FIFO c nhn duy tr. T c th gn vo ui v
loi b t dng i bi cc thao tc gi v nhn xuyn qua mt ng TT. Nh vy,
cng tng t nh danh sch ngoi tr chng l nh hng kp v c vng m. Cc
QT TT qua cng l gin tip. Cng c to bi QT ngi dng nh li gi h thng
c bit v c th c ph hp vi QT ch v nng lc. Chng c ch dn bng
s hiu cng, m khng th b nhm ln vi a ch cng giao vn trong giao vn gi
(a ch cng giao vn l cng mng v trong sut vi QT ngi dng). Khi thi hnh,
cng QT c nh x ti cng giao vn v ngc li. Cng hoc hp th c hnh
dung nh l phc v TT v ng b, c bin lun trong on 3.6. Thut ng cng
v hp th thng c tro i (thay th nhau) trong mt vi ti liu. Tng t nh
socket v cng trong HH UNIX. Socket l giao din mc cao s dng khi nim
cng. Cng c ch nhn l QT ring bit. Cng cung cp TT nhiu-mt (n-1). Hp th
l i tng chia x v cho php truyn thng nhiu-nhiu (n-n).
4.1.2. ng b ha T v vng m
TT CT ph thuc mt s im ng b. Khi gi T ti ch xa, T c chuyn
ti nhn h thng gi thc hin chuyn giao T cho mng TT. Cui cng, T i ti
c nhn h thng ch ( xa) thc hin vic trao tr T cho QT ch. ng b ha
- 86-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
truyn T xy xa gia QT ngi dng v nhn h thng, nhn v nhn, v QT ngun
v QT ch. Hnh 4.3. ch r cc giai an khc nhau ca CT trong h thng.
QT gi

nhn
ngun

mng

nhn
ch

QT nhn

ACK

Hnh 4.3. Cc giai on ng b T

Dch v nguyn thy gi v nhn c coi l kt khi nu QT gi cn kt khi phn


phi hay nhn T tng ng. Hu ht h thng cho php chn dch v nguyn thy
gi/nhn kt khi hoc khng kt khi. Hu ht ngm nh gi khng kt khi v nhn
kt khi. L do l thun tin, gi thit rng phn phi T l ng tin cy v QT gi
c th tip tc cng vic mt cch hiu qu sau khi T c dn xp v nhn bn
ti nhn gi. Mt khc, QT nhn cn ch cho n khi T xut hin thc hin cng
vic ca mnh. Tuy nhin, khng phi mi trng u nh vy. Chng hn, QT gi c
th mong mun ng b vi QT nhn hoc QT nhn mong mun T t QT gi phc
v khng th khng ch cho thao tc nhn ring bit. Ti pha nhn, kt khi l
hon ton r rng; n cn c kt khi theo s xut hin ca T. V pha QT gi, rc
ri hn i cht. QT gi nn ch vic nhn c T ca nhn ngun, nhn ch, hoc
QT ch hoc thm ch hon thin mt s thao tc ca QT nhn? Danh sch di y
ch dn nm chc nng khc nhau ca dch v nguyn thy gi theo s hnh 4.3:
1. Gi khng kt khi, 1+8: QT gi c loi b sau khi T c dn xp v sao ti
nhn ngun.
2. Gi kt khi, 1+2+7+8: QT gi c loi b sau khi T c truyn ti mng
3. Gi kt khi tin cy, 1+2+3+6+7+8: QT gi b loi b sau khi T c nhn ch
nhn xong.
4. Gi kt khi tng minh, 1+2+3+4+5+6+7+8: QT gi b loi b sau khi T c
QT nhn xong
5. Hi v p, 1-4, dch v, 5-8: QT gi b loi b sau khi T c x l bi QT
nhn v li p tr li QT gi.
Phng n u tin l gi d b cn nhng phng n khc u l gi ng b. Phng
n cui cng chnh l TT clien/server. Trong gi d b, QT gi b kt khi nu nhn ti
n cha sn sng tip nhn T, c th do thiu khng gian vng m. y l i hi
ti thiu nht v rt nguy him nu QT gi tip tc cng vic (chng hn, to ra mt
T mi) trc khi nhn gi nm iu khin T. Khi gi thit l gi/nhn d b, ta
mong mun rng dch v nguyn thy cn cho mt m quay v cho bit kt qu thnh
cng hay tht bi ca thao tc qua phn tch m quay v hoc gi T tip theo
hoc x l li.
Trong s hnh 4.3, ngm nh tn ti vng m trong nhn gi, nhn nhn v mng
TT. Vng m trong nhn h thng cho php T c gi n thm ch khi T trc
n cha c phn phi. Do QT gi v nhn chy d b, chng to ra v x l cc T
theo cc mc (tc ) khc nhau. Do c vng m, s khng ng nht ny tr nn
m . Thm na, kh nng QT gi b kt khi c rt gn v thng lng truyn tng
- 87-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
th T c tng ln. Vng m c dng iu khin lu lng trong mng TT.
Trong HH, thng thng vng m c chia x bi TT gi v nhn a thanh phn.
Qun l vng m hiu qu tr thnh mt bi ton quan trng. Qun l vng m
khng chnh quy c th tr thnh nguyn nhn b tc TT.
V lgic, c th kt hp vng m trong nhn gi, nhn nhn, v mng thnh mt
vng m ln. QT gi to ra T v chn chng vo vng m cn QT nhn xa khi
vng m v s dng chng. Nu vng m l khng gii hn, QT gi d b l khng
kt khi. Mt trng hp c bit khc l mi thnh phn l vng vng m (zerobuffer). Trong trng hp ny, QT gi v QT nhn bt buc phi ng b (trch nhim
ng b ha dnh cho ngi vit chng trnh cc QT ny) nng lc truyn T
(bt c T no xut hin th trc ht phi i T trc ). iu ny tng t nh
khi nim cuc hn v l mt kiu gi/nhn kt khi tng minh.
4.1.3. API ng dn v Socket
Nh ni trn, tn ti lng ln v a dng cc dch v nguyn thy TT CT vi
cc khi nim v gi thit khc nhau. Khi TT c thc hin nh mt tp hon ton
xc nh cc giao din chng trnh ng dng chun (API) s to thun li cho ngi
dng v hiu qu cho h thng. TT QT ngi dng s dng mt API c lp vi mi
trng TT h tng. ng dn (pipe) v socket l hai API TTLQT c s dng rng ri
trong c hai mi trng UNIX v Windows.
Nh trnh by trong on 3.5.3 th chia x knh TT v mt lgic l tng ng vi
chia x bin. C hai u l chia x i tng. Trong thc t, knh TT c thi hnh bi
chia x lu tr, chng hn khng gian nhn, b nh, hoc file. Trong h n x l h
tr QT TT c th m phng knh TT nh chia x b nh trong khng gian nhn. QT
ngi dng thy c knh TT theo trnh din bi API. Chi tit ni ti v thi hnh,
chng hn nh dung tch ca knh v ng b truy nhp b nh, c nhn qun l v
trong sut vi ngi dng. ng dn c thi hnh bng mt vng m dng byte FIFO
kch thc c nh c nhn duy tr. c hai QT TT s dng, phc v ng dn nh
mt kt ni TT khng nh hng m mt QT c th ghi d liu vo ui ca ng dn
v mt QT khc c th c t u ca n. ng dn c khi to bi li gi h thng
pipe cho hai c t ng dn (tng t nh c t file), mt c v mt ghi. Kch
bn in hnh ng dn gia hai QT l v mt QT phi khi to ng dn, fork QT
khc, gn QT cha vo u c ng dn v gn u ghi ng dn ti QT con. Nh vy
mt dng d liu mt chiu tr thnh chuyn dch gia QT cha v con khi s dng cc
thao tc ghi v c bnh thng. c t ng dn c cc QT TT chia x. iu ny
ng rng ng dn c s dng ch vi cc QT c quan h vi nhau (tc l, QT c
khi to thng qua thao tc fork). Trong iu kin thng thng, QT c v ghi c
gi thit l chy ng thi i vi mi ng dn c to. ng dn ch tn ti trong
khong thi gian c hai QT c v ghi hot ng. Thao tc ghi ng dn khng km
thao tc c tng ng l v ngha do ng dn ngng tn ti khi QT ghi kt thc.
D liu trong ng dn mc nhin l dng byte lin tc. Tip cn ny c chn nhm
khp vi gi thit chung cu trc file hng byte ca UNIX. i khi mong mun rng
l dng d liu cu trc, chng hn T di bin i trong knh v khi nim ng
dn c th c m rng bao gi c T. Kiu knh TT ny c hiu l dng xp
hng T. Dng xp hng T c thi hnh trong khng gian b nh ca nhn. Nhiu
h thng cung cp dng xp hng T nh l mt IPC API.
Vi nhng QT khng quan h (fork), cn nh danh ng dn v c t ng dn khng
th chia x. Mt gii php l thay cu trc d liu ng dn nhn bng mt file FIFO
c bit. File FIFO c bit c nh danh duy nht bng tn ng tng t nh file
- 88-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

thng thng. ng dn vi tn ng c gi l ng dn c tn. Vi mt tn duy


nht, ng dn c tn c th c chia x gia cc QT ri rc xuyn qua cc my tnh
khc nhau vi mt h thng file chung. Do ng dn c tn l file th cc QT TT khng
cn ng thi tn ti. QT ghi c th ghi xong d liu ti mt ng dn c tn v kt
thc trc khi mt thao tc c file xut hin. ng dn c tn dng ng ngha ca mt
file thng thng. Chng c khi to bi cu lnh open trc khi to ra truy nhp ti
file FIFO.
ng dn v ng dn c tn thi hnh bi ton IPC gia nh sn xut v khch hng.
Trong bi ton nh sn xut v khch hng, QT sn xut (gi) v QT khch (nhn)
tng tc nhau thng qua mt vng m chung hon thnh TTLQT. Vn ng
b l loi tr rng buc i vi truy nhp vng m v cng tc c iu kin khi vng
m l y hoc rng. Truy nhp vng m c ch nh khong ti hn m cn
c gim st. iu kin trn hoc rng ca vng m l tng t kt khi ca gi
(sn xut) v nhn (khch hng) vi mt vng m c nh. Thi hnh ng dn v ng
dn c tn n thun bo m tnh nguyn t ca vng m nhn chia x v file FIFO
c bit v vic kt khi thao tc ghi v c khi vng lu tr chia x l y hoc rng.
Cc byte c ghi t QT phc ti ng dn c m bo khng khi no l chen ln.
Cn thn c bit khi ghi d liu ring ti ng dn trc khi n tr nn y. Hoc ton
b cc byte ca T c ghi vo ng dn hoc khng.
Dng ng dn nh danh gp mt hn ch t tn min n trong h thng file chung.
t c TT QT lin min m khng c cu trc d liu hoc file c tn duy nht
v c chia x, cn c mt IPC API chy trn nh ca dch v giao vn. Hai API TT
lin QT lin min c dng rng ri nht l socket Berkeley v Giao din mc giao
vn h thng 5 (TLI). Socket Berkerley l v d minh ha API TT.
Vic t tn knh TT qua mt min hn tp l khng kh thi. Tuy nhin, knh TT c
th c hnh dung nh mt cp gm hai u mt TT. Socket l mt TT ca kt ni TT
c qun l bi dch v giao vn. Tng t vic s dng ng dn cho php file I/O c
ng ngha i vi vic c t v ghi ti ng dn, m hnh I/O mng socket da trn I/O
File quy c. Tru tng ha I/O mng nh I/O file lm tng tnh trong sut truy nhp
trong h thng. Socket c to ra nh li gi h thng socket cho mt c t socket
phc v cc thao tc I/O mng tip sau, bao gm c c/ghi hng file v gi/nhn c
trng TT. Li gi h thng socket cng c s dng trong nhiu giao thc mng nh
TCP, UDP v IP. TCP l giao thc giao vn dng thc hin hng kt ni v UDP l
giao thc giao vn s khng kt ni. Chng l hai giao thc giao vn chnh. IP c
dng truyn dng gi d liu v l giao thc tng mng khng kt ni trong b giao
thc Internet. c t socket l nt TT logic (LCE: Logic Communication EndPoint)
cc b i vi mt QT; n bt buc phi ph hp vi nt TT vt l (PCE: Physic CE)
truyn d liu. Nt TT vt l c c t bi a ch my ch mng v cp cng
giao vn. a ch my ch mng l ton cc, trong khi s hiu ca giao vn c sinh
cc b bi dch v giao vn. Vic ph hp mt LCE vi mt PCE c thi hnh bng
li gi h thng bind. Hnh 4.4. ch ra mt v d TT ngang hng khng kt ni dng
cc li gi h thng socket, bind v sendto/recvfrom. Do TT l khng kt ni nn mi
li gi sendto/recvfrom bt buc cha c t socket cc b v PCE t xa.

- 89-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

QT ngang hng

QT ngang hng

socket

socket

nt TT lgic
(socket, LCE)

nt TT lgic
(socket, LCE)

bind

bind

nt truyn thng
vt l (PCE)

mt truyn thng
vt l (PCE)

sendto/recvfrom

Trong TT socket khng kt ni mi QT ngang hng bt buc phi bit PCE t xa ca


n. C th c loi b vic gi tn hin ca PCE t xa trong li gi gi/nhn nu li
gi socket kt ni rng buc mt LCE cc b vi PCE t xa ca n trc khi bt u
truyn d liu. Sau thao tc kt ni, truyn d liu c th n gin l send/recv hoc
write/read khng c c t ca PCE t xa. Li gi socket kt ni thng thng c
dnh ring cho TT Client/Server hng kt ni. i vi TT Client/Server, dch v cn
Phc v

Khch

socket

socket

bind

listen

Cuc hn
connect

accept
Yu cu
read

write
Tr li

write

read

Hnh 4.5. Truyn thng socket Client/Server hng kt ni

c c PCE r rng. Mt phc v s cn TT vi khch phc c PCE cha bit. Khch


a ra mt li gi connect ti phc v hn (cuc hn), vi yu cu khch nh mt
accept v thit lp c kt qu mt kt ni ti khch . V khi nim, iu ny tng
ng vi thi hnh cuc hn Ada trong TT lin min. Hnh 4.5. minh ha TT socket
- 90-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Client/Server hng kt ni. Trong thi hnh UNIX, li gi socket listen c dng
ch ra phc v s chp nhn mt kt ni v c t di dng xp hng (bao nhiu li
hi xy ra c th xp hng). Li gi accept hn vi li gi connect c tch ly li
trong dng xp hng listen. Mt li gi accept s kt khi nu cha c mt connect
gii quyt. Nu c, n xo b yu cu connect t dng i v a ra mt c t socket
mi c dng TT vi khch c kt ni. c t socket c cn li trong dch v
cho cc yu cu khch khc. Trong thi hnh phc v ng thi, QT (lung) con l
c phn nhnh i vi mi kt ni s dng c t socket mi.
4.1.4. Socket an ton
Socket tr thnh API CT ph bin nht trong cng ng Internet. Do vic s dng
rng ri cc ng dng Windows m nhm chun WinSock, bao gm hn 30 hng cng
nghip (k c MicroSoft) pht trin mt socket Windows chun (WinSock).
WinSock bt ngun t socket Berkeley. N gm mt tp cng phu cc API v c m
rng nhm cung cp tnh trong sut giao vn hon ho khi s dng giao din cung cp
dch v (SPI: Service Provider Interface) tru tng lm d dng tng thch plug-in
cho hu ht cc giao thc giao vn. Phin bn gn nht cng cha tng socket an ton
(SSL: Secure Socket Layer).
i hi an ton TT trn Internet thc y IETF (Internet Engineering Task Force)
pht trin SSL. Mc tiu SSL l cung cp:
- Bo mt trong TT socket khi dng m i xng m ho d liu
- Ton vn d liu trong socket khi kim tra tnh ton vn T
- Xc thc phc v v khch khi dng m ha kha cng khai bt i xng.
im ch yu ca SSL cha trong hai mc giao thc: mt giao thc Handshake v mt
giao thc Record Layer. Giao thc Handshake tng ng thit lp cc kha ghi (kha
phin TT b mt d liu) v MAC (Message Authentication Check ton vn d
liu) b mt v xc nhn tnh xc thc ca phc v v khch. Giao thc Record Layer
thch hp phn on, nn/gin nn v m ha/gii m cc bn ghi ca T. Kt qu
cui cng ca giao thc Handshake l mt cu trc d liu chia x (c gi l
mastersecret) ch khch v phc v bit c, m c th c bin i thnh write key
v mt MAC secret TT an ton bng Record Layer.
Hnh 4.6. trnh by mt kch bn n gin ca giao thc Handshake SSL. Khch mun
lin lc vi phc v bng cch gi T ClientHello ti phc v . Thnh phn chnh
ca T cha mt s ngu nhin (randomC) v mt tp thut ton mt m
(CipherSuites). S ngu nhin c dng tnh ton mastersecret quyt nh.
CipherSuites l mt danh sch la chn m ha c phc v m phn v chn. Phc
v tr li cho khch mt T phc vHello cha mt s ngu nhin randomS, mt thut
ton m ha CipherSuite c chn v mt nh danh phin cho kt ni.
Ti thi im ny, phc v c th xc nhn nh danh ca n bng vic gi mt giy
chng nhn ti khch. Giy chng nhn c cho bng giy xc thc (CA) nhm ba.
Giy chng nhn c QT cp giy k khi dng kha b mt ca n v nh vy khng
th d gi mo. SSL dng xc nhn X.509. Phc v c th yu cu giy chng nhn
ca khch. Mi mt chng nhn mang thnh phn kha cng khai trong cp gm kha
cng khai v kha b mt ca i tng c ghi nhn (khch hoc phc v). Khch
cn kha cng khai ca phc v bin i thng tin b mt ti phc v. M ha kha
cng khai c trnh by trong chng sau. Phng php cp kha kp (cng khai v
b mt) c coi l mt thut ton m ha. Vi n, mt T c m ha bi mt kha
cng khai c th c gii m bng kha b mt tng ng v ngc li. Kha cng
- 91-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
khai c ghi nhn bng thng tin cng khai cn kha b mt ch c cc i tng
bit. n gin ha trong trnh by giao thc Handshake SSL hnh 4.6 b qua
vic xc nhn tnh hp l ca cc giy chng nhn.
Khng cn giy chng nhn, mt phc v nc danh c th gi kho cng khai ca n
trong T phc vKeyExchange ti Khch. Kha cng khai ny khng cn phi l kha
CLIENT
ClientHello

randomC,CipherSuites
randomS,CipherSuite, sesion id
server public key

ClientKeyExchange
ChangeCipherSpec
Finished

SERVER
ServerHello
ServerKeyExchange

encrypted pre-mastersecret
ChangeCipherSpec
hashed message and secret
Finished

Socket Message

encrypted pre-mastersecret

Socket Message

Hnh 4.6. Giao thc Handshake

c ghi nhn. Phc v sinh tm thi kha cng khai s dng theo tng ln yu
cu ca khch. Khch p li bng mt T ClientKeyExchange mang mt premastersecret m ha theo kha cng khai tm thi ca phc v. Ch c phc v vi
kha b mt tng ng mi gii m c pre-mastersecret. Lc , c khch v phc
v chia x pre-mastersecret v hai s ngu nhin. C hai QT c lp p dng hm bm
mt chiu ti thng tin chia x chuyn pre-mastersecret quyt nh cha kha ghi
(write key) v MAC b mt. Cc kha v MAC b mt ny c dng lin kt vi b
mt m va c m phn. Chng c ChangeCipherSpec to hiu qu nhm thay
th b mt m c bng mt b mi. Cc T finished chm dt vic bt tay. Chng
cng c dng xc minh vic trao i kha v xc thc c thnh cng hay khng.
Vic kim tra thng qua xc nhn T finished cha kt qu bm ca mastersecret
c mc ni vi mi T bt tay.
TT socket an ton c bt u sau khi T finished c trao i v kim tra. Mi
T socket tip sau c m ha theo thut ton m ha v kha ghi b mt c
thit lp cho n khi phin c thng lng li. Mi T cha mt b kim tra xc
thc T l kt qu bm T vi MAC b mt. Khng c MAC b mt, sn xut MAC
cho T tm thi tr nn bt hp l. T socket c x l bi Record Layer tr thnh
b mt v bn vng. Khi nim giao thc socket an ton vn ang c tip tc tin
ha v ci tin.
4.1.5. Truyn thng nhm v phn pht bi (multicast)
M hnh TT CT c trnh by trn y dng cho TT im-im. Mc ny m t nhu
cu v thi hnh TT nhm a im. Cn lu l nhm l bn cht pht trin phn
mm cng tc trong h phn tn hay t tr. Qun tr nhm cc QT hoc i tng cn
c c ch TT phn pht bi gi T ti cc thnh vin trong nhm. Tn ti hai kch
- 92-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
bn ng dng TT phn pht bi. u tin l mt khch mong mun c nu ko mt
dch v t bt k phc v no min l c kh nng p ng dch v. Th hai l mt
khch i hi dch v t tt c cc thnh vin trong nhm phc v.
Trong trng hp u tin, khng cn phi tt c phc v p ng li m ch cn mt
phc v. Phn pht bi c thc hin trn c s c gng nht (best-effort) v c lp
li nu cn thit. H thng ch cn m bo phn pht bi T ti cc QT khng b mc
li c th t c. Cch nh vy gi l phn pht bi c gng nht.
Trong trng hp sau, cn m bo l mi phc v u nhn c yu cu v tnh bn
vng trong cc phc v c th c duy tr. T phn pht bi cn c p ng cho tt
c cc phc v nhn hoc khng mt phc v no (tc l ton b hoc khng ci no);
cch ny thng c gi l phn pht bi tin cy. i hi ton b hoc khng ci no
c ngha l T phn pht bi nhn c cn c a vo vng m trc khi phn
phi cho QT ng dng. Ch trong phn pht bi tin cy ng b o, T c th c
phn phi trc khi nhn c (ng b o c tho lun phn sau).
Ihi hnh phn pht bi phc tp hn v gp nhiu thiu thn do cha c phn pht bi
nguyn t. Li ca QT nhn hoc kt ni truyn thng c th c QT khi to T
pht hin khi s dng c ch qu hn hoc xc nhn. QT khi to sau c th thot
ra hoc tip tc phn pht bi bng cch loi b thnh vin li trong nhm. Li ca
khi to mt chiu (haft-way) trong phn pht bi ch mi c gii quyt mt cch
gi nh. Rt kh khn xc nh khi to l c li hay khng. xc nh thot t
li hoc ton b cc b phn ca phn pht bi l hon thin, mt trong cc QT nhn
bt buc c chn nh mt khi to mi. K thut thng thng cn i hi cc QT
nhn phi a vo b m phn pht bi cho ti khi T tr nn an ton cho phn
phi. Li c kim sot nh h thng o. Phn pht bi b qua ng b o l khng
thc s tin cy; chng ch l c-gng-nht.
Quan h trc tip vi bi ton phn phi tin cy l bi ton v th t phn phi cc T.
Khi T phc l phn pht bi ti cng mt nhm, chng xut hin ti cc thnh vin
khc nhau trong nhm theo cc th t khc nhau (do tnh bin ng ca tr trong
mng).
Hnh 4.7 cho mt s v d TT nhm yu cu th t T: G v s tng ng biu din
nhm v ngun T. QT s c th ng ngoi nhm hoc l mt thnh vin ca nhm.
Gi thit rng T phn pht bi cn c nhn v phn phi ngay lp lc theo th t
chng c gi. Nu gi thit ny l ng th cng vic lp trnh nhm n gin hn
rt nhiu. Tuy nhin iu ng tic l gi thit ny khng c thc v thiu ngha v
trong h phn tn khng c c thi gian ton cc v giao vn T trong mng gp
tr TT ng k v khng n nh. V ng ngha, phn pht bi c th c xc nh
sao cho T c nhn theo th t khc nhau ti cc nt khc nhau c th c sp xp
li v phn phi ti QT ng dng theo quy tc cht ch nh hn. Th t phn pht bi
di y c xp theo tng ca tnh cht ch:
+ Th t FIFO: T phn pht bi t ngun n c phn phi theo th t chng c
gi.
+ Th t nhn qu: T quan h nhn qu t ngun phc c phn phi theo th t
nhn qu ca chng.
+ Th t tng: Mi T phn pht bi ti mt nhm c phn phi ti mi thnh vin
ca nhm theo cng th t. Mt th t tin cy v tng c gi l th t nguyn t.
Ti mi nt, chng trnh iu khin TT chu trch nhim nhn T v sp xp li theo
th t ti QT ng dng. iu ny tng t nh tnh cht m hnh bt bin ca h thng
- 93-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
file phn tn v h thng b nh chia x phn tn. Chng l tng t nhau trong bi
cnh phn tn.

2
s

1
G

(a)

s
(b)
1

s
2
2

s
(c)

1
G

1
2

2
2

G
2

(d)
Hnh 4.7. Truyn thng nhm v th t T

Thi hnh theo th t FIFO (hnh 4.7a) l d dng. Do ch c cc T c gi t cng


mt QT khi to, cc T ny c gn s hiu T tun t. iu khin TT c th lm
tr T hoc loi b cc T lp khi s dng dy s hiu tun t ny. Dy s hiu tun
t T l cc b i vi mi ngun T v v vy khng th kt hp cc T t cc
ngun khc nhau (xem hnh 4.7 b). Th t nhn qu v th t tng ca T phn pht
bi t cc ngun khc nhau l cng phu hn.
Hai T c gi l c quan h nhn qu vi nhau nu mt T c sinh ra sau khi
tip nhn xong ci cn li. Th t T nhn qu cn c trnh by ti mi nt (pha)
do ni dung ca T th hai c th c tc ng theo kt qu x l T u tin. Quan
h nhn qu ny c th tri dc qua mt vi thnh vin trong nhm do tnh bc cu ca
quan h nhn qu. Thi hnh th t nhn qu cc T bng cch m rng s hiu tun t
thnh vector s hiu tun t, S=(S1, S2, ..., Sn) c mi thnh vin duy tr. Mi Sk
trnh by s hiu T s nhn c t thnh vin k ca nhm. Khi thnh vin i phn
pht bi mt T mi m, n lm tng Si ln 1 (du hiu cho bit s lng T m i
phn pht bi) v gn vector S vi m. Khi nhn c T m c vector tun t T=(T1,

- 94-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
T2, ..., Tn) t thnh vin i, thnh vin j hoc tip nhn hoc lm tr phn phi m theo
cc lut di y (Ch Si l thnh phn vector s hiu ti thnh vin j):
Tip nhn T m nu Ti=Si+1 v Tk Sk vi mi ki. iu kin u tin (Ti=Si+1)
ch ra rng thnh vin j mong ch T tip sau theo dy t thnh vin i. iu kin th
hai xc minh rng thnh vin j phn pht mi T phn pht bi m thnh vin i
phn pht trc khi n phn pht bi m (c th mt vi ci na). Nh vy, j thc s
phn pht mi T ng trc (nhn qu) m.
Lm tr T m nu hoc Ti>Si + 1 hoc tn ti mt s ki m Tk > Sk. Trng hp
u tin, mt vi T phn pht bi trc y t thnh vin i b tht lc m thnh
vin j khng nhn c. Trng hp th 2, khi thnh vin i phn pht b m th n
nhn c nhiu T phn pht bi t cc thnh vin khc trong nhm hn so vi
thnh vin j. Trong c hai trng hp, T bt buc phi b lm chm m bo tnh
nhn qu.
Loi b T nu Ti Si. Vic sao lp T t thnh vin i c b qua hoc loi b
bi thnh vin j.
Giao thc th t nhn qu ny gi thit rng phn pht bi trong mt nhm ng (tc
l ngun ca phn pht bi cng l mt thnh vin ca nhm) v phn pht bi khng
th m rng dc theo nhm (mc sau s bn lun v vic ny).
Khi thi hnh, phn pht bi i hi cng phu hn. Theo trc gic, i hi rng mt
phn pht bi buc phi hon thin v T phn pht bi buc phi c sp xp theo
thi gian hon thin phn pht bi trc khi phn pht ti QT ng dng. iu to
nn l do kt hp qung b nguyn t vi qung b th t tng thnh mt giao thc.
iu ny a n khi nim phn pht bi th t tng hai pha. Trong pha u tin ca
giao thc phn pht bi, QT khi to qung b T v thu thp xc nhn vi tem thi
gian lgic t tt c cc thnh vin trong nhm. Sut thi gian pha 2, sau khi thu thp
xong mi xc nhn vi tem thi gian lgic, QT khi to gi mt T cam kt mang tem
thi gian xc nhn cao nht nh l thi gian logic i vi vic cam kt. Thnh vin
trong nhm sau quyt nh hoc T cam kt c a vo vng m hoc phn
pht da trn thi gian cam kt lgic ton cc ca T phn pht bi.
Giao thc phn pht bi 2 pha c biu din trong hnh 4.8. Trong hnh v, hai T,
m1 v m2 t hai ngun khc nhau c qung b ti mt nhm. r rng, y c
hai ngun (s1, s2) v hai thnh vin trong nhm (g1, g2). Thi gian ng h lgic khi
to ca chng cho trong vng trn. Cc ng lin nt v ri nt tng ng trnh by
T v T xc nhn. Mi mt cung c gn nhn bi mt cp hai s. S u tin (t 1
n 8) ch bc theo th t b phn ca xut hin v s th hai l tem thi gian ca
T. V d, QT 1 phn pht bi s1. Khi mi xc nhn (bc 2 v 8) c s1 nhn, b
x l tnh ton tem thi gian cam kt (9, l ln nht ca 6 v 9) v tr li T cam kt
cho ton nhm. T cam kt mang thi gian hon thin cui cng ca qung b T
khng c ch trong hnh. Tng t, s2 tnh ton tem thi gian cam kt l 8 i vi
phn pht bi m2 ca n. Bng ch dn vng m c qun l bi CT iu khin TT
ca thnh vin nhm g1. B x l xc nhn 2 T vi tem thi gian l 6 v 8. T
cam kt vi tem thi gian 8 v 9 c th ti vi th t bt k nhng CT iu khin bt
buc phi ch c hai trc khi phn pht c thc hin. T m2 c hon thin trc
m1 bi v tem cam kt ca n nh hn. T m3 (phn pht bi bi mt ngun khc)
khng c ch ti y v T cam kt ca n c tem thi gian cao hn 10 v nh

- 95-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
vy bt buc c phn pht sau m1 v m2. Mi T sau ny cng c tem thi gian ln
hn v khng cn ch .
2,6
s1
(T m1)

1,5
2

7,5

g1

8,9
4,8
s2
(T m2)

3,7

5,7

7
6,8

g2

T phn
Thi gian Thi gian cam
phi bi
xc nhn
kt
m0
2
phn pht
m1
6
9
m2
8
8
m3
10
sp xy ra
Qun l vng m trong b iu khin
TT

Hnh 4.8. Phn pht bi th t tng hai pha

B m T tng trong giao thc phn pht bi th t tng hai pha l cao. Nhiu h
thng (chng hn, ISIS) n gin gii php th t T tng bi gi thit tn ti mt dch
v nh s dy ton cc. Mi T phn pht bi nhn mt s tun t ton cc t b sp
xp dy, mt b x l l mt thnh vin ca nhm. Khi b x l nhn mt T th t
tng, s phn pht T c lm tr ti khi s hiu dy ton cc c nhn. B sp
xp dy t vo vng m th t tng phn pht bi m n nhn, gn cho chng s dy
ton cc v sau phn pht bi s dy ny ti cc thnh vin khc ca nhm (cn
chng t nng lc gn nhiu s hiu dy trong mt T n l ti u). Mi khi nhn
c s hiu dy ca phn pht bi ton cc, b x l phn pht bi theo th t cho
bi s hiu dy ton cc. Nu b x l dy b li, mt b x l dy khc c chn t
cc thnh vin trong nhm.
Trong nhiu ng dng phn tn, mt QT c th thuc vo nhiu nhm. Hnh 4.7.c ch
ra hai v d tng ng ca phn pht bi ti cc nhm giao nhau. Trn y cho giao
thc nh th t T trong mt nhm n. Tuy nhin, th t c th khc nhau khi cc
nhm ri rc thm ch vi cng mt T phn phi bi. Vi nhm giao nhau, th cn
phi c s cng tc trong nhm duy tr th t tng minh ca T i vi cc thnh
vin thuc vng giao. Mt v d v nhm giao nhau hu dng l thi hnh cc phc v
c nhn bn khi dng phn pht bi nguyn t. Mt nhm cha ch cc phc v. Vi
mi khch, tn ti mt nhm khch gm khch v tt c cc phc v. Khch c th
thuc vo mt nhm khc m cha cc khch khc.
Mt gii php cho bi ton nhm giao nhau l t cu trc c cng nhn trn y
i vi nhm v phn pht bi T s dng cc cu trc ny. V d, cc thnh vin ca
nhm c th c cu trc nh l mt cy thc trin (cy thc trin l mt biu din
hp l ca quan h thnh vin nhm trong mng my tnh khng c h tr qung b v
phn cng). Gc cy ng vai tr ng u nhm. Cung ca cy trnh by knh TT
FIFO. Mt T phn phi bi trc ht gi ti nh ng u (gc) v sau gi ti
mi thnh vin trong nhm theo l trnh T dc theo cc cung ca cy. Thnh vin
trong phn giao phi c cu hnh thnh mt cy con chung gia hai nhm giao nhau.
Trong v d hnh 4.9. ch ra hai nhm: nhm 1 gm cc thnh vin A, B, C, D v nhm
2 gm cc thnh vin C, D, F v G. Tp giao {C, D} c cu trc nh mt cy con
chung gia hai nhm.
- 96-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy
Nhm 1

Nhm 2

Hnh 4.9. Biu din cy ca nhm giao nhau (lin nt: nhm 1, ri nt: nhm 2)

t c s mm do hn nu nh phn pht bi ti nhiu hn mt nhm (hnh 4.7.d).


t c tnh nht qun gia cc nhm, cn phi xc nh mt nhm mi l hp
nht ca hai nhm. Hnh 4.7 b v 4.7.c rt gn vn ny.
4.2 Truyn thng hi/p
Mc TT ngay trn TT CT c s l TT hi/p nh hng dch v. M hnh TT
hi/p c dng rng ri nht l Li gi th tc t xa RPC. RPC l vic tru tng
ngn ng c ch TT hi/p da trn CT. Mc trc khng nh vai tr ca RPC
trong vic B v TT trong h phn tn, cn mc ny l vn thi hnh li gi th
tc t xa.
4.2.1. Cc thao tc RPC
Nh thng thng, thao tc gi th tc v ch kt qu l tng t cp TT hi/p ng
b. iu tng t gia li gi th tc v TT l ng lc thc y nguyn thy khi dng
li gi th tc nh tru tng mc cao cho TT. Mt RPC c dng mt li gi th tc
thng thng vi cc tham s input v output ph hp ca n. Do khng c phn bit
v c php gia li gi th tc t xa v mt li gi th tc cc b nn RPC cung cp s
truy cp trong sut ti cc thao tc t xa. Tuy nhin, ng ngha ca chng l khc nhau
do thc hin th tc t xa bao hm tr v lng li c th trong thao tc mng. ng
dng ngi dng cn bit v s khc bit ny v mi lin quan ca chng. Tuy vy
nhng RPC l cch n gin v trong sng hon thnh c tnh trong sut TT bng
cch che du li gi h thng mc thp, s bin i d liu v TT mng t ng dng
ngi dng. Nh bit (chng II) RPC h tr mt dch v trnh din gia tng giao
vn v tng ng dng. RPC c th c ch nh mt API i vi dch v giao vn.
Thao tc RPC c s trong m hnh Client/Server c ch ra trong hnh 4.10.
M t ngn gn v thi hnh li gi th tc t xa. Gi thit rng thng tin cn thit cho
kt ni RPC c khi to gia khch v phc v nh trong hnh 4.10. Li gi th
tc t xa c khi to t khch thng qua mt li gi request, c kt ni vi th
tc nn khch ti nn khch. Th tc nn khch chu trch nhim ng gi li gi v
tham s ca n thnh mt T truyn (in hnh s dng API socket) dc theo mng
nh dch v giao vn. T ny c dch v giao vn phc v tip nhn v dch v ny
chuyn n ti nn phc v. Nn phc v l im vo chnh ca phc v. N tch T
thnh mt li gi hi vi cc tham s tng ng v kch hot th tc ti phc v. Khi
hon thin dch v, th tc phc v a li p ti nn phc v ng gi cc tham
- 97-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
s thnh mt T v gi n ti dch v giao vn. Qu trnh nhn c thc hin ti pha
khch, v c kt thc bng vic nhn c tr li v loi b vic thc hin li gi.

Khch
Nhn p
Gi hi

Gi hi

Nn Khch
T ti
Tham s
tham s
ti T

Nn phc v
T ti
Tham s
tham s
ti T

Giao vn

Giao vn

Nhn

Server

Gi

Nhn

Nhn p

Gi

Hnh 4.10. Dng li gi t xa

Thao tc RPC c s ny sinh mt s vn ng ch sau y:


Truyn tham s v bin i d liu: Kiu d liu c truyn v d liu c trnh
by trong T theo cch no ?
Lin kt: Lm th no khch c th nh v c phc v v bng cch no phc v
ghi nhn c dch v ca n (to ra dch v c th nhn c t xa) ?
Bin dch: Th tc nn n t u v lm cch no chng lin kt ti QT khch v
QT phc v?
Loi b v kim sot li: Lm cch no kt xut li v gi thit no cn c v li
trong h thng ?
An ton: RPC an ton ?
Ba vn u tin c trnh by nh di y.
Truyn tham s v bin i d liu
Quy tc truyn tham s v bin i d liu/T RPC c coi l vic sp xp li tham
s. Sp xp tham s l trch nhim nguyn thy ca th tc nn. Tn ti nhiu ng
ngha cho vic truyn tham s i vi li gi th tc trong ngn ng lp trnh bc cao
hin hnh. l cc cch thc gi theo gi tr, gi theo tn, gi theo ch dn, v gi
qua sao chp/khi phc. Phng php gi theo gi tr trong RPC l trc tip. Mt gi
tr c truyn cho th tc c sao vo mt bin cc b ti im vo ca th tc. S
thay i ca bin cc b trong li gi th tc khng nh hng n li gi th tc. Gi
theo tn i hi vic nh gi biu thc k hiu trong khi thc hin ng l khng
thc s d dng trong mi trng bin dch. Truyn tham s theo ch dn chuyn con
tr a ch s gy nn s lng tng nu khng gim ng ngha trong h phn tn vi
hon cnh l khng c b nh trong chia x. Bi vy, gi theo ch dn khng phi l
- 98-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
phng php truyn tham s thch hp i vi RPC. Gi theo sao chp/khi phc kt
hp ca gi theo gi tr v gi theo ch dn. N l gi theo gi tr ti im vo ca li
gi th tc v gi theo ch dn c hn ch ti im ra ca RPC. Kt qu c sao li
tr li cho th tc gi; khi hon thnh th tc gi khng to ra bt k ch dn b nh
no trong qu trnh thc hin th tc. Cch thc ny c th c dng nm gi cc
con tr nhm n gin ha cc cu trc d liu kiu mng. Cu trc con tr phc tp,
chng hn nh cy v th, s kh thi hnh RPC vi mc tiu nm gi m khng cn
cng sc v ph tn no . a s cc thi hnh RPC gi thit tham s c truyn l
gi theo gi tr v gi theo sao chp/khi phc.
D liu trong ngn ng bc cao thng c nh kiu theo cu trc xc nh-tt.
Kim tra kiu tnh c trnh bin dch thc hin khi i snh ph hp ha kiu gia
th tc nn vi khch hoc phc v. Kim tra kiu xuyn qua cc my l kh khn hn
v d liu c chuyn thng qua T lin chng trnh. V vy, mt cu hi c ny
sinh l c cn hay khng d liu mang km theo thng tin kiu kim tra kiu ng?
Hn na, mi my tnh li c cch trnh by d liu ring ca mnh. V d, kiu
integer c th c trnh by dng phn b 2 trong mt my 32 bit song li c th l
dng c du vi lng 16 bit trong mt my khc. i vi vn bn, mt s my dng
m ASCII trong khi mt s my khc dng EBCDIC. S khc nhau ny do tnh hn tp
cc thnh phn trong h thng to ra tnh cn thit phi bin i d liu trong truyn
thng ngang hng. Tnh hung rc ri hn khi xem xt vic trnh by chui bit v byte
trong knh truyn thng. Ni ring, cc my khc nhau c chun khc nhau cc bit
hoc byte trong T c truyn t nht hoc hu ht ch s c du c truyn trc.
Quy tc lin quan ti giao vn T trong mng c gi l c php giao vn. Mt s
chun bin i d liu tng minh bt buc c cng nhn trong mi h thng khi
trnh by d liu (hoc CSDL) hn tp. Nu nh n cch trnh by d liu th phi c
n*(n-1)/2 cch bin i d liu. Gii php tt hn l to ra mt ngn ng vn nng
hoc b biu din d liu hp chun m mi QT TT cn dch i vi ngn ng hoc
biu din d liu ring ca n. Rt gn ny cho php ch cn 2*n php bin i i vi
h thng n cch trnh by. ng tic l vic s dng mt ngn ng vn nng i hi
phi tng thm nhiu chi ph v ng gi v tch gi. V vy, mt s nh sn xut
xut l ngn ng vn nng c nh danh bng ngn ng bn a ca my tnh do
hng ch to. im ti u ch ngn nga c vic dch nu cc QT TT c th ngm
nh rng chng chia x cng mt dng t nhin. Ba vn ng ch trong chuyn
i d liu ti T v t T ti d liu nh bn lun trn y l nh kiu d liu, biu
din d liu v c php giao vn d liu.
Mt trong nhng pht trin quan trng nht nhm chun ha vic nh kiu v biu
din d liu l B ch gii c php tru tng 1 (ASN.1). ASN.1 l mt ngn ng nh
ngha cu trc d liu v c s dng rng ri c t khun dng cc giao thc
chnh th d liu trong TT mng. C php giao vn v ASN.1 l iu kin chnh xy
dng dch v trnh din mng. ASN.1 c th c dng trc tip trong trnh din d
liu thi hnh RPC. Cc thi hnh RPC hin ti thng dng mt tp con ca ASN.1.
Nu RPC c h tr trong mt min n th nn khch v nn phc v l cng tc
mt thit. Kiu d liu c kim tra khi sinh v dch cc th tc nn. Khi khng
cn cung cp thng tin kiu trong T (tc l kiu tng minh trong ASN.1). Trong
h hn tp, vn lin quan n c php giao vn c b qua. Cc v d kinh in v
ngn ng m t v trnh din d liu i vi RPC l XDR (eXternal Data
Representation) ca Sun v IDL (Interface Definition Language) ca DCE. C hai
tng t vi ASN.1 song nh ngha cu trc d liu v giao din th tc l n gin
hn.
- 99-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Lin kt
Phc v buc phi tn ti trc khi khch to ra mt li gi th tc ti n. Dch v ny
c c t bng mt giao din phc v khi dng mt ngn ng nh ngha giao din,
chng hn XDR. Mt c t giao din phc v in hnh c khun dng c trnh by
nh hnh 4.11. V d ny m t hai th tc v c nh danh duy nht qua chng
trnh v s hiu phin bn ca n. Khch c th nh v phc v bng vic qung b
yu cu i vi dch v. Tuy nhin, gii php hiu qu hn l i ti tn ring phc v
m a ch ca n c nh v tt, nu iu l cho php.
program PROGRAMME {
version VERSIONNAME {
long PROCEDUREA (parameters) = 1; /* procedure number = 1 */
string PROCEDUREB (parameters) = 2; /* procedure number = 2 */
}=1;
/* version number = 1
*/
} = 12345 ;
/* program number = 12345 */
Hnh 4.11. Mt c t giao thc phc v
Hnh 4.12 minh ha vic lin kt gia khch v phc v. Lin kt c gii thch
qua cc bc sau y:
1. Khi phc v c khi ng, n ghi nhn nt TT ca mnh bng vic gi mt yu
cu ti b nh x cng. Yu cu ny bao gm chng trnh ca phc v, s hiu
phin bn cng vi s hiu cng m phc v dng nghe (listen). B nh x cng
qun l vic nh x gia s hiu chng trnh v s hiu cng. Gi thit rng nh x
cng l mt QT phc v chy ngm (daemon) vi a ch cng c bit tt.
2. Trc khi to mt li gi th tc t xa, QT khch bt buc tip xc vi b nh x
cng ca h thng t xa thu c mt th (handing) truy nhp ti phc v vi
chng trnh ring v s hiu phin bn. iu ny t c nh vic gi mt
chng trnh con (routine) creat ca th vin thi gian chy RPC v creat gi mt
T cha tn my phc v, chng trnh v s hiu phin bn, cng giao thc giao
vn (UDP hoc TCP) ti b nh x cng t xa.
3. B nh x cng qua kim tra chng trnh v s hiu phin bn trong bng ca n
cung cp (tr li) s hiu cng ca phc v ti h thng khch.
4. H thng khch xy dng mt th khch cho QT khch s dng sau ny trong li
gi th tc t xa. Qu trnh lin kt thit lp cc kt ni socket gia khch v phc
v.
Trong trng hp tng qut hn khi cha bit c my phc v, khch cn nh v
my phc v bng cch tip xc vi mt phc v th vin (i lc c gi l b lin
kt, b giao dch) nh v a ch ca h thng phc v. Cc ng nt ri trong
hnh 4.12 trnh by thao tc b sung ny.

- 100-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy

a ch
my
phc v
hoc
th ti
phc v

phc v th vin
ghi
nhn
dch
v

(b lin kt hoc
b giao dch)

creat
khch

2
3

B nh x cng
1

port #

phc v
th
khch

Ghi chng
trnh, xry,
cng

my khch

my phc v
Hnh 4.12. Lin kt khch v phc v

Bin dch RPC


Bin dch cc RPC i hi ba thnh phn chnh trong b RPC:
- Mt file c t giao din;
- Mt b sinh RPC c chc nng nhn input l file c t giao din v sn xut ra
output l m ngun cc th tc nn khch v phc v;
- Mt th vin thi gian chy h tr vic thc hin RPC bao gm c h tr vic lin

bin dch

cc th tc
phc v

chng trnh
phc v

nn phc v

c t giao
din

b sinh
RPC

th file

th vin
thi gian
chy RPC

nn khch
chng
trnh chnh
khch

bin dch

chng
trnh
khch

Hnh 4.13. Sinh v dch chng trnh RPC

kt, bin i d liu v truyn thng.

- 101-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Hnh 4.13 trnh by cng vic sinh cc th tc nn v bin dch chng trnh RPC. B
sinh RPC khi to cc th tc nn v mt th file v tnh bin dch c lp ca cc
chng trnh khch v phc v. Do c th tc nn phc v v th tc nn khch c
sinh ra bi cng mt file giao din cho nn chng ph hp c php vi nhau. M ghi
nhn mt phc v c cha trong nn phc v nh l phn khi ng ca QT phc
v. Li gi h thng lin kt mt khch ti phc v ny c cho trong QT khch. Li
gi h thng c thc hin trong ln u tin khi khch c li gi RPC ti phc v.
4.2.2. Kim sot loi b v li RPC
D tng t v khi nim v c php, RPC vn khc vi li gi th tc cc b do hn
ch mng v li. Hai vn c bn, loi b v li, cn c nh v i vi thi hnh
RPC. Loi b l cc trng thi khc thng xy ra khi thc hin cc th tc nn v th
tc phc v. Li l vn gy ra bi s v ca khch, phc v hoc mng TT.
Kim sot loi b
Loi b trong th tc phc v, chng hn nh overflow/underflow hoc vi phm bo v
trong khi thc hin th tc bt buc phi c kt xut ti khch. Theo mt ngha
khc, mt khch hoc mt th tc nn ca n c th dng vic thc hin mt th tc
phc v. Nhng cu hi c bn l:
Bng cch no phc v kt xut thng tin trng thi ti khch ?
Bng cch no khch gi thng tin iu khin ti phc v ?
Cc bi ton ny c gii quyt d dng theo quy c trong li gi th tc cc b nh
s dng bin ton cc chia x v tn hiu. V d, trong UNIX bin ton cc errno c
dng kt xut trng thi sai st, v cc tn hiu (hoc ngt) c th c dng thc
hin iu khin i vi cc QT khc.
Trn mng my tnh, khng th s dng c bin chia x ln ngt trc tip. Trao i
iu khin v trng thi bt buc phi nh cy vo knh d liu. Tnh hung ny tng
t vn trong TT d liu khi knh tn hiu buc phi hoc tm v tr ca mnh trong
knh d liu chun (bng tn hiu-lm) hoc s dng mt knh ring (bng tn hiuli). Nhiu dch v giao vn cung cp la chn d liu c nh im li ca bng thng
tin trong dch v nguyn thy gi. Cng c th dng knh ring (kt ni socket)
kh b i hi nhn bit tn hiu t d liu chun. Tip cn nh vy l mm do hn
i vi RPC do a s thi hnh h thng sn c gi thit cng bi i vi mi QT (vi
mc ch tng t, chng hn nh TT ti nhn). Trong nhng trng hp khc, vic
gi v nhn thng tin iu khin v trng thi c thi hnh nh mt phn ca h tr
th vin nn v cn phi trong sut ti QT khch.
Kim sot li
Kh nng li xy ra t li gi th tc t xa l khc vi li gi th tc cc b. Vic
kim sot li che du v trong sut cho ngi dng RPC l mt cng vic nng n.
Li xy ra khi khch khng th nh v c phc v ti thi im khi to li gi
RPC. iu xy ra do phc v khng tn ti hoc phc v b v. Li cng xy ra
khi khch ang dng mt chng trnh hoc s hiu phin bn li thi. Vn ny
tng t vi loi b hn l li v c th c kt xut nh loi b. Mi khi phc v
c nh v v T hi c gi ti phc v, T c th b tr hoc mt. Tng t,
T p c th b tr hoc mt. Vic mt T c pht hin do thi gian qu hn hoc
khng c li p t phc v. T b tr hoc mt c th c truyn li.
S truyn li cu hi (t khch) li l nguyn nhn ca kiu bi ton khc. Nu cu
hi khng mt m n thun ch l b lm chm, th phc v nhn c hai cu hi t
pha khch trong khi mong i ch mt cu hi n . Mt gii php cho vn ny
- 102-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
l to ra tnh bt bin ca cu hi theo ngha cu hi c thc hin vi s ln bt k
u nhn cng mt hiu qu. V d h thng file NFS cung cp ch mt dch v bt
bin (v d, c khi, ghi gi tr vo khi, song khng gn mt khi vo mt file).
Khng phi mi dch v u c tnh bt bin (chng hn nh phc v kha). Trong
trng hp ny, khch gn mt s hiu dy vo mi cu hi cho phc v c th pht
hin ra s p hoc li thi ca T hi. Nu phc v nhn c s p, n truyn li
kt qu c kt xut t yu cu u tin. Ch rng, phc v cn gi li vt ca s
hiu dy ca yu cu cui cng ca mi khch v kt qu sinh ra i vi yu cu .
S hiu dy i vi li gi RPC khch l khng tht s cn thit nu RPC c chy
theo dch v giao vn TCP hng kt ni tin cy do dch v sp xp T v loi tr
s p.
Thi hnh in hnh mt RPC khng dng n s hiu dy. Phc v khng ch n
khch l ai, c bao nhiu khch to ra cu hi nh th l n c cch pht hin s
p. V d, mt giao thc UDP thi hnh RPC trn my Sun dng mt s ngu nhin
duy nht xid, c gi l s hiu giao dch hoc nonce (s c dng ch mt ln) cho
mi T hi (giao dch). xid c dng nhm lin kt hi v p. Phc v RPC duy tr
mt bng cache c ch s ha theo chng trnh v s hiu phin bn, s hiu th
tc, a ch UDP khch v xid cho mi giao dch hon thin. Kt qu ca ln gi trc
y c tr cho ngi gi nu cu hi mi c sn trn cache. Nu T p l p
trong bt k l do no th xid c khch dng loi b s p hoc thm ch c li
p sai st.
v phc v l bi ton nguy kch hn. Ngay c khi kt ni TCP tin cy, th cu
hi p cng c th c phn pht ti phc v. Vn ny c th xut hin nu
khch ch li p cho cu hi ca n qu hn (chng hn, vt qu hn TCP).
Khch c gng thit lp li kt ni. Khi kt ni c thit lp li (c th sau khi phc
v khi phc li t li), khch truyn li li hi ca mnh. Ch rng, li ca kt ni
TCP khng c ngha l phc v b v v rng trong vi trng hp kt ni TCP b
t do vn mng, trn vng m ... C chng khi phc v b li, dch v c th c
thc hin hoc khng. Nu kt ni TCP b t nhng phc v khng b v, bng
cache c kim tra xc nh yu cu c p hay khng. Nu phc v b v,
bng cache b mt. Trong trng hp ny, phc v c th chn xut mt loi b ti
QT khch v QT khch hoc ch cho phc v khi phc li hoc t b ngay lp tc. T
dn n ba gi thit kh nng cho ng ngha li gi RPC khi hin din li:
phc v xut mt loi b v khch th li thao tc khi phc v hi phc.
Do thao tc s c thi hnh t nht mt ln th t nht phi c mt ln ng ngha. Ng
ngha ny c tha nhn cho thao tc bt bin.
phc v xut mt loi b v khch t b ngay lp tc. Do thao tc yu cu
c th c thc hin bi phc v trc khi b v, tn ti t nht mt ng ngha.
phc v khng kt xut li no c, v khch gi li yu cu ca n cho n
khi n c p hoc t b. iu ny cng c th ng ngha do thao tc c th c
thc hin s lng ln bt k (bao gm c khng ln no).
ng nhin, ng ngha RPC mong mun nht l mt ln chnh xc. Kh khn khi
hon thnh mt ln chnh xc m khng cn i hi s c gng. Do vn ch b
mt bng cache, gii php l ng ngha t nht mt ln v cht on bng cache ln b
nh ngoi. Khi phc v c hi phc, n ti li bng cache t cc on ca n. Tuy
nhin, thao tc thch hp mi dch v bt buc c thc hin nh mt giao dch ti
phc v. iu ny i hi qu nhiu chi ph i vi nhiu ng dng.

- 103-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

Cui cng, nu QT khch v (hoc kt thc vi v) trc khi phc v hon thin
yu cu ca khch, phc v c mt tnh ton orphan (n c) v p ca n l khng
c phn pht. Khng c cch d dng phc v kim tra s bin mt ca khch
ngoi tr vic dng qu hn hoc ch khch li reboot v loan bo s hin din mi
ca n. Tnh ton n c tiu th cc ti nguyn phc v (khng gian b nh, kho)
v cng c th lm ln xn khch vi cu p khng c gi tr trong kt ni trc.
Tnh ton n c c th b loi tr theo cc cch sau y:
Bng khch: Nh vo vic reboot khch li, khch lm sch mt cch r rng cc
tnh ton n c trc y. i hi khch nhn thc c hot ng ca li gi th
tc cha kt thc trc y ca n v nng lc nh v cc li gi .
Bng phc v: phc v thnh thong th nh v ch nhn ca cc thao tc t xa ca
n v b i nhng thao tc khng tm thy ch nhn. Gii php ny i hi s hon v
vai tr ca khch v phc v, phc tp ha mt thit k n gin khc.
Bng s kt thc: Mi thao tc c tng ng vi mt thi gian sng cc i. Mt
thao tc b loi b khi n t ti thi gian kt thc ca n (ngoi tr khch yu cu
thm thi gian mt cch r rng).
4.2.3. Bo mt RPC
Bo mt l v cng quan trng i vi RPC bi hai l do:
RPC l hnh thc thc hin t xa cho php chng trnh hoc lnh c thc hin ti
mt h thng khc. N l phng tin y sc mnh thi hnh h thng v cc ng
dng phn tn. Tuy nhin, RPC li l mt ngun gc lm cho h thng d b xm
phm khi ngi dng khng thn thin s dng RPC tn cng t xa.
RPC tr thnh nn tng ca tnh ton Client/Server. Tt c cc c im an ton
ca h thng my tnh s c xy dng da trn an ton RPC.
RPC da trn trao i T hi/p gia khch v phc v. Cc vn an ton nguyn
thy l tnh xc thc ca QT khch v QT phc v, tnh xc thc v b mt ca T, v
tnh xc thc iu khin truy nhp t khch ti phc v. Vn an ton my tnh phn
tn tng th c trnh by chng sau. Ti y trnh by cc khi nim thch hp v
tnh xc thc lu tm ti RPC. Mt giao thc xc thc cho RPC cn c thit lp nh
sau:
Xc thc ln nhau: nh danh ca khch v phc v cn c kim tra. T hi thc
s c sinh ra t khch v c mong i ti phc v. T p thc s sinh ra bi
phc v v c mong i ti khch. Tnh xc thc bt buc phi c m bo i
vi T v i vi cc QT TT.
Tnh ton vn, tnh tin cy v tnh nguyn bn ca T: T hi/p khng b xo trn
(tnh ton vn), ni dung ca n khng b l (tnh tin cy) v mt T khng xut
hin qu mt ln (tnh nguyn bn).
Thit k giao thc xc thc l ni dung rt phc tp. Tnh phc tp ca giao thc ph
thuc vo mc tiu an ton cao n u, nhng tn cng thch hp no c on
nhn, v mt s hn ch c hu ca h thng. H thng an ton cao i hi nhiu bin
i c s trong HH. Gii php thch hp hn mong mun c c nhng c im an
ton d dng b sung vo HH ang tn ti. Ni dung di y v RPC an ton ca
Sun l v d v tnh an ton c th kt hp cht ch d dng vo mt HH ang tn ti.
RPC an ton Sun c xy dng trong h thng RPC c s ca Sun. Gi thit tn ti
dch v thng tin mng (NIS) tin cy c t ti mt phc v xc thc c chia x
trong hu ht cc giao thc xc thc. Tuy nhin, NIS trong RPC xc thc Sun khng
- 104-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
thc hin chc nng xc thc. N n gin c t ra gi mt CSDL cha cc bn
ghi v tn mng ca ngi dng v kha cng khai v kha b mt. Cc kha ny
khng phi l m ha/gii m nh chng thng thng c dng trong mt m. Thay
vo , chng c dng sinh ra mt kha phin mt m ng cho TT. Kha cng
khai l thng tin cng khai, cn kha b mt c to bi m ha chng khi dng thut
ton m ha DES (Data Encryption System) vi mt khu ngi dng nh mt kha
mt m. Khi ngi dng login my trm, RPC an ton chy, chng trnh login tip
xc vi NIS nhn bn ghi kha ca ngi dng. Sau chng trnh login nhc
ngi dng nhp mt khu, s dng mt khu gii m kha b mt c m ha,
v loi b mt khu ngay lp tc sau y. Pha login ngi dng c ch ra trong hnh
4.14. Ch rng mt khu ngi dng khng truyn trn mng.
phc vNIS
user id

cc bn ghi v
tn ngi dng mng
kha cng khai v
kha mt m ring

QT login

v
passworrd

Ss

Cs
phc v kha

QT khch

Sp

Cp

{CK}kha phin ->

phc v kha

QT phc v

{T PPC} CK

My khch

My phc v
Hnh 4.14. RPC an ton ca Sun

Sau khi login thnh cng, QT khch, lm vic nhn danh ngi dng, thit lp mt
phin TT vi QT phc v nh sau. Chng trnh login t kha b mt ca khch vo
vng nh phc v kha. Th tc ging nh pha khch cng din ra pha phc v.
QT phc v kha ti khch v phc v chu trch nhim sinh ra kha phin chung gia
khch v phc v. iu c thc hin bng vic trao i kha m ha. u
tin, mt cp kha ring v kha cng khai c gn (hoc ghi nhn) i vi mi
khch {C1, C2, ..., Cp}v mi phc v {S1, S2, ..., Sp} trong h thng. Cc kha ny
c sinh theo con ng sau y:
Cs v Ss l cc s ngu nhin 128 bit,
Cp = Cs mod M v Sp = Ss mod M , trong v M l hai hng s bit.
Mc d kha cng khai thu c t kho b mt song thao tc tm ngc theo logarith
ri rc c nh gi l tnh ton rt tn km. Ngi dng khng th d dng suy lun
c kha b mt t kha cng khai tng ng ca n, thm ch trong trng hp khi
bit thut ton. Ti pha khch, kha phin SKCS c tnh qua kha b mt khch
Cs v kha cng khai phc v Sp nh sau:
SKCS = SpCs = (Sp)Cs = SpCs
- 105-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Hon ton i xng v c lp, phc v kha tnh kha phin SKSC nh kha b mt
phc v Ss v kha cng khai khch Cp nh sau:
SKSC = CpSp = (Cs)Sp = CsSp
C th thy rng, SKCS = SKSC = SK. Kho phin c tnh ton theo MOD M ( r
rng b qua ton t mod). Mi khi kha phin c sinh, kha b mt c xo khi
vng nh ca dch v kha. Kha phin theo tha thun thit lp xc thc ln nhau ca
khch v phc v do n ch nhn c t kha b mt trnh din nh danh thc s ca
b i TT.
Mi T RPC c xc thc bi kha kt hp CK l mt s ngu nhin 56-bit c
khch sinh ra v c truyn ti phc v nh kha phin. Kha kt hp c gi trong
phc v kha v c dng trong ton b phin gia khch v phc v. Kha phin
c dng s b trong mng cn kho kt hp l c chuyn giao. Kh nng b lm
hi l ti thiu. L do s dng kha kt hp i vi T RPC k tip l n khng bt
ngun t kha b mt v bi vy, c lu li dng cho giai on di. N khc nhau
trong mi phin.
T RPC c th cha thm nhiu thng tin, bao gm tem-thi gian, (s hiu) lt v
mt tm tt T. Tem-thi gian c dng kim tra kt thc T. Lt c dng
m bo khng xy ra vic lp T. Tm tt T l mt gi tr bm ca d liu T c
dng pht hin bt k can thip no vo T. M ha thng tin ny bng kha kt
hp cung cp c tnh xc thc ln tnh an ton ca T.
Thi hnh RPC ca Sun l rt n gin. N dng NIS tn ti thay cho mt phc v xc
thc ring bit. Thng tin b mt c chuyn ti mng hoc bo qun ti my khch
v my phc v c gi mc ti thiu.
4.3. Truyn thng giao dch
TT hi/p nh hng dch v v a phn pht c trnh by trn y c th kt hp
li thnh mt mc TT mi cao hn c gi l TT giao dch. Ph bin hn, giao dch
c bit nh mt n v chun ca lin-hnh ng gia QT khch v phc v trong
h CSDL. Giao dch CSDL c biu din nh mt dy thao tc hi/p ng b m
bo tnh nguyn t (khng chia ct c), tnh nht qun, tnh c lp (ring bit) v
tnh bn vng (ACID) nh trnh by di y. Giao thc trong TT tng t nh giao
thc trong CSDL ngoi tr chng c nh ngha nh mt tp TT hi/p d b c cc
tnh cht ACID nhng khng p buc tnh tun t thao tc nh giao dch CSDL. Mt
giao dch TT c th bao gm a phn pht cng mt T ti cc phc v nhn bn v
yu cu khc nhau ti phc v c phn chia. Dch v giao dch v kim tra ng thi
i vi giao dch CSDL s c ni sau. Trnh by di y gii hn trong khun kh
TT giao dch.
4.3.1. Cc tnh cht ACID
Cc tnh cht ACID lin quan trc ht ti mc tiu trong sut ng thi ca h phn
tn. on 2.2 gii thiu trong sut ng thi l tnh cht cho php chia x cc i
tng m khng gp tr ngi. V cm gic, thc hin giao dch c v tr nh khong ti
hn. Tuy nhin, cc thao tc t cc giao dch khc nhau l c xen k (theo mt cch
m bo) nhm tng tnh ng thi. Ni thm, giao dch c cc tnh cht b sung:
Tnh nguyn t (A: Atom): Hoc tt c thao tc c thc hin hoc khng mt thao
tc no trong giao dch c thc hin bt chp li.

- 106-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

Tnh nht qun (C: Consistency): Thc hin trn xen k cc giao dch tng ng
vi thc hin tun t cc giao dch theo th t no .
Tnh c lp (I: Isolation): Kt qu thc hin b phn giao dch cha hon thin c
che du i vi cc giao dch khc trc khi giao dch c cam kt thnh cng.
Tnh bn vng (D: Durability): H thng m bo rng kt qu thc hin giao dch
cam kt c lu gi lu di, ngay c khi xut hin li sau cam kt.
Do c bn tnh cht ny quan h vi tnh nht qun nn trong nhiu trng hp, thng
gi tnh cht th hai l tnh thi hnh dy phn bit vi cc tnh cht khc. Tnh
nguyn t cho tnh nht qun ca i tng khi nhn bn hay phn hoch. Vi phm s
c lp th thy c ci khng bao gi xy ra, cn vi phm tnh bn vng th li khng
thy c ci thc t xy ra. C hai iu ny l khng nht qun v trng thi h thng.
Bo m cc tnh cht ACID i hi cc QT thnh phn cng tc thc hin giao dch.
Gi QT khi to giao dch l b phi hp v cc QT cn li l thnh vin. B phi hp
bt u giao dch bng mt a phn pht yu cu ti cc thnh vin. Giao dch kt thc
bng cam kt hoc hy b giao dch ty thuc vo cc tnh cht ACID c c m
bo hay khng. Mi thnh vin phi tn thnh quyt nh cui cng. Mt gii php cho
i hi tnh nguyn t ca giao dch l cn thng xuyn ngn cn thao tc ca mi
thnh vin cho n khi chc chn hoc c thng bo l mi thnh vin khc
sn sng lm thao tc . K thut ny tng t nh hai giai on (nhn v phn pht
T) trong giao thc hai pha i vi a phn pht th t ton b trong on 4.1.5. Giao
thc cam kt hai pha i vi giao dch nguyn t cho cch thc t c tnh
nguyn t, tnh c lp v tnh bn vng.
4.3.2. Giao thc cam kt hai pha
Giao thc cam kt 2 pha (2PC) tng t nh s b phiu nht tr trong cuc sng
i thng. B phiu c b phi hp ca giao dch khi ng. Tt c cc thnh vin
phi i ti nht tr v vic cam kt hoc hy b giao dch v buc phi i thng bo
v quyt nh. Trc khi thnh vin b phiu cam kt giao dch, n cn phi chun b
thc hin cam kt. Giao dch c cam kt ch khi mi thnh vin ng v sn sng
cam kt.
Mi thnh vin (bao gm c b phi hp) duy tr mt khng gian lm vic ring gi
vt cp nht i tng d liu. Mi cp nht gm gi tr c v gi tr mi ca i tng
d liu. Cp nht l khng thc s (lu di) cho n khi giao dch c cam kt cui
cng nhm m bo ng ngha c lp ca giao dch. Cn a cc cp nht ln b nh
lu di i ph vi li. Cp nht c ghi nhn trong b nh lu di vo s l trnh
hot ng ca giao dch. Mi thnh vin c mt s l trnh. S l trnh c duyt li
trong khi sa li nhm lm d dng hn cng vic hoc tu sa li giao dch cam kt
hoc tho b giao dch khng cam kt. S l trnh hot ng nht qun l cn thit cho
tnh nht qun hoc tnh bn vng ca giao dch cam kt.
Hnh 4.15. minh ha dng thc hin giao dch nguyn t cam kt 2-pha. Ti y c hai
im ng b l tin cam kt v cam kt i vi mi thnh vin. B phi hp bt u
giao dch bng vic ghi nhn bn ghi tin cam kt vo s l trnh hot ng ca n. B
phi hp phi chun b cam kt giao dch (tc l, cp nht c hng ti s l trnh
n nh, cc ti nguyn dnh thc hin li cam kt...) trc khi ghi bn ghi tin cam
kt. Ghi bn ghi tin cam kt vo s l trnh hot ng cho php b phi hp bit trng
thi ca giao dch nu mt li xut hin; giao dch kt thc thc hin m n khng cam
kt. Sau , b phi hp a phn pht yu cu b phiu ti mi thnh vin. Khi nhn
c yu cu b phiu, mi thnh vin kim tra xem c cam kt c giao dch hay
- 107-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
khng (cc cp nht c hng ti s l trnh hot ng, pht hnh c tin
tng, ti nguyn sn sng ...). Nu kim tra thy hp l th thnh vin ghi mt tin
cam kt vo s l trnh v gi T YES ti b phi hp. Ngc li thnh vin b giao
dch v gi T NO ti b phi hp.
B phi hp

Thnh vin

- Tin cam kt giao dch


yu cu
- Gi yu cu ti mi thnh vin
- Nhn T yu cu
- Nu sn sng
th tin cam kt v gi YES
Tr li
- Kt ni mi tr li
ngc li b giao dch v gi NO
- Nu mi b phiu l nht tr YES
th cam kt v gi COMMIT
quyt nh

ngc li b v gi ABORT

- Nhn tr li

Kt qu

- nhn quyt nh
- Nu COMMIT th cam kt
- Nu ABORT th b giao dch
- Gi tr li

Hnh 4.15. Giao thc giao dch nguyn t cam kt hai pha

Nu trong khong thi gian quy nh, b phi hp kt ni c tt c cc tr li YES


th n cam kt giao dch bng vic ghi bn ghi cam kt ti s l trnh ca n v a
phn pht T COMMIT ti mi thnh vin. Ngc li, b phi hp hy b giao dch
v a phn pht T ABORT. Khi nhn c T COMMIT, mi thnh vin cam kt
giao dch bng vic ghi bn ghi cam kt vo s l trnh hot ng v tip nhn ti
nguyn dnh cho giao dch. Cui cng gi mt tr li cho b phi hp. Nu T nhn
c l ABORT th thnh vin ghi bn ghi hy b vo s l trnh, hy b giao dch v
gii phng ti nguyn dnh cho giao dch.
Dng s l trnh hot ng, giao thc cam kt 2-pha mnh m i vi cc li QT. Hnh
4.16 ch dn mch thi gian ca giao thc i vi b phi hp v mt thnh vin. Do
vic ghi tin cam kt v cam kt ti s l trnh hot ng lm sch mi cp nht trc
im ng b ny, thao tc thch hp trong khi phc li tin cy c l lm li thao
tc theo s l trnh t nht t mt im ng b. Nh vy, thao tc khi phc c
phn thnh ba kiu: li trc tin cam kt, li sau tin cam kt song trc cam kt, li
sau cam kt. QT (hoc b phi hp hoc thnh vin) mt cch n gin b giao dch
nu t s l trnh pht hin li xut hin trc tin cam kt. iu tng ng vi
phiu NO i vi giao dch. B phi hp cng b giao dch nu n sp gia tin
cam kt v cam kt, nhng hiu qu hn th nn c gng tip tc cam kt giao dch
bng cch a phn pht li T yu cu (nhn bn c th c cc thnh vin pht hin
ra). Tng t, thn trng gi li T cam kt nu b phi hp sp sau khi ghi bn
ghi cam kt vo s l trnh ca n. Thao tc khi phc s phc tp hn cht t nu mt
- 108-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
thnh vin sp gia tin cam kt v cam kt. Vic phc hi thnh vin bt buc phi
xc nh c giao dch l cam kt hay b qua hp ng thao tc vi b phi hp hoc
cc thnh vin khc. Cui cng nu thnh vin khi phc do li sau khi bn ghi cam
kt c ghi vo s l trnh th thnh vin n gin ch to ra cc cp nht giao
dch lu di. Vi b nh c nh, c ch khi phc tin cy cho tnh bn vng ca cam
kt.
Chng tip theo trnh by hnh thc hn giao thc cam kt hai pha v nng cp ca
n: giao thc cam kt 3-pha. Chng sau c dnh cho li v phc hi.
Thao tc khi phc li ca B phi hp
b
bt
u

b hoc tip tc
tin gi yu
cam kt cu

gi li T cam kt
kt ni
tr li

ca
m

gi
cam kt

nhn kt
tr li thc

Thao tc khi phc li ca thnh vin


bt
u

nhn yu tin
gi
cu cam kt tr li
b

nhn
ca gi cp kt
cam kt m tr li nht thc

tm cam kt hoc b

tip tc

Hnh 4.16. Li v thao tc phc hi i vi giao thc 2-PC


4.4. Dch v tn v th mc
Khi cp ti truyn thng, vn tn v a ch l rt cn thit. Khi to yu cu mt
dch v hoc truy cp ti mt i tng theo ngha TTLQT i hi bt buc u tin l
phi nh v c dch v hoc i tng. Dch v l i tng c tru tng ha.
Chng thng c QT trnh by bng mt im truy cp dch v. i tng c th l
ngi dng, my tnh, ng TT hoc cc ti nguyn khc, chng hn file. Dch v v
i tng thng c nh danh bng tn kt cu. Nh l mt chn la, nu tn l
cha bit, im vo dch v hoc i tng c m t thng qua s dng thuc tnh
ph hp vi chng. Do dch v hoc i tng c ngha rt r rng, vn tn ca
chng l tng t nhau. Khi nghin cu v dch v tn v th mc, dng thut ng
mc i tng ch c dch v ln i tng.
4.4.1. Gii php tn v a ch
Dch v tn v th mc, theo ngha hp l cc ton t tra cu (look-up). Khi cho mt
tn hoc mt vi thuc tnh ca mt mc i tng th thu c thm nhiu thng tin
thuc tnh. Thut ng dch v tn v dch v th mc thng c s dng hon i
nhau. Dch v tn l cch tng qut m t mt i tng c a ch ho v do c
th xc nh c i tng thng qua a ch. Khi nim dch v th mc trong nhiu
trng hp, c dng ch dch v tn c bit nh dch v th mc ca h thng
file. Trong cc trng hp khc, n khng b hn ch bi thng tin a ch m cn
c dng trnh by mt dch v t tn chung nht i vi tt c cc kiu tra cu
thuc tnh trn nhng loi i tng khc nhau. X500 c CCITT nh ngha l v d
cho dch v kiu ny. Nhng dch v tn mc cao c xy dng da trn dch v th
mc chun.
- 109-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Mc i tng bt k trong h thng phi c t tn (hoc nh danh) v c nh
v trc khi s dng. Hot ng nh v i tng c gi l QT gii php
(resolution), cn n mt lot cc thao tc tra cu (hoc nh x). Mi mc i tng
c mt a ch logic trong HH v mt a ch vt l trong mng. QT gii php gm
hai phn: Gii php tn nh x tn ti a ch logic v Gii php a ch nh x a ch
logic ti ng truyn vt l trong mng.
Gii php tn
Tn l du hiu nh hng ng dng ca i tng. a ch i din cho i tng,
mang thng tin cu trc no thch hp HH qun l v nh v i tng. QT
gii php tn nh x tn ti a ch. i tng c xc nh bng tn, v i tng
c nh v thng qua a ch. Tn thng l duy nht nhng cng mt tn c th c
nhiu a ch. nh x tn mt phc v ti cc a ch cng ca n c coi l v d v
gii php tn.
Gii php a ch
Gii php a ch nh x a ch ti cc ng truyn m theo nh v vt l mt i
tng. S khc nhau gia mt a ch v mt ng truyn l ng truyn l mc thp
nht ca TT v khng cn mc no thp hn, trong khi a ch li bao gm nhng
thng tin nh danh i tng trung gian gia tn v ng truyn. Vic nh x cng
phc v ti cc cng Ethernet ca n c coi l v d v gii php a ch.
Gii php tn l mt chc nng c bn ca HH phn tn, trong khi gii php a ch
l bi ton ca mng. Phn ny tp trung vo gii php tn, nh x tn ti a ch chun
trong HH. Dch v tn c thi hnh bng mt hoc nhiu phc v tn. Nhn mnh
c bit l gii php tn c gi thng xuyn v ko theo mt s phc v tn.
4.4.2. Thuc tnh i tng v cu trc tn
Mc i tng c c trng bng cc thuc tnh ca n. V d, ngi dng c th c
thuc tnh l a v, file c th c thuc tnh l s hiu phin bn, ngy khi to, v cc
thuc tnh khc. Trong gii php tn, quan tm ring ti hai thuc tnh i tng c
bit, l tn v a ch. Tn l thuc tnh vi gi tr duy nht nh danh. a ch
cng l thuc tnh, ngoi tr mt iu rng n l kt qu ra ca QT gii php tn. Tp
hp tt c cc tn, c t chc qua dch v tn cng cc thuc tnh v a ch tng
ng ca chng, c gi l khng gian tn. Mt khng gian tn rng ln cha cc lp
i tng khc nhau, c th c cu trc ti cc kiu n nht ca n. V d, i
tng c th c phn lp thnh ngi dng, my tnh hoc file... Nhng kiu i
tng ny tr thnh thuc tnh t chc khng gian tn.
Tn ca mt mc i tng c th l mt thuc tnh n gin nhng cng c th cha
nhiu thuc tnh c cu trc ni ti hoc khng. Cu trc-tn ch da theo mt thuc
tnh c gi l cu trc tn phng (flat). Mt cu trc tn-phng l mt thuc tnh
tng trng. Yu cu duy nht i vi cu trc phng l cch t tn phi duy nht
trong ton h thng. Cch ny l n gin nht v r rng cho tnh trong sut nh v
v c lp. Bt li ln nht l cch t tn ny rt kh thc hin ng thi trn din
rng v rt kh qun l v cung cp tn do tn khng c cu trc.
Nu tn c phn ra thnh nhiu thuc tnh th c th li dng th t cc thuc tnh.
Chng hn, ngi s dng vi thuc tnh tn l <A>, thuc tnh t chc l <FOT> v
thuc tnh quc gia l <VN> th c th to ra thnh mt thuc tnh tng hp l
<A.FOT.VN> nh thuc tnh tn. Theo s ph dng hn (dng trong mng Internet
l Domain Name Service - dch v tn min), tn l thuc tnh cu trc phn cp. Tng
qut hn, khi khng cho th t cc thuc tnh th c th nh v i tng nh tp hp
- 110-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
tt c cc thuc tnh. V d U=A, C=FOT, O=VN khi U, C, v O i din cho cc
thuc tnh l tn, c quan v quc gia. Nhng tn ny c xc nh da vo vic ghp
ni k tip cc thuc tnh (gii php ny da vo tn cu trc phn cp) hoc da vo
ch tp hp cc thuc tnh (gii php da vo thuc tnh vi cu trc ty ). Hai gii
php tn ny tng t nh trang trng (white page) v trang vng (yellow page) tng
ng trong s danh mc in thoi.
Vic phn chia thuc tnh cho gii php tn ca i tng c th cn c vo tnh cht
vt l, theo t chc hoc theo chc nng.
Mt cu trc tn c phn chia theo vt l cho php nh r thng tin v tr v i
tng, v d <user.host.network>. Mt cu trc tn c phn chia theo cch t chc
da vo cu trc hnh chnh nh nc. V d nh <user.department.organization>. C
hai cch phn chia trn u mang tnh phn cp, ngha l c mi quan h gia cc
thuc tnh, trm ch (host) nm trong mng (network), phng (department) nm trong
c quan (organization).
Thuc tnh D.v/i tng Cu trc tn
Phn chia thuc tnh
- vt l
- cu trc phng
< thuc tnh>
- gii php cu trc phn - t chc
<tn, thuc tnh, a ch>
cp da theo tn
(chng hn, trang trng)
<tn, kiu, thuc tnh, i - gii php da theo thuc - chc nng
tnh phi cu trc
ch>
Hnh 4.17. Thuc tnh i tng v cu trc tn

Dng tn phn cp rt hiu qu cho gii php tn v qun l khng gian tn. Mt s
cch t tn khc khng theo cu trc phn cp cht ch. V d nh thuc tnh ngh
nghip l <professor>, thuc tnh chuyn mn l <computer science> khng c
phn chia ging nh tn theo tnh cht vt l hoc tnh cht t chc ca i tng.
Cch phn chia ny c gi l cn c theo chc nng v hp l hn xut gii php
tn da theo thuc tnh phi cu trc. Hnh 4.17 m t cc cch khc nhau dng thuc
tnh lm c trng cho mc i tng v trnh by cu trc tn.
4.4.3. Khng gian tn v c s thng tin
Khng gian tn v thng tin i tng ca n trong h phn tn l rt s. hiu
qu gii php v qun l tn, cn mt m hnh thng tin lm c s thi hnh c s d
liu khng gian tn. Theo thut ng X.500, m hnh d liu quan nim lu gi v
trnh by thng tin i tng c gi l c s thng tin th mc DIB (Directory
Information Base). Dch v th mc (DS) theo chun CCIIT X.500 cung cp quy tc
cu trc v c php c t DIB trong cy thng tin th mc phn cp DIT (Directory
Information Tree). Hnh 4.18 cho v d v DIT. Mi mc i tng trong DIB c
biu din bng mt nt ca cy DIT. Cc thuc tnh tng ng vi mc i tng l
tp cc thuc tnh t nt ti gc cy. Cu trc cy c nhiu u im v mi nt trong
cy c ng i duy nht ti gc. ng i dng nh danh duy nht i tng vi
tn phi cu trc trong gii php hng thuc tnh. Thuc tnh dng cho mc ch t
tn c gi l thuc tnh nhn bit (distinguished). Nu cc thuc tnh nhn bit ca
cng mt kiu c nhm li theo tng mc ca cy th vic ghp ni cc thuc tnh
nhn bit dc theo ng i tr thnh tn cu trc ca i tng. Hnh 4.18 trnh by
cy thng tin th mc vi kin trc nhm cc kiu thuc tnh nhn bit (country,
organization, user). Cu trc cy phn cp l hp l cho gii php tn.

- 111-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Khng gian tn rng ln v cy DIT tng ng ca n c th c phn tch v phn
tn thnh min tn (naming domain) v ng cnh tn (naming context). Min tn l
khng gian tn con vi mt quyn qun tr n qun l tn. Ng cnh tn l cy con
DSA 1

DSA 2

Root
A
Country
B
Organization
C

E
User

DSA 3

Hnh 4.18. Phn tn ca mt DIT


1

DUA

DSA

1
DSA

DUA

DSA

Mt xch truy hi

Mt xch bc cu

DSA

DUA

DSA

Chuyn tip

DUA

DSA

DSA
4

DSA

a phn pht

Hnh 4.19. Cc mode tng tc gii php tn

b phn ca DIT. Hnh 4.18 a ra 5 ng cnh tn (A, B, C, D, E) trong cc vng c


bin ri nt. Ng cnh tn l n v c bn phn tn c s thng tin ti nh cung cp
dch v th mc (Directory Service Agent - DSA), l phc v cho dch v tn. C 3
DSA trong vng vi bin lin nt trong hnh 4.18 qun l nm ng cnh tn. Mi ng
cnh tn cng to nn mt cy. Mi mt DSA duy tr cc kt ni ti cc DSA khc
cng tc ca dch v tn.

- 112-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
B cung cp th mc ngi dng Directiry User Agent (DUA) thay QT ngi dng
thc hin vic khi to QT gii php tn. Yu cu gii php c gi t mt DSA ny
ti mt DSA khc cho ti khi tm c i tng trong DIT v tr v cho DUA. Mc
d s gii php l c cu trc-da theo tn hoc phi cu trc-da theo thuc tnh,
tng tc gia cc DSA vn c th thc hin theo mt trong bn kiu c trnh by
trong hnh 4.19.
Trong kiu mt xch (chaining mode), yu cu c chuyn tip t DSA n DSA
cho ti khi tn c gii quyt. Kt qu c gi tr li dc theo ng c (mt xch
truy hi) hoc trc tip ti DUA (mt xch ngoi). Mt xch truy hi l mode thng
dng i vi gii php tn cu trc. Kiu mt xch ngoi i hi t T hn song mi
T cn mang a ch ca DUA ngun. Mt hn ch chnh ca mt xch ngoi l ch
n khng cho php m hnh lp trnh RPC v Client/Server.
Trong kiu chuyn tip (referral mode), khi mt DSA khng gii quyt c tn yu
cu t DUA th n gi mt DSA khc cho DUA. Kiu ny c th c dng cho c
gii php tn v gii php th mc.
Trong kiu a phn pht (multicast mode), mt yu cu c nh danh v c gi
ng thi ti cc DSA. Mt trong nhng li p c gi tr c DUA chn. Kiu ny
thch hp khi thng tin cu trc l khng c sn.
Mt phng n hp l khi kt hp cc mode thao tc khc nhau. V d, sau bc mt
xch c th l bc chuyn tip.
Tn ti hai cng ngh chung ci tin gii php tn l lu gi tm (catching) v nhn
bn. Tn c dng v a ch ca chng c lu ti mt vng lu tr cc b gim
bt yu cu gii php tn. Cc ng cnh tn cng c nh danh trong cc DSA khc
nhau rt ngn ng gii p. Cui cng, thc th i tng trong th mc c th l
mt b danh hay mt nhm. B danh v Nhm l nhng con tr ti tn cc i tng
khc v ti cc nt l trong DIT. B danh v Nhm lm cho dch v tn/th mc mm
do hn i vi ngi s dng.
Dch v tn l ct yu trong mi h phn tn. Dch v tn trong DCE l v d tt h tr
lp rng ln cc s tn. Trong h t tr cng tc, dch v tn c m rng h tr
h tng truyn thng nh danh v nh v mi i tng t tr trong h thng v
qun l kt ni v phn pht d liu gia cc i tng. B mi gii nhu cu i tng
- The Object Request Broker (ORB) l mt phng tin trung tm nh vy trong kin
trc CORBA i vi h t tr cng tc.
4.5. Loi tr rng buc phn tn
Chng 3 m t ba cch TT chnh l mt chiu, Client/Server v ngang hng. ng
dng s dng TT mt chiu thng khng cn ng b, TT Client/Server dng cho
nhiu my khch to ra nhng yu cu dch v chia x my ch. Nu i hi s cng
tc t cc my khch th n c iu khin bi my ch v khng r rng gia cc
QT x l ca my khch. Nhng TTLQT khng ch gii hn trong vic to ra cc yu
cu dch v. i khi cc QT cn trao i thng tin vi nhau to ra kt lun no
v h thng hoc tho thun no gia cc QT cng thc hin. Nhng hot ng ny
i hi TT ngang hng: khng c s chia x i tng hoc tp trung thnh phn iu
khin. Hai mc cn li ca chng ny trnh by v nhng vn xy ra trong cng
tc phn tn khi s dng TT ngang hng.
Ni dung u tin v cng tc phn tn kiu phn tn khi xem xt vn ng b loi
tr rng buc kinh in (mc 4.5). Tip theo, xem xt mt lp quan trng cng tc

- 113-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
phn tn khc da trn bu th lnh phn tn (mc 4.6). Mc tiu c bn l ch ra
nhng khi nim v vn c bn trong cng tc phn tn.
Loi tr rng buc m bo rng cc QT ng thi a ra cc truy nhp ti ti nguyn
hoc d liu chia x (cp nht CSDL hoc gi tn hiu iu khin ti thit b vo-ra).
Thut ton loi tr rng buc trong h phn tn hot ng theo ng ngha loi tr
nhau (vi tnh cht tin b no ) m ch s dng phng thc TT ngang hng. Thng
thng, s dng hai cch tip cn sau gii bi ton loi tr rng buc l da theo
cnh tranh v da theo iu khin (Thng qua tn hiu iu khin - dng th bi).
Tip cn da theo cnh tranh c hiu l mi QT cnh tranh mt cch t do v bnh
ng ly quyn c ti nguyn chia x khi dng yu cu v tiu chun quyt nh.
Tiu chun quyt nh c th da trn s ln yu cu, tnh cht cc yu cu hoc biu
quyt.
Trong tip cn iu khin, th lgic biu din quyn truy nhp ti i tng chia x
c chuyn theo kiu quy nh gia cc QT cng tc. QT gi th c php i vo
khng ti hn.
Cc QT cn cnh tranh th loi tr rng buc trong thut ton tip cn iu khin.
Trong tip cn iu khin tng tranh, th iu khin c phn b theo cch c th
t, hiu qu v tt p. C nt tng t gia loi tr rng buc phn tn ca HH vi
iu khin truy nhp trung gian ca LAN.
4.5.1. Loi tr rng buc theo cnh tranh
Cnh tranh vo khong ti hn c quyt nh nh bt k tiu chun nhm tho b
rng buc khi cc yu cu ng thi xut hin. Hp l nht l cp cho QT a ra cu
hi sm nht (theo thi gian logic) hoc QT nhn c nhiu phiu bu nht t cc QT
khc. Gi hai phng n khc nhau ny l cc s u th tem thi gian v phiu bu.
a) S u th tem thi gian
Trong s u th tem thi gian, s dng khi nim ng h lgic lm th t tng
cng ca yu cu i vo khong ti hn. Thut ton loi tr rng buc phn tn
Lamport hot ng nh sau:
(1) QT yu cu vo khong ti hn qung b Request ti tt c cc QT khc
(k c n). Mi QT duy tr mt dng i cc REQUEST cha gii quyt vo dng i
ca mnh c sp xp theo tem thi gian.
(2) Khi nhn c REQUEST, QT lu T vo hng i yu cu ca mnh v gi
li REPLY ti QT pht ra yu cu.
(3) Khi hng i ca QT yu cu (pht ra REQUEST) thu thp c N-1 REPLY
(lc ny REQUEST ang nh hng i) th QT ny c php vo khong ti hn.
(4) Khi vo khong ti hn, QT gi thng bo RELEASE ti tt c cc QT v cc
QT ny gii phng REQUEST khi hng i ca n.
nh gi thut ton:
Tng s thng ip hon thnh mt ln vo khong ti hn l 3*(N-1) vi N l s
lng cc QT ang thc hin.
Ci tin thut ton Lamport
Khi quan st T REPLY b xa c th kt khi QT i vo khong ti hn, Ricard v
Agrawala rt gn phc tp T ca thut ton Lamport. Mt s ci tin nh sau:

- 114-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
(1) Nu QT nhn REQUEST khi n ang trong khong ti hn ca n, hoc n
gi mt REQUEST m c tem thi gian nh thua tem thi gian ca REQUEST
ang ti th n lm tr vic pht REPLY.
(2) Ch khi QT thu nhn c mi (N-1) REPLY th mi c i vo khong ti
hn. Ch rng QT ginh dc mi REPLY ch khi n tr thnh QT c u tin cao
nht.
Bn cht l tch hp hai thng ip REPLY v RELEASE, s lng 2*(N-1) T. Thi
hnh thut ton u th tem thi gian l n gin. ng h lgic trong mi QT c
tng trng theo s xut hin ca T thit lp th t gia gi v nhn ca cc QT v
h qu l th t tng cng ca mi yu cu. Thut ton t c loi t rng buc v
pht trin b qua s tr hon mp m ca bt k QU yu cu.
b) S phiu bu
Theo thut ton Lamport (hoc Ricard v Agrawalia), ch cn mt QT khng sn sng
l kha cng khng sn sng. Cn a ra s m QT khng phi cn giy php ca
tt c cc QT khc vo khong ti hn. Ging nh cuc ua chnh tr, ngi thng
cuc c th c xc nh trc khi cc phiu bu cui cng c kim.
C th p dng s ny cho loi tr rng buc phn tn. QT cn vo khong ti hn
c coi l ng vin. L phiu l T REPLY. QT no nhn c a s phiu th thng
cuc, c ngha l c php vo khong ti hn.
(1) Khi nhn c REQUEST, QT gi REPLY tr li ch khi n cha gi (bu)
cho mt ng vin khc. Mi khi QT bu c, khng cho php n gi thm bt k
mt REPLY mi cho n khi phiu bu quay v (thng ip RELEASE).
(2) ng c vin thng cuc i vo khong ti hn l QT nhn c a s phiu
bu. Do ch c mt ng vin nhn c a s phiu bu nn loi tr rng buc c
m bo.
C th xy ra vn b tc trong s phiu bu l c ba ng vin m mi t chng
nhn c mt phn ba s phiu bu. V mng tng s trong ng vin vi hu
ht phiu s l ngi thng cuc. Tuy nhin, s ny tr nn phc tp hn v tn
km truyn thng loi b rng buc.
Nh gii php chn la, mt QT c th thay i phiu bu ca n khi nhn c yu
cu t ng vin hp dn hn. Mi QT duy tr tem thi gian Lamport v gn tem vo
thng ip REQUEST.
Nu QT b phiu m nhn c REQUEST vi tem thi gian nh hn so vi tem
thi gian ca ng vin m n bu th QT ly li phiu bu bng cch gi T
INQUIRE ti ng vin. Nu ng c vin ny cha vo khong ti hn th n gi tr li
l phiu ca ngi bu bng T REINQUISH (ngc li, khi QT o trong khong
ti hn th gi T RELEASE). Khi QT nhn li phiu bu, n b phiu cho ng c
vin c tem thi gian nh nht. Kt qu l ng c vin no s vo khong ti hn v
ch mt trong s cc ng c vin c tem thi gian ngn nht.
nh gi
Quy tc u th trong bu c i hi 0 (N) T cho mt thc th khong ti hn (nhiu
hn nu xy ra b tc). Ci tin thut ton nhm vo rt gn tng ph T bng cch
gim s phiu cn thit vo khong ti hn. Mi QT i c tp yu cu Si v mi QT
cn nhn c phiu bu t mi thnh vin trong tp yu cu vo khong ti hn.
Nhm m bo loi tr rng buc, mi tp yu cu phi ri nhau (SiSj=null vi mi
cp tp yu cu khch nhau). Cc tp yu cu hp l cho loi tr rng buc thng
- 115-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
c coi l tp quy nh (quorum), v tp cc tp yu cu c coi l phi (coterie).
Cn c cc iu kin khc cho tp quy nh v phi khng quan h trc tip vi tnh
chnh xc song ng c thi hnh. Nu khng c mt tp quy nh no l tp con
thc s ca mt tp quy nh khc th phi l ti thiu. Nu cc tp quy nh cng kch
thc th phi i hi s c gng nh nhau v trch nhim nh nhau.
Trong tnh hung vi tp iu kin cn c cho, bi ton xc nh phi m bo cc
tnh cht mi tp quy nh c cng kch thc ti thiu. Hp l mi tp quy nh c c
O( N ).
4.5.2. Loi tr rng buc da vo th bi
Mc d cc thut ton loi tr rng buc phn tn da theo cnh tranh tuy c tnh hp
dn song tng ph T li cao. Mt la chn thut ton da theo cnh tranh khc l
dng th bi iu khin hin, s hu n c quyn vo khong ti hn. Nu ch c
mt th bi, loi tr rng buc c m bo. Cc phng php khc nhau v yu cu
v chuyn th bi cho hiu nng v tnh tt p khc nhau. Nhm m bo rng yu
cu i ti QT gi th v th i ti c QT yu cu, thut ton i hi mt cu trc
lgic ca tp cc QT. Ba cu trc thng gp l cy (Tree), vng (Ring) v qung b
(Broadcast).
Cu trc vng (Ring structure)
Cc QT c ni theo mt vng logic v mt th bi di chuyn trn vng. QT s hu
th bi n c php vo khong ti hn. Khi kt thc khong ti hn (nu c), QT
chuyn th bi ti QT k tip trong vng. Cu trc vng n gin, d thc hin v
trnh c b tc. Tuy nhin, th bi cn lu chuyn trong vng thm ch khng c QT
no mun vo khong ti hn ca n to ra giao thng mng khng cn thit. Hn na,
mt QT mun vo khong ti hn buc phi ch cho ti khi th bi xut hin. Vic ch
i ny c khi rt ln, ngay c khi khng c mt QT khc mun vo khong ti hn, v
rng th bi buc phi di chuyn theo vng ln ca vng mi ti c QT yu cu. Khi
s lng yu cu vo khong ti hn cao, thut ton vng lgic lm vic tt v th bi
ch phi chuyn rt t bc trong vng QT vo khong ti hn.
Ci tin ng ghi nhn ca tip cn da theo th bi so vi tip cn da theo cnh tranh
l th bi c dng mang theo trng thi. V d, mt s u th c th thi hnh
bng vic gn thng tin u tin vo th bi. QT xc nhn th bi ch khi n nhn c
th bi v u tin ca n cao hn u tin gn trn th bi. u tin c th c
ngi dng xc nh hoc dng tem thi gian.
Cc chun IEEE 802.4 (Token Bus) v IEEE 802.5 (Token Ring) i vi LAN s dng
phng php ny. Cc giao thc LAN chun ny c t cc th tc cu hnh vng,
kim sot u tin v li h thng. S khc nhau c bn l l gi thit v kin trc
mng. Token Bus v Token Ring dng kin trc kin trc tuyn v vng phn cng,
trong khi quan tm loi tr rng buc dy l bi ton mc ng dng v khng c mt
gi thit no v mng h tng. Chc nng giao thc i hi nng lc chng hn gim
st tuyn trong Token Bus khng th c thi hnh trong mc ng dng. Tuy nhin,
dng th mang thng tin gia cc nt cng tc c th to thun li cho cng tc phn
tn.
Cu trc cy (Tree Structure)
Vn ny sinh trong cu trc vng l th bi ri (Th bi khng c s dng) c di
chuyn mi trn vng khi khng c QT no cn n n. Mt la chn khc l QT cn
khng nh r yu cu th bi v ch di chuyn th bi khi bit c yu cu cha quyt
- 116-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
nh. Do yu cu buc phi tm c th bi, c th dn ti tnh hung tr hon v b
tc khng r rng. C th thy rng cu trc vng khng l tt nht t c th bi
v ng i di (cho yu cu hoc cho th bi), m trng hp ti nht cn n-1 on (n
l s nt trong vng). gii quyt vn ny, thut ton Raymond s dng cu trc
cy lgic (Hnh 4.20).
Trong cy logic, th bi lun thng trc ti gc cy. Ch l mi tn v gc cy, l
ngc vi quy c thng thng. Mi nt cy th hin v tr logic hin ti ca mt QT.
3

4
3

4
3

Hnh 4.20. Truyn th bi cu trc cy

Khi mt QT yu cu th bi, n gi yu cu theo ng i ti gc. Nu thnh cng, th


bi s chuyn ti nt v to thnh mt cy logic mi vi gc l nt nhn th bi.
y ch trnh by nhng ni dung c bn nht ca thut ton Raymond.
Mi QT duy trnh mt dng i FIFO cc yu cu v hng ti QT tin nhim trc
tip (ch ca cung xut pht t QT ang xt). Khi mt QT nhn c mt yu cu, n
b sung yu cu vo cui ca dng i FIFO. Nu dng i rng v n khng c
th bi th QT cn thc hin thao tc chim gi th bi thng qua vic n yu cu th
bi t QT tin nhim. Ngc li, QT hoc c th bi hoc s sm nhn c th bi,
n khng a ra mt thao tc no. QT yu cu th bi c sinh ra theo yu cu cc b
m biu din nh tin trnh trn.
Khi QT c th bi m khng s dng n v c dng i FIFO khc rng, n tho b
thc th QT u tin t dng i FIFO v gi th bi ti QT ny. iu kin khi ng
xut hin khi mt yu cu i ti, khi th bi i ti hoc QT gii phng th bi. Do QT
khng gi th bi lu nn n thay i con tr ti QT m n s gi th bi ti. Nu dng
i FIFO khc rng, QT cn ginh li th bi, v vy n gi yu cu ti QT mi nm
gi th bi. Mt loi b xut hin nu QT l thc th u tin trong dng i FIFO.
Trong trng hp ny, QT ang trong khong ti hn.
Hnh 4.20 ch dn cch cu trc cy thay i ng. Th bi c khi ng ti nt 1.
Nt 4 mun chim th bi sm nht, a ra thao tc yu cu th bi ti nt 3. Theo ,
nt 3 chuyn tip yu cu t nt 4 ti nt 2. Th bi di ch t nt 1 ti nt 4 thng qua
cc nt 2 v 3. Nt 3 chuyn th bi v gi yu cu ti nt 4 do dng di ti nt 3 khc
rng (nt 3 yu cu th bi sau nt 4). ng v trong hnh l cc thay i ch dn di
ch th bi v s trong cc hp cho bit ni dung ca cc yu cu theo cc bc.

- 117-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Thut ton l thi hnh phn tn dng i FIFO ton cc. Dng i FIFO cc b lin
kt vi FIFO ton cc s dng kin trc cy lgic. Tnh phi chu trnh ca cu trc cy
lm cho n t c ci khng th t c t danh sch i vng, loi b kh nng b
tc. Mi nt biu din cy con gi yu cu n ti nt tin nhim, a yu cu th bi
i vi thc th cy con. Dng yu cu ti mi nt cho th t u tin cc yu cu t
cy con ngi thng cuc theo th t FIFO m bo tnh tt v tnh t do khi s tr
hon mp m. Cy lgic c th thay i kin trc lgic ca n nhm lm tng hu lc
bn cht. Mt s gii php ci tin c xut.
Cu trc qung b
S dng kin trc lgic lm tng tnh hiu qu song vic thi hnh thut ton li phc
tp hn do phi khi to v duy tr kin trc . Trong sut hn v l iu mong mun
cho truyn thng nhm l khng cn nhn thc v kin trc. Cc thut ton loi tr
rng buc da theo cnh tranh trc y dng qung b v gii quyt cnh tranh bng
tem thi gian hoc phiu bu. Nu s dng cch qung b cnh tranh th bi, th
bn cht vn l thut ton da theo cnh tranh. Tuy nhin, y l mt ci tin ng k
dng th bi. Th bi c th mang thng tin ton cc hu dng cho cng tc QT. Th
bi iu khin cho loi tr rng buc c tp trung ha v c dng xp hng cc
yu cu ti khong ti hn. l nhng ni dung c bn nht ca thut ton qung b
Suzuki/Kasami.
Th bi iu khin tng ng vi mt cu trc d liu cha mt vector th bi T v
mt dng xp hng cc yu cu Q. Thc th trong T c ch s ha bng s hiu QT
v trnh by s tch lu vic hon thnh khong ti hn ca QT tng ng. Mi QT gi
mt s hiu dy cc b, chnh l s ln QT i hi vo khong ti hn. S hiu dy
ny c gn vo mi T REQUEST m QT ny qung b. Mi QT p cn duy tr mt
vector dy Sp, cha ch s dy cao nht ca mi QT m p chp nhn. Dng i yu cu
trong th bi l danh sch cc yu cu theo th t FIFO. Hot ng ca thut ton
c trnh by nh di y.
Thut ton Suzuki/Kasami
(1) yu cu vo khong ti hn, QT i qung b T REQUEST km theo s
hiu dy c tng seq = Si[i] ti tt c cc QT trong nhm,
(2) Mi QT j khi nhn c T REQUEST t QT i, cp nht vector dy qua tnh
ton Sj[i] = max (Sj[i], seq). Nu Sj[i]=T[i]+1 v QT j ang mang th bi ri (tc hng
i Q rng) th n gi th bi ti i.
(3) QT i nhn c th bi v vo khong ti hn. Dng i yu cu trong th bi
c Q khc rng nu th bi c chuyn t mt QT bin i Q. Vo lc hon thnh
khong ti hn, QT i cp nht vector th bi bng cch t T[i]=Si[i] v so snh Si vi
T b sung vo Q mi QT c Si[k]=T[k]+1 vi ki nu chng cha sn trong dng
i yu cu. Sau khi cp nht Q, QT i loi nh ca dng i yu cu v gi th bi ti
QT trn nh (sau khi loi nh). Nu Q rng, th bi li vi i.
1
2
3
4
1
2
3
4
*
QT 1
15 20 11
9
15 20 10
8
3
4
QT 2

14

21

10

8
*
- 118-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy
QT 3

15

21

11

15

20

11

4
2
*
QT 4
15 21 10
9
15 20 11
9
2
Cc vector tun t Si
Vector token T
Dng di token T
Hnh 4.21. Thut ton qung b da theo th bi
V d c minh ha thut ton cho trong hnh 4.21 vi bn QT cng tc, vector
dy l (14, 20, 10, 8). Ban u QT 1 ang gi th bi v vo khong ti hn, ba QT kia
yu cu th bi. Do s tr ca mng gia QT1 v QT 2, gi s 3 v 4 gi yu cu ti
QT 1 trc. QT 1 chp nhn yu cu t 3 v 4. N b sung cc yu cu ny vo hng
i v gi th bi ti QT 3. Thc th nh ca dng i yu cu (v tr du *, l s 3) b
loi khi dng i yu cu trc khi th bi c gi ti QT 3. Sau khi QT 3 kt thc,
n b sung yu cu ca QT 2 vo hng i th bi v gi th bi ti QT 4. Cui cng,
QT 4 chuyn tip th bi cho QT 2 v th bi nm li y do khng cn yu cu th
bi.
Thut ton qung b th bi l n gin v hiu qu, c bit vi h thng c
phng tin qung b hiu qu. Tuy thut ton Suzuki/Kasami khng hon ton phn
tn nh tip cn da theo cnh tranh, song dy cng khng c iu khin tp trung
v qun l th bi chia x l phn tn. Ch c cnh tranh loi tr rng buc l thi hnh
tp trung bi dng i FIFO th bi. Thut ton khng b b tc hoc b st.
4.6. Bu th lnh
S dng b iu khin tp trung lm cho ng b QT tr nn n gin. Tuy nhin, b
iu khin tp trung li l tm im ca li v lm hn ch hiu lc ca dch v. Vn
c gim nh nu b phi hp (b iu khin - th lnh) mi c chn chng li
li ca b phi hp hin thi. Bu th lnh lin quan ti vic bu mt QT th lnh duy
nht, c mi QT khc trong nhm bit. Vic bu th lnh xut hin trong lc khi
to h thng hoc khi th lnh hin thi b hng. Qu trnh bu th lnh mi c kch
hot khi li c pht hin hoc c nghi ng. Khm ph li thng thng da vo qu
hn. Mt QT khng nhn c tr li t th lnh trong ngng qu hn c xc nh
truc a n vic nghi ng th lnh b hng v khi to qu trnh bu th lnh. Ch
rng bo ng sai c th xut hin, v thut ton bu th lnh phi bit c tnh hung
ny. Cc bo ng sai s him nu ngng qu hn c chn thch hp.
Trong thut ton ng b theo th bi, QT gi th bi c th c coi l th lnh ca h
thng. Trong trng hp ny, vai tr th lnh c lun phin gia cc QT v QT
khng cn bit nh danh ca th lnh hin thi. Mt th bi tng ng li ca th
lnh.
Tn ti hai chin lc bu th lnh: (1) bu th lnh da trn u tin ton th (global
priority). Kiu ny c gi l tm kim cc tr (extrrma finding), (2) cc QT trong
nhm bu" th lnh da trn nhng a thch ring t (v tr, tin cy vv..) Lp s
phiu bu c gi l thut ton bu th lnh da theo a thch (preference-base).
Chin lc phiu bu (2) l ph dng hn chin lc tm kim cc tr (1). V d, mt
ng c vin mnh hn ngi khc hoc nhn c nhiu phiu bu hn l kt qu ca
quyt nh phc tp hn v hu qu d on c t hn.
Theo nhiu kha cnh, bu th lnh v loi tr rng buc phn tn l nh nhau, c hai
u c gng t ti s ng thun nh danh mt QT duy nht. Tuy nhin, tn ti mt
s khc bit th v. Trong bu th lnh, QT c th chu thua mt QT khc tr v
trng thi hot ng bnh thng ca mnh cho n khi th lnh c la chn, cn
- 119-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
trong loi tr rng buc phn tn, QT cnh tranh cho n khi n thnh cng. Thut
ton loi tr rng buc phi m bo rng khng c QT no b lng qun trong khi
thut ton bu th lnh li c gng y nhanh v kt thc kt qu qu trnh bu c. Nt
c bit na l kt qu ca bu th lnh phi c thng bo cho tt c cc QT khc.
Vi loi tr rng buc, nu cha tham gia vo khong ti hn th QT khng quan tm
bt c QT no hin ang khong ti hn.
Ging nh thut ton loi tr phn tn, thit k ca thut ton bu th lnh cng ph
thuc vo gi thit cu trc kin trc ca nhm QT. Ba loi kin trc thng dng l y
, vng v cy c trnh by trong phn tip theo. Trong thut ton, hai QT khc
nhau c u tin khc nhau.
4.6.1. Kin trc y
Trong kin trc y , mi QT trong nhm tham chiu ti cc QT khc trong cng
nhm ch cn gi mt T. T bu c c gi theo ch im-im t QT ny n
QT khc. Gi thit u tin trong mi trng HH l tt c ch s cc QT phi duy
nht v mi QT khc u bit. Do tin trnh bu th lnh c khi xng bng pht
hin li, gi thit tip theo l v m hnh li v c ch pht hin li. n gin, gi
s c m hnh li ngy th. Gi thit th hai l mng truyn thng l tin cy v ch c
QT truyn thng c th b li. H mng TT tin cy c ngha l T truyn i khng bao
gi b tht lc, thay i, b trng lp v c phn pht ng th t trong thi gian hu
hn bit. Gi thit th ba lin quan n li ca QT. Mt QT nm gi T trong mt
khong thi gian hu hn bit. Li QT ngng tnh ton v khng sinh ra T bo li
lm h thng ln ln. Hn na, khi QT khi phc, n c kinh nghim v li. Gi thit
th hai v th ba to hp l nhn bit li v gn li nt li vo nhm. Li c pht
hin tin cy bng khi to mt khong qu hn s lm tng cht t tng tr T kh
hi v thi gian x l T. QT b li c gn vo nhm bng bu c bt buc trong
khi khi phc QT. Nh mt la chn, QT b li tin tng vic cng tc bng vic bu
c nh k i vi cc QT c khi phc s c gn vi nhm. Vi nhng gi thit
trn y, Garcia-Molina xut thut ton bu th lnh in hnh, c gil thut
ton k mnh (bully).
Thut ton Bully l thut ton tm kim cc tr. Mi QT c u tin ton cc (c th
dng ch s QT), QT no c u tin cao nht l th lnh c bu. Mt QT bt u
bu th lnh nu n nghi ng b phi hp b s c (v d nh, pht hin bng ngng
qu hn) hoc khi n khi phc sau s c. QT bt u bng vic gi mt T d hi
are-you-up ti mi nt c u tin cao hn kim tra s tn ti ca cc QT .
Nu t nht c mt T tr li cho T d hi trn th QT t t b c gng ng c v ch
nt c u tin cao hn ng c.
Nu khng c T tr li no t cc nt c u tin cao hn th QT t t mnh lm
th lnh bng cch gi T yu cu enter-election ti mi nt c u tin thp hn.
T enter-election bo cho cc QT c u tin thp hn bit l tin trnh bu c ang
xy ra v cc QT ny nn chun b chp nhn v giao tip vi n theo vai tr th lnh
mi. Bu c ch hon thin cho n khi kt qu c gi v nhn t mi nt ang hot
ng c u tin thp hn.
Ti cng thi im, c th mt vi QT cng t ng c vai tr th lnh. Chng hn, QT
c u tin cao b li c khi phc vo thi im ang din ra mt cuc bu c.
m bo tnh nht qun, QT chuyn vo trng thi tm thi khi nhn T enterelection. QT ng c t khai bo tr thnh th lnh mi ch sau khi nhn c tr li
ca mi T enter-election hoc qu hn thi gian tr li t mi QT c u tin thp
hn. Lc ny mi QT hoc b li, thc hin th tc khi phc, hoc ang trng thi
- 120-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
tm thi. iu ny m bo QT khi to khai bo t l th lnh, do khng cn QT no
khc ngh rng cn c mt th lnh khc.
Cui cng, QT khi to phn b trng thi mi v thng bo cho mi QT khc bit n
l th lnh trong tnh ton mi.
4.6.2. Kin trc vng logic
Thut ton bu th lnh s ht sc n gin nu cho trc kin trc c nh kt ni mi
QT cng tc. Do kin trc ch c dng thun tin truyn thng, gi thit kin trc
n gin nht l kin trc vng logic.
Vng logic l d dng xy dng v cho mt thuc tnh c mt khng hai l T c
gi t bt k nt no cng c th tr v nt , biu din mt vng thao tc hoc
qung b m khng cn thm tri thc.
tm QT c u tin cao nht trong vng logic, QT khi to bt u tun hon T
nh gn vo T u tin (hoc nh danh id) ca mi nt dc theo vng. Khi T
quay tr li nt khi to, n chn QT c u tin cao nht trong T v qung b
nh danh th lnh mi ti mi nt, mt vng na gc theo vng. Thut ton c th
c ci tin theo hai hng. Th nht, khng cn thit phi thu thp mi nh danh
vo T n. tm nh danh ln nht, mi nt n gin ch chuyn tip gi tr ln
hn gia nh danh ca n v gi tr nhn c trn ng truyn ti nt tip theo.
Theo cch ny, nh danh cc i c c ni ln dc theo vng v cui cng thu
c nt th lnh. Th hai, nt ri vo tin trnh bu c khng cn quan tm n T
ngoi tr T cha gi tr cao hn so vi nh danh ca bn thn n.
Thut ton vng lgic ci tin do Chang v Roberts pht trin, c trnh by trong
hnh 4.22.
Nt khi to khi ng participant = true v send (id) ti nt tip theo ;
For mi nt_QT,
receive(value);
case
value > id: participant := true, send (value);
value < id and participant == false: participant := true, send (id);
value = id: cng b th lnh
end case
Hnh 4.22. Thut ton bu c vng ca Chang v Robert

Mi QT u c bin cc b l participant (c khi to l false) cho bit QT ny


tham gia vo tin trnh bu c hay cha. QT khi to d b bt u bu c bng vic
gi T cha nh danh ca n. Mi QT nhn T so snh nh danh ca n vi gi tr
ti T. Gi tr ln hn c chuyn tip ti nt tip theo v QT t gi tr cho bin
participant=True.
Mt QT tham gia tin trnh bu c, nhn c T bu c c gi tr nh danh nh
hn ca n th n khng chuyn tip T na. Th lnh tm c khi T mang gi tr
cc i i mt vng v tr v nt nt c nh danh ln nht. Khi , th lnh gi
nh danh ca n ln ton b vng, thng bo ti mi nt v b phi hp mi v th
gi tr bin participant ca cc nt l False.

- 121-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Tnh hung bnh thng, khi ch c mt b khi to, thut ton ca Chang v Robert
mt trung bnh N/2 T t c nt nh danh ln nht v mt khong N T khc
quay tr v. Nh vy, phc tp thi gian v T ca thut ton l O(N). phc
tp cao hn trong trng hp c bit khi mi nt u khi pht vic bu c cng lc.
Nu khng ti u, N khi to bu c chim mi ci 0(N) T, v tng cng c 0(N2).
c gi. Nh vy, trng hp tt nht v ti nht ca thut ton vng lgic tng ng
l O(N) v O(N2), ph thuc vo nh danh cc nt trn vng c xp tng dn
hoc gim dn.
Mt s thut ton bu th lnh vng vi phc tp T trong khong O(NlogN)
c xut. T tng ca cc thut ton ny l gim khi to bu c t nt u tin
thp cng nhiu cng tt, bt lun th t kin trc ca cc nt. iu ny thc hin bng
cch so snh nh danh mt nt vi nh danh hai nt k cn ca n. Nt khi to
trng thi ch ng nu c nh danh ln hn nh danh ca hai nt k cn. Ngc li
n tr thnh b ng v ch c quyn nhn T. Cch ny loi b hiu qu t nht
mt na cc nt mi vng chuyn T v kt qu ch cn log(N).
Hng tip cn ny i hi vng hai chiu. Vi vng mt chiu, c hiu qu tng
ng vi so snh ba nt khi dng b m lu hai T lin tip, trc khi mt nt c
xc nh l ch ng hoc b ng.
4.6.3. Kin trc cy
Trong thut ton bu th lnh theo vng logic, cha tnh n vn qun l vng logic.
Ni ring, xy dng vng nh th no v lm cch no duy tr hnh trng vng khi i
ph vi s c nt. Xy dng v qun l kin trc vng logic l d dng hn nu h tng
mng c cc knh truyn thng chia x, sn c cc phng tin phn cng qung b.
Vng li c pht hin v cu hnh li mt cch hiu qu nh vic gim st v qung
b T trn knh. Trong cc mng ph dng hn vi vi kin trc mng bt quy tc,
qung b c m phng bng n pht im-im phc. Mt s phng php xy
dng vng logic trong mng bt quy tc c xut. ch li ca vic c kin trc
lgic l r rng. N xc nh v kt ni nhm QT, thun tin trong vic bu th lnh v
c dng mt cch hiu qu truyn thng gia th lnh v cc nt con.
Cy bao trm c dng nh cu trc kin trc biu din vic vic lin kt gia cc nt
thnh vin trong nhm QT. Mng c N nt c biu din bng mt th vi E cung
ni cc nt. Mi nt c coi l mt thc th t tr c trao i T vi cc nt k cn
n. Gi truyn thng t mt nt ti nt k cn ca n c biu th bng trng s ca
cung ra v c nt bit. Cy bao trm cp N l mt cy biu din mng N nt vi
N-1 cnh. Cy bao trm ti thiu (MST) l cy bao trm vi tng trng s cc cung l
nh nht. Cy bao trm l mt th phi chu trnh. Nt bt k ca cy u c th c
coi l gc, hay cng th l th lnh ca cy. Mi nt c duy nht mt ng ti gc
a ra yu cu ti th lnh. H qu l, cu trc cy cng c dng trong vic bu c
th lnh mi. Thut ton phn tn xy dng cy bao trm ti thiu trong mt mng l
mt trong nhng vn nghin cu mnh m trong tnh ton phn tn. Bi ton bu
th lnh v cng nh xy dng cy bao trm ti thiu dng c thu gn v nhau.
Mt thut ton phn tn hiu qu gii bi ton ny c chuyn i thnh thut ton
gi bi ton kia vi ch nhng bin i nh.
Gallager, Humbelt v Spira tin phong trong vic xut thut ton tm cy bao trm
ti thiu phn tn. Thut ton ca h da trn cc bc tm kim v kt hp. Thut ton
hp nht cc on, i ra t mi nt hin l on mc 0. Cc on c hp nht li
tng mc theo thut ton Bottom-up cho n khi c on kt qu bao gm cc cung
ca cy bao trm ti thiu. Cc on l cc cy con trng s ti thiu trong cy bao
- 122-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
trm ti thiu. Mi on, mt cch d b v c lp, tm cung ra vi trng s nh nht
ca n v dng cung ny ni vi mt nt trong mt on khc hnh thnh mt
on ln hn ca MST. Cy thu c nh hp nht hai cy con c trng s nh nht
khi s dng cnh c trng s nh nht cho kt qu l cy c trng s nh nht.
Theo mc ch bu th lnh, bt c cy bao trm no cng u p ng c mi nhu
cu. Trng s cc cung khng mang theo trong vic tm th lnh tt nht, v vy cy c
gi ti thiu hay khng l khng lin quan. Tuy nhin thut ton l phn tn v v vy
cy bao trm cui cng buc l duy nht ph hp khi kt thc thut ton. Nu khng,
thut ton c th khng kt thc hoc c th b b tc. y l l do phi tm mt cy
bao trm ti thiu v thut ton hot ng c ch khi cy bao trm ti thiu l duy
nht. iu ny biu th rng mi cung trong th lin thng c trng s duy nht v
cy MST tn ti duy nht. Vi bi ton bu th lnh, gi thit rng cung ra t mt nt
c gn nhn duy nht v gn kt cc nh danh nt. Nu nh danh nt l duy nht
trong ton b h thng th trng s cung cng duy nht.
Th lnh c ch nh nh nt cui cng c hp nht khi sinh ra cy bao trm ti
thiu. C th bu th lnh sau khi cy bao trm ti thiu c xy dng. Nt khi
to qung b T Campaign-For-Leader (CFL: tham gia bu th lnh) cha tem thi
gian lgic, ti tt c cc nt dc theo cy bao trm. Khi T CFL ti mt nt l, nt l
tr li bng cch gi li T bu (Voting, V) ti nt cha ca n. T V n thun
xc nhn ngn cho CFL. Nhu cu T xc nhn l im khc nhau cn bn gia kin
trc vng logic v kin trc cy. Nt cha tip tc gi T bu ti cha ca n sau khi
nhn c T bu t mi nt con. Mt nt con khng bao gi bu trc tip ti CFL
m phi thng qua nt cha ca n. Mt nt kt thc tr li ca n l hon thin vic
tham gia bu th lnh. Sau cc nt ch cng b ca th lnh mi v khng tip nhn
CFL tip theo khc. Nguyn nhn c th mt vi nt khi to trong giai on ny, hai
hoc nhiu hn T CFL cng ti mt nt. Trong trng hp ny, nt nhn s chn nh
cha ca n nt gi vi CFL c tem thi gian b nht. Rng buc c ph v theo
nh danh ca cc nt khi to. Lu , cha ca nt c th c thay i mt s ln
trc khi n y thc cui cng bng vic gi T bu c V mang phiu bu ca mi
cy con ca n. Thut ton ny cho php nt khi to bu c u tin (c tem thi gian
nh nht) tr thnh th lnh. Mt nt thnh cng khi nhn c tt c phiu bu t cc
nt con ca n.
Trong mng vi li hoc thay i cu hnh thng xuyn, gi thit kin trc lun tn
ti cho bu th lnh l iu khng kh thi. Tuy nhin, cy bao trm c th c thit
k cho bt c mng bt quy tc no bng loang T. Loang T l c ch qung b
trong mi nt lp li T nhn c ti mi k cn ca n, ngoi tr nt gi T.
Cui cng, mi nt trong mng nhn c T v v cy bao trm s c hnh thnh.
Dng c ch ny, cc nt khi to loang khp h thng T CFL. Theo s loang T,
rng bao trm vi mi cy c gc mt nt khi to c hnh thnh. Cc T tra li
V c gi quay lui t nt l ti gc. Trong tin trnh ny, mi nt t thay i cha ca
n ti nt gi CFL c tem thi gian nh nht. Nt thng li khi loang l T CFL vi
tem thi gian nh nht v n c php truyn b. T loang thng li tip qun khng
gian ca nt thua v ngay lc i tm cc nt con cha tr li. Khi nt khi to nhn
c mt tem thi gian nh hn, nt khi to ny b chinh phc v tr thnh mt nt
bnh thng vi mt nt cha. Cui cng, ch cy bao trm vi tem thi gian n nht
thng th. Do thut ton dng loang v coi nh khng cn mt kin trc cy c nh
trc khi khi to vic bu th lnh, thut ton loang mnh m trong cc mng nhiu
li.

- 123-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

Cu hi v bi tp
4.1. Cc phng php nh danh thc th truyn thng trong dch v nguyn thu gi
v nhn.
4.2. Cc phng n ng b trong truyn thng CT.
4.3. S chuyn i t khi nim ng dn sang khi nim ng dn c tn mang ngha
g ?
4.4. Hy m t truyn thng socket client/server hng kt ni.
4.5. Trnh by giao thc bt tay Handshake trong truyn thng Socket an ton.
4.6. Truyn thng nhm theo th t tng hai pha v so snh vi th t FIFO v th t
nhn qu.
4.7. Khi nim nn trong truyn thng RPC. Thi hnh RPC.
4.8. Phng php truyn tham s v bin i d liu trong thc hin li gi RPC.
4.9. Xc thc nhau ca khch v phc v trong truyn thng RPC.
4.10. Ni dung RPC an ton ca SUN.
4.11. Cc tnh cht ACID v giao thc cam kt hai pha trong truyn thng giao dch.
4.12. Phn bit gii php tn v a ch. Vic chia tch thnh hai gii php nh th c
li im g ?
4.13. Thi hnh gii php tn.
4.14. Loi tr rng buc theo cnh tranh (s tem - thut ton Lamport v s
phiu bu)
4.15. Loi tr rng buc theo th bi (cu trc vng, cu trc cy v cu trc qung b
- thut ton Suzuli/Kasami).
4.16. Bi ton bu th lnh v thut ton theo kin trc vng lgic.

- 124-

H Quang Thy

Bi ging H iu hnh phn tn (Phn 1)

chng V. lp lch qu trnh phn tn


Phng tin TT v ng b l cc thnh phn h thng thit yu h tr vic thc hin
ng thi cc QT tng tc. Trc khi thc hin, QT cn phi c ln lch (lp lch)
v nh v ti nguyn. Mc ch chnh ca lp lch l nng cao o hiu nng tng
th h thng, chng hn thi gian hon thnh QT v tn dng b x l. Vic tn ti cc
nt x l phc trong h phn tn lm ny sinh vn thch thc cho lp lch QT trn
cc b x l v ngc li. Lp lch khng ch c thc hin cc b trn mi nt m
trn ton b h thng. Cc QT phn tn c th c thc hin trn cc nt x l t xa
v c th di tr t nt ny ti nt khc phn b ti nhm tng hiu nng. Mc ch
th hai ca lp lch l thc hin trong sut nh v v hiu nng bng lp lch QT phn
tn.
Vn lp lch QT (hay cng vic) c kho st rng ri i vi nghin cu iu
hnh. c nhiu kt qu l thuyt v phc tp ca lp lch b a x l. Tuy nhin,
lp lch QT trong h phn tn cn cp cc ch thc t thng b b qua trong
phn tch lp lch a x l truyn thng. Trong h phn tn, tng ph TT l ng k, tc
dng ca h tng c s khng th b qua v tnh ng ca h thng phi c nh
v. Cc thc t ny gp phn to thm s phc tp ca lp lch QT phn tn.
Chng ny a ra m hnh nhm t c hiu qu h tng TT v h thng khi lp
lch. Lp lch QT phn tn c t chc thnh hai ni dung: lp lch QT tnh, v chia
s v cn bng ti ng. Thi hnh thut ton lp lch phn tn i hi thc hin t xa
v/hoc nng lc di tr QT trong h thng. Mt s vn thi hnh thc hin t xa v di
tr QT c cp. Kt thc chng gii thiu h thng thi gian thc phn tn, trong
lp lch l khong ti hn thi gian v xng ng c quan tm c bit.
5.1. M hnh hiu nng h thng
Cc thut ton song song v phn tn c m t nh tp QT phc c chi phi bng
cc quy tc iu chnh tng tc gia cc QT. nh x thut ton vo mt kin trc
c xem xt nh b phn ca thit k thut ton hoc c xem xt mt cch ring
bit nh bi ton lp lch i vi mt thut ton cho trc v mt kin trc h thng
cho trc. Chng 3 s dng m hnh th m t TT QT v ti y xem xt tng
tc QT theo m t tng qut nht theo thut ng nh x. Hnh 5.1 cho v d n gin
v mt chng trnh tnh ton gm c 4 QT c nh x ti mt h thng my tnh kp
vi 2 b x l. Tng tc QT c biu din khc nhau theo ba m hnh.
Trong m hnh QT i trc hnh 5.1 (a), tp QT c biu din bng mt th nh
phng phi chu trnh (DAG-Directed Acycle Graph). Cung c hng biu th quan h
i trc gia cc QT v chu tng ph truyn thng nu cc QT kt ni vi nhau bng
mt cung c nh x ti 2 b x l khc nhau. M hnh ny c ng dng tt nht
cho cc QT ng thi c sinh ra do cc cu trc ngn ng ng thi nh
cobegin/coend hay fork/join. Mt o hu dng cho lp lch tp QT nh vy l lm
gim thi gian hon thnh bi ton xung mc ti thiu, bao gm c thi gian tnh
ton v TT.
M hnh QT TT trong hnh 5.1 (b) m t mt kch bn khc, trong QT c to ra
cng tn ti v truyn thng d b. Cung v hng trong m hnh QT TT ch m t
nhu cu truyn thng gia cc QT. Do thi gian thc hin trong m hnh l khng r
rng nn mc tiu lp lch l ti u tng gi truyn thng v tnh ton. Bi ton c
chia theo phng php nh vy lm gim n mc ti thiu chi ph truyn thng lin-

- 125-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
b x l v gi tnh ton ca QT trn cc b x l. M hnh ca QT i trc v truyn
thng l cc m hnh QT tng tc.

b) M hnh QT truyn thng c) M hnh QT khng kt ni

Hnh 5.1. Phn loi qu trnh

M hnh QT c lp hnh 5.1(c), tng tc QT l ngm nh, v gi s rng cc QT


c th chy mt cch c lp v c hon thnh trong thi gian hu hn. Cc QT
c nh x ti cc b x l sao cho tn dng c cc b x l mt cch ti a v
lm gim thi gian quay vng cc QT xung n mc nh nht. Thi gian quay vng
cc QT c xc nh nh tng thi gian thc hin v xp hng do phi ch cc QT
khc. Trong trng hp ng, cho php QT di tr gia cc b x l t hiu qu
trong chia x v cn bng ti. Nu QT c php di tr t nt c ti ln n nt c ti
nh th nh v ban u cc QT l cha ti hn. Hn na, hiu nng c ci tin ng
k do lch cc QT tr nn thch ng vi s thay i ti h thng. Chia x v cn bng
ti khng hn ch cc QT c lp. Nu QT truyn thng vi mt QT khc th chin
lc di tr nn ch cn bng cc thay i trong cc nhu cu truyn thng gia cc
b x l do thay i b x l v li ch t chia x ti.
Phn hoch bi ton thnh nhiu QT gii lm thi gian hon thnh bi ton nhanh
hn. Tng tc c coi nh o hiu nng l mc tiu ng quan tm trong thit k
cc thut ton song song v phn tn. Tng tc tnh ton l mt hm ca thit k thut
ton v hiu qu ca thut ton lp lch nh x thut ton vo kin trc h thng h
tng. Di y a ra mt m hnh tng tc m t v phn tch mi quan h gia thut
ton, kin trc h thng v lch thc hin. Trong m hnh ny, h s tng tc S l hm
ca thut ton song song, kin trc ca h thng v lch thc hin, c biu din theo
cng thc:
S = F(thut ton, h thng, lch).
S c th c vit nh sau:

S=

OCPTiedal
OSPT
OSPT
=
x
= S i xS d
CPT
OCPTideal
CPT

Trong :
+ OSPT (Optimal Sequential Processing Time): thi gian tt nht c th t c
trn b n x l s dng thut ton tun t tt nht.
+ CPT (Concurrent Processing Time): thi gian thc s t c trn mt h n-b
x l cng vi thut ton ng thi v mt phng php lp lch c th ang c xem
xt.
+ OCPTideal(Optimal Concurrent Processing Time on an ideal system): thi gian
tt nht c th t c vi cng thut ton ng thi c xem xt trn mt h n-b
- 126-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
x l l tng (mt h thng khng tnh ti tng ph truyn tin gia cc b x l) v
c ln chng trnh bng mt phng thc lp lch ti u nht.
+ Si: tng tc l tng t c nh s dng h a x l phc so vi thi gian
tun t tt nht.
+Sd: hao ph ca h thng thc hin trn thc t so vi h thng l tng.
nhn r vai tr ca thut ton, h thng v lp lch, cng thc biu din tng tc
c rt gn hn. Si c th c vit li nh sau:
m

Si =

RC
*n
RP

trong : RP =

P
i =1

OSPT

v RC =

P
i =1

OCPTideal * n

v n l s lng b x l. i lng

P l tng s cc thao tc tnh ton ca thut


i =1

ton ng thi, trong m l s bi ton con trong thut ton. i lng ny thng
ln hn OSPT do cc m ph c th c b sung khi bin i thut ton tun t thnh
thut ton ng thi. Sd c th c vit li nh sau:
Sd =

1
1+

trong , =

CPT OCPTiedal
OCPTiedal

Trong biu thc Si, RP l yu cu x l lin quan (Relative Processing), l t s gia


tng s thi gian tnh ton cn thit cho thut ton song song so vi thi gian x l ca
thut ton tun t ti u. N cho thy lng hao ph tng tc do thay th thut ton
tun t ti u bng mt thut ton thch hp thc hin ng thi nhng c th c tng
nhu cu x l ln hn. RP khc vi Sd ch RP l lng thi gian hao ph ca thut
ton song song do vic thay i thut ton, trong khi Sd l lng thi gian hao ph ca
thut ton song song do vic thi hnh thut ton.
o ng thi lin quan RC (Relative Concurency) o mc s dng tt nht ca
h n-b x l. N cho thy bi ton cho v thut ton dnh cho bi ton tt nh th
no i vi h n-b x l l tng. RC=1 tng ng vi vic s dng cc b x l l
tt nht. Mt thut ton ng thi tt l thut ton lm cho RP t gi tr nh nht v
RC t gi tr ln nht. Biu thc cui cng cho tng tc S l:
S=

RC
1

n
RP 1 +

Tm li, nhn t tng tc S l mt hm ca RC (tn tht l thuyt khi song song ha),
RP (lng b sung vo tng nhu cu tnh ton), (thiu ht song song ha khi thi hnh
trn mt my thc) v n (s b x l c s dng).
S hng c goi l hiu sut tn tht, c xc nh nh t s gia tng ph theo h
thng thc ni trn theo mi nguyn nhn i vi thi gian x l ti u l tng. N l
hm ca lp lch v kin trc h thng. Rt hu dng khi phn tch thnh 2 s hng
ring bit : = syst + sched , tng ng vi hiu sut hao ph do h thng v lch gy ra.
Tuy nhin, iu ny khng d thc hin do lch v h thng ph thuc vo nhau. Do
tng ph TT i lc b che khut v chng cho ln cc QT tnh ton khc trong lp
lch nn c th khng nh hng ti tn tht hiu sut. y l mt im chnh trong
lp lch QT c tnh n tng ph TT gia cc b x l. Mt lch tt l lch hp l nht
trn h thng cho sao cho n c kh nng che du c tng ph cng nhiu cng

- 127-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
tt. on tip theo minh ho v s ph thuc ln nhau gia hai yu t lp lch v h
thng v phn tch s b hai yu t ny.
Gi s X m t mt h a my tnh ang c nghin cu v Y' m t mt chin lc
lp lch c m rng cho h thng X t chin lc lp lch Y trn h thng l tng
tng ng. CPT( X,Y') v CPTiedal (Y) tng ng l cc thi gian qu trnh ng thi
cho my X theo cc chin lc lp lch Y' v Y tng ng. C th biu din hiu sut
hao ph nh sau:
CPT ( X , Y ' ) OCPTiedal
=
OCPTiedal
=

CPT ( X , Y ' ) CPTiedal (Y ) CPTiedal (Y ) OCPTiedal


+
OCPTiedal
OCPTiedal

'
= syst + sched

Tng t, chng ta lm ngc qu trnh phn tch theo gii tch tn tht hiu qu lp
lch khng ti u trc khi gii tch hiu qu ca h thng khng l tng. Nh th,
=
=

CPT ( X , Z ) OCPTiedal
OCPTiedal

CPT ( X , Z ) OCPT ( X ) OCPT ( X ) OCPTiedal


+
OCPTiedal
OCPTiedal

= sched + 'syst

Hnh 5.2 phn tch tng minh hiu sut hao ph do lp lch v TT trong h thng gy
ra. nh hng ng k ca TT trong h thng c nh v cn thn khi thit k cc
thut ton lp lch phn tn.
M hnh tng tc chung tch hp 3 thnh phn chnh: pht trin thut ton, kin trc h
thng v chin lc lp lch, vi mc ch lm gim n mc ti thiu tng thi gian
hon thnh (makespan) ca tp cc QT tng tc. Nu cc QT khng b rng buc bi
quan h i trc v c t do phn phi li hoc c di tr dc theo cc b x l
trong h thng th hiu nng c ci tin hn na nh chia x ti. iu c ngha l,
cc QT c th c di tr t nhng nt c ti ln ti nhng nt ri (nu tn ti cc nt
). C th c tin thm mt bc xa hn khi ti chia x ti gia tt c cc nt sao
cho cng u cng tt, bng phng php tnh hoc ng. Phn b ti tnh c gi
chia x ti, v phn b ti ng c gi l cn bng ti. Li ch ca phn b ti l
cc b x l c tn dng trit hn v ci tin c thi gian quay vng cc QT.
Di tr QT rt gn thi gian xp hng, k c gi tng thm theo tng ph TT.
Mc ch ca chia x ti trong h phn tn l lm hon ton rnh mch. iu cng
ph hp vi bt k vic khi to my tnh gm nhiu nt x l c ghp ni lng,
lun c mt s nt c ti ln v mt s nt c ti nh, nhng phn ln cc nt l hon
ton khng ti. tn dng hn v nng sut x l, cc QT c th c gi ti cc b
x l ri theo phng php tnh ngay khi chng va xut hin (tng ng vi m hnh
b x l xu) hoc di tr theo phng php ng t nhng b x l c ti ln n
nhng b x l c ti nh (tng ng vi m hnh trm lm vic). Thi gian quay vng
QT cng c ci tin.

- 128-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy
sched

H thng thc vi
lp lch khng ti u

H thng thc vi
lp lch ti u

syst

'syst

H thng l tng
vi lp lch khng ti
u

H thng l tng
vi lp lch ti u

'sched
Hnh 5.2. Tn tht hiu qu theo lp lch v TT

Hnh 5.3 trnh by hai m hnh hng i n gin v mi trng phn tn theo b x l
xu v theo trm lm vic so snh vi h thng cc trm lm vic c lp vi ng
tham chiu (baseline). r rng, trong cc m hnh ny ch gm hai nt x l. Trong
m hnh b x l xu, mt QT c gi ti mt b x l ph hp v li trong sut
thi gian thc hin n.

(a) Trm c
lp M/M/1

(b) M hnh
BXL xu
M/M/2

(c) M hnh
trm di tr

Hnh 5.3. M hnh hng i BXL xu v trm lm vic


Hiu nng h thng c m t theo m hnh dng xp hng c th tnh c nh s
dng kin thc ton hc nh l thuyt hng i. S dng k hiu chun Kendall m
t tnh cht thng k ca hng i. Hng i X/Y/c l mt QT X xut hin, mt phn b
thi gian phc v Y, v c my phc v. V d, c th m t b x l xu nh hng i
M/M/2. M tun theo phn b Markov, l loi phn b d x l khi phn tch. M hnh
h thng vi hai my phc v trong cng vic i x l c th c phc v trn
mt b x l bt k. Tng qut, m hnh ha b x l xu l hng i M/M/k.

- 129-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Trong m hnh
M/M/1
trm lm vic
M hnh trm
di tr, cc QT Thi gian tng
c php dch
chuyn t trm
M/M/2
ny ti trm
khc.
Quyt
nh di tr QT
Ti h thng
vo lc no,
u, nh th
no s c
Hnh 5.4. So snh hiu nng theo chia x ti
xem xt sau v
cha
c
trnh by tng minh trong hnh v. Di tr QT phi chu tr truyn thng c ly
mu bi mt hng i truyn thng do mt knh truyn thng phc v. T s di tr
l hm ca di thng knh truyn, giao thc di tr QT, v quan trng hn l ng cnh
v thng tin trng thi ca QT ang c chuyn giao.
Hnh 5.4 ch ra li ch ca phn b (hoc phn b li) ti trong cc m hnh b x l
xu v trm lm vic. Cc cn trn v cn di cho thi gian quay vng qu trnh
trung bnh c trnh by bng hai phng trnh ca m hnh M/M/1 v M/M/2:
TT1 =
TT 2 =

( + )( + )

TT1 l thi gian quay vng trung bnh, vi v l tn sut xut hin QT v tn sut
c phc v ca mi nt x l. Cng thc lin quan c th tm thy trong l thuyt
hng i c in. Hiu nng trong m hnh trm lm vic vi tng chi ph TT nm gia
M/M/1 (khng c chia x ti) v M/M/2 (m hnh b x l xu l tng vi tng ph
TT l khng ng k). T l di tr QT thay i t 0 n , tng ng vi hiu nng
tim cn ca M/M/1 v M/M/2.
5.2. Lp lch qu trnh tnh
Lp lch QT tnh (l thuyt lp lch tin nh) c nghin cu rng ri. Bi ton t
ra l lp lch cho mt tp th t b phn cc bi ton trn h thng a x l vi cc b
x l ging nhau nhm mc tiu gim thiu ton b thi gian hon thin (makespan).
C nhiu cng trnh tng quan xut sc, trong c bi vit ca Coffman v Graham.
Cc nghin cu trong lnh vc ny ch ra rng, tuy c cc trng hp gii hn (chng
hn, lp lch cc bi ton c thi gian thc hin n v hay m hnh song x l), bi
ton lp lch ti u l phc tp NP-y . Bi vy, hu ht cc nghin cu nh
hng s dng phng php xp x hay phng php heuristic nhm i ti gii php
gn ti u cho vn ny. H thng tnh ton h tng ca bi ton c in vi cc gi
thit khng c chi ph lin QT a n cnh tranh tryn thng v b nh. Gi thit
ny c th hp l vi kin trc a x l no . Tuy nhin, n khng c gi tr i vi
h thng phn tn CT hoc mng my tnh, trong TTLQT khng nhng khng th
b qua m cn l mt c trng quan trng ca h thng. Do qu th bo khi b qua
ch TT, vi nhng h thng chi ph TT l khng th b qua c, tp trung vo cc
tim cn heristic tt nhng d dng thi hnh lp lch QT trong h phn tn.

- 130-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Mt thut ton lp lch phn tn heuristic tt l n phi cn bng tt v gim thiu s
chng cho trong tnh ton v truyn thng. Kho st hai bi ton lp lch c bit, mt
l lp lch tt c QT trong mt b x l n v hai l mi b x l c phn cng ti
mi QT. bi ton u tin, tuy khng c chi ph truyn thng lin kt nn cng
khng cn c tnh ng thi. Bi ton th hai tuy th hin tt tnh ng thi nhng
vng mc ph tn truyn thng. i tng lp lch ca chng ta cn thng nht gia
vic hn ch ti a tc nghn v chi ph truyn thng, t s ng thi cao nht c th
ti cng mt thi im.
Trong lp lch tnh, nh x cc QT ti cc b x l phi c xc nh trc khi thc
hin cc QT . Ngay khi QT bt u, n c lu li trong b x l cho n khi hon
tt. Khng bao gi c nh di chuyn n ti b x l khc thc hin. Mt thut
ton lp lch tt i hi hiu bit tt v hnh vi ca QT, chng hn nh thi gian thc
hin QT, mi quan h i trc v thnh phn truyn thng gia cc QT. Nhng thng
tin ny c th l tm thy trong b bin dch ca ngn ng ng thi. Quyt nh lp
lch l tp trung v khng thch nghi. y cng l mt s mt hn ch ca lp lch tnh.
Trong hai phn sau y, chng ta xem xt nh hng ca truyn thng trong lp lch
tnh, s dng m hnh i trc v m hnh QT truyn thng.
A/6

B/5

C/4

D/6

E/6

F/4

P1

P2

P3

G/4

(a) M hnh QT
i trc

(b) M hnh HT
truyn thng

Hnh 5.5. M hnh h thng truyn thng v qu trnh i trc

5.2.1. M hnh qu trnh i trc


M hnh QT i trc trong hnh 5.1 (a) c s dng trong lp lch a x l tnh m
mc tiu cn bn l ti thiu ho ton b thi gian hon thnh. Trong m hnh QT i
trc, mt chng trnh c trnh by bng mt DAG. Mi mt nt trong hnh v
biu th mt nhim v c thc hin trong mt khong thi gian xc nh. Mi cung
ni biu th quan h i trc gia hai nhim v v c gn nhn l trng s biu din
s n v T c chuyn ti cng vic tip sau khi hon thnh cng vic. Hnh 5.5 a
l v d ca chng trnh DAG, bao gm 7 nhim v (t A n G) cng vi vic ch r
thi gian thc thi cc nhim v l s n v T truyn thng gia nhng nhim v
vi nhau. Kin trc h tng trn cc nhim v nn c thit lp c c trng
bng m hnh h thng truyn thng ch r gi thnh truyn thng n v gia cc b
x l. Hnh 5.5 b l mt v d ca mt m hnh h thng truyn thng cng vi ba b
x l (P1, P2, P3). Gi thnh truyn thng n v thng l ng k vi truyn thng
a x l v khng ng k (khng trng lng trong cc ng ni ni ti) i vi
- 131-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
truyn thng ni b. M hnh ny rt n gin, n gi truyn thng m khng cn a
ra chi tit cu trc phn cng. Gi thnh truyn thng gia hai nhim v c tnh
bng tch n v gi thnh truyn thng trong th h thng truyn thng vi s n
v T trong th x l u tin. V d, nhim v A v E trong hnh 5.5 c lp lch
tng ng trn b x l P1 v P3, gi thnh truyn thng l 8 = 2*4. Raywayd Smith
a ra kho st m hnh tng t nhng vi mt s hn ch trong tt c cc QT c n
v tnh ton v thi gian truyn thng. Thm ch vi mt gi thit n gin th vic tm
gi tr ti thiu ca ton b thi gian hon thnh l NP-complete. V vy chng ta s
ng dng thut ton heuristic cho vic tm kim mt nh x tt t m hnh QT ti m
hnh h thng.
Nu b qua ph tn ng truyn, chng ta xem xt phng php heuristic tham n
n gin: chin lc LS (lp lch danh sch). Khng mt b x l no t ch
nhn ri nu cn nhng tc v c th cn x l. i vi DAG trong hnh 5.5 a, kt qu
lp lch trong hnh 5.6 a. Tng thi gian hon thnh l 16 n v. i vi th QT i
trc, khi nim v ng ti hn l rt c ch. ng ti hn l ng thc hin di
nht trong DAG, n li l ng ngn nht ca ton b thi gian hon tt. ng ti
hn rt quan trng trong ni dung lp lch. N c s dng thng xuyn phn tch
vic thc thi mt thut ton heuristic. ng ti hn trong th hnh 5.5 a l (ADG
v AEG) di 16 = 6+6+4. V vy, LS trong hnh 5.6 a (tng thi gian hon thnh
cng l 16) l tt u nht ngay khi tm ra thut ton. Mt s thut ton lp lch c
tm ra cng da vo ng ti hn bt ngun t tnh u tin cho nhng nhim v. Mt
s chin lc lp lch c tm ra n gin l vch ra tt c cng vic trong ng ti
hn ln mt b x l n. V d trong hnh 5.5 a, nhng nhim v A,D v G trn
ng ti hn c vch ti b x l P1.
(a) LS

P1 A/6
P2 B/5
P3 C/4
Tng chi ph l 16

(b) ELS

P1

A/6

P2

B/5

P3

D/6
F/4
2 E/6

G/4
7
4

2
2

C/4

D/6

10

F/4
10

G/4
17

E/6

Tng chi ph l 28
(c) ETF

P1

A/6

P2

B/5

P3

C/4

E/6

D/6

G/4

F/4

Tng chi ph l 18
Hnh 5.6.

Nu tnh n ph tn ng truyn, chng ta c th m rng vic lp lch cc danh


sch trc tip (LS). Lp lch cc danh sch m rng u (ELS) u tin thc hin ch
nh nhng cng vic ti b x l bng vic cung tp LS nh khi h thng ri trong
truyn thng lin kt. N thm vo thi gian tr truyn thng khi cn thit lp lch
- 132-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
c cha bi LS. Nhng tr hon truyn thng c tnh ton bi vic nhn gi thnh
n v truyn thng v nhng n v thng bo. Kt qu ELS cho cng mt vn lp
lch c tng thi gian hon thnh l 28 n v, nh trnh by trong hnh 5.6 b Dashed
lines trong hnh biu din QT i truyn thng (gi thnh n v truyn thng c
nhn bi s lng cc n v thng bo).
Chin lc ELS khng th t ti u. Vn c bn l vic quyt nh lp lch c
thit lp m khng c bo trc trong vic truyn thng. Thut ton c th c ci
tin khi chng ta tr hon quyt nh lu nht cho n khi chng ta bit nhiu hn v
h thng. Theo chin lc tham n ny chng ta c phng php lp lch u tin tc v
u tin (ETF), tc v sm nht phi c lp lch u tin. S dng chin lc ny
trong cng mt v d, chng ta s tr hon lp lch tc v F bi tc v E s tr thnh lp
lch u tin nu tr hon truyn thng cng lin quan n vic tnh ton. Lp lch ETF
trong hnh 5.6 c a ra kt qu tt hn l tng thi gian hon thnh l 18 n v.
M hnh QT v h thng l kh r rng m hnh ho bi ton qu trnh lp lch
trong DAG vo h thng vi s tr truyn thng. V d ch ra rng mt lch ti u cho
h thng ny khng nht thit l lch tt cho h thng khc ng thi vi cu trc
truyn thng khc nhau. Lp lch tt hn c th t c nh trn nhau gia truyn
thng vi tnh ton v v vy che du hiu qu tng ph truyn thng. Khi nim ng
ti hn c th c dng h tr vic che du truyn thng (thu ht tng ph truyn
thng vo ng ti hn). Bt k ng tnh ton ngn hn ng ti hn c thu vo
tng ph TT no chp vi mt tnh ton khc m khng nh hng n tng thi
gian hon thin.
1
6

12
6

12
4
3

2
5

Hnh 5.7. Gi tnh ton v th truyn thng

5.2.2. M hnh qu trnh truyn thng


M hnh th i trc biu din QT c tho lun trong phn trc l m hnh tnh
ton. Chng trnh c biu din bng DAG l nhng ng dng ngi dng in
hnh, trong rng buc i trc gia cc bi ton trong chng trnh c ngi
dng ch dn r rng. Mc tiu c bn ca lp lch l t s ng thi ti a vic thc
hin bi ton trong chng trnh. Gim ti thiu truyn thng bi ton ng vai tr th
yu, mc d c nh hng ng k ti s hiu hiu nng chnh: thi gian hon thin
tng th.
Lp lch QT cho nhng ng dng h thng theo nhiu bi cnh rt khc nhau, bi v
cc QT trong mt ng dng h thng c th to ra mt cch c lp. Khng c rng
buc trc-sau ngoi tr nhu cu truyn thng gia cc QT. Khng c thi gian hon
thnh ca cc QT nh trng hp m hnh QT i trc. Mc tiu ca lp lch QT l tn
- 133-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
dng ti a ngun ti nguyn v gim ti thiu truyn thng lin QT. Nhng ng dng
ny l m hnh tt nht cho m hnh QT truyn thng, c trnh by trong hnh 5.1 b.
M hnh QT truyn thng c biu din bng mt th v hng G vi tp V cc
nh biu din QT v tp E cc cnh c trng s ni hai nh biu din s lng giao
dch ca hai QT lin kt nhau. Gi thit v vic thc hin QT v truyn thng l tng
t m hnh i trc song c mt s khc bit nh. Vic thc hin QT v truyn thng
c biu din theo gi thnh.
Gi thnh thc hin QT l hm theo BXL m QT c gn ti o thc hin. Vn
chnh yu l cc b x l khng ng nht (khc nhau v tc v cu trc phn
cng). Do vy, dng k hiu ej (pi) biu th gi thnh cho QT j trn pi, trong pi l
b x l c dng cho QT j. Gi thnh truyn thng ci,j (pi, pj) gia hai QT i v j
dng cho hai b x l khc nhau pi v pj l t l vi trng s cung kt ni i vi j. Gi
thnh truyn thng c xem l khng ng k (gi thnh bng 0) khi i =j. Bi ton
c t ra l tm phn cng ti u ca m hnh m moun QT ti P b x l theo mi
quan h ca hm i tng di y c gi l Bi ton nh v moun.
Cost ( G , P ) =

e j ( pi) +

J V ( G )

i, j
( i , j ) E ( G )

( pi, p j )

Bi ton nh v moun c Stone a ra u tin v c nghin cu rng ri kh


lu. Tng t nh phn ln cc ng dng th, Bi ton nh v mun tng qut l
NP-y ngoi tr mt vi trng hp hn ch. Vi P=2, Stone d on mt cch
gii a thc hiu qu s dng thut ton dng - cc i (maximum flow) ca FordFulkerson. Cc thut ton gii a thc cng c pht trin bi Bokhari v Towsley
cho mt vi th tp c bit nh th dng cy v song song chui. Trong v d
di y chng ta minh ha khi nim trn bng xem xt m hnh hng ho song x l
cu Stone trong vic phn chia th QT truyn thng ti kin trc t c tng
gi thnh thc hin v truyn thng nh nht.
Kho st mt chng
4
trnh bao gm 6 QT s
c lp lch vo hai b
12
1
A
10
x l A v B nhm gim
ti thiu gi thnh tng
4 6
4
6
tnh ton v truyn
3
thng. Thi gian thc
8
hin cho mi QT trn
2
3
5
mi b x l c trnh

by qua hnh 5.7 a. Hnh


12
11
5.7 b l th biu din
2
a x l truyn thng
4
gia 6 QT. Hai b x l
4
6
B
l khng ging nhau. V
3
d QT 1 cn 5 n v gi
2
5
thnh chy trn b x
3
l A nhng cn 10 n
5
v gi thnh khi chy
trn b x l B. Nhn
Gi nht ct = 38
gn trn mt cnh ca
Hnh 5.8. Nht ct gi ti thiu
th truyn thng l
gi thnh truyn thng
- 134-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
nu hai QT kt ni nhau c nh v ti nhng b x l khc nhau. nh x QT ti
cc b x l, phn chia thnh hai th ri nhau bng mt ng k ct ngang qua
mt s cung. Kt qu phn chia thnh hai th ri nhau, mi th gn ti mt b x
l. Tp cc cung b loi b qua nht ct c gi l tp ct (cut set). Gi thnh ca mt
tp ct l tng trng lng ca nhng cung biu th chnh tng gi thnh truyn thng
lin QT gia hai b x l.
Bi ton ti u s l tm thng khi chng ta ch phi gim ti thiu gi thnh truyn
thng v chng ta c th sp t tt c cc QT ln mt b x l n v loi tr tt c
trn cc truyn thng lin QT. Ti u l v ngha tr phi cn phi m bo cc rng
buc no trong vic tnh ton thc hin v thi hnh khc. iu kin hn ch l QT
no ch c th chy c trn mt b x l no nh hnh 5.7 a l mt v d tt v
rng buc tnh ton. Mt vi vic thc thi c th yu cu khng nhiu hn k QT ch
nh cho mt b x l hay nhng QT c ch nh ti tt c cc b x l hin c.
Hnh 5.8 ch ra nht ct gi thnh ti thiu cho trng hp hnh 5.7 vi hm tnh gi
COST (G, P). Trong lc , b sung hai nh mi biu din cc b x l A v B vo
th truyn thng (cng nhng cung ni mi b x l ti mi nh QT). Trng s
c gn ti cnh ni gia b x l A v QT i l gi thnh thc hin QT i trn b x l
B v ngc li. Vic gn trng s kiu ny l khn ngoan bi v mt vt ct dc theo
ng m nt lin quan n phn cng QT c thc hin trn b x l B. Chng ta
xem xt ch cc nht ct phn chia cc nt (A v B). Tng trng s ca cc ng ni
trong vt ct l tng gi thnh truyn thng v gi thnh tnh ton.
Vic tnh tp ct gi thnh ti thiu cho m hnh trn l tng ng vi vic tm dng
cc i (maximum-flow) v ct ti thiu (minimum-cut) ca mng hng ha. th
hnh 5.8 c th hiu nh mt mng vi cc ng giao thng (cung) ni cc thnh ph
(nh) vi nhau. Trng s trn ng ni l thng lng ca on. Nt A l thnh ph
ngun v nt B l thnh ph ch ca vic vn chuyn hng ho. Khi cho mt th
hng ho, vn ti u l tm ra lung cc i t ngun ti ch. Fort v Fulkerson
trnh by mt thut ton gn nhn cho php tm mt cch h thng ng m rng dn
t ngun ti ch (thut ton c thy trong hu ht cc cun sch gio khoa v tht
ton). Hai ng cng chng minh rng lung cc i (maximum fow) cho mt mng
tng ng mt ct nh nht (minimum cut) lm tch ri ngun vi ch trong th.
Thut ton lung cc i v nh l mt ct nh nht ca lung cc i hon ton ph
hp vi s ti u ho bi ton nh v m - un (s lp lch QT) cho hai b x l.
tng qut ho bi ton c nhiu hn hai b x l, Stone phc tho gii php cho h
thng c 3 b x l v xut mt phng php lp s dng thut ton cho hai b x
l gii quyt nhng bi ton c n b x l. tm ra mt s nh v m-un ca m
QT cho n b x l, thut ton mt ct nh nht lung cc i c th p dng cho mt
b x l Pi v mt b siu x l o P bao gm cc b x l cn li. Sau khi vi QT
c ln lch cho Pi, th tc c lp li tng t trn b siu x l cho n khi tt c
cc QT c n nh.
Bi ton nh v m-un l phc tp v nhng mc ch ca s ti u ho cho vic gim
chi ph tnh ton v truyn tin xung mc thp nht thng mu thun (i lp) vi
nhau. Bi ton quan trng chng minh cho nhng gii php mang tnh kinh
nghim (t tm ti). Mt phng php phn chia s ti u ho tnh ton v truyn
thng tr thnh 2 vn ring bit. Trong mt mang my tnh ni chi ph truyn tin c
th c ngha (ng k) hn chi ph tnh ton, ta c th ktp hp cc QT vi s tng
tc gia cc QT bc cao thnh cc nhm QT. Cc QT trong mi nhm sau khi c n
nh cho b x l s lm gim chi ph tnh ton xung mc thp nht. S hp nht cc
QT truen tin gia cc b x l n gin nhng c th thc hin c nhiu php tnh
- 135-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
hn trn b x l v do lm gim bt s trng lp. Mt gii php n gin l ch kt
hp nhng QT c chi ph truyn tin cao hn mt ngng C no . Thm vo , s
cc QT trong mt nhm n khng th vt qu mt ngng X khc. S dng v d
trong hnh 5.7 v chi ph truyn tin trung bnh c c lng C=9 nh mtngng, 3
nhm (2,4), (1,6), (3,5) c th tm ra. Hin nhin nhm (2,4) v (1,6) phi c sp t
tng ng cho cc b x l A v B. Nhm (3,5) c th c n nh cho b x l A
hoc B. Vic n nh chng cho B c chi ph tnh ton thp hn nhng phi chu mt
chi ph truyn tin cao hn nhiu. V vy chng c n nh cho A, kt qu l chi ph
tnh ton trn A l 17, trn B l 14 v chi ph truyn tin gia A v B l 10. Tng chi ph
l 41, mt chi ph khng cao hn nhiu so vi chi ph ti u l 38 nhn c t thut
ton mt ct nh nht. Gi tr ca ngng X c th c s dng cn bng s thc
hin cng vic trn cc b x l. S dng mt gi tr X thch hp phn phi cng
vic cn lm thm ch cng s nh hng ti s phn chia (3,5) cho b x l A trong v
d tng t.
Lch trnh tnh ti u c phc tp cao. Cc thut ton n gin tm ra l hp dn,
thu ht. Mc d nhiu gii php tm ra to ra nhiu s xt on nhng chng ta ch
c nhng thng tin gn ng v gi truyn thng v tnh ton. Hn th na vic thi
hnh s phn chia x l khi to l khng c ph bnh nu nhng x l c th b di
chuyn sau khi chng va c phn chia. l mt trong nhng thc y cho lp lch
x l ng c a ra trong on tip theo.
5.3 Chia x v cn bng ng
Hai v d v lp lch ca phn trn y chnh l cch thc lp lch tnh. Khi mt QT
c a ti mt nt, QT ny c lu li cho n khi n c hon thin. C 2 v
d trn u i hi bit trc v thi gian chy v cch thc truyn thng ca qu
trnh. Vi m hnh QT i trc, mc tiu u tin l ti thiu ho thi gian hon thin
ton b, trong khi m hnh QT TT c gng ti thiu ho tng chi ph TT, ng thi tm
cch tho mn nhng rng buc v tnh ton. Mt m hnh ton hc v mt thut ton
tt l yu t cn thit cho lp lch. Tuy nhin, vic tnh ton li tp trung v ch xy ra
ti mt thi im nh trc.
Bit trc thng tin v cc QT l khng thc t trong hu ht cc ng dng phn tn.
Vi i hi kt ni v tnh ton khng cn thng tin trc, ta phi da trn mt chin
lc lp lch linh hot, cho php nhng quyt nh c thc hin ti a phng.
Trong phn ny, chng ta s s dng m hnh QT khng lin kt th hin mt s
chin lc lp lch ng. Vic s dng m hnh khng lin kt khng c ngha l mi
QT khng c lin h vi nhau, m c hiu theo ngha: chng ta khng bit mt QT
ny tng tc vi cc QT khc nh th no. V vy, ta c th lp lch vi gi s rng
chng khng kt ni. iu ny tng ng vi vic b qua s ph thuc gia cc QT.
Vi m hnh ny, mc tiu ca vic lp lch khc so vi mc tiu ca m hnh u tin
v m hnh lin h. Mc tiu ln nht c th thy c trong lp lch l hng ti tnh
hiu dng (utilzation) ca h thng v tnh cng bng (fairness) cho cc QT x l ca
ngi dng. Tnh hiu dng ca cc b x l c lin quan trc tip n cc thc o
tc nh khi lng x l v thi gian hon thnh. S cng bng rt kh nh
ngha cng nh nh hng ca n n hot ng l khng r rng. C th ni hiu
dng v cng bng l yu cu trong lp lch cho m hnh khng lin kt ca mt h
thng phn tn.
Mt chin lc n gin nng cao hiu qu s dng ca mt h thng l trnh c
nhiu nht tnh trng b x l ri. Gi s rng ta c th ch nh mt QT iu khin
cha ng thng tin v kch thc hng i ca mi b x l. Cc QT n v ra khi
- 136-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
h thng theo phng thc d b. Mt QT n s a ra yu cu i hi b iu khin
cung cp mt b x l. B iu khin s lp lch iu phi a QT n mt b x l
c hng i ngn nht. cp nhp thng tin v kch thc hng i, mi b x l cn
cung cp thng tin cho b iu khin ngay khi mt QT c hon tt v ra khi khu x
l. Vic kt ni vi hng i ngn nht chnh l chin lc iu phi tnh cho chia x
nhim v (static load sharing) nhm mc ch gim bt thi gian ri ca cc b x l
v gim s chnh lch v hng i (cn i nhim v) gia cc b x l. Vic cn i
ti l i hi cao hn so vi chia x ti, bi v chng nng cao hiu qu s dng v a
ti mt cch cn i ng theo ngha bng nhau v nhim v phi thc hin ca mi
b x l. Cn bng nhim v c tc dng lm gim thi gian ph tn trung bnh ca
cc QT. Chin lc ny c th c sa i bng cch cho php di chuyn linh ng
mt QT t hng i di n cc hng i ngn hn. M hnh hng i trn c
cp n trong hnh 5.3 c, m hnh trm lm vic. Tnh hiu qu v cn bng cng c
nng cao bi phng thc phn phi linh ng li cc cng vic hay cn gi di tr QT.
Tuy nhin, s cn bng cp trn vn cha mang tht y ngha bi n da
trn quan im ca h thng hn l ca ngi dng. Trong cc QT c pht sinh bi
ngi dng ti cc trm a phng. V vy, mt h thng cn bng theo quan im
ngi s dng phi l mt h thng u tin cho chng trnh ca ngi dng nu
chng trnh i hi chia x cc ti nguyn tnh ton t hn cc chng trnh khc.
Trn nguyn tc ny, b iu khin phi kim sot c b x l hin ang cp pht
cho mt QT ca ngi s dng. Ngay khi mt b x l ri, b iu khin s cp pht
b x l cho mt QT ang ch i ti pha c s ln c cp pht CPU t nht.
Tnh hiu dng c th hin bng cch c gng nh v ti a cc b x l c th
c. Tiu chun ny c th c iu chnh bng vic tnh ton di hng i,
thng s phn nh nhim v ti mi vng v cng v th thc hin c s cn bng
cc QT c np. So snh vi phng php iu phi hng i kt ni vi QT ngn
nht (join-to-the-shortest queue), ta c th thy phng php ny cho mt nh ngha
tt hn v s cng bng, vic iu phi c khi to bi mt QT ti im xut pht
thay v ti im ch, v v th n ph hp hn cho m hnh xu-b x l.
Cuc tranh lun quanh bt k vn no v h phn tn s khng bao gi kt thc tr
phi ta chng minh c tc dng ca s iu khin tp trung (hoc chng minh loi b
n). Nu chng ta hu b s iu khin tp trung trong vic chuyn giao mt QT t 1
vng ny (ni gi) n 1 vng khc (ni nhn), cng vic chuyn giao QT phi c
to lp bi ni gi, ni nhn, hoc c hai. Trong 2 phn tip, chng ta s tho lun
Thut ton to lp trm gi v thut ton to lp t trm nhn cho cng vic chuyn
giao QT.
5.3.1. Thut ton to lp t trm gi
Thut ton to lp t trm gi mong mun gim bt mt phn nhim v tnh ton.
Thut ton phn tn nhim v gip chuyn cc QT t mt trm gi c khi lng cng
vic nng ti ni khi lng cng vic t hn c d dng. Vic chuyn giao cc QT
i hi 3 chnh sch c bn:
Chnh sch chuyn nhng: Khi no mt nh tr thnh trm gi?
Chnh sch la chn: Trm gi s la chn QT no gi?
Chnh sch nh v: nh no s l trm nhn?
Khi khi lng nhim v c th hin qua kch thc hng i, trm gi c th s
dng chnh sch chuyn nhng (transfer policy) khi nhn thy kch thc hng i c
th vt qu ngng cho php nu nhn thm mt QT. Mt QT mi ng nhin l
- 137-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
ng c vin cho chnh sch la chn nu khng c l do g xo b n. Vi chnh sch
nh v th kh khn hn bi n i hi mt vi thng tin nh v trm nhn cho ph
hp. Trm gi cng c th la chn ngu nhin cc nh thun. Tuy nhin, vic ny s
gy ra mt chui thao tc chuyn nhng QT nu nh c chn la li b qu ti. Tr
phi c mt s thng tin tng th v tnh trng phn b cng vic, nu khng ni gi bt
buc phi thm d n gin l xt th mt s gii hn s trong mt ln, chn nh c
hng i ngn nht lm ni nhn, vi iu kin di hng i ni nhn s nh hn
hoc bng di hng i ni gi sau khi chuyen nhng QT. Tt nhin, QT thm d
c th dng sm hn nu mt nh ri c tm ra trc khi t ti gii hn thm d.
S thm d cc nh nhn v cng vic chuyn giao cc QT gia ni gi v ni nhn
cn tnh ti chi ph kt ni, mt nguyn nhn tng thi gian np chng trnh thc t
ca h thng. Trong mt h thc s ti nng, vn trn c th cn ti t hn bi nh
hng ca hiu ng ping-pong (QT b chuyn trn mng lin tc), cc trm gi c gng
gim nh nhim v mt cch v ch, bi mi nh u c thut ton to lp nh nhau.
Tuy nhin, thut ton to lp t trm gi hot ng rt tt khi h ti nh. Vi mc ti
khng nng lp, ta d dng rm ra c ni nhn, ph tn kt ni l khng ng k.
Mt trong nhng hng ci tin ang c nghin cu l chn la ST v PL ph hp
vi cc chin lc thm d khc nhau.
5.3.2. Thut ton to lp t trm nhn
Nh thy trn, thut ton phn chia nhim v to lp t trm gi ging nh mt
m hnh y, trong 1 QT c y t mt b x l ny ti b x l khc. Tng
ng vi n, mt nh nhn c th ko mt QT t mt b x l khc v x l: thut
ton lp to t trm nhn. S dng chnh sch chuyn nhng tng t nh trn, thut
ton ny s to lp thao tc ko khi di hng i tt xung di mt ngng RT
( c nh trc) vo thi im bt u mt QT. Mt chin lc thm d tng t
cng c s dng trong chnh sch nh v tm kim mt nh gi qu ti. Tuy
nhin, chnh sch la chn li i hi mt th t u tin khi cc QT ti trm gi bt
u chy. Vic quyt nh QT no chuyn i s khng r rng nh trong thut ton to
lp t trm gi. Ta phi tnh sao cho li ch thu c t vic chia x nhim v phi ln
hn ph tn tnh u tin v ph tn cho lin lc.
Thut ton to lp t trm nhn c tnh n nh hn thut ton to lp t trm gi.
Trong mt h thng c mc ti ln, vic di chuyn cc QT xy ra t, cc trm gi c
tm thy d dng, lng cng vic c chia x hiu qu, ph tn t. Khi mc ti ca h
thng mc thp, vic to lp cc di chuyn xy ra nhiu nhng vn khng lm gim
hot ng ca thut ton. Tnh trung bnh, thut ton to lp t trm nhn hot ng tt
hn thut ton to lp t trm gi.
iu tt yu l tm cch kt hp hai thut ton. V d, mt trm x l c th s dng
thut ton to lp t trm gi khi hng i qua ngng gii hn ST cng nh c th
kch hot thut ton to lp t trm nhn khi kch c hng i gim thiu xung di
ngng RT. Vic la chn gia 2 thut ton da trn thng tin nh gi v mc ti ca
h thng. Nu 2 thut ton trn l i xng v khng linh hot th vic kt hp ni trn
chnh l mt thut ton thch ng. Trong c hai trng hp (ti nng hoc nh), mi
trm c th linh hot ng vai tr ca trm nhn hoc trm gi. Cc trm gi s gp
trm nhn ti cc im hn.
to lp trn thc t cc im hn ny, mt dch v ng k (registration service)
c dng kt hp 1 trm gi vi mt tm nhn. Vic thm d v th m tr thnh
khng cn thit. Trm phc v ng k( regisration phc v) hot ng nh mt
thng nhn trao i gia ngi tr gi cao nht (sender) vi ngi cung cp r nht
- 138-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
(receiver) m gi c hng ho thi gian thc hin cc QT. Mt trm tt phi bit
dng thut ton to lp t trm gi, kch hot thut ton to lp t trm nhn khi trm
cm thy h thng ti mc cao, v hot ng ngcli khi mc ti l thp.Thut ton
v th s tng thch vi s thay i ca h thng.
F

Ni gi

t PL

Chn ngn nht RQ

QT xut hin
F

SQ + 1 > ST

Thm d
nhn

RQ = 0
T

Dng i QT

SQ > RQ

Di tr QT

Dng i
QT

Ni nhn
5.9. S khi thut ton to lp t trm nhn

Hnh 5. 10 so snh hot ng ca thut ton linh hot chia s cng vic. Thi gian lng
ph ca h thng M/M/1 khng chia x ti l ng c s cho vic so snh.
M/M/1
khng
chia x ti
Thi gian tng

Thut ton
to lp trm
i
Thut ton
to lp trm
h
Ti h thng
Hnh 5.10. So snh hot ng ca cc thut ton chia s cng vic ng

5.4 Thi hnh qu trnh phn tn


Chin lc chia s ti tnh hay ng u i hi thc hin QT trn mt trm xa. Vic
to lp mt QT t xa c th c thc thi bng m hnh Client/Server), tng t nh
cch thc thi ca RPC. Trn hnh 5.11 gi s c cc QT nn im-vo gip cho vic
to lp v kt ni cc QT trn cc my khc nhau c d dng. Mt QT cc b trn
- 139-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
mt my Khch trc ht cn to mt yu cu ti cc QT x l u cui, cc QT ny
c lin h vi nhng nn(stub) nm trn phc v i din cho QT . Nu yu cu
ny c chp nhn v mi ti nguyn cn thit u c p ng, nn trn phc v.
Mi lin lc tip theo gia a phng v QT xa s c gip gin tip thng qua
cc QT nn. Cc QT c s phc v nh mt kt ni logic, to lp ranh gii vt l gia
QT a phng v QT xa.
Da trn cch thc phin dch mt thng ip yu cu, c 3 th loi ng dng chnh:
Dch v t xa (remote service): Thng ip c hiu nh mt yu cu cho mt
service bit ti mt trm xa.
Thc hin t xa (Remoce execution): Thng ip cha ng mt chng trnh s
c thc hin ti mt remote site.
Di tr QT: Thng ip i din cho mt QT ang c chuyn n mt remote
site tip tc thc hin.
Mi ng dng i hi phi c cc bin php x l khc nhau c trnh by di y.
5.4.1. Phc v t xa
Remote service l mt nh ngha quen thuc. Nhng ng dng u tin ca dch
v ny l s chia x ti nguyn trong h thng phn tn. Vi s cho php truy cp t
KHCH

SERVER

QT a phng

QT t xa

QT nn

QT nn

Hnh 5.11. M hnh lgic ca QT cc b v t xa

xa, nhiu Khch trn cc my khc nhau c th cng chia x ti nguyn chung nh:
file h thng, thit b ngoi vi Mt thng ip yu cu dch v t xa c th c
phn thnh 3 mc phn mm khc nhau:
Li gi th tc t xa: mc ngn ng.
Lnh gi t xa (remote commands): mc HH
Thng ip bin dch (intepretive messages): mc trnh ng dng.
Ti mc ngn ng, RPC c coi nh l m hnh thch hp nht cho cc yu cu dch
v t xa. l loi hnh hng dch v, cung cp s truy cp trong sut cng nh nh
v trong sut (cng vic c thc hin trn my ch, ngi dng khng nhn thy).
Ti mc HH, c mt s lnh thng xuyn c cc i tng t xa s dng. Nhng
lnh ny c gn lin thnh mt phn ca 1 lnh khung (shell command) v c
HH a phng chp nhn. V d lnh rcp trong UNIX, lnh coppy mt file t xa, rt
hay s dng. iu ny c th m rng cho cc lnh khc bng vic to mt lnh khung
cho php ngi dng chy mt lnh khung ti bt k 1 h thng t xa. V d lnh rsh
host-l user ls trong UNIX dng lit k cc files trn trang ch ca ngi dng,
- 140-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
User, trn my ch, Host. Nh vy Rsh l mt lnh xa (remote command). Ta c th
pht trin bng cch a rsd vo trong mt file lnh (script file), cho php thc thi
nhiu lnh trong 1 ln gi (ging . bat). Ngy nay remote command n gin c mt
hu ht trn cc my mi nhm phc v cho ni mng.
Lnh t xa b gii hn nhng lnh shell. tng trn c th c m rng x l
cc thng ip. Mt ngi dng c th gi 1 thng ip ti 1 my ch yu cu mt s
thao tc do ngi dng nh ngha trong ni dung thng ip. N ging nh mt RPC
ti mc h thng. Trong trng hp ny, QT nn ti ni phc v phi c chc nng
bin dch cc thng ip gi t b x l c s trn Khch v c cc thao tc tng ng
vi yu cu. Nguyn tc qun l vic truyn v x l thng ip tr thnh mt giao
thc truyn thng ng dng (Application communication protocol) gia Khch v
phc v. Mt v d in hnh l giao thc truyn Phc v file cho fpt. Chng bin dch
cc lnh nh get, put thnh cc thao tc downloading v uploading tng ng. S dng
qu trnh daemon l mt k thut ph bin trong lp trnh mng.
Cc thao tc xa c khi xng qua RPC, lnh xa v thng ip thng dch
(interpretive message) ch l nhng phc v m my ch cung cp. Vn u tin
ca mi hot ng l chuyn hng vo/ra v an ninh. Vi vic chuyn hng, khch
stb copy cc d liu vo chun ca QT ngi dng cho cc lnh xa v nn phc v tr
li cc kt qu chun, cc li sinh ra ca lnh c cho chng trnh ngi dng.
5.4.2. Thc hin t xa
Thc hin t xa khc dch v t xa ch: mt thao tc t xa (remote operation) c
ra v kin to bi chnh Khch trong khi ti mc dch v t xa, Khch ch ra
thao tc, cn cc thao tc ny c to sn trn phc v. Mt thng ip gi i t
Khch chnh l chng trnh ca Khch dng chy trn my ch. Mt my ch c
th l mt h thng c ti nguyn c bit hoc n gin l bt k mt h thng no
dng cho mc ch chia x cng vic. H thng c ti nguyn c bit chnh l trng
hp chung ca dch v t xa. Phn cn li chnh l m hnh xu-b x l dng cho
nhng hot ng phn tn (Thc hin t xa) hoc nh v ng cc bi ton (dynamic
task placement).
S khc bit ln nht gia dch v t xa v thc hin t xa l mi trng hot ng. Do
mc ch ca dch v t xa l truy cp cc ti nguyn xa, v vy, mi iu cn bit v
cc QT x l t xa u nm my ch. Tri li, vi thc hin t xa, cc QT x l xa
cha ng cc thng tin v h thng gc. Cc my ch ch n gin lm nhim v
gim nh cng vic tnh ton. phc tp ca vic thc thi cc Thc hin t xa tng
ln ng k khi nhiu QT xa c nh hng ln nhau c to ra ng thi. Cc vn
ny sinh l:
Thut ton phn chia cng vic
n v c lp
Tnh khng ng nht ca h thng
Bo mt v an ton.
n gin ho, ta gi s rng mt dch v QT tn ti trn mi my. Dch v QT c
trch nhim lu gi nhng thng tin v cng vic, tho thun vi my ch, gi cc
thao tc t xa, to lp cc QT nn kt ni Khch v phc v. Thc hin t xa c th
c khi xng mt cch r rng bi mt QT (c th hon ton t mt QT x l trn
phc v QT a phng. V vy, mi lin h gia cc QT c th l quan h cha con
hoc quan h khng lin kt (disjont relation ship or noninteracting). Trong c 2
trng hp, cng vic u tin vn l chn my ch xa. Tu theo cc QT trn my
- 141-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
ch m thut ton to lp t trm gi hoc thut ton to lp t trm nhn s c p
dng. Trong thc t, mi QT x l lu gi mt danh sch cc my ch ng k v
ang sn sng m nhn mt thc hin t xa. QT ng k/hu b thc hin thng qua
vic qung b. QT la chn phc v c thc hin thng qua mt QT mi gii tp
trung. Sau khi chn trm xa, QT thng lng bt u. Phc v QT Khch thng bo
cho phc v QT ti trm xa yu cu v cc ti nguyn. Nu cc ti nguyn yu cu
chp nhn v Khch c xc nhn, phc v s cho php thc thi Thc hin t xa.
Vic truyn m chng trnh c thc hin, sau phc v to lp cc QT t xa v
to lp nn. Cui cng, Khch khi ng QT c phn chia cho trm xa .
Tnh c lp nh v trong thc hin t xa c i hi cao hn so vi nh hng li
vo/ra trong dch v t xa. Cc QT to lp bi Thc hin t xa i hi s phi hp
hon thnh cng vic chung. V th cn cung cp cho mi QT mt thng tin tng th
cho d chng u ang chy trn cc my n. Mi QT xa c mt i din nm trn
my ch u tin. Quan h cha/con c thit lp. Mi k thut giao tip a x l c
thc hin trong sut inh v. Cc file h thng ca my ch u tin thng xuyn
cung cp thng tin tng th cho cc QT.
Thng thng, thc hin t xa thc hin trn mt mi trng ng nht trong cc
my tnh tng thch c v phn cng cng nh phn mm. Khi mt Thc hin t xa
c gi trn mt my ch khng tng thch, chng trnh cn phn linh dch li, v
ph tn nhiu khi l qu cao. Mt gii php cho vn ny l s dng ngn ng trung
gian c lp (canonical machine-independent intermediate language) lp trnh t
xa, v d nh Java. Chng trnh ghi trn Java c linh dch thnh b m c lp. B
m ny c th linh dch trn mi my ch c trang b b dch m bytecodes. Cc i
tng trn mng c nh a ch duy nht trong chng trnh Java thng qua b
nh v ti nguyn tng th. Cng vi vn m tng thch, vic trao i d liu gia
cc vng khng ng nht cng cn phi gii quyt, thng tin cn c chuyn i.
Mt ln na, vic s dng d liu tng th (v d, XDR_external data representation)
cn c tch hp vo cc phng tin c bn ca Thc hin t xa.
Tuy nhin, Thc hin t xa c hai mt ca n. N c y sc mnh nhng li em
li s lm dng h thng. Mt m chng trnh l c th lm hi chnh ngi dng. V
th, trn quan im v bo mt v an ton, s l ng tin cy hn khi ch chp nhn
duy nht cc thc hin t xa c m gc hoc b m trung gian. Ngn ng dng lp
trnh mt thc hin t xa nn c gii hn loi tr cc kh nng xu c th xy ra
(v d: con tr v a tha k (pointer & multiple inheritance). Trong trng hp mt
b m trung gian c s dng, ta bt buc phi kim tra m bo chc chn m
ny c sinh ra t mt chng trnh ngun thc s. Kim tra tham s trong khi chy,
kim tra trn Stack cng rt cn thit bo v s ton vn ca cc trm xa. Do , vn
bo mt v an ton cho cc Thc hin t xa ca h thng phn tn vn l ch
ang c nghin cu.
5.4.3. Di tr qu trnh
Trong vn thc hin t xa nu trn, mt thao tc khi bt u s tn ti trn trm
cho n khi hon thnh. Chng ta c th m rng m hnh chia x ti cho php mt
Thc hin t xa c th ginh quyn chuyn sang mt trm khc. Nh vy, mt QT c
th di chuyn linh hot t trm ny ti trm khc. S di chuyn cc QT l mt ch
rt hp dn. Mt h thng vi nng lc trong sut di tr l thnh qu cui cng ca x
l phn tn.
Cng ging nh Thc hin t xa, mt chc nng di chuyn QT i hi phi nh v v
thng lng c vi 1 trm xa, chuyn nhng m, khi ng hot ng. V khi
- 142-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
mt QT c di chuyn, cc trng thi ca n cng phi chuyn kem theo. Trng thi
ca mt QT trong h phn tn bao gm 2 phn: trng thi tnh ton v trng thi truyn
thng. Trng thi tnh ton l nhng thng tin cn thit lu v thit lp li mt QT
trn mt trm xa. Trng thi truyn thngl tnh trng ca cc mi lin kt v cc
thng ip qu cnh (cc thng ip ang tm thi lu gi ch chuyn tip). Vic
chuyn nhng trng thi kt ni l mt vn mi trong thc thi vic di chuyn QT.
nh hng li lin kt v chuyn pht thng ip
Cc QT dng cc lin kt truyn thng cho mc ch lin lc gia cc QT. Chng c
thc hin thng qua bng lin kt (link table) cha trong nhn. Bng lin kt cha cc
con tr tr ti im kt ni cui (communication endpoints) ca cc QT x l khc
lin quan n n. Khi di chuyn mt QT, bng lin kt (ca QT c mi lin h vi QT
c di chuyn) cn c cp nht li gi nguyn c cc mi lin kt c. Rt
nhiu gii php cho my tnh c tm thy trong i sng hng ngy. Vic chuyn
hng lin kt cng ging nh vic chuyn a ch khi ta thay i ni sinh sng.
Thng thng, ta s thng bo a ch mi cho cc bn thn trc khi di chuyn v cho
nhng ngi cn li sau khi chuyn. Cng vi phng thc nh vy, vic chuyn
hng lin kt c thc hin nh 1 trong nhng cng on ca vic di chuyn QT,
trc hoc sau khi chuyn cc ng cnh, nh c trnh by trn hnh 5.12. u tin
QT di chuyn s ngng li (subpended or frozen) ngay sau khi la chn v thng
lng c vi mt trm xa. V khi trm xa sn sng, cng vic chnh tip theo l
chuyn giao hin trng v ng cnh ca chng trnh (chuyn bn m chng trnh) ti
trm xa trc khi cng vic c thc hin li ti y. Vic chuyn hng lin kt c
th c thc hin bng cch gi mt yu cu cp nht lin kt cho cc QT c lin
nh v
kt ni
hon
thc
hin

chuyn trn
thi v ng
cnh
T buffer
ha bi nhn
ngun

thi gian
ng cng
QT

thc
hin
li
T buffer
ha bi nhn
ch

Hnh 5.12. nh hng li kt ni v chuyn tip T

quan. Thi gian cho cp nht lin kt nh hng n vic cc thng ip gi n trong
QT di chuyn c chuyn tip nh th no. Nhng thng ip gi n trc khi cp
nht lin kt c lu gi, c th c chuyn ng thi vi m ngun (hoc chuyn
mun hn thng qua nhn ngun (source kernel)-phn chng trnh ct yu cn li
trm c. Sau khi cp nht lin kt, cc thng ip phi m trc khi chng trnh hot
ng tr li trn trm mi. Chng c cha trong bufers bi nhn ch (destintation
kernel) phn chng trnh ct yu nm trn trm mi. Thc hin cp nht lin kt
sm s gim bt cng vic tha do phi lu thng ip ti nhn ngun. Mt cch l
tng, mi th cn li ti trm gc sau QT di chuyn l nh nht v c dn gn
nhanh nht c th. Ngc li, n s lm hng mc ch gim nh cng vic.

- 143-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Tuy nhin, ngay c khi vic cp nht din ra nhanh chng, sau khi QT c di
chuyn, cc thng ip vn c th n trm c do s tr trn mng hoc do ni gi
khng bit g v vic di chuyn. khng mt thng tin, nhn ngun cn phi tip tc
chuyn nhng thng ip ti QT c di chuyn. Theo l thuyt, qung thi gian
ny l khng xc nh. Trn thc t, ta cn t ra mt gii hn ging nh hn gi th
trn bu in. Trong khi cha ht hn, cc thng ip c chuyn giao cho nhn ch.
gim bt s truyn khng trc tip, nhn ngun s thng tin cho ni gi v tr mi
ca QT. Nhng vic thng bo ny ch thc hin c khi nhn ngun bit c thng
tin v ni gi. Nhng thng ip n sau thi gian cho php s b b qua v coi nh
tht lc. V vy, chng trnh ng dng phi c trch nhim x l thng tin b tht lc.
Chuyn giao ng cnh v trng thi
Thi gian t khi dng chng trnh n khi ti hot ng ca mt QT gi l thi gian
ng cng. l ci gi phi tr cho vic di chuyn cc QT. gim bt ph tn, cc
QT chuyn ng cnh (context transfer), chuyn hng lin kt (link redirection),
chuyn pht thng ip cn phi x l ng thi. Trong thc t, vic chuyn hng
lin kt v chuyn pht thng ip c th i khi QT c ti hot ng a im
mi. iu kin duy nht cn thit cho mt QT c th nh danh hot ng a im
mi l s giao giao tnh trng hot ng v mt vi m khi to. Nh vy, gim bt
thi gian ng cng, im ti hot ng (resume execution) ca QT trn hnh 5.12 cn
c y li v gi ln QT chuyn ng cnh. Nu bn m ln, QT chuyn c th c
thc hin theo gi cc khi hoc theo trang. M khi to c chuyn ti, thm ch
trc khi QT di chuyn c hon thnh. Nhng khi m khc c th c copy theo
ch dn: ging nh h thng i hi trang. Mc d gim c ng k thi gian ng
cng, nhng phng php li ph thuc vo vic tnh ton trn trm ngun. Tuy nhin,
phng php ny t ra rt ph hp vi h thng chia x b nh phn tn c ni ti
chng 7. Mt h thng chia x b nh phn tn gi lp mt b nh logic chung da
trn cc modul b nh vt l phn tn. V tr ca cc khi b nh vt l, c bn
ho thnh khng gian a ch nh logic ca cc QT, l trong sut i vi cc QT.
Trong h thng nh vy, ch c thng tin trng thi l cn chuyn giao. Vic chuyn
giao ng cnh l khng cn thit. N c n giu trong cc k thut c s lm nhim
v chia s b nh phn tn. Vic quyt nh khi no cc khi, do QT i hi, c
copy (thm ch nh danh li) l trong sut i vi QT. Nhng ph thuc v ch khng
cn na. V vy, n nng cao tc truyn thng tin dn ti y mnh tc chng
trnh.
5.5. Lp lch thi gian thc
Lp lch QT c nhiu dng khc nhau khi thm vo rng buc thi gian. Trong nhiu
ng dng, HH cn m bo vic sp xp cc thao tc sao cho chng tun th cc
rng buc thi gian c t. H thng ny c gi l h thng thi gian thc v
chng c rng buc ti hn thi gian thc. Tn ti nhiu h thng my tnh thi gian
thc, nh h thng my tnh hng khng, my tnh iu khin t ng ho, h t ng
ha sn xut, h thng thng mi chng khon.
Dch v thi gian thc c gn vi tp cc tc v thi gian thc. Mi tc v c
miu t bng:

i = (Si, Ci, Di)


trong Si l thi im sm nht c th bt u tc v i , Ci l thi gian thc hin
trong trng hp xu nht ca i v Di l thi im cht ca i . Tp V tc v thi gian
thc l:
- 144-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy
V= { i / i=1n}

Tn ti cc dng h thi gian thc ch yu sau y


Trong cc h thng thi gian thc lin quan ti iu khin theo mc an ton hoc
thit b c mc ti hn, mi tc v buc phi hon thnh trc im cht nu khng tai
ho xy ra. H thng ny gi l h thng thi gian thc cng v ch c coi l ng
nu nh mi tc v phi bo m hon thnh trc im cht.
Trong cc h thng (nh h thng a phng tin) c nhng im cht nhng vn c
th hot ng nu khng l qua im cht qu nhiu ln. Chng c gi l h thng
thi gian thc mm. y mt tc v vn tip tc phi hon thnh du rng qua
im cht.
H thng thi gian thc tnh v mt no tng t nh h thng thi gian thc
mm nhng tc v qua im cht s khng c thc hin. V d, my tnh t ng sn
xut khng th khi s mt thao tc c hc trnh cho thit b khi t lm h hng.
Nu tc v c xut hin theo cch ti thi im tu , chng c gi l khng
theo chu k. nhiu h thng thi gian thc th thi im tc v xy ra, khong thi
gian thc hin v im cht c th tin on c. Tp tc v nh vy gi l c chu k.
V d, my tnh iu khin ng c phi tnh c lng nhin liu v suy ra thi gian
ti a ng c cn vn hnh lin tc trc khi np nhin liu.
Miu t tp tc v thi gian thc c chu k n gin. Mi tc v thc hin mt trong n
cng vic. Yu cu thc hin cng vic i mt ln trong khong Ti giy. Cc phn cng
vic pha trc phi hon thnh trc khi phn cng vic mi c bt u. Nh vy,
thi im bt u ca tc v mi l im cht ca tc v c. Do vy ti mt thi im
ch mt tc v c thc hin, ta gn cho tc v thc hin phn cng vic i l i . c
t tp tc v rt gn li bi tp thi khong v khong thi gian thc hin n cng vic:
V = {Ji = (Ci,Ti)/ 1 i n}
y ch quan tm n lp lch cc tc v theo , tc v tha mn rng buc v thi
im cht. Chng ta cng ch quan tm lp lch trn h thng n x l. Lch l phn
cng CPU cho cc tc v thi gian thc m nhiu nht mt tc v c phn cng ti
thi im bt k. Chnh xc hn, lch l tp A cc khong thi gian c miu t:
A= {(si,fi,ti)/ i=1n}
Trong si l thi im bt u, fi l thi im kt thc v ti l tc v c thc hin
trong khong thi gian . Lch c gi tr ch khi tho mn cc rng buc:
1. i=1, ,

si < fi

2. i=1, ,
fi < si+1
3. Nu ti=k th Sk si
v fi Dk
iu kin 1 i hi khong thi gian thc hin thc s l mt khong. iu kin 2 i
hi cc khong thi gian c sp theo th t. iu kin 3 i hi tc v phi thc
hin sau thi im cho php v phi hon thnh trc im cht. Tp tc v c gi l
kh thi nu mi tc v k nhn c ti thit Ck giy CPU thc hin trong lch. Tc l,
nu gi:
A( k ) = {a=(si,fi,ti)/ aAv ti=k}
Nh vy, lch l kh thi nu mi k V m
- 145-

H Quang Thy

i
( si , f i , k = i )

Bi ging H iu hnh phn tn (Phn 1)

si C k

Tp tc v c gi l kh thi nu tn ti mt lp lch kh thi cho tp tc v . Mc


ch ca thut ton lp lch thi gian thc l tm lch kh thi nu n tn ti. Chng
ny tm hiu cc thut ton lp lch thi gian thc vi gi thuyt rng buc khc nhau.
n gin, ch xem xt h thng thi gian thc cng.
5.5.1. H thng n iu u
Kiu n gin nht ca lp lch thi gian thc c cc gi thit sau:
1. Mi tc v l chu k v Ti l khong thi gian ca tc v i
2. Cc tc v khng truyn thng ti nhau
3. Cc tc v c mc u tin v u tin l c nh (lp lch u tin tnh).
Vic c nh cc u tin lm n gin ho bi ton lp lch. Trong lp lch u
tin tnh, b lp lch ch tm kim tc v c u tin cao nht cho bc k tip. Trong
khi h u tin ng, b lp lch phi tnh ton li gi tr u tin sau cc bc.
Tuy nhin, du c nhiu tp tc v thch hp vi cch u tin ng, nhng lp bi ton
lp lch u tin tnh vn l tng khi u tt v d thc hin.
Quan st tp tc v kh thi n gin cha c lp lch u tin tnh. Nu tp tc v
c mt lch kh thi c to ra bng b lp lch u tin tnh th gi tp tc v nh th l
c mt lch phn cng u tin tnh kh thi. Mc ch ca phn ny l tm lch trn nu
n tn ti.
Nu tc v i c yu cu thc hin ti thi im t, i s khng vt im cht nu
thi gian thc hin cc tc v u tin cao hn trong khong thi gian (t,t+Di) nh hn
hay bng Di-Ci. Khi thc hin tc v c i hi (tc l, bt u thi khong ca n),
tc v c th hoc khng th hon thnh cng vic trc im cht, ph thuc vo dch
v CPU i hi cho cc tc v u tin cao hn. Tuy nhin, c th nh v trng hp
ti nht. Mc ti hn ca tc v i xut hin khi n v mi tc v c u tin cao hn
c lp lch ng thi. M t mc ti hn ca 5 trong hnh 5.13 (vng ri nt l thc
hin tc v, khi bin lin nt l thi gian ch tc v). Nu tc v i ph hp im cht
khi c lp lch theo mc ti hn th n lun ph hp im cht trong cch lp lch
khc.
L do c minh ha trong hnh 5.13. Hy ch iu xy ra khi lp lch i nu di
chuyn thi gian i hi ca tc v u tin cao hn h ln hoc xung. Nu cho thi
im i hi ca h ln t+ th tng ng phi gim thi gian thc hin cc tc v ny
trong khong (t, t+Di) i . Tuy nhin tng s thi gian dnh cho thc hin h trong
(t,t+Di) khng tng ln. Tng t vi vic gim. Do vy, ti mc ti hn, tng thi
gian cc tc v c u tin cao thc hin l ln nht.
V th, c th xc nh nu kt qu phn cng u tin trong mt lch kh thi bng cch
m phng thc hin cc tc v ti mc ti hn ca tc v c u tin nh nht. Nu
tc v c u tin nh nht ph hp im cht khi bt u t khong ti hn th cc
tc v khc cng ph hp im cht ca chng. Tc v c khong thi gian qu ngn
s c t thi gian thc hin cng vic ca n hn l tc v c khong thi gian di.
Bng trc gic, thy s tt hn nu gn mc u tin cao cho tc v c khong thi gian
ngn v ngc li.

- 146-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy

t PRh l u tin ca tc v h. Gi s rng nu PRh>PR1, CPU s x l h trc l


(tc l gi tr PR cao hn tng ng mc u tin cao hn). Qui tc phn cng u tin
tc v c gi l phn cng u tin tc u RM (Rate Monotonic) nh sau:
H phn cng u tin RM
Nu Th<T1 th PRh>PR1
Php phn cng u tin tc d u rt d thi hnh v ch cn xp cc tc v theo di
cc khong thi gian ca n. RM cng to ra mt phn cng u tin tt. C th ch
ra rng nu tn ti mt lp lch u tin c nh cho mt tp cc tc v c chu k th RM
s to ra mt lch nh vy.
Ni ngn gn, RM l mt thut ton phn cng u tin ti u theo ngha nu tn ti
mt phn cng u tin tnh m lp lch kt qu l kh thi th phn cng n iu u
cng s sinh ra lch kh thi.
hiu c tnh cht ny ca phn cng RM, gi s rng c mt phn cng A khng
RM sn sinh ra mt lch kh thi. C th hin th cc tc v xp theo u tin gim
dn m 1 cao nht cn n thp nht. V A l h khng-RM nn tn ti cp 2 tc v i
v i+1 m Ti>Ti+1. Nu thay i u tin ca 2 tc v ny th h vn s l h kh thi?
1
2
3
4
5
Th hin ti hn i vi k
Cho k ti t+
Cho k ti t-
Hnh 5.13. Mc ti hn mt tc v

Nh li, ch cn xem nu i v i+1 ph hp im cht ti mc ti hn. Ch iu g


xy ra ti mc ti hn theo phn cng u tin A (hnh 5.14). Trong khong thi
gian (0,Ti+1) sau mc ti hn, tc v i sau i+1 l H giy. Do i+1 ph hp im cht
ca n nn
H+Ci+Ci+1 Ti+1
Tip , khi thay i u tin ca i v i+1. Tc v i+1 chc chn ph hp im
cht v tng u tin ca n. i cng ph hp im cht v n s hon thnh cng
vic trong khong Ti+1<Ti. Do vy, vic thay i trn vn dn n mt kt qu lch kh
thi.

- 147-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Nu lp cc bc hon i s to ra mt phn cng RM. Suy ra nu mt tp cc tc v
c chu k c phn cng u tin c nh kh thi th RM s l mt trong s cc lch .
Phn tch thi gian
chc chn tt c cc tc v ph hp im cht, CPU s c t ch ri trong
mt s chu k thi gian (nhng chu k ny c s dng thc hin cc tc v khng ti
hn) Chng ta cng phi
cn chc chn v mc
1
tt ca CPU m thut
ton em li (v d thi
2
gian nhn ri khng qu
H
di).
i+1
nh ngha ti L ca cc
tc v thi gian thc l
H
i
phn s thi gian m cc
tc v ny s dng CPU
n

L=
i =1

Ci
Ti

Cc nghin cu ch ra
rng iu kin
2
RM l mt phn cng
i+1
H
u tin kh thi l
L n(21 / n 1) . C ngha
l nu vic ti cc tc v
i
H
thi gian thc l ti
thiu th RM s l mt
phn cng u tin kh
Hnh 5.14. V d v swapping tc v
thi ca chng ta. Chng
minh iu ny kh phc tp v khng cn thit nn khng cp n. Tuy nhin, bit
rng n.( (21 / n 1) s ln hn 69 phn trm khi n ln v do vy RM s khng lng ph
qu 31 phn trm ca CPU.
Cn n.( (21 / n 1) ti khng t ra tt, y ch dng nh gi, khng phi l iu kin
tin quyt. Trong v d tp tc v V={(1,2), (1,3), (1,6)} c lch phn cng theo RM
kh thi v 100 phn trm CPU dnh cho vic ti.
C th tm thy iu kin cn thit xc nh liu tp tc v cho c th lp lch
kh thi c hay khng bng cch th t chng (tc cc tc v) vo cc mc ti hn
ca chng. Sp cc tc v theo u tin gim dn vo mt danh sch. c ri l thi
gian tr li ca tc v i ti mc ti hn. Nn, i s thc hin xong sau ri sau mc ti
hn. Trong thi gian , tc v c u tin cao h s yu cu dch v [ri/Th] ln v s
cn Ch giy ca CPU cho cc yu cu . Suy ra ri phi tho mn mnh sau.
ri

ri

C
T h

V ri xut hin hai v ca mnh nn tnh trc tip n kh l kh khn. Nhng c


th tnh c ri theo cch gin tip. u tin, gi s i khng ch bt k mt tc v c
u tin cao no. t gi tr ri vo v phi mnh v tnh c gi tr ri mi biu
din s cc dch v thc hin trong Ci u tin sau im ti hn. Trong QT sot li
- 148-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
thi gian tr li vic thc hin mt s tc v c u tin cao c th xy ra. Tip tc
t ri vo v phi mnh v tip tc tnh gi tr ri n khi ta tm thy gi tr n nh.
Cc bc trn c biu din tng ng bng ton hc nh sau
ri (0)=Ci
ri ( k + 1 ) = C

i1

h=i

r i(k )
C

Th

thc hin n khi ri (k) = ri(k+1). Nu ti mt s bc ri(k)>Ti th tp tc v khng th


c sp lch kh thi.
5.5.2. H thng im ti hn u
Mt s tc v trong h thng thi gian thc cn hon thnh cng vic thc hin trc
mt khong thi gian ngn khi c yu cu. Chng ta c th to ra h thng kiu ny
bng cch thay i h thng cc tc v c chu k. Cho
V{Ji=(Ci, Ti,Di)/ 1 i n }
l m t cho cc cng vic thc hin trong h thng. Nh phn trc, gn cho cc tc
v thc hin chng trnh i l i . Tc v i cn thc hin mt ln trong khong thi
gian Ti v yu cu Ci thi gian ca CPU x l. Nu i c yu cu ti thi im t,
n phi hon thnh cng vic trc thi gian t+Di hoc n s vt qua im ti hn.
Cch phn phi ti u da vo s c nh u tin cho m hnh ny c th hin
bng thut ton DM (Deadline Monotonic)
Phn cng u tin im ti hn u
Nu Dh<D1 th PRh>PR1
Trng hp DM t c ti u tng ng nh trong trng hp ca RM. Tuy
vy ta s gp mt cht kh khn khi phn tch DM nhiu hn so vic phn tch RM bi
v khng c mt cng thc no t cho cng vic ny da trn s ti lch ti u tin cy.
May mn l ta c th s dng thi gian tr li response time (nh trong mnh 5.1)
m khng cn s thay i no. Tc v gi l kh thi nu ri Di vi mi i =1 n.
5.5.3. u tin im ti hn sm nht
Nu quyt tm xy dng mt phng php lp lch phc tp, phi cn n s phc v
ca CPU nhiu hn so vi nhiu phng php lp trc . tng chung l s dng
phng php lp lch c u tin ng (thay i). C ngha l cc quan h ca u
tin ca cc tc v c th thay i khi h thng hot ng. u tin c th t gi tr
mi khi c s kin quan trng xy ra, kiu nh tc v kt thc, tc v ng b hay n
gin ti thi im bt u tc v.
t k(i) l tc v xy ra trong khong th i ca cng vic Jk v t dk(i) l im cht
ca n. Tng t, t PRk(i) l u tin phn cng cho k(i). Thut ton phn cng
ng ti u gi l u tin im ti hn sm nht (Earliest Deadline First - EDF).
Phn cng u tin im ti hn sm nht
Nu dh(i)<d1(j) th PRh(i)>PR1(j)
Ta c th ch ra rng EDF t ti u nh cch ta tin hnh vi RM v DM. Gi s
rng tn ti mt cch sp lch kh thi khng s dng phng php theo EDF. Khi ta
s c cp tc v k(i) v l(j) m dh(i)<d1(j) nhng u tin ca k(i) v l(j). Lp li
khi lch l EDF.

- 149-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Thc ra vi Di=Ti cho 1 tp cc tc v c chu k th chng l EDF (tn ti cch phn
cng kh thi theo EDF) min l L 1 .
EDF s dng im ca cc khong xy ra chc lt ca cc tc v xc nh cc
u tin, khng phi l thng tin v chnh cc khong . Do vy, EDF thch hp
cho lp lch c chu k. Theo chng minh EDF ti u c khi ch s dng im cht
ca cc khong xy ra chc lt ca cc tc v. EDF l thut ton tt cho lp lch cc
tc v thi gian thc c chu k.
5.5.4. ng b thi gian thc
Nh bit cc m hnh tc v trc, ta gi s mi tc v l c lp vi nhau.
Tuy nhin, mt tp
cc tc v cng c
o u tin
th lin kt thc
hin mt mc ch

M S
Kha S
nn cn chia x
thng tin v do vy
phi thit lp mt

c ch ng b.
Hn na mi tc
Kha S
v cng cn chim
M S
hu cc ti nguyn
h thng (b nh,
Kt khi chui
knh
truyn,)
trong QT hot

M R
Kha R
ng. ng b
gia cc tc v

thi gian c hiu


Kha R
Kha S
M S M R
l pht hoc thu
semaphore (c tn
Kha S
hiu). Khng may,
M S
vic lm ny c
Hnh 5.15. K khi chui v o u tin
th dn n s
chm tr thi gian tuy rt ngn trong QT ng b.
Xem xt h thng bao gm t1, t2 v t3 sp theo th t gim ca u tin v
semaphore S. Gi s t3 kho S li kh t1 c yu cu. V 1 c u tin cao nht
nn n s c thc hin. Nu 1 th kho S, n s phi dng li v ch cho n khi
3 tho kho S. Tuy nhin, trong trng hp 3 lin quan n 2 (v nh sn sng
trn hng i) th n s phi dng vic tho kho S cho n khi 2 hon thnh. Suy ra
2 hot ng c s lin h ph thuc vi 1 . iu ny gi l s o ngc u tin bi
v 2 c u tin thc hin cao hn 1 trong mt khong thi gian. Mt cch khc
c th gi y l chui khng ch. Coi 1 kho semaphore R, 2 kho R v S, 3 kho
S th 1 s coi nh l b kho bi 3 d rng 1 khng kho S.
Giao thc ng b thi gian thc tng tc vi lch nhm gim bt o ngc u
tin v mc nh nht v c th suy on c. Vic tng tc ny hon thnh bng
cch iu chnh u tin ca cc tc v thi gian thc v cung cp mt cch chn la
cc li vo s dng semaphore.
Tc v i s truy cp ti mt tp cc phin ti hn ci,{zi(k)/ 1 k ci . Cc phin ti hn
c kh nng chng cho ln nhau trong cng mt v cho php s xm nhp vo cc ti
- 150-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
nguyn khc nhau trong cng lc. Tuy nhin, vic chng cho phin ti hn phi da
theo c ch ng t tc l nu zi(1) v zi(2) chng cho v zi(1) khi u trc zi(2) th
zi(2) phi kt thc trc zi(1).
Tc v h s truy cp ti mt tp cc phin ti hn zi(2) ca tc v c u tin nh
hn 1 nu h phi i 1 thot ra z1(k) trc khi tip tc thc hin. Tc v h c
th b khng ch bi z1 (k ) bng c ch khng trc tip nh kiu chui ch hoc bng
m phng giao thc ng b thi gian thc. Nu z1(k) c bo v bng semaphore S
th h b khng ch thng qua S.
Giao thc k tha u tin
Trong v d trc, s khng ch tc v 1 xy ra khng d on c trong mt thi
gian di bi v 2 c u th hn 3 trong khi 3 li khng ch 1. Tc l, 3 c quyn
u tin hn 2 trong khi 3 khng ch 1 . Do vy, 3 tha k u tin ca 1 . T
dn n giao thc k tha u tin PIP (Priority Inheritance Protocol) c cc lut sau:
- Mt tc v c phn cng thng (RM) khi n c yu cu.
- Phn cng cho CPU u tin cao nht
Trc khi mt tc v bc vo phin ti hn, n u tin phi yu cu kho semaphore
cc phin ti hn khc
Nu tc v h b khng ch thng qua S c iu khin bi 1 th n s b chuyn ra
khi danh sch sng v PR1 s c phn cng thay cho PRh (tha k u tin ca
h)
- K tha u tin c th m rng.
Tc v c u tin cao nht b khng ch thng qua S s c cho vo hng sn
sng. Tc v 1 tr li u tin m n k tha qua S v tip tc u tin nh hn.
Giao thc tha k u tin gii hn thi gian trong QT tc v b khng ch (vd: thi
gian lc tc v c u tin thp ang hot ng). Nu tnh c qung thi gian ln
nht m i c th b khng ch, ta c th c s tnh ton trc khng nh c tn
ti mt cch sp lch kh thi cho tp tc v ny khng? C hai phng php ch ra mt
tc v c u tin thp khng ch tc v c u tin cao hn. PHng php u
tin l khng ch trc tip. N xy ra khi tc v c u tin cao mun kho
semaphore c qun l bi tc v c u tin thp. Phng php t hai lin quan
n giao thc tha k u tin. Khng ch y qua xy ra khi mt tc v c u
tin thp tha k c mc u tin cao v n l tc v c u tin trung bnh c
khng ch y qua. Ch rng khi tc v c u tin thp nh semaphore, tc v c
u tin cao thc hin v tc v c u tin thp bi v cc tc v ny hot ng
theo s sp xp u tin. (vd trong hnh 5.16 khi h yu cu kho S, n b khng ch
trc tip bi 1 qua S v m b khng ch y qua bi 1 qua S).
Mt tc v c u tin cao h b khng ch bi tc v 1 c u tin thp hn nu
v ch nu 1 ang thc hin trong phin ti hn v h c yu cu. iu ny xy ra v
h b cm, 1 c thc hin ch khi h b khng ch bi n (v khng th gia tng
u tin cho 1)
Ta c th to ra cc quan st m qua tnh ra thi gian khng ch ti a. Tc v 1
khng ch tc v h trong 2 trng hp. Gi s 1 kho R v S trc khi h c yu
- 151-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
cu. Khi h thc hin, 2 tc v c u tin cao hn 1 v 2 s c yu cu. Gi s
1 mun kho S, 1 tha k PR1 cho n khi n nh S. Sau 2 mun kho R nn 1
tha k PR2 n khi n nh R. Tuy vy, khng ch y qua h bi 1 l khng quan
trng v khong thi gian tng t cho vic khng ch khng xy ra nu ch 2 c
yu cu.
Tc v 1 c th khng ch h ch khi 1 ang trong phin ti hn. V ta gi thit cc
phin ti hn da theo c ch ng t nn suy ra bit c phin ti hn di nht m
trong 1 khng ch h . t Bh(1) l tp tt c cc phin ti hn m 1 trong c
th khng ch h . Bh(1) bng rng nu PR1>PRh. Vic khng ch c chia lm hai
loi trc tip v y qua nn chng ta phi phn tch tp tt c cc tc v kho
semaphore S.
k
Kha S

m kha S

m
l
Kha S

m kha S

Hnh 5.16. Kt khi theo y v trc tip

Cho ceiling (S) l u tin ca tc v c u tin cao nht c th b khng ch bi


S. Khong ti hn z1(j) ca 1 khng ch nu z1(j) c bo v bng S v ceiling
(S) PRh . Nu khng tn ti cc phin theo c ch ng t, ceiling (S) l u tin
ca tc v c u tin cao nht kho S. Nu c mt s cc phin theo c ch ng t
s gy ra chui khng ch (nh thy hnh 5.16). Trong trng hp ny, cn cc phn
tch phc tp hn.
t Eh(1) l thi gian thc hin ln nht ca cc khong ti hn thuc Bh(1). Bh l
qung thi gian di nht m h b khng ch. Suy ra
B

{ lPR

< PR

(l )

Khng tn ti cch tnh Bh no khc c th a ra cn tt hn. Thay v xem xt cc


khng ch sinh ra bi cc tc v, ta c th xem xt cc khng ch gy ra bi cc phin
ti hn. Gi thit h b khng ch thng qua semaphore S. S b trng gi bi 1 v
khng ch kt thc khi 1 nh S. Sau khi nh S, khng mt tc v c u tin thp
no c thc hin n khi h thc hin xong. Do vy, h c th b khng ch qua S
nhiu nht mt ln.
t Eh (S) l qung thi gian thc hin di nht ca cc khong ti hn bo v bi S
bng tc v c u tin thp Hown PRn (bng 0 nu khng c tc v no nh vy).
Khi
Bh
{ S \ ceiling

S ( S ) (5.3)

h
( S ) PR

- 152-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Chng ta c th khng lin kt thi gian khng ch ti a Bh vo phng n sp lch
ch vi nhng thay i khng quan trng. Kho tm kim l khi qung thi gian khng
ch tng ln cho n khi tc v h hon thnh cng vic, CPU khng b lng ph trong
sut QT. iu kin cn thit cho mt phn cng RM (nh trong phn trc) c th m
rng nh sau vi h=1n
h

j =1

Tj

Bh
h 21/ n 1
Th

Trong PRh>PRh-1 vi h=2n


Vi nhng quan st k lng hn, ta c th thay i thi gian p ng tnh ton mnh
5.1 l
ri(0)=Ci+bi
r (k )

ri(k+1)=Ci+Bi+ h =1 i C h (5.4)
jh
Tng t nh vi RM v DM, tp cc tc v l kh thi nu thi p ng lun lun nh
hn hay bng vi im cht ca tc v
5.5.5. Giao thc mc u tin trn
Khi giao thc tha k u tin hn ch cc khng ch, khong trng Bh vn cn kh di.
Giao thc mc u tin trn (PCP) c th bit s gii hn Bh trong mt phin ti hn.
hon thnh n, PCP s thm cc hn ch h khc khi tc v mun t vo phin bn
ti hn. Tuy nhin, nhng ti hn cn phi c xem xt mt cch tng th.
Khi tc v c yu cu (s dng PIP), c th c mt s cc tc v c mc u tin thp
1 ang kho semaphore S m c th khng ch h . Chng ta phi khng nh khi h
c yu cu, ti a mt tc v c u tin thp kho semaphore S ang khng ch
h . i hi ny t ra mt lut n gin: mt tc v mun kho S ch khi khng c tc
v no khc kho R m tc v h c th b khng ch thng qua S v R.
i 1

Lut khng ch trn yu cu cn c mt phng thc n gin qua xc nh cc tc


v no b semaphore khng ch. May mn l ta c mt phng thc nh th: ceiling
(s) chnh l u tin ca tc v c u tin cao nht m c th b khng ch bi S.
Suy ra, h ch c th b khng ch qua S nu v ch nu ceiling (S) PRh. Khi ta gi
ceiling(S) l mc u tin ti hn ca S.
Khi 1 mun kho S, n s kim tra mc u tin trn ca tt c cc tc v b khng ch
qua semaphore R. Nu mc u tin trn ca R nh hn PR1, R khng th khng ch
tc v m 1 c th khng ch thng qua S. Do vy, tc v c u tin cao h c th
b khng ch qua S v R.
Mt v d minh chng cho vic s dng lut PCP hnh 5.17. Trong bc thc hin ti
pha trn ca hnh v, tc v m b khng ch qua semaphore S bi v 1 gi R v
ceiling(R) PRm. Nu m b cm khi yu cu S, h c th b khng ch bi khong
thi gian xc nh ca hai hot ng phin ti hn. Tuy m b khng ch bng cch
kho nh vy nhng n khng bao gi thot ra c. PCP bo m cc tc v ch b
kho nhiu nht mt ln. Trong hot ng pha di hnh v, ceiling(R)<PRm nn m
c th gi S m khng s b khng ch h hai ln.

- 153-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy

Tc v m b kt khi bi PCP
celling(R)

celling (S)

k
Kha S

m S

m
Kha S

m S

l
Kha R

m R
Tc v m khng b kt khi bi PCP

k
Kha S
m
Kha S

m S

l
Kha R

m R

Hnh 5.17. V d thc hin giao thc mc u tin trn

Theo quan im ny, ta hu nh thit lp ra giao thc mc u tin ti hn ngoi vic


thm vo mt s lut km theo sau:
- Mi semaphore S c mt lin kt mc u tin ti hn ceiling(S) vi n.
- Khi 1 mun kho S, vic ny ch ng khi PR1 ln hn ceiling(R) vi mi
semaphore R b kho bi cc tc v khc. Nu khng 1 s b khng ch.
- Nu tc v h b khng ch qua S b gi bi 1 th 1 s tha k u tin PRh.
- Khi 1 nh S, 1 nh tt c cc u tin m n k tha qua S. Tc v c u
tin cao nht s c t vo hng i
Nu ra tnh c qung thi gian khng ti a cho mi tc v, ta s s dng mnh
5.4 xc nh rng liu tp cc tc v c mt cch sp lch kh thi s dng phn cng
u tin hay khng? Bi v mt tc v c th b khng ch bi nhiu nht mt tc v
khc v qua nhiu nht mt semaphore nn ta c
Bh max{ E h ( S ) ceiling ( S ) PR h } (5.5)

- 154-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy

chng VI. H thng file phn tn


H thng tnh ton l tp hp cc thao tc x l trn i tng d liu. Cc i tng
bn vng cn c lu gi lu di tm kim. Chng cn c t tn v bo qun
trn cc thit b lu tr n nh, chng hn nh a t. Cc i tng d liu c tn
c gi l file. Gi s file l i tng d liu c bn, cu trc ni ti v th hin
chng c coi nh vn thi hnh ca c t h thng. H thng file l thnh phn
chnh trong HH, c trch nhim t tn, to mi, xo, tm kim, sa cha v bo v
mi file trong h thng. File cn c chia x d dng cng tc v c phn b ti
cc nt ri rc trong h thng phn tn.
H thng file phn tn (DFS) l thi hnh ca h thng file, ph hp vi vic phn tn
vt l trn cc nt lu gi song cung cp mt ci nhn ca h thng file tp trung theo
truyn thng cho ngi dng. S tn ti cc file trong phm vi ca h thng l trong
sut i vi ngi dng. Nhiu khi nim quan trng trong thit k h phn tn c
sng t nh thi hnh DFS. Th nht, DFS s dng nhiu kha cnh ca tnh trong sut.
Th hai, dch v th mc trong DFS l v d tt ca dch v tn, mt thnh phn ct
yu trong h phn tn. Th ba, yu cu v hiu nng v sn sng cn n b m
cache v nhn bn, dn ti bi ton qun l kt dnh cache v nhn bn. Th t, iu
khin truy cp v bo v i vi DFS m ra nhiu bi ton quan trng trong an ton h
phn tn. Chng ny gii thiu nhng vn ny (ti cc chng thuc phn 2 ti
liu, cc vn ny s c nghin cu chi tit hn).
6.1 c trng ca DFS
Phn tn v v s c v ngi dng v file l hai c trng quan trng ca DFS. a
khch nh v phn tn truy nhp file phn tn (thng c nhn bn). Mc tiu thit
k l che du i hai c trng phn tn v v s i vi ngi dng. DFS trong sut c
cc tnh trong sut sau:
a. Khch phn tn
Ngi dng ng nhp ti my tnh bt k (ngi dng c quyn s dng my tnh )
trong h thng vi mt th tc ng nhp ng nht v nhn c ci nhn ng nht
v h thng file m khng ph thuc vo my tnh ng nhp. c tnh ny gi l
trong sut ng nhp. xxxMi khi ti my ch, QT khch chy trn my cc b c c
ch ng nht truy cp tt c cc file trong h thng, bt k file cc b hay xa.
Tnh cht ny gi l trong sut truy nhp.
b. File phn tn
Tn c t cho file khng cha thng tin v v tr vt l ca file, file l trong sut
nh v i vi khch. Hn na, file c th di chuyn t v tr vt l ny sang v tr vt
l khc m khng phi i tn. Tnh cht ny c gi l c lp nh v v l tnh
cht mnh hn so vi trong sut nh v.
c. V s ngi dng
Nhiu ngi dng c th ng thi s dng mt file. Mt cp nht file ca QT ny
khng i nghch vic thc hin ng n ca cc QT khc ang ng thi chia x file
ny. Tnh cht ny c gi l trong sut ng thi. Nhng ng dng-giao dch i hi
rng ng dng trnh din truy nhp file mt cch c lp (bt chp s truy nhp file
chen ngang ca cc ng dng khc). Bi ton tin cy thc hin ng thi ca mt giao
dch c ch dn nh iu khin ng thi trong h CSDL. y l yu cu ti DFS
nhm h tr trong sut ng thi ti mc giao dch.
- 155-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
d. V s file
File trong DFS c nhn bn cung cp d tha m bo tnh sn sng v cho
php truy nhp ng thi hiu qu. DFS vi trong sut nhn bn thc hin cp nht
nguyn t trn cc bn sao v khch khng nhn thy s tn ti ca cc bn sao.
Dy tnh trong sut nh c gii thiu l i hi quan trng khi thit k DFS. Tnh
cht mong mun khc v c trng trong sut l th li, phn cp v hn tp ca h
thng. Li, chng hn v cc QT phc v hoc khch, mt thng ip, vic chia ct
mng, l khng nh hng ti ngi dng ngoi tr vic lm gim khng ng k hiu
nng h thng. Vic tng trng file v lng cp nht khng lm ngt cc thao tc
thng thng i vi h thng file. Lu l vn trong sut khng th ch xt trong
h thng file phn tn m cn c xem xt trong h thng phn tn ni chung.
6.2 Thit k v thi hnh DFS
Trong on ny, u tin cp mt s khi nim c bn v file v h thng file. Vn
duy nht trong thit k v thi hnh DFS l da theo nhu cu chia x v nhn bn
file. Trng tm chnh ca chng l cc giao thc t c tnh trong sut trong chia
x v nhn bn file.
6.2.1 File v h thng file
Vi ngi dng, file gm 3 thnh phn logic
Tn file
Thuc tnh file
D liu
File c to ra gn vi tn tng trng (tn). Khi truy cp file, tn file c nh x ti
s hiu file duy nht (ufid hoc th file), cho php nh v c file vt l. y l chc
nng nguyn thy ca dch v th mc trong h thng file. Cc thuc tnh file in
hnh l thng tin v ch nhn, kiu, kch thc, tem thi gian v quyn truy nhp file.
Cc n v d liu trong file c t chc theo cu trc phng dng byte hoc dy tun
t cc khi, hoc theo mt la chn khc, l cu trc phn cp cc bn ghi c ch s.
Ph thuc vo cu trc file h tng m file c truy cp theo mt trong ba cch:
(1) Truy nhp tun t: Trong truy nhp tun t, vi mi file m, h thng duy tr
mt con tr nh v file nhm ch dn v tr ca n v d liu tip theo s c truy
cp. Con tr file khng phi mt phn ca thuc tnh file; thc cht n l phn ca
trng thi QT (d cho con tr file c chia x gia cc QT lin quan). M file khi
to con tr file v bt u phin lm vic, truy nhp file tip theo c din ra cho n
khi file c ng. Phin lm vic tng t kt ni trong truyn thng mng nh
hng kt ni.
(2) Truy nhp trc tip: Khc vi truy cp tun t (v tr n v d liu c/ghi xc
nh), trong truy nhp trc tip cn ch dn r rng n v d liu kch thc-c nh
bng s hiu khi ca chng. Mi thao tc c/ghi cha thng tin a ch y v
c lp vi thao tc c/ghi khc. Truy nhp file ging nh truyn thng mng khng
kt ni. M file l khng nghim ngt ngoi tr phin (xem trong 6.2.5) cn c ng
ngha mong mun chia x file. B sung ti nh ngha phin, hu ht cc h thng
file dng li gi h thng open thc hin nh x mt ln tn file ti trnh by my
ni ti cho truy nhp file v sau v thu c quyn truy nhp file. i vi phng php
truy nhp trc tip, thao tc open c chc nng ging nh v file look-up hn.
(3) Truy nhp tun t s hiu (ch s k tip): Cc n v d liu c a ch trc tip
bng s hiu (kho) gn vi mi khi d liu. Truy nhp tun t s hiu i hi duy tr
ch s tm kim trong file, cn tm c nh v khi cho mi truy nhp. Tu thuc vo
dung lng v tng ph thi gian, truy nhp ch s thng c dng i vi h thng
- 156-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
file ln trong h thng my tnh ln. gim kch thc s hiu tm kim, thng
thng dng s hai mc, l phng php truy nhp ch s k tip. Mt dy cp
kha/i tng c bo qun trong khi d liu ln. Cp kha/i tng c nh v
khi dng s hiu tm kim nh v khi cha cp ny, sau truy nhp d liu trn
khi cho n khi tm thy cp kha/i tng. Thao tc hai mc ny t hp cc phng
php truy nhp trc tip v tun t tng t nh tm thng tin theo s hiu trong mt
quyn sch. Cch thc ny c dng i vi file d liu ln, trong cc bn ghi ca
file c gi trong b nh ph cn bng s hiu c duy tr trong b nh nguyn
thy tm kim hiu qu.
Cu trc file dy c li ch v thng dng hn do tnh n gin v tng ng vi cc
thit b lu gi thi hnh file. V d, Unix coi rng file l dng k t ca chng trnh
ng dng v dy cc khi kch thc c nh trong h thng file. C hai phng php
truy nhp tun t v trc tip c h tr. Cc phng php truy nhp khc c xy
dng da trn nn cu trc file dy.
Dch v th mc
Gii php tn, thm v xo file
Dch v xc thc
nng lc v/hoc danh sch iu khin truy nhp
giao dch
Qun l ng thi v nhn bn
Dch v file
c s
c/ghi file v nhn/t thuc tnh
Dch v h thng
Qun l thit b, cache, khi
Hnh 6.1 Thnh phn chnh trong h thng file
H thng file t chc v cung cp dch v truy nhp v bo v cho tp hp file. Bn
thnh phn dch v chc nng chnh: th mc, xc thc, file v h thng. H thng file
h tr giao dch li phn chia dch v file thnh dch v giao dch v dch v file c s.
Dch v giao dch c bi ton thi hnh ring (xem 6.3.3). Hnh 6.1 cho v d v chc
nng c mi dch v cung cp. T chc file d liu trong h thng file c th l dy
hoc phn cp, tng t nh la chn cu trc ni ti ca mi file ring. Tuy nhin, t
nhin hn khi t chc file theo nhiu mc, nhn c kt qu l th mc phn cp v
cu trc tn. File c t tn v truy nhp theo tn ng dn phn cp chng hn
/chow/lecture/file, nh hnh 6.2.
root
chow

book

paper lecture

process

johnson

paper report

file

PRlock

Btree

Hnh 6.2. Cu trc phn cp h thng File

truy nhp file, u tin dng dch v th mc nh v file. Dch v th mc nh


x tn phn cp ti a ch l hon ton c lp vi thao tc file thc s. Do tch
dch v th mc t dch v file nhm t c tnh n th v kh chuyn. u im
chnh ca vic tch cc dch v l cho php mt dch v file chung h tr c nhiu
- 157-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
kiu cu trc th mc khc nhau. Th mc l "file" cha tn v a ch ca cc file v
th mc con. Thao tc file th mc l tra cu, thm, xa cc thc th th mc (im
vo) tr ti cc file. Phc v th mc l khch ca dch v file cp nht file.
Cp nht file phi an ton - l vai tr ca dch v xc thc. V tr logic ca dch v
xc thc cn gia dch v th mc v dch v file bo v file hay trc dch v
th mc bo v th mc. Trong thi hnh thc s (1) Dch v xc thc c trn vi
dch v file: dch v file duy tr thng tin iu khin truy nhp. Dch v th mc n
thun thc hin gii php tn v cung cp th file nh v file c i hi trong mt
phc v file. Thao tc file c kim tra xc thc khch a ra thao tc ; (2) Dch
v xc thc c trn vi dch v th mc: Dch v th mc c b sung gii php
tn thc hin vic kim tra iu khin truy nhp. Dch v th mc duy tr thng tin
iu khin truy nhp file (v th mc). Nu xc thc khch m file c kim
tra, khch nhn c mt th file v th c quyn khng lm gi s dng file ca
khch. i vi cc truy nhp tip theo ca dch v file th ch c th c quyn l c
gi tr i vi phc v file. nh danh khch l khng thch hp ti phc v file, do th
c quyn xc thc khch. Quy tc xc thc truy nhp c tho lun chi tit trong
phn an ton h iu hnh.
Dch v file cn cung cp cc thao tc file c bn l read/write khi d liu v get/set
thuc tnh file. Do file cn c khi to trc khi c dng v cn c xo khi
khng cn thit, dch v file cng cn h tr thao tc to v xa file. To/xa file bao
gm c vic b sung v xa b thc th trong th mc nh dch v th mc. Chng
lin quan vi dch v h thng bn di l nh v v g b (gii nh v) bufer v file.
Dch v file tr thnh khch ca dch v th mc v dch v h thng.
Thao tc m file l mt thao tc ng quan tm trong dch v file. Thao tc m file bao
gm khi to phin lm vic cc thao tc file ln mt file. N tng t vic thit lp
kt ni khch ti phc v file. Dch v th mc c thao tc m file tra cu ch mt
ln duy nht. Th file nhn c khi tra cu dch v th mc v gi ti nhn ca
khch. Cc thao tc read/write tip theo c gi ti dch v file trc tip khi dng th
file. Nhn lu ng i ca kt ni, bao gm c con tr nh v file cho thao tc
read/write tip theo. Nhiu h thng file cn ngm nh rng thao tc m file s khi
to file mi nu n cha tn ti. Thao tc ng file kt thc mt phin m. Thao tc
m file l khng thc s cn thit nu quan h khch v phc v l khng kt ni.
Trong trng hp nh th, read v write l cc thao tc thc hin ("n") ngay. Mi yu
cu t khch ti phc v file cha thng tin cn thit truy nhp file.
Cc dch v th mc, xc thc v file l giao din ngi dng ti h thng file. Dch v
h thng l giao din h thng file ti phn cng v cn trong sut ti ngi dng.
Dch v h thng cung cp cc chc nng chnh yu gm nh x a ch lgic ti a
ch khi vt l, tng tc ti cc dch v mc thit b nh v/gii phng khng gian
file v thao tc file read/write thc s. Dch v h thng c h tr nh li gi h
thng ti nhn. Cui cng, file trong h thng file c th c cache nhm nng cao
hiu nng v c nhn bn tng tnh tin cy. iu quan trng l qun l cache v
nhn bn tr thnh cc dch v h thng bn cht khc ca h thng file. Cache v
nhn bn l phc tp hn khi chia x file trong h phn tn. Hai vn quan trng ny
trong thit k h phn tn c bn lun trong phn sau.
6.2.2 Phc v v dch v
Cn phn bit dch v vi phc v. Phc v l qu trnh thi hnh dch v. Mt dch v
c thc hin bi phc v ring hay nhiu phc v cng tc nhau. Thng thng, h
thng file ln phn b cc file c qun l ti cc phc v file. Mt phc v cng
- 158-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
cung cp dch v a thnh phn, chng hn nh phc v th mc thc hin c dch v
th mc v dch v xc thc.
Mi quan h Client/Server ch l tng i. truy cp file, QT ngi dng trc ht
l QT khch vi phc v th mc. Phc v th mc yu cu dch v file v tr thnh
khch ca phc v file. Vic xc thc truy nhp lm cho phc v file hoc phc v th
mc tr thnh khch ti phc v xc thc. Phc v xc thc c th i hi dch v ca
phc v file. Dch v file da vo dch v h thng ti cc chc nng mc thp do nhn
cung cp. Hnh 6.3. cho v d tch hp gia bn dch v ny trong h thng file. ng
ni trong hnh v ch dch v xc thc c th trn hoc vi phc v th mc hoc phc
v file.
dch v
Thng thng, phc
th mc
v ph hp vi my
tnh cung cp ti
nguyn m phc v
dch v
qun l. Phn ln
xc
thc
cc h thng file tp
Server
trung ln s dng
cc my dnh ring
nh phc v file v
dch v
Khch
l do hiu nng v
File
qun l. Trong h
thng nh vy, c s
phn bit mang tnh
dch v
c trng gia my
h thng
phc v vi my
khch. Tuy nhin,
Hnh 6.3. Tng tc cc dch v trong DFS
trong mi trng
phn tn cc file l
ri rc gia mt s my tnh, hiu qu hn v gi thnh th mi my tnh m nhn
c hai vai tr khch v phc v.
Kin nh m hnh Client/Server v phn chia trch nhim trong h phn tn. cc phc
v trong DFS thng c cu trc nhm cung cp cc dch v th mc, xc thc, file
v h thng mt cch ring r.
6.2.3. Gn kt file v ng k phc v
Gi s th mc c cu trc phn cp. "Gn kt file" l khi nim hu dng xy
dng h thng file ln t cc phc v file v thit b lu gi khc nhau. Thao tc gn
file do mt khch thc hin vic gn mt h thng file c tn t xa ti h thng file
khch phn cp ti mt im c nh v bng mt tn ng dn. im gn kt
thng l l ca cy th mc cha tng ng mt th mc con rng. H thng file c
tn c gn kt c nh danh bng mt my tnh t xa hoc mt thit b cc b tip
theo l tn ng dn ti h thng file. Hnh 6.4. cho thy h thng file c to thnh
nh gn h thng file cc b vi h thng file t xa. Trong hnh, h thng file t xa
"xut khu" h thng file con OS cha ba file DFS, DSM v Security. H thng file
con ny c gn kt ti th mc con ca khch, book, khi dng giao thc gn kt.

- 159-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Mi ln file c gn, chng c truy nhp theo tn ng dn lgic ni tip nhau
khng cn ch dn my t xa hay thit b cc b. Tnh trong sut nh v ca cc file
c thi hnh. Thng tin lin kt (thng c gi l bng gn kt nh hng li
truy nhp) i vi h thng file t xa c h thng file ca my tnh duy tr cho n
khi tho gn kt. Dng c ch gn kt nh vy, cc khch khc nhau c th nhn theo
khung nhn h thng file khc nhau do cc file t xa c th c gn trn cc th mc
con khc nhau ca mi khch. Khi mong mun c c khung nhn h thng file ton
cc ng nht, qun tr h thng file tun theo cc lut gn kt. V d, cc file h thng
chia x bt buc gn ti v tr tho thun no trong cu trc th mc tch ri vi
h thng file cc b. V l do an ninh, mt phc v file thng chnh xc gn ton b
hoc mt phn h thng file ca n ti tp cc my c xc nh trc. Thng tin
ny c cha trong file export ca phc v.
root

root

chow

OS
export

paper

book

DFS

DSM

security

moving
Khch
cc b

Phc v
t xa

Hnh 6.4.Gn kt mt h thng file

Gn kt h thng file l thao tc c quyn v c thi hnh theo ba th hin khc


nhau:
(1) Gn hin: Khch a ra li gi gn kt r rng mi khi cn,
(2) Gn khi ng: Mt tp phc v file c quy nh v tt c cc gn kt c
thc hin ti thi im khi ng my khch,
(3) Gn t ng: Gn cc phc v c thc hin t ng hon ton theo yu cu
trong ln u tin file c khch m.
Gn hin h thng file c tnh linh hot (cho khch) nhng tnh qun l km hn so
vi gn khi ng, trong cu hnh ng nht ca h thng file c hiu lc ti thi
im khi ng. Khi dng gn khi ng, khch c khung nhn h thng file tnh song
y trong ton b phin tnh ton. L t nhin, gn khi ng li c nhc im v
ph tn khi gn cc phc v khng cn thit. Gn t ng kt hp gn hin v gn khi
ng v c cc u im ca c hai. N l ng, ging nh gn hin (chnh xc hn l
file c gn ch khi n c truy nhp), v trong sut, ging nh gn khi ng khi
b qua li gi gn hin. Khi mt file c m, nhn chn mt phc v t tp phc v
quy nh sn v gn h thng file c yu cu. Gn t ng trong h thng file
mng (NFS) ca Sun tin hnh thm mt bc na. N cho php khch c t s lng
phc v cng h tr mt dch v file. H iu hnh qung b yu cu v gn phc
v u tin p ng c yu cu.

- 160-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Gn file l cch thun tin t c tnh trong sut nh v truy nhp file. Tuy
nhin, gn khi ng i hi tri thc nh v phc v file, v iu , giao thc gn l
khng trong sut. Trong h thng c nhiu phc v file cung cp cng mt dch v
file, thng tin nh v khng cn thch hp vi khch. Phc v file c th c nh v
theo hai cch:
(1) Phc v file ghi nhn dch v ca n bng mt dch v ghi nhn v khch tra
cu phc v ghi nhn trc khi gn,
(2) Khch qung b yu cu gn v phc v file p ng yu cu ca khch.
C hai tip cn v c bn l giao thc gii php tn hoc gii php a ch. i vi
DFS, dch v ghi nhn cung cp li th v hiu nng. Phc v ghi nhn ch dn ti (p
ng) phc v file tt nht, hoc phc v file lm cn bng ti h thng cho yu cu ca
khch da trn tri thc ca phc v ghi nhn v h thng. Phc v ghi nhn ng x
ging nh mt thng gia thng minh trong h t tr cng tc. Khi dng chnh sch
hp l, khch cng c th chn mt tr li nhn c qua qung b. Tuy nhin, thng
tin kt ni thng trc trong nhn khch c th c xem xt nh cache. Nu phc v
file chuyn di sang my tnh khc, truy nhp file ti phc v s thiu vng cache. Mt
trong hai giao thc gii php c kch hot tm nh v mi ca phc v b qua s
can thip ca khch. Kt qu l hon thnh c tnh c lp nh v file.
Gn h thng file t xa thng c xp chng nhau. H thng file c gn c th c
th mc no c gn t mt phc v file khc. Trong trng hp , lp li tn
ng dn i hi dc theo bng gn a thnh phn tri trn phm vi cc my tnh.
Kh nng phc v file ch sn sng cho truy nhp song vn l phc v file trung
gian li ngn cn khch vn ti file. Dng gii php cho php truy nhp trc tip ti
file mi khi file c nh v. Thng tin ny c th c lu trong cache i vi mi
file t xa c m. Gii php a ch da trn ng dn mng thch hp hn so vi
trn h thng file.
6.2.4. Phc v file c trng thi v thiu trng thi
Phin dy thao tc file ging nh kt ni dy hi/p gia khch v phc v file. Kt
ni v bn cht l yu cu thit lp v kt thc mt phin truyn thng. Hn na, tn
ti thng tin trng thi tng ng vi mi phin file (kt ni). Mt s thng tin trng
thi in hnh l:
- Cc file c m v khch ca chng,
- c t file v th file,
- Con tr nh v file hin thi,
- Thng tin gn,
- Tnh trng kha,
- Kha phin,
- Cache hoc buffer.
Thng tin trng thi c duy tr ng trong khi file ang c s dng. Chng khc
vi thuc tnh file (th hin tnh cht tnh ca file). V l do g v khi no thng tin
trng thi l cn n? Bt u t thng tin u tin trong danh sch trn, trng thi
buc phi cha file no ang c m v khch no m. Thng tin ny c thng
trc hoc ti khch hoc ti phc v hoc c hai. Tip theo, nhm trnh lp vic gi
dch v th mc cho mi ln truy nhp file, mt c t file v th file ca n c cho
i vi mi file m v duy tr ti nhn ca khch. i vi nhng ln truy nhp tip
theo, mt con tr nh v file n tng ng vi mi phin file m. Khi mt file chia x
- 161-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
c m bi nhiu khch, mi phin file m c con tr nh v file hin thi ca n,
ngoi tr trng hp tha k. Trong nhng trng hp ny, clinet tha k file t cha
ca n v con tr nh v file c chia x cho QT cha v con. Con tr nh v file c
bo qun cng vi thng tin v file m. K tip trong danh sch l thng tin gn. Nhn
ca khch duy tr thng tin kt ni ti file xa. Phc v khng cn bit file c gn
bi khch no mi khi file ca n c gn.
iu phi chia x file, thng mun cho php khch c nng lc kha file. Do kha
l thng tin ton cc chia x bi cc khch, hp l l phc v file qun l thng tin
ny. Mt v d khc v chia x thng tin l kha phin trong truyn thng. Tn ti mt
s khi nim khi dng kha phin truyn thng an ton gia khch v phc v file.
Khi xem xt trng thi ca mt kt ni gia khch vi phc v file, n gin gi thit
kha phin l mt b mt tha thun gia phc v file v khch ca n, v kha l
thng tin trng thi. Mt s giao thc truyn thng an ton hin c dng kha phin
mt ln. Trong tnh hung ny th khng cn bo qun kha nh phn thng tin trng
thi. Cui cng, cache v buffer c th c dng hoc ti khch hoc phc v nhm
rt ngn tr. Thi hnh cache v buffer l hu dng khi yu cu truy nhp a ra t
cc QT cc b. D liu trong cache v buffer l thng tin trng thi ca kt ni.
R rng l thng tin trng thi ca phin file c th c phn tn gia khch v phc
v file truyn thng. Vic phn chia thng tin trng thi c nh hng ti hiu nng v
qun l ca h thng file phn tn. R rng l, khch i hi duy tr nhng thng tin
ny. Ci g m phc v file cn n i vi mt phin m phin c xc nh. Mt
phc v file c gi l trng thi nu n duy tr thng tin trng thi no v
c gi l thiu trng thi nu n khng duy tr mt thng tin no. Khi cng bit
nhiu v kt ni th cng mm do khi thc hin iu khin trn n. Tuy nhin, nim
v trng thi l ci m cn trnh xa cng nhiu cng hp l trong thit k h phn tn.
Phc v file thiu trng thi l d dng thi hnh hn v l th li hn theo hng hc
khch v ch so vi vic lu gi vt ca thng tin trng thi. S tha hip nm gia
mm do v n gin. Do hng hc l thng xuyn hn trong h phn tn, nhiu thi
hnh DFS chn thi hnh dch v file thiu trng thi. Hng hc khch khng nh
hng ti phc v file. Sp ca dch v file thiu trng thi d khi phc li v c
cc khch khc nhn bit nh l chm tr tr li (hoc khng c tr li) m khng cn
ph v phin ca chng. i vi dch v file thiu trng thi, mi yu cu file ti phc
v cn cha thng tin y v th file, con tr nh v, kha phin, v cc thng tin
cn thit khc. Thi hnh phc v file thiu trng thi cn nhm ti cc vn sau y:
(1) Nhu cu bt bin: Phc v file lm g khi khch lp hp l mt yu cu do
hng hc trc y (khng nhn c tr li) ca phc v ? Thc t hay khng khi cu
trc mi truy nhp file nh thao tc bt bin ?
(2) C ch kha file: Lm cch no cc khch chia x thi hnh c ch kha file
da trn phc v file thiu trng thi ? Nn chng c ch kha file c tch hp vo
dch v giao dch ?
(3) Qun l kha phin: Lm cch no kha phin c sinh v c duy tr
gia khch v phc v file thiu trng thi truyn thng ? C th dng kha phin mtln cho mi ln truy nhp file ?
(4) Tnh nht qun cache: Phc v file c phi chu trch nhim iu khin tnh
nht qun cache gia cc khch ? Ng ngha chia x no c h tr ?
Nhng bin lun trn y ch ra rng, v khi nim phc v file thiu trng thi l n
gin v hp dn, th trong thi hnh thc t mt vi thng tin trng thi ti thiu cn
c phc v duy tr. Nhu cu bt bin v vn kha phin chia x c ch ra
- 162-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
trong chng 4 khi bn lun v thi hnh RPC. Gii php ny c p dng ti phc v
file nu li gi th tc t xa c dng yu cu dch v file. Kha file v nht qun
cache c bn lun tip.
6.2.5 Truy cp file v ng ngha ca chia x
phc tp thi hnh truy nhp ng thi ti file chia x t xa ph thuc vo cch file
c chia x nh th no v ng ngha ca chia x file c xc nh t ngi dng.
a. Truy nhp file
Chia x file c ngha rng a khch c th truy nhp cng mt file ti cng mt thi
im. Chia x l kt qu ca cc thao tc truy nhp hoc gi nhau hoc xen k nhau.
Truy cp gi nhau ng rng c nhiu bn sao ca cng mt file v ng thi c
thc hin bi a thnh phn khng gian ca file. Mt v d v ni d liu ca file c
th c nhn bn l vic dng cache. thun li a b phn ca file t xa v cache
cc b truy nhp nhanh. Tng t, i khi cn duy tr bn sao lm vic ca mt file
trc khi mt thay i lu di c lm trn file . Trong c hai tnh hung, bn sao
nhn bn ca file d liu chia x tn ti v truy nhp ng thi ti file tr thnh thc
hin c. Mi v tr c bn sao ca file c nhn bn cho khung nhn khc nhau i
vi d liu. Qun l truy nhp ti bn sao cung cp khung nhn kt cu ca file c
chia x c gi l iu khin kt cu (coherency control).
Truy nhp xen k nhau do tnh a ht thao tc truy nhp d liu. Mt vi truy nhp file
n gin l thao tc c/ghi. Truy nhp khc li bao gm dy cc thao tc xen k nhau
tri dc theo khong thi gian ngi dng nh sn, chng hn nh giao dch hoc
phin. Thc hin xen k nhau trn cng mt file cng to ra mt o gic v chia x file
ng thi. Tnh ng thi c thc hin bi tnh a thnh phn theo thi gian ca file.
Vn qun l y l lm cch no nh trc nh hng mt dy thc hin t cc
dy khc khi chng xen k nhau v lm cch no ngn nga kt qu khng nht qun
hoc c li. Bi ton ny thng c ni n nh l bi ton iu khin ng thi
(concurrency control).
Khng gian
Thi gian
RW n gin
Giao dch
Phin

Truy nhp t xa

Truy nhp cache

Truy nhp ti ln/xung

Khng chia x
thc s
iu khin
ng thi
Khng thch hp

iu khin
nht qun

iu khin nht qun

Nht qun v
ng thi

Nht qun v ng thi

Khng thch hp

B qua chia x

Hnh 6.5. Tnh ng thi khng gian v thi gian truy nhp file

Hnh 6.5. cho tnh a thnh phn khng gian v thi gian nhm thc hin hiu qu vic
truy nhp ng thi ti file chia x. Mc trong bng l chc nng qun l c yu cu
i vi mi gi thit chia x.
Trong phm vi khng gian, truy nhp c v ghi c thi hnh theo mt trong cc
cch sau, ty thuc vo d liu trong file c trnh din cho truy nhp nh th no:
(1) Truy nhp t xa: Khng c d liu file c gi trong my khch. Mi yu
cu truy nhp c truyn trc tip ti phc v file xa, thng qua mng h tng.
(2) Truy nhp cahce: phn nh ca d liu file c duy tr trong cache cc b.
Thao tc ghi hoc vng cache to ra mt truy nhp t xa v cp nht li cache .
- 163-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
(3) Truy nhp ti ln/ti xung: Ton b file c ti xung cho truy cp cc b.
Truy nhp t xa hoc ti ln c thc hin khi cp nht file t xa.
Tip cn u tin l m hnh truy nhp n mc, cn cc tip cn khc l trnh by bo
qun phn cp hai mc i vi d liu. Thi hnh m hnh truy nhp t xa n mc l
trc tip do ch mt bn sao ca d liu l tn ti, v mi yu cu truy nhp l tun t
bi phc v file. Mt hn ch nguyn thy l tr truy nhp mng di v hn ch tnh
ng thi. M hnh cache v ti ln/ti xung cho php tnh ng thi v rt ngn tr
truy nhp bng cch gi b phn / ton b truy nhp l cc b. Tuy nhin, tim cn
ny a n bi ton kt cu file. Do d liu trong file c nhn bn v c chia x
cho mt s ngi dng ng thi, file chia x trnh din c th khc nhau vi nhng
khch ng thi khc nhau. iu khin kt cu i vi bn sao d liu l mt bi ton
khng tm thng. Kt cu ca d liu nhn bn c th c gii thch theo nhiu cch
khc nhau. Nhng gii thch (nh ngha) di y c lit k theo mt th t nghim
ngt:
(1) Mi bn sao l ng nht ti mi thi im,
(2) Cc bn sao c nh sn ng nht ti ch mt s thi im nht nh,
(3) Ngi dng lun c c d liu "hin thi nht" trong bn sao,
(4) Thao tc ghi lun c thc hin "ngay lp tc" v kt qu ca n c
truyn b theo cch c gng nht.
nh ngha (1) v tnh kt cu l l tng song khng th thc hin trong h phn tn
do tr truyn thng ng k. Bi vy, chp nhn thc t l khng phi mi bn sao l
ng nht ti mi thi im. nh ngha (2) l s tha hip song li kh xc nh im
ng b tt. S lu hnh d liu l c ngha ch cn ti thi im c chng. Nh
vy, nh ngha (3) c v lgic. Vng mc ch tnh phng chng ca thut ng,
hin thi nht, (hoc mun nht). Th t tng i ca cc thao tc ghi cn da trn
thi im "hon thin" chng, l thi im kt qu ca thao tc ghi phn nh trong
mi bn sao. Mt giao thc cn n mt thao tc c lun phi cho kt qu ca thao
tc ghi hin thi nht. nh ngha (4) l mt c gng th s nhm xp x nh ngha
(3).
Bi ton kt cu file l thch ng cho s tn ti ca d liu nhn bn v cp nht b
lm tr ca khch ti bn sao. Kt cu l bi ton h trng hn trong h phn tn do tr
mng l di hn v km d bo hn. S phc tp ca vn tr l nhn t m hng hc
(khch, phc v hoc truyn thng) xy ra thng xuyn hn trong h phn tn. Hng
hc trong khi cp nht file c th a file v trng thi khng nht qun. Mt mong
mun cao i vi h thng m bo tnh nguyn t ca cp nht, chng hn mi thao
tc cp nht hoc hon thin thnh cng hoc khng c kt qu no. Vi a bn sao
ca cng mt file, mt cp nht file l nguyn t nu tt c hoc khng bn sao no
c cp nht. Cp nht nguyn t i hi h thng l thu hi c (recoverable) (tc
l, c kh nng hy -undo- mt cp nht tng phn v phc hi li h thng tr v
trng thi trc khi cp nht tng phn). Thao tc hy bao hm vic dng lu gi trng
thi bn vng (stable) m c th c dng khi khi phc trng thi h thng trong
vic ng ph vi mi hng hc h thng. Tnh nguyn t ca cp nht nguyn t ca
nhn bn c gii thiu trong ng cnh truyn thng a tn pht nguyn t. iu ny
c xem xt thm theo khung nhn d liu v giao thc qun l nhn bn.
Trong phm vi thi gian, cc thao tc file c lin quan c th c nhm li theo
nhng oan thi gian khc nhau ty theo nhu cu p dng chng. Cc thao tc c v
ghi t cc QT khc nhau dn ti truy nhp file ng thi. Mt s gi thit v truy nhp
file l:
- 164-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
(1) RW n gin: Mi thao tc c v ghi l mt truy nhp hi/p c lp ti
phc v file;
(2) Giao dch: Mt dy cc thao tc c v ghi c xem xt nh l mt n v
c s truy nhp file (vi mt s i hi ng ngha b sung cho giao dch). V c php,
giao dch c biu din bi mt begin transaction tip theo l mt s cc truy nhp
file v kt thc vi end transaction. Giao dch y c nh ngha theo ngha hp l
cc thao tc c v ghi truy nhp ti cng mt file.
(3) Phin: Phin cha mt dy cc giao dch v thao tc RW n gin vi ng
ngha b sung ph hp vi phin c nh ngha bi ng dng. in hnh, phin c
gi gn trong cp cc thao tc m v ng file.
Truy nhp RW n gin v phin l cc khi nim quen thuc trong mi h iu hnh.
Giao dch l mt khi nim ng b mc cao. Truy nhp d liu ca mt giao dch
c cha ng trong cp begin transaction/end transaction. Dy cc truy nhp (bao
gm cp nht) l nguyn t hoc khng th chia ct vi ngha dy cc thao tc c
thc hin b qua s giao thoa t cc khch khc. Kt qu ca vic thc hin xen k cc
truy nhp bi nhiu khch l tng ng vi s thc hin tun t ca dy, a d liu
t trng thi nht qun ny ti trng thi nht qun khc. Nu cc tnh cht nguyn t,
nht qun, c lp v bn vng (ACID) dc m bo (xem truyn thng giao dch),
truy nhp d liu c to trong mt giao dch nguyn t. Khi nim giao dch nguyn
t l ph dng vi nhng ng dng thng mi. Chc nng lm hiu lc tnh nguyn t
v nht qun trong phc v file c gi l dch v giao dch.
b. Ng ngha ca chia x
Chia x file s dng truy nhp a thnh phn khng gian v thi gian a ti baif ton
iu khin kt cu v ng thi. Gii php ti bi ton ph thuc vo ng ngha ca
chia x do cc ng dng yeu cu. V l tng, cn cp nht mt file l hon thin ngay
lp tc v kt qu ca n tr nn nhn thy c mt cch tc th i vi cc QT chia
x khc. V thc t, ng ngha ny l kh thc hin v do thng l nh nhng hn.
Tr ca thao tc ghi l khng th trnh c trong h phn tn do kt qu ca thao tc
ghi c th c tr bi mng hoc bi dch v h thng theo i hi kt cu v nht
qun. Dng quan im khng gian v thi gian nh hnh 6.5, c danh sch ba m hnh
ph bin nht cho cc mc tiu khc nhau ca chia x file:
(1) Ng ngha UNIX: Kt qu ca thao tc ghi c lan truyn ti file v cc bn
sao ca n tc th sao cho cc thao tc c s nhn c gi tr "mun nht" ca file.
Khng b chm lnh ghi phi chu ngoi tr tr mng tt yu. Truy nhp tip theo ca
khch pht ra thao tc ghi buc phi ch thao tc ghi hon thin. Mc tiu nguyn
thy l duy tr tnh hin thi ca d liu.
Vic chia x ni dung
Khi s dng file chung truy cp thi gian nh hng s lin kt v iu khin.
Gii php cho vn ny ph thuc vo yu cu chia x ca ng dng. Thc t chng
ta mun cp nht ho mt cch hon ton ti file v c ngay kt qu ca qu trnh chia
x. Trng hp c bit ni dung ny kh t c v lun b gim xung. Thi gian
tr l khng trnh khi trong h phn tn v qu trnh ghi b tr hon nh hng bi
mng hoc h thng dch v khc c nh c lin kt vi n. S dng khi nim khng
gian v thi gian ta lp ba m hnh ni dung c thc th khc nhau cho file chia x:
Ni dung HH (UNIX): Kt qu qu trnh ghi truyn ti file v c sao ra lp
tc, thao tc c tr thnh cng vic mi nht ca file. Khng c s tr no tr s tr

- 165-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
hon ca mng l khng trnh khi. Truy cp t my PC phi ch qu trnh ghi hon
thnh, kho duy tr d liu hin thi.
Ni dung cng vic: Kt qu qu trnh ghi c th khng lu trong vng nh ang
lm vic v chuyn i ch khi vi kt qu c nh bt buc cui qu trnh. i
tng kho duy tr d liu c nh.
Ni dung on: Ghi vo file th hin qua s nhn bn, kt qu to ra c nh ch
ti ni kt thc on. Ni dung kho duy tr s truy cp d liu c hiu qu.
Khc bit chnh gia ni dung HH v 2 loi khc l s tr trong qu trnh ghi. Unix
cho php ghi ngay hiu qu trong khi ni dung on v cng vic s dng tr. Unix
d thao tc vi b x l n ni m d liu c lu trong cc file c bn, file chung
khng c nh danh v mi thao tc cghi trc tip bi file ch. Nu d liu c
lu trong mt qu trnh x l c bn (thng trong h thng phn tn) nhiu b nh
nh cha cng file d liu c th tn ti. Yu cu ghi vo file ch x dng iu kin k
hoch lu. Tuy vy kt qu khng ng tr khi b nh va c cp nht ho. Vn
cng lu b nh v logic phc tp nh vn b nh c nh trong h thng b nh
phn tn chia x. Cch thc ghi ng v cp nht nh th no c tho lun chng
sau.
Thng tin ng trn file ch lu d liu c cp nht thng xuyn. Truy cp file
bng vic ghi vo b nh nh danh m hnh ni dung. Thao tc ghi vo b nh khng
hiu qu bng thao tc c. Ci tin qu trnh ghi bng cch ngng ghi nu mi qu
trnh ghi vo file ch khng cn thit ngay lp tc. Rt kh quyt nh qu trnh ghi
c nh hng ti qu trnh khng, gii php l ghi vo file ch mt cch c nh k,
khng nh hng ti qu trnh x l khc. Chin lc iu khin ghi trc tip vo b
nh lfm vic truy cp tng ln khng c duy tr chnh xc trong ni dung UNIX.
HH c gng chia x d liu ton b cho cc my PC, trong nhiu trng hp n gii
quyt s lng ph. Vi ng dng khng lin quan n bn sao, d liu c nh b xm
phm. H thng ch i hi kt qu thc hin cn bng thao tc thc hin on. Vic
cp nht file c nh lu hn trong m hnh ni dung cng vic. Mi khch cha file
sao t file ch c th sa i ni dung file sao ti ht on file, khi file ng sa i
file c sao t file ch. Tnh cht ny khng c p dng nu c nhiu khch. Vic
chia x hn ch gia nhiu khch s d thc hin v p p ng y cc yu cu
ng dng.
6.2.6 iu khin phin bn
M hnh ni dung on c nhiu hn ch. Yu cu ng on ngay sau qu trnh ghi
tng ng m hnh ni dung HH vi qu trinhf ghi vo b nh. Yu cu file mi
c to bng cch sa i file c (file c ch cho php c). Mi vn vi file lc
ny l chia x v to mi v n ch cho php c. cng ghi, khch phi bit tn file
mi to. Gii php n gin ca vn l s dng cng tn file nhng khc phin bn.
Chc nng dch v ng dn thc hin vic iu khin phin bn. Mi file trong
ng dn tng ng vi mt s. File c s hiu phin bn cao nht l file hin ti.
Nu mt phin bn hin ti c truy cp bi nhiu khch khc th c ba cch th hin
ph thuc vo d liu trong file ang chia x v sa i nh th no?
L i s xung t: Mt phin bn mi c to bt chp iu g xy ra.
Phin bn gii quyt li s xung t: gi thit d liu thay i trong phin bn khng
tng thch vi phin bn mi hin ti. Kt qu vic cp nht ho c mu thun. Vn
ny c gii quyt bng vic cp nht ho phin bn hin ti vi phin bn mi
(kt ni mi cp nht).
- 166-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Gii quyt mt chui xung t: gi s d liu c sa i trong phin bn
hin ti. Vic cng cp nht ho c th dn n mt chui v chm (mu thun). Gii
php l l i hoc nhy qua cng vic ca khch vi mt phin bn mi ng thi cp
nht theo trt t tu .
Nhiu xung t phc tp v iu khin phin bn c th gii quyt ph thuc vo yu
cu ng dng. S dng file c nh khng gii quyt vn hn l quan tm ti dch
v file v cc h thng dch v khc. gim yu cu b nh ca nhiu t chc phin
bn, mt phin bn mi phi cha tnh cht thay i trng file (khi). S hiu phin
bn ph thuc s thay i khi. Duy tr rnh thay i khi d to s xung t cao.
6.3 iu khin ng b v giao dch
iu khin cc giao dch c pht trin cho vn qun l d liu nhng chng ta c
th p dng cho vic qun l h thng file phn tn. Trong phn ny chng ta tho lun
xem cc giao dch c th thc hin nh th no trong h phn tn c bit l trong h
thng file phn tn.
6.3.1 Dch v giao dch
Hnh 6.6 m t cu trc n gin ca h x l giao dch phn tn. Khch ti mi v tr
phn tn a ra yu cu dch v giao dch i vi h x l giao dch cc b (TPS), h
ny gm ba thnh phn chnh: qun l giao dch (TM), lp lch (SCH), qun l i
tng (OM). Mt giao dch c th thao tc trc tip trn nhng d liu xa. Nhng
thao tc ny c thc hin nh nhng giao dch ph v c gi ti nhng TPS xa.
Vic qun l nhng giao dch lin quan ti nhng TM khc xem nh l s thc hin
ca c giao dch a phng v c nhng giao dch ph xa. Nhim v ca qun l k
hoch l thao tc lp k hoch trn i tng trnh xung t. Vic qun l i tng
m bo tnh nht qun cho vic nhn bn, lu gi v cung cp giao din cho h thng
file. Chng ta s dng cu trc n gin v dch v giao dch phn tn a ch ho 3
yu cu c bn:
- Thc hin tp cc thao tc trong mi giao dch l ton b hoc khng.
- Thc hin giao dch xen k thc hin giao dch khc l khng b chia ct,
- Cp nht i tng nhn bn l nguyn t.
Giao thc thc hin tt c hoc khng v che giu giao dch phn tn thng phc tp.
Chng ta c th s dng hnh 6.6 minh ho nh s tip cn gii quyt. Vic tng kt
cc chc nng ny th hin qua 4 thc th (x l khch, qun l giao dch, lp k hoch,
qun l i tng) v s nh hng ln nhau gia chng.
H thng x l giao dch:
X l i vi khch: mt qu trnh x l ch ra s bt u giao dch bng cch
thng bo bt u giao dch ti B qun l giao dch a phng (TM). Khi nhn c
yu cu trn TM sinh ra mt giao dch id v khng gian lm vic cho khch vi thao
tc c ghi thng xuyn. S kt thc giao dch t mt khch ti TM ch ra khch
sn sng u thc giao dch v ang i TM tr li trng thi u thc ban u ti tt
c cc TM c lin quan n giao dch ny c xem nh l vic u thc hoc dng
thnh cng. Giao thc c dng chi tit v c nh vi qun l giao dch, k hoc v
qun l d liu hon ton d dng vi ngi dng
Qun l giao dch (MT): MT to ra mt giao dch id v khng gian lm vic thc
hin giao dch khi u ca lient theo mi ln truy cp i hi mt i tng d
liu ng thi to ra s hiu giao dch id, gi ti b qun l k hoch. Kt qu truy cp
trong khng gian lm vic ch c nhn thy bi lient. y l pha thc hin ca giao
- 167-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
dch ti TM. Qun l giao dch bit c nhng giao dch a phng v nhng giao
iu phi vin

Khch

Qun tr
giao dch

Lp
lch

Qun tr
i tng

Objects

Lp
lch

Qun tr
i tng

Objects

SCH

OM

Truyn thng
Thnh vin

Khch

Qun tr
giao dch
TM

Hnh 6.6. H thng x l giao dch phn tn

dch ph pha xa.


Truy cp t TM c chp nhn hoc phn i bi b lp lch (SCH).
Nu chp nhn s thay i trng thi ca khng gian lm vic v ni dung ca lient
duy tr thuc tnh tt c hoc khng phi c s phn hi ti TM dng thao tc bng
cch gi i mt tn hiu dng vi lient v tt c b qun l giao dch khc c lin quan
n giao dch nu nh khng c tn hiu dng s thc hin ht giao dch c ngha l
tt c qun l giao dch bao gm c pha thc hin, c, ghi v pha u thc quyt
nh xem giao dch no s c u thc v dng. iu ny c thc hin bi giao
thc u thc 2 pha. Nu nh thnh cng th vic cp nht s c thc hin ti cc OM
v trng thi c u thc gi ti lient, nu khng qun l giao dch s dng.
Lp lch (SCH): SCH chn ra giao thc iu khin ng b m bo cho s
thc hin ng b ca cc giao dch ti cc v tr phn tn. C 3 cch thc chnh: ngn
nga, trnh, li. Vi cch thc ngn nga tt c cc yu cu truy cp i vi mt giao
dch c th gy nn xung t s ngn nga. Trch nhim TM l thay i giao dch ca
trng thi lient sang trng thi ngng, c bit kho c dng cho cch thc ny.
Vic trnh th b k hoch s kim tra mi thao tc truy cp ring r xem thao tc no
s c thc hin. Cch thc ph bin c dng l tem thi gian. B k hoch s a
ra quyt nh da trn th t ca tem thi gian. Cch thc li th xung t hon ton
khng c quan tm n trong sut qu trnh thc hin.
Qun l i tng (OM): OM chu trch nhim vi cc dch v file v thao tc
thc s trn cc d liu, cung cp qun l b nh hiu qu bng giao thc phn hi li.
Nu i tng d liu c nhn bn th OM s qun l s nhn bn bng cch s dng
giao thc qun l.
6.3.2. Chui thc hin lin tip
Khi nim giao dch rt c ch i vi d liu phc tp trong h thng phn tn a
ngi dng. Thuc tnh ACID m bo rng khng c s i nghch c gy nn bi
giao dch khc hoc li h thng.
- 168-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Mi giao dch trong h thng d liu bao gm tun t cc thao tc c ghi. trnh
tnh trng h hng d liu phi kho trc khi c, ghi. Hn na th thao tc c ng
b v thao tc ghi duy nht phi m bo khc bit th mt kho dungf chung c
dng cho c ng thi v kho duy nht c dng cho ghi. Tt c cc kho phi
c m sau mi thao tc v trc khi kt thc mt thao tc. Nu kho khng c
dng thao tc ghi c th ch c thc hin khng dt khot.
Tt c cc thao tc trong tp hp cc giao dch c sp xp thnh lch thc hin.
Mt lch c gi l lin tip nu kt qu thc hin din ra tun t theo lch.
Gi s c ba giao dch : t0, t1, t2 c thc hin, t1 v t2 l hai giao dch khc cng
thc hin.
t0: bt write A=100; write B=20; et
t1: bt read A; read B; 1: write sum in C; 2: write diff in D et
t2: bt read A; read B; 3: write sum in C; 4: write diff in D et
C 3 giao dch chia x i tng d liu nh v nhng v tr khc nhau nh hnh
6.6. Thao tc (1,3) v 2,4) u ghi dn ti xung t trn C,D; cc thao tc khc khng
c xung t. C kh nng chn vo thao tc 4.
Nu t1, t2 thc hin lin tip th hon thnh (C,D) s l (80,120) hoc (120,80). Vi
Wi trn i tng ti C,D l thao tc ghi. Vic cp nht s c ghi nh v c ghi ti
mi v tr.
Bng 6.1. Lp lh xp chn
Hm
2PL
Tem thi
Lch Xp chn ng nhp ng nhp
ti C
ti D
Result (C,D)
gian
W1 = 120 W1 = 80
(80,120)
kh thi
kh thi
1
1,2,3,4
W2 = 80 W2 = 120
nht qun
W1 = 80 W1 = 120
(120, 80)
t1 b d v
kh thi
2
3,4,1,2
W2 = 120 W2 = 80
nht qun
bt u li
W1 = 120 W1 = 80
(80,120)
khng
kh thi
3
1,3,2,4
W2 = 80 W2 = 120
nht qun
kh thi
W1 = 80 W1 = 120
(80, 80)
khng
t1 b d v
4
3,1,4,2
W2 = 120 W2 = 80
nht qun
kh thi
lm li
W1 = 120 W1 = 120
(80, 80)
khng
b d nhiu
5
1,3,4,2
W2 = 80
W2 = 80 khng nht qun kh thi
W1 = 80
W1 = 80
(120,120)
khng
t1 b d v
6
3,1,2,4
W2 = 120 W2 = 120 khng nht qun kh thi
bt u li
6.3.3. Giao thc iu khin ng b
C mt s phng php chung i vi vn iu khin ng b nh vy c th
nhng mu thun c ngn nga hoc trnh c hoc tnh tng thch c th c li.
Trong phn ny chng ta tho lun phng thc kho 2 pha, tem thi gian v iu
khin ng b ti u, l mt s phng php.
Kho 2 pha
- S dng phng thc kho c ngha cc i tng b chia x t c tnh trong
sut phi c kho khi chng c th c truy cp v phi c t do trc khi kt
thc thi gian truy cp. Kho 2 pha thm i hi mt kho mi khng th c yu
cu sau khi ln m u tin ca kho. Mt qu trnh c chia thnh 2 pha: mt l
- 169-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
kho i tng v mt pha m. Mt trng hp ca phng thc kho 2 pha l kho
tt c cc i tng d liu thi im bt au ca qu trnh v m kha thi im
kt thc ca qu trnh. Chui nhng qu trnh lp li bi ch c nhng qu trnh no
thun li mi tham gia thc hin. Phng php c dng i vi nhng d liu n
gin m khng phi cho tt c v n khng p ngs c v vn chia x d liu
cng nh ng b. Mt bc ci tin l m kho ngay trong nhng iu kin c th.
Tuy nhin cch thc vn c lm l m kho ngay ti thi im giao thi. Kho 2 pha
c thc hin nh chui qu trnh c th c xem xt trn. Nu qu trnh t1 i
hi i tng C cho thao tc 1 i tng s khng c m ch sau khi 2 hon
thnh. Khi c th thao tc 3 ti thi im t2 xut hin gia thao tc 1 v 2. Tng t
thi im t2 cha kho ca i tng C u tin thao tc 1 trong thi im t1 khng
th c thc hin gia thao tc 3 v 4. cp nht i tng D cng tng t nh i
vi C. iu ny c ngha danh mc 3,4,5 v 6 trong bng 6.1 l khng kh thi nu t1
v t2 thc hin theo phng thc 2PL. Danh mc kt qu c gii hn i vi danh
mc 1 v2. V vy kho 2 pha khng em li tnh ng b cho x l chui qu trnh.
Kho i tng ny v i i tng khc l b tc trong bt k h thng no. Nu thao
tc 3 v 4 l c duy tr ti thi im t2 c th ti thi im t1 c th ang thao tc
vi i tng C v i D trong thi im t2 ang thao tc vi D v i C. Kt qu l b
tc i v lu vng trn.
Dng nh TM s c nhng cch thc m kho ngay sau khi c th. Ngay khi bit
rng kho cui cng c m v d liu khng th c truy cp ln na. Tuy
nhin c nhiu nhng kh khn i vi phng thc ny. Trc ht chng ta c th
gp phi s dng chng trnh vng trn. C cho rng thi im t1 x l vi d liu C
v m kho i vi C, bc tip thi im t2 c gi tr trn C. Nu thi im t1 dng
th t2 cng phi dng bi v t2 c d liu. S dng t2 dng t3 v cc thi im
khc. t2 c th u thc ch khi t1 u thc, v t2 c lp vi t1. S c lp v quyn
u thc phi c xem xt tc l s u thc ca t2 phi i cho n khi t1 thc hin
iu ri.
Vn trn c th uc gii quyt bng vic s dng kho 2 pha nghim ngt. Mt
giai on ch c th c m ti im u thc hoc ti thi im dng. Vi h thng
kho 2 pha kh c th thc hin do khng nghim ngt v TM khng bit khi no th
kho cui cng m. Kho 2 pha nghim ngt cha tht s em li s thc hin mt
cch ng b hon ho song n gin hn trong thc hin.
Tem thi gian
Trnh t cc thao tc ma kho 2 pha em li i vi nhng i tng d liu chia x l
t kho u tin. Hin nhin chng ta xem xt nhiu ng dng ca tem thi gian i
vi th t s kin. C nhng xung t gia cc thi im cng ny sinh vi cc tem
thi gian. Chng ta gi s rng t0, t1, t2 v d trc i din cho 3 thi im vi
t0<t1<t2 khi mt thao tc x l trn i tng d liu chia x l c thc hin, i
tng ghi thi gian thc hin. Cho rng sau th nhng qu trnh khc cng thao tc
trn d liu. Nu qu trnh c thi gian ln hn th ta cho qu trnh thc hin.
Nu QT c thi gian nh hn chng ta phi dng v nu khng n s vt qu thi
gian. QT b dng s bt u li thc hin vi thi gian ln hn.
thao tc mt c tranh chp ti QT x l c ngha thao tc c php t n lt.
QT vi tem thi gian ln hn s i nh hn v QT vi tem thi gian nh hn dng v
thc hin khi chng tin n QT c thi gian ln hn. S b tc c ci b bi s
thc hin ca cc QT da trn s tng dn ca cc tem thi gian bao hm kh nng xy
ra tnh trng lu v i. S dng phng thc tem thi gian danh mc 1 v 3 trong
- 170-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
bng 6.1 l kh thi. i vi danh mc 2,4 v 6 QT t1 l qu trnh chm thao tc trn
C. QT t1 b dng trc khi n truy cp n D. Vi tem thi gian ln hn cng s c
thc hin tng t nh 1 v 3.
Vi danh mc 5 th phc tp hn. Thao tc 1,3 v 4 thc hin khng c vn g
nhng vi 2 thao tc trn D trong QT t1 xem xt da trn tem thi gian ln hn c
ghi bi QT t2 thao tc trn D. dng QT t1 chng ta cng phi v hiu ho thao tc
ca n trn C. Chng hn i tng C xem nh c thc hin vi t1 ri t2 ca thao
tc 3 gy ra khng hiu qu i vi t2. Tuy nhin, nu thao tc s3 l c d liu t2 s
c d liu m khng nh hng ti n. Do vy t2 cng s b dng, trnh s mt i
c tnh c lp, thao tc c v ghi phi c c lp vi nhau v thao tc ghi ch c
th chm hn trc thi im u thc m bo tnh c lp. Thao tc ghi c duy
tr bi danh mc SCH.
thc hin giao thc vi thao tc ghi chm mi i tng c gn kt vi mt tem
thi gian logic ch cho thy rng thi gian do d c rt ngn dn theo th t gim
dn v Tmin l thi gian nh nht. Khng cn thit cho thi gian c do d nhng mi
i tng phi c lu gi theo mi QT c cot khi c mt s u thc thi im
sm nht c th c ghi nh l RD mi.
Hnh 6.7 cho thy din bin tun t din ra. Giao thc u thc 2 pha th t theo gi
thi gian ch vi WR v Tmin c m t cc QT c, ghi, dng v u thc
c: Thao tc c ny khng nh hng ti thao tc c khc. V vy thi gian
ca n c so snh vi WR v Tmin. Thao tc b dng duy tr cho th t gi thi
gian tng dn nu thi gian ca n nh hn Wr. N cho php x l vi thi gian ln
hn WR nhng nh hn Tmin. QT c c khi to li trong khng gian lm vic ca
TM v quay v my Khch. Mt i tng c th thc hin thao tc ghi lng l khi
thao tc c thc hin (thi gian ca thao tc c ln hn Tmin). Thao tc c c
nhn thy trong danh sch v i cho n khi thao tc ghi u thc cho n.
Ghi: mt thao tc ghi nh hng ti c c v ghi. V vy n ch c php do d
khi gi thi gian ln hn c RD v WR. Thao tc do d ny c lu vo trong danh
sch do d. iu hnh cc QT c xem l thnh cng hay tht bi ca cc thao tc
ghi trc.
Dng: Vic dng thao tc c khng nh hng ti QT khc OM c xem nh
l i c. Nu vic ghi dng ghi vo danh sch do d. Nu n nh ca danh sch
th thao tc c c thc hin.
U thc: S u thc ch c xem xt ch sau khi s thnh cng ca s u thc
trong TM. S u thc cho mt QT i c c th khng bao gi xy ra v QT b kt
khi. i vi qu trnh u thc ch lin quan n thao tc c OM ghi thi gian thc
hin ca RD nh l RD mi. Nu QT u thc thc hin mt thao tc ghi SCH dng
tt c cc thao tc (c i c v ghi) u ca QT c u thc ko di qu trnh cp
nht v loi b khi danh sch ngng tr. Vic ny cho php thao tc c ang i tin
hnh. Cp nht thng xuyn gi l s iu khin nh danh nu bn sao ca nhng
i tng tn ti.
im ch cui cng ca bi ton iu khin ng b theo phng thc gi thi gian
l v v tnh phc tp v c nhiu QT chy cng mt thi im. Giao thc u thc s
dng v d ny nh l dn chng c th dn n b tc khi TM khng th tip nhn
hu ht nhng iu kin cn thit t TM khc. Gi thi gian c th c dng gii
quyt nhng vn lin quan n u thc.
iu khin ng thi ti u
- 171-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
iu khin ng thi (KT) dng kho l khng ti u do xut hin nhng chui
nhng s kin. iu khin theo tem thi gian th c phn ti u v cho php cc QT
thc hin d dng. C xut hin kt khi v vy mt s i hi phi c p ng.
Chng c th ci tin cho php ton b QT c hon thnh v lm cho nhng QT
ny tr nn c hiu qu trc khi c nhng nh hng lu di. Gi thit rng khong
ri cha nhng phin bn ca d liu chia x c sn mi QT. V phng thc ny
cho thy xung t t xut hin c th khng xut hin nn n c gi l iu khin
ng b ti u.
Vi 2PL v tem thi gian tc hot c chia thnh 2 giai on l pha thc hin v pha
u thc. H thng x l cc QT bt buc hoc gii quyt tnh tng thch trong giai
on thc hin v lm cho chng thnh nhn t c bn trong giai on sau. i vi
iu kin bi ton ng b ti u s khng c tnh nht qun cho n khi kt thc QT.
Ti thi im TM bt u pha hp thc. Mt QT c hp thc ton b gia thi im
TM bng vic dng giao thc u thc 3 pha. Sau khi hon thnh th TM chuyn sang
pha cp nht thc hin mt s htay i tng b nh. V iu khng c ngha i
vi nhng QT c hon thnh chng ta gi s rng vi mi tin tnh c hp
thc n phi m bo c u thc. iu ny c ngha tt c mi s u thc u
phi thc hin sau thi im hp thc. V vy pha cp nht phi l c bn. Giao thc
iu khin ti u c 3 pha: thc hin, hp thc v tip cn. Mi QT ti c gn vi gi
thi gian Tsi thi im bt u ca QT v gi thi gian Tvi thi im ca pha hp
thc. Mi i tng Oj ghi thi im c cui cng v thao tc ghi nh TDJ v WRj
c gi l s hiu phin ca Oj. Tp hp d liu c c bi QT t1 trong pha thc
hin c thit lp bi Ri. D liu c thit lp do ghi v Wi. Chui cc QT l TV
ca pha hp thc.
Pha thc hin: Bt u TM khi nhn c tn hiu bt u t my Khch. Mt
khng gian c to ra cho mi QT. Chng ta gi thit rng c qun l bi TM hn
l phn tn ra cc v tr khc. Phin bn ca d liu vi s hiu ca n c c vo
vng khng gian ni din ra thao tc cp nht tng t nh i vi dng phin ca
file. Vic ngng c a ra bng vic xo b i QT cng nh vng khng gian. V
xut hin du hiu yu cu c u thc nn QT kt thc. V chuyn sang pha hp
nht.
Pha hp nht: Cc QT phi c nht qun gia QT c yu cu vi nhng QT
c phn tn khc ang c thc hin ti nhng v tr TPS to tnh chui. hp
nht hiu qu Tm s dng giao thc hp nht 2 pha vi n nh l s lin kt. Cc
thng s Ri, WI v Tvi cho QT t1 yu cu TM hp nht. QT bao gm cc bc sau.
-Tnh nht qun ca Ti c phn hi nu Tvi<TVk tt c u phi thc hin lin
tc vi TV.
- Ti c chp nhn nu n khng vt qu bt k Tk no. Ti lin quan n Tk.
- Pha thc hin ca Ti ph ln pha cp nht ca Tk v Tk hon thnh pha cp nht
trc Tvi. S hp thc ca Ti c chp nhn nu Ri giao vi Wk=rng.
- Pha thc hin ca Ti ph ln s hp nht v pha cp nht ca Tk v hon thnh
s thc thi ca n trc Tsi. S hp nht ca Ti c chp nhn nu Ri giao Wi=rng
v Wi giao Wk=rng.
Cc trng hp trn c minh hoa hnh 6.8. V Tvi phi >TVk v Tk phi xong
trc Tk. Nu c 2 u khng tho mn nhng xung t ch c kim tra ng b vi
Wk ca Tk. Trng hp 3 ni rng Tk s hon thnh. Nu giao ca thao tc c l Ti
v ghi l Tk khng xy ra Ti c th c mt s d liu ang c cp nht bi Tk.
Xung t phi xy ra trong trng hp 4 v Tk c th thnh cng. Thm vo giao
- 172-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
ca thao tc ghi Ti v Tk phi khng c. V vy thi im cp nht ca Tk c th nh
hng ti thi im cp nht ca Ti. Giai on hp nht phi c sn sng cho s u
thc ca b lu tr.
Hp nht lin quan n s tnh ton. i vi s thc hin n gin hn ta gi s rng
mi qu trnh ch c mt s hp nht. Nu c i hi c s qun l trong tin hnh hp
nht p li l trng thi bn ti TM. i hi ca Tm khng thc hin na v s tip
tc li. S xut hin s hiu cho i tng d liuu chia x nhng xa. N c so
snh vi Tvi. Vi WR phi nh hn Tvi ca ti. Cc QT phi i n pha cp nht cng
vi hp nht ca mi thi im Tm v khong khng gian l thch hp.
Pha cp nht: Pha hp nht i vi bi ton iu khin ng b ti u tng t
nh thi im ghi li ca phng thc gi thi gian. Pha cp nht cng tng t nh
pha u thc nhng c mt s im khc nhau chnh sau. Thi im ghi thm d c th
dng trong khi s hp nht khng th khng din ra. Cp nht phi c u thc trong
thi gian TV cho QT ca n. Hoc l khng ng c hoc l khng cn thit
hon thnh QT hp thc cho n khi xong giai on cp nht. V QT xong v vic
qun l khong gian nh c th thc hin c nhng phin bn dng cho v sau.
Vn c th c gim bt gi thit rng qun l vic cp nht c th c tin hnh
lin tc theo chui bi TM.
Giao thc iu khin ng b ti u i hi q hp thc v u thc cho mi QT l
phc tp. Dng nh khng tnh n gin ca n.
6.4. Nhn bn d liu v file
i tng d liu v file thng c nhn bn trong nhng h thng mnh v kh
dng. Vi vic nhn bn bc tin cao hn t c bng vic cho php xy ra truy
cp v tnh kh dng cao c th dt c bng x l c d tha d liu. C phng
php song song v cc QT c xem xt trong h thng phn tn. Tuy nhin chng
khng kh dng tr phi chng cng cung cp s nhn bn v tranh chp. S nhn bn
c ngha l my Khch cng khng nhn thy s tn ti ca QT ny. iu kin ca
tnh trong sut s tranh chp l vic chia x d liu gia cc my Khch cn c
trnh.
Hai vn cn c ch dn. Trc ht thao tc trn nhng v tr khc nhau yu cu
phi r rng c th vi tt c hoc khng. Thuc tnh ny c th t c bng vic s
dng kho hoc giao thc u thc hai pha. Vn th hai l s tranh chp s c x l
bng vic thc hin theo chui thao tc. Chng ta a ra cc phng thc khc nhau
i vi bi ton xung t trng cc phn trc. Nu d liu c nhn bn li chng ta
cn c thm yu cu th 3. Vic cp nht cng l quan trng. C cho rng kh nng
qun l d liu s m bo cho qu trnh nhn bn d liu c tt chng hn my
Khch nhn c phin bn n ca d liu v s thc hin ca QT i vi d liu
c nhn bn kt qu phi nh thc hin trn i tng d liu khng nhn bn. Cc
QT trn kt hp li gi l s thc hin chui phin bn c nhn bn i vi h phn
tn.
Cp nht khng ch gii hn i vi nhng dch v trong sut. N c xem nh chc
nng chnh i vi vic nhn bn d liu trong bt k h thng no. Hin nhin d liu
trong h thng file c th c nh danh cho nhiu mc ch khc nhau. i vi kh
nng ng dng v tnh kh dng cn quan trng hn d liu. V vy yu cu i vi s
nhn bn d liu thng t nghim ngt hn tnh trong sut. Chng ta s tho lun s
cp nht v mt s thay i hiu qu vi vn qun l.
Da trn 3 vn : a tn pht, giao dch c bn v cp nht c bn
- 173-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
a tn pht nguyn t (Atomic multicast): cc thng ip vi cc dng khc nhau
c phn tn ti tt c cc nhm khc nhau theo th t phn tn v tun theo th t
tng th.
Giao dch nguyn t (Atomic transaction): Thao tc i vi mi QT c th xy ra
tt c hoc l khng v cc thao tho gia ni tranh chp c thc hin theo th t
ging nhau.
Cp nht nguyn t (Atomic update): Cp nht ti cc bn sao v theo chui.
i vi cc thng ip khc nhau lin quan ti th t phn tn da trn cc giao thc
nh TCP. Ph thuc vo cc yu cu khc nhau m th t c th l FIFO. Tnh a dng
l mt nhn t c bit m cc thng ip vi thao tc ny c th nh hng ti mi
ci khc. Tng t chng ta cng ch rng cp nht cng xem nh l mt QT m
mi QT cp nht c th c tranh chp. i vi vn qun l nhn bn c th khng
cn cht ch i vi mt s ng dng. Chng hn nhng sai st khi nhn bn c th
c php trong thi gian mt bn sao ang c truy cp b Khch dng v Khch
dng c th quan tm n phin bn d liu c th l theo cc nhm hoc theo quan
im thch ng. Chng ta s cp mt cch c th hn.
6.4.1. Kin trc qun l nhn bn
Kin trc h thng chung trn hnh 6.9. i vi vic qun l cc d liu c nhn bn.
Khchs

FSA

RM

RM

Khchs

FSA

RM

RM

FSA: File Service Agent

RM: Replica Manager

Hnh 6.9. Mt kin trc i vi bn sao

Khch c th chn mt hoc nhiu hn Tc nhn dch v file (File Service Agent:
FSA) i vi vn truy cp d liu. Dch v file xem nh l cc b dch v ni vi b
qun l nhn bn (RM) cung cp s d dng nhn bn ca Khch. Mt FSA c th
lin lc vi mt hoc nhiu RM cho vic c hoc cp nht d liu. Tu thuc vo giao
thc iu khin c thc hin nh no m phn hi ca vic iu khin nhn bn
c th c chia gia FSA v RM. Cu trc l m hnh clent/serverr khc bit vi cu
trc hnh 6.6. Nu mi b iu khin nhn bn c xen vi mt dch v file chng
ta c ng dng c bit nhm nhng Khch x l i vi vn ring bit cho vic
cng son tho mt vn nhng hon ton l i tng d liu c nhn bn.
Thao tc x l d liu c th l c hay cp nht. Thao tc cp nht c th c nh
ngha c th hn l ghi hoc ghi cho vic sa c. Di y s dng cch thc ghi v
cp nht. T nhng i hi ca ngi dng thao tc c cn c a ch ho duy nht
cho vic nhn bn. Tuy nhin nhn bn l d nhn thy i vi ngi dng v dch v
file c gi ra bi Khch c th c yu cu bi giao thc qun l nhn bn tc ng
mt mt hoc nhiu hn mt b nhn bn m bo cho vic c d liu l sm
nht. C 3 vn i thao tc c:
c nguyn thy (Read-one-primary): FSA ch c th c t RM ngun m
bo tnh chnh xc.
c tiu biu (Read-quorum): FSA phi c t mt s RM i din xc nh
d liu hin ti
- 174-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
Tng t nh nhng im ni bt ca h thng thao tc ghi s c a ch ho ti tt
c bn sao. Tuy nhin nhng ng dng khng cn thit chc chn nh nhng yu
cu cp nht, c th c c gi ti mt s hoc tt c cc bn sao trong mt thi
im no . C mt s vn sau:
Ghi ton b (Write-all): Cp nht tt c RMs bi thao tc ghi l cn thit. Thao
tc ghi tun t phi i cho n khi thao tc ghi trc kt thc v c u thc.
Ghi ton b theo kh nng (Write-all-avaiable): Vic cp nht ti nhng RM sn
c. Vi vic xy ra li b qun l nhn bn lu trng thi ca n ti trng thi hin ti
trc khi thc hin vic truy cp ti cc bn sao.
Ghi tiu biu (Write-quorum): Vic cp nht c thc hin vi mt s b qun l
i din
Ghi ngu hng (Write- gossip): Vic cp nht thc hin trc tip ti bt k RM
no v c gi ti nhng RM ri k cn.
Sau y l m t v s kt hp thao tc c v ghi bn sao
6.4.2. Chui mt bo sao
Nu c thao tc c v ghi l trc tip ti b qun l nhn bn th s nhn bn l khng
cn thit. Tt c nhng thao tc phi thc hin lin tip bi RM gc. Cc RM sau ch
cn thit trong trng hp bn gc b li. Tnh nht qun l d dng t c nhng
xung t khng c xem xt n. to ra c s ng b thao tc c s c
thc hin ti bt k RM no. Tuy nhin mc ny ch xt n tnh nht qun v vic cp
nht t RM ban u ti RM sau l khng lin tc. Chng ta c th c cho chp mt
thao tc cp nht phi c ch n. Nu nh giao thc cho vic ny c chng ta
tin hnh t ti bt k RM no p ng yu cu ca Khch. y l giai on cmt/ghi-ton b. Tnh nht qun trong nhn bn d liu c th dng giao thc iu
khin ng b chun nh kho 2 pha hoc giao thc gi thi gian. Nu thao tc c
ghi l khng d dng giao thc c-mt/ghi-ton b dn n s thc lin tip tng bn
ghi mt, s thc hin khng phi cng mt i tng. Phng thc write-all khng
thc t i vi qun l nhn bn. i tng d liu c nhn bn dn n s c. V
vy vic cp nht ch thc hin trn cc bn sao. Thao tc c-mt/ghi-ton b sn c
ng nh thch hp hn. Tuy nhin phng thc ny s lm cho thao tc lin tc vi
bn sao tr nn phc tp hn. Di y l mt v d minh ho cho vn ny.
t0:b(t) W(x) W(y) et
t1: b(t) R(x) W(y) et
t2: b(t) R(y) W(x) et
To bt u vi x v y vi thao tc ghi (W). N cho php 2 QT khc xy ra ng thi t1
v t2. Mi thao tc c v thao tc ghi cng chia x i tng x v y. S thc hin
ng khi t1 v t2 l thc hin lin tip. l hoc t1 c x c ghi bi t2 hoc t2 c
y c ghi bi t1. N c th c xem xt nh khng c s thc hin lin tip i vi
2 QT tr phi danh mc l thc hin lin tip. By gi gi s rng chng ta sao x ti x
v xb v y ti yc v yd. V li xut hin ti xc v
tc. Hai qu trnh tr thnh:
t1: bt R(xc) (yd fails) W(yc) et
t2: bt R (yd) (xc fails) W(xb) et
Sau khi s c ca xc v yd sao ti X v Y v ch c Xc v Yc. Nu chng ta s dng
c-mt/ghi-ton b c sn t1 v t2 l lin tip v khng nh hng t thao tc c v
ghi. C s khng thch ng vi h thng mt bn sao bi v c t1 v t2 khng bit i
- 175-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
tng c ghi bi thao tc khc. l s thc hin khng phi theo cch thc mt
bn sao. Thm vo tham chiu cn phi c thm vo m bo tnh cht mt
bn sao. T v d trn chng ta thy rng s c v phc hi phi c thc hin lin
tip. i vi t2 c Yd nu Yd li trc khi t2 hon thnh. Li ca Yd trong t1 lm
cho t2 phi dng v li quay li thao tc c trn Yd. Thm vo li c th xut hin
trc khi bt u QT. KHi t2 bt u n s phi lin h vi Yc v Yd c li ri. nh
hng gia W(Yc) trong t1 v R(Yc) trong t2 l c th.
Chng ta xem xt v d trn vi nh hng gia t1 v t2 cho vic truy cp Y l khng
r rng bi v c sn bn sao cho W(Y) trong t1 m khng bao gi gm Yd c
c bi t2. Chng ta cng gii quyt vn t2 yu cu c c Yc v Yd khi truy cp
Y. iu ny c th c thc hin nu vic c s to ra bn sao ca QT cng vi vic
ghi ca QT khc. iu ny tng ng vi phng thc c-tiu biu c tho lun v
sau.
6.4.3. Hnh thc c i din
Hnh thc ny yu cu mi thao tc c bn sao d liu i vi mt s i din ca b
qun l nhn bn v vi thao tc ghi cng th. S dng 2 hnh thc ny nh hng gia
cc thao tc truy cp i vi nhng d liu c nhn bn c th c i din bi c
s ph ln nhau. Xem xt V(d) nh l tng s phin bn ca d liu d. Lut xen ph
ca c v ghi l
Xung t ghi - ghi: W(d)> V(d)
Xung t c-ghi: R(d)+ W(d) > V(d)
Mi khi mt xung t biu l, giao thc kho 2 pha chun hay tem thi gian c th
c dng thc hin dy mt bn sao. m bo rng Khch c gn nh ton b
d liu s hiu phin bn c th lin quan ti d liu c nhn bn. Thao tc c ti
bn sao R(d), gi r vi s hiu cao nht c cho. Thao tc ghi vi W(d) v thm 1 vi
s hiu cao nht c tm thy y l s hiu mi vi mi ln c hoc ghi.
Hu ht cc ng dng R(d) c chn l nh hn W(d). Trong trng hp c bit
R(d)=1 v W(d) =Vd). Nu W(d)<V(d) li c th c cho php nhng R(d) phi ln
vi hnh thc ghi ton b theo kh nng. Giao thc c-tiu biu/ghi-tiu biu l dung
ho tt gia c-mt/ghi-ton b v c-mt/ghi-ton b theo kh nng. Nu R(d)<<
W(d) th i hi
v b nh l ln.
6
8
gim i hi
ny thao tc ghi
6
8
c th s dng
: Cc RM
8
mt b nh du.
7
8
B ny khng
cha ton b v
: Cc thng
7
8
thng tin cn
thit nh s hiu
v thng tin xc
6, 7, 8: S hiu phin
R(d)=5
W(d)=5
nh d liu tham
d trong thao tc
Hnh 6.10. Mt c-tiu biu/ghi-tiu biu vi thng
ghi.
6.4.4. Nhn cp nht ngu hng
Nhiu ng dng ca nhn bn d liu khng c tnh nht qun vi vic thc hin chui
cc thao tc trong phng thc c-mt ghi rt c sn c hay l i vi vn cp nht
- 176-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
d liu trong giao thc c i din. Nu vic cp nht l khng tun t c v ghi th
n c th kh thc hin ngi ta a ra mt phng thc mi. Cch thc c mt cch
ngu hng hn c gi l giao thc cp nht theo ngu hng. Trong giao thc ny
thao tc c v ghi l trc tip bi dch v file FSA v RM. FSA thc hin nhn bn d
liu t Khch cn RM cp nht d liu bng vic thay i thng tin gi cc b dch
v. Ni chung mc ch ca phng thc ny l em kh nng sn c cho vic nhn
bn v cp nht d liu.
TSj < TSi
Khchs

FSA

Cp nht
c

TSi < TSj


RM
Tiu biu

Cp nht
c-thay
i

Gi
tr V:
R cp
nht
log L

RM

RM

Tiu biu
Gi
tr V:
R cp
nht
log L

Gi
tr V:
R cp
nht
log L

Hnh 6.11. Mt kin trc ngu hng

Xem xt theo minh ho hnh 6.11. u tin l thao tc cp nht d liu, s dng
phng thc c sa trn i tng d liu. C th thy nh trn hnh v, RM c
lin kt vi TS.
Giao thc ngu hng c s
c: TSf ca FSA c so snh vi Tsi ca RM. Nu TS<RM th RM s lu d
liu v FSA s nhn d liu . Ngc li FSA s i cho n khi RM s cp nht d
liu v lu gi n. Thay v thi gian FSA c th lin h vi RM khc.
Cp nht: FSA vi TSf. Nu TSf>Tsi th vic cp nht s c thc hin, nu
khng ch cho s cp nht mi. RM c th c cch thc ring thun tin bng cch s
dng giao thc t do. Nu TSf<=Tsi th s cp nht c thc hin hoc l ang
c x l. Ph thuc vo cc ng dng m b qua thao tc ghi ch c thao tc c v
cp nht.
Ngu hng: Thng bo ngu hng s chuyn vic nhn bn t b RM i sang b
RM j s c thc hin nu TSj >Tsi.
Ta c th s dng vect gi thi gian thay cho nhng gi thi gian n l. Cch thc
ny l mt bc tin, vect gi thi gian bao gm s hiu c sp xp (hay s hiu
gi) i din cho s th t cp nht ti RMi1, RM2, RM3. Thao tc ghi vi
TSf=<2,2,2> bng hoc t hoc t hn Tsi thi c php thc hin. TSf=<2,5,5> cn
phi i nhng chng ta c nahn thy s thc hin s din ra ti RM2 v RM3.
Chng ta s dng khi nim tem thi gian, vic duy tr th t l cn thit nu thao
tc cp nht l sa c. Kt qu ca d liu c tng ln 2 ln t s khc bit khi th
t c duy tr hay thao tc b b qua.
Nh hnh 6.11 v 6.12 mi qun tr nhn bn c lin kt vi 2 vect tem thi gian V
v R v L.Vcha tem thi gian mang gi tr hin ti ca d liu. R cho bit nhng
- 177-

H Quang Thy
Bi ging H iu hnh phn tn (Phn 1)
nhm yu cu v cp nht. Chng hn R=<2,3,4> ti RM cho thy 2 yu cu thao tc
cp nht t v 3 v 4 thao tc cp nht ti RM3 v RM4.
Giao thc ngu hng c th t
c: FSA vi TSf cha yu cu q. Nu q<=V th RM s mang gi tr ti FSA.
Nu khng FSA s i thc hin.
Cp nht: FSA vi TSf vi thao tc cp nht u. N c so snh vi V. Nu u<V
th coi nh thao tc s chm v tr li RM bi v th t thc hin l cn thit. FSA s
khng lin h na, vic c s chuyn cho thao tc cp nht. Trong trng hp thng
thng u>=V th ta cng c th suy ra u=V. Nh vy trong bt k trng hp th vic
cp nht cng c chp nhn. B qun l nhn bn RM tip nhn thm thnh phn i
ca R bng vic ch ra mt hoc nhiu cp nht c thao tc cp nht u trong
trng hp ng kh vo L. Nu u=V th vic cp nht c thc hin, tem thi gian V
c trn ln vi r. Kt qu ca thao tc u xy ra trc khi c u thc. Nu nhiu
hn mt trng tho mn iu kin ny th cc qu trnh ca n phi ng k theo trt
t ca n. Thao tc cp nht khc ch i ng k vo tnh trng n nh. N b thay
i khi RM c thao tc cp nht ho t do tc ng. Vic cp nht khi hon thnh s
c nh du khng lp li, qu trnh cp nht khng xo lun v n cn nh danh
ra Rms mi.
Ngu hng: Thng ip t RMj ti RMi mang vect tem thi gian Rj ca RMj v
ng k vo Lj. Rj kt hp vi vect tem thi gian Ri ca RMi. Vic ng k vo RMi
c thc hin vi Lj tr vic cp nht cc trng c r<=Vi. Cc trng ny phi c
khai bo bi RMi. Tp hp ng k c xem nh l t do nu n phi cha y
thng tin v RM v nhiu RM khc.
Hnh 6.12. minh hot
RM1
RM2
RM3
3 thao tc ca qu
u1=100
u2=100
u3=100
trnh cp nht v
ng k theo trt t.
Tt c mi vect tem
Gossip
thi gian c khi
to gi tr <0,0,0>.
Gossip
U1=<0,0,0>
nh
hng trc tip ti
RM1 c thc hin
u1>=V1 khi
R1=<1,0,0>. Bn ghi
V=100
V = 100
V=100
cp nht ca r1 v u1
R=100
R = 110
R = 111
c tp trung trong
Cp nht L:
Cp nht L:
Cp nht L:
r1=100, u1=000
r2=110, u2=100 r3=101,u3=100
L1 v c thc hin
r1=100,u1=000 r2=110,u2=100
khi V1=<1,0,0>.
r1=100,u1=000
Trong khi L1 ch
cha qu trnh cp
Hnh 6.12. Kch bn ngu hng th t nguyn nhn
nhp t do ti RM2,
QT cp nht U2, U3 t RM2, RM3 mt cch ring bit. Chng phi c d liu t
RM1 trc v c tem thi gian l <1,0,0> U2 xy ra ti RM2. V tem thi gian ln hn
V2=<0,1,0> nn n c nh v trong L2 sau khi R2 c cp nht ti <0,0,0> c
t trong L3. V d trn ch ra nhng khi nim v thao tc c bn cp nht ngu
hng.

- 178-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy

Bng gii ngha cm t ghi tt v thut ng


Cm
HH/
OS

Ting Vit
H iu hnh

a chng trnh
Phn chia thi
gian
a ngi dng
Trm cui
Lng t thi
gian
H iu hnh kt
hp
Siu my tnh
CT
Chuyn
thng
ip
BQT ng b qu
trnh
TTLQT Truyn
thng
lin qu trnh
(B-) lp lch
B gim st
im hn
DOS
HH phn tn
NOS
HH mng
CAS
H t tr cng tc

Ting Anht
Operating System

Gii ngha
B phn mm

Trg
6

multiprogramming
time shared

Hot ng HH
Hot ng HH

11
11

multi-users
terminal
time quantum

Hot ng HH
Thit b
Hot ng HH: lp lch

12
12
12

Combination
Operating System
supercomputer
message passing

process
syncronization
interprocessing
comunication
schedule (-er)
monitor
rendezvous (Ada)
Distributed OS
Network OS
Cooperative
Autonomous System
SPOOL
Simultaneous
ING
Peripheral Operation
OnLine
MFT
Multiprogramming
with Fixed number of
Tasks
MVT
Multiprogramming
with Variable number
of Tasks
TSS
Time Shared System
VLSI
Vi mch tch hp Very Large Scale In.
rt ln
SISD
n lnh - n Single Data Single
d liu
Instruction

13
Kiu my tnh
Cng vic - loi dch v

13
18

Yu cu iu khin qu 15
trnh
Tng tc cc qu trnh
15
(Mun) lp lch
Kiu d liu ng b
Kiu d liu ng b
Kiu HH
Kiu HH
Kiu HH

17
18
18
8
8
8

Vo - ra ca HH vi a 10
t nn vo - ra nhanh
11

12

12
13
14

- 179-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy
SIMD

n lnh - a d Single
Instruction
liu
Multiple Data

14

MISD

a lnh - n d
liu
a lnh - a d
liu
Giao din trnh
ng dng
Mc tru tng
phn cng
Giao din cung
cp dch v
biu thc ng
i
Khong ti hn
khong ti hn
c iu kin
B cc qu trnh
tun t truyn
thng
giao din
b tc

Multiple Instruction
Single Data
Multiple Instruction
Multiple Data
Application Program
Interface
Hardware Abstraction
Layer
Service
Provider
Interface
Path Expression

14

Critical Region
Condition
Critical
Region
Communicating
Sequential Processes

18
18

interface
deadlock

iu khin trang

paging

iu
khin
segment
Trm lm vic
lin thao tc
hn tp
giao vn
im - im

segmentation

MIMD
API
HAL
SPI
PE
CR
CCR
CSP

OSI
ISO
FS
NFS

RPC

workstation
interoperability
heterogenous
transport service
peer to peer

H thng File
File system
H thng file Network FS
mng
socket
li gi th tc t Remote
Procedure
xa
Call
ng nhp t xa remote login

14
16
16
16
18

18

Hin tng tp qu trnh 19


khng thc hin
Mt kiu iu khin b 19
nh gin on
Mt kiu iu khin b 19
nh gin on
20
21
7
21
21
21
21
21
21
21
21
- 180-

H Quang Thy

URL

HTML
MIME

CSCW

ODP

CORB
A

chuyn file
duyt mng
thc hin t xa
khng ng b
Giao thc truyn
mail n gin
B nh v ti
nguyn
thng
nht
Ngn ng nh
du vn bn

Bi ging H iu hnh phn tn (Phn 1)


file transfer
network browsing
remote execution
asynchronous
d b
Simple Mail Transfer
Protocol: SMTP
Universal Resource
Locator

HyperText
Markup
Language
Multipurpose Internet
Mail Extension
tiu dng
applet
trong sut
transparency
trong sut ng concurrency
thi
transparency
trong sut truy access transparency
nhp
trong sut nh location transparency
v
trong sut di tr migration
transparency
trong sut nhn Replication
bn
transparency
trong sut song parallelsm
song
transparency
trong sut li
failure transparency
trong sut hiu performance
nng
transparency
trong sut kch size transparency
thc
trong sut duyt revision transparency
li
Lm vic cng Computer Supported
tc c h tr Cooperative Work
bng my tnh
Qu trnh phn Open
Distributed
tn m
Processing
Kin trc mi Common
Object
gii yu cu i Request
Broker
tng chung
Architeturre

21
21
21
22
22
22

22
23
23
24
24
34
34
34
34
34
34
34
34
34
26

26
26

- 181-

Bi ging H iu hnh phn tn (Phn 1)

H Quang Thy

PAD

DCE

phn mm lp
gia
th li
tnh nht qun
tn pht
tn pht tin cy
giao dch
thucngi
dng, lin ngi
dng, v lin nt
dch v nguyn
thy ng b
dch v kt khi
dch v
phc v
cng tc
thit k v gii
thit k gi
xu b x l
trm lm vicphc v
cng
tn pht bi
qung b
b nh chia x
phn tn
Mi trng tnh
ton phn tn

middleware

26

fault tolerance
consistency
broadcast
reliable broadcast
transaction
intrauser, interuser,
internode

27
28

syschronous primitive

38

blocking primitive
service
dch v ca h thng
server
/tng cung cp dch v
coordination
packet
assembling
and deassembling
processors - pool
workstation - phc v

38

port
multicast
broadcast
distributed
shared
memory
Distributed
Computing
Enviroment
hng i kt ni join-to-the-shortest
vi QT ngn nht queue
Thc hin t xa
Remoce execution
Dch v t xa
remote service
T thng dch
intepretive message
Lnh gi t xa
remote command
giao thc truyn Application
thng ng dng
communication
protocol
Phin bn
version

22

39
39
39
48
50
50
51
51

140
145
145
145
146

- 182-

You might also like