Đăng ký Đăng nhập
Trang chủ Công nghệ thông tin Hệ điều hành Bài giảng hệ điều hành...

Tài liệu Bài giảng hệ điều hành

.PDF
96
943
77

Mô tả:

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 -

Tài liệu liên quan