Tr−êng §¹i häc B¸ch khoa Hµ néi
Khoa C«ng nghÖ Th«ng tin
Bé m«n c«ng nghÖ phÇn mÒm
============= o =============
Bµi gi¶ng
HÖ §iÒu Hµnh
60 tiÕt (45 tiÕt lý thuyÕt + 15 tiÕt thùc hµnh)
(Version 0.11)
Biªn so¹n
Lª TiÕn Dòng
Hµ néi 8-2001
HÖ ®iÒu hµnh
trang 2/96
Ch−¬ng 1. C¸c kh¸i niÖm c¬ b¶n
LT: 6 TiÕt, TH: 0 TiÕt
1. CÊu tróc ph©n líp vµ sù ph¸t triÓn cña hÖ thèng tÝnh to¸n
a. LÞch sö ph¸t triÓn cña c¸c hÖ thèng tÝnh to¸n c¸c nguyªn lý ph¸t triÓn
cña processor vµ hÖ lÖnh.
- 1940-1950
§©y lµ giai ®o¹n ra ®êi thÕ hÖ ®Çu tiªn cña m¸y tÝnh ®iÖn tö, víi nh÷ng hÖ
thèng m¸y tÝnh cÊu t¹o tõ c¸c bé phËn c¬ khÝ vµ ®Ìn ®iÖn tö. C¸c m¸y tÝnh giai
®o¹n nµy võa cång kÒnh (kÝch cì b»ng mét toµ nhµ) võa phøc t¹p. Do ®ã mét
m¸y ph¶i dïng nhiÒu ng−êi sö dông.
Trong giai ®o¹n nµy: Ph¹m vi ng−êi sö dông m¸y tÝnh ®iÖn tö cßn bÞ bã
hÑp ë nh÷ng chuyªn gia mµ th«i.
Ng−êi thiÕt kÕ x©y dùng ch−¬ng tr×nh chÝnh lµ ng−êi lËp tr×nh vµ còng lµ
ng−êi vËn hµnh.
Ng«n ng÷ lµm viÖc cña hä lµ ng«n ng÷ m¸y lµ mét chuçi sè nhÞ ph©n 01 v×
vËy c«ng viÖc cña hä rÊt ®¬n ®iÖu nhµm ch¸n vµ viÖc m¾c lçi lµ kh«ng thÓ tr¸nh
khái do ®ã cÇn hiÖu chØnh ch−¬ng tr×nh. V× thÕ hiÖu suÊt lµm viÖc thÊp, trung
b×nh kho¶ng 8 c©u lÖnh/ngµy.
Tån t¹i c«ng viÖc cho mäi ng−êi, mäi ch−¬ng tr×nh: Mong muèn cña
ng−êi sö dông lu«n kh¸c xa víi kh¶ n¨ng ®¸p øng cña m¸y tÝnh. Nã rÊt phong
phó ®a d¹ng, cßn kh¶ n¨ng cña m¸y tÝnh trong mét thêi gian x¸c ®Þnh lµ hÇu nh−
kh«ng ®æi. Bªn c¹nh ®ã còng cã nh÷ng kh¶ n¨ng cña m¸y tÝnh nh− tèc ®é
processor ng−êi dïng Ýt khi khai th¸c triÖt ®Ó.
Ng−êi ta thÊy mét sè c«ng viÖc lµ cÇn thiÕt cho mäi ng−êi, th−êng xuyªn
®−îc sö dông do ®ã ph¶i x©y dùng (c¸c ch−¬ng tr×nh chuÈn hay ch−¬ng tr×nh
mÉu) Standard Programs. ViÖc nµy ®−îc thùc hiÖn bëi c¸c nhµ lËp tr×nh vµ ®−îc
cung cÊp cïng víi m¸y tÝnh. Tõ ®ã t¹o thµnh mét bé th− viÖn ch−¬ng tr×nh mÉu.
{Standard Programs} = Library of Standard Programs
Ban ®Çu c¸c ch−¬ng tr×nh mang tÝnh chÊt hoµn thiÖn: tõ mét ®Çu vµo nhÊt
®Þnh (input) sÏ ®−a ra mét kÕt qu¶(output). Tuy nhiªn viÖc nµy lµ kh«ng thuËn lîi
vµ hiÖu qu¶ v× cã nhiÒu chøc n¨ng con cña ch−¬ng tr×nh sÏ lÆp ®i lÆp l¹i nhiÒu
lÇn. V× vËy ng−êi ta nghÜ ®Õn c¸c ph−¬ng ph¸p c¶i tiÕn hiÖu suÊt lµm viÖc lµ ph¶i
x©y dùng c¸c ch−¬ng tr×nh con vµ c¶i tiÕn hÖ lÖnh cña processor tøc lµ gi¶m bít
c¸c lÖnh macroprocessor mµ thay vµo ®ã lµ c¸c phÐp xö lý t¸c ®éng lªn bit, byte.
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 3/96
Lý do: c¸c hµm c¬ së nh− lÊy c¨n, sinx, hay luü thõa kh«ng ph¶i ai còng
cÇn dïng, nh−ng ai còng cÇn xö lý th«ng tin, mµ c¬ së nhá nhÊt cña th«ng tin
n»m trong bit, byte nªn khi t¨ng c−êng kh¶ n¨ng cho processor trong lÜnh vùc xö
lý bit th× nã sÏ g¾n víi nhu cÇu cña mäi ng−êi h¬n.
- 1951-1960
{Library of Standard Programs} §Ó ®¸p øng nhu cÇu ng−êi sö dông, mét
mÆt ng−êi ta ph¶i nghiªn cøu c¸c thuËt to¸n lÊy c¨n, sinx, cos, . trªn c¬ së xö lý
bit, byte; mÆt kh¸c ph¶i x©y dùng s½n c¸c modul ®¸p øng yªu cÇu nay.
§éi ngò ng−êi sö dông ngµy cµng lín => tho¶ m·n nhu cÇu lËp tr×nh d−íi
d¹ng th− viÖn ngµy cµng lín theo => yªu cÇu sè th− viÖn lín víi néi dung ®å sé
=> khã. Gi¶i quyÕt b»ng c¸ch ph¶i cung cÊp cho ng−êi sö dông c«ng cô cho
phÐp m« t¶ nh÷ng gi¶i thuËt cÇn thiÕt =>
§©y lµ thêi kú ra ®êi cña ng«n ng÷ thuËt to¸n víi mét lo¹t c¸c ch−¬ng
tr×nh dÞch. C¸c ng«n ng÷ ra ®êi: Assembler, FORTRAN, COBOL.
§i ®«i víi chóng lµ kü thuËt b¸n dÉn, s¶n xuÊt ®−îc b¨ng tõ cho phÐp l−u
tr÷ ®−îc mét sè ch−¬ng tr×nh. §· cã sù ph©n ho¸ chøc n¨ng gi÷a ng−êi lËp tr×nh
vµ thao t¸c viªn (operator).
+ Processor còng chuyÓn giao mét sè chøc n¨ng cho c¸c thiªt bÞ kh¸c.
+ §· b¾t ®Çu viÖc nhãm c¸c ch−¬ng tr×nh hay t¸c vô (jobs) l¹i ®Ó xö lý theo
l«. §· cã nh÷ng mÇm mèng cña hÖ ®iÒu hµnh:
o Thùc hiÖn tù ®éng c¸c c«ng viÖc
o N¹p vµ gi¶i phãng ch−¬ng tr×nh trong bé nhí
o Qu¶n lý vµo ra: ®äc b×a, b¨ng tõ, m¸y in.
=> M« h×nh ho¹t ®éng cña hÖ ®iÒu hµnh : ng−êi sö dông t¸c ®éng trùc tiÕp lªn
MTDT hay th«ng qua th− viÖn ch−¬ng tr×nh mÉu hoÆc t¸c ®éng trung gian qua
ch−¬ng tr×nh dÞch =>
+ HÖ thèng qu¶n lý
o Qu¶n lý th− viÖn
o Qu¶n lý Ch−¬ng tr×nh dÞch
o Qu¶n lý cung cÊp dÞch vô
- 1960-nay
TiÕn thªm mét b−íc trong viÖc c¬ së ho¸ th− viÖn ch−¬ng tr×nh mÉu. Thay
v× cung cÊp c¸c ch−¬ng tr×nh hoµn thiÖn, cung cÊp c¸c module gi¶i quyÕt tõng
phÇn gi¶i thuËt, phÐp biÕn ®æi th−êng gÆp => ngoµi ra cßn cÇn cã nh÷ng modul
chuyªn phôc vô ®iÒu khiÓn vµ tæ chøc c¸c module trong th− viÖn.
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 4/96
Ra ®êi ph¸t triÓn m¹ch tÝch hîp (kÝch cì nhá, tèc ®é cao), c¸c ®Üa tõ víi
tèc ®é truy nhËp d÷ liÖu lín h¬n.
+ Ra ®êi c¸c m¸y vi tÝnh IBM PC vµ MSDOS.
o Giao diÖn ®å ho¹
o Chøc n¨ng ®a ph−¬ng tiÖn ®−îc nhóng vµo hÖ ®iÒu hµnh.
o HÖ ®iÒu hµnh ®· g¾n víi m¹ng vµ Internet.
o C¸c hÖ thèng song song: nhiÒu bé vi xö lý cïng chia sÎ mét hÖ
thèng bus, ®ång hå, thiÕt bÞ ngo¹i vi, bé nhí.
o C¸c hÖ thèng ph©n t¸n: nhiÒu bé vi xö lý nh−ng dïng bé nhí, bus,
®ång hå riªng nh−ng liªn l¹c trao ®æi víi nhau ®Ó thùc hiÖn mét
nhiÖm vô nµo ®ã.
o HÖ thèng thêi gian thùc: C¸c xö lý tinh to¸n bÞ giíi h¹n vÒ mÆt thêi
gian thùc hiÖn.
Ng−êi ta ®−a ra c¸c líp tuú chän (option) ®Ó ®−a m¸y tÝnh vÒ c¸c m«i
tr−êng lµm viÖc phï hîp.
b. PhÇn mÒm vµ vai trß cña c¸c líp ch−¬ng tr×nh trong hÖ thèng tÝnh to¸n
Trong khi phÇn kü thuËt thay ®æi chËm ch¹p th× phÇn ch−¬ng tr×nh bao
quanh MTDT ph¸t triÓn víi tèc ®é chãng mÆt. Ngµy nay gi¸ thµnh cña phÇn
mÒm chiÕm mét tØ träng lín trong gi¸ trÞ toµn hÖ thèng.
- So s¸nh gi¸ thµnh gi÷a phÇn cøng vµ phÇn mÒm
Ngµy 06/06/2001
I. HARDWARE
Server
P/N
Description
Unit Price
X Series 230
865861Y
IBM Series x230 PIII 1000 Mhz/ 256 Kb Cache
IBM Netfinity 128MB SDRAM ECC RDIMM
Intergrated dual channel Ultra 160 LVD SCSI
Internal storage: 218.4 GB 10/100 Ethernet intergrated
10 bays( 6 hot plug, 2 half-high, 40x IDE CDROM)
250w Power Supply Cooling fans: 2
IBM Netfinity 128MB SDRAM ECC RDIMM
IBM Netfinity 256MB SDRAM ECC RDIMM
IBM Netfinity 18.2 GB 10K-4 Wide Ultra160 SCSI
IBM E54 Color Monitor, stealth black
HP SureStore Tape 40i GB Internal (40GB)
TOTAL
3,475.00
33L3123
33L3125
37L7205
C5647A
Lª TiÕn Dòng
305.00
641.00
598.00
178.00
1,980.00
7,177.00
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 5/96
II. SOFTWARE
P/N
Description
Unit Price
VISUALAGE JAVA ENTERPRISE EDITION V3.5
00P7778
PROGRAM PKG
WEBSPHERE STUDIO ADVANCED V3.5
11K7694
PROGRAM PACKAGE WITH 1 CLIENT ADV
Oracle 8i Standard Edition Release 3
(with 5 Client)
659-00399 VStudio Pro 6.0 Win32 English Intl CD Refresh
021-02665
021-03851
227-01187
Office 2000 win 32 English Intl CD
Office 2000 win 32 English OLP NL
WinNT Svr 4.0 English Intl CD 5 Clt SP4
TOTAL
4,349.00
2,899.00
1,120.00
1,107.76
477.25
385.65
823.25
11,161.91
C¸c ch−¬ng tr×nh bao quanh phÇn kü thuËt t¹o thµnh mét m«i tr−êng tÝnh
to¸n. Mçi ch−¬ng tr×nh muèn ®−îc thùc hiÖn ph¶i g¾n víi m«i tr−êng vµ thõa
h−ëng ë m«i tr−êng mäi kh¶ n¨ng cña hÖ thèng. Lµm cho th«ng tin l−u chuyÓn
dÔ dµng gi÷a c¸c thµnh phÇn cña hÖ thèng. Th«ng tin ®Çu ra cña mét module nµy
cã thÓ lµm ®Çu vµo cho mét module kh¸c. Mäi biÕn ®æi trung gian ®Òu do hÖ
thèng ®¶m nhiÖm vµ trong suèt víi ng−êi sö dông.
VÝ dô: c¸c phÇn mÒm Word, Excel g¾n liÒn víi m«i tr−êng Windows. Khi
c¸c th«ng sè cña m«i tr−êng thay ®æi (HÖ thèng font ch÷, bµn phÝm, ng«n
ng÷ )=> sÏ ¶nh h−ëng lªn c¸c phÇn mÒm nµy.
Dï lµ mét ch−¬ng tr×nh hay mét thµnh phÇn cña hÖ thèng th× ®Òu ph¶i ho¹t
®éng ®ång bé víi toµn hÖ thèng (c¸c thµnh phÇn hÖ thèng hay ch−¬ng tr×nh
kh¸c). HÖ thèng cã chøc n¨ng ®¶m b¶o ®Çy ®ñ c¸c ®iÒu kiÖn vËt chÊt ®Ó ch−¬ng
tr×nh ch¹y ®−îc nh− bé nhí, thêi gian phôc vô cña processor, thiÕt bÞ ngo¹i vi =>
Tãm l¹i hÖ thèng cã nhiÖm vô qu¶n lý tµi nguyªn.
2. Tµi nguyªn cña hÖ thèng tÝnh to¸n
- C¸c tµi nguyªn chñ yÕu
Tµi nguyªn ph©n chia lµm hai lo¹i c¬ b¶n: kh«ng gian vµ thêi gian. Trong
khung c¶nh mçi hÖ thèng th× ®ã lµ kh«ng gian nhí vµ thêi gian thùc hiÖn lÖnh.
a. Bé nhí
- Bé nhí lµ n¬i l−u tr÷ th«ng tin.
- §Æc tr−ng bé nhí
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 6/96
+ Thêi gian truy nhËp trùc tiÕp: thêi gian trùc tiÕp ®Ó truy nhËp tíi ®Þa chØ
bÊt kú trong bé nhí.
+ Thêi gian truy nhËp tuÇn tù: Khi tån t¹i mét c¸ch tæ chøc l−u tr÷ kÕ tiÕp.
Bé nhí th−êng ®−îc ph©n cÊp theo tèc ®é truy nhËp trùc tiÕp hay kÕ tiÕp.
Bé nhí ®−îc gäi lµ thùc hiÖn nÕu processor cã thÓ thùc hiÖn c©u lÖnh bÊt kú ghi
trong ®ã. §Æc ®iÓm cña bé nhí nµy lµ thêi gian truy nhËp thùc hiÖn vµ truy nhËp
tuÇn tù lµ b»ng nhau. Bé nhí trong bao giê còng lµ bé nhí thùc hiÖn.
+ Kh«ng gian bé nhí
+ Gi¸ thµnh
- Ph©n lo¹i bé nhí
+ Bé nhí trong: Cã tèc ®é truy nhËp cao nh−ng kh«ng gian bé nhí nhá
+ Bé nhí ngoµi: Cã kh«ng gian bé nhí lín nh−ng tèc ®é truy nhËp thÊp.
Thêi gian truy nhËp trùc tiÕp th−êng lín h¬n thêi gian truy tuÇn tù. Lo¹i
bé nhí phæ biÕn lµ bé nhí ®Üa cøng, ®Üa mÒm, b¨ng tõ, ®Üa quang.
b. Thêi gian processor
B¶n th©n Processor lµ tµi nguyªn quan träng. Tµi nguyªn thêi gian ë ®©y lµ
thêi gian thùc hiÖn c©u lÖnh chø kh«ng ph¶i thêi gian cña cuéc sèng hµng ngµy.
Processor ®−îc dïng cho nhiÒu tiÕn tr×nh kh¸c nhau do ®ã viÖc ph©n chia thêi
gian sö dông processor cña mçi tiÕn tr×nh ph¶i ®−îc tèi −u ho¸, ®Æc biÖt lµ khi
chóng cßn dïng chung tµi nguyªn kh¸c: ch−¬ng tr×nh, d÷ liÖu, thiÕt bÞ vµo ra...
Nãi c¸ch kh¸c, thêi gian processor chÝnh lµ mét tµi nguyªn quan träng cña hÖ
thèng.
c. ThiÕt bÞ ngo¹i vi
- §a d¹ng
- Sè l−îng lín >>1
- Tèc ®é xö lý << tèc ®é processor
C¸c thiÕt bÞ tiÕp nhËn, l−u tr÷ th«ng tin ë bé nhí ngoµi trong thêi gian dµi
®−îc gäi lµ thiÕt bÞ ngo¹i vi. M¸y in, bµn phÝm, mµn h×nh, chuét,
modem, .Tr−íc ®©y c¸c thiÕt bÞ nµy th−êng ®−îc ®Æt xa phßng ®Æt m¸y chÝnh
nªn gäi lµ thiÕt bÞ ngo¹i vi. Chóng cßn cã tªn gäi kh¸c lµ thiÕt bÞ vµo ra. Chóng
th−êng ®−îc g¾n víi MTDT th«ng qua c¸c thiÕt bÞ trung gian: c¸c thiÕt bÞ ®iÒu
khiÓn.
Tµi nguyªn cã hai lo¹i: Ph©n chia ®−îc vµ kh«ng ph©n chia ®−îc.
Ph©n chia ®−îc: Cho phÐp nhiÒu ng−êi hay ch−¬ng tr×nh sö dông nã mét c¸ch
®ång thêi. §iÓn h×nh lµ bé nhí(trong vµ ngoµi): cã thÓ n¹p nhiÒu ch−¬ng tr×nh
vµo bé nhí trong, hay 1 ch−¬ng tr×nh sö dông nhiÒu tÖp trªn ®Üa cøng.
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 7/96
Kh«ng ph©n chia ®−îc: phÇn lín c¸c tµi nguyªn cßn l¹i. Tuy nhiªn cã thÓ
ph©n phèi viÖc sö dông chóng sao cho ng−êi sö dông c¶m gi¸c nh− ®−îc phôc vô
®ång thêi.
3. §Þnh nghÜa H§H
HÖ ®iÒu hµnh lµ mét phÇn quan träng cña mäi hÖ thèng th«ng tin. Mét hÖ
thèng th«ng tin gåm 4 thµnh phÇn: phÇn cøng, hÖ ®iÒu hµnh, ch−¬ng tr×nh øng
dông, ng−êi sö dông.
PhÇn cøng: CPU, bé nhí, thiÕt bÞ vµo ra cung cÊp c¸c tµi nguyªn th«ng tin
c¬ së.
C¸c ch−¬ng tr×nh øng dông: ch−¬ng tr×nh dÞch, hÖ thèng c¬ së d÷ liÖu,
tr×nh so¹n th¶o v¨n b¶n . qui ®Þnh c¸ch sö dông c¸c tµi nguyªn ®ã ®Ó gi¶i quyÕt
nh÷ng vÊn ®Ò cña ng−êi sö dông.
HÖ ®iÒu hµnh ®iÒu khiÓn vµ ®ång bé viÖc sö dông phÇn cøng cña c¸c
ch−¬ng tr×nh øng dông phôc vô c¸c ng−êi sö dông kh¸c nhau víi c¸c môc ®Ých
sö dông phong phó ®a d¹ng.
Ta cã thÓ hiÓu H§H lµ HÖ THèNG c¸c ch−¬ng tr×nh ®¶m b¶o c¸c chøc
n¨ng giao tiÕp ng−êi m¸y vµ qu¶n lý tµi nguyªn hÖ thèng tÝnh to¸n.
- Tuy nhiªn cã nhiÒu ng−êi quan s¸t H§H d−íi c¸c gãc ®é kh¸c nhau v× thÕ
tån t¹i nhiÒu ®Þnh nghÜa vÒ H§H.
§èi víi ng−êi sö dông: H§H lµ tËp hîp c¸c ch−¬ng tr×nh, phôc vô khai
th¸c hÖ thèng tÝnh to¸n mét c¸ch dÔ dµng, thuËn tiÖn.
Ng−êi sö dông khi thùc hiÖn mét ch−¬ng tr×nh nµo ®ã trªn MTDT th× chØ
quan t©m ®Õn viÖc hÖ thèng cã ®¸p øng ®−îc nhu cÇu cña hä hay kh«ng? Cã
ch−¬ng tr×nh cÇn thùc hiÖn, cã ®ñ bé nhí ®Ó ch¹y Hä kh«ng quan t©m ®Õn viÖc
hÖ ®iÒu hµnh lµm g× nh»m môc ®Ých g×, cã cÊu tróc nh− thÕ nµo?
§èi víi ng−êi lµm c«ng t¸c qu¶n lý: H§H lµ mét tËp c¸c ch−¬ng tr×nh
phôc vô qu¶n lý chÆt trÏ vµ sö dông tèi −u c¸c tµi nguyªn cña hÖ thèng tÝnh to¸n.
§èi víi c¸n bé kü thuËt: H§H lµ hÖ thèng ch−¬ng tr×nh bao trïm lªn mét
m¸y tÝnh vËt lý cô thÓ ®Ó t¹o ra mét m¸y logic víi nh÷ng tµi nguyªn míi vµ kh¶
n¨ng míi.
C¸c ®Þnh nghi· trªn ph¶n ¸nh vÞ trÝ quan s¸t cña ng−êi nªu. Hä ®øng ë
ngoµi hÖ thèng vµ thÓ hiÖn ®iÒu hä mong ®îi vµ còng lµ ®iÒu hä nh×n thÊy.
§èi víi c¸n bé lËp tr×nh hÖ thèng: H§H lµ hÖ thèng m« h×nh ho¸, m«
pháng c¸c ho¹t ®éng cña m¸y, cña ng−êi sö dông vµ cña thao t¸c viªn ho¹t ®éng
trong c¸c hÖ thèng ®èi tho¹i nh»m t¹o m«i tr−êng ®Ó qu¶n lý chÆt trÏ c¸c tµi
nguyªn vµ tæ chøc khai th¸c chóng mét c¸ch thuËn tiÖn vµ tèi −u.
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 8/96
C¸n bé lËp
tr×nh hÖ thèng
N g−êi sö
dô ng
Ch−¬ng
tr×nh dÞch
−
C¸n bé kü
thuËt
Ng−êi lµm c«ng
t¸c qu¶n lý
So¹n th¶o v¨n b¶n
Qu¶n lý
c¬ së d÷ liÖu
Ch−¬ng tr×nh øng dông
HÖ ®iÒu hµnh
Tµi nguyªn
§èi víi c¸c c¸n bé lËp tr×nh hÖ thèng, vÞ trÝ cña hä lµ ë bªn trong hÖ ®iÒu
hµnh. Hä quan s¸t c¸c module, c¸c thµnh phÇn cña hÖ thèng, quan s¸t mèi quan
hÖ gi÷a chóng. §©y lµ quan ®iÓm cña chóng ta trong suèt qu¸ tr×nh kh¶o s¸t
nghiªn cøu hÖ ®iÒu hµnh.
- Nh− vËy H§H lµ hÖ chuyªn gia ra ®êi sím nhÊt vµ thuéc lo¹i hoµn thiÖn nhÊt.
4. Ph©n lo¹i hÖ ®iÒu hµnh
a. HÖ ®iÒu hµnh ®¬n nhiÖm vµ hÖ ®iÒu hµnh ®a nhiÖm
Dùa vµo c¸ch thøc ®−a ch−¬ng tr×nh vµo bé nhí, chän ch−¬ng tr×nh cã s½n
trong bé nhí ®Ó processor thùc hiÖn, ng−êi ta ph©n thµnh: hÖ ®iÒu hµnh ®¬n
nhiÖm, ®a nhiÖm.
- HÖ ®iÒu hµnh ®¬n nhiÖm
T¹i mét thêi ®iÓm x¸c ®Þnh, khi mét ch−¬ng tr×nh ®−îc ®−a vµo bé nhí th×
nã chiÕm gi÷ mäi tµi nguyªn cña hÖ thèng, vµ v× vËy ch−¬ng tr×nh kh¸c kh«ng
thÓ ®−îc ®−a vµo bé nhí trong khi nã ch−a kÕt thóc.
Nh−ng do c¸c thiÕt bÞ vµo ra th−êng lµm viÖc víi tèc ®é chËm, ng−êi ta
dïng kü thuËt SPOOLING(simultanous peripheral Operation on line): cho phÐp
t¹o ra hiÖu øng song song c¸c thiÕt bÞ chØ cho phÐp vµo ra tuÇn tù(sÏ ®Ò cËp chi
tiÕt ë ch−¬ng sau).
- HÖ ®iÒu hµnh ®a nhiÖm
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 9/96
HÖ ®iÒu hµnh cho phÐp t¹i mét thêi ®iÓm cã nhiÒu ch−¬ng tr×nh ë trong bé
nhí trong. Chóng cã nhu cÇu ®−îc ph©n phèi thêi gian phôc vô CPU, bé nhí vµ
thiÕt bÞ ngo¹i vi. Nh− vËy CPU, bé nhí, thiÕt bÞ ngo¹i vi v.v.. lµ c¸c tµi nguyªn
®−îc chia sÎ cho c¸c ch−¬ng tr×nh ®ã. VÊn ®Ò lµ lµm sao ®¶m b¶o tèt nhÊt tÝnh
b×nh ®¼ng khi gi¶i quyÕt vÊn ®Ò ph©n phèi tµi nguyªn.
b. HÖ ®iÒu hµnh ®¬n ch−¬ng vµ hÖ ®iÒu hµnh ®a ch−¬ng (MultiUsers)
- HÖ ®iÒu hµnh ®¬n ch−¬ng
T¹i mét thêi ®iÓm x¸c ®Þnh hÖ ®iÒu hµnh chØ cho phÐp mét ng−êi sö dông
thao t¸c mµ th«i.
- HÖ ®iÒu hµnh ®a ch−¬ng
HÖ ®iÒu hµnh cho phÐp t¹i mét thêi ®iÓm cã thÓ phôc vô nhiÒu ng−êi sö
dông.
c. HÖ ®iÒu hµnh tËp trung vµ hÖ ®iÒu hµnh ph©n t¸n
- HÖ ®iÒu hµnh tËp trung
Trªn mét hÖ thèng m¸y tÝnh chØ cã mét H§H duy nhÊt cµi ë m¸y chñ. C¸c
m¸y tr¹m ®−îc khëi ®éng nhê m¸y chñ vµ nã chØ lµm chøc n¨ng nhËp/xuÊt d÷
liÖu. Mäi xö lý ®Òu tËp trung ë m¸y chñ.
- HÖ ®iÒu hµnh ph©n t¸n
Trªn mçi m¸y cã 1 hÖ ®iÒu hµnh kh¸c nhau, m¸y chñ chÞu tr¸ch nhiÖm
cung øng c¸c dÞch vô ®Ó truy nhËp ®Õn c¸c tµi nguyªn chung vµ ®iÒu hµnh toµn
hÖ thèng, c¸c phÐp xö lý cã thÓ tiÕn hµnh ë m¸y tr¹m.
d. HÖ ®iÒu hµnh ph©n chia thêi gian vµ hÖ ®iÒu hµnh thêi gian thùc
- HÖ ®iÒu hµnh ph©n chia thêi gian (Share time)
Mét CPU lu«n phiªn phôc vô c¸c tiÕn tr×nh vµ 1 tiÕn tr×nh cã thÓ r¬i vµo
tr¹ng th¸i chê ®îi khi ch−a ®−îc ph©n phèi CPU.
- HÖ ®iÒu hµnh thêi gian thùc (Real time)
Mét tiÕn tr×nh khi ®· x©m nhËp vµo hÖ thèng th× ë bÊt kú lóc nµo ®Òu ®−îc
ph©n phèi CPU.
5. C¸c tÝnh chÊt c¬ b¶n cña hÖ ®iÒu hµnh
a. Tin cËy
- Mäi ho¹t ®éng cña H§H ®Òu ph¶i chuÈn x¸c tuyÖt ®èi.
- Th«ng tin cña H§H ®−a ra ph¶i chÝnh x¸c vµ ph¶i ng¨n ngõa c¸c sai sãt ngÉu
nhiªn, h¹n chÕ c¸c sai sãt cè ý.
- VÝ dô
A:\> copy A:\f1.txt C:
+ KiÓm tra xem cã tån t¹i c¹c ®Üa kh«ng (control card)
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 10/96
+ KiÓm tra xem cã tån t¹i æ ®Üa A:
+ KiÓm tra xem cã tån t¹i ®Üa A
+ KiÓm tra kh¶ n¨ng truy nhËp ®Üa tõ
+ KiÓm tra cã tån t¹i tÖp f1.txt
+ KiÓm tra cã ®äc ®−îc tÖp hay kh«ng
+ LÆp l¹i víi C:
- H§H ph¶i cã nh÷ng ph−¬ng tiÖn kiÓm tra tÝnh ®óng ®¾n cña d÷ liÖu trong khi
thao t¸c.
b. An toµn
- HÖ thèng cè g¾ng b¶o vÖ th«ng tin, cè g¾ng chèng c¸c tr−êng hîp truy nhËp
kh«ng hîp thøc.
- Chøc n¨ng b¶o vÖ th«ng tin ®−îc chia thµnh nhiÒu møc:
+ C¸c møc do hÖ thèng ®¶m nhiÖm: VÝ dô trong c¸c hÖ thèng UNIX, khi
muèn xo¸ hay söa ®æi néi dung mét tÖp, ng−êi sö dông ph¶i cã quyÒn xo¸
söa ®èi víi file ®ã.
+ Cã møc do ng−êi sö dông ®¶m nhiÖm: LÖnh DEL *.* cña MSDOS, hÖ
thèng hái l¹i ng−êi sö dông mét lÇn n÷a ®Ó tr¸nh sai sãt v« ý.
c. Kh¸i qu¸t theo thêi gian
- H§H ph¶i cã tÝnh kÕ thõa tõ c¸c hÖ thèng cò
- H§H còng ph¶i cã kh¶ n¨ng thÝch nghi víi nh÷ng thay ®æi trong t−¬ng lai.
d. HiÖu qu¶
- C¸c tµi nguyªn cña hÖ thèng ph¶i ®−îc khai th¸c tèi −u.
- H§H ph¶i duy tr× ®ång ®é trong toµn bé hÖ thèng.
e. ThuËn tiÖn
- H§H ph¶i th©n thiÖn víi ng−êi sö dông do ®ã H§H ph¶i cã nhiÒu h×nh th¸i
giao tiÕp:
+ Giao tiÕp d¹ng dßng lÖnh
+ Giao tiÕp d¹ng thùc ®¬n (Menu)
+ Giao tiÕp d¹ng biÓu t−îng
6. Nguyªn lý x©y dùng ch−¬ng tr×nh H§H
a. Module
- H§H ph¶i ®−îc x©y dùng tõ c¸c module ®éc lËp nh−ng cã kh¶ n¨ng liªn kÕt
thµnh mét hÖ thèng cã thÓ thu gän hoÆc më réng tuú ý.
- C¸c module ®ång cÊp quan hÖ víi nhau th«ng qua d÷ liÖu vµo vµ ra.
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 11/96
- Tån t¹i quan hÖ ph©n cÊp khi c¸c liªn kÕt c¸c module t¹o thµnh nh÷ng
module cã kh¶ n¨ng gi¶i quyÕt c¸c vÊn ®Ò phøc t¹p h¬n.
b. Phñ chøc n¨ng
- Mét c«ng viÖc cã thÓ thùc hiÖn b»ng nhiÒu c¸ch kh¸c nhau.
- VÝ dô
Muèn in tÖp f1.txt
+ C:\> copy f1.txt prn
+ C:\> type f1.txt >prn
+ C:\> print f1.txt
c. Marco-processor
- Khi cã mét c«ng viÖc cô thÓ, hÖ thèng sÏ x©y dùng c¸c yªu cÇu, liÖt kª c¸c
b−íc ph¶i thùc hiÖn tõ ®ã x©y dùng ch−¬ng tr×nh t−¬ng øng, sau ®ã thùc hiÖn
ch−¬ng tr×nh nãi trªn.
- VÝ dô: Trong MSDOS ta cã c¸c tÖp config.sys vµ autoexec.bat
d. Nguyªn lý b¶ng tham sè ®iÒu khiÓn
- HÖ thèng kh«ng tham chiÕu trùc tiÕp ®Õn thiÕt bÞ, ®èi t−îng vËt lý mµ chØ lµm
viÖc víi b¶ng tham sè x¸c ®Þnh ®Æc tr−ng cña thiÕt bÞ ®ã.
- B¶ng tham sè ®−îc hÖ thèng x©y dùng ngay trong qu¸ tr×nh lµm viÖc
- VÝ dô
B¶ng tham sè cña mét m¸y tÝnh PC ®−îc l−u trong CMOS 64byte
- Lîi Ých cña viÖc sö dông b¶ng tham sè
+ Truy nhËp thùc hiÖn c«ng viÖc nhanh víi CPU
+ Kh«ng phô thuéc vµo c¸c thiÕt bÞ vËt lý cô thÓ
- VÝ dô:
Bªn c¹nh b¶ng tham sè ®−îc l−u trong CMOS cßn cã c¸c b¶ng tham sè
trong tÖp config.sys vµ autoexec.bat cho phÐp ta thay ®æi gi¸ trÞ c¸c biÕn m«i
tr−êng cña MSDOS.
Files = Sè_tÖp_më_tèi_®a
e. Nguyªn lý gi¸ trÞ chuÈn
- H§H chuÈn bÞ b¶ng gi¸ trÞ cña c¸c tham sè gäi lµ b¶ng gi¸ trÞ chuÈn. Trong
tr−êng hîp mét module hoÆc mét c©u lÖnh cã nhiÒu tham sè vµ ng−êi sö dông
kh«ng nªu hÕt c¸c gi¸ trÞ tham sè th× H§H ph¶i lÊy gi¸ trÞ trong b¶ng gi¸ trÞ
chuÈn bæ xung vµo c¸c tham sè thiÕu.
- VÝ dô:
C:\>TP70>Dir
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 12/96
+ §Üa nµo? Th−êng trùc: §Üa C:
+ Th− môc nµo? Th−êng trùc: C:\Tp70
+ Xem g×? Xem tÊt c¶ c¸c tÖp
+ §−a ra ®©u? §−a ra thiÕt bÞ ra chuÈn: Mµn h×nh
+ §−a ra nh− thÕ nµo? §Çy ®ñ th«ng tin
- Tham sè
+ Tham sè vÞ trÝ: XuÊt hiÖn theo vÞ trÝ vµ theo dßng tham sè.
+ Tham sè kho¸ ®−îc x©y dùng theo tõ kho¸ vµ cã thÓ xuÊt hiÖn ë vÞ trÝ bÊt
kú, tr×nh tù bÊt kú.
- VÝ dô
C:\> format A: /q
+ LÖnh format ®Üa
+ Tham sè vÞ trÝ: §Üa A
+ Tham sè kho¸: Format nhanh
f. Nguyªn lý b¶o vÖ nhiÒu møc
- Ch−¬ng tr×nh vµ d÷ liÖu ph¶i ®−îc b¶o vÖ nhiÒu møc b»ng nhiÒu kho¸.
- VÝ dô trong Linux
+ Møc 1: Ng−êi sö dông ph¶i cã tµi kho¶n míi ®−îc sö dông m¸y tÝnh.
+ Møc 2: ChØ nh÷ng ng−êi sö dông thuéc nhãm A míi ®−îc truy nhËp vµ tÖp
chung cña nhãm A.
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 13/96
7. Thµnh phÇn cña H§H vµ kiÕn tróc H§H
a. Thµnh phÇn cña H§H
- Ng«n ng÷ lµm viÖc vµ giao tiÕp
HÖ ®iÒu hµnh ph¶i cã Ýt nhÊt 3 ng«n ng÷ lµm viÖc vµ giao tiÕp phôc vô cho
c¸c ®èi t−îng kh¸c nhau.
+ Ng«n ng÷ m¸y: Lµ ng«n ng÷ thùc hiÖn duy nhÊt cña hÖ thèng v× vËy cßn
gäi lµ ng«n ng÷ thùc hiÖn. Mäi ng«n ng÷ kh¸c ®Òu ph¶i ®−îc ¸nh x¹ sang
ng«n ng÷ nµy.
+ Ng«n ng÷ vËn hµnh: Lµ ng«n ng÷ gióp thao t¸c viªn giao tiÕp víi hÖ
thèng. VÝ dô: ng«n ng÷ MSDOS.
+ Ng«n ng÷ thuËt to¸n: Lµ ng«n ng÷ chñ yÕu gióp ng−êi sö dông giao tiÕp
víi hÖ thèng. VÝ dô ng«n ng÷ Pascal, C, Visual Basic. Mçi ng«n ng÷ cã
thÓ cã nhiÒu ch−¬ng tr×nh dÞch ®Ó ¸nh x¹ sang ng«n ng÷ m¸y.
- HÖ thèng qu¶n lý tµi nguyªn: Supervisor
§©y lµ hÖ thèng phôc vô ph©n phèi vµ qu¶n lý tµi nguyªn.
b. KiÕn tróc H§H
CT øng dông
CT øng dông
Giao tiÕp
COMMAND
MSDOS.SYS
DÞch vô
IO.SYS
Nh©n
BIOS
Nh©n lµ phÇn chÝnh cña H§H lµm c¸c nhiÖm vô nh− qu¶n lý bé nhí, qu¶n
lý tiÕn tr×nh, ph©n chia tµi nguyªn Nh©n chØ ®¶m nhiÖm c¸c chøc n¨ng c¬ b¶n
nhÊt, cã kÝch th−íc nhá ®Ó gi¶m ®Õn møc tèi thiÓu lçi.
DÞch vô lµ phÇn më réng c¸c chøc n¨ng cña H§H cho phÐp khai th¸c tµi
nguyªn hÖ thèng vµ hç trî ng−êi dïng nh− qu¶n lý tÖp, qu¶n lý th− môc, th− ®iÖn
tö, truyÒn tÖp.
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 14/96
Giao tiÕp lµ phÇn t¹o ra m«i tr−êng giao tiÕp gi÷a ng−êi sö dông vµ m¸y
tÝnh.
8. C¸c h×nh th¸i giao tiÕp
a. H×nh th¸i dßng lÖnh
Ng−êi sö dông giao tiÕp víi H§H qua c¸c dßng lÖnh, mçi lÖnh cã c¸c
tham sè t−¬ng øng.
- −u ®iÓm
+ DÔ x©y dùng vµ gi¶m c«ng søc cho ng−êi x©y dùng hÖ thèng.
+ Ng−êi sö dông cã thÓ ®−a tham sè cña lÖnh mét c¸c chÝnh x¸c theo mong
muèn.
- Nh−îc ®iÓm
+ Tèc ®é ®−a lÖnh vµo chËm, ng−êi sö dông ph¶i nhí c¸c tham sè.
+ §èi víi c¸c thao t¸c viªn kh«ng cã kinh nghiÖm, th× h×nh th¸i giao tiÕp.
nµy g©y c¶n trë ®Õn hiÖu qu¶ lµm viÖc.
+ H×nh th¸i giao tiÕp nµy bÞ c¶n trë bëi hµng rµo ng«n ng÷.
b. H×nh th¸i thùc ®¬n
Ng−êi sö dông giao tiÕp víi H§H th«ng c¸c c¸c thùc ®¬n, c¸c thùc ®¬n
th−êng cã d¹ng tr¶i xuèng (Popup). Mçi mét thùc ®¬n con t−¬ng øng víi mét
chøc n¨ng. C¸c tham sè cã thÓ ®−îc ®−a vµo th«ng qua giao tiÕp víi ng−êi sö
dông.
- −u ®iÓm
+ H×nh th¸i nµy kh«ng yªu cÇu nhí lÖnh
+ Ng−êi sö dông cã thÓ truy nhËp vµo thùc ®¬n qua bµn phÝm hoÆc qua
chuét.
- Nh−îc ®iÓm
+ H×nh th¸i giao tiÕp nµy bÞ c¶n trë bëi hµng rµo ng«n ng÷.
+ §«i khi c¸c tõ trªn thùc ®¬n kh«ng nªu bËt ®−îc chøc n¨ng cña nã
c. H×nh th¸i cöa sæ biÓu t−îng
Ng−êi sö dông giao tiÕp víi H§H th«ng c¸c c¸c thanh c«ng cô vµ c¸c biÓu
t−îng. Mçi mét biÓu t−îng t−¬ng øng víi mét chøc n¨ng. C¸c tham sè cã thÓ
®−îc ®−a vµo th«ng qua giao tiÕp víi ng−êi sö dông.
- −u ®iÓm
+ H×nh th¸i nµy kh«ng yªu cÇu nhí lÖnh
+ Ng−êi sö dông kh«ng bÞ hµng rµo ng«n ng÷ g©y c¶n trë.
- Nh−îc ®iÓm
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 15/96
+ Cã thÓ cã rÊt nhiÒu biÓu t−îng do ®ã g©y sù nhËp nh»ng vÒ chøc n¨ng.
+ Kh«ng thuËn lîi khi thao t¸c b»ng bµn phÝm
d. H×nh th¸i kÕt hîp
HÖ ®iÒu hµnh th−êng kÕt hîp nhiÒu h×nh th¸i giao tiÕp ®Ó t¹o ra tÝnh th©n
thiÖn víi ng−êi sö dông. VÝ dô: viÖc kÕt hîp thùc ®¬n víi c¸c biÓu t−îng, hoÆc
kÕt hîp gi÷a c¸c biÓu t−îng vµ c¸c tõ gîi ý (tooltip).
H×nh th¸i giao tiÕp kÕt hîp nµy kh¾c phôc ®−îc c¸c nh−îc ®iÓm cña c¸c
h×nh th¸i giao tiÕp ®¬n lÎ.
9. Giíi thiÖu vÒ MSDOS
a. LÞch sö cña DOS
- Nh÷ng n¨m 1980, h·ng Intel cho ra ®êi bé vi xö lý 16 bÝt 8086. Jim Paterson
®· bá c«ng søc x©y dùng hÖ ®iÒu hµnh míi cho lo¹i m¸y tÝnh sö dông bé vi
xö lý nµy ®ã lµ 86-DOS. H§H nµy ®· cè g¾ng kh¾c phôc nh÷ng ®iÓm yÕu cña
hÖ ®iÒu hµnh tr−íc ®ã lµ CP/M.
- Microsoft ®· mua l¹i H§H cña Jim Paterson vµ ph¸t triÓn thµnh hÖ ®iÒu hµnh
PCDOS hay MSDOS. Phiªn b¶n ®Çu tiªn cña MSDOS thÕ hÖ 1.0 ra ®êi vµo
8/1981.
- C¸c c¶i tiÕn cña MSDOS 1.0 so víi CP/M
+ Cã thªm lo¹i ch−¬ng tr×nh ch¹y EXE bªn c¹nh c¸c ch−¬ng tr×nh COM.
+ H§H t¸ch bé xö lý lÖnh thµnh mét phÇn néi tró vµ mét phÇn ngo¹i tró.
+ §Ó tiÖn lîi cho viÖc qu¶n lý ®Üa ng−êi ta ®−a ra b¶ng File Allocation Table
viÕt t¾t lµ FAT ®Ó qu¶n lý ®Üa. Mçi phÇn tö cña b¶ng FAT t−¬ng øng víi
521 byte trªn ®Üa gäi lµ sector, chØ ra sector nµy ®· cã d÷ liÖu hay cßn tù
do.
+ MSDOS 1.0 cho phÐp xö lý l« (batch) mét sè lÖnh cña MSDOS b»ng c¸ch
t¹o mét tÖp batch.
+ Ngµy th¸ng t¹o hay cËp nhËt tÖp còng ®−îc l−u tr÷ cïng víi th«ng tin cña
tÖp.
Phiªn b¶n MSDOS 2.0 ra ®êi vµo n¨m 1983
Phiªn b¶n MSDOS 3.0 ra ®êi vµo n¨m 1984
Phiªn b¶n MSDOS 4.0 ra ®êi vµo n¨m 1988
b. C¸c thµnh phÇn cña MSDOS
- BIOS: Chøa c¸c ch−¬ng tr×nh cña supervisor vµ qu¶n lý tÖp nh−ng ch−a kÕt
nèi thµnh hÖ thèng. Do ®ã cÇn ch−¬ng tr×nh kÝch ho¹t.
- Ch−¬ng tr×nh måi Boot Strap Loader: n»m ë sector ®Çu tiªn cña ®Üa tõ dïng
®Ó kÝch ho¹t toµn bé ch−¬ng tr×nh hÖ thèng.
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 16/96
- IO.SYS: D−íi sù hç trî cña BSL bao lÊy BIOS, cung cÊp c¸c dÞch vô c¬ b¶n
nhÊt nh− chia sÎ tµi nguyªn, qu¶n lý bé nhí.
- MSDOS.SYS: më réng IO.SYS lÇn n÷a
- COMMAND.COM: liªn l¹c gi÷a ng−êi sö dông vµ hÖ thèng, chøa c¸c lÖnh
néi tró.
- C¸c lÖnh ngoµi: lµ thµnh phÇn më réng theo tõng lÜnh vùc.
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 17/96
Ch−¬ng 2. HÖ thèng xö lý ng¾t trong IBM PC
1. Kh¸i niÖm vÒ ng¾t vµ xö lý ng¾t trong IBM PC
- Ng¾t lµ hiÖn t−îng t¹m ngõng thùc hiÖn mét tiÕn tr×nh ®Ó chuyÓn sang thùc
hiÖn mét tiÕn tr×nh kh¸c khi cã mét sù kiÖn x¶y ra trong hÖ thèng tÝnh to¸n.
Cã thÓ hiÓu t¹m nghÜa “thùc hiÖn mét tiÕn tr×nh” lµ thùc hiÖn mét ch−¬ng
tr×nh, tiÕn tr×nh bÞ ng¾t cã thÓ coi lµ ch−¬ng tr×nh chÝnh, cßn tiÕn tr×nh xö lý
ng¾t cã thÓ coi lµ ch−¬ng tr×nh con.
- Ch−¬ng tr×nh con xö lý ng¾t lµ mét ch−¬ng tr×nh ng«n ng÷ m¸y hoµn toµn
b×nh th−êng. Ch−¬ng tr×nh nµy ®Þa chØ kÕt thóc b»ng lÖnh IRET (Interupt
RETurn), nã ra lÖnh cho bé xö lý quay vÒ thùc hiÖn tiÕp ch−¬ng tr×nh chÝnh
®óng tõ chç mµ nã bÞ ng¾t.
CÊt gi÷ c¸c thanh ghi
Kh«i phôc c¸c thanh ghi
Ch−¬ng tr×nh chÝnh
Ch−¬ng tr×nh con
- §èi víi c¸c hÖ thèng tÝnh to¸n viÖc gäi ng¾t dïng cho viÖc c¸c bé phËn kh¸c
nhau cña hÖ thèng tÝnh to¸n b¸o cho processor biÕt vÒ kÕt qu¶ thùc hiÖn c«ng
viÖc cña m×nh.
2. Ph©n lo¹i ng¾t
Cã nhiÒu tiªu chÝ ®Ó ph©n lo¹i ng¾t
- Ph©n lo¹i theo ng¾t trong vµ ng¾t ngoµi
+ Ng¾t trong lµ ng¾t do c¸c tÝn hiÖu cña procesor b¸o cho processor
+ Ng¾t ngoµi lµ ng¾t do c¸c tÝnh hiÖu bªn ngoµi b¸o cho processor
- Ph©n lo¹i theo sù sö dông
+ Ng¾t dµnh cho H§H sö dông. NÕu thay ®æi xö lý ng¾t nµy sÏ lµm thay ®æi
chøc n¨ng cña hÖ thèng.
+ Ng¾t dµnh cho ng−êi sö dông
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 18/96
+ Ng¾t dù tr÷, hoÆc lµ ®Ó cho H§H sö dông sau nµy hoÆc ®Ó ng−êi sö dông
dïng cho môc ®Ých riªng.
- Ph©n lo¹i ng¾t cøng vµ ng¾t mÒm, ®©y lµ c¸ch ph©n lo¹i phæ biÕn nhÊt
a. Ng¾t mÒm
- Lµ ng¾t ®−îc gäi b»ng mét lÖnh ë trong ch−¬ng tr×nh. LÖnh gäi ng¾t tõ
ch−¬ng tr×nh ng«n ng÷ m¸y lµ lÖnh INT (INTerupt), c¸c lÖnh gäi ng¾t tõ
ch−¬ng tr×nh ng«n ng÷ bËc cao sÏ ®−îc dÞch thµnh lÖnh INT.
b. Ng¾t cøng
- Lµ ng¾t ®−îc gäi bëi c¸c ch−¬ng tr×nh ®−îc cøng ho¸ trong c¸c m¹ch ®iÖn tö.
- Ng¾t cøng ®−îc chia lµm hai lo¹i:
+ Ng¾t cøng che ®−îc (Maskable Interupt)
Lµ ng¾t cã thÓ dïng mÆt n¹ ®Ó ng¨n cho kh«ng ng¾t ho¹t ®éng. Ta cã thÓ
®Æt c¸c bÝt trong mÆt l¹ b»ng lÖnh CLI (CLear Interupt flag).
VÝ dô: Ng¾t chuét lµ ng¾t cøng cã thÓ bÞ che.
+ Ng¾t cøng kh«ng che ®−îc (Non Maskable Interupt)
Lµ ng¾t kh«ng thÓ dïng mÆt n¹ che ®−îc.
VÝ dô: Ng¾t 2 b¸o hiÖu cã lçi trong bé nhí.
Ng¾t cøng kh«ng che ®−îc cã ®é −u tiªn cao nhÊt vµ ®−îc CPU phôc vô
tr−íc tÊt c¶ c¸c ng¾t kh¸c.
3. Quy tr×nh xö lý ng¾t
a. Quy tr×nh xö lý ng¾t
Quy tr×nh xö lý ng¾t ®−îc chia thµnh 5 b−íc
- B−íc 1:
L−u ®Æc tr−ng sù kiÖn g©y ng¾t vµo n¬i quy ®Þnh
- B−íc 2:
L−u tr¹ng th¸i cña tiÕn tr×nh bÞ ng¾t vµo n¬i quy ®Þnh
- B−íc 3:
ChuyÓn ®iÒu khiÓn tíi ch−¬ng tr×nh xö lý ng¾t
- B−íc 4:
Thùc hiÖn ch−¬ng tr×nh xö lý ng¾t, tøc lµ xö lý sù kiÖn
- B−íc 5:
Kh«i phôc tiÕn tr×nh bÞ ng¾t
b. Ch−¬ng tr×nh con vµ ch−¬ng tr×nh xö lý ng¾t
- Gièng nhau
Khi thùc hiÖn xong c«ng viÖc, hai ch−¬ng tr×nh ®Òu trë vÒ ch−¬ng tr×nh ë
møc trªn nã.
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 19/96
Ba b−íc thùc hiÖn ®Çu tiªn ®Òu gièng nhau
- Kh¸c nhau
Ch−¬ng tr×nh con
Khi chóng ta cã lêi gäi ch−¬ng
tr×nh con, chóng ta cÇn biÕt
®Ých x¸c ch−¬ng tr×nh con n»m
t¹i ®©u. Ch−¬ng tr×nh chÝnh vµ
ch−¬ng tr×nh con ®−îc g¾n kÕt
víi nhau thµnh mét tiÕn tr×nh
duy nhÊt.
Ch−¬ng tr×nh xö lý ng¾t
Ch−¬ng tr×nh bÞ ng¾t vµ
ch−¬ng tr×nh xö lý ng¾t lµ
2 tiÕn tr×nh ®éc lËp, 2 tiÕn
tr×nh nµy kh«ng biÕt th«ng
tin cña nhau. Trong
ch−¬ng tr×nh bÞ ng¾t còng
kh«ng cã lêi gäi ®Õn
ch−¬ng tr×nh xö lý ng¾t.
Trong ch−¬ng tr×nh chÝnh ta
ph¶i khai b¸o th− viÖn c¸c
ch−¬ng tr×nh con.
4. B¶ng vector ng¾t
Khi ng¾t ®−îc t¹o ra, n¬i ph¸t sinh nã kh«ng cÇn biÕt ®Þa chØ cña ch−¬ng
tr×nh xö lý ng¾t t−¬ng øng mµ chØ cÇn biÕt sè hiÖu ng¾t. Sè hiÖu nµy chØ ®Õn mét
phÇn tö trong mét b¶ng gäi lµ b¶ng c¸c vector ng¾t n»m ë vïng cã ®Þa chØ thÊp
nhÊt trong bé nhí vµ chøa ®Þa chØ cña ch−¬ng tr×nh con xö lý ng¾t. §Þa chØ b¾t
®Çu cña mçi ch−¬ng tr×nh con ®−îc x¸c ®Þnh bëi ®Þa chØ ®o¹n vµ ®Þa chØ offset
®−îc ®Æt tr−íc ®o¹n.
Hai ®Þa chØ nµy ®Òu lµ 16 bit (2 byte), nh− vËy mçi ®Þa chØ ng¾t chiÕm 4
byte trong bé nhí. M¸y tÝnh PC cã 256 ng¾t kh¸c nhau ®−îc ®¸nh sè tõ 0 ®Õn
255 do vËy ®é dµi cña c¶ b¶ng do vËy sÏ lµ 256*4 = 1024. B¶ng vector ng¾t
chiÕm c¸c « nhí tõ ®Þa chØ 0 ®Õn 3FFh. Sè thø tù cña ng¾t b»ng sè thø tù cña
vector ng¾t. §Þa chØ cña ch−¬ng tr×nh xö lý sè i ®−îc chøa trong b¶ng vÐc t¬ ng¾t
tõ ®Þa chØ offset 4*(i-1) ®Õn 4*(i-1) + 3.
Mét sè ng¾t th−êng dïng
STT Sè hiÖu ng¾t
1
00
2
04
3
08
4
09
Lª TiÕn Dòng
Chøc n¨ng
Ng¾t chia cho 0
Ng¾t trµn sè
Ng¾t thêi gian
Ng¾t bµn phÝm
BM C«ng nghÖ phÇn mÒm
HÖ ®iÒu hµnh
trang 20/96
5
6
7
8
9
10
11
12
10H
19H
20H
21H
25H/26H
27H
33H
67H
Ng¾t phôc vô mµn h×nh
Ng¾t khëi ®éng hÖ thèng
KÕt thóc ch−¬ng tr×nh
Gäi c¸c hµm cña DOS
§äc/ghi ®Üa
KÕt thóc nh−ng th−êng tró
Ng¾t phôc vô chuét
Qu¶n lý bé nhí më réng
5. Gäi ng¾t trong Assembler
- VÝ dô: Gäi ng¾t 10 h Èn con trá
Mov AH,1
Mov CX,0100H
INT 10H
- Gi¶i thÝch
Cho CH = 1, dßng ®Çu tiªn cña ma trËn hiÓn thÞ con trá
Cho CL = 0, dßng cuèi cïng cña ma trËn hiÓn thÞ con trá
Nh− vËy CH < CL v× vËy con trá kh«ng hiÖn ra mµn h×nh
- Nhóng ng«n ng÷ Assembler vµo trong m«i tr−êng PASCAL
uses crt;
begin
writeln('...');
asm
mov AH,1
mov CX,$0100
end;
readkey;
end.
6. Gäi ng¾t trong Pascal
Pascal cung cÊp hai thñ tôc ®Ó gäi ng¾t trong th− viÖn Dos
- Thñ tôc Intr
procedure Intr(IntNo: Byte; var Regs: Registers);
®Ó gäi ng¾t víi mét sè hiÖu ng¾t bÊt kú
- Thñ tôc MsDos
procedure MsDos(var Regs: Registers);
®Ó gäi ng¾t 21H cña DOS.
- KiÓu b¶n ghi Registers
type
Lª TiÕn Dòng
BM C«ng nghÖ phÇn mÒm
- Xem thêm -