Giáo trình Hệ điều hành - Chương 1: Giới thiệu về hệ điều hành - Phạm Ngọc Hưng

HỆ ĐIU HÀNH  
Chương 1  
GII THIU VHỆ ĐIU HÀNH  
1. Gii thiu  
1.1. Khái nim hệ điu hành  
Hệ điu hành là mt chương trình qun lý phn cng ca máy tính.  
Nó cũng cung cp cơ scho các chương trình ng dng hot động và làm  
vic như thành phn trung gian gia người sdng vi phn cng máy  
tính.  
Hệ điu hành là mt phn quan trng ca hu hết các hthng  
máy tính. Mt hthng máy tính có thchia thành 4 thành phn: phn  
cng, hệ điu hành, các chương trình ng dng và người sdng.  
Phn cng bao gm bxlý trung tâm (CPU), bnhvà các thiết  
bvào ra - cung cp các tài nguyên tính toán cơ bn. Các chương trình  
ng dng như bxlý t, bng tính, trình duyt web - định nghĩa cách  
mà tài nguyên sẽ được xđể đáp ng yêu cu ca người sdng. Hệ  
điu hành điu khin và phi hp sdng phn cng máy tính gia các  
chương trình ng dng khác nhau cho mi người sdng khác nhau.  
Các thành phn ca hthng máy tính là phn cng, phn mm,  
dliu. Hệ điu hành cung cp phương thc để sdng mt cách đúng  
đắn, hp lý các tài nguyên đó trong quá trình điu hành hthng. Hệ  
điu hành cũng tương tnhư mt chính ph. Nó không tmình làm mi  
vic mà chỉ đơn gin là to ra môi trường để các chương trình ng dng  
khác làm vic mt cách có hiu qu. Ta có thkho sát hệ điu hành theo  
hai quan đim: theo cách nhìn tphía người sdng và theo quan đim  
hthng.  
Theo quan đim ca người sdng: Hu hết người sdng đều  
ngi trước mt máy tính cá nhân bao gm mt màn hình, bàn phím, chut  
và bxlý trung tâm. Trong trường hp này, hệ điu hành được thiết kế  
chyếu sao cho dsdng. Mt sngười dùng sdng các thiết bị đầu  
cui để kết ni ti các máy tính ln (mainframe) hoc máy tính nhỏ  
Phm Ngc Hưng  
1
Gii thiu vhệ điu hành  
(minicomputer), cùng chia stài nguyên và trao đổi dliu thì hệ điu  
hành được thiết kế sao cho khai thác được ti đa tài nguyên, đạt hiu quả  
cao nht.  
Theo quan đim hthng, hệ điu hành là công cphân phi tài  
nguyên. Mt hthng máy tính có nhiu tài nguyên như: thi gian CPU,  
bnh, thiết blưu trngoài, thiết bvào ra,... Hệ điu hành đóng vai trò  
qun lý, phân phi các tài nguyên đó sao cho chúng được sdng mt  
cách hp lý, tránh được các tranh chp, ngăn nga các li phát sinh.  
Tóm li, chúng ta chưa có mt định nghĩa hoàn chnh vhệ điu  
hành mà chcó thể định nghĩa hệ điu hành mt cách tương đối theo các  
quan đim khác nhau. Lý do tn ti ca hệ điu hành là vì đó là cách để  
gii quyết các vn đề phát sinh để hthng máy tính trnên hu dng.  
Mc tiêu cơ bn ca hệ điu hành là thc thi các chương trình ca người  
dùng và giúp người dùng gii quyết các vn mt cách ddàng hơn.  
Các mc tiêu ca hệ điu hành: Mc tiêu chính ca mt shệ điu  
hành là sthun tin cho người sdng. Hệ điu hành tn ti là vì nó hỗ  
trcho vic tính toán được tiến hành ddàng hơn. Đây là cách nhìn từ  
các hthng máy tính PCs nh. Mc tiêu chính ca mt shệ điu hành  
khác li là sự điu hành mt cách hiu quhthng máy tính. Đây là các  
hệ điu hành thiết kế cho các hthng ln, chia stài nguyên và nhiu  
người dùng.  
1.2. Các hthng máy tính ln  
Các hthng Mainframe là các hthng máy tính đầu tiên được sử  
dng để gii quyết nhiu bài toán kinh tế, khoa hc kthut.  
1.2.1. Hthng xlý gói  
Đây là nhng hthng ra đời sm, chúng có kích thước khng lồ  
được điu khin tmt bàn giao tiếp người máy (console). Thiết bvào  
cơ bn là các đầu đọc thbăng t. Đầu ra là các máy in dòng, ổ  
băng tvà thẻ đục l. Người sdng không tương tác trc tiếp vi hệ  
thng máy tính. Người dùng chun bcác chương trình, các nhim vvà  
chuyn đến người điu hành để np vào hthng qua băng đục l.  
2
Phm Ngc Hưng  
HỆ ĐIU HÀNH  
Hệ điu hành cho các thế hmáy này cũng thc sự đơn gin.  
Nhim vchyếu ca nó là chuyn đổi các điu khin mt cách tự động  
tcông vic này đến công vic kế tiếp. Hệ điu hành luôn luôn thường  
trc trong bnh.  
Để tăng tc độ xlý, người điu hành thường gom các công vic  
ging nhau thành nhóm và chy nó mt lượt.  
Trong môi trường tính toán này, CPU thường nhàn ri, bi vì tc độ  
nhp xut chm hơn rt nhiu so vi tc độ xlý ca CPU. Ngay cvi  
mt CPU chm nó cũng xlý khong thi gian mini giây (hàng nghìn lnh  
được thc hin trong mt giây), trong khi đó, mt máy đọc thnhanh  
cũng chcó thể đọc được 1200 thmi phút.  
1.2.2. Hthng đa chương trình  
Trong thc tế, nhìn chung mt người dùng không thlàm cho bộ  
xlý và các thiết bvào ra làm vic mt cách liên tc được. Để khi lãng  
phí tài nguyên ca hthng (thi gian ca CPU, thiết bnhp xut) ta cn  
phi sp xếp sao cho CPU và các thiết bnhp xut luôn luôn làm vic. Đa  
chương trình là mt gii pháp giúp gia tăng hiu qulàm vic ca máy  
tính bng cách tchc các công vic mt cách hp lý để CPU luôn luôn có  
mt chương trình thc hin.  
Hệ điu hành lưu trcùng lúc nhiu chương trình trong bnhsau  
đó ln lượt thc hin tng công vic. Trong khi mt công vic được xlý  
thì công vic khác tm chờ đến phiên mình. Trong quá trình thc hin,  
mt công vic có thtm dng để chmt tác vvào ra nào đó được  
hoàn tt, vi các hthng không đa chương trình thì khong thi gian này  
CPU sẽ ở trng thái nhàn ri (lãng phí khnăng làm vic ca CPU). Vi hệ  
thng đa chương trình, lúc này CPU có thchuyn sang thc hin mt  
nhim vkhác, điu đó giúp khai thác ti đa khnăng ca CPU hơn.  
Hot động trong chế độ đa chương trình sẽ đặt ra cho hệ điu  
hành nhiu vn đề cn phi xlý như np tt ccác chương trình vào bộ  
nhhay phi hp sdng đĩa và bnh. Khi có nhiu chương trình cùng  
đồng thi tn ti trong bnhthì chn chương trình nào thc hin. Tổ  
chc qun lý bnhsao cho các chương trình cùng tn ti trong bnhớ  
Phm Ngc Hưng  
3
Gii thiu vhệ điu hành  
không làm nh hưởng ln nhau... các vn đề này sẽ được phân tích kỹ ở  
các chương tiếp theo.  
1.2.3. Hthng chia sthi gian  
Hthng đa chương trình, xlý gói cung cp mt môi trường mà  
các tài nguyên như CPU, bnh, thiết bngoi vi được khai thác mt cách  
hiu qunhưng li không htrcho người dùng tương tác vi hthng  
máy tính. Chia sthi gian (hay đa nhim) là mt smrng ca đa  
chương trình, ở đó CPU sthc hin nhiu nhim vcùng lúc bng cách  
chuyn đổi qua li gia các chúng. Trong quá trình chuyn đổi thc hin  
gia các nhim v, người dùng có thtương tác vi tng chương trình  
trong khi nó đang chy.  
Mt hthng máy tính tương tác scung cp khnăng trao đổi  
trc tiếp gia người dùng và hthng. Người dùng có thtrc tiếp ra các  
chthị để điu hành hthng hoc các chương trình bng cách sdng  
bàn phím hay chut và chkết qa trli.  
Mt hthng chia sthi gian cho phép nhiu người dùng cùng  
chia smt máy tính đồng thi. Trong hthng chia sthi gian, các câu  
lnh thường ngn, chiếm ít thi gian ca CPU. Hthng chuyn đổi qua  
li mt cách nhanh chóng gia nhng người dùng khác nhau để luân  
phiên phc v. Vi mi người dùng, dường như họ được shu riêng mt  
CPU, mi yêu cu đều được đáp ng.  
Mt hệ điu hành chia sthi gian ssdng đa chương trình và  
slp lch cho CPU để cung cp cho mi người dùng mt khong thi gian  
nhtrong thi gian được chia sca máy tính. Mi người dùng có ít nht  
mt chương trình trong bnh. Mt chương trình được np vào bnhvà  
đang trong quá trình thc hin được gi là mt tiến trình (process). Khi  
mt tiến trình thc hin, nó thường chthc thi trong mt thi gian ngn  
ri skết thúc hoc chờ đợi tác vvào ra được hoàn tt. Tác vvào ra có  
thlà mt stương tác, khi đó có thdliu đang được hin thra màn  
hình hoc đang đợi người dùng nhp dliu vào tbàn phím hay chut.  
Tác vvào ra thường chiếm nhiu thi gian, khi đó CPU srơi vào trng  
4
Phm Ngc Hưng  
HỆ ĐIU HÀNH  
thái nhàn ri (idle), để tn dng thi gian tính toán ca CPU, hệ điu hành  
schuyn CPU sang phc vcho người dùng khác.  
1.3. Các hthng để bàn  
Các máy tính cá nhân xut hin vào thp k70. Trong nhng thp  
kỳ đầu, CPU ca các máy tính PCs còn thiếu các tính năng bo vhệ điu  
hành khi các chương trình người dùng. Hệ điu hành các máy tính cá  
nhân lúc đó chưa htrợ đa chương trình hay đa người dùng. Mc tiêu ca  
các hệ điu hành cũng đã được thay đổi theo thi gian. Thay vì tăng hiu  
dng ca CPU và các thiết bngoi vi, hthng được ci tiến để tăng khả  
năng đáp ng và stin li cho người dùng như các hthng PCs sử  
dng hệ điu hành Microsoft Windows và Apple Macintosh.  
Các hệ điu hành cho các máy tính PCs đã thu được li nhun bng  
nhiu cách, tvic phát trin hệ điu hành cho các máy tính ln. Máy vi  
tính đã ngay lp tc thích ng vi mt scông nghệ được phát trin cho  
các hệ điu hành ln. Mt khác, giá ca máy vi tính đã gim, và người ta  
cũng không cn phi quan tam nhiu đến vic phát huy ti đa hiu quả  
làm vic ca CPU.  
1.4. Các hthng đa xlý  
Hu hết các hthng cho đến nay là các hcó có mt bxlý,  
nghĩa là trên mi máy chcó mt chip CPU. Mc dù vy các hthng đa  
xlý (hay còn được gi là các hthng song song - parallel systems hay  
các hthng cp đối - coupled systems) là mt sphát trin quan trng.  
Các hthng này có nhiu CPU cùng chia sbus chung, đồng, bnh,  
thiết bngoi vi và có khnăng liên lc vi nhau.  
Các hthng nhiu CPU có 3 ưu đim chính sau:  
- Tăng khnăng thông sut: bng cách tăng slượng CPU, chúng  
ta có thhy vng scó nhiu công vic được hoàn thành trong mt thi  
gian ngn hơn nhưng không phi theo đúng tlthi gian, nghĩa là không  
phi có n bxlý thì sthc hin được nhanh hơn n ln.  
- Kinh tế hơn: các hthng đa CPU stiết kim chi phí hơn so vi  
hthng chcó mt CPU bi vì chúng có thchia scác thiết bngoi vi,  
Phm Ngc Hưng  
5
Gii thiu vhệ điu hành  
blưu trchính, ngun đin,... Nhiu chương trình có thcùng làm vic  
trên mt tp hp dliu thay vì phi lưu trữ ở trên đĩa và sao chép cho  
mi chương trình mt bn.  
- Tăng độ tin cy: các chc năng được chia cho nhiu bxlý, vì  
vy nếu có li xy ra cũng không làm ngưng hthng, nó chlàm cho hệ  
thng bchm đi. Nếu ta có 10 CPU và có mt CPU bli, khi đó các CPU  
còn li schia sphn công vic ca CPU bhng. Tc độ ca htrng  
lúc này chbchm đi 10%, tuy nhiên hthng không bngưng do li ca  
CPU đó.  
Xlý liên tc trong scó mt ca li đòi hi phi có kthut cho  
phép phát hin, chun đoán và thm chí là khc phc li. Hthng  
Tandom sdng cphn cng và phn mm để đảm bo sliên tc và  
xlý li. Hthng bao gm 2 bxlý, mi bxlý làm vic trong mt  
vùng nhriêng ca nó. Các bxđược kết ni vào cùng mt bus. Mt  
bxlý làm vic chính, mt bxđóng vai trò dphòng, nó scha  
bn sao ca bxlý chính. Nếu có li xy ra, bn sao sẽ được kích hot  
từ đim làm vic tt nht gn thi đim xy ra li.  
Hu hết các hthng đa CPU hin nay đều dùng đa xđối xng  
(SMP-symetric multiprocessing), trong đó mi CPU chy mt bn sao ca  
hệ điu hành và mi bn sao đó có thgiao tiếp vi bn sao khác nếu  
cn. Mt shthng sdng đa xlý bt đối xng, trong đó mi bxử  
lý gn vi mt nhim v. Mt bxlý chính điu khin hthng, các bộ  
xlý còn li đợi bxlý chính ra lnh hoc thc hin mt nhim vụ đã  
được giao sn. Đây là mô hình làm vic theo kiu chính ph(cht). Bộ  
xlý chính slp lch để phân phi công vic cho các bxlý thcp.  
SMP là tt ccác bxlý có vai trò ngang nhau, không tn ti mi  
quan hchính ph. Mi bxlý cùng chy song song mt bn sao ca hệ  
điu hành. Phiên bn Encore ca Unix viết cho máy Multimax là mt ví dụ  
cho hthng xđối xng. Hthng này có hàng tá bxlý, tt cả đều  
chy các bn sao ca Unix. Li ích ca mô hình này là có nhiu tiến trình  
cùng chy song song.  
1.5. Các hthng phân tán  
6
Phm Ngc Hưng  
HỆ ĐIU HÀNH  
Các hthng phân tán được xây dng trên cshtng mng.  
Các máy tính được kết ni vi nhau thông qua hthng mng. Các công  
vic, và dliu có thể được chia thành nhiu phn, mi máy tính trong hệ  
thng đảm nhim mt phn công vic. Kết qucác phn tiêng lẻ được  
hp li để cho mt kết quln vi hiu qulàm vic vượt tri so vi hệ  
thông chcó mt máy tính.  
Hthng này cũng tương tnhư hthng chia sthi gian nhưng  
các bxlý không chia sbnhđồng h, thay vào đó mi bxlý  
có bnhcc briêng. Các bxlý thông tin vi nhau thông qua các  
đường truyn thông như nhng bus tc độ cao hay đường dây đin  
thoi.  
Các bxlý trong hphân tán thường khác nhau vkích thước và  
chc năng. Nó có thbao gm máy vi tính, trm làm vic, máy mini, và  
nhng hthng máy ln. Các bxlý thường được gi vi nhiu tên khác  
nhau như site, node, computer .... tùy thuc vào trng thái làm vic ca  
chúng.  
Các ưu đim chính ca hthng phân tán là:  
- Chia stài nguyên : Mt người sdng A có thsdng máy  
in laser ca người sdng B và người sdng B có thtruy xut nhng  
tp tin ca A. Tng quát, chia stài nguyên trong hthng phân tán cung  
cp mt cơ chế để chia stp tin vtrí xa, xlý thông tin trong mt cơ  
sdliu phân tán, in n ti mt vtrí xa, sdng nhng thiết bị ở xa để  
thc hin các thao tác.  
- Tăng tc độ tính toán : Mt thao tác tính toán được chia làm  
nhiu phn nhcùng thc hin mt lúc. Hthng phân tán cho phép  
phân chia vic tính toán trên nhiu vtrí khác nhau để tính toán song  
song.  
- An toàn : Nếu mt vtrí trong hthng phân tán bhng, các vị  
trí khác vn tiếp tc làm vic.  
- Thông tin liên lc vi nhau: Có nhng lúc , chương trình cn  
chuyn đổi dliu tvtrí này sang vtrí khác. Ví dtrong hthng  
Windows, thường có schia svà chuyn dliu gia các ca s. Khi các  
Phm Ngc Hưng  
7
Gii thiu vhệ điu hành  
vtrí được ni kết vi nhau trong mt hthng mng, vic trao đổi dliu  
din ra rt d. Người sdng có thchuyn tp tin hay các E-mail cho  
nhau tcùng vtrí hay nhng vtrí khác.  
1.6. Các hthng Clustered  
Tương tmt hthng làm vic song song. Hthng này liên kết  
nhiu CPU vi nhau để cùng làm vic. Sc mnh ca hthng là sc  
mnh tng hp ca các CPU.  
1.7. Các hthng thi gian thc  
Hthng xlý thi gian thc được sdng khi có nhng đòi  
hi kht khe vthi gian trên các thao tác ca bxlý hoc dòng dliu,  
nó thường được dùng điu khin các thiết btrong mt ng dng riêng  
bit. Máy tính phân tích dliu và có thchnh các điu khin để thay đổi  
các cm biến vào.  
Mt hệ điu hành xlý thi gian thc phi được định nghĩa tt,  
thi gian xlý nhanh. Hthng phi cho kết quchính xác trong khong  
thi gian bthúc ép nhanh nht. Có hai hthng xlý thi gian thc là hệ  
thng thi gian thc cng và hthng thi gian thc mm.  
Hthng thi gian thc cng là công vic được hoàn tt đúng lúc.  
Khi đó dliu thường được lưu trong bnhngn hn hay trong ROM.  
Vic xlý theo thi gian thc sxung đột vi tt chthng đã nói đến ở  
trên.  
Dng thhai là hthng thi gian thc mm, mi công vic có mt  
độ ưu tiên riêng và sẽ được thi hành theo độ ưu tiên đó. Có mt slĩnh  
vc áp dng hu hiu phương pháp này là multimedia hay thc ti o.  
1.8. Các hthng cm tay  
Hthng cm tay bao gm các máy trgiúp kthut scá nhân  
(PDAs-Personal Digital Assistants) như Palm-Pilots hay cellular telephone  
vi skết ni đến mt mng như mng Internet. Sphát trin ca các hệ  
thng cm tay và các ng dng ca nó đang đối mt vi nhiu thách  
thc, hu hết đang thc hin trong shn chế vkích thước ca các thiết  
8
Phm Ngc Hưng  
HỆ ĐIU HÀNH  
b. Vshn chế vkích thước mà các hthng cm tay thường có bộ  
nhnh, tc độ ca bxlý thp, màn hình hin thnh.  
Nhiu các thiết bcm tay có bnhchtrong khong t512KB  
đến 8MB, trong khi đó các máy PCs hay các trm làm vic có đến hàng  
trăm MB bnh. Đây là mt lý do đò hi hệ điu hành cũng như các  
chương trình ng dng phi qun lý và sdng bnhmt cách có hiu  
qunht.  
Vn đề thhai nh hưởng ti sphát trin ca các hthng cm  
tay là tc độ ca các bxlý trong mi thiết bthường không cao. Bxử  
lý ca hu hết các hthng cm thay chchy bng mt phn ltc độ  
ca bxlý trong mt máy PC.  
Vn đề thba là màn hình hin thcó kích thước nh. Trong khi  
màn hình cho các máy tính PCs có lên đến 21 inches thì màn hình ca các  
máy cm tay không vượt quá 3 inches vuông. Vi các ni dung ln,  
thường được thhin mt cách ddàng trên các máy PCs thì giờ đây phi  
chi ra và thhin tng phn trên màn hình ca máy cm tay.  
Mt smáy tính cm tay sdng công nghkhông dây như  
BlueTooth, cho phép truy cp txa ti thư đin tvà duyt web.  
1.9. Lch sphát trin ca hệ điu hành  
Thế h1 (1945 – 1955)  
Vào khong gia thp niên 1940, Howard Aiken Havard và John  
von Neumann Princeton, đã thành công trong vic xây dng máy tính  
dùng ng chân không (đèn đin t). Nhng máy này rt ln vi hơn  
10000 ng chân không nhưng chm hơn nhiu so vi máy rnht ngày  
nay.  
Mi máy được mt nhóm thc hin tt ctthiết kế, xây dng lp  
trình, thao tác đến qun lý. Lp trình bng ngôn ngmáy tuyt đối,  
thường là bng cách dùng bng điu khin để thc hin các chc năng cơ  
bn. Ngôn nglp trình chưa được biết đến và hệ điu hành cũng chưa  
nghe đến.  
Vào đầu thp niên 1950, phiếu đục lra đời và có thviết chương  
trình trên phiếu thay cho dùng bng điu khin.  
Phm Ngc Hưng  
9
Gii thiu vhệ điu hành  
Thế h2 (1955 – 1965)  
Sra đời ca thiết bbán dn vào gia thp niên 1950 làm thay đổi  
bc tranh tng th. Máy tính trnên đủ tin cy hơn. Nó được sn xut và  
cung cp cho các khách hàng. Ln đầu tiên có sphân chia rõ ràng gia  
người thiết kế, người xây dng, người vn hành, người lp trình, và người  
bo trì.  
Để thc hin mt công vic (mt chương trình hay mt tp hp các  
chương trình), lp trình viên trước hết viết chương trình trên giy (bng  
hp nghay FORTRAN) sau đó đục ltrên phiếu và cui cùng đưa phiếu  
vào máy. Sau khi thc hin xong nó sxut kết qura máy in.  
Hthng xlý theo lô ra đời, nó lưu các yêu cu cn thc hin lên  
băng t, và hthng sẽ đọc và thi hành ln lượt. Sau đó, nó sghi kết  
qulên băng txut và cui cùng người sdng sẽ đem băng txut đi  
in.  
Hthng xlý theo lô hot động dưới sự điu khin ca mt  
chương trình đặc bit là tin thân ca hệ điu hành sau này. Ngôn nglp  
trình sdng trong giai đon này chyếu là FORTRAN và hp ng.  
Thế h3 (1965 – 1980)  
Trong giai đon này, máy tính được sdng rng rãi trong khoa  
hc cũng như trong thương mi. Máy IBM 360 là máy tính đầu tiên sử  
dng mch tích hp (IC). Từ đó kích thước và giá cca các hthng  
máy gim đáng kvà máy tính càng phbiến hơn. Các thiết bngoi vi  
dành cho máy xut hin ngày càng nhiu và thao tác điu khin bt đầu  
phc tp.  
Hệ điu hành ra đời nhm điu phi, kim soát hot động và gii  
quyết các yêu cu tranh chp thiết b. Chương trình hệ điu hành dài cả  
triu dòng hp ngvà do hàng ngàn lp trình viên thc hin.  
Sau đó, hệ điu hành ra đời khái nim đa chương. CPU không phi  
chthc hin các thao tác nhp xut. Bnhớ được chia làm nhiu phn,  
mi phn có mt công vic (job) khác nhau, khi mt công vic chthc  
hin nhp xut CPU sxlý các công vic còn li. Tuy nhiên khi có nhiu  
công vic cùng xut hin trong bnh, vn đề là phi có mt cơ chế bo  
10  
Phm Ngc Hưng  
HỆ ĐIU HÀNH  
vtránh các công vic nh hưởng đến nhau. Hệ điu hành cũng cài đặt  
thuc tính spool.  
Giai đon này cũng đánh du sra đời ca hệ điu hành chia sẻ  
thi gian như CTSS ca MIT. Đồng thi các hệ điu hành ln ra đời như  
MULTICS, UNIX và hthng các máy mini cũng xut hin như DEC PDP-1.  
Thế h4 (t1980)  
Giai đon này đánh du sra đời ca máy tính cá nhân, đặc bit là  
hthng IBM PC vi hệ điu hành MS-DOS và Windows sau này. Bên  
cnh đó là sphát trin mnh ca các hệ điu hành ta Unix trên nhiu  
hmáy khác nhau như Linux. Ngoài ra, từ đầu thp niên 90 cũng đánh  
du sphát trin mnh mca hệ điu hành mng và hệ điu hành phân  
tán.  
1.10. Môi trường tính toán  
- Môi trường tính toán truyn thng  
- Môi trường tính toán da trên csWeb  
- Môi trường tính toán nhúng  
1.11. Câu hi và bài tp  
1. Ba mc tiêu chính ca hệ điu hành là gì?  
2. Lit kê 4 bước cn thiết để thc hin mt chương trình trên mt  
hthng riêng bit hoàn thin.  
3. Các ưu đim chính ca đa chương trình là gì?  
4. Skhác nhau cơ bn gia các hệ điu hành cho các máy tính  
Mainframe và các máy PCs  
5. Hãy chra các đặc đim cơ bn ca các hệ điu hành sau: Gói  
(Batch), Tương tác (Interactive), Chia sthi gian (Time sharing), Thi  
gian thc (Real time), Mng (Network), Song song (Parallel), Phân tán  
(Distributed), Cm (Clustered), cm tay (HandHeld).  
6. Hãy chra các khó khăn chính trong vic phát hệ điu hành cũng  
như chương trình ng dng cho các hthng cm tay.  
7. Chra các ưu đim chính ca hthng đa chương trình, hệ  
thng phân tán và hthng có nhiu bxlý.  
Phm Ngc Hưng  
11  
Gii thiu vhệ điu hành  
2. Cu trúc hthng máy tính  
2.1. Điu hành hthng máy tính  
Mt máy tính thông thường bao gm mt CPU và mt scác trình  
điu khin thiết bkết ni vi nhau thông qua mt bus chung, nó htrợ  
cho vic truy nhp đến bnhớ được chia s. Mi trình điu khin thiết bị  
tương ng vi mt kiu thiết b(ví dnhư trình điu khin đĩa, âm thanh,  
màn hình). CPU và các trình điu khin có thlàm vic song song, tính  
toán trong các vòng bnh. Để đảm bo cho vic truy cp mt cách đúng  
đắn vào bnhchia s, mt trình điu khin bnhscung cp chc  
năng đồng bhoá vic truy nhp bnh.  
Mt máy tính lúc bt đầu chy (khi bt công tc ngun hoc khi  
động li), nó cn phi có mt chương trình khi động. Chương trình khi  
động này (chương trình bootstrap) thông thường được lưu trong ROM  
hoc EEPROM trong phn cng ca máy tính. Nó khi động tt ccác bộ  
phn ca hthng, tcác thanh ghi, đến các bộ điu khin thiết b, đến  
bnh. Chương trình khi động phi biết làm thế nào để np hệ điu  
hành và bt đầu đưa hthng vào hot động. Để đáp ng yêu cu này,  
chương trình khi động phi tìm và np nhân ca hệ điu hành vào bộ  
nh. Nhân hệ điu hành sbt đầu các xlý ca mình và chờ đợi các sự  
kin xut hin.  
Các skin thường xut hin dưới dng mt tín hiu ngt tphn  
cng hoc phn mm. Phn cng có thlàm phát sinh mt ngt bng  
cách gi mt tín hiu đến CPU thông qua bus hthng. Phn mm phát  
sinh ngt bng cách thc hin mt điu khin đặc bit được gi là li gi  
hthng (system call).  
Trong hthng có nhiu ngt, tương ng vi mi ngt là mt số  
đon mã lnh thc hin công vic tương ng vi ngt được kích hot.  
Khi CPU bngt, nó sngưng công vic đang làm ngay lp tc và  
chuyn sang thc hin chương trình phc vngt tương ng. Sau khi  
12  
Phm Ngc Hưng  
HỆ ĐIU HÀNH  
thc hin xong yêu cu ngt, CPU li thc hin tiếp công vic đang thc  
hin dti vtrí gián đon bi ngt.  
Ngt là mt phn quan trng trong kiến trúc ca mt máy tính. Vi  
mi máy tính đều được thiết kế sn mt sngt, ngoài ra các ngt còn  
được định nghĩa bi hệ điu hành và các chương trình ng dng. Khi có  
ngt, hthng phi ngay lp tc chuyn điu khin đến chương trình xử  
lý ngt tương ng càng nhanh càng tt. Để thun li trong qun lý cũng  
như xác định các chương trình xlý tương ng vi mi ngt người ta định  
nghĩa ra mt bng cha địa chcác chương trình xlý ngt tương ng vi  
tng ngt. Bng này được gi là bng vector ngt (Interrupt table). Bng  
vector ngt gm nhiu phn t, mi phn tlà mt con tr, trỏ đến địa  
chbt đầu ca chương trình xlý tương ng vi ngt đó. Các ngt được  
đại din bi mt con s(gi là shiu ngt). Shiu ngt là chsố để trỏ  
đến mt phn ttrong bng vector ngt. Bng vector ngt thường được  
lưu vùng nhthp. Trong khí đó, các chương trình xlý tương ng li  
được lưu vùng nhcao.  
Khi mt ngt được gi, chương trình xlý tương ng vi nó sẽ  
được thc hin. trong quá trình thc hin, chương trình này có thlàm  
thay đổi trng thái hin ti ca hthng (trng thái ca chương trình  
đang bgián đon) như thay đổi các thanh ghi, ngăn xếp,... Để đảm bo  
cho chương trình bngt có ththc hin tiếp sau khi xlý ngt xong,  
trước khi chương trình xlý ngt được thc hin, trng thái ca hthng  
cn được ct givà chúng sẽ được khôi phc li trước khi thc hin tiếp  
chương trình bgián đon.  
2.2. Kiến trúc vào ra  
Như đã đề cp phn trước, mt máy tính thông thường bao gm  
mt CPU và các bộ điu khin thiết bị được kết ni vi nhau thông qua  
mt bus chung. Mi bộ điu khin thiết bsẽ đảm nhim mt thiết bcụ  
th. Trên mi trình điu khin thiết bcó thcó nhiu thiết bị được ni  
Phm Ngc Hưng  
13  
Gii thiu vhệ điu hành  
vào. Ví dmt trình điu khin giao din máy tính nhSCSI (Small  
Computer System Interface) có thđến 7 hoc là nhiu hơn na các  
thiết bni vào. Mt trình điu khin thiết bduy trì mt svùng lưu trữ  
trung gian (buffer storage) riêng và mt tp các thanh ghi công dng  
chung. Thiết bị điu khin này đáp ng cho vic di chuyn dliu gia  
các thiết bngoi vi. Kích thước bnhớ đệm là khác nhau tuthuc vào  
thiết bsẽ được điu khin. Ví dkích thước cùng nhớ đệm ca thiết bị  
điu khin đĩa là mt hoc nhiu vùng nhnhnht được đánh địa chỉ  
trên đĩa được gi là sector, thông thướng là 512 byte.  
Các ngt vào ra  
Để bt đầu mt điu khin vào ra, CPU np các thanh ghi tương  
ng vi bộ điu khin thiết b. Bộ điu khin thiết bskim tra ni dung  
các thanh ghi để xác định hành động cn thc hin.  
Khi mt ngt xut hin, trước hết hệ điu hành xác định xem thiết  
bnào gây ra ngt. Sau đó nó được lp chmc vào trong bng các ngt  
thiết bvào ra để xác định trng thái ca thiết bị đó và thay đổi đim truy  
nhp để phn ánh sxut hin ca ngt. Vi hu hết các thiết b, mt tín  
hiu ngt hoàn thin mt yêu cu vào ra. Nếu có thêm các yêu cu trong  
hàng đợi cho thiết bnày, hệ điu hành stiến hành xlý các yêu cu kế  
tiếp.  
Cu trúc DMA  
Vic chuyn đổi dliu tcác thiết bvào ra thông thường đều qua  
xlý ca CPU, điu này làm cho vic truyn dliu din ra chm vì để  
truyn dliu cn phi phát sinh ngt để yêu cu CPU. CPU phi mt  
nhiu thi gian để thc hin hết các quy trình trong xlý ngt. Hơn thế  
na, vic CPU phi dng li để chuyn sang phc vvic chuyn dliu  
slàm gim hiu qutính toán ca CPU.  
Để gii quyết vn đề này, gi pháp truy nhp trc tiếp bnhDMA  
(Direct Memory Access) được sdng để tăng tc độ cho các hot động  
chuyn dliu vào ra, nht là đối vi các thiết bvào ra tc độ cao. Sau  
khi thiết lp bộ đệm, con trvà bộ đếm cho thiết bvào ra, bộ điu khin  
thiết bschuyn mt khi dliu trc tiếp đến bnhmà không ngt  
14  
Phm Ngc Hưng  
HỆ ĐIU HÀNH  
CPU, không cn ti xlý ca CPU. Chmt ngt duy nht được to ra cho  
mi khi chkhông phi cho tng byte hay tng word như ở các thiết bị  
tc độ thp.  
Các hot động cơ bn ca CPU cũng tương t. Mt chương trình  
người dùng, hoc bn thân hệ điu hành có thyêu cu truyn dliu.  
Hệ điu hành phi tìm mt bộ đệm (bbộ đệm rng cho hot động vào  
hoc đầy cho hot động ra). Kế đến, mt bphn ca hệ điu hành được  
gi là mt bộ điu khin thiết bsthiết lp các thanh ghi điu khin DMA  
để sdng tương ng vi địa chngun, địa chỉ đích và độ dài truyn.  
Tiếp theo bộ điu khin DMA ra lnh bt đầu hot động vào ra. Trong khi  
DMA thc hin vic truyn dliu thì CPU được tdo để thc hin các  
nhim vkhác.  
2.3. Kiến trúc lưu trữ  
Mt chương trình máy tính để thc hin được, nó cn phi được  
np vào trong bnhchính (RAM). Bnhchính là mt vùng lưu trln  
mà bxlý có thtruy nhp trc tiếp. Bnhnày là mt mng các từ  
nh(Word). Mi tnhđịa chriêng ca nó. Các lnh được chuyn từ  
bnhchính vào trong các thanh ghi ca CPU để thc hin.  
Mt cách lý tưởng, chúng ta mong mun chương trình và dliu  
được np cố định vào bnhchính, nhưng điu này là không khthi vì  
các lý do sau:  
- Bnhchính luôn luôn quá nhso vi tt ccác chương trình  
vào dliu cn thiết.  
- Dliu sbmt khi ngt đin.  
Vì vy, hu hết các hthng máy tính đều cung cp thiết blưu trữ  
thcp (Secondary Storage) để mrng bnhchính. Yêu cu chính đối  
vi thiết blưu trthcp là nó có thlưu trữ được mt khi lượng ln  
dliu lâu dài.  
Hu hết các thiết blưu trthcp là đĩa t. Nó cung cp khả  
năng lưu trcchương trình và dliu. Hu hết các chương trình ng  
dng (trình duyt, chương trình dch, bxlý t, bng tính,...) đều được  
lưu trên đĩa cho đến khi nó được np vào bnh. Nhiu các chương trình  
Phm Ngc Hưng  
15  
Gii thiu vhệ điu hành  
sau đó coi đĩa như là ngun và đích để np và lưu trthông tin trong quá  
trình xlý.  
Dù sao đi na thì các thiết blưu trchúng ta va mô t(bao gm  
các thanh ghi, bnhchính, đĩa t) chlà mt trong snhiu hthng  
lưu tr. Các thiết blưu trnày còn có thlà Cache, CD-ROM, băng t,...  
Mi hthng lưu trữ đều cung cp các chc năng lưu trdliu cho đến  
khi chúng được dùng trli. Skhác nhau cơ bn gia chúng là giá  
thành, tc độ, kích thước và độ ổn định.  
Bnhchính  
Bnhchính và các thanh ghi được thiết kế trong bxlý là thiết  
blưu trchính duy nht mà bxlý có thtruy nhp trc tiếp đến. Các  
lnh máy ly địa chbnhnhư các tham schkhông ly địa chỉ đĩa. Vì  
vy, bt ccâu lnh nào cn thc hin cũng như dliu trước khi được  
xlý, chúng phi mt trong các thiết blưu trcó thtruy nhp trc  
tiếp này. Nếu chúng không trong bnhthì cn phi được np vào  
trước khi CPU cn đến chúng.  
Trong trường hp vào ra, mi bộ điu khin thiết bscó các thanh  
ghi để cha các câu lnh và dliu sẽ được truyn. Thông thường, các  
lnh vào ra đặc bit scho phép chuyn dliu gia các thanh ghi và bộ  
nh. Để tăng hiu qutruy cp ti các thiết bvào ra, nhiu kiến trúc máy  
cung cp mt ánh x(bn đồ) vào ra. Khi đó, mt khong địa chsẽ được  
dành riêng để ánh xti các thành ghi ca bộ điu khin. Đọc và ghi vào  
địa chbnhớ đó skhiến cho dliu được truyn đến hoc đi khi các  
thanh ghi ca bộ điu khin thiết b. Phương pháp này thích hp cho các  
thiết bcó thi gian trli nhanh như bộ điu khin màn hình. Vic hin  
thvăn bn trên màn hình nói chung chỉ đơn gin là ghi văn bn vào vtrí  
tương ng trong bnh.  
Bnhánh xvào ra còn mang li hiu qucho nhiu các thiết bị  
khác như các cng ni tiếp và song song dùng để kết ni ti modem và  
máy in vi máy tính. Để chuyn dliu qua các thiết bnày, CPU tiến  
hành ghi hay đọc mt sthanh ghi được gi là cng vào ra.  
16  
Phm Ngc Hưng  
HỆ ĐIU HÀNH  
Đĩa từ  
Đĩa tlà phương tin lưu trcho phép ta lưu trlâu dài mt khi  
lượng ln thông tin, khi cn có thể đọc li mt cách nhanh chóng nhkhả  
năng truy nhp ngu nhiên.  
Đĩa tcó nhiu li ích khác nhau thqua các đặc đim như: cu  
to, giá thành, dung lượng, tc độ ghi đọc, cht liu,...  
Băng từ  
Là nhng thiết blưu trlâu dài dtrên tính cht nhim tca kim  
loi phbmt băng. Đây là thiết bcó khnăng lưu trkhi lượng ln  
thông tin nhưng tc độ truy nhp chm, phi truy nhp tun t, khó bo  
qun. Các bộ điu khin băng tthường được phân loi theo độ rng, bao  
gm 4, 8 và 19 milimeters, 1/4 và 1/2 inch.  
BnhCache  
Là bnhớ đệm nm vtrí trung gian gia bnhchính và CPU.  
Chúng có tc độ truy nhp cao, dung lượng nhdùng cho mc đích lưu li  
nhng dliu đã được truy nhp để có thdùng li ln sau mà không  
cn phi truy nhp bnhthêm ln na. Cách tchc này làm gia tăng  
đáng ktc thc hin chương trình.  
2.4. Phân cp lưu trữ  
Các thiết blưu trcó thphân cp theo trt tdưới đây da vào  
tc độ và giá c.  
Thanh ghi  
Cache  
Bnhớ  
Đĩa quang từ  
Đĩa từ  
Đĩa quang  
Băng từ  
Hình 2.1: Kiến trúc thiết blưu trữ  
Phm Ngc Hưng  
17  
Gii thiu vhệ điu hành  
Trình tvà sni kết các hthng nhthhin như sau:  
Bnhớ  
chính  
Thanh  
ghi  
Đĩa từ  
Cache  
Hình 2.2: Trình tkết ni các thiết bị  
2.5. Bo vphn cng  
Các thế hmáy tính thi kỳ đầu thiết kế cho mt người dùng,  
người lp trình và điu hành hthng. Khi nhng người lp trình điu  
hành máy tính tmt bàn điu khin (console), hphi hoàn thành tt cả  
các điu khin thông qua hthng. Khi hệ điu hành được phát trin,  
chúng thay con người điu hành hthng. Chúng giám sát hot động ca  
hthng và thc hin nhiu các chc năng, đặc bit là hot động vào ra  
(là hot động vt vđầy các khó khăn đối vi người lp trình cũng như  
người điu khin hthng trước đó).  
Thêm vào đó, để ci tiến các tin ích ca hthng, hệ điu hành  
bt đầu chia scác tài nguyên hthng cho mt scác chương trình thc  
hin mt cách song song. Mt chương trình thc hin vic tính toán, trong  
khi chương trình khác li thc hin vic vào ra.  
Vic chia snày va là sci tiến nhưng cũng đồng thi làm ny  
sinh các vn đề. Khi hthng chy mà không chia stài nguyên thì mt  
li phát sinh trong mt chương trình chlàm nh hưởng đến bn thân  
chương trình đó. Nhưng vi schia s, nhiu chương trình có thbị ảnh  
hưởng bi li do mt chương trình gây ra.  
Nếu không có cơ chế bo vchng li mt sli, hthng phi  
làm vic trong chế độ chmt chương trình được thc hin trong mt thi  
đim hoc tt ccác dliu đầu ra đều không đáng tin cy. Mt hệ điu  
hành được thiết kế để đảm bo cho mt li ca chương trình này không  
gây ra các sai sót cho các chương trình khác.  
Nhiu các li chương trình đã được phát hin bi phn cng. Các  
li này bình thường được hệ điu hành xlý. Nếu mt chương trình ca  
người sdng gây li vì mt lý do nào đó - như thc hin mt lnh sai,  
truy nhp đến địa chvùng nhkhông thuc phm vi ca chương trình -  
18  
Phm Ngc Hưng  
HỆ ĐIU HÀNH  
phn cng sby li đó và chuyn nó cho hệ điu hành thông qua vector  
ngt. Khi mt chương trình gây li, hệ điu hành phi kết thúc bt thường  
chương trình đó. Vn đề này được xlý như mt yêu cu kết thúc bt  
thường ca người dùng. Mt thông báo li thích hp sẽ được to ra, và  
vùng nhca chương trình được ghi li (dump). Thông thường được ghi  
vào mt file để người dùng hoc người lp trình có thkim tra, qua đó  
có thkhc phc và khi động li chương trình.  
Chế độ thc thi kép (Dual Mode Operation)  
Để đảm bo cho các hot động bình thường, ta phi bo vhệ điu  
hành, các chương trình ng dng và dliu khi bt cchương trình bli  
nào. Hướng gii quyết đưa ra bi nhiu hệ điu hành là cung cp các hỗ  
trphn cng cho phép nhiu chế độ xlý khác nhau.  
Ít nht chúng ta cn 2 chế độ xlý: chế độ người dùng và chế độ  
giám sát. Mt bit được gi bit chế độ (mode bit) được thêm vào phn  
cng để xác định chế độ hin hành: giám sát (0), người dùng (1). Nhờ  
vào bit chế độ, chúng ta có thphân bit gia mt nhim vphía người  
dùng và mt nhim vphía qun trhthng.  
thi đim khi động, phn cng bt đầu bng chế độ giám sát.  
Hệ điu hành được np vào và sau đó khi động các xlý ca người dùng  
trong chế độ người dùng. Khi mt by li hoc ngt xut hin, hthng  
schuyn tchế độ người dùng sang chế độ giám sát (thay đổi bit chế  
độ). Vì thế mà hệ điu hành nm được quyn điu khin máy tính. Hệ  
điu hành luôn luôn chuyn sang chế độ người dùng trước khi nó trao  
quyn điu khin cho mt chương trình người dùng.  
Chế độ thc hin kép (dual mode of operation) cung cp khnăng  
bo vhệ điu hành khi nhng li do người sdng gây ra. Chúng ta có  
ththc hin được các bo vnày bi vic thiết kế mt slnh đặc  
quyn. Phn cng chcho phép các lnh đặc quyn này được thc hin  
trong chế độ giám sát. Nếu cththc hin mt lnh đặc quyn trong  
chế độ người dùng, phn cng skhông chp nhn, coi như mt lnh sai  
và by nó để chuyn cho hệ điu hành xlý.  
Phm Ngc Hưng  
19  
Gii thiu vhệ điu hành  
Bo vvào ra  
Để tránh cho người dùng thc hin các lnh vào ra gây li, chúng  
ta phi định nghĩa tt ccác lnh vào ra đều là nhng lnh đặc quyn,  
chúng phi được thc hin thông qua hệ điu hành. Để hoàn thành được  
nhim vbo vvào ra, chúng ta phi đảm bo người dùng không bao  
gicó thđược quyn điu khin máy tính trong chế độ giám sát.  
Khi xem xét mt chương trình thc hin trong chế độ người dùng,  
ta thy nó vn có thchuyn sang chế độ giám sát khi mt ngt hoc mt  
by li xut hin. Nếu chương trình người dùng thay đổi địa chvector  
ngt để nó trỏ đến phn xlý ca chương trình người dùng thì khi ngt  
được đáp ng, quyn điu khin sẽ được chuyn cho chương trình người  
dùng ngay trong chế độ giám sát. Trong thc tế, có nhiu cách để chương  
trình người dùng chiếm được quyn điu khin hthng trong chế độ  
giám sát. Thêm vào đó, nhiu lhng đã bphát hin và chúng có thlà  
lý do khiến cho vic bo vhthng bvô hiu hoá. Như vy, để thc  
hin vào ra, mt chương trình người dùng phi thc hin mt li gi hệ  
thng để yêu cu hệ điu hành thc hin tác vvào ra. Hệ điu hành  
thc hin trong chế độ giám sát, kim tra nếu yêu cu ca người dùng là  
được phép thì sthc hin. Sau đó hệ điu hành sẽ đưa hthng trli  
chế độ người dùng.  
Bo vbnhớ  
Để các đảm bo cho các xđúng, chúng ta phi bo vcác  
vector ngt khi sthay đổi ca chương trình người dùng. Thêm vào đó,  
chúng ta cũng phi bo vcác dch vngt ca hệ điu hành khi nhng  
thay đổi.  
Chúng ta đều thy scn thiết phi phi bo vbnh, ít nht là  
cho các vector ngt và các lnh phc vngt ca hệ điu hành. Thông  
thường thì chúng ta mun bo vhệ điu hành khi các truy nhp ca  
người dùng và bo vchương trình ca người dùng khi ssâm phm  
ca nhng chương trình khác. Sbo vnày phi được htrbng phn  
cng. Nó có thể được thc hin bng nhiu cách (chi tiết sẽ được tho  
20  
Phm Ngc Hưng  
Tải về để xem bản đầy đủ
pdf 40 trang Thùy Anh 05/05/2022 4560
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ điều hành - Chương 1: Giới thiệu về hệ điều hành - Phạm Ngọc Hưng", để 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_chuong_1_gioi_thieu_ve_he_dieu_hanh.pdf