Giáo trình Hệ điều hành phân tán - Hà Quang Thụy

Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
ch¬ng I. C¸c nguyªn lý c¬ b¶n cña hÖ ®iÒu hµnh  
1.1 Sù tiÕn ho¸ cña hÖ ®iÒu hµnh hiÖn ®¹i  
a. Kh¸i niÖm hÖ ®iÒu hµnh  
HÖ ®iÒu hµnh (Operating System - OS, díi ®©y viÕt t¾t tiÕng ViÖt lµ H§H) lµ mét hÖ  
thèng c¸c ch¬ng tr×nh (vµ d÷ liÖu - tham sè hÖ thèng) ®îc cµi ®Æt s½n (díi d¹ng c¸c  
file trªn ®Üa tõ - b¨ng tõ) thùc hiÖn hai chøc n¨ng c¬ b¶n:  
- Chøc n¨ng cña mét hÖ thèng qu¶n trÞ tµi nguyªn: Qu¶n trÞ, ph©n phèi c«ng  
viÖc cho hÖ thèng thiÕt bÞ ®Ó hÖ thèng thiÕt bÞ ho¹t ®éng hiÖu qu¶ nhÊt,  
- Chøc n¨ng cña mét m¸y tÝnh më réng (m¸y tÝnh ¶o): Phôc vô nhu cÇu ®a d¹ng  
cña ngêi dïng mét c¸ch tèt nhÊt.  
Theo c¸ch nãi cô thÓ h¬n, H§H lµ mét bé c¸c m«®un phÇn mÒm hÖ thèng ®ãng vai trß  
giao diÖn gi÷a ch¬ng tr×nh øng dông víi phÇn cøng hÖ thèng, víi môc tiªu ®¹t tíi mét  
hÖ thèng m¸y tÝnh hiÖu qu¶, tin cËy vµ dÔ sö dông. Mét c¸ch ®¹i thÓ, tån t¹i c¸c chøc  
n¨ng riªng biÖt cña H§H nhlËp lÞch lµm viÖc cña bé xö lý (hoÆc c¸c bé xö lý), phèi  
hîp thùc hiÖn c¸c qu¸ tr×nh (QT: process) t¬ng t¸c nhau, qu¶n lý c¸c tµi nguyªn hÖ  
thèng (ch¼ng h¹n nhc¸c thiÕt bÞ vµo/ra, bé nhí trong, File...) ... nh»m n©ng cao n¨ng  
lùc ®iÒu khiÓn vµ b¶o vÖ, duy tr× tÝnh toµn vÑn hÖ thèng, thi hµnh kh«i phôc lçi cung  
cÊp mét giao diÖn ngêi dïng. H§H thêng cÊu tróc hai yªu cÇu nµy thµnh hai líp:  
dÞch vô hÖ thèng vµ nh©n cña H§H.  
DÞch vô hÖ thèng lµ nh÷ng chøc n¨ng møc cao ®îc ch¬ng tr×nh øng dông nhËn biÕt  
cßn nh©n (thêng trùc trong bé nhí trong) chØ ®¶m b¶o nh÷ng chøc n¨ng mang tÝnh c¬  
b¶n nhÊt vµ phô thuéc vµo kiÕn tróc h¹ tÇng.  
H×nh 1.1. m« t¶ khung nh×n ®¬n gi¶n vÒ hÖ thèng m¸y tÝnh theo cÊu tróc líp. VÞ trÝ cña  
dÞch vô hÖ thèng trong h×nh cho thÊy vai trß quan träng cña líp nµy.  
Ngêi dïng  
Ch¬ng tr×nh øng dông  
DÞch vô hÖ thèng  
Nh©n  
PhÇn cøng m¸y tÝnh  
H×nh 1.1. CÊu tróc líp cña hÖ thèng m¸y tÝnh  
Víi ý nghÜa ®ãng vai trß nhmét m¸y tÝnh ¶o, theo c¸ch nh×n cña ngêi dïng (tõ líp  
ch¬ng tr×nh øng dông), H§H lµ sù trõu tîng hãa cña hÖ thèng m¸y tÝnh ®îc tr×nh  
diÔn b»ng c¸c dÞch vô hÖ thèng: H§H ®îc chØ dÉn nhlµ mét m¸y më réng (m¸y tÝnh  
¶o). Môc ®Ých cña líp dÞch vô hÖ thèng lµ nh»m che ®Ëy ®i nh÷ng chi tiÕt cña hÖ thèng  
(phÇn cøng vµ phÇn mÒm) ®èi víi ngêi dïng.  
Theo c¸ch nh×n cña ngêi qu¶n trÞ hÖ thèng, dÞch vô hÖ thèng vµ nh©n ®îc coi lµ  
ngêi qu¶n lý tµi nguyªn. Qu¶n lý hÖ thèng tµi nguyªn (CPU, bé nhí, hÖ thèng vµo ra,  
file) kh«ng chØ kiÓm so¸t ®îc t×nh tr¹ng cña c¸c tµi nguyªn mµ cßn nh»m khai th¸c  
- 1-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
hiÖu qu¶ nhÊt. Mét sè bµi to¸n ®iÓn h×nh nh®iÒu khiÓn bé nhí, lËp lÞch QT, ®iÒu  
khiÓn liªn QT, ®iÒu khiÓn file, ®iÒu khiÓn vµo ra ...  
M¸y tÝnh më réng vµ qu¶n lý tµi nguyªn lµ hai thuËt ng÷ chung nhÊt ®îc dïng ®Ó x¸c  
®Þnh mét H§H. M¸y tÝnh më réng (trõu tîng m¸y) lµ môc tiªu thiÕt kÕ nguyªn thñy  
®èi víi H§H vµ qu¶n lý tµi nguyªn gi¶i nghÜa cho viÖc thùc hiÖn môc tiªu ®ã.  
ThiÕt kÕ H§H truyÒn thèng thêng b¾t ®Çu tõ yÕu tè quan träng h¬n lµ qu¶n lý tµi  
nguyªn, trong khi ®ã thiÕt kÕ H§H hiÖn ®¹i l¹i tËp trung nhiÒu h¬n vµo yÕu tè trõu  
tîng m¸y. Vµ mét lÏ tÊt nhiªn lµ yÕu tè nµo lµ quan träng h¬n l¹i phô thuéc vµo sù  
quan t©m tõ phÝa ngêi dïng.  
b. S¬ bé vÒ sù tiÐn hãa cña hÖ ®iÒu hµnh  
Trong m¸y tÝnh thuéc c¸c thÕ hÖ ®Çu tiªn kh«ng cã H§H. C¸c thao t¸c chän c«ng viÖc,  
ph©n c«ng c«ng viÖc ®Òu do thao t¸c viªn (vµ thËm chÝ ngay chÝnh ngêi lËp tr×nh)  
thùc hiÖn. Theo thêi gian, n¨ng lùc cña m¸y tÝnh ®îc n©ng cao: vÒ tèc ®é xö lý cña  
CPU, vÒ dung lîng bé nhí, vÒ hÖ thèng thiÕt bÞ ngo¹i vi, vÒ phÇn mÒm hÖ thèng còng  
nhsè lîng vµ n¨ng lùc ngêi sö dông t¨ng trëng vµ v× vËy cÇn cã mét hÖ thèng  
ch¬ng tr×nh ®iÒu khiÓn tù ®éng hÖ thèng m¸y tÝnh. Nh÷ng yÕu tè thùc tÕ nhvËy lµm  
n¶y sinh nh÷ng ®iÒu kiÖn cÇn thiÕt cho viÖc xuÊt hiÖn c¸c H§H ®¬n gi¶n.  
LÞch sö tiÕn hãa cña H§H tr×nh diÔn mét qu¸ tr×nh chuyÓn hãa tõng bíc trong viÖc  
thiÕt kÕ, tõ nhÊn m¹nh chøc n¨ng qu¶n trÞ tµi nguyªn sang nhÊn m¹nh chøc n¨ng m¸y  
tÝnh më réng. Theo m« h×nh trong h×nh 1.1. th× ®iÒu ®ã ®îc thÓ hiÖn viÖc chuyÓn hãa  
nhÊn m¹nh nh©n sang nhÊn m¹nh c¸c dÞch vô hÖ thèng.  
Theo lÞch sö tiÕn hãa, H§H hiÖn ®¹i ®îc ph©n ra thµnh 4 thÕ hÖ: H§H truyÒn thèng  
(tËp trung), hÖ ®iÒu m¹ng, H§H ph©n t¸n vµ hÖ tù trÞ céng t¸c. ThÕ hÖ gÇn ®©y nhÊt (hÖ  
tù trÞ céng t¸c) chó träng thiÕt kÕ c¸c øng dông ph©n t¸n trong m«i trêng hÖ thèng më  
(bao gåm c¸c thµnh phÇn hÖ thèng hçn t¹p ®îc tÝch hîp mÒm dÎo vµ cã tÝnh kh¶  
chuyÓn nh»m hç trî viÖc céng t¸c thùc hiÖn theo quy m« lín ë møc øng dông).  
Díi ®©y m« t¶ s¬ bé vÒ c¸ch thøc ph©n biÖt c¸c H§H nµy theo (1) ®é kÕt dÝnh phÇn  
cøng-phÇn mÒm vµ (2) tæ hîp môc tiªu-®Æc trng.  
ChiÒu gi¶m ®é kÕt dÝnh phÇn cøng- phÇn mÒm  
ThÕ hÖ 4  
ThÕ hÖ 1  
ThÕ hÖ 3  
ThÕ hÖ 2  
HÖ ®iÒu  
hµnh tËp  
trung  
HÖ ®iÒu  
hµnh ph©n  
t¸n  
HÖ ®iÒu  
hµnh tù trÞ  
céng t¸c  
HÖ ®iÒu  
hµnh m¹ng  
H×nh 1.2. Ph©n bè cña c¸c thÕ hÖ hÖ ®iÒu hµnh theo ®é kÕt dÝnh  
§é kÕt dÝnh phÇn cøng-phÇn mÒm cho biÕt hÖ thèng lµ "tËp trung ®Õn møc ®é nµo",  
®îc ®o b»ng tæ hîp kÕt dÝnh phÇn cøng vµ kÕt dÝnh phÇn mÒm. Theo ®ã, ph©n bè c¸c  
thÕ hÖ H§H ®îc s¾p xÕp nhh×nh 1.2. Tû sè gi÷a tæng phÝ truyÒn th«ng liªn bé xö lý  
so víi thêi gian truyÒn th«ng nét t¹i bé xö lý cµng thÊp th× kÕt dÝnh phÇn cøng cµng  
chÆt. KÕt dÝnh phÇn mÒm chÆt nÕu phÇn mÒm ®iÒu khiÓn tËp trung vµ sö dông th«ng tin  
toµn côc.  
- H§H tËp trung kÕt dÝnh phÇn cøng - phÇn mÒm chÆt.  
- 2-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
- H§H ph©n t¸n (DOS): phÇn mÒm kÕt dÝnh chÆt trªn nÒn phÇn cøng kÕt dÝnh  
láng,  
- H§H m¹ng (NOS): c¶ phÇn mÒm lÉn phÇn cøng ®Òu kÕt dÝnh láng,  
- HÖ tù trÞ céng t¸c (CAS) lµm gi¶m kÕt dÝnh chÆt phÇn mÒm (c¸ch nh×n l«gic  
tËp trung cña DOS). CAS n»m gi÷a NOS vµ DOS.  
Ph©n biÖt H§H theo tæ hîp môc tiªu-®Æc trng  
B¶ng 1.1 tr×nh bµy sù ph©n biÖt c¸c thÕ hÖ H§H theo tæ hîp môc tiªu-®Æc trng.  
B¶ng 1.1. Ph©n biÖt hÖ ®iÒu hµnh theo môc tiªu-®Æc trng  
ThÕ hÖ HÖ thèng  
§Æc trng  
Môc tiªu  
Qu¶n trÞ qu¸ tr×nh  
Qu¶n trÞ bé nhí  
Qu¶n trÞ vµo-ra  
Qu¶n trÞ file  
Qu¶n trÞ tµi nguyªn  
1
2
H§H tËp trung  
M¸y tÝnh më réng (¶o)  
Truy nhËp tõ xa  
Trao ®æi th«ng tin  
DuyÖt m¹ng  
Chia xÎ tµi nguyªn  
(liªn thao t¸c)  
H§H m¹ng  
Khung c¶nh toµn côc  
cña: HÖ thèng file,  
C¸ch nh×n cña mét m¸y  
tÝnh duy nhÊt cña mét hÖ  
thèng phøc hîp c¸c m¸y  
tÝnh (tÝnh trong suèt)  
Kh«ng gian tªn,  
3
4
H§H ph©n t¸n  
Thêi gian, an toµn,  
N¨ng lùc tÝnh to¸n  
C¸c øng dông ph©n t¸n Lµm viÖc céng t¸c (tù  
lµ më vµ céng t¸c trÞ)  
HÖ tù trÞ céng t¸c  
Môc tiªu nguyªn thñy cña H§H lµ m¸y tÝnh ¶o (virtual computer). Ba môc tiªu bæ  
sung lµ liªn thao t¸c, trong suèt vµ tù trÞ hiÖn vÉn ®ang lµ nh÷ng néi dung nghiªn cøu,  
ph¸t triÓn.  
- Môc tiªu liªn thao t¸c híng tíi n¨ng lùc t¹o ra ®iÒu kiÖn thuËn tiÖn cho viÖc  
trao ®æi th«ng tin gi÷a c¸c thµnh phÇn hçn t¹p trong hÖ thèng. §©y lµ môc tiªu gîi më  
nguyªn thuû dÉn tíi viÖc thiÕt kÕ H§H m¹ng trong mét m«i trêng hçn t¹p.  
- Kh¸i niÖm trong suèt (transparency) vµ kh¸i niÖm ¶o t¬ng tù nhau ë chç  
cung cÊp tÝnh trõu tîng cao cho hÖ thèng. §iÒu kh¸c biÖt gi÷a hai kh¸i niÖm nµy lµ  
theo tÝnh ¶o, ngêi dïng cã thÓ nh×n thÊy c¸i hä muèn, trong khi ®ã tÝnh trong suèt  
®¶m b¶o r»ng ngêi dïng kh«ng nh×n thÊy nh÷ng c¸i hä kh«ng muèn. o lµ môc tiªu  
quan träng cña H§H tËp trung cßn trong suèt lµ môc tiªu quan träng cña DOS. Kh¸i  
niÖm trong suèt cho phÐp m« t¶ DOS nhmét hÖ thèng cung cÊp mét khung c¶nh  
l«gic cña hÖ thèng cho ngêi dïng, ®éc lËp víi h¹ tÇng vËt lý. Ngêi dïng cã ®îc  
c¸ch nh×n cña m¸y tÝnh ®¬n cho mét hÖ thèng m¸y tÝnh phøc hîp: sù tån t¹i cña h¹  
tÇng m¹ng vµ ho¹t ®éng cña hÖ thèng lµ trong suèt víi ngêi dïng. Tõ "trong suèt" ë  
®©y ®îc hiÓu theo nghÜa 'thuÇn khiÕt" cña mét m«i trêng thuÇn nhÊt.  
- Trong suèt lµ mét môc tiªu qu¸ cao. H¬n n÷a, kh«ng b¾t buéc ph¶i lu«n cè ®¹t  
tíi tÝnh trong suèt v× nã bao gãi mét ®é tËp trung nµo ®ã. §iÒu ch¾c ch¾n phï hîp víi  
ngêi dïng lµ hä thÝch cã ®îc c¸i nh×n riªng vÒ hÖ thèng. Ngêi dïng cÇn mét m«i  
trêng më kh«ng ®ßi hái nhÊt thiÕt vÒ tÝnh trong suèt mµ chØ cÇn hÖ thèng cung cÊp  
- 3-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
tÝnh më ®Ó ngêi dïng biÕn ®æi, chuyÓn, di tró, më réng phÇn mÒm øng dông cña hä  
mét c¸ch ®éc lËp ®èi víi sù hçn t¹p cña hÖ thèng. Lý do lµ, nhlÏ rÊt tù nhiªn, ngêi  
dïng biÕt ®îc sù tån t¹i cña tµi nguyªn phøc vµ sù hiÖn diÖn cña c¸c ngêi dïng kh¸c,  
vµ ngêi dïng trë thµnh céng t¸c hoµn toµn víi hÖ thèng. Tõ ®ã, hÖ thèng phÇn mÒm  
®îc x©y dùng nhê viÖc tÝch hîp c¸c dÞch vô céng t¸c, ®îc cung cÊp tõ c¸c ®¬n vÞ tù  
trÞ. KiÓu ho¹t ®éng nhvËy cña hÖ tù trÞ céng t¸c rÊt gièng x· héi loµi ngêi. HiÖn t¹i  
mét sè hÖ thèng phÇn mÒm líp gi÷a (middleware) ®îc x©y dùng nhnh÷ng phiªn b¶n  
(version) ban ®Çu cña hÖ tù trÞ céng t¸c.  
Liªn thao t¸c, trong suèt, vµ tù trÞ lµ nh÷ng tÝnh chÊt rÊt ®¸ng mong muèn. Ngêi dïng  
kh«ng ph¶i (thêng lµ kh«ng cÇn thiÕt) biÕt H§H hiÖn t¹i cã ph¶i lµ m¹ng, DOS, CAS  
hay kh«ng. HÇu hÕt c¸c H§H hiÖn ®¹i lµ mét hÖ thèng tÝch hîp. Nã lµ viÖc tiÕn hãa tõ  
H§H tËp trung tíi H§H m¹ng, H§H ph©n t¸n vµ sau ®ã lµ hÖ tù trÞ céng t¸c, trong ®ã  
ngêi dïng tiÕp xóc víi viÖc x©y dùng c¸c øng dông céng t¸c lín dùa trªn c¸c khèi ®·  
®îc cÊu tróc hoµn h¶o.  
1.2. Tæng quan vÒ hÖ ®iÒu hµnh truyÒn thèng  
Nh®· biÕt, H§H truyÒn thèng (cßn ®îc gäi lµ H§H tËp trung víi ®¬n/®a bé xö lý)  
ch¹y trªn mét m¸y tÝnh lµ thÕ hÖ H§H ®Çu tiªn, víi ®é kÕt dÝnh chÆt chÏ phÇn mÒm -  
phÇn cøng trong ®ã mäi tµi nguyªn ®îc chia xÎ mét c¸ch néi t¹i vµ truyÒn th«ng liªn  
xö lý/liªn QT ®îc thùc hiÖn qua hoÆc chia xÎ bé nhí hoÆc ng¾t QT trùc tiÕp. Trong  
H§H tËp trung, hÖ thèng m¸y tÝnh lµ tËp trung: CPU (mét hoÆc nhiÒu) vµ bé nhí trong  
tháa m·n mét sè tÝnh chÊt nguyªn thñy cña chóng (vÝ dô, tèc ®é truy nhËp cña mét  
CPU bÊt kú tíi mét ®Þa chØ bé nhí trong bÊt kú lµ ®ång nhÊt ...). Coi r»ng chØ cã duy  
nhÊt "mét bé CPU" cïng duy nhÊt "mét bé nhí trong" vµ kh«ng hÒ quan t©m ®Õn sù  
kh¸c biÖt thêi gian truyÒn th«ng gi÷a c¸c CPU hay gi÷a c¸c bé phËn cña bé nhí trong.  
Trong c¸c H§H truyÒn thèng, chøc n¨ng hÖ qu¶n trÞ tµi nguyªn ®îc nhÊn m¹nh h¬n  
cho nªn viÖc thiÕt kÕ chóng ®Þnh híng vµo khai th¸c hiÖu qu¶ c¸c tµi nguyªn phÇn  
cøng cña hÖ thèng. C¸c bµi to¸n ®iÒu khiÓn CPU (lËp lÞch), ®iÒu khiÓn bé nhí trong,  
®iÒu khiÓn d÷ liÖu ®îc ®Æc biÖt chó ý. H§H truyÒn thèng ®îc tiÕn hãa tõ mét  
ch¬ng tr×nh ®¬n gi¶n (cung cÊp mét giao diÖn ngêi dïng vµ ®iÒu khiÓn vµo - ra) tíi  
mét hÖ ®a ngêi dïng/®a bµi to¸n hoµn h¶o víi c¸c yªu cÇu vÒ qu¶n trÞ rÊt phøc t¹p ®èi  
víi QT, bé nhí, file vµ thiÕt bÞ. Sù tiÕn hãa nµy ®îc thÓ hiÖn trong b¶ng 1.2 mµ c¸c  
chøc n¨ng qu¶n lý ®îc ®Æt ra nh»m ®¸p øng mçi yªu cÇu bæ sung.  
B¶ng 1.2. Chøc n¨ng chÝnh cña hÖ ®iÒu hµnh tËp trung  
Yªu cÇu hÖ thèng  
Chøc n¨ng qu¶n lý  
Ngêi dïng c¸ nh©n  
Giao diÖn ngêi dïng, §iÒu khiÓn vµo - ra,  
ng¾t, ®iÒu khiÓn thiÕt bÞ  
Vµo - ra hiÖu qu¶  
Ch¬ng tr×nh lín  
§a ngêi dïng  
ThiÕt bÞ vµo - ra ¶o, spooling  
Bé nhí ¶o, ph©n trang hay ph©n segment  
§a ch¬ng tr×nh vµ ph©n chia thêi gian  
LËp lÞch qu¸ tr×nh  
§iÒu khiÓn truy nhËp vµ b¶o vÖ  
Chia xÎ file vµ ®iÒu khiÓn ®ång thêi  
Xö lý ®ång thêi  
§a bµi to¸n (®a nhiÖm)  
§ång bé hãa qu¸ tr×nh, bÕ t¾c  
TruyÒn th«ng liªn qu¸ tr×nh  
- 4-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
Cã mét lu ý nhá vÒ chÝnh kh¸i niÖm hÖ ®iÒu hµnh trong thêi kú ®¸nh dÊu sù ph¸t triÓn  
m¹nh cña H§H truyÒn thèng (vµo kho¶ng nh÷ng n¨m 1980). Trong nhiÒu tµi liÖu, ®Æc  
biÖt lµ tµi liÖu vÒ thiÕt kÕ H§H, "hÖ ®iÒu hµnh" ®îc hiÓu theo nh÷ng néi dung ®· ®îc  
tr×nh bµy trªn ®©y. Nhng trong kh«ng Ýt c¸c tµi liÖu kh¸c, "hÖ ®iÒu hµnh" ®îc hiÓu  
nhbé c¸c ch¬ng tr×nh hÖ thèng (xem h×nh 1.3) ®îc cung cÊp cho ngêi sö dông vµ  
ngoµi nh÷ng thµnh tè ®· nãi - t¬ng øng víi thµnh phÇn ®iÒu kiÓn, H§H cßn cã thµnh  
phÇn øng dông thµnh phÇn tiÖn Ých. Lý do chÝnh cña viÖc më réng néi dung kh¸i  
niÖm vÒ H§H nhvËy liªn quan ®Õn s¶n phÈm kÕt qu¶ cung cÊp cho ngêi sö dông lµ  
mét "bé phÇn mÒm hÖ ®iÒu hµnh". Tuy nhiªn, khi tr×nh bµy b¶n chÊt cña H§H, c¸ch  
quan niÖm nµy còng nhÊt qu¸n víi c¸ch quan niÖm ®· nãi vµ néi dung trong gi¸o tr×nh  
nµy nhÊt qu¸n theo c¸ch quan niÖm nhvËy.  
Ngêi dïng  
C¸c ch¬ng tr×nh øng dông  
Tr×nh biªn dÞch Tr×nh so¹n th¶o  
Tr×nh th«ng dÞch  
ch¬ng tr×nh  
HÖ ®iÒu hµnh (Lêi gäi hÖ thèng, nh©n)  
hÖ thèng  
Ng«n ng÷ m¸y  
Vi ch¬ng tr×nh t¹i ROM  
ThiÕt bÞ vËt lý  
phÇn cøng  
H×nh 1.3. Mét c¸ch nh×n kh¸c vÒ kiÕn tróc møc hÖ thèng m¸y tÝnh  
TiÕp theo trong môc díi ®©y, chóng ta m« t¶ s¬ lîc qu¸ tr×nh tiÕn hãa cña H§H  
truyÒn thèng.  
1.2.0. TiÕn hãa hÖ ®iÒu hµnh truyÒn thèng  
a. HÖ ®iÒu hµnh ®¬n ch¬ng tr×nh  
H§H ®¬n ch¬ng tr×nh (H§H d·y: serial OS) xuÊt hiÖn ®Çu tiªn: ch¬ng tr×nh cña  
ngêi dïng ®îc xÕp hµng ®Ó lÇn lît ®îc ®a vµo bé nhí trong vµ ch¹y (thùc hiÖn).  
Mét ch¬ng tr×nh sau khi ®îc n¹p tõ dßng xÕp hµng vµo bé nhí trong ®îc hÖ thèng  
(cïng toµn bé tµi nguyªn) phôc vô tõ khi ch¬ng tr×nh b¾t ®Çu ch¹y cho ®Õn lóc  
ch¬ng tr×nh kÕt thóc. Mét ch¬ng tr×nh ®îc n¹p vµo bé nhí nhvËy cã thÓ ®îc thùc  
hiÖn víi nhiÒu bé d÷ liÖu. ChØ khi ch¬ng tr×nh nµy kÕt thóc th× míi n¹p tiÕp ch¬ng  
tr×nh kh¸c trong dßng ®îi vµo bé nhí trong. Trong hÖ thèng ®¬n ch¬ng tr×nh thùc chÊt  
kh«ng cÇn gi¶i quyÕt bµi to¸n ®iÒu khiÓn CPU (lËp lich) v× CPU ®· ®îc dµnh riªng  
cho ch¬ng tr×nh hiÖn t¹i.  
Tuy nhiªn, viÖc n¹p ch¬ng tr×nh vµ d÷ liÖu vµo bé nhí trong lµm viÖc l¹i liªn quan  
®Õn thiÕt bÞ vµo-ra ®a d¹ng mµ trong giai ®o¹n ban ®Çu phæ biÕn lµ vµo b×a ®ôc lç (thiÕt  
bÞ vµo chuÈn) vµ ra m¸y in (thiÕt bÞ ra chuÈn). Vµ tíi mét thêi ®iÓm, ra ®êi CPU tèc ®é  
cao, tèc ®é n¹p b×a còng nhtèc ®é in ra kh«ng theo kÞp víi tèc ®é cña CPU, v× thÕ  
lµm t¨ng thêi gian nghØ v« Ých cña CPU mµ g©y ra l·ng phÝ. §ßi hái cÇn c¶i tiÕn nh»m  
t¨ng hiÖu qu¶ ho¹t ®éng. Mét trong nh÷ng c¶i tiÕn ®èi víi H§H ®¬n ch¬ng tr×nh lµ  
ho¹t ®éng theo chÕ ®é SPOOLING (Simultaneous Peripheral Operation OnLine), mµ  
theo ®ã tÊt c¶ viÖc vµo - ra ®èi víi H§H lµ lµm viÖc víi ®Üa cøng cßn vµo - ra tõ ®Üa  
- 5-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
cøng víi c¸c vËt mang tin kh¸c ®îc ®¶m b¶o b»ng nh÷ng c¬ chÕ riªng. Tèc ®é cña  
toµn bé hÖ thèng ®îc t¨ng lªn ®¸ng kÓ. ChÕ ®é SPOOLING cßn ®îc sö dông trong  
nh÷ng H§H ®a ch¬ng tr×nh xuÊt hiÖn sau nµy.  
b. HÖ ®iÒu hµnh ®a ch¬ng tr×nh  
Sù tiÕn bé nhanh chãng cña c«ng nghÖ m¸y tÝnh dÉn tíi dung lîng bé nhí t¨ng lªn  
®¸ng kÓ (vît xa dung lîng trung b×nh cña c¸c ch¬ng tr×nh ngêi dïng) vµ tèc ®é  
CPU còng t¨ng nhanh, chÕ ®é ho¹t ®éng ®a ch¬ng tr×nh xuÊt hiÖn. ChÕ ®é ®a ch¬ng  
tr×nh (multiprogramming) ®îc ph©n lo¹i theo híng ®éc lËp ngêi dïng (chÕ ®é mÎ)  
vµ híng th©n thiÖn ngêi dïng (chÕ ®é ®a ngêi dïng).  
§èi víi H§H ®a ch¬ng tr×nh, t¹i mçi thêi ®iÓm cã thÓ cã nhiÒu ch¬ng tr×nh ®ång  
thêi cã mÆt ë bé nhí trong. C¸c ch¬ng tr×nh nµy ®Òu cã nhu cÇu ®îc ph©n phèi bé  
nhí vµ CPU ®Ó thùc hiÖn. NhvËy, bé nhí, CPU, c¸c thiÕt bÞ ngo¹i vi v.v. lµ c¸c tµi  
nguyªn cña hÖ thèng ®îc chia xÎ cho c¸c ch¬ng tr×nh. §Æc ®iÓm quan träng cÇn lu  
ý lµ c¸c ch¬ng tr×nh nµy ph¶i ®îc “b×nh ®¼ng” khi gi¶i quyÕt c¸c yªu cÇu tµi nguyªn.  
Kh¸i niÖm ch¬ng tr×nh nãi trong chÕ ®é ®a ch¬ng tr×nh ®îc dïng ®Ó chØ c¶ ch¬ng  
tr×nh ngêi dïng lÉn ch¬ng tr×nh H§H.  
Khi so s¸nh víi H§H ®¬n ch¬ng tr×nh, cã thÓ nhËn thÊy ngay mét ®iÒu lµ ®èi víi mét  
ch¬ng tr×nh cô thÓ th× trong chÕ ®é ®¬n ch¬ng tr×nh, ch¬ng tr×nh ®ã sÏ kÕt thóc  
nhanh h¬n (thêi gian ch¹y ng¾n h¬n) so víi khi nã ch¹y trong chÕ ®é ®a ch¬ng tr×nh;  
nhng bï l¹i, trong mét kho¶ng thêi gian x¸c ®Þnh th× chÕ ®é ®a ch¬ng tr×nh sÏ hoµn  
thiÖn ®îc nhiÒu ch¬ng tr×nh (gi¶i ®îc nhiÒu bµi to¸n) h¬n, do ®ã hiÖu qu¶ sö dông  
m¸y tÝnh cao h¬n.  
Mét trong nh÷ng tµi nguyªn quan träng nhÊt cña hÖ thèng m¸y tÝnh lµ CPU. ViÖc chia  
xÎ CPU lµ mét trong nh÷ng d¹ng ®iÓn h×nh cña viÖc chia xÎ tµi nguyªn. TÝnh chÊt chia  
xÎ CPU l¹i ph©n líp c¸c H§H ®a ch¬ng tr×nh thµnh c¸c líp con: H§H ho¹t ®éng theo  
chÕ ®é mÎ (batch) vµ H§H ho¹t ®éng theo chÕ ®é ph©n chia thêi gian (time shared).  
HÖ ®iÒu hµnh ho¹t ®éng theo chÕ ®é mÎ  
§©y lµ lo¹i H§H ®Þnh híng tíi môc tiªu lµm cùc ®¹i sè lîng c¸c bµi to¸n ®îc gi¶i  
quyÕt trong mét kho¶ng ®¬n vÞ thêi gian (cã nghÜa lµ trong mét kho¶ng ®¬n vÞ thêi  
gian th× híng môc tiªu vµo viÖc hoµn thiÖn ®îc cµng nhiÒu ch¬ng tr×nh cµng tèt). ë  
níc ta nh÷ng n¨m tríc ®©y, c¸c m¸y tÝnh EC-1022, EC-1035 (H§H OS), IBM  
360/40-50 (H§H DOS) phæ biÕn ho¹t ®éng theo chÕ ®é mÎ. Trong H§H chÕ ®é mÎ,  
c¸ch thøc ®iÒu khiÓn CPU ®iÓn h×nh lµ mét ch¬ng tr×nh ë tr¹ng th¸i s½n sµng sÏ ®îc  
chän thùc hiÖn (®îc ph©n phèi CPU) khi ch¬ng tr×nh ®ang ch¹y ph¶i ngõng v× nã  
cÇn ®Õn mét tµi nguyªn kh¸c CPU.  
C¸c H§H theo chÕ ®é mÎ l¹i cã thÓ ph©n biÖt thµnh hai lo¹i ®iÓn h×nh lµ MFT vµ  
MVT: sù ph©n biÖt chóng theo c¸ch ®iÒu khiÓn bé nhí trong.  
MFT: Multiprogramming with Fixed number of Tasks  
Khi hÖ thèng lµm viÖc, ®· quy ®Þnh s½n mét sè lîng cè ®Þnh c¸c bµi to¸n ®ång thêi ë  
bé nhí trong: Bé nhí trong ®îc chia thµnh mét sè vïng nhí cè ®Þnh, c¸c vïng nµy cã  
biªn cè ®Þnh mµ mçi vïng ®îc dïng ®Ó chøa mét ch¬ng tr×nh t¹i mét thêi ®iÓm. Mçi  
ch¬ng tr×nh ngêi dïng chØ ®îc ®a vµo mét vïng nhí x¸c ®Þnh t¬ng øng víi  
ch¬ng tr×nh ®ã. Mét ch¬ng tr×nh chØ cã thÓ lµm viÖc trong giíi h¹n cña vïng bé nhí  
trong ®ang chøa nã: ch¬ng tr×nh ®ã tån t¹i trong vïng bé nhí t¬ng øng trong suèt  
thêi gian nã ®îc thùc hiÖn trong m¸y tÝnh, kÓ tõ lóc b¾t ®Çu cho tíi lóc kÕt thóc.  
- 6-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
MVT: Multiprogramming with Variable number of Tasks  
Kh¸c víi chÕ ®é MFT, trong chÕ ®é MVT, bé nhí trong kh«ng bÞ chia s½n thµnh c¸c  
vïng, viÖc n¹p ch¬ng tr×nh míi vµo bé nhí trong cßn ®îc tiÕp diÔn khi mµ bé nhí  
trong cßn ®ñ ®Ó chøa thªm ch¬ng tr×nh.  
Cã thÓ quan niÖm r»ng trong chÕ ®é MFT bé nhí trong ®îc ph©n thµnh c¸c vïng cã  
v¸ch ng¨n cè ®Þnh, cßn trong chÕ ®é MVT, kh«ng cã v¸ch ng¨n s½n, mçi khi ch¬ng  
tr×nh ®îc n¹p vµo míi h×nh thµnh mét v¸ch ng¨n t¹m thêi. NÕu chØ gÆp c¸c ch¬ng  
tr×nh ®ßi hái Ýt bé nhí th× theo chÕ ®é MVT, sè lîng ch¬ng tr×nh ®ång thêi cã mÆt  
trong bé nhí nhiÒu lªn.  
ChÕ ®é ph©n chia thêi gian (Time Shared System: TSS)  
ChÕ ®é ph©n chia thêi gian lµ chÕ ®é ho¹t ®éng ®iÓn h×nh cña c¸c H§H ®a ngêi dïng  
(multi-users). H§H ho¹t ®éng theo chÕ ®é nµy ®Þnh híng phôc vô trùc tiÕp ngêi  
dïng khi ch¬ng tr×nh cña ngêi dïng ®ã ®ang thùc hiÖn, lµm cho giao tiÕp cña ngêi  
dïng víi m¸y tÝnh lµ hÕt søc th©n thiÖn. Liªn quan ®Õn H§H ho¹t ®éng theo chÕ ®é  
nµy lµ c¸c kh¸i niÖm lîng tö thêi gian, bé nhí ¶o v.v.  
Trong hÖ TSS, t¹i cïng thêi ®iÓm cã nhiÒu ngêi dïng ®ång thêi lµm viÖc víi m¸y  
tÝnh: Mçi ngêi lµm viÖc víi m¸y tÝnh th«ng qua mét tr¹m cuèi (terminal) vµ v× vËy, hÖ  
thèng ®· cho phÐp m¸y tÝnh th©n thiÖn víi ngêi dïng.  
Kh¸c víi c¸ch thøc ®iÒu khiÓn CPU trong chÕ ®é mÎ, H§H ph©n phèi CPU lÇn lît  
cho tõng ch¬ng tr×nh ngêi dïng, mçi ch¬ng tr×nh ®îc chiÕm gi÷ CPU trong mét  
kho¶ng thêi gian nhnhau (kho¶ng thêi gian ®ã ®îc gäi lµ lîng tö thêi gian: time  
quantum): cã thÓ thÊy phæ biÕn vÒ lîng tö thêi gian ®iÓn h×nh lµ kho¶ng 0,05s. M¸y  
tÝnh lµm viÖc víi tèc ®é cao, chu kú quay l¹i phôc vô cho tõng ch¬ng tr×nh ngêi  
dïng lµ rÊt nhanh so víi gi¸c quan cña ngêi dïng, vµ v× vËy, mçi ngêi dïng ®Òu cã  
c¶m gi¸c r»ng m×nh ®ang chiÕm h÷u toµn bé tµi nguyªn hÖ thèng.  
§iÒu khiÓn bé nhí trong cña chÕ ®é ®a ngêi dïng cã nhiÒu kh¸c biÖt b¶n chÊt so víi  
chÕ ®é mÎ. Bé nhí trong lu«n chøa ch¬ng tr×nh cña mäi ngêi dïng, v× vËy x¶y ra  
t×nh huèng toµn bé bé nhí trong kh«ng ®ñ ®Ó chøa tÊt c¶ ch¬ng tr×nh ngêi dïng hiÖn  
®ang thùc hiÖn; v× vËy, ®èi víi H§H TSS n¶y sinh gi¶i ph¸p sö dông bé nhí ¶o: sö  
dông ®Üa tõ nhvïng më réng kh«ng gian nhí cña bé nhí trong.  
H§H UNIX (vµ Linux) lµ H§H ®a ngêi dïng ®iÓn h×nh.  
Cã thÓ nhËn xÐt r»ng, tÝnh qu¶n trÞ tµi nguyªn ®îc nhÊn m¹nh trong H§H mÎ vµ tÝnh  
chÊt m¸y tÝnh ¶o ®· ®îc quan t©m h¬n trong H§H ®a ngêi dïng.  
c. HÖ ®iÒu hµnh thêi gian thùc  
NhiÒu bµi to¸n trong lÜnh vùc ®iÒu khiÓn cÇn ®îc gi¶i quyÕt kh«ng muén h¬n mét  
thêi ®iÓm nhÊt ®Þnh, vµ v× vËy, ®èi víi c¸c m¸y tÝnh trong lÜnh vùc ®ã cÇn H§H thêi  
gian thùc (RT: Real Time). Trong hÖ thêi gian thùc, mçi bµi to¸n ®îc g¾n víi mét  
thêi ®iÓm tíi h¹n (tiÕng Anh lµ deadtime) vµ bµi to¸n ph¶i ®îc gi¶i quyÕt kh«ng  
muén h¬n thêi ®iÓm ®· cho ®ã: NÕu bµi to¸n hoµn thiÖn muén h¬n thêi ®iÓm ®ã th×  
viÖc gi¶i quyÕt nã trë nªn kh«ng cßn ý nghÜa n÷a. HÖ thêi gian thùc cã thÓ ®îc coi  
nhmét trêng hîp cña hÖ ®a ch¬ng tr×nh ho¹t ®éng theo chÕ ®é mÎ cã g¾n thªm thêi  
®iÓm kÕt thóc cho mçi bµi to¸n.  
d. HÖ ®iÒu hµnh kÕt hîp  
C¸c nhµ thiÕt kÕ H§H hiÖn ®¹i còng chän lùa viÖc thiÕt kÕ H§H cã kh¶ n¨ng khëi t¹o  
ho¹t ®éng ®îc theo mét trong mét sè chÕ ®é ho¹t ®éng cña H§H ®· nãi trªn ®©y.  
Ch¼ng h¹n, H§H OS cho hÖ thèng m¸y EC hoÆc IBM cã thÓ ho¹t ®éng hoÆc theo chÕ  
- 7-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
®é mÎ (MFT, MVT) hoÆc theo chÕ ®é ph©n chia thêi gian (SYS); hoÆc H§H LINUX  
ho¹t ®éng theo chÕ ®é ®¬n ngêi dïng (víi superuser) hoÆc chÕ ®é ®a ngêi dïng (víi  
c¸c ngêi dïng kh¸c). KiÓu hÖ ®iÒu hµnh nhvËy ®îc quan niÖm lµ kÕt hîp néi dung  
cña nhiÒu lo¹i hÖ ®iÒu hµnh (Combination Operating System).  
e. HÖ thèng ®a xö lý  
HÖ thèng nhiÒu CPU  
HiÖn nay, tõ tèc ®é ph¸t triÓn nhanh cña c«ng nghÖ, m¸y tÝnh ngµy cµng ®îc phæ  
dông trong x· héi. Møc ®é th©m nhËp cña m¸y tÝnh vµo cuéc sèng cµng cao th× yªu  
cÇu n©ng cao n¨ng lùc cña m¸y tÝnh l¹i ngµy cµng trë nªn cÊp thiÕt. Bé nhí chÝnh ngµy  
cµng réng lín; ®Üa tõ cã dung lîng cµng réng, tèc ®é truy nhËp ngµy cµng cao; hÖ  
thèng thiÕt bÞ ngo¹i vi cµng phong phó, h×nh thøc giao tiÕp ngêi-m¸y ngµy cµng ®a  
d¹ng. Nh®· nãi, CPU lµ mét tµi nguyªn thÓ hiÖn chñ yÕu nhÊt n¨ng lùc cña hÖ thèng  
m¸y tÝnh, v× vËy mét trong nh÷ng vÊn ®Ò träng t©m nhÊt ®Ó t¨ng cêng n¨ng lùc cña hÖ  
thèng lµ t¨ng cêng n¨ng lùc cña CPU. §èi víi vÊn ®Ò nµy, n¶y sinh c¸c gi¶i ph¸p theo  
hai híng:  
Gi¶i ph¸p t¨ng cêng n¨ng lùc cña mét CPU riªng cho tõng m¸y tÝnh: c«ng nghÖ vi  
m¹ch ngµy cµng ph¸t triÓn v× vËy n¨ng lùc cña tõng CPU còng ngµy n©ng cao, c¸c dù  
¸n vi m¹ch VLSI víi hµng triÖu, hµng chôc tiÖu transitor ®îc triÓn khai. Tuy nhiªn  
gi¶i ph¸p nµy còng n¶y sinh nh÷ng h¹n chÕ vÒ kü thuËt: tèc ®é truyÒn th«ng tin kh«ng  
vît qua tèc ®é ¸nh s¸ng; kho¶ng c¸ch gÇn nhÊt gi÷a hai thµnh phÇn kh«ng thÓ gi¶m  
thiÓu qu¸ nhá v.v.  
Song song víi gi¶i ph¸p t¨ng cêng n¨ng lùc tõng CPU lµ gi¶i ph¸p liªn kÕt nhiÒu CPU  
®Ó t¹o ra mét hÖ thèng chung cã n¨ng lùc ®¸ng kÓ: viÖc xö lý song song t¹o ra nhiÒu  
lîi ®iÓm. Thø nhÊt, chia c¸c phÇn nhá c«ng viÖc cho mçi CPU ®¶m nhËn, n¨ng suÊt  
t¨ng kh«ng chØ theo tû lÖ thuËn víi mét hÖ sè nh©n mµ cßn cao h¬n do kh«ng mÊt thêi  
gian ph¶i thùc hiÖn nh÷ng c«ng viÖc trung gian.  
Thø hai, gi¶i ph¸p nµy cßn cã lîi ®iÓm tÝch hîp c¸c hÖ thèng m¸y ®· cã ®Ó t¹o ra mét  
hÖ thèng míi víi søc m¹nh t¨ng gÊp béi.  
Chóng ta kh¶o s¸t mét sè néi dung chän gi¶i ph¸p ®a xö lý theo nghÜa mét hÖ thèng  
tÝnh to¸n ®îc tæ hîp kh«ng chØ mét CPU mµ nhiÒu CPU trong mét m¸y tÝnh (hÖ ®a xö  
lý tËp trung) hoÆc nhiÒu m¸y tÝnh trong mét hÖ thèng thèng nhÊt. Gäi chung c¸c hÖ cã  
nhiÒu CPU nhvËy lµ hÖ ®a xö lý.  
Ph©n lo¹i c¸c hÖ ®a xö lý  
Cã mét sè c¸ch ph©n lo¹i c¸c hÖ ®a xö lý:  
Ph©n lo¹i theo vÞ trÝ ®Æt c¸c CPU: tËp trung hoÆc ph©n t¸n.  
C¸c siªu m¸y tÝnh (supercomputer) lµ c¸c vÝ dô vÒ hÖ ®a xö lý tËp trung. §Æc trng cña  
hÖ thèng nµy lµ c¸c CPU ®îc liªn kÕt víi nhau trong mét m¸y tÝnh duy nhÊt ®¶m b¶o  
®é kÕt dÝnh phÇn cøng chÆt. VÝ dô vÒ hÖ ®a xö lý ph©n t¸n lµ c¸c hÖ thèng tÝnh to¸n  
ph©n t¸n dùa trªn m¹ng m¸y tÝnh víi ®é kÕt dÝnh phÇn cøng láng.  
Ph©n lo¹i theo ®Æc tÝnh cña c¸c CPU thµnh phÇn: hÖ ®a xö lý thuÇn nhÊt hoÆc hÖ ®a  
xö lý kh«ng thuÇn nhÊt v.v. Mét vÝ dô quen thuéc vÒ hÖ kh«ng thuÇn nhÊt lµ thiÕt bÞ xö  
lý trong m¸y vi tÝnh gåm CPU xö lý chung vµ CPU xö lý dÊu ph¶y ®éng. Siªu m¸y tÝnh  
ILLIAC-IV gåm nhiÒu CPU cã ®Æc trng gièng nhau lµ mét vÝ dô vÒ hÖ thuÇn nhÊt.  
C¸ch ph©n lo¹i ®iÓn h×nh lµ dùa theo kiÓu c¸c CPU thµnh phÇn tiÕp nhËn vµ xö lý d÷  
liÖu trong mét nhÞp lµm viÖc. C¸ch ph©n lo¹i nµy bao gåm c¶ m¸y tÝnh ®¬n xö lý th«ng  
thêng:  
- 8-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
- §¬n chØ thÞ, ®¬n d÷ liÖu (SISD: Single Data Single Instruction) ®îc thÓ hiÖn  
trong m¸y tÝnh th«ng thêng; Mçi lÇn lµm viÖc, CPU chØ xö lý “mét d÷ liÖu” vµ chØ cã  
mét chØ thÞ (instruction, c©u lÖnh) ®îc thùc hiÖn. §©y lµ m¸y tÝnh ®¬n xö lý.  
- §¬n chØ thÞ, ®a d÷ liÖu (SIMD: Single Instruction Multiple Data):  
C¸c bé xö lý trong cïng mét nhÞp lµm viÖc thùc hiÖn chØ cïng mét chØ thÞ. VÝ dô nh−  
phÐp céng hai vector cho tríc: C¸c CPU thµnh phÇn ®Òu thùc hiÖn c¸c phÐp céng theo  
®èi sè t¬ng øng t¹i mçi CPU; sau ®ã, chän tiÕp chØ thÞ míi ®Ó tiÕp tôc c«ng viÖc.  
Th«ng thêng, hÖ thèng cã bé phËn ®iÒu khiÓn riªng cho viÖc chän chØ thÞ vµ mäi CPU  
thµnh phÇn cïng thùc hiÖn chØ thÞ ®ã (bé xö lý ma trËn).  
- §a chØ thÞ, ®¬n d÷ liÖu (MISD: Multiple Instruction Single Data):  
Trong c¸c m¸y tÝnh thuéc lo¹i nµy, hÖ thèng gåm nhiÒu CPU, c¸c CPU liªn kÕt nhau  
tuÇn tù: output cña CPU nµy lµ input cña CPU tiÕp theo (Bé xö lý vector). C¸c CPU kÕt  
nèi theo kiÓu nµy ®îc gäi lµ kÕt nèi “d©y chuyÒn”.  
- §a chØ thÞ, ®a c©u lÖnh (MIMD):  
Mçi CPU cã bé ph©n tÝch ch¬ng tr×nh riªng; chØ thÞ vµ d÷ liÖu g¾n víi mçi CPU: nhÞp  
ho¹t ®éng cña c¸c CPU nµy hoµn toµn “®éc lËp nhau”.  
1.2.1. CÊu tróc hÖ ®iÒu hµnh truyÒn thèng  
C¸c øng dông  
KÕ to¸n ...  
V¨n phßng  
S¶n xuÊt  
C¸c hÖ thèng  
con  
M«i trêng lËp tr×nh  
HÖ thèng c¬ së d÷ liÖu  
C¸c tiÖn Ých  
Bé biªn dÞch  
HÖ thèng File  
Th«ng dÞch lÖnh  
Qu¶n lý bé nhí  
ThviÖn  
C¸c dÞch vô hÖ  
thèng  
Bé lËp lÞch  
CPU ®a thµnh phÇn, kiÓm so¸t ng¾t, ®iÒu khiÓn thiÕt bÞ, ®ång bé  
nguyªn thñy, truyÒn th«ng liªn qu¸ tr×nh  
Nh©n  
H×nh 1.4 Ph©n møc c¸c thµnh phÇn hÖ ®iÒu hµnh theo chiÒu däc vµ chiÒu ngang  
H§H lµ bé phÇn mÒm lín cã kÝch thíc tõ hµng ngh×n tíi hµng triÖu dßng m· lÖnh,  
cho nªn khi thi hµnh cÇn thiÕt ph¶i kiÕn tróc phÇn mÒm H§H tõ c¸c m«®un dÔ dµng  
qu¶n lý (phï hîp víi ph¬ng ph¸p chung ph¸t triÓn phÇn mÒm). Kú väng mét kÕt qu¶  
thiÕt kÕ lµ cung cÊp c¸c giao diÖn ®îc x¸c ®Þnh têng minh gi÷a c¸c m«®un vµ c¸ch  
®Æt c¸c rµng buéc cho t¬ng t¸c m«®un. Hai c¸ch tiÕp cËn truyÒn thèng th«ng dông  
ph©n ho¹ch c¸c m«®un lµ ph©n ho¹ch ngang vµ ph©n ho¹ch däc. Ph©n ho¹ch däc dùa  
trªn kh¸i niÖm møc, theo ®ã ph©n chia c¸c m«®un thµnh nhãm theo c¸c møc kh¸c nhau  
víi rµng buéc lµ chØ cho phÐp t¬ng t¸c gi÷a c¸c m«®un thuéc hai møc liÒn kÒ. §©y lµ  
giao diÖn mét vµo - mét ra gi÷a c¸c møc. C¸c m«®un trong tõng møc (ph©n ho¹ch  
ngang) l¹i ®îc tæ chøc thµnh c¸c thµnh phÇn lín rêi r¹c nhau, mçi thµnh phÇn nhthÕ  
l¹i cã thÓ ®îc tinh chÕ tiÕp theo tæ hîp ph©n ho¹ch ngang hoÆc däc (h×nh 1.4). KiÓu  
®iÓn h×nh cña m«®un lµ tËp dßng lÖnh thi hµnh mét dÞch vô hÖ thèng riªng biÖt. Trong  
mét hÖ thèng híng ®èi tîng, c¸c m«®un cÇn ®îc thi hµnh nhmét ®èi tîng víi  
c¸c thao t¸c (hoµn toµn x¸c ®Þnh) trªn mçi ®èi tîng dÞch vô thµnh phÇn. M«®un hãa  
dùa trªn ®èi tîng lµ tèt h¬n so víi m· hãa. Mäi tµi nguyªn, bao gåm c¶ file vµ QT,  
cÇn ®îc tiÕp cËn nh®èi tîng d÷ liÖu mµ thÓ hiÖn vËt lý cña chóng ph¶i ®îc che  
giÊu b»ng c¸c cÊu tróc d÷ liÖu trõu tîng. Ho¹t ®éng (thùc hiÖn) cña m«®un ®îc giíi  
- 9-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
h¹n b»ng mét tËp c¸c thao t¸c vµ luËt h×nh thøc g¸n cho ®èi tîng. M«®un híng ®èi  
tîng cung cÊp hµng lo¹t lîi thÕ, trong ®ã cã tÝnh ®ång nhÊt truy nhËp vµ b¶o vÖ. V×  
®ång nhÊt, chóng dÔ dµng biÕn ®æi vµ do ®ã lµm t¨ng tÝnh kh¶ chuyÓn cña hÖ thèng.  
TÝnh kh¶ chuyÓn cña H§H cßn t¨ng lªn khi t¸ch c¸c m· phô thuéc-m¸y tõ hÖ thèng.  
§a phÇn c¸c phÇn mÒm H§H (c¸c dÞch vô hÖ thèng) lµ ®éc lËp phÇn cøng. Tõ ®ã, hÖ  
thèng cÇn ®îc cÊu tróc theo c¸ch mµ phÇn phô thuéc-m¸y ®îc gi÷ ë møc tèi thiÓu  
nhÊt t¸ch rêi khái c¸c dÞch vô hÖ thèng. C¸ch tiÕp cËn nh©n tèi thiÓu nµy lµm gi¶m  
bít ®é phøc t¹p vÒ tÝnh kh¶ chuyÓn hÖ thèng tõ kiÓu kiÕn tróc m¸y tÝnh nµy sang kiÓu  
kiÕn tróc m¸y tÝnh kh¸c v× chØ cã nh©n míi ph¶i viÕt l¹i. C¸c chøc n¨ng ®iÓn h×nh ®îc  
thi hµnh trong nh©n tèi thiÓu bao gåm: tÝnh ®a thµnh phÇn cña c¸c bé xö lý víi hç trî  
®a ch¬ng tr×nh, kiÓm so¸t ng¾t, ®iÒu khiÓn thiÕt bÞ, (dÞch vô) nguyªn thuû ®ång bé QT  
(§BQT), c¸c ph¬ng tiÖn truyÒn th«ng liªn QT (TTLQT, tiÕng Anh Interprocess  
Communication, IPC). CÊu tróc nh©n thêng nguyªn khèi theo nghÜa kh«ng cßn ph©n  
ho¹ch ngang hoÆc däc ®îc n÷a mµ chØ lµ m«®un hãa theo m·. CÊu tróc nµy ®¹t ®îc  
do nh©n ®· ®îc tèi thiÓu nhÊt. TriÕt lý thiÕt kÕ nµy lµ hiÖu qu¶ cho phÐp chó ý tíi c¸ch  
liªn kÕt nh©n h¬n lµ cÊu tróc nh©n. H×nh 1.4 thÓ hiÖn c¸c kh¸i niÖm m«®un hãa vµ cÊu  
tróc hãa víi mét sè thµnh phÇn trong mçi møc cña phÇn mÒm hÖ thèng.  
CÊu tróc H§H ®îc n©ng cao theo m« h×nh Client/Server. M« h×nh Client/Server lµ  
mét m« h×nh lËp tr×nh khu«n mÉu. Theo m« h×nh nµy, lêi gäi hÖ thèng tõ c¸c ch¬ng  
tr×nh øng dông yªu cÇu c¸c dÞch vô H§H gièng nhyªu cÇu QT kh¸ch trùc tiÕp tíi QT  
phôc vô. Chóng ®îc thi hµnh gi¸n tiÕp th«ng qua nh©n H§H. Lêi gäi hÖ thèng chia xÎ  
mét lèi vµo nhÊt qu¸n tíi hÖ thèng. C¬ chÕ nµy lµm ®¬n gi¶n hãa t¬ng t¸c tíi H§H vµ  
cho phÐp ngêi thiÕt kÕ hÖ thèng chuyÓn thªm nhiÒu dÞch vô hÖ thèng tíi møc cao h¬n  
(trong nhiÒu trêng hîp tíi kh«ng gian QT ngêi dïng) vµ kÕt qu¶ ®îc nh©n nhá h¬n  
vµ dÔ qu¶n lý h¬n. M« h×nh Client/Server lµ c¸ch tù nhiªn m« t¶ c¸c t¬ng t¸c gi÷a c¸c  
QT trong hÖ ph©n t¸n trong khi chuyÓn th«ng ®iÖp (mét kh¸i niÖm quan träng) chØ cã  
nghÜa chuyÓn vËn d÷ liÖu trong c¸c thùc thÓ truyÒn th«ng.  
Sù ph©n biÖt gi÷a ch¬ng tr×nh øng dông víi ch¬ng tr×nh hÖ thèng thêng m¬ hå.  
Ch¬ng tr×nh trong nh©n vµ dÞch vô hÖ thèng lµ phÇn mÒm hÖ thèng (xem h×nh 1.4).  
Tuy nhiªn, theo mét quan niÖm kh¸c (nh®· ®îc tr×nh bµy trong h×nh 1.3), ch¬ng  
tr×nh hÖ thèng cßn bao gåm c¶ tr×nh biªn dÞch, tr×nh so¹n th¶o hÖ thèng, tr×nh th«ng  
dÞch [3]. ChÝnh bëi lý do ®ã mµ ngêi viÕt tr×nh biªn dÞch còng tù coi hä lµ nh÷ng  
ngêi lËp tr×nh hÖ thèng. Tuy nhiªn, tr×nh biªn dÞch theo quan ®iÓm cña H§H ®îc  
xem lµ mét øng dông. MÆt kh¸c, phÇn mÒm c¬ së d÷ liÖu lµ mét øng dông ®èi víi tr×nh  
biªn dÞch hoÆc mét ng«n ng÷, ®Õn lît m×nh nã l¹i lµ ch¬ng tr×nh hÖ thèng ®èi víi  
C¸c øng dông  
øng dông 1  
øng dông 1  
øngdông...  
TÝnh më réng  
API  
C¸c dÞch vô hÖ thèng  
SPI (hoÆc HAL)  
TÝnh dÔ chuyÓn  
NÒn  
M· m¸y 1  
M· m¸y 2  
M· m¸y ...  
H×nh 1.5. C¸c møc API vµ SPI  
- 10-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
ngêi dïng. KiÕn tróc nµy cã thÓ ph¸t triÓn thªm mét vµi møc. Ngêi dïng nh×n hÖ  
thèng qua mét hÖ thèng con ®îc ®Æc trng b»ng c¸c dÞch vô cung cÊp cho hä. Mèi  
quan hÖ gi÷a ch¬ng tr×nh hÖ thèng vµ ch¬ng tr×nh øng dông lµ gÇn gòi.  
1.2.2. HÖ thèng con vµ vi nh©n  
Nh©n tèi thiÓu v¹n n¨ng mµ dùa trªn nã, c¸c dÞch vô H§H chuÈn ®îc thi hµnh nh»m  
hç trî c¸c hÖ thèng con híng øng dông ®îc gäi lµ vi nh©n. KiÕn tróc vi nh©n bao  
gåm mét nh©n tèi thiÓu phô thuéc nÒn phÇn cøng vµ mét tËp c¸c thi hµnh ®éc lËp phÇn  
cøng (dÞch vô hÖ thèng) b»ng Bé giao diÖn tr×nh øng dông (API: Application Program  
Interface) hoµn toµn x¸c ®Þnh. §iÒu ý nghÜa cña kh¸i niÖm vi nh©n ë chç nã cung cÊp  
mét m«i trêng chøa c¸c ®iÒu kiÖn cÇn vµ ®ñ ®Ó cÊu tróc H§H hoÆc hÖ thèng con ®¸p  
øng nhu cÇu bÊt kú víi Ýt c«ng søc nhÊt. Nh©n, mÆc dï phô thuéc phÇn cøng, nhng  
®îc cÊu tróc víi ®é trõu tîng phÇn cøng ®Ó dÔ dµng ®îc ghi l¹i m· m¸y khi ®îc  
mang chuyÓn tíi mét nÒn kh¸c. CÊu tróc bæ sung nµy ®îc gäi lµ Møc trõu tîng phÇn  
cøng (HAL: Hardware Abstraction Layer) hoÆc Giao diÖn cung cÊp dÞch vô (SPI:  
Service Provider Interface) khi ®îc sö dông trong m« ®un phÇn mÒm møc trªn. Nh−  
tr×nh bµy t¹i h×nh 1.5 th× API cung cÊp tÝnh më réng cho c¸c øng dông møc cao cßn  
SPI (hoÆc HAL) ®Ò cao tÝnh kh¶ chuyÓn cho nÒn t¶ng møc thÊp.  
Kh¸ch OS/2  
Kh¸ch Win  
Kh¸ch POSIX  
Mode  
ngêi  
dïng  
HÖ thèng con  
OS/2  
HÖ thèng con  
POSIX  
HÖ thèng con  
Win 32  
Mode nh©n  
API dÞch vô hÖ thèng  
Lêi gäi  
qu¸ tr×nh thñ tôc  
côc bé  
C¸c  
chÊp  
hµnh  
Qu¶n lý  
Gi¸m s¸t Qu¶n lý  
Qu¶n lý  
Qu¶n lý  
®èi tîng an toµn  
bé nhí ¶o vµo ra  
Nh©n víi sù trõu tîng phÇn cøng  
NÒn phÇn cøng  
H×nh 1.6. KiÕn tróc hÖ thèng Windows NT  
C¸c dÞch vô hÖ thèng lµ ®ång h¹ng m«®un vµ ®Çy ®ñ v× vËy chóng ®îc dïng nhmét  
c¬ chÕ ®Ó hç trî líp réng lín c¸c øng dông. Ngêi thiÕt kÕ phÇn mÒm chØ cÇn biÕt c¸c  
giao diÖn chuÈn tíi c¸c m«®un dÞch vô thi hµnh vµ cã thÓ chän mét tËp con cña chóng  
theo ®ßi hái. KiÕn tróc nhvËy rÊt thuyÕt phôc v× tÝnh m«®un hãa, dÔ mang chuyÓn vµ  
kh¶ n¨ng tiÕp thÞ (m«®un thi hµnh cã thÓ thuéc b¶n quyÒn cña nhµ cung cÊp hÖ thèng  
kh¸c). Ngµnh c«ng nghiÖp ®· cã mét vµi cè g¾ng híng tíi mét kiÕn tróc vi nh©n  
chung, ®¸ng kÓ nhÊt lµ Microkernel cña IBM vµ Windows NT cña Microsoft.  
Windows NT ®îc tr×nh bµy trong h×nh 1.6 nhmét vÝ dô cña kiÕn tróc vi nh©n, trong  
kiÕn tróc nµy mçi kh¸ch thÊy m¸y tÝnh theo mét m«i trêng tÝnh to¸n kh¸c nhau (OS/2,  
Win32, POSIX) ®îc biÓu diÔn bëi API trong hÖ thèng con. Mçi hÖ thèng con cã  
kh«ng gian ®Þa chØ l«gic riªng cña m×nh, cã thÓ ®îc c« lËp vµ b¶o vÖ ®èi víi c¸c hÖ  
thèng con kh¸c. Lêi gäi hÖ thèng con dùa trªn API dÞch vô hÖ thèng vµ nhvËy ®îc  
thi hµnh mét c¸ch ®éc lËp víi viÖc thùc hiÖn t¹i møc nh©n vµ møc phÇn cøng. Nhmét  
- 11-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
chän lùa, hÖ thèng con cã thÓ t¬ng t¸c gi¸n tiÕp víi dÞch vô hÖ thèng qua hÖ thèng  
con Win32, hÖ nµy hç trî ph¬ng tiÖn lËp tr×nh window. KiÕn tróc t¹i h×nh vÏ ®¹t ®îc  
mäi kh¸i niÖm kiÕn tróc hÖ thèng nh®· th¶o luËn: m«®un hãa, ph©n møc, m« h×nh  
Client/Server, m« h×nh ®èi tîng, vµ nh©n tèi thiÓu. HÇu hÕt c¸c H§H hÖn ®¹i theo  
®uæi triÕt lý thiÕt kÕ nhvËy víi mét vµi kh¸c biÖt nhá khi thi hµnh.  
1.2.3. C¸c chøc n¨ng qu¶n trÞ  
H§H cã chøc n¨ng qu¶n trÞ tµi nguyªn. Mçi tµi nguyªn trong hÖ thèng m¸y tÝnh nãi  
chung thuéc vµo mét trong bèn líp: Bé xö lý/qu¸ tr×nh, bé nhí, I/O vµ d÷ liÖu/file. M«  
t¶ mét c¸ch tãm t¾t c¸c vÊn ®Ò c¬ së cña H§H truyÒn thèng. Tãm t¾t nµy nhlµ nh÷ng  
th«ng tin nÒn t¶ng cho th¶o luËn H§H m¹ng, H§H ph©n t¸n vµ hÖ tù trÞ céng t¸c.  
Qu¶n trÞ Bé xö lý/Qu¸ tr×nh ë møc hÖ thèng thÊp nhÊt lµ cung cÊp ¸nh x¹ (lËp lÞch:  
scheduling) c¸c bé xö lý tíi c¸c QT, hoÆc ngîc l¹i. §Ó thuËn tiÖn cho viÖc më réng ®a  
ngêi dïng vµ ®a bµi to¸n (®a nhiÖm), cÇn tíi tÝnh ®a thµnh phÇn-kh«ng gian bé nhí  
(n¬i ®Æt QT) vµ tÝnh ®a thµnh phÇn-thêi gian c¸c bé xö lý (n¬i QT thùc hiÖn). Thi hµnh  
tÝnh ®a thµnh phÇn nhvËy th«ng qua tÝnh ®a ch¬ng tr×nh vµ ph©n chia thêi gian ®îc  
c¬ chÕ kiÓm so¸t ng¾t ®Çy ®ñ hç trî. T¹i møc cao, viÖc thi hµnh lµ trong suèt tíi c¸c  
QT thùc hiÖn ®ång thêi. Ngêi dïng chØ quan t©m tíi viÖc phèi hîp t¬ng t¸c c¸c QT  
®ång thêi. C¸c t¬ng t¸c ®ßi hái §BQT vµ TTLQT. Trong h¬n hai chôc n¨m trë l¹i  
®©y, hµng lo¹t ph¬ng ph¸p §BQT ®îc ®Ò xuÊt nh»m gi¶i quyÕt bµi to¸n ®ång bé nhê  
lo¹i trõ rµng buéc vµ kÕt hîp tr¹ng th¸i.  
HÇu hÕt c¸c tiÕp cËn c¬ së dïng lêi gäi hÖ thèng ®Æc biÖt thao t¸c trªn c¸c biÕn kiÓu d÷  
liÖu semaphore. Do ®îc hÖ thèng hç trî kh¶ n¨ng kÕt khèi QT, c¸c thao t¸c nguyªn tö  
trªn semaphore (yªu cÇu tµi nguyªn P(s) / gi¶i phãng tµi nguyªn V(s)) cho phÐp phèi  
hîp c¸c QT t¬ng t¸c. C¸c tiÕp cËn kh¸c (kh«ng dïng semaphore) g¾n n¨ng lùc ®ång  
bé vµo ng«n ng÷ lËp tr×nh nhê hoÆc lµ biÕn d¹ng cÊu tróc ®iÒu khiÓn (ch¼ng h¹n,  
kho¶ng tíi h¹n cã ®iÒu kiÖn - Condition Critical Region, ghi t¾t CCR. Kh¸i niÖm c¬ së  
kho¶ng tíi h¹n - Critical Region, ghi t¾t lµ CR) hoÆc lµ bæ sung kiÓu d÷ liÖu trõu  
tîng míi (ch¼ng h¹n, bé gi¸m s¸t - monitor). Ngoµi ra, mét c¸ch thøc §BQT kh¸c  
dùa theo c¸ch lÖnh vµo-ra, ch¼ng h¹n Bé c¸c qu¸ tr×nh tuÇn tù truyÒn th«ng  
(Communicating Sequential Processes: CSP). §©y lµ c¸ch tiÕp cËn tæng qu¸t h¬n theo  
kiÓu lêi gäi thñ tôc vµ dÉn d¾t ®iÓm hÑn (rendezvous) trong ng«n ng÷ lËp tr×nh Ada.  
TiÕn thªm mét bíc míi, cho phÐp ®Æc t¶ d·y c¸c ®iÒu khiÓn thùc hiÖn ®ång thêi trong  
mét ch¬ng tr×nh mµ kh«ng cÇn dïng c¸c nguyªn thñy ®ång bé mét c¸ch têng minh,  
nh®îc thi hµnh trong biÓu thøc ®êng ®i (Path Expression: PE). Ngêi ta chØ ra  
r»ng, mäi tiÕp cËn ®îc ®Ò xuÊt cho bµi to¸n ®ång bé cã thÓ ®îc thi hµnh víi sù tháa  
hiÖp gi÷a hiÖu qu¶ vµ n¨ng lùc diÔn t¶ lêi gi¶i bµi to¸n. C¸c ph¬ng ph¸p ®ång bé  
truyÒn thèng sÏ ®îc m« t¶ s¬ lîc t¹i ch¬ng 3).  
C¸c ph¬ng tiÖn TTLQT ®îc ph¸t triÓn song hµnh víi §BQT. Trong H§H tËp trung,  
TTLQT xuyªn qua chia xÎ bé nhí dêng nhlµ gi¶i ph¸p dÔ dµng. Tuy nhiªn, chia xÎ  
bé nhí vi ph¹m gi¶ thiÕt c¬ b¶n lµ c¸c QT kh«ng ®ång bé vµ nh×n chung lµ kh«ng chia  
xÎ kh«ng gian ®Þa chØ chung. Lùa chän cßn l¹i lµ truyÒn th«ng th«ng qua chuyÓn th«ng  
®iÖp (ghi t¾t CT§, message passing). u ®iÓm cña CT§ do nã lµ mét phÇn b¶n chÊt  
cña hÖ ph©n t¸n vµ nhvËy cã thÓ ®a viÖc ph¸t triÓn H§H tËp trung thÝch hîp víi viÖc  
ph¸t triÓn hÖ ph©n t¸n.  
§iÒu rÊt cã gi¸ trÞ chÝnh lµ mèi quan hÖ th©n thiÕt gi÷a §BQT vµ truyÒn th«ng QT  
(TTQT). TTQT ®ßi hái mét sè gi¶ thiÕt nÒn t¶ng tõ §BQT, ch¼ng h¹n nh®ång bé göi  
vµ nhËn d÷ liÖu. Víi c¸c dÞch vô nguyªn thñy cña truyÒn th«ng QT, cÊu tróc ®ång bé  
møc cao cã thÓ ®îc thi hµnh chØ dùa trªn c¸c TTQT nguyªn thñy. Khëi ®Çu tõ nguyªn  
- 12-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
thñy ®ång bé vµ truyÒn th«ng còng dÉn ®Õn viÖc ph¸t triÓn ng«n ng÷ ®ång thêi: c¸c  
ng«n ng÷ cho phÐp ®Æc t¶ ®îc QT ®ång thêi, ®ång bé vµ TTLQT. Ng«n ng÷ ®ång thêi  
vµ ®ång bé/truyÒn th«ng trong hÖ ph©n t¸n ®îc bµn luËn t¬ng øng trong ch¬ng 3 vµ  
ch¬ng 4.  
Cïng víi §BQT vµ TTQT, qu¶n trÞ QT cßn cã chøc n¨ng lËp lÞch. Qu¸ tr×nh ®ang s½n  
sµng (ready) hoÆc ë dßng xÕp hµng (waiting sequence) cÇn ®îc lËp lÞch l¹i ®Ó thùc  
hiÖn khi tµi nguyªn ®· s½n sµng hoÆc ®iÒu kiÖn nµo ®ã ®îc tháa m·n. RÊt nhiÒu chiÕn  
lîc ®îc dïng nh»m ®¹t ®îc hµm môc tiªu, ch¼ng h¹n tèi thiÓu thêi gian chuyÓn lÞch  
hoÆc tèi ®a th«ng lîng hÖ thèng (system throughput). LËp lÞch bµi to¸n (task, hoÆc  
qu¸ tr×nh - process) cho m¸y ®¬n-®a xö lý lµ mét vÊn ®Ò nghiªn cøu thao t¸c cæ ®iÓn.  
øng dông lËp lÞch bµi to¸n vµo hÖ ph©n t¸n lµ phøc t¹p do tån t¹i ®a m¸y tÝnh vµ tæng  
phÝ (overhead) truyÒn th«ng buéc ph¶i tÝnh ®Õn trong lËp lÞch. Tån t¹i hai kiÓu lËp lÞch:  
LËp lÞch QT tÜnh dùa trªn m« h×nh quan hÖ ®i tríc vµ chia xÎ t¶i ®éng qu¸ tr×nh dùa  
trªn m« h×nh quan hÖ phô thuéc qu¸ tr×nh. Quan hÖ ®i tríc biÓu diÔn c¸c QT buéc  
ph¶i ®ång bé nhthÕ nµo, trong khi ®ã quan hÖ phô thuéc chØ cho biÕt dÊu hiÖu t¬ng  
t¸c gi÷a c¸c QT. Hai kiÓu lËp lÞch nµy biÓu diÔn ®é hiÓu biÕt kh¸c nhau vÒ mèi t¬ng  
t¸c gi÷a c¸c QT trong ®ång bé vµ truyÒn th«ng. LËp lÞch tÜnh, chia xÎ ®éng vµ c©n  
b»ng t¶i ®îc tr×nh bµy trong ch¬ng 5.  
Qu¶n trÞ thiÕt bÞ vµo - ra lµ tr¸ch nhiÖm chÆt chÏ cña hÖ thèng c¸c thiÕt bÞ g¾n kÕt vËt  
lý. Nh»m gi¶m bít ®é phøc t¹p khi thiÕt kÕ hÖ thèng theo tÝnh phô thuéc m¸y, kiÕn  
tróc hÖ thèng cña bé xö lý thêng ®îc t¸ch hoµn toµn khái tÝnh chi tiÕt thiÕt bÞ vµo-ra.  
Bé xö lý cung cÊp mét giao diÖn chung tíi tÊt c¶ thiÕt bÞ vµ c¨n cø theo giao diÖn  
chung ®ã, nhµ chÕ t¹o thiÕt bÞ vµo-ra ph¸t triÓn thiÕt bi ®iÒu khiÓn thiÕt bÞ vµo-ra vµ  
tr×nh ®iÒu khiÓn phÇn mÒm ®Ó tÝch hîp vµo hÖ thèng. Theo híng trõu tîng, c¸c thiÕt  
bÞ vµo-ra chØ lµ bé ghi nhí: Mét sè cho phÐp ®äc vµ ghi (ch¼ng h¹n, ®Üa tõ), mét sè  
kh¸c chØ cho phÐp ®äc (ch¼ng h¹n, bµn phÝm) vµ mét sè kh¸c n÷a chØ cho phÐp ghi  
(ch¼ng h¹n, m¸y in). Theo quan ®iÓm cña H§H, thÝch hîp nhÊt coi tÊt c¶ thiÕt bÞ vµo-  
ra lµ file l«gic. File l«gic biÓu diÔn thiÕt bÞ vËt lý ®îc gäi lµ thiÕt bÞ ¶o. C¸c QT chØ  
thao t¸c trªn c¸c file vµ hÖ thèng chÞu tr¸ch nhiÖm diÔn gi¶i file nµy tíi thiÕt bÞ vËt lý.  
Ngêi ta sö dông mét sè kü thuËt nh»m t¨ng tèc thao t¸c vµo-ra, ®¸ng kÓ nhÊt lµ hai  
kh¸i niÖm spooling buffering. Spooling (nh®· ®îc giíi thiÖu t¹i trang 10) lµm  
thuËn tiÖn chia xÎ c¸c thiÕt bÞ vµo - ra, cßn buffer (bé ®Öm) c¨n b¶n ®îc dïng ®Ó dµn  
xÕp sù kh¸c nhau vÒ tèc ®é lµm viÖc gi÷a thiÕt bÞ vµo-ra chËm vµ bé xö lý nhanh.  
Buffer cã thÓ ®îc thi hµnh ë nhiÒu møc phÇn mÒm kh¸c nhau, ch¼ng h¹n nhhÖ  
thèng file, tr×nh ®iÒu khiÓn thiÕt bÞ, vµ trong mét sè trêng hîp ë ngay trong thiÕt bÞ  
®iÒu khiÓn vµo-ra. Hai thiÕt bÞ vµo - ra quan träng nhÊt lµ æ ®Üa vµ tr¹m cuèi. §Üa tèc ®é  
cao vµ dung lîng réng (vµi tr¨m gigabytes) lµ rÊt th«ng dông. §Üa dung lîng cao  
®ãng vai trß ®¸ng kÓ trong viÖc thiÕt kÕ phÇn mÒm lín. Tr¹m cuèi b¶n ®å - bé nhí t¹o  
nªn sù thi hµnh viÖc hç trî c¸c cöa sæ (windows) t¹i tr¹m cuèi. Cöa sæ ®îc khëi hµnh  
nhmét bµn giao tiÕp ¶o (virtual console) ®¬n gi¶n. Víi c¸c chøc n¨ng bæ sung nh−  
mét giao diÖn ngêi dïng ®å häa vµ c¸c cöa sæ ®a t¬ng t¸c, windows ®îc tiÕn hãa  
thµnh giao diÖn ®ang ph¸t triÓn mét c¸ch th¨ng hoa ®èi víi hÖ thèng con vµ sÏ trë  
thµnh mét m¸y tÝnh ¶o nhtrêng hîp H§H Windows 95.  
Mét vÊn ®Ò ®¸ng quan t©m liªn quan tíi qu¶n trÞ vµo-ra lµ bÕ t¾c (deadlock). BÕ t¾c n¶y  
sinh trong hÖ thèng do ®Þnh vÞ sai tµi nguyªn khi cã mét tËp QT kh«ng u tiªn  
(nonpreemptable) mµ mçi tõ chóng gi÷ tµi nguyªn l¹i ®ßi hái tµi nguyªn tõ QT trong  
tËp ®ã, t¹o ra mét chu tr×nh x©u QT kh«ng thÓ th¸o rêi. "Tµi nguyªn" cã thÓ lµ thiÕt bÞ  
vËt lý vµ (chung h¬n) lµ c¸c buffer vµ c¸c ®iÒu kiÖn. ViÖc phßng ngõa, tho¸t ra, vµ ph¸t  
- 13-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
hiÖn bÕ t¾c ®· ®îc nghiªn cøu réng r·i. Tuy nhiªn, ph¸t hiÖn vµ gi¶i quyÕt bÕ t¾c ph©n  
t¸n hiÖn vÉn ®ang lµ vÊn ®Ò më.  
Qu¶n lý bé nhí bao gåm viÖc ph©n phèi - ph©n phèi l¹i bé nhí vµ ¸nh x¹ kh«ng gian  
ch¬ng tr×nh l«gic vµo bé nhí vËt lý. Môc tiªu c¨n b¶n lµ b¶o ®¶m tËn dông cao bé  
nhí vµ cung cÊp bé nhí ¶o hç trî ch¬ng tr×nh lín, ®Æc biÖt lµ c¸c ch¬ng tr×nh cã  
kÝch thíc vît kÝch thíc bé nhí vËt lý. HÇu hÕt hÖ thèng m¸y tÝnh hiÖn nay ®Òu sö  
dông c¸c kü thuËt ®iÒu khiÓn trang (paging)/ ®iÒu khiÓn segment (segmentation) khi  
thi hµnh bé nhí ¶o. Thi hµnh bé nhí ¶o ®ßi hái phÇn cøng bæ sung, thêng ®îc gäi lµ  
®¬n vÞ qu¶n lý bé nhí (memory managment unit). C¶ trang vµ segment ®Òu lµ c¸c c¬  
chÕ ph©n phèi bé nhí rêi r¹c. Sù kh¸c nhau chÝnh gi÷a hai c¬ chÕ nµy ph©n ch¬ng  
tr×nh theo trang vËt lý vµ theo segment logic. H§H hiÖn ®¹i thi hµnh bé nhí ¶o theo c¬  
chÕ tæ hîp hai c¬ chÕ nµy. Do kh«ng ph¶i tÊt c¶ c¸c trang vµ segment ®ång thêi n»m  
trong bé nhí trong, nªn cÇn ®iÒu tiÕt nh÷ng chØ dÉn tíi d÷ liÖu vµ chØ thÞ (lÖnh) míi khi  
thùc hiÖn mét ch¬ng tr×nh. NhiÒu thuËt to¸n thay trang ®îc ®Ò xuÊt nh»m rót gän tÇn  
sè lçi trang. HiÖu suÊt cña chiÕn lîc thay trang phô thuéc m¹nh vµo c¸ch thùc hiÖn  
ch¬ng tr×nh t¹i kho¶ng thêi gian ®· cho bÊt kú. §Þnh híng kh«ng gian vµ thêi gian  
®îc m« t¶ tæng qu¸t trong ch¬ng tr×nh cã ¶nh hëng ®¸ng kÓ khi chän thuËt to¸n  
thay trang.  
Bé nhí ¶o lµ gi¶i ph¸p nh»m gi¶i quyÕt sù kh¸c nhau vÒ kÝch thíc vµ tèc ®é gi÷a bé  
nhí ®Üa chËm t¬ng ®èi vµ bé nhí vËt lý nhanh h¬n. Tån t¹i vÊn ®Ò t¬ng tù khi bé  
nhí tèc ®é cao (cache) ®îc dïng nhbé ®Öm gi÷a bé xö lý vµ bé nhí chÝnh. Qu¸  
tr×nh buffer nµy chØ ®ßi hái ph¶i ¸nh x¹ ®Þa chØ vËt lý (®îc gäi lµ caching) mµ th«ng  
thêng ®îc quan t©m theo híng kiÕn tróc h¬n lµ vÊn ®Ò cña H§H. Chän lùa thuËt  
to¸n thay trang, ¶nh hëng cña cì trang vµ segment, ¶nh hëng cña ph©n phèi bé nhí,  
caching vµ liªn kÕt cache lµ mét sè vÊn ®Ò cña qu¶n trÞ bé nhí.  
Trong H§H tËp trung, bé nhí chia xÎ cho gi¸ trÞ lµ tÝnh ®¬n gi¶n ®èi víi truyÒn th«ng  
vµ t¬ng t¸c QT. NhiÒu thuËt to¸n ®îc ph¸t triÓn cho bé nhí chia xÎ. Trong m«i  
trêng ph©n t¸n, hy väng m« pháng ®îc hÖ thèng bé nhí chia xÎ trong khi kh«ng cã  
bé nhí vËt lý chia xÎ. Kh¸i niÖm bé nhí ph©n t¸n nµy ®a ra mét sè c©u hái vÒ tÝnh  
nhÊt qu¸n vµ hiÖu n¨ng cña chia xÎ d÷ liÖu lµ t¬ng tù nhchia xÎ file trong hÖ thèng  
file ph©n t¸n. Ch¬ng 6 tr×nh bµy vÒ hÖ thèng file ph©n t¸n.  
Cuèi cïng, song kh«ng kÐm quan träng, lµ qu¶n trÞ file trong H§H. File lµ mét thùc  
thÓ d÷ liÖu l«gic ®îc thi hµnh trªn c¸c thiÕt bÞ nhí, bao gåm ®Üa, bé nhí, vµ thËm chÝ  
c¶ thiÕt bÞ vµo-ra. Theo nghÜa trõu tîng nhÊt, mäi tÝnh to¸n ®îc xem nhc¸c qu¸  
tr×nh thao t¸c víi file. NÕu bá ®i hai thuËt ng÷ c¬ b¶n lµ qu¸ tr×nh vµ file, th× kh«ng cßn  
cã g× nghiªn cøu vÒ H§H. Do chóng ta chØ gi¶i quyÕt víi qu¸ tr×nh vµ file, mäi chñ ®Ò  
tiÕp theo ®Òu liªn quan ®Õn chóng. Chóng ta kh«ng bµn luËn nhiÒu vÒ qu¶n trÞ vµo - ra  
vµ qu¶n trÞ bé nhí v× ®iÒu ®ã chØ thÝch hîp trong H§H tËp trung.  
File cÇn ®îc cÊu tróc vµ thi hµnh tríc khi ®îc thao t¸c. Mçi khi mét cÊu tróc file  
chung vµ thi hµnh cña chóng ®îc quyÕt ®Þnh th× c¸c chøc n¨ng c¬ së ®Ó qu¶n trÞ file lµ  
truy nhËp file (file acces) vµ chia xÎ file. Thªm n÷a v× môc tiªu hiÖu qu¶, truy nhËp file  
®ßi hái c¬ chÕ ®iÒu khiÓn b¶o vÖ (protection) vµ an toµn, vµ chia xÎ file ®ång bé hoÆc  
®iÒu khiÓn ®ång thêi. Kh¸c víi qu¶n trÞ bé nhí vµ qu¶n trÞ vµo-ra, file ®îc ph©n t¸n vµ  
nh©n b¶n trªn m¹ng hoÆc m«i trêng ph©n t¸n. An toµn vµ ®iÒu khiÓn ®ång thêi file ®Ó  
thao t¸c file trë thµnh nh÷ng vÊn ®Ò thiÕt thùc h¬n trong thiÕt kÕ H§H ph©n t¸n so víi  
H§H tËp trung. øng dông caching trong truy nhËp file còng phøc t¹p h¬n, do thùc tÕ  
file ®îc cache trªn nhiÒu m¸y. Mét sè ch¬ng, ®o¹n tiÕp th¶o luËn vÒ thi hµnh vµ ®iÒu  
khiÓn hÖ thèng file ph©n t¸n.  
- 14-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
1.3. S¬ lîc vÒ hÖ ®iÒu hµnh m¹ng  
HiÖn nay, m¸y tÝnh kh«ng ®îc dïng mét c¸ch riªng lÎ vµ nhiÒu m¸y tÝnh ®îc kÕt nèi  
thµnh mét hÖ thèng tÝnh to¸n chung; mçi m¸y tÝnh ®¶m nhËn mét chøc n¨ng bé phËn  
vµ toµn bé hÖ thèng tÝnh to¸n chung ®ã cã n¨ng lùc h¬n h¼n viÖc sö dông riªng lÎ.  
Theo tiÕn tr×nh ®ã c¸c lo¹i H§H m¹ng, H§H ph©n t¸n vµ H§H tù trÞ céng t¸c xuÊt  
hiÖn (h×nh 1.3). So víi H§H tËp trung, kÕt nèi phÇn cøng vµ phÇn mÒm trong hÖ thèng  
m¸y tÝnh trë nªn mÒm dÎo h¬n, trong mét sè trêng hîp (nhH§H m¹ng) kÕt nèi ®ã  
lµ láng lÎo.  
H§H m¹ng cho phÐp liªn kÕt nhiÒu m¸y tÝnh theo c¸ch kh«ng thùc sù chÆt chÏ: kh«ng  
cã sù ®iÒu khiÓn phÇn cøng hoÆc phÇn mÒm trùc tiÕp tõ mét tr¹m lµm viÖc  
(workstation) tíi nh÷ng tr¹m lµm viÖc kh¸c tån t¹i trong hÖ thèng, vµ tæng phÝ truyÒn  
th«ng gi÷a c¸c tr¹m cuèi (®o theo thêi gian) lµ lín h¬n rÊt nhiÒu so víi chuyÓn giao  
th«ng tin néi t¹i trong mçi tr¹m cuèi. Môc tiªu c¨n b¶n cña H§H m¹ng lµ chia xÎ tµi  
nguyªn (bao gåm ch¬ng tr×nh vµ d÷ liÖu) trong m¹ng. T¬ng t¸c duy nhÊt trong hÖ  
thèng lµ trao ®æi th«ng tin gi÷a c¸c tr¹m th«ng qua mét vµi d¹ng kªnh truyÒn th«ng  
ngoµi. §Æc trng duy nhÊt, liªn thao t¸c (interoperability) lµ tÝnh chÊt mong muèn  
trong hÖ thèng m¸y tÝnh m¹ng. Liªn thao t¸c cung cÊp tÝnh linh ho¹t trong trao ®æi  
th«ng tin däc theo c¸c tr¹m trong m¹ng m¸y tÝnh hçn t¹p, ®©y ®îc gäi lµ tÝnh liªn t¸c  
®éng. Liªn thao t¸c ®îc biÓu thÞ bëi c¸c giao thøc truyÒn th«ng chuÈn vµ giao diÖn  
chung nh»m chia xÎ CSDL vµ hÖ thèng File. VÝ dô vÒ c¬ chÕ hç trî liªn thao t¸c lµ giao  
thøc truyÒn th«ng chuÈn vµ giao diÖn chung tíi c¸c CSDL (data base) hoÆc hÖ thèng  
file.  
Chøc n¨ng trao ®æi th«ng tin ®îc ph©n chia vµ thi hµnh theo cÊu tróc møc. T¹i møc  
phÇn cøng, m¹ng con truyÒn th«ng chÞu tr¸ch nhiÖm thi hµnh trao ®æi th«ng tin. Cao  
h¬n, H§H cung cÊp dÞch vô giao vËn (transport service) d÷ liÖu vµ ngêi dïng sö dông  
c¸c giao thøc truyÒn th«ng qu¸ tr×nh ®iÓm - ®iÓm (peer to peer) híng øng dông. C¸c  
møc cã thÓ mÞn h¬n nhkiÕn tróc b¶y møc OSI cña ISO.  
H§H m¹ng cã thÓ ®îc coi lµ më réng trùc tiÕp H§H truyÒn thèng, ®îc thiÕt kÕ  
nh»m lµm thuËn tiÖn chia xÎ tµi nguyªn vµ trao ®æi th«ng tin. Do ®ã, thuËn tiÖn m« t¶  
H§H m¹ng th«ng qua minh häa c¸c øng dông m¹ng chung cña nã vµ c¸c dÞch vô giao  
vËn cÇn cã ®Ó hç trî c¸c øng dông nµy. DÞch vô giao vËn phôc vô nhmét giao diÖn  
®øng gi÷a QT øng dông m¹ng vµ m¹ng truyÒn th«ng vËt lý, vµ nã thi hµnh giao thøc  
truyÒn th«ng gi÷a hai hÖ ®iÒu hµnh ®iÓm. H×nh 1.6 cho thÊy sù tÝch hîp c¸c dÞch vô  
giao vËn trong H§H ®èi víi QT øng dông truy nhËp hÖ thèng file tõ xa. VÝ dô nµy  
®îc m« h×nh hãa theo HÖ thèng file m¹ng (Network File System: NFS) cña Sun. Truy  
nhËp file tõ xa dùa trªn hÖ thèng file m¹ng truyÒn th«ng vµ ®îc chuyÓn dÞch bëi hÖ  
thèng m¹ng thµnh c¸c giao vËn d÷ liÖu gi÷a c¸c dÞch vô ®iÓm.  
HÇu hÕt c¸c H§H m¹ng dïng API møc cao ch¼ng h¹n nhsocket vµ lêi gäi thñ tôc tõ  
xa (Remote Procedure Call: RPC) ®èi víi dÞch vô giao vËn nh»m hç trî truyÒn th«ng  
gi÷a c¸c H§H trong c¸c miÒn m¹ng kh¸c nhau. H§H m¹ng ®îc ®Æc trng bëi tËp  
gåm mét møc giao vËn vµ hç trî øng dông m¹ng ch¹y trªn dÞch vô giao vËn. C¸c líp  
øng dông m¹ng ®¸ng chó ý lµ ®¨ng nhËp tõ xa (remote login), chuyÓn file (file  
transfer), th«ng ®iÖp, duyÖt m¹ng (network browsing) vµ thùc hiÖn tõ xa (remote  
execution). Díi ®©y tr×nh bµy s¬ lîc vÒ chóng.  
- 15-  
Hµ Quang Thôy  
Qu¸ tr×nh (øng dông)  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
Qu¸ tr×nh (øng dông)  
C¸c  
giao  
thøc truyÒn  
th«ng ®iÓm  
DÞch vô file  
DÞch vô file  
HÖ thèng file HÖ thèng file  
HÖ thèng file HÖ thèng file  
®Þa ph¬ng  
Qu¶n trÞ  
thiÕt bÞ  
m¹ng  
DÞch vô  
giao vËn  
DÞch vô  
m¹ng  
®Þa ph¬ng  
Qu¶n trÞ  
thiÕt bÞ  
DÞch vô  
giao vËn  
DÞch vô  
m¹ng  
§iÒu khiÓn  
thiÕt bÞ  
§iÒu khiÓn  
NH¢N  
NH¢N  
m¹ng  
thiÕt bÞ  
PhÇn cøng ®Þa ph¬ng  
M¹ng truyÒn th«ng  
PhÇn cøng ®Þa ph¬ng  
H×nh 1.6. TÝch hîp dÞch vô giao vËn  
§¨ng nhËp tõ xa: lµ kh¶ n¨ng cho phÐp tr¹m riªng cña ngêi dïng thµnh mét tr¹m  
cuèi ®¨ng nhËp vµo mét tr¹m lµm viÖc tõ xa trong m¹ng, cho phÐp chia xÎ trùc tiÕp  
CPU vµ tµi nguyªn t¬ng øng cña nã. §Ó ®¨ng nhËp tõ xa input tõ bµn phÝm ®îc  
chuyÓn ®æi thµnh c¸c bã d÷ liÖu cña c¸c giao thøc truyÒn th«ng m¹ng. T¹i ®iÓm ®èi  
ngÉu ¸p dông tíi hiÓn thÞ output. §«i lóc hy väng m« pháng rÊt nhiÒu kiÓu tr¹m cuèi  
îc gäi lµ m« pháng tr¹m cuèi). NhvËy, viÖc dµn xÕp gi÷a c¸c tham sè tr¹m cuèi lµ  
cÇn thiÕt tríc khi kÕt nèi ®îc thiÕt lËp. DÞch vô víi më réng kÕt hîp nµy ®îc gäi lµ  
hç trî tr¹m cuèi ¶o. Mét øng dông m¹ng ®îc sö dông réng r·i víi më réng nhvËy lµ  
telnet, mét dÞch vô ®¨ng nhËp tõ xa ®îc thiÕt kÕ cho c¸c tr¹m cuèi kh«ng ®ång bé  
(asynchronous: dÞ bé). Trong UNIX, rlogin lµ dÞch vô t¬ng tù ngo¹i trõ nã kh«ng hç  
trî m« pháng tr¹m cuèi. Thªm vµo, rlogin gi¶ thiÕt r»ng host tõ xa trong cïng mét  
miÒn ®ång nhÊt, vµ viÖc x¸c minh mËt khÈu kh«ng ph¶i lµ mét lùa chän ngÇm ®Þnh.  
TruyÒn file: lµ n¨ng lùc truyÒn file hoÆc mang chuyÓn file däc theo c¸c tr¹m lµm viÖc  
kh¸c nhau trong mét hÖ thèng m¹ng. TruyÒn file kh«ng ®¬n thuÇn mét trao ®æi d÷ liÖu.  
File chøa d÷ liÑu, cÊu tróc file vµ c¶ c¸c thuéc tÝnh file. NhvËy, mét giao thøc truyÒn  
file (ch¼ng h¹n, fpt trong UNIX) b¾t buéc cung cÊp mét giao diÖn tíi c¸c hÖ thèng file  
®Þa ph¬ng vµ hç trî c¸c lÖnh t¬ng t¸c cña ngêi dïng. Th«ng tin vÒ thuéc tÝnh file,  
khu«n d¹ng d÷ liÖu, dßng d÷ liÖu, vµ ®iÒu khiÓn truy nhËp b¾t buéc ph¶i ®îc trao ®æi  
vµ cã gi¸ trÞ nhmét phÇn cña thao t¸c truyÒn file. Nh©n b¶n file tõ xa (rcp) trong  
UNIX lµ mét dÞch vô truyÒn file cã h¹n chÕ b»ng viÖc sao c¸c fioe gi÷a c¸c tr¹m lµm  
viÖc, khi gi¶ thiÕt r»ng cÊu tróc file UNIX lµ nhnhau trong miÒn m¹ng (tøc lµ H§H  
t¹i c¸c nót lµ ®ång nhÊt).  
HÖ thèng th«ng ®iÖp cho phÐp ngêi sö dông m¹ng göi vµ nhËn tµi liÖu hoÆc th«ng  
®iÖp mµ kh«ng cÇn t¹o ra mét kÕt nèi thêi gian thùc. Hai øng dông th«ng ®iÖp chÝnh lµ  
ChuyÓn ®æi d÷ liÖu ®iÖn tö (Electronic Data Interchange: EDI) ®ãi víi c¸c giao dÞch  
(transaction) kinh doanh vµ th®iÖn tö (e-mail). EDI lµ øng dông chuÈn mµ nguyªn t¾c  
chñ ®¹o lµ truyÒn th«ng tin kinh doanh. E-mail lµ th«ng ®iÖp cho phÐp trao ®æi th«ng  
®iÖp gi÷a c¸c ngêi dïng m¹ng. Kh¸c víi truyÒn File, hÖ thèng mail lµ kh«ng th«ng  
dÞch ngo¹i trõ nh÷ng th«ng ®iÖp chung ®îc g¾n vµo trong mail (hiÖn nay, ®iÒu nµy  
kh«ng hoµn toµn do mét sè hÖ thèng mail cã chøc n¨ng thùc hiÖn tõ xa). Thuéc tÝnh  
cÊu tróc vµ ®iÒu khiÓn truy nhËp cña d÷ liÖu mail kh«ng ®îc chó ý. §iÒu c¨n b¶n lµ  
n¾m gi÷ vµ truyÒn th«ng ®iÖp vµ giao diÖn ngêi dïng thao t¸c trªn th«ng ®iÖp mail.  
RÊt nhiÒu chuÈn, ch¼ng h¹n X.400 do CCITT (nay lµ, ITU-T) vµ Giao thøc truyÒn mail  
- 16-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
®¬n gi¶n (Simple Mail Transfer Protocol: SMTP) cña Bé quèc phßng Mü, ®· ®îc ®Ò  
xu¸t nh»m thi hµnh hÖ thèng mail m¹ng. NhiÒu hÖ thèng e-mail tinh vi ®· ®îc x©y  
dùng, ®Ó phôc vô nhbé chuyÓn ®æi cã n¨ng lùc truyÒn th«ng gi÷a c¸c hÖ thèng mail  
kh¸c nhau.  
DuyÖt m¹ng lµ dÞch vô th«ng tin ®Ó t×m kiÕm vµ tr×nh bµy c¸c tµi liÖu gi÷a c¸c site  
m¹ng thµnh viªn. Tr×nh duyÖt thêng ®îc thi hµnh nhlµ mét hÖ thèng Client/Server  
trong ®ã tr×nh duyÖt lµ kh¸ch truy nhËp ®èi tîng t¹i phôc vô file tõ xa. HÖ thèng ®îc  
sö dông réng r·i nhÊt hiÖn nay lµ WWW (World Wide Web). WWW lµ m« h×nh d÷  
liÖu ®Ó liªn kÕt c¸c tµi liÑu siªu ph¬ng tiÖn dïng c¸c chØ dÉn ®îc gäi lµ Bé ®Þnh vÞ  
tµi nguyªn thèng nhÊt (Universal Resource Locator: URL). Tµi liÖu ®îc hiÓn thÞ bëi  
tr×nh duyÖt thêng lµ siªu v¨n b¶n (hypertext) vµ cã thÓ chøa nhiÒu con trá tíi siªu v¨n  
b¶n kh¸c hoÆc siªu ph¬ng tiÖn kh¸c. Tr×nh duyÖt, ch¨ng h¹n Mosaic, truyÒn th«ng víi  
phôc vô WWW dïng giao thøc truyÒn siªu v¨n b¶n (HyperText Transport Protocol:  
HTTP). C¸c giao thøc kh¸c, ch¼ng h¹n ftp vµ telnet còng ®îc sö dông. Tµi liÖu ®a  
ph¬ng tiÖn ®iÓn h×nh ®îc cÊu tróc khi sö dông Ng«n ng÷ ®¸nh dÊu v¨n b¶n  
(HyperText Markup Language: HTML) vµ ®îc ph©n t¸n nhê dÞch vô Web. HiÖn cã  
nhiÒu hÖ thãng duyÖt kh¸c víi (c¬ së d÷ liÖu) tµi nguyªn ph©n t¸n lín. Vµo thêi ®iÓm  
1997, Netscape hÇu nhlµ hÖ thèng duyÖt phæ dông nhÊt víi hiÑu qu¶ bæ sung cña nã  
vµ sù më réng vÒ an toµn.  
Thùc hiÖn tõ xa lµ kh¶ n¨ng göi th«ng ®iÖp ®ßi hái sù thùc hiÖn mét ch¬ng tr×nh t¹i  
site tõ xa. Do c¸c ch¬ng tr×nh thùc hiÖn ®îc lµ phô thuéc m¸y vµ kh«ng thÓ ch¹y  
trªn m¸y tïy ý, sù thùc hiÖn tõ xa thêng ®îc lµm theo c¸ch th«ng dÞch (kh«ng lµ  
biªn dÞch) mét file script hoÆc m· liªn ph¬ng tiªn ®éc lËp m¸y ®îc th«ng ®iÖp ®a  
ra. Thùc hiÖn tõ xa lµ mét c«ng cô m¹ng rÊt m¹nh song nguy hiÓm. V× thÕ nã thêng  
®îc giíi h¹n tíi mét sè øng dông mµ sù h¹n chÕ cã thÓ kÐo theo viÖc ng¨n ngõa ®e  
do¹ vµ b¶o vÖ khái vi ph¹m.  
øng dông tèt cña thùc hiÖn tõ xa lµ chuyÓn vËn d÷ liÖu ®a ph¬ng tiÖn. File video vµ  
¶nh ®ßi hái khèi lîng lín b¨ng th«ng nÕu chóng ®îc truyÒn díi d¹ng dßng ®iÓm.  
Chóng còng ph¶i gÆp bµi to¸n vÒ tÝnh kh«ng t¬ng thÝch trong hiÓn thÞ output. Mét sè  
ng«n ng÷ liªn ph¬ng tiÖn phæ dông cã thÓ ®îc dïng ®Ó ®Æc t¶ d¹ng thèng nhÊt vµ c«  
®äng h¬n. T¹i ®iÓm nhËn, th«ng dÞch t¬ng øng ®îc gäi nh»m dÞch d÷ liÖu hoÆc thùc  
hiÖn c¸c chØ thÞ trong ng«n ng÷ ®a ph¬ng tiÖn. VÊn ®Ò chuyÓn ®æi d÷ liÖu ®îc gi¶i  
quyÕt vµ viÖc t¶i trªn m¹ng lµ rÊt lín.  
NhiÒu øng dông m¹ng sö dông kh¸i niÖm thùc hiÖn tõ xa. VÝ dô, MIME  
(Multupurpose Internet Mail Extension) lµ hÖ thèng mail tÝch cùc mµ hç trî trao ®æi  
mail ®a ph¬ng tiÖn gi÷a c¸c m¸y tÝnh kh¸c nhau, ch¼ng h¹n, th«ng ®iÖp cã thÓ mang  
mét kiÓu ®Æc biÖt cho mét hiÓn thÞ riªng. Phô thuéc vµo kiÓu, qu¸ tr×nh t¬ng øng ®îc  
gäi nh»m thùc hiÖn bµi to¸n. Th«ng ®iÖp ytong mail MIME ®îc th«ng dÞch vµ cã  
cïng hiÖu qu¶ nhch¬ng tr×nh thùc hiÖn ë xa.  
C¸ch tiÕp cËn tæng qu¸t h¬n tíi thùc hiÖn tõ xa trong ng«n ng÷ vµ m«i trêng lËp tr×nh  
Java. Java lµ ng«n ng÷ lËp tr×nh híng ®èi tîng môc ®Ých - tæng qu¸t, xuÊt p¸t tõ  
C++. Biªn dÞch Java cho d·y c¸c chØ thÞ m·-byte hiÖu n¨ng cao vµ ®éc lËp m¸y c«  
®äng cã thÓ ®îc göi vµ th«ng dÞch t¹i host bÊt kú miÔn cã s½n th«ng dÞch Java.  
Ch¬ng tr×nh m·-byte ®îc gäi lµ tiÓu dông (applet). Nh»m hç trî dÞch vô m¹ng vµ  
ph©n t¸n, m«i trêng lËp tr×nh Java cung cÊp thviÖn gåm c¸c thñ tôc con kÕt hîp chÆt  
chÏ c¸c giao thøc Internet, ch¼ng h¹n http vµ fpt. Mét tiÓu dông Java lµ mét ®èi tîng  
mµ cã thÓ ®îc chØ dÉn t¹i mét URRL nh»m më c¸c ®èi tîng kh¸c. Mét øng dông  
trùc tiÕp cña tiÓu dông trong WWW lµ sö dông thÕ m¹nh ®éng cña tiÓu dông ®Ó kÐo  
- 17-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
¶nh ®îc t¹o ra dÔ dµng h¬n trong hÖ thèng duyÖt. Phiªn b¶n míi cña Netscape ®îc  
thi hµnh nhê sö dông Java v× vËy hç trî tiÓu dông Java.  
Do viÖc sö dông nh÷ng øng dông chia sÎ tµi nguyªn m¹ng nhtrªn ®ang ph¸t triÓn,  
chóng ®îc thi hµnh nhnh÷ng phôc vô hÖ thèng chuÈn (qu¸ tr×nh ch¹y ngÇm:  
daemon) thùc hiÖn giao thøc ®iÓm trªn mét h¹ tÇng dÞch vô giao vËn vµ trë thµnh bé  
phËn cña H§H m¹ng.  
Ngoµi ra, hiÖn cã nhiÒu híng c¶i tiÕn truyÒn th«ng trªn m¹ng liªn quan ®Õn tÝnh  
chÊt lin ho¹t, thêng ®îc gäi lµ "tÝch cùc" trong m¹ng, liªn quan ®Õn giao thøc (th«ng  
®iÖp tÝch cùc: active massage), liªn quan ®Õn m«i trêng (m¹ng tÝch cùc: active  
network) … MÆt kh¸c, an ninh m¹ng ®· vµ ®ang lµ mét trong nh÷ng vÊn ®Ò cèt lâi nhÊt  
hiÖn nay.  
1.4. S¬ lîc vÒ hÖ ®iÒu hµnh ph©n t¸n  
H§H ph©n t¸n míi thùc sù lµ mét H§H qu¶n lý tµi nguyªn m¸y tÝnh trªn ph¹m vi l·nh  
thæ lín. C¸c m¸y tÝnh ®îc kÕt nèi l«gic (theo phÇn mÒm) trong H§H ph©n t¸n mét  
c¸ch t¬ng ®èi chÆt chÏ, hÖ thèng tµi nguyªn cña mçi m¸y tÝnh ®ãng gãp thùc sù vµo  
hÖ thèng tµi nguyªn chung thèng nhÊt vµ tham gia vµo viÖc gi¶i quyÕt mçi bµi to¸n  
®iÒu phèi qu¸ tr×nh, ®iÒu phèi bé nhí, ®iÒu phèi vµo-ra v.v. H§H ph©n t¸n, vÒ l«gic lµ  
mét hÖ thèng thèng nhÊt song vÒ vËt lý l¹i ®îc “ph©n bè” ch¹y trªn nhiÒu m¸y tÝnh ë  
c¸c vÞ trÝ kh¸c nhau.  
Sù ph¸t triÓn c¸c tr¹m lµm viÖc m¹nh vµ nh÷ng tiÕn bé cña c«ng nghÖ truyÒn th«ng t¹o  
ra sù cÇn thiÕt vµ hîp lý ®Ó më réng viÖc chia xÎ tµi nguyªn thªm mét bíc n÷a: ®Ó  
bao gåm d¹ng tæng qu¸t h¬n n÷a c¸c ho¹t ®éng céng t¸c gi÷a mét tËp hîp gåm c¸c  
m¸y tÝnh tù trÞ, ®îc kÕt nèi bëi mét m¹ng truyÒn th«ng. Chia xÎ tµi nguyªn vµ céng  
t¸c c¸c ho¹t ®éng ph©n t¸n kiÓu nµy cña m«i trêng tÝnh to¸n lµ nh÷ng môc tiªu chÝnh  
trong thiÕt kÕ H§H ph©n t¸n vµ lµ tiªu ®iÓm chÝnh cña tËp bµi gi¶ng nµy.  
CÇn x¸c ®Þnh nh÷ng thµnh phÇn trong mét hÖ ph©n t¸n kÕt nèi láng lµ cÇn ph©n t¸n hay  
kh«ng tËp trung. Tµi nguyªn vËt lý lµ ph©n t¸n v× ®îc thõa hëng tù nhiªn tõ hÖ kÕt  
nèi láng. Th«ng tin vµ nhu cÇu th«ng tin trë nªn ph©n t¸n do tÝnh tù nhiªn cña nã hoÆc  
do nhu cÇu tæ chøc, ch¼ng h¹n vÒ tÝnh hiÖu qu¶ vµ tÝnh an toµn. H¬n n÷a, hiÖu n¨ng hÖ  
thèng cÇn ®îc n©ng cao nhê tÝnh to¸n ph©n t¸n. Lµm thÕ nµo ®Ó c¸c tµi nguyªn vµ  
ho¹t ®éng ph©n t¸n ®îc qu¶n lý vµ ®iÒu khiÓn lµ nh÷ng tr¸ch nhiÖm c¨n b¶n cña H§H  
ph©n t¸n. Nªn ch¨ng H§H ph©n t¸n tù nã còng ph©n t¸n ? Lêi gi¶i ®¸p lµ vÒ ®¹i thÓ lµ  
nªn theo c¸ch thøc ®ã chÝnh do tÝnh tù nhien cña nã vµ nhu cÇu tæ chøc. §iÒu ®ã ®Æt ra  
vÊn ®Ò thi hµnh ph©n t¸n ®èi víi c¸c chøc n¨ng qu¶n trÞ vµ ®iÒu khiÓn cña H§H ph©n  
t¸n, chÝnh lµ thiÕt kÕ c¸c thuËt to¸n ph©n t¸n. Nhu cÇu vÒ c¸c thuËt to¸n ph©n t¸n trong  
c¸c H§H ph©n t¸n thóc ®Èy viÖc tÝch hîp hai chñ thÓ cã quan hÖ mËt thiÕt nµy trong  
mét sè tµi liÖu.  
Khi cho mét H§H ph©n t¸n trªn mét hÖ ph©n t¸n, hy väng cã ®îc sù che khuÊt c¸c  
chi tiÕt thi hµnh cña hÖ thèng ®ã ®èi víi ngêi dïng. §iÒu ph©n biÖt mÊu chèt gi÷a  
H§H m¹ng vµ H§H ph©n t¸n ë chÝnh kh¸i niÖm trong suèt. Trong suèt lµ mét kh¸i  
niÖm míi. Trong H§H tËp trung, ngêi sö dông chia xÎ thêi gian cã sù trong suèt  
®ång thêi (concurrency transparency) nÕu hä kh«ng nhËn biÕt thùc tÕ cã nhiÒu ngêi  
dung fkh¸c còng ®ang chia xÎ cïng mét hÖ thèng. Mét ch¬ng tr×nh ®îc gäi trong  
suèt ®Þnh vÞ (location transparrency) nÕu nhb¶n ®å cña ch¬ng tr×nh vµo trong bé  
nhí vËt lý vµ/hoÆc bé xö lý lµ bÞ che khuÊt. Trong H§H ph©n t¸n kh¸i niÖm nµy cßn  
®îc më réng tíi ®Þnh vÞ file vµ ®ång thêi truy nhËp nÕu file cã thÓ n»m bÊt kú trªn hÖ  
thèng lu tr÷ vµ truy nhËp nã th«ng qua ®êng dÉn l«gic h¬n lµ vËt lý. §èi víi qu¸  
- 18-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
tr×nh ph©n t¸n, cã thÓ ®¹t ®îc ph©n t¸n song song vµ ph©n t¸n hiÖu n¨ng nÕu qu¸ tr×nh  
cã thÓ ®îc thùc hiÖn trªn mét bé xö lý bÊt kú mµ kh«ng kÓ sù nhËn biÕt cña ngêi  
dïng vµ kh«ng kÓ sù kh¸c nhau ®¸ng kÓ vÒ hiÖu n¨ng. Cßn nhiÒu vÝ dô n÷a vµ cã giíi  
h¹n hay kh«ng ? Mét hÖ thèng trong suèt hoµn toµn lµ hîp lý hoÆc thËm chÝ chØ hy  
väng lµ mét c©u hái cßn ®îc bµn luËn. Nãi chung, tÝnh trong suèt lµ mét c¸i tèt ®Ñp  
cÇn cã vµ chóng ta vÉn sö dông nã nhmë réng mÊu chèt cña H§H ph©n t¸n.  
Trong c¸c môc tríc ®©y, hÖ thèng tÝnh to¸n ®îc m« t¶ nhmét hÖ thèng trõu tîng  
bao gåm c¸c qu¸ tr×nh vµ c¸c file. CÇn bæ sung c¸c thuËt to¸n (chÝnh x¸c h¬n lµ c¸c  
thuËt to¸n ®iÒu khiÓn ph©n t¸n) mµ qu¶n lý sù thùc hiÖn c¸c qu¸ tr×nh trªn c¸c file  
trong hÖ ph©n t¸n. NhvËy, H§H ph©n t¸n bao gåm ba thµnh phÇn chÝnh: ®iÒu phèi  
c¸c qu¸ tr×nh ph©n t¸n, qu¶n trÞ c¸c tµi nguyªn ph©n t¸n vµ thi hµnh c¸c thuËt to¸n ph©n  
t¸n. T¹i mçi nót trong hÖ ph©n t¸n, gi¶ thiÕt r»ng tån t¹i nh÷ng m«®un thùc hiÖn viÖc  
qu¶n trÞ tµi nguyªn ®Þa ph¬ng.  
Mét sè H§H ph©n t¸n ®iÓn h×nh nhAMAEBA, MACH, CHORUS, DCE ®îc giíi  
thiÖu trong [8].  
1.5. S¬ lîc vÒ hÖ tù trÞ céng t¸c  
H§H tù trÞ céng t¸c cho mét c¸ch thøc linh ho¹t h¬n so víi H§H ph©n t¸n. C¸c m¸y  
tÝnh thµnh viªn võa ®îc phÐp tham gia kÕt nèi vµo toµn bé hÖ thèng l¹i võa ®îc phÐp  
ch¹y mét c¸ch ®éc lËp. Khi tham gia vµo hÖ thèng, tµi nguyªn cña m¸y tÝnh thµnh viªn  
®îc toµn bé hÖ thèng sö dông (gÇn nhtheo c¸ch thøc cña H§H ph©n t¸n) cßn khi  
m¸y thµnh viªn ch¹y ®éc lËp th× nã ®éc quyÒn sö dông tµi nguyªn riªng. VÒ thùc chÊt,  
trong hÖ tù trÞ céng t¸c, tÝnh "tù trÞ" cña m¸y thµnh viªn ®îc chó träng h¬n so víi tÝnh  
thèng nhÊt l«gic cña toµn bé hÖ thèng.  
NhvËy, nÕu chØ cÇn duy tr× tÝnh trong suèt ë mét møc ®é nµo ®ã vµ hñy bá vÒ c¸i  
nh×n cña mét hÖ thèng nhÊt l«gic cña hÖ ®a m¸y tÝnh, nhËn ®îc c¸ch nh×n kh¸c nhau  
hoµn toµn cña mét hÖ (phÇn cøng vµ phÇn mÒm) láng lÎo thuÇn tóy. Mçi ngêi dïng  
hoÆc qu¸ tr×nh thao t¸c tù trÞ b»ng c¸ch cung cÊp c¸c dÞch vô cña m×nh vµ yªu cÇu c¸c  
dÞch vô tõ n¬i kh¸c. Nhãm c¸c hµnh ®éng cã thÓ ®îc ®iÒu phèi b»ng viÖc trao ®æi  
dÞch vô vµ yªu cÇu. DÞch vô møc cao cã thÓ ®îc cung cÊp b»ng c¸ch gi¶i quyÕt chóng  
tõ nh÷ng dÞch vô ë møc thÊp h¬n. Mäi hÖ thèng phÇn mÒm cã thÓ ®îc ®Þnh danh mét  
c¸ch tho¶i m¸i b»ng c¸ch tÝch hîp nhiÒu dÞch vô víi sù tho¶ thuËn nµo ®ã theo cÊu  
tróc. §©y lµ c¸ch tiÖm cËn ®· b¾t chíc c¸ch øng xö trong x· héi loµi ngêi: øng xö  
trong hÖ thèng m¸y tÝnh lµm theo c¸ch øng xö trong x· héi loµi ngêi phøc t¹p. §©y lµ  
c¸ch nh×n cña hÖ tù trÞ céng t¸c. H×nh 1.8 minh häa mét sè kh¸c biÖt c¬ b¶n gi÷a H§H  
ph©n t¸n víi hÖ tù trÞ c«ng t¸c. HÖ ph©n t¸n ®îc ®Æc trng b»ng ph©n tÝch dÞch vô  
trong khi hÖ tù trÞ céng t¸c l¹i nhÊn m¹nh viÖc tÝch hîp dÞch vô.  
HÖ tù trÞ céng t¸c lµ hÖ thèng phÇn mÒm ®Þnh híng dÞch vô møc cao ®ßi hái hç trî c¬  
chÕ truyÒn th«ng trªn ®ã c¸c giao thøc truyÒn th«ng møc cai ®· ®îc x©y dùng. LÊy vÝ  
dô h×nh ¶nh c¸ch thøc giao dÞch bÊt ®éng s¶n cã thÓ ®îc thùc hiÖn trong mét hÖ tù trÞ  
céng t¸c. Ngêi mua nhµ, lµ mét qu¸ tr×nh kh¸ch, cã thÓ t¹o ra mét yªu cÇu tíi hoÆc  
trùc tiÕp tíi chñ ng«i nhµ hoÆc gi¸n tiÕp tíi ®¹i lý bÊt ®éng s¶n (c¶ hai ®Òu lµ qu¸ tr×nh  
phôc vô). Chñ ng«i nhµ lµ qu¸ tr×nh kh¸ch tíi ngêi m«i giíi. Ngêi m«i giíi cã thÓ tõ  
mét ®¹i lý bÊt ®éng s¶n, mét phôc vô lín h¬n cã thÓ chØ dÉn cho ngêi mua nhµ mét  
m«i giíi giµnh riªng. Ngêi b¸n lµ kh¸ch tíi ®¹i lý bÊt ®éng s¶n gièng nhmét kh¸ch  
tíi ngêi m«i giíi. Ngêi mua cã thÓ ®Þnh vÞ ®îc ®¹i lý bÊt ®éng s¶n nhê xem th«ng  
tin trªn Trang vµng, ®· ®îc biÕt ®Õn nhmét qu¸ tr×nh phôc vô trùc tiÕp. NÕu ng«i  
nhµ ®îc chñ cña nã b¸n trùc tiÕp th× ngêi chñ cã thÓ qu¶ng c¸o t¹i ®©u ®ã nhê qu¸  
tr×nh phôc vô víi ®Þa chØ ®· biÕt. H×nh 1.9 tr×nh bµy mét lo¹t c¸c quan hÖ Client/Server  
- 19-  
Hµ Quang Thôy  
Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1)  
cña mét øng dông hÖ tù trÞ céng t¸c. Phôc vô kiÓu Trang vµng vµ ®¹i lý bÊt ®éng s¶n  
cung cÊp dÞch vô m«i giíi hoÆc th¬ng m¹i nhnh÷ng dÞch vô ®Þnh vÞ. Kh¸i niÖm mÊu  
chèt cña hÖ tù trÞ céng t¸c lµ tÝch hîp c¸c dÞch vô thµnh d¹ng ho¹t ®éng céng t¸c. C¶  
phÇn cøng vµ phµn mÒm lµ t¸ch rêi vµ kh«ng tËp trung hoµn toµn.  
Ttëng cña hÖ tù trÞ kh«ng tËp trung h×nh nhgîng g¹o. Tuy nhiªn, mét më réng  
®¬n gi¶n cã kh¸i niÖm Lµm viÖc céng t¸c ®îc hç trî b»ng m¸y tÝnh (Computer  
Supported Cooperative Work: CSCW). CSCW lµ mét khung nh»m hç trî phÇn mÒm  
nhãm (groupware), mét øng dông phÇn mÒm lín mµ bao gåm c¸c ngêi dïng céng  
t¸c vµ tµi nguyªn ph©n t¸n däc theo mét m¹ng hçn t¹p. Mét vÝ dô lµ héi th¶o ph©n t¸n,  
trong ®ã cuéc mit tinh ®iÖn tö trong mét m¹ng vËt lý ph©n t¸n cã thÓ ®îc tæ chøc. Tr¸i  
ngîc víi triÕt lý m¸y tÝnh ®¬n ®îc chØ cho ngêi dïng vµ tµi nguyªn cã thÓ thiÕt kÕ  
DÞch vô  
Ph©n tÝch trong hÖ ph©n  
t¸n  
TÝch hîp trong hÖ tù trÞ  
céng t¸c  
H×nh 1.8. Ph©n tÝch vµ tÝch hîp dÞch vô  
vµ qu¶n trÞ, lµ sù nhËn biÕt râ rµng sù tån t¹i ®a m¸y tÝnh. Ngêi dïng, tõ m¹ng logic  
cña hä víi môctiªu riªng vµ ®îc s½n sµng cho ®iÒu khiÓn truy nhËp vµ b¶o vÖ cña  
nhãm. HÖ céng t¸c kh«ng tËp trung lµ hÖ thèng cungg cÊp nh÷ng dÞch vô chuÈn cho  
phÐp tÝch hîp c¸c dÞch vô céng t¸c møc cao trong mét hÖ thèng m¹ng lín. Víi sè  
lîng rÊt lín ®· lªn ph¬ng ¸n vÒ m¹ng vµ con ngêi, ®©y lµ sù tiÕn hãa tù nhiªn cña  
H§H m¹ng vµ H§H ph©n t¸n.  
Nhu cÇu trén c¸c øng dông hÖ tù trÞ céng t¸c cã thÓ bïng ph¸t mét sè cè g¾ng chuÈn  
hãa cho viÖc ph¸t triÓn t¬ng lai cña phÇn mÒm ph©n t¸n, ®¸ng chó ý lµ Qu¸ tr×nh ph©n  
t¸n më (Open Distributed Processing: ODP) vµ KiÕn tróc m«i giíi yªu cÇu ®èi tîng  
chung (Common Object Request Broker Architeturre: CORBA). ODP lµ khung hÖ  
thèng c«ng céng hâ trî ph©n t¸n, liªn thao t¸c vµ kh¶ chuyÓn ®èi víi c¸c xö lý ph©n  
t¸n hân t¹p c¶ bªn trong vµ däc theo tæ chøc tù trÞ. CORBA ccung cho cïng triÕt lý vµ  
sö dông m« h×nh híng ®èi tîng ®Ó thi hµnh yªu cÇu dÞch vô trong suèt däc theo mét  
hÖ thèng ph©n t¸n ®a ®èi tîng hçn t¹p liªn kÕt nèi. C¶ ODP vµ CORBA dïng dÞch vô  
th«ng minh trader hoÆc broker lµm thuËn tiÖn liªn t¬ng t¸c trong hÖ tù trÞ cäng t¸c.  
Trang vµng vµ ®¹i lý bÊt ®éng s¶n nhnh÷ng th¬ng nh©n. Chóng cã thÓ ®îc nh×n  
- 20-  
Tải về để xem bản đầy đủ
pdf 182 trang Thùy Anh 27/04/2022 6020
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ điều hành phân tán - Hà Quang Thụy", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_he_dieu_hanh_phan_tan_ha_quang_thuy.pdf