Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.26 MB, 249 trang )
chng trỡnh ng dng v ngi s dng. Trong ú h iu hnh l mt b phn
quan trng v khụng th thiu ca h thng mỏy tớnh, nh cú h iu hnh m
ngi s dng cú th i thoi v khai thỏc c cỏc chc nng ca phn cng mỏy
tớnh.
Cú th núi h iu hnh l mt h thng cỏc chng trỡnh úng vai trũ trung
gian gia ngi s dng v phn cng mỏy tớnh. Mc tiờu chớnh ca nú l cung cp
mt mụi trng thun li ngi s dng d dng thc hin cỏc chng trỡnh ng
dng ca h trờn mỏy tớnh v khai thỏc trit cỏc chc nng ca phn cng mỏy
tớnh.
t c mc tiờu trờn h iu hnh phi thc hin 2 chc nng chớnh sau
õy:
Gi lp mt mỏy tớnh m rng: Mỏy tớnh l mt thit b vi in t, nú
c cu thnh t cỏc b phn nh: Processor, Memory, I/O Device, Bus, ... , do
ú i thoi hoc khai thỏc mỏy tớnh ngi s dng phi hiu c c ch hot
ng ca cỏc b phn ny v phi tỏc ng trc tip vo nú, tt nhiờn l bng
nhng con s 0,1 (ngụn ng mỏy). iu ny l quỏ khú i vi ngi s dng.
n gin cho ngi s dng h iu hnh phi che y cỏc chi tit phn cng mỏy
tớnh bi mt mỏy tớnh m rng, mỏy tớnh m rng ny cú y cỏc chc nng ca
mt mỏy tớnh thc nhng n gin v d s dng hn. Theo ú khi cn tỏc ng
vo mỏy tớnh thc ngi s dng ch cn tỏc ng vo mỏy tớnh m rng, mi s
chuyn i thụng tin iu khin t mỏy tớnh m rng sang mỏy tớnh thc hoc
ngc li u do h iu hnh thc hin. Mc ớch ca chc nng ny l: Giỳp
ngi s dng khai thỏc cỏc chc nng ca phn cng mỏy tớnh d dng v hiu
qu hn.
Qun lý ti nguyờn ca h thng: Ti nguyờn h thng cú th l:
processor, memory, I/O device, printer, file, ..., õy l nhng ti nguyờn m h iu
hnh dựng cp phỏt cho cỏc tin trỡnh, chng trỡnh trong quỏ trỡnh iu khin
s hot ng ca h thng. Khi ngi s dng cn thc hin mt chng trỡnh hay
khi mt chng trỡnh cn np thờm mt tin trỡnh mi vo b nh thỡ h iu hnh
phi cp phỏt khụng gian nh cho chng trỡnh, tin trỡnh ú chng trỡnh, tin
trỡnh ú np c vo b nh v hot ng c. Trong mụi trng h iu hnh
a nhim cú th cú nhiu chng trỡnh, tin trỡnh ng thi cn c np vo b
nh, nhng khụng gian lu tr ca b nh cú gii hn, do ú h iu hnh phi t
chc cp phỏt b nh sao cho hp lý m bo tt c cỏc chng trỡnh, tin trỡnh
khi cn u c np vo b nh hot ng. Ngoi ra h iu hnh cũn phi t
chc bo v cỏc khụng gian nh ó cp cho cỏc chng trỡnh, tin trỡnh trỏnh s
truy cp bt hp l v s tranh chp b nh gia cỏc chng trỡnh, tin trỡnh, c
bit l cỏc tin trỡnh ng thi hot ng trờn h thng. õy l mt trong nhng
nhim v quan trng ca h iu hnh.
Trong quỏ trỡnh hot ng ca h thng, c bit l cỏc h thng a ngi
dựng, a chng trỡnh, a tin trỡnh, cũn xut hin mt hin tng khỏc, ú l nhiu
chng trỡnh, tin trỡnh ng thi s dng mt khụng gian nh hay mt tp tin (d
liu, chng trỡnh) no ú. Trong trng hp ny h iu hnh phi t chc vic
chia s v giỏm sỏt vic truy xut ng thi trờn cỏc ti nguyờn núi trờn sao cho
vic s dng ti nguyờn cú hiu qu nhng trỏnh c s mt mỏt d liu v lm
hng cỏc tp tin.
Trờn õy l hai dn chng in hỡnh chỳng ta thy vai trũ ca h iu
hnh trong vic qun lý ti nguyờn h thng, sau ny chỳng ta s thy vic cp
phỏt, chia s, bo v ti nguyờn ca h iu hnh l mt trong nhng cụng vic khú
khn v phc tp nht. H iu hnh ó chi phớ nhiu cho cụng vic núi trờn t
c mc tiờu: Trong mi trng hp tt c cỏc chng trỡnh, tin trỡnh nu cn
c cp phỏt ti nguyờn hot ng thỡ sm hay mun nú u c cp phỏt v
c a vo trng thỏi hot ng.
Trờn õy l hai chc nng tng quỏt ca mt h iu hnh, ú cng
c xem nh l cỏc mc tiờu m cỏc nh thit k, ci t h iu hnh phi hng
ti. Cỏc h iu hnh hin nay cú cỏc chc nng c th sau õy:
H iu hnh cho phộp thc hin nhiu chng trỡnh ng thi trong mụi
trng a tỏc v - Multitasking Environment. H iu hnh multitasking bao
gm: Windows NT, Windows 2000, Linux v OS/2. Trong h thng multasking h
iu hnh phi xỏc nh khi no thỡ mt ng dng c chy v mi ng dng
c chy trong khon thi gian bao lõu thỡ phi dng li cho cỏc ng dng
khỏc c chy.
H iu hnh t np nú vo b nh - It loads itself into memory: Quỏ
trỡnh np h iu hnh vo b nh c gi l quỏ trỡnh Booting. Ch khi no h
iu hnh ó c np vo b nh thỡ nú mi cho phộp ngi s dng giao tip vi
phn cng. Trong cỏc h thng cú nhiu ng dng ng thi hot ng trờn b nh
thỡ h iu hnh phi chu trỏch nhim chia s khụng gian b nh RAM v b nh
cache cho cỏc ng dng ny.
H iu hnh v API: Application Programming Interface: API l mt
tp cỏc hm/th tc c xõy dng sn bờn trong h thng, nú cú th thc hin
c nhiu chc nng khỏc nhau nh shutdown h thng, o ngc hiu ng mn
hỡnh, khi ng cỏc ng dng, H iu hnh giỳp cho chng trỡnh ca ngi s
dng giao tip vi API hay thc hin mt li gi n cỏc hm/th tc ca API.
Np d liu cn thit vo b nh - It loads the requied data into
memory: D liu do ngi s dng cung cp c a vo b nh x lý. Khi
np d liu vo b nh h iu hnh phi lu li a ch ca b nh ni m d liu
c lu ú. H iu hnh phi luụn theo dừi bn cp phỏt b nh, ni d liu
v chng trỡnh c lu tr ú. Khi mt chng trỡnh cn c d liu, h iu
hnh s n cỏc a ch b nh ni ang lu tr d liu m chng trỡnh cn c
c li nú.
H iu hnh biờn dch cỏc ch th chng trỡnh - It interprets program
instructions: H iu hnh phi c v gii mó cỏc thao tỏc cn c thc hin, nú
c vit trong chng trỡnh ca ngi s dng. H iu hnh cng chu trỏch
nhim sinh ra thụng bỏo li khi h thng gp li trong khi ang hot ng.
H iu hnh qun lý ti nguyờn - It managers resources: Nú m bo
vic s dng thớch hp tt c cỏc ti nguyờn ca h thng nh l: b nh, a cng,
mỏy in,
I.1.8. Lch s phỏt trin ca h iu hnh
I.1.2.a. Th h 1 (1945 - 1955):
Vo nhng nm 1950 mỏy tớnh dựng ng chõn khụng ra i. th h ny mi mỏy
tớnh c mt nhúm ngi thc hin, bao gm vic thit k, xõy dng chng
trỡnh, thao tỏc, qun lý, ....
th h ny ngi lp trỡnh phi dựng ngụn ng mỏy tuyt i lp trỡnh.
Khỏi nim ngụn ng lp trỡnh v h iu hnh cha c bit n trong khong
thi gian ny.
I.1.2.b. Th h 2 (1955 - 1965):
Mỏy tớnh dựng bỏn dn ra i, v c sn xut cung cp cho khỏch hng. B
phn s dng mỏy tớnh c phõn chia rừ rng: ngi thit k, ngi xõy dng,
ngi vn hnh, ngi lp trỡnh, v ngi bo trỡ. Ngụn ng lp trỡnh Assembly v
Fortran ra i trong thi k ny. Vi cỏc mỏy tớnh th h ny thc hin mt thao
tỏc, lp trỡnh viờn dựng Assembly hoc Fortran vit chng trỡnh trờn phiu c
l sau ú a phiu vo mỏy, mỏy thc hin cho kt qa mỏy in.
H thng x lý theo lụ cng ra i trong thi k ny. Theo ú, cỏc thao tỏc
cn thc hin trờn mỏy tớnh c ghi trc trờn bng t, h thng s c bng t ,
thc hin ln lt v cho kt qu bng t xut. H thng x lý theo lụ hot ng
di s iu khin ca mt chng trỡnh c bit, chng trỡnh ny l h iu hnh
sau ny.
I.1.2.c. Th h 3 (1965 - 1980)
Mỏy IBM 360 c sn xut hng lot tung ra th trng. Cỏc thit b ngoi vi
xut hin ngy cng nhiu, do ú cỏc thao tỏc iu khin mỏy tớnh v thit b ngoi
vi ngy cng phc tp hn. Trc tỡnh hỡnh ny nhu cu cn cú mt h iu hnh
s dng chung trờn tt c cỏc mỏy tớnh ca nh sn xut v ngi s dng tr nờn
bc thit hn. V h iu hnh ó ra i trong thi k ny.
H iu hnh ra i nhm iu phi, kim soỏt hot ng ca h thng v
gii quyt cỏc yờu cu tranh chp thit b. H iu hnh u tiờn c vit bng
ngụn ng Assembly. H iu hnh xut hin khỏi nim a chng, khỏi nim chia
s thi gian v k thut Spool. Trong giai on ny cng xut hin cỏc h iu hnh
Multics v Unix.
I.1.2.d. Th h 4 (t 1980)
Mỏy tớnh cỏ nhõn ra i. H iu hnh MS_DOS ra i gn lin vi mỏy tớnh
IBM_PC. H iu hnh mng v h iu hnh phõn tỏn ra i trong thi k ny.
Trờn õy chỳng tụi khụng cú ý nh trỡnh by chi tit, y v lch
s hỡnh thnh ca h iu hnh, m chỳng tụi ch mun mn cỏc mc thi gian v
s ra i ca cỏc th h mỏy tớnh ch cho bn thy quỏ trỡnh hỡnh thnh ca h
iu hnh gn lin vi quỏ trỡnh hỡnh thnh mỏy tớnh. Mc tiờu ca chỳng tụi trong
mc ny l mun nhn mnh vi cỏc bn my im sau õy:
Cỏc ngụn ng lp trỡnh, c bit l cỏc ngụn ng lp trỡnh cp thp, ra
i trc cỏc h iu hnh. a s cỏc h iu hnh u c xõy dng t
ngụn ng lp trỡnh cp thp tr h iu hnh Unix, nú c xõy dng t C,
mt ngụn ng lp trỡnh cp cao.
Nu khụng cú h iu hnh thỡ vic khai thỏc v s dng mỏy tớnh s
khú khn v phc tp rt nhiu v khụng phi bt k ai cng cú th s dng
mỏy tớnh c.
S ra i v phỏt trin ca h iu hnh gn lin vi s phỏt trin ca
mỏy tớnh, v ngc li s phỏt trin ca mỏy tớnh kộo theo s phỏt trin ca
h iu hnh. H iu hnh thc s phỏt trin khi mỏy tớnh PC xut hin trờn
th trng.
Ngoi ra chỳng tụi cng mun gii thiu mt s khỏi nim nh: h
thng x lý theo lụ, h thng a chng, h thng chia s thi gian, k thut
Spool, ..., m s xut hin ca nhng khỏi nim ny ỏnh du mt bc phỏt
trin mi ca h iu hnh. Chỳng ta s lm rừ cỏc khỏi nim trờn trong cỏc
chng sau ca ti liu ny.
I.9. Mt s khỏi nim ca h iu hnh
I.2.6. Tin trỡnh (Process) v tiu trỡnh (Thread)
Tin trỡnh l mt b phn ca chng trỡnh ang thc hin. Tin trỡnh l n v lm
vic c bn ca h thng, trong h thng cú th tn ti nhiu tin trỡnh cựng hot
ng, trong ú cú c tin trỡnh ca h iu hnh v tin trỡnh ca chng trỡnh
ngi s dng. Cỏc tin trỡnh ny cú th hot ng ng thi vi nhau.
mt tin trỡnh i vo trng thỏi hot ng thỡ h thng phi cung cp y
ti nguyờn cho tin trỡnh. H thng cng phi duy trỡ ti nguyờn cho tin trỡnh
trong sut quỏ trỡnh hot ng ca tin trỡnh.
õy cn phõn bit s khỏc nhau gia tin trỡnh v chng trỡnh, chng
trỡnh l mt tp tin th ng nm trờn a, tin trỡnh l trng thỏi ng ca chng
trỡnh.
Cỏc h iu hnh hin i s dng mụ hỡnh a tiu trỡnh, trong mt tin trỡnh
cú th cú nhiu tiu trỡnh. Tiu trỡnh cng l n v x lý c bn trong h thng, nú
cng x lý tun t on code ca nú, nú cng s hu mt con tr lnh, mt tp cỏc
thanh ghi v mt vựng nh stack riờng v cỏc tiu trỡnh cng chia s thi gian x lý
ca processor nh cỏc tin trỡnh.
Cỏc tiu trỡnh trong mt tin trỡnh chia s mt khụng gian a ch chung, iu
ny cú ngha cỏc tiu trỡnh cú th chia s cỏc bin ton cc ca tin trỡnh, cú th
truy xut n stack ca tiu trỡnh khỏc trong cựng tin trỡnh. Nh vy vi mụ hỡnh
tiu trỡnh, trong h thng cú th tn ti nhiu dũng x lý cựng chia s mt khụng
gian a ch b nh, cỏc dũng x lý ny hot ng song song vi nhau.
I.2.7. B x lý lnh (Shell)
Shell l mt b phn hay mt tin trỡnh c bit ca h iu hnh, nú cú nhim v
nhn lnh ca ngi s dng, phõn tớch lnh v phỏt sinh tin trỡnh mi thc
hin yờu cu ca lnh, tin trỡnh mi ny c gi l tin trỡnh ỏp ng yờu cu.
Shell nhn lnh thụng qua c ch dũng lnh, ú chớnh l ni giao tip gia
ngi s dng v h iu hnh, mi h iu hnh khỏc nhau cú c ch dũng lnh
khỏc nhau, vi MS_DOS ú l con tr lnh v du nhc h iu hnh (C:\>_), vi
Windows 9x ú l nỳt Start\Run. Tp tin Command.Com chớnh l Shell ca
MS_DOS.
Trong mụi trng h iu hnh n nhim, vớ d nh MS_DOS, khi tin
trỡnh ỏp ng yờu cu hot ng thỡ Shell s chuyn sang trng thỏi ch, ch cho
n khi tin trỡnh ỏp ng yờu cu kt thỳc thỡ Shell tr li trng thỏi sn sng nhn
lnh mi.
Trong mụi trng h iu hnh a nhim, vớ d nh Windows 9x, sau khi
phỏt sinh tin trỡnh ỏp ng yờu cu v a nú vo trng thỏi hot ng thỡ Shell s
chuyn sang trng thỏi sn sng nhn lnh mi, nh vy Shell cú kh nng khi to
nhiu tin trỡnh ỏp ng yờu cu nú hot ng song song vi nhau, hay chớnh
xỏc hn trong mụi trng h iu hnh a nhim ngi s dng cú th khi to
nhiu chng trỡnh nú hot ng ng thi vi nhau.
Chỳ ý: Hu ht cỏc ngụn ng lp trỡnh u h tr cỏc cụng c ngi s
dng hay ngi lp trỡnh cú th gi shell ngay trong cỏc ng dng ca h. Khi mt
ng dng cn gi thc hin mt chng trỡnh no ú thỡ:
Trong Assembly, cỏc ng dng gi hm 4Bh/21h ca MS_DOS.
Trong Pascal, cỏc ng dng gi th tc Exec.
Trong Visual Basic, cỏc ng dng gi hm/ th tc Shell. Vớ d
dũng lnh sau: Shell C:\Windows\Notepad.exe cú th gi thc
hin chng trỡnh Notepad ca Windows.
Trong Windows 9x/ Windows NT, cỏc ng dng gi hm
ShellExecute.
I.2.8. S phõn lp h thng (System Layering)
Nh ó bit, h iu hnh l mt h thng cỏc chng trỡnh bao quanh mỏy tớnh
thc (vt lý) nhm to ra mt mỏy tớnh m rng (logic) n gin v d s dng
hn. Theo ú, khi khai thỏc mỏy tớnh ngi s dng ch cn tỏc ng vo lp v
bc bờn ngoi ca mỏy tớnh, mi s giao tip gia lp v bc ny vi cỏc chi tit
phn cng bờn trong u do h iu hnh thc hin.
Mi ngi s dng khỏc nhau yờu cu khai thỏc h iu hnh nhng mc
khỏc nhau. Ngi s dng thụng thng ch cn mt mụi trng thun li h
thc hin cỏc ng dng, cỏc lp trỡnh viờn cn cú mt mụi trng lp trỡnh tt h
cú th trin khai cỏc ng dng, cỏc chuyờn viờn lp trỡnh h thng cn h iu hnh
cung cp cho h cỏc cụng c h can thip sõu hn vo h thng phn cng mỏy
tớnh, ... ỏp ng yờu cu ca nhiu i tng ngi s dng khỏc nhau h iu
Ngổồỡi duỡng
Trỗnh
ổùn g duỷn g
Caùc tióỷn ờch
Ngổồỡi lỏỷp
trỗnh
Ngổồỡi thióỳt kóỳ
hóỷ õióửu haỡnh
Hóỷ õióửu haỡn h
Phỏửn cổùn g
Hỡnh 1.1 S phõn lp h thng
hnh thc hin phõn lp cỏc chng trỡnh bao quanh mỏy tớnh. Cỏc h thng nh
vy c gi l h thng phõn lp. Hỡnh v 1.1 trờn minh ho cho mt h thng
phõn lp.
Ta cú th hỡnh dung mt h thng phõn lp c t chc nh sau:
Trong cựng l h iu hnh.
Tip theo l cỏc ngụn ng lp trỡnh
...