Title: He
1Heä Ñieàu Haønh-Operating System
- Toång quan
- Process vaø threads
- Ñònh thôøi CPU
- Ñoàng boä hoaït ñoäng process
- Deadlock
- Quaûn lyù boä nhôù
- Heä thoáng file
- Heä thoáng I/O
- Heä thoáng löu tröõ phuï
- Giôùi thieäu veà heä thoáng phaân boá
2Thoâng tin caàn bieát
- Taøi lieäu hoïc taäp
- 1 Silberschatz, Galvin, Gagne, Operating
System Concepts. Seventh Edition. John Wiley
Sons, Inc. 2005. - Taøi lieäu tham khaûo
- 1 Ugur Halici, Operating Systems, Ankaras
University, 2003 - 2 Andrew S. Tanenbaum, Modern Operating
Systems. Second Edition. Prentice Hall. 2001 - 3 Silberschatz et al, Operating System
Concepts, 6th Ed., 2002 - 4 Silberschatz et al, Operating System
Principles, 7th Ed., 2006 - 5 A. Tanenbaum, Modern Operating Systems,
Prentice Hall, 2nd Ed., 2001 - Ñieåm moân hoïc
- thi giöõa kyø 20
- thi cuoái kyø 50
- baøi taäp lôùn 30
3Chapter 1 Introduction
4Chapter 1 Introduction
- Ð?nh nghia
- Các ch?c nang chính c?a OS
- L?ch s? phát tri?n
- M?t s? khái ni?m c?a h? di?u hành
- Phân lo?i h? di?u hành
- Các thành ph?n c?a h? di?u hành
- Các c?u trúc c?a h? di?u hành
- Máy ?o
- Mô hình Client/ Server
5Caùc thaønh phaàn cuûa heä thoáng maùy tính
6Ñònh nghóa
- Heä ñieàu haønh laø gì?
- Chöông trình trung gian giöõa phaàn cöùng maùy
tính vaø ngöôøi söû duïng, coù chöùc naêng ñieàu
khieån phaàn cöùng vaø cung caáp caùc dòch vuï cô
baûn cho caùc öùng duïng.
Ngöôøi duøng
Caùc öùng duïng
Heä Ñieàu Haønh
Phaàn cöùng
7Ñònh nghóa
- Muïc tieâu
- Gi? l?p m?t máy tính m? r?ng (giúp ngu?i dùng d?
dàng s? d?ng h? th?ng) - Máy tính du?c c?u thành t? Processor, Memory,
I/O Device, Bus, ... , d? d?i tho?i, khai thác
máy tính, user ph?i hi?u và ph?i tác d?ng tr?c
ti?p vào nó, b?ng nh?ng con s? 0,1 (ngôn ng?
máy). Ð? don gi?n cho ngu?i s? d?ng, OS ph?i che
d?y các chi ti?t ph?n c?ng máy tính b?i m?t máy
tính m? r?ng, máy tính m? r?ng này có d?y d? các
ch?c nang c?a m?t máy tính th?c nhung don gi?n và
d? s? d?ng hon.
8Ñònh nghóa
- Muïc tieâu
- Quaûn lyù vaø caáp phaùt taøi nguyeân heä thoáng
moät caùch hieäu quaû - Processor, memory, I/O device, printer, file,
..., là nh?ng tài nguyên mà OS dùng d? c?p phát
cho các ti?n trình, chuong trình trong quá trình
di?u khi?n s? ho?t d?ng c?a h? th?ng. - Khi c?n th?c hi?n m?t chuong trình hay khi m?t
chuong trình c?n n?p thêm m?t ti?n trình m?i thì
OS ph?i c?p phát không gian nh? cho chuong
trình, ti?n trình dó.
9Ñònh nghóa (tt)
Hình chính xaùc hôn
Hình cuûa Dror G. Feitelson
10Caùc chöùc naêng chính cuûa OS
- Phaân chia thôøi gian xöû lyù treân CPU (ñònh
thôøi) - Phoái hôïp vaø ñoàng boä hoaït ñoäng giöõa caùc
quaù trình - Quaûn lyù taøi nguyeân heä thoáng hieäu quaû
- Kieåm soaùt quaù trình truy caäp, baûo veä heä
thoáng
11Caùc chöùc naêng chính cuûa OS (tt)
- Duy trì söï nhaát quaùn cuûa heä thoáng, kieåm
soaùt loãi vaø phuïc hoài heä thoáng khi coù loãi
xaûy ra. - Cung caáp giao dieän laøm vieäc thuaän tieän cho
ngöôøi duøng
12Lòch söû phaùt trieån
- Th? h? 1 (1945 - 1955)
- Vào nh?ng nam 1950 máy tính dùng ?ng chân không
ra d?i. ? th? h? này m?i máy tính du?c m?t nhóm
ngu?i th?c hi?n, bao g?m vi?c thi?t k?, xây d?ng
chuong trình, thao tác, qu?n lý, .... - ? th? h? này ngu?i l?p trình ph?i dùng ngôn ng?
máy tuy?t d?i d? l?p trình. Khái ni?m ngôn ng?
l?p trình và h? di?u hành chua du?c bi?t d?n
trong kho?ng th?i gian này.
13Lòch söû phaùt trieån
- Th? h? 2 (1955 - 1965)
- Máy tính dùng bán d?n ra d?i, và du?c s?n xu?t d?
cung c?p cho khách hàng. B? ph?n s? d?ng máy tính
du?c phân chia rõ ràng ngu?i thi?t k?, ngu?i xây
d?ng, ngu?i v?n hành, ngu?i l?p trình, và ngu?i
b?o trì. Ngôn ng? l?p trình Assembly và Fortran
ra d?i trong th?i k? này. V?i các máy tính th? h?
này d? th?c hi?n m?t thao tác, l?p trình viên
dùng Assembly ho?c Fortran d? vi?t chuong trình
trên phi?u d?c l? sau dó dua phi?u vào máy, máy
th?c hi?n cho k?t q?a ? máy in.
14Lòch söû phaùt trieån
- Th? h? 2 (1955 - 1965)
- H? th?ng x? lý theo lô cung ra d?i trong th?i k?
này. Theo dó, các thao tác c?n th?c hi?n trên máy
tính du?c ghi tru?c trên bang t?, h? th?ng s? d?c
bang t? , th?c hi?n l?n lu?t và cho k?t qu? ?
bang t? xu?t. H? th?ng x? lý theo lô ho?t d?ng
du?i s? di?u khi?n c?a m?t chuong trình d?c bi?t,
chuong trình này là h? di?u hành sau này.
15Lòch söû phaùt trieån
- Th? h? 3 (1965 - 1980)
- Máy IBM 360 du?c s?n xu?t hàng lo?t d? tung ra
th? tru?ng. Các thi?t b? ngo?i vi xu?t hi?n ngày
càng nhi?u, do dó các thao tác di?u khi?n máy
tính và thi?t b? ngo?i vi ngày càng ph?c t?p hon.
Tru?c tình hình này nhu c?u c?n có m?t h? di?u
hành s? d?ng chung trên t?t c? các máy tính c?a
nhà s?n xu?t và ngu?i s? d?ng tr? nên b?c thi?t
hon. Và h? di?u hành dã ra d?i trong th?i k? này.
16Lòch söû phaùt trieån
- Th? h? 3 (1965 - 1980)
- H? di?u hành ra d?i nh?m di?u ph?i, ki?m soát
ho?t d?ng c?a h? th?ng và gi?i quy?t các yêu c?u
tranh ch?p thi?t b?. H? di?u hành d?u tiên du?c
vi?t b?ng ngôn ng? Assembly. H? di?u hành xu?t
hi?n khái ni?m da chuong, khái ni?m chia s? th?i
gian và k? thu?t Spool. Trong giai do?n này cung
xu?t hi?n các h? di?u hành Multics và Unix.
17Lòch söû phaùt trieån
- Th? h? 4 (t? 1980)
- Máy tính cá nhân ra d?i. H? di?u hành MS_DOS ra
d?i g?n li?n v?i máy tính IBM_PC. H? di?u hành
m?ng và h? di?u hành phân tán ra d?i trong th?i
k? này.
18Lòch söû phaùt trieån
- Tóm l?i
- Các ngôn ng? l?p trình, d?c bi?t là các ngôn ng?
l?p trình c?p th?p, ra d?i tru?c các h? di?u
hành. Ða s? các h? di?u hành d?u du?c xây d?ng t?
ngôn ng? l?p trình c?p th?p tr? h? di?u hành
Unix, nó du?c xây d?ng t? C, m?t ngôn ng? l?p
trình c?p cao. - N?u không có h? di?u hành thì vi?c khai thác và
s? d?ng máy tính s? khó khan và ph?c t?p r?t
nhi?u và không ph?i b?t k? ai cung có th? s? d?ng
máy tính du?c.
19Lòch söû phaùt trieån
- Tóm l?i
- S? ra d?i và phát tri?n c?a h? di?u hành g?n li?n
v?i s? phát tri?n c?a máy tính, và ngu?c l?i s?
phát tri?n c?a máy tính kéo theo s? phát tri?n
c?a h? di?u hành. H? di?u hành th?c s? phát tri?n
khi máy tính PC xu?t hi?n trên th? tru?ng.
20M?t s? khái ni?m c?a h? di?u hành
- Ti?n trình (Process) và ti?u trình (Thread)
- Ti?n trình là m?t b? ph?n c?a chuong trình dang
th?c hi?n. Ti?n trình là don v? làm vi?c co b?n
c?a h? th?ng, trong h? th?ng có th? t?n t?i nhi?u
ti?n trình cùng ho?t d?ng, trong dó có c? ti?n
trình c?a h? di?u hành và ti?n trình c?a chuong
trình ngu?i s? d?ng. Các ti?n trình này có th?
ho?t d?ng d?ng th?i v?i nhau. - ? dây c?n phân bi?t s? khác nhau gi?a ti?n trình
và chuong trình, chuong trình là m?t t?p tin th?
d?ng n?m trên dia, ti?n trình là tr?ng thái d?ng
c?a chuong trình.
21M?t s? khái ni?m c?a h? di?u hành
- Ti?n trình (Process) và ti?u trình (Thread)
- Các h? di?u hành hi?n d?i s? d?ng mô hình da ti?u
trình, trong m?t ti?n trình có th? có nhi?u ti?u
trình. Ti?u trình cung là don v? x? lý co b?n
trong h? th?ng - Các ti?u trình trong m?t ti?n trình chia s? m?t
không gian d?a ch? chung. Nhu v?y v?i mô hình
ti?u trình, trong h? th?ng có th? t?n t?i nhi?u
dòng x? lý cùng chia s? m?t không gian d?a ch? b?
nh?, các dòng x? lý này ho?t d?ng song song v?i
nhau.
22M?t s? khái ni?m c?a h? di?u hành(tt)
- B? x? lý l?nh (Shell)
- Shell là m?t b? ph?n hay m?t ti?n trình d?c bi?t
c?a h? di?u hành, nó có nhi?m v? nh?n l?nh c?a
ngu?i s? d?ng, phân tích l?nh và phát sinh ti?n
trình m?i d? th?c hi?n yêu c?u c?a l?nh, ti?n
trình m?i này du?c g?i là ti?n trình dáp ?ng yêu
c?u. - Shell nh?n l?nh thông qua co ch? dòng l?nh, dó
chính là noi giao ti?p gi?a ngu?i s? d?ng và h?
di?u hành, m?i h? di?u hành khác nhau có co ch?
dòng l?nh khác nhau, v?i MS_DOS dó là con tr?
l?nh và d?u nh?c h? di?u hành (C\gt_), v?i
Windows 9x dó là nút Start\Run. T?p tin
Command.Com chính là Shell c?a MS_DOS.
23M?t s? khái ni?m c?a h? di?u hành(tt)
- S? phân l?p h? th?ng (System Layering)
- M?i ngu?i s? d?ng khác nhau yêu c?u khai thác h?
di?u hành ? nh?ng m?c d? khác nhau - Ngu?i s? d?ng thông thu?ng ch? c?n m?t môi
tru?ng thu?n l?i d? h? th?c hi?n các ?ng d?ng - Các l?p trình viên c?n có m?t môi tru?ng l?p
trình t?t d? h? có th? tri?n khai các ?ng d?ng - Các chuyên viên l?p trình h? th?ng c?n h? di?u
hành cung c?p cho h? các công c? d? h? can thi?p
sâu hon vào h? th?ng ph?n c?ng máy tính, ...
24M?t s? khái ni?m c?a h? di?u hành(tt)
- S? phân l?p h? th?ng (System Layering)
- Ð? dáp ?ng yêu c?u c?a nhi?u d?i tu?ng ngu?i s?
d?ng khác nhau h? di?u hành th?c hi?n phân l?p
các chuong trình bao quanh máy tính. Các h? th?ng
nhu v?y du?c g?i là h? th?ng phân l?p.
25M?t s? khái ni?m c?a h? di?u hành(tt)
- Tài nguyên h? th?ng (System Resources)
- Tài nguyên h? th?ng là nh?ng t?n t?i v? m?t v?t
lý t?i m?t th?i di?m nh?t d?nh ho?c t?i m?i th?i
di?m, và nó có kh? nang tác d?ng d?n hi?u su?t
c?a h? th?ng. Hai lo?i tài nguyên co b?n - Tài nguyên không gian là các không gian luu tr?
c?a h? th?ng nhu dia, b? nh? chính, quan tr?ng
nh?t là không gian b? nh? chính, noi luu tr? các
chuong trình dang du?c CPU th?c hi?n. - Tài nguyên th?i gian chính là th?i gian th?c
hi?n l?nh c?a processor và th?i gian truy xu?t d?
li?u trên b? nh?.
26M?t s? khái ni?m c?a h? di?u hành(tt)
- Tài nguyên h? th?ng (System Resources)
- Ví d?
- B? nh?
- Processor
- Tài nguyên ?o/ tài nguyên logic (Virtual
Resources)Ðia ?o trong môi tru?ng MS_DOS. Ði?u
khi?n in trong môi tru?ng m?ng c?a Windows 9x/NT.
N?i dung thu m?c Spool trong Windows 9x. - Trên khía c?nh c?p phát tài nguyên cho các ti?n
trình dang ho?t d?ng d?ng th?i thì tài nguyên h?
th?ng du?c chia thành 2 lo?i - Tài nguyên phân chia du?c
- Tài nguyên không phân chia du?c
27M?t s? khái ni?m c?a h? di?u hành(tt)
- L?i g?i h? th?ng (System Calls)
- Ð? t?o môi tru?ng giao ti?p gi?a chuong trình c?a
ngu?i s? d?ng và h? di?u hành, h? di?u hành dua
ra các l?i g?i h? th?ng. Chuong trình c?a ngu?i
s? d?ng dùng các l?i g?i h? th?ng d? liên l?c v?i
h? di?u hành và yêu c?u các d?ch v? t? h? di?u
hành.
28Phân lo?i h? di?u hành
- Có nhi?u cách khác nhau d? phân lo?i h? di?u
hành, ? dây chúng tôi d?a vào cách mà h? di?u
hành th?c hi?n các công vi?c, các tác v?, các
ti?n trình c?a ngu?i s? d?ng d? phân lo?i h? di?u
hành.
29Phân lo?i h? di?u hành(tt)
- H? di?u hành x? lý theo lô don gi?n
- Th?c hi?n các tác v? l?n lu?t theo nh?ng ch? th?
dã du?c xác d?nh tru?c. Khi m?t tác v? ch?m d?t
thì h? th?ng s? t? d?ng th?c hi?n tác v? ti?p
theo mà không c?n s? can thi?p t? bên ngoài, do
dó h? th?ng d?t t?c d? th?c hi?n cao. - V?i cách t? ch?c hàng d?i tác v?, thì h? th?ng
không th? thay d?i chuong trình và d? li?u c?a
các tác v? ngay c? khi chúng còn n?m trong hàng
d?i, dây là m?t h?n ch?. M?t khác trong quá trình
th?c hi?n tác v? n?u tác v? chuy?n sang truy xu?t
trên thi?t b? vào/ra thì processor roi vào tr?ng
thái ch? di?u này gây lãng phí th?i gian x? lý
c?a processor.
30Phân lo?i h? di?u hành(tt)
- H? di?u hành x? lý theo lô da chuong
- Có kh? nang th?c hi?n nhi?u tác v?, nhi?u chuong
trình d?ng th?i. Khi c?n th?c hi?n nhi?u tác v?
d?ng th?i OS s? n?p m?t ph?n code và data c?a các
tác v? vào b? nh? (các ph?n còn l?i s? du?c n?p
sau t?i th?i di?m thích h?p) và t?t c? d?u ?
tr?ng thái s?n sàng th?c hi?n, sau dó OS b?t d?u
th?c hi?n m?t tác v? nào dó, nhung khi tác v?
dang th?c hi?n c?n truy xu?t thi?t b? vào/ra thì
processor s? du?c chuy?n sang th?c hi?n các tác
v? khác, và c? nhu th? OS t? ch?c chuy?n hu?ng
processor d? th?c hi?n h?t các ph?n tác v? trong
b? nh? cung nhu các tác v? mà h? th?ng yêu c?u.
31Phân lo?i h? di?u hành(tt)
- H? di?u hành x? lý theo lô da chuong
- H? di?u hành lo?i này mang l?i hai uu di?m dó là
ti?t ki?m du?c b? nh?, vì không n?p h?t code và
data c?a các tác v? vào b? nh?, và h?n ch? th?i
gian r?i c?a processor. Tuy nhiên nó ph?i chi phí
cao cho vi?c l?p l?ch processor, t?c là khi có
du?c processor h? di?u hành ph?i xem xét nên
chuy?n nó cho tác v? nào trong s? các tác v? dang
? tr?ng thái s?n sàng. Ngoài ra h? di?u hành còn
ph?i gi?i quy?t vi?c chia s? b? nh? chính cho các
tác v? khác nhau. H? di?u hành MS_DOS là h? di?u
hành don nhi?m, da chuong.
32Phân lo?i h? di?u hành(tt)
- H? di?u hành chia s? th?i gian
- Khái ni?m chia s? th?i gian ra d?i dã dánh d?u
m?t bu?c phát tri?n m?i c?a OS trong vi?c di?u
khi?n các h? th?ng da ngu?i dùng. Chia s? th?i
gian ? dây chính là chia s? th?i gian x? lý c?a
processor cho các tác v?, các ti?n trình dang ?
trong tr?ng thái s?n sàng th?c hi?n. - Nguyên t?c c?a h? di?u hành chia s? th?i gian
tuong t? nhu trong h? di?u hành x? lý theo lô da
chuong nhung vi?c chuy?n processor t? tác vu,
ti?n trình này sang tác v?, ti?n trình khác không
ph? thu?c vào vi?c tác v?, ti?n trình hi?n t?i có
truy xu?t d?n thi?t b? vào/ra hay không mà ch?
ph? thu?c vào s? di?u ph?i processor c?a h? di?u
hành.
33Phân lo?i h? di?u hành(tt)
- H? di?u hành chia s? th?i gian
- H? di?u hành chia s? th?i gian là m? r?ng logic
c?a h? di?u hành da chuong và nó thu?ng du?c g?i
là h? di?u hành da nhi?m (Multitasking). H? di?u
hành Windows 9x/NT là các h? di?u hành da nhi?m.
34Phân lo?i h? di?u hành(tt)
- H? di?u hành da vi x? lý
- Là các h? di?u hành dùng d? di?u khi?n s? ho?t
d?ng c?a các h? th?ng máy tính có nhi?u vi x? lý.
Các h? di?u hành da vi x? lý (multiprocessor) g?m
có 2 lo?i - Ða x? lý d?i x?ng (SMP symmetric)
- vi x? lý nào cung có th? ch?y m?t lo?i ti?u trình
b?t k?, các vi x? lý giao ti?p v?i nhau thông qua
m?t b? nh? dùng chung. - H? di?u hành Windows NT, h? di?u hành Windows
2000 là các h? di?u hành da x? lý d?i x?ng.
35Phân lo?i h? di?u hành(tt)
- H? di?u hành da vi x? lý (tt)
- Ða x? lý b?t d?i x?ng (ASMP asymmetric)
- OS dành ra m?t ho?c hai vi x? lý d? s? d?ng
riêng, các vi x? lý còn l?i dùng d? di?u khi?n
các chuong trình c?a ngu?i s? d?ng. H? ASMP don
gi?n hon nhi?u so v?i h? SMP, nhung trong h? này
n?u có m?t vi x? lý trong các vi x? lý dành riêng
cho h? di?u hành b? h?ng thì h? th?ng có th?
ng?ng ho?t d?ng. -
36Phân lo?i h? di?u hành(tt)
- H? di?u hành x? lý th?i gian th?c
- H? di?u hành này kh?c ph?c nhu?c di?m c?a h? di?u
hành x? lý theo lô, t?c là nó có kh? nang cho k?t
qu? t?c th?i, chính xác sau m?i tác v?. - Trong h? di?u hành này các tác v? c?u th?c hi?n
không du?c dua vào hàng d?i mà du?c x? lý t?c
th?i và tr? l?i ngay k?t qu? ho?c thông báo l?i
cho ngu?i s? d?ng có yêu c?u. H? di?u hành này
ho?t d?ng dòi h?i s? ph?i h?p cao gi?a ph?n m?m
và ph?n c?ng. -
37Phân lo?i h? di?u hành(tt)
- H? di?u hành m?ng
- Là các h? di?u hành dùng d? di?u khi?n s? ho?t
d?ng c?a m?ng máy tính. Ngoài các ch?c nang co
b?n c?a m?t h? di?u hành, các h? di?u hành m?ng
còn ph?i th?c hi?n vi?c chia s? và b?o v? tài
nguyên c?a m?ng. H? di?u hành Windows 9x/NT,
Windows 200, Linux, là các h? di?u hành m?ng máy
tính.
38Phân lo?i h? di?u hành(tt)
- Tóm l?i
- Qua s? phân lo?i h? di?u hành ? trên ta có th?
th?y du?c quá trình phát tri?n (evolution) c?a h?
di?u hành. - Ð? kh?c ph?c h?n ch? v? lãng phí th?i gian x? lý
c?a processor trong h? di?u hành theo lô thì h?
di?u hành theo lô da chuong ra d?i. - Ð? khai thác t?i da th?i gian x? lý c?a processor
và ti?t ki?m hon n?a không gian b? nh? chính h?
di?u hành chia s? th?i gian ra d?i.
39Phân lo?i h? di?u hành(tt)
- Tóm l?i
- Chia s? th?i gian x? lý c?a processor k?t h?p v?i
chia s? không gian b? nh? chính dã giúp cho h?
di?u hành có th? dua vào b? nh? chính nhi?u
chuong trình, ti?n trình hon và các chuong trình,
ti?n trình này có th? ho?t d?ng d?ng th?i v?i
nhau, nh? dó mà hi?u su?t c?a h? th?ng tang lên,
và cung t? dây khái ni?m h? di?u hành da chuong
ra d?i. - H? di?u hành da x? lý và h? di?u hành m?ng du?c
phát tri?n d?a trên h? di?u hành da nhi?m. - H? di?u hành th?i gian th?c ra d?i là d? kh?c
ph?c h?n ch? c?a h? di?u hành theo lô và di?u
khi?n các h? th?ng th?i gian th?c
40Phân lo?i h? di?u hành(tt)
- Tóm l?i
- T? dây chúng ta rút ra m?t di?u r?ng các h? di?u
hành ra d?i sau luôn tìm cách kh?c ph?c các h?n
ch? c?a h? di?u hành tru?c dó và phát tri?n nhi?u
hon n?a d? dáp ?ng yêu c?u ngày càng cao c?a c?a
ngu?i s? d?ng và chuong trình ngu?i s? d?ng, cung
nhu khai thác t?i da các ch?c nang c?a ph?n c?ng
máy tính d? nâng cao hi?u su?t c?a h? th?ng.
Nhung ch?c nang c?a h? di?u hành càng cao thì chi
phí cho nó cung tang theo và c?u trúc c?a h? di?u
hành cung s? ph?c t?p hon.
41Các thành ph?n c?a h? di?u hành
- Thành ph?n qu?n lý ti?n trình
- B? ph?n qu?n lý ti?n trình c?a h? di?u hành th?c
hi?n nh?ng nhi?m v? sau dây - T?o l?p, h?y b? ti?n trình.
- T?m d?ng, tái kích ho?t ti?n trình.
- T?o co ch? thông tin liên l?c gi?a các ti?n
trình. - T?o co ch? d?ng b? hóa gi?a các ti?n trình.
42Các thành ph?n c?a h? di?u hành (tt)
- Thành ph?n qu?n lý b? nh? chính
- B? ph?n qu?n lý b? nh? chính c?a h? di?u hành
th?c hi?n nh?ng nhi?m v? sau - C?p phát, thu h?i vùng nh?.
- Ghi nh?n tr?ng thái b? nh? chính.
- B?o v? b? nh?.
- Quy?t d?nh ti?n trình nào du?c n?p vào b? nh?.
43Các thành ph?n c?a h? di?u hành (tt)
- Thành ph?n qu?n lý xu?t/ nh?p
- G?i mã l?nh di?u khi?n d?n thi?t b? H? di?u hành
di?u khi?n các thi?t b? b?ng các mã di?u khi?n,
do dó tru?c khi b?t d?u m?t quá trình trao d?i d?
li?u v?i thi?t b? thì h? di?u hành ph?i g?i mã
di?u khi?n d?n thi?t b?. - Ti?p nh?n yêu c?u ng?t (Interrupt) t? các thi?t
b? Các thi?t b? khi c?n trao d?i v?i h? th?ng
thì nó phát ra m?t tín hi?u yêu c?u ng?t, h? di?u
hành ti?p nh?n yêu c?u ng?t t? các thi?t b?, xem
xét và th?c hi?n m?t th? t?c d? dáp ?ng yêu c?u
tù các thi?t b?.
44Các thành ph?n c?a h? di?u hành (tt)
- Thành ph?n qu?n lý xu?t/ nh?p (tt)
- Phát hi?n và x? lý l?i quá trình trao d?i d?
li?u thu?ng x?y ra các l?i nhu thi?t b? vào ra
chua s?n sàng, du?ng truy?n h?ng, ... do dó h?
di?u hành ph?i t?o ra các co ch? thích h?p d?
phát hi?n l?i s?m nh?t và kh?c ph?c các l?i v?a
x?y ra n?u có th?
45Các thành ph?n c?a h? di?u hành (tt)
- Thành ph?n qu?n lý b? nh? ph? (dia)
- B? ph?n qu?n lý b? nh? ph? th?c hi?n nh?ng nhi?m
v? sau - Qu?n lý không gian tr?ng trên dia.
- Ð?nh v? luu tr? thông tin trên dia.
- L?p l?ch cho v?n d? ghi/ d?c thông tin trên dia
c?a d?u t?.
46Các thành ph?n c?a h? di?u hành (tt)
- Thành ph?n qu?n lý t?p tin
- B? ph?n qu?n lý t?p tin c?a h? di?u hành th?c
hi?n nh?ng nhi?m v? sau - T?o/ xoá m?t t?p tin/ thu m?c.
- B?o v? t?p tin khi có hi?n tu?ng truy xu?t d?ng
th?i. - Cung c?p các thao tác x? lý và b?o v? t?p tin/
thu m?c. - T?o m?i quan h? gi?a t?p tin và b? nh? ph? ch?a
t?p tin. - T?o co ch? truy xu?t t?p tin thông qua tên t?p
tin.
47Các thành ph?n c?a h? di?u hành (tt)
- Thành ph?n thông d?ch l?nh
- Ðây là b? ph?n quan tr?ng c?a h? di?u hành, nó
dóng vai trò giao ti?p gi?a h? di?u hành và ngu?i
s? d?ng. - Thành ph?n này chính là shell mà chúng ta dã bi?t
? trên. - M?t s? h? di?u hành ch?a shell trong nhân
(kernel) c?a nó, m?t s? h? di?u hành khác thì
shell du?c thi?t k? du?i d?ng m?t chuong trình
d?c bi?t.
48Các thành ph?n c?a h? di?u hành (tt)
- Thành ph?n b?o v? h? th?ng
- Thành ph?n này di?u khi?n vi?c s? d?ng tài
nguyên, d?c bi?t là các tài nguyên dùng chung,
c?a các ti?n trình, d?c bi?t là các ti?n trình
ho?t d?ng d?ng th?i v?i nhau, sao cho không x?y
ra s? tranh ch?p tài nguyên gi?a các ti?n trình
ho?t d?ng d?ng th?i và không cho phép các ti?n
trình truy xu?t b?t h?p l? lên các vùng nh? c?a
nhau.
49Các c?u trúc c?a h? di?u hành
- H? th?ng don kh?i (monolithic systems)
- Trong h? th?ng này h? di?u hành là m?t t?p h?p
các th? t?c, m?i th? t?c có th? g?i th?c hi?n m?t
th? t?c khác b?t k? lúc nào khi c?n thi?t. - MS-DOS là m?t h? di?u hành có c?u trúc don gi?n,
nó cung c?p nh?ng ch?c nang c?n thi?t nh?t trong
m?t không gian nh? nh?t do s? gi?i h?n c?a ph?n
c?ng mà nó ch?y trên dó và không chia thành nh?ng
don th? rõ r?t.
50Các c?u trúc c?a h? di?u hành
- H? th?ng don kh?i (monolithic systems)
- Trong h? th?ng này h? di?u hành là m?t t?p h?p
các th? t?c, m?i th? t?c có th? g?i th?c hi?n m?t
th? t?c khác b?t k? lúc nào khi c?n thi?t. - MS-DOS là m?t h? di?u hành có c?u trúc don gi?n,
nó cung c?p nh?ng ch?c nang c?n thi?t nh?t trong
m?t không gian nh? nh?t do s? gi?i h?n c?a ph?n
c?ng mà nó ch?y trên dó và không chia thành nh?ng
don th? rõ r?t.
51Các c?u trúc c?a h? di?u hành
- H? th?ng don kh?i (monolithic systems)
C?u trúc c?a MS-DOS
52Các c?u trúc c?a h? di?u hành
- Các h? th?ng phân l?p (Layered Systems)
- H? th?ng du?c chia thành m?t s? l?p, m?i l?p du?c
xây d?ng d?a vào l?p bên trong. L?p trong cùng
thu?ng là ph?n c?ng, l?p ngoài cùng là giao di?n
v?i ngu?i s? d?ng. - Ví d? v? m?t h? di?u hành phân l?p
- L?p 5 Chuong trình ?ng d?ng
- L?p 4 Qu?n lý b? d?m cho các thi?t b? xu?t nh?p
- L?p 3 Trình di?u khi?n thao tác console
- L?p 2 Qu?n lý b? nh?
- L?p 1 Ði?u ph?i processor
- L?p 0 Ph?n c?ng h? th?ng
53Máy ?o (Virtual Machine)
- M?t h? th?ng máy tính g?m nhi?u l?p ph?n c?ng ?
l?p th?p nh?t, h?t nhân ? l?p k? trên. H?t nhân
dùng các ch? th? (l?nh máy) c?a ph?n c?ng d? t?o
ra m?t t?p các l?i g?i h? th?ng. Các h? di?u hành
hi?n d?i thi?t k? m?t l?p các chuong trình h?
th?ng n?m gi?a h? di?u hành và chuong trình c?a
ngu?i s? d?ng. - Các chuong trình h? th?ng có th? s? d?ng các l?i
g?i h? th?ng ho?c s? d?ng tr?c ti?p các ch? th?
ph?n c?ng d? th?c hi?n m?t ch?c nang ho?c m?t
thao tác nào dó
54Máy ?o (Virtual Machine) (tt)
- M?t s? h? di?u hành t? ch?c cho phép các chuong
trình c?a ngu?i s? d?ng có th? g?i d? dàng các
chuong trình h? th?ng và xem m?i thành ph?n du?i
chuong trình h? th?ng d?u là ph?n c?ng máy tính.
L?p các ?ng d?ng này s? d?ng khái ni?m máy ?o. - M?c dích c?a vi?c s? d?ng máy ?o là xây d?ng các
h? th?ng da chuong v?i nhi?u ti?n trình th?c hi?n
d?ng th?i, m?i ti?n trình du?c cung c?p m?t máy
?o v?i d?y d? tài nguyên, t?t nhiên là tài nguyên
?o, d? nó th?c hi?n du?c.
55Máy ?o (Virtual Machine) (tt)
- ? dây c?n phân bi?t s? khác nhau gi?a máy ?o và
máy tính m? r?ng, máy ?o là b?n sao chính xác các
d?c tính ph?n c?ng c?a máy tính th?c s? và cho
phép h? di?u hành ho?t d?ng trên nó, sau dó h?
di?u hành xây d?ng máy tính m? r?ng d? cung c?p
cho ngu?i s? d?ng.
56Máy ?o (Virtual Machine) (tt)
57Máy ?o (Virtual Machine) (tt)
- Nh?n xét
- Vi?c cài d?t các ph?n m?m gi? l?p ph?n c?ng d?
t?o ra máy ?o thu?ng r?t khó khan và ph?c t?p. - Trong h? th?ng này v?n d? b?o v? tài nguyên h?
th?ng và tài nguyên dã c?p phát cho các ti?n
trình, s? tr? nên don gi?n hon vì m?i ti?n trình
th?c hi?n trên m?t máy tính (?o) d?c l?p v?i
nhau nên vi?c tranh ch?p tài nguyên là không th?
x?y ra. - Nh? h? th?ng máy ?o mà m?t ?ng d?ng du?c xây d?ng
trên h? di?u hành có th? ho?t d?ng du?c trên h?
di?u hành khác.
58Máy ?o (Virtual Machine) (tt)
- Ví d?
- Trong Windows 9x có th? th?c hi?n các ?ng d?ng
du?c thi?t k? d? th?c hi?n trên môi tru?ng
MS_DOS, vì Windows dã cung c?p cho các ?ng d?ng
này m?t máy ?o DOS (VMD Virtual Machine DOS) - Trong Windows NT có th? th?c hi?n các ?ng d?ng
du?c thi?t k? trên t?t c? các h? di?u hành khác
nhau, có du?c di?u này là nh? trong c?u trúc c?a
Windows NT có ch?a các h? th?ng con (subsystems)
môi tru?ng tuong thích v?i các môi truong h? di?u
hành khác nhau nhu Win32, OS/2,...,
59Mô hình Client/ Server (client/ server model)
- Các OS hi?n d?i chuy?n d?n các tác v? c?a OS ra
các l?p bên ngoài nh?m thu nh? ph?n c?t lõi thành
h?t nhân c?c ti?u (kernel) sao cho ch? ph?n h?t
nhân này ph? thu?c vào ph?n c?ng. Ð? th?c hi?n
du?c di?u này h? di?u hành xây d?ng theo mô hình
Client/ Server, - Nhu v?y các ti?n trình trong h? th?ng du?c chia
thành 2 lo?i - Ti?n trình bên ngoài hay ti?n trình c?a chuong
trình ngu?i s? d?ng du?c g?i là các ti?n trình
Client. - Ti?n trình c?a h? di?u hành du?c g?i là ti?n
trình Server. - Khi c?n th?c hi?n m?t ch?c nang h? th?ng các ti?n
trình Client s? g?i yêu c?u t?i ti?n trình server
tuong ?ng, ti?n trình server s? x? lý và tr? l?i
k?t qu? cho ti?n trình Client.
60Mô hình Client/ Server (client/ server model)
61Mô hình Client/ Server (client/ server model)
62End of Chapter 1