Ng Duc Thuan
1
nguyênlý
hỆĐIỀU HÀNH
ThS. NguyễnĐứcThuần
BộmônHệThốngThôngTin
Đ.H THUỶSẢN
Ng Duc Thuan
2
Chửụng0: Caỏutruựcheọthoỏngmaựytớnh
Ng Duc Thuan
3
Cơchếvậnhànhcủahệthống
MộthệthốngthôngthườnggồmCPU vàcácbộđiều
khiểnthiếtbò(BĐKTB -device controller). Cáctácvụcủa
CPU vàBĐKTB cóthểthựcthisong hànhvàtranhchấp
bộnhớchiasẻqua sựđiềukhiểnđồngbộcủamemory
controller.
MỗiBĐKTB phụtráchmộtloạithiếtbòcụthể(video
adapter, disk drive, )
MỗiBĐKTB cómộtbuffer riêng.
CPU chuyểndữliệutừbộnhớchínhđếnbuffer riêngcủa
cácBĐKTB vàngượclại. DữliệucủacáctácvụI/O được
chuyểntừthiếtbòđếnbuffer riêngcủaBĐKTB tươngứng.
MỗikhikếtthúcmộttácvụI/O, BĐKTB thôngbáocho
CPU bằngcáchgâyra ngắt (interrupts).
Ng Duc Thuan
4
Ngắt(interrupts)
Ngắt(interrupt) làcơchếchophéptạmngưngcôngviệc
đangđượcCPU xửlýđểphụcvụmộtyêucầukhác.
Khicóngắtxảyra, quyềnđiềukhiểnđượcchuyểngiao
chotrìnhphụcvụngắt(interrupt service routine) thông
qua bảngvector ngắt.
Cácđặcđiểmcủacơchếngắt:
–tănghiệusuấtxửlýcôngviệc–đặcbiệtlàcáctácvụI/O
–ngắtthườngđượcphátkhởibởimộtthiếtbòphầncứng
–thựchiệntheocơchếbấtđồngbộ(asynchronously) vớiprocess bò
ngắt.
Trap: ngắtmềm, phátkhởibởimộtlỗinàóhoặcdo
user yêucầu. Vídụ:
–Lỗichiacho0 (divided-by-zero), memory page fault…
HầuhếtOS làinterrupt-driven operating systems
Ng Duc Thuan
5
Chutrìnhthöïchieänleänh
Ng Duc Thuan
6
Chutrìnhlệnhvớingắtquãng
CPU kiểmtrangắtsaumỗilệnh
– polling
–vectored interrupt system
Nếukhôngcóngắt, bắtđầumộtchukỳlệnhmới
Nếucóngắtđangchờ, tạmngưngvàlưutrạngtháichươngtrìnhđang
thựcthi(Program Check, Program Status Word, cácthanhghidữliệu, ),
chuyểnqua thựcthitrìnhđiềukhiểnxửlýngắt(interrupt handler)
Ng Duc Thuan
7
I/O structure
HaiphươngthứcthựchiệnI/O
SaukhibắtđầutácvụI/O, quyềnđiềukhiểnchỉđược
trảvềkhivàchỉkhitácvụI/O hoàntất.
–CPU phảichờđếnkhitácvụI/O hoàntất
–Trongmộtthờiđiểm, cónhiềunhấtlà1 tácvụI/O
đượcthựchiện, khôngxửlýđượcđồngthờinhiềuyêu
cầuI/O.
SaukhibắtđầutácvụI/O, quyềnđiềukhiểnđượctrả
vềngaymàkhôngcầnchờhoàntấttácvụI/O
–CPU cóthểthựcthilệnhkếtiếpmàkhôngphảichờ
đếnkhitácvụI/O hoàntất
–Trongmộtthờiđiểm, cóthểcónhiềutácvụI/O được
thựchiệnđồngthời.
Ng Duc Thuan
8
HaiphöôngthöùcI/O
Synchronous I/O
Asynchronous I/O
Ng Duc Thuan
9
CáckỹthuậtthựchiệnI/O
Programmed I/O (PIO)
–Khôngdùngngắt, CPU phảichờtácvụI/O hoàntất
Interrupt-driven I/O
–CPU cóthểtiếptụcthựcthitrongsuốtquátrìnhxảyra
I/O, khitácvụI/O hoàntấtthìsẽphátramộtngắtbáo
hiệuchoCPU.
Direct Memory Access (DMA)
–Mộtkhốidữliệượcchuyểntrựctiếpgiữabộnhớvà
thiếtbòI/O màkhôngcầnqua CPU
–ThườngsửdụngchocácthiếtbòI/O cótốcđộ cao.
Ng Duc Thuan
10
Storage structure
Bộnhớchính(main memory):CPU chỉcóthểtruycập
trựctiếpthanhghi(registers) vàbộnhớRAM.
Bộnhớphụ(secondary storage):hệthốnglưutrữthôngtin
bềnvững(nonvolatile storage).
Đóatừ(magnetic disks)
–Bềmặtđóachiathànhcácrãnh(tracks), cácrãnhnàượcchia
nhỏhơnthànhcáccungtừ(sectors).
– Cylinder: tậpcáctrack tạothànhmộthìnhtrụ
– Disk controller: bộđiềukhiểnquátrìnhgiaotiếpgiữaCPU vàđóa.
Ng Duc Thuan
11
Cơchếtruyxuấtđóa
Thờigianđònhvòdữliệu-
positioning time (random-
access time) baogồm
–Seek time: thờigiandi
chuyểnđầọcđếncylinder
cầnđọc
–Rotational latency: thờigian
tìmđượcsector cầnđọcdữ
liệu.
Transfer rate:tốcđộchuyển
dữliệugiữóavàCPU
Ng Duc Thuan
12
Phâncấphệthốnglưutrữ
Hệthốnglưutrữcóthểphâncấptheocáctiêu
chuẩn
–Tốcđộ(speed, access time).
–Dung lượng(capacity)
–Giácả(cost)
–Độbềnvữngdữliệu(volatility)
Hệthốngphâncấptừtrênxuốngtheo
–Giáthànhgiảmdần
–Dung lượngtăngdần
–Thờigiantruycậptăngdần
–TầnsuấttruycậpcủaCPU giảmdần
–Chếđộlưutrữbềnvững(non-volatile)
Ng Duc Thuan
13
Phaõncaỏpheọthoỏnglửutrửừ
Ng Duc Thuan
14
Cơchếcaching
Caching: copy dữliệuvàothiếtbòlưutrữtốcđộcao
hơn.
Tạisaophảidùngbộnhớcache
–TốcđộCPU vàbộnhớchínhkhácnhau.
–Khaithácnguyênlý“locality”
Cầncóchiếnlượcquảnlýbộnhớcache thíchhợp
Trongcơchếcaching, mộtdữliệucóthểđượclưu
trữnhiềunơi ® phảibảảmtínhnhấtquándữ
liệu(consistent): bàitoáncache coherency.
Ng Duc Thuan
15
Bảovệphầncứng
Chứcnăngcủahệđiềuhànhlàkiểmtratoànbộ
hệthống.
Hệđiềuhànhcungcấpchứcnăngchiasẻtài
nguyênchonhiềuchươngtrình, vìvậyphảicócơ
chếkiểmtravàxửlýlỗiứngvớimỗimộtchương
trình. Cáclỗichươngtrìnhdo phầncứngphát
hiệnvàthôngbáochohệđiềuhànhđểraquyết
đònhchấmdứtvàthôngbáo
BảovệphầncứngbaogồmcơchếbảovệCPU,
Bộnhớ, Thiếtbònhậpxuất….
Ng Duc Thuan
16
Chửụng1:Toồng quanveHeọủieuhaứnh
Khỏinimvhiuhnh
Phõnloicỏchiuhnh
Cutrỳccahiuhnh
Lchsphỏttrincahiuhnh
Ng Duc Thuan
17
Chửụng1:Toồng quanveHeọủieuhaứnh
Khỏinimvhiuhnh
CỏcthnhphncngtỏctrongHthngCNTT gm:
phncng, HH, cỏc ngdngvngisdng
(user)
Phncng(CPU, b nh, thitbIO): tinguyờnmỏy
tớnh
Chngtrỡnh ngdng(trỡnhbiờndch, h quntr
CSDL, phnmmthngmi, trũchi) s dngti
nguyờnmỏytớnh giiquytcỏcyờucucauser.
HH lchngtrỡnhhot nggiauser vphncng
mỏytớnh, iukhinqunlýtinguyờnvphihps
dngphncngchonhng ngdngkhỏcnhau, giỳp
giaotipngi-mỏythunlihiuqu.
Ng Duc Thuan
18
Chương1:Tổng quanvềHệđiềuhành
Phầncứng
HệĐiềuHành
Chươngtrình
Users
Ng Duc Thuan
19
Chương1:Tổng quanvềHệđiềuhành
Môhìnhtrừutượngcủa1 máytính
Ng Duc Thuan
20
Chửụng1:Toồng quanveHeọủieuhaứnh
Khỏinimvhiuhnh(tt)
HH lbiuphitinguyờncamỏytớnh(thi
giansdngCPU, b nh, a, thitbIO) chocỏc
ngdng
Khicúnhiuyờucukhaithỏctinguyờn, HH phi
giiquytvn tranhchpvquyt nhcpphỏt
tinguyờnnh th nolhiuqu nht
giatnghiuqu khaithỏctinguyờn, HH phi
qunlýcỏcb KTB canhsnxut(vd: VGA
card, sound card, modem, printer, HDD)
ố Mctiờucbnca HH:
Giỳpchovicthihnhcỏcchngtrỡnhddnghn
Htr cỏcthaotrờnhthngmỏytớnhhiuqu hn
Ng Duc Thuan
21
Chửụng1:Toồng quanveHeọủieuhaứnh
Phõnloicỏchiuhnh
Hthngxlýtheolụ(batch) ngin
Hthngxlýtheolụ achng
Hthngchiaxthigian
Hthngsong song
Hthngphõntỏn
Hthngxlýthigianthc
Ng Duc Thuan
22
Chương1:Tổng quanvềHệđiềuhành
1. Hệthốngxửlýtheolôđơngiản(đơnnhiệm, đơn
chương)
Hệđiềuhànhxửlýtheolô thựchiệncáccôngviệclần
lượttheonhữngchỉthòđònhtrước. Việcthựchiệndãycác
côngviệcmộtcáchtựđộngnhờmộtchươngtrìnhluôn
nằmthườngtrútrongbộnhớmáytínhđượcgọi bộgiám
sátthườngtrực
Ưiểm:Thờigianthựchiệnchươngtrìnhnhanh.
Nhượcđiểm:CPU cònnhiềuthờigiannhànrỗikhilàm
việcthiếtbònhậpxuất:
Khắcphục:Xửlýoff_line, Spooling.
Ng Duc Thuan
23
Chương1:Tổng quanvềHệđiềuhành
Multi-programmed Systems
2. Hệthốngxửlýđachương
–Job pool: cấutrúcdữliệuchophépOS
lựachọncôngviệcđượcthựcthikếtiếp
–Nhiềucôngviệcđượcnạpvàobộnhớ
chínhcùnglúc, thờigianxửlýcủaCPU
đượcphânchiagiữacáccôngviệcđó
–Tậndùngđượcthờigianrảnh, khimột
côngviệcnàóphảichờI/O thìphải
nhườngCPU chocôngviệckhác
(overlapping CPU -I/O).
YêucầốivớiOS
–Job Scheduling
–Memory management
–CPU scheduling
–Allocation of devices
–Protection
Ng Duc Thuan
24
Chửụng1:Toồng quanveHeọủieuhaứnh
So saựnhmulti-programming vaứuni-programming
Ng Duc Thuan
25
Chương1:Tổng quanvềHệđiềuhành
3. Hệthốngchiasẻthờigian Time-Sharing (multitasking) Systems
–Multi-programmed systems khôngcungcấpkhảnăngtươngtác
vớiusers
–CPU luânphiênchuyểnđổithựcthigiữacáccôngviệc
Quátrìnhchuyểnđổixảyra thườngxuyênhơn, mỗicông
việcchỉđượcchiamộtphầnnhỏthờigianCPU
Cungcấpsựtươngtácgiữahệthốngvớiuser
–Khikếtthúcthựcthimộtlệnh, OS sẽchờlệnhkếtiếptừ
bànphímchứkhôngphảitừcard reader
MộtcôngviệcchỉđượcchiếmCPU đểxửlýkhinónằmtrong
bộnhớchính
Khicầnthiết, mộtcôngviệcnàócóthểđượcchuyểntừbộ
nhớchínhrathiếtbòlưutrữ, nhườngbộnhớchínhchocông
việckhác.