Tải bản đầy đủ (.pdf) (237 trang)

Giao trinh he dieu hanh kho sach blogspot com

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.59 MB, 237 trang )

Ĉӄ CѬѪNG MÔN HӐC
MÔN: Hӊ ĈIӄU HÀNH
MÃ MÔN HӐC: TH338
SӔ ĈVHT:
3
HӐC KÌ:
6
GIҦNG VIÊN:
NGUYӈN PHÚ TRѬӠNG

MӨC ĈÍCH YÊU CҪU

I

ƒ
ƒ
ƒ

Giúp sinh viên hiӇu ÿѭӧc vai trò cӫa hӋ ÿiӅu hành và cѫ chӃ hoҥt ÿӝng cӫa hӋ ÿiӅu
hành.
Cách thiӃt kӃ hӋ ÿiӅu hành
Cách ӭng dөng các cѫ chӃ trong viӋc thiӃt kӃ các hӋ ÿiӅu hành hiӋn ÿҥi

II KIӂN THӬC NӄN CҪN THIӂT

STT

Nӝi dung kiӃn thӭc nӅn

1


KiӃn trúc máy tính

Tiên quyӃt

Mӭc ÿӝ yêu cҫu
Vұn dөng khái
Vұn dөng kӻ năng/
niӋm/ mô hình
phѭѫng pháp

x

III KIӂN THӬC TOÁN CҪN THIӂT
STT

Nӝi dung kiӃn thӭc
HiӇu
Khái
niӋm

1
2

Giҧi thuұt
Ngôn ngӳ Pascal và C

Mӭc ÿӝ yêu cҫu
Vұn dөng
Chӭng minh
Công thӭc/

Công thӭc/
ÿӏnh lý
ÿӏnh lý
x

Vұn dөng
Phѭѫng pháp

x

IV TÓM TҲT NӜI DUNG MÔN HӐC
ƒ
ƒ
ƒ
ƒ

Mô tҧ các ÿiӇm chính yӃu cӫa hӋ ÿiӅu hành
Vai trò và năng lӵc cӫa hӋ ÿiӅu hành trong hӋ thӕng máy tính.
Nhӳng vҩn ÿӅ phát sinh trong quá trình thiӃt kӃ hӋ ÿiӅu hành cNJng nhѭ nhӳng tiӃp
cұn khác nhau ÿѭӧc dùng ÿӇ phân tích và giҧi quyӃt nhӳng vҩn ÿӅ ÿó.
Xem xét nhӳng chiӃn lѭӧc hӋ ÿiӅu hành phә biӃn và cách chúng tác ÿӝng ÿӃn nhӳng
dӏch vө cӫa các hӋ ÿiӅu hành hiӋn ÿҥi.


V Ĉӄ CѬѪNG CHI TIӂT CÁC CHѬѪNG
CHѬѪNG I - TӘNG QUAN Vӄ Hӊ ĈIӄU HÀNH1
I.1 Mөc tiêu
I.2 Giӟi thiӋu
I.3 HӋ ÿiӅu hành là gì?
I.4 HӋ thӕng mainframe

I.5 HӋ ÿӇ bàn (Desktop system)
I.6 HӋ ÿa xӱ lý
I.7 HӋ phân tán
I.8 HӋ thӕng nhóm (Clustered Systems)
I.9 HӋ thӡi thӵc
I.10 HӋ xách tay
I.11 Tóm tҳt
CHѬѪNG II - CҨU TRÚC Hӊ ĈIӄU HÀNH
II.1 Mөc ÿích
II.2 Giӟi thiӋu
II.3 Các thành phҫn hӋ thӕng
II.4 Các dӏch vө hӋ ÿiӅu hành
II.5 Lӡi gӑi hӋ thӕng
II.6 Các chѭѫng trình hӋ thӕng
II.7 Cҩu trúc hӋ thӕng
II.8 Máy ҧo
II.9 Tóm tҳt
CHѬѪNG III - QUÁ TRÌNH
III.1 Mөc ÿích
III.2 Giӟi thiӋu
III.3 Khái niӋm quá trình
III.4 Lұp thӡi biӇu quá trình
III.5 Thao tác trên quá trình
III.6 Giao tiӃp liên quá trình
III.7 Tóm tҳt
CHѬѪNG IV - ĈӎNH THӠI BIӆU CPU
IV.1 Mөc tiêu
IV.2 Giӟi thiӋu
IV.3 Các khái niӋm cѫ bҧn
IV.4 Các tiêu chuҭn ÿӏnh thӡi

IV.5 Các giҧi thuұt ÿӏnh thӡi
IV.6 Ĉӏnh thӡi biӇu ÿa bӝ xӱ lý
IV.7 Ĉӏnh thӡi thӡi gian thӵc
IV.8 Ĉánh giá giҧi thuұt
IV.9 Tóm tҳt
CHѬѪNG V - ĈӖNG BӜ HOÁ QUÁ TRÌNH
V.1 Mөc tiêu
V.2 Giӟi thiӋu
V.3 Tәng quan
V.4 Vҩn ÿӅ vùng tѭѫng trөc
V.5 Giҧi pháp
V.6 Các bài toán ÿӗng bӝ hoá nguyên thuӹ
V.7 Tóm tҳt
CHѬѪNG VI - DEADLOCK
VI.1 Mөc ÿích


VI.2 Giӟi thiӋu
VI.3 Mô hình hӋ thӕng
VI.4 Ĉһc ÿiӇm deadlock
VI.5 Các phѭѫng pháp xӱ lý deadlock
VI.6 Ngăn chһn deadlock
VI.7 Tránh deadlock
VI.8 Phát hiӋn Deadlock
VI.9 Phөc hӗi deadlock
VI.10 Tóm tҳt
CHѬѪNG VII - QUҦN LÝ BӜ NHӞ
VII.1 Mөc ÿích
VII.2 Giӟi thiӋu
VII.3 Ĉһt vҩn ÿӅ

VII.4 Hoán vӏ
VII.5 Cҩp phát bӝ nhӟ liên tөc
VII.6 Cҩp phát không liên tөc
VII.7 Tóm tҳt
CHѬѪNG VIII - BӜ NHӞ ҦO
VIII.1 Mөc ÿích
VIII.2 Giӟi thiӋu
VIII.3 KiӃn thӭc nӅn
VIII.4 Phân trang theo yêu cҫu
VIII.5 Thay thӃ trang
VIII.6 Cҩp phát khung trang
VIII.7 Trì trӋ toàn hӋ thӕng
VIII.8 Các vҩn ÿӅ khác
VIII.9 Tóm tҳt
CHѬѪNG IX - Hӊ THӔNG TҰP TIN
IX.1 Mөc ÿích
IX.2 Giӟi thiӋu
IX.3 Khái niӋm tұp tin
IX.4 Các phѭѫng pháp truy xuҩt
IX.5 Cҩu trúc thѭ mөc
IX.6 Gҳn hӋ thӕng tұp tin
IX.7 Chia sҿ tұp tin
IX.8 Bҧo vӋ
IX.9 Tóm tҳt
CHѬѪNG X - CÀI ĈҺT Hӊ THӔNG TҰP TIN
X.1 Mөc ÿích
X.2 Giӟi thiӋu
X.3 Cҩu trúc hӋ thӕng tұp tin
X.4 Cài ÿһt hӋ thӕng tұp tin
X.5 Cài ÿһt thѭ mөc

X.6 Các phѭѫng pháp cҩp phát
X.7 Quҧn lý không gian trӕng
X.8 Tóm tҳt
CHѬѪNG XI - QUҦN LÝ Hӊ THӔNG NHҰP/XUҨT
XI.1 Mөc ÿích
XI.2 Giӟi thiӋu
XI.3 Các khái niӋm cѫ bҧn
XI.4 Phҫn cӭng nhұp/xuҩt
XI.5 Giao diӋn nhұp/xuҩt ӭng dөng
T


XI.6 HӋ thӕng con nhұp/xuҩt cӫa nhân (kernel I/O subsytem)
XI.7 ChuyӇn nhұp/xuҩt tӟi hoҥt ÿӝng phҫn cӭng
XI.8 Năng lӵc
XI.9 Tóm tҳt

VI TÀI LIӊU THAM KHҦO
1.

[Jean Bacon & Tim Harris], Operating Systems, Addison-Wesley, 2003.

2.

[NguyӉn Hoàng ViӋt], Bài gi̫ng H͏ Ĉi͉u Hành, Khoa CNTT-ĈH Cҫn Thѫ, 1998

3.

[Silberschatz, Galvin, Gagne], Operating System Concepts, John Wiley & Sons,
2003


4.

[Lê Khҳc Nhiên Ân, Hoàng KiӃm], Giáo trình Nh̵p môn h͏ ÿi͉u hành, Ĉҥi hӑc
Khoa hӑc Tӵ nhiên, 2003.

5.

[Trҫn Hҥnh Nhi, Hoàng KiӃm], Giáo trình h͏ ÿi͉u hành nâng cao, Ĉҥi hӑc Khoa
hӑc Tӵ nhiên,1999.

VI.1.1

DUYӊT BӜ MÔN

Ngày 23 tháng 04 năm 2004
CÁN BӜ BIÊN SOҤN

NguyӉn Phú Trѭӡng


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

TӘNG QUAN Vӄ Hӊ ĈIӄU HÀNH
I

Mөc tiêu
Sau khi hӑc xong chѭѫng này, ngѭӡi hӑc nҳm ÿѭӧc nhӳng kiӃn thӭc sau:
o HiӇu vai trò cӫa hӋ ÿiӅu hành trong hӋ thӕng máy tính
o BiӃt các giai ÿoҥn phát triӇn cӫa hӋ ÿiӅu hành

o HiӇu sӵ khác biӋt cӫa các hӋ ÿiӅu hành qua tӯng giai ÿoҥn
o HiӇu cách giҧi quyӃt các vҩn ÿӅ phát sinh trong tӯng hӋ ÿiӅu hành

II Giӟi thiӋu
HӋ ÿiӅu hành là mӝt chѭѫng trình quҧn lý phҫn cӭng máy tính. Nó cung cҩp nӅn
tҧng cho các chѭѫng trình ӭng dөng và ÿóng vai trò trung gian giao tiӃp giӳa ngѭӡi
dùng máy tính và phҫn cӭng cӫa máy tính ÿó. HӋ ÿiӅu hành thiӃt lұp cho các tác vө
này rҩt ÿa dҥng. Mӝt vài hӋ ÿiӅu hành thiӃt kӃ tiӋn dөng trong khi mӝt sӕ khác thiӃt kӃ
hiӋu quҧ hoһc kӃt hӧp cҧ hai.
ĈӇ hiӇu hӋ ÿiӅu hành là gì, trѭӟc hӃt chúng ta phҧi hiӇu chúng ÿѭӧc phát triӇn
nhѭ thӃ nào. Trong chѭѫng này chúng ta ÿiӇm lҥi sӵ phát triӇn cӫa hӋ ÿiӅu hành tӯ
nhӳng hӋ thӱ nghiӋm ÿҫu tiên tӟi nhӳng hӋ ÿa chѭѫng và chia thӡi. Thông qua nhӳng
giai ÿoҥn khác nhau chúng ta sӁ thҩy cách thӭc mà nhӳng thành phҫn cӫa hӋ ÿiӅu
hành ÿѭӧc cҧi tiӃn nhѭ nhӳng giҧi pháp tӵ nhiên cho nhӳng vҩn ÿӅ trong nhӳng hӋ
thӕng máy tính ban ÿҫu. Xem xét nhӳng lý do phía sau sӵ phát triӇn cӫa hӋ ÿiӅu hành
cho chúng ta mӝt ÿánh giá vӅ nhӳng tác vө gì hӋ ÿiӅu hành làm và cách hӋ ÿiӅu hành
thӵc hiӋn chúng.

III HӋ ÿiӅu hành là gì?
Mӝt hӋ ÿiӅu hành là mӝt thành phҫn quan trӑng cӫa mӑi hӋ thӕng máy tính. Mӝt hӋ
thӕng máy tính có thӇ ÿѭӧc chia thành bӕn thành phҫn: phҫn cӭng, hӋ ÿiӅu hành, các
chѭѫng trình ӭng dөng và ngѭӡi dùng.
o Phҫn cӭng (Hardware): bao gӗm bӝ xӱ lý trung tâm (CPU), bӝ nhӟ, thiӃt
bӏ xuҩt/nhұp,..cung cҩp tài nguyên cѫ bҧn cho hӋ thӕng.
o Các chѭѫng trình ӭng dөng (application programs): trình biên dӏch
(compiler), trình soҥn thҧo văn bҧn (text editor), hӋ cѫ sӣ dӳ liӋu (database
system), trình duyӋt Web,..ÿӏnh nghƭa cách mà trong ÿó các tài nguyên
ÿѭӧc sӱ dөng ÿӇ giҧi quyӃt yêu cҫu cӫa ngѭӡi dùng.
o Ngѭӡi dùng (user): có nhiӅu loҥi ngѭӡi dùng khác nhau, thӵc hiӋn nhӳng
yêu cҫu khác nhau, do ÿó sӁ có nhiӅu ӭng dөng khác nhau.

o HӋ ÿiӅu hành (operating system): hay còn gӑi là chѭѫng trình hӋ thӕng,
ÿiӅu khiӇn và hӧp tác viӋc sӱ dөng phҫn cӭng giӳa nhӳng chѭѫng trình
ӭng dөng khác nhau cho nhӳng ngѭӡi dùng khác nhau. HӋ ÿiӅu hành có
thӇ ÿѭӧc khám phá tӯ hai phía: ngѭӡi dùng và hӋ thӕng.

Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang 1


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

User1

User2

compliler

text editor

UserN

...
...

database
t

System and
Application

Programs
Operating
System

Hardware
Hình 0-1 Tҫm nhìn trӯu tѭӧng các thành phҫn cӫa mӝt hӋ thӕng máy tính

III.1 Tҫm nhìn ngѭӡi dùng
Tҫm nhìn ngѭӡi dùng cӫa máy tính rҩt ÿa dҥng bӣi giao diӋn ÿѭӧc dùng. Hҫu
hӃt nhӳng ngѭӡi dùng máy tính ngӗi trѭӟc máy tính cá nhân gӗm có màn hình, bàn
phím, chuӝt và bӝ xӱ lý hӋ thӕng (system unit). Mӝt hӋ thӕng nhѭ thӃ ÿѭӧc thiӃt kӃ
cho mӝt ngѭӡi dùng ÿӝc quyӅn sӱ dөng tài nguyên cӫa nó ÿӇ tӕi ѭu hoá công viӋc mà
ngѭӡi dùng ÿang thӵc hiӋn. Trong trѭӡng hӧp này, hӋ ÿiӅu hành ÿѭӧc thiӃt kӃ dӉ dàng
cho viӋc sӱ dөng vӟi sӵ quan tâm vӅ năng lӵc nhѭng không quan tӟi viӋc sӱ dөng tài
nguyên. Năng lӵc thӵc hiӋn là quan trӑng vӟi ngѭӡi dùng nhѭng không là vҩn ÿӅ nӃu
hҫu hӃt hӋ thӕng ÿang rãnh, chӡ tӕc ÿӝ xuҩt/nhұp chұm tӯ phía ngѭӡi dùng.
Vài ngѭӡi dùng ngӗi tҥi thiӃt bӏ ÿҫu cuӕi (terminal) ÿѭӧc nӕi kӃt tӟi máy tính
lӟn (mainframe) hay máy tính tҫm trung (minicomputer). Nhӳng ngѭӡi khác ÿang
truy xuҩt cùng máy tính thông qua các thiӃt bӏ ÿҫu cuӕi khác. Nhӳng ngѭӡi dùng này
chia sҿ các tài nguyên và có thӇ trao ÿәi thông tin. HӋ ÿiӅu hành ÿѭӧc thiӃt kӃ ÿӇ tӕi
ѭu hoá viӋc sӱ dөng tài nguyên-ÿӇ ÿҧm bҧo rҵng tҩt cҧ thӡi gian sҷn dùng cӫa CPU,
bӝ nhӟ và thiӃt bӏ xuҩt nhұp ÿѭӧc sӱ dөng hӳu hiӋu và không cá nhân ngѭӡi dùng sӱ
dөng ÿӝc quyӅn tài nguyên hѫn là chia sҿ công bҵng.
Nhӳng ngѭӡi dùng khác ngӗi tҥi trҥm làm viӋc, ÿѭӧc nӕi kӃt tӟi mҥng cӫa các
trҥm làm viӋc khác và máy chӫ. Nhӳng ngѭӡi dùng này có tài nguyên tұn hiӃn là trҥm
làm viӋc cӫa mình nhѭng hӑ cNJng chia sҿ các tài nguyên trên mҥng và các máy chӫtұp tin, tính toán và các máy phөc vө in. Do ÿó, hӋ ÿiӅu hành cӫa hӑ ÿѭӧc thiӃt kӃ ÿӇ
thoҧ hiӋp giӳa khҧ năng sӱ dөng cá nhân và viӋc tұn dөng tài nguyên.
Gҫn ÿây, sӵ ÿa dҥng cӫa máy tính xách tay trӣ thành thӡi trang cho nhӳng
ngѭӡi làm viӋc trong lãnh vӵc công nghӋ thông tin. Các thiӃt bӏ này ÿѭӧc sӱ dөng chӍ
bӣi cá nhân ngѭӡi dùng. Mӝt vài máy tính này ÿѭӧc nӕi mҥng hoһc nӕi trӵc tiӃp bҵng

dây hay thông qua các modem không dây. Do sӵ giӟi hҥn vӅ năng lѭӧng (ÿiӋn) và
giao diӋn, chúng thӵc hiӋn tѭѫng ÿӕi ít các thao tác ӣ xa. HӋ ÿiӅu hành ÿѭӧc thiӃt kӃ
chӫ yӃu cho viӋc sӱ dөng cá nhân nhѭng năng lӵc thӵc hiӋn trên thӡi gian sӕng cӫa
pin cNJng là yӃu tӕ quan trӑng.
Mӝt sӕ máy tính có rҩt ít hay không có tҫm nhìn ngѭӡi dùng. Thí dө, các máy
tính ÿѭӧc nhúng vào các thiӃt bӏ gia ÿình và xe ôtô có thӇ có mӝt bҧng sӕ và các ÿèn
hiӇn thӏ trҥng thái mӣ, tҳt nhѭng hҫu hӃt chúng và các hӋ ÿiӅu hành ÿѭӧc thiӃt kӃ ÿӇ
chҥy mà không cҫn giao tiӃp.

Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang 2


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

III.2 Tҫm nhìn hӋ thӕng
Tӯ quan ÿiӇm cӫa máy tính, hӋ ÿiӅu hành là chѭѫng trình gҫn gӫi vӟi phҫn
cӭng. Chúng ta có thӇ thҩy mӝt hӋ ÿiӅu hành nhѭ bӝ cҩp phát tài nguyên. HӋ thӕng
máy tính có nhiӅu tài nguyên - phҫn cӭng và phҫn mӅm - mà có thӇ ÿѭӧc yêu cҫu ÿӇ
giҧi quyӃt mӝt vҩn ÿӅ: thӡi gian CPU, không gian bӝ nhӟ, không gian lѭu trӳ tұp tin,
các thiӃt bӏ xuҩt/nhұp,..HӋ ÿiӅu hành hoҥt ÿӝng nhѭ bӝ quҧn lý tài nguyên. Ĉѭѫng ÿҫu
vӟi mӝt lѭӧng lӟn các yêu cҫu có thӇ xung ÿӝt vӅ tài nguyên, hӋ ÿiӅu hành phҧi quyӃt
ÿӏnh cách cҩp phát tài nguyên tӟi nhӳng chѭѫng trình cө thӇ và ngѭӡi dùng ÿӇ có thӇ
ÿiӅu hành hӋ thӕng máy tính hӳu hiӋu và công bҵng.
Mӝt tҫm nhìn khác cӫa hӋ ÿiӅu hành nhҩn mҥnh sӵ cҫn thiӃt ÿӇ ÿiӅu khiӇn các
thiӃt bӏ xuҩt/nhұp khác nhau và chѭѫng trình ngѭӡi dùng. Mӝt hӋ ÿiӅu hành là mӝt
chѭѫng trình ÿiӅu khiӇn. Chѭѫng trình ÿiӅu khiӇn quҧn lý sӵ thӵc thi cӫa các chѭѫng
trình ngѭӡi dùng ÿӇ ngăn chһn lӛi và viӋc sӱ dөng không hӧp lý máy tính. Nó ÿһc biӋt
quan tâm vӟi nhӳng thao tác và ÿiӅu khiӇn các thiӃt bӏ nhұp/xuҩt.

Nhìn chung, không có ÿӏnh nghƭa hoàn toàn ÿҫy ÿӫ vӅ hӋ ÿiӅu hành. Các hӋ
ÿiӅu hành tӗn tҥi vì chúng là cách hӧp lý ÿӇ giҧi quyӃt vҩn ÿӅ tҥo ra mӝt hӋ thӕng máy
tính có thӇ sӱ dөng. Mөc tiêu cѫ bҧn cӫa hӋ thӕng máy tính là thӵc thi chѭѫng trình
ngѭӡi dùng và giҧi quyӃt vҩn ÿӅ ngѭӡi dùng dӉ dàng hѫn. Hѭӟng ÿӃn mөc tiêu này,
phҫn cӭng máy tính ÿѭӧc xây dӵng. Tuy nhiên, chӍ ÿѫn thuҫn là phҫn cӭng thì không
dӉ sӱ dөng và phát triӇn các chѭѫng trình ӭng dөng. Các chѭѫng trình khác nhau này
ÿòi hӓi nhӳng thao tác chung nào ÿó, chҷng hҥn nhѭ ÿiӅu khiӇn thiӃt bӏ xuҩt/nhұp.
Sau ÿó, nhӳng chӭc năng chung vӅ ÿiӅu khiӇn và cҩp phát tài nguyên ÿѭӧc ÿһt lҥi vӟi
nhau vào mӝt bӝ phұn phҫn mӅm gӑi là hӋ ÿiӅu hành.
CNJng không có ÿӏnh nghƭa bao quát nào ÿѭӧc chҩp nhұn ÿӇ xác ÿӏnh phҫn gì
thuӝc vӅ hӋ ÿiӅu hành, phҫn gì không. Mӝt quan ÿiӇm ÿѫn giҧn là mӑi thӭ liên quan
khi chúng ta ra lӋnh hӋ ÿiӅu hành nên ÿѭӧc xem xét. Tuy nhiên, nhӳng yêu cҫu vӅ bӝ
nhӟ và nhӳng ÿһc ÿiӇm bên trong rҩt khác nhau trong tӯng hӋ thӕng. Mӝt ÿӏnh nghƭa
bao quát hѫn vӅ hӋ ÿiӅu hành là mӝt chѭѫng trình chҥy liên tөc trên máy tính (thѭӡng
gӑi là nhân kernel), nhӳng chѭѫng trình còn lҥi thuӝc vӅ chѭѫng trình ӭng dөng.

III.3 Mөc tiêu hӋ thӕng
Ĉӏnh nghƭa nhӳng gì hӋ ÿiӅu hành làm thì dӉ hѫn xác ÿӏnh hӋ ÿiӅu hành là gì.
Mөc ÿích chính cӫa hӋ ÿiӅu hành là dӉ dàng sӱ dөng. Vì sӵ tӗn tҥi cӫa hӋ ÿiӅu hành
hӛ trӧ nhiӅu cho máy tính trong viӋc ÿáp ӭng các ӭng dөng cӫa ngѭӡi dùng. Tҫm nhìn
này ÿһc biӋt rõ ràng hѫn khi nhìn hӋ ÿiӅu hành trên các máy tính cá nhân.
Mөc tiêu thӭ hai cӫa hӋ ÿiӅu hành là ÿiӅu hành hӳu hiӋn hӋ thӕng máy tính.
Mөc tiêu này ÿһc biӋt quan trӑng cho các hӋ thӕng lӟn, ÿѭӧc chia sҿ, nhiӅu ngѭӡi
dùng. Nhӳng hӋ thӕng tiêu biӇu này khá ÿҳt, khai thác hiӋu quҧ nhҩt các hӋ thӕng này
luôn là ÿiӅu mong muӕn. Tuy nhiên, hai mөc tiêu tiӋn dөng và hӳu hiӋu ÿôi khi mâu
thuүn nhau. Trong quá khӭ, xem xét tính hӳu hiӋu thѭӡng quan trӑng hѫn tính tiӋn
dөng. Do ÿó, lý thuyӃt hӋ ÿiӅu hành tұp trung nhiӅu vào viӋc tӕi ѭu hoá sӱ dөng tài
nguyên tính toán. HӋ ÿiӅu hành cNJng phát triӇn dҫn theo thӡi gian. Thí dө, UNIX bҳt
ÿҫu vӟi bàn phím và máy in nhѭ giao diӋn cӫa nó giӟi hҥn tính tiӋn dөng ÿӕi vӟi
ngѭӡi dùng. Qua thӡi gian, phҫn cӭng thay ÿәi và UNIX ÿѭӧc gҳn vào phҫn cӭng mӟi

vӟi giao diӋn thân thiӋn vӟi ngѭӡi dùng hѫn. NhiӅu giao diӋn ngѭӡi dùng ÿӗ hoҥ
GUIs (graphical user interfaces) ÿѭӧc bә sung cho phép tiӋn dөng hѫn vӟi ngѭӡi dùng
trong khi vүn quan tâm tính hiӋu quҧ.

Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang 3


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

ThiӃt kӃ hӋ ÿiӅu hành là mӝt công viӋc phӭc tҥp. Ngѭӡi thiӃt kӃ gһp phҧi
nhiӅu sӵ thoҧ hiӋp trong thiӃt kӃ và cài ÿһt. NhiӅu ngѭӡi tham gia không chӍ mang
ÿӃn hӋ ÿiӅu hành nhӳng lӧi ÿiӇm mà còn liên tөc xem xét và nâng cҩp.
ĈӇ thҩy rõ nhӳng hӋ ÿiӅu hành là gì và nhӳng gì hӋ ÿiӅu hành làm, chúng ta xem xét
cách chúng phát triӇn trong bӕn mѭѫi lăm năm qua. Bҵng cách lҫn theo sӵ tiӃn triӇn,
chúng ta có thӇ xác ÿӏnh nhӳng thành phҫn cӫa hӋ ÿiӅu hành và thҩy cách thӭc và lý
do hӋ ÿiӅu hành phát triӇn nhѭ chúng có.
HӋ ÿiӅu hành và kiӃn trúc máy tính có mӕi quan hӋ khăng khít nhau. ĈӇ dӉ
dàng sӱ dөng phҫn cӭng, hӋ ÿiӅu hành ÿѭӧc phát triӇn. Sau ÿó, các ngѭӡi dùng hӋ
ÿiӅu hành ÿӅ nghӏ nhӳng chuyӇn ÿәi trong thiӃt kӃ phҫn cӭng ÿӇ ÿѫn giҧn chúng.
Nhìn lҥi lӏch sӱ ngҳn ngӫi này, chú trӑng cách giҧi quyӃt nhӳng vҩn ÿӅ vӅ hӋ ÿiӅu
hành ÿӇ giӟi thiӋu nhӳng ÿһc ÿiӇm phҫn cӭng.

IV HӋ thӕng mainframe
Nhӳng hӋ thӕng máy tính mainframe là nhӳng máy tính ÿҫu tiên ÿѭӧc dùng ÿӇ
xӱ lý ӭng dөng thѭѫng mҥi và khoa hӑc. Trong phҫn này, chúng ta lҫn theo sӵ phát
triӇn cӫa hӋ thӕng mainframe tӯ các hӋ thӕng bó (batch systems), ӣ ÿó máy tính chӍ
chҥy mӝt-và chӍ mӝt -ӭng dөng, tӟi các hӋ chia sҿ thӡi gian (time-shared systems), mà
cho phép ngѭӡi dùng giao tiӃp vӟi hӋ thӕng máy tính.


IV.1 HӋ thӕng bó
Nhӳng máy tính thӡi kǤ ÿҫu là nhӳng máy cӵc lӟn chҥy tӯ mӝt thiӃt bӏ cuӕi
(console). Nhӳng thiӃt bӏ nhұp thѭӡng là nhӳng bӝ ÿӑc thҿ và các ә ÿƭa băng tӯ. Các
thiӃt bӏ xuҩt thông thѭӡng thѭӡng là nhӳng máy in dòng (line printers), các ә ÿƭa tӯ và
các phiӃu ÿөc lӛ. Ngѭӡi dùng không giao tiӃp trӵc tiӃp vӟi các hӋ thӕng máy tính.
Thay vào ÿó, ngѭӡi dùng chuҭn bӏ mӝt công viӋc- chӭa chѭѫng trình, dӳ liӋu và các
thông tin ÿiӅu khiӇn vӅ tính tӵ nhiên cӫa công viӋc-và gӣi nó ÿӃn ngѭӡi ÿiӅu hành
máy tính. Công viӋc này thѭӡng ÿѭӧc thӵc hiӋn trong các phiӃu ÿөc lӛ. Tҥi nhӳng
thӡi ÿiӇm sau ÿó (sau vài phút, giӡ hay ngày), dӳ liӋu xuҩt xuҩt hiӋn. Dӳ liӋu xuҩt
chӭa kӃt quҧ chѭѫng trình cNJng nhѭ kӃt xuҩt bӝ nhӟ cuӕi cùng và nӝi dung các thanh
ghi cho viӋc gӣ rӕi.
HӋ ÿiӅu hành trong các máy tính thӡi kǤ ÿҫu này tѭѫng ÿӕi ÿѫn giҧn. Tác vө
chính là chuyӇn ÿiӅu khiӇn tӵ ÿӝng tӯ mӝt công viӋc này sang công viӋc khác. HӋ
ÿiӅu hành luôn ÿѭӧc thѭӡng trú trong bӝ nhӟ.

HӋ ÿiӅu hành

Vùng chѭѫng
trình ngѭӡi
dùng

Hình 0-2 Sҳp xӃp bӝ nhӟ cho mӝt hӋ thӕng bó ÿѫn giҧn
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang 4


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0


ĈӇ tăng tӕc viӋc xӱ lý, ngѭӡi ÿiӅu hành bó các công viӋc có cùng yêu cҫu và
chҥy chúng thông qua máy tính nhѭ mӝt nhóm. Do ÿó, các lұp trình viên sӁ ÿѭa
chѭѫng trình cӫa hӑ cho ngѭӡi ÿiӅu hành. Ngѭӡi ÿiӅu hành sӁ sҳp xӃp chѭѫng trình
thành nhӳng bó vӟi cùng yêu cҫu và khi máy tính sҷn dùng sӁ chҥy mӛi bó này. Dӳ
liӋu xuҩt tӯ mӛi công viӋc sӁ gӣi lҥi cho lұp trình viên tѭѫng ӭng.
Trong môi trѭӡng thӵc thi này, CPU luôn rҧnh vì tӕc ÿӝ cӫa các thiӃt bӏ
xuҩt/nhұp dҥng cѫ thӵc chҩt chұm hѫn tӕc ÿӝ cӫa các thiӃt bӏ ÿiӋn. Ngay cҧ mӝt CPU
chұm (vӟi hàng ngàn chӍ thӏ lӋnh ÿѭӧc thӵc thi trên giây) cNJng chӍ làm viӋc trong vài
phҫn trăm giây. Thêm vào ÿó, mӝt bӝ ÿӑc thҿ nhanh có thӇ ÿӑc 1200 thҿ trong thӡi
gian 1 phút (hay 20 thҿ trên giây). Do ÿó, sӵ khác biӋt giӳa tӕc ÿӝ CPU và thiӃt bӏ
xuҩt/nhұp cӫa nó có thӇ là 3 lҫn hay nhiӅu hѫn. Dƭ nhiên theo thӡi gian, sӵ tiӃn bӝ
trong công nghӋ dүn ÿӃn sӵ ra ÿӡi nhӳng thiӃt bӏ nhұp/xuҩt nhanh hѫn. Tuy nhiên, tӕc
ÿӝ CPU tăng tӟi mӝt tӹ lӋ lӟn hѫn vì thӃ vҩn ÿӅ không nhӳng không ÿѭӧc giҧi quyӃt
mà còn làm tăng.
Giӟi thiӋu công nghӋ ÿƭa cho phép hӋ ÿiӅu hành giӳ tҩt cҧ công viӋc trên mӝt
ÿƭa hѫn trong mӝt bӝ ÿӑc thҿ tuҫn tӵ. Vӟi viӋc truy xuҩt trӵc tiӃp tӟi nhiӅu công viӋc,
hӋ ÿiӅu hành có thӇ thӵc hiӋn ÿӏnh thӡi công viӋc, ÿӇ sӱ dөng tài nguyên và thӵc hiӋn
các tác vө hӳu hiӋu.

IV.2 HӋ ÿa chѭѫng
Mӝt khía cҥnh quan trӑng nhҩt cӫa ÿӏnh thӡi công viӋc là khҧ năng ÿa chѭѫng.
Thông thѭӡng, mӝt ngѭӡi dùng giӳ CPU hay các thiӃt bӏ xuҩt/nhұp luôn bұn. Ĉa
chѭѫng gia tăng khҧ năng sӱ dөng CPU bҵng cách tә chӭc các công viӋc ÿӇ CPU luôn
có mӝt công viӋc ÿӇ thӵc thi.
Ý tѭӣng cӫa kӻ thuұt ÿa chѭѫng có thӇ minh hoҥ nhѭ sau: HӋ ÿiӅu hành giӳ
nhiӅu công viӋc trong bӝ nhӟ tҥi mӝt thӡi ÿiӇm. Tұp hӧp các công viӋc này là tұp con
cӫa các công viӋc ÿѭӧc giӳ trong vùng công viӋc-bӣi vì sӕ lѭӧng các công viӋc có thӇ
ÿѭӧc giӳ cùng lúc trong bӝ nhӟ thѭӡng nhӓ hѫn sӕ công viӋc có thӇ có trong vùng
ÿӋm. HӋ ÿiӅu hành sӁ lҩy và bҳt ÿҫu thӵc thi mӝt trong các công viӋc có trong bӝ nhӟ.
Cuӕi cùng, công viӋc phҧi chӡ mӝt vài tác vө nhѭ mӝt thao tác xuҩt/nhұp ÿӇ hoàn

thành. Trong hӋ thӕng ÿѫn chѭѫng, CPU sӁ chӡ ӣ trҥng thái rӛi. Trong hӋ thӕng ÿa
chѭѫng, hӋ ÿiӅu hành sӁ chuyӇn sang thӵc thi công viӋc khác. Cuӕi cùng, công viӋc
ÿҫu tiên kӃt thúc viӋc chӡ và nhұn CPU trӣ lҥi. ChӍ cҫn ít nhҩt mӝt công viӋc cҫn thӵc
thi, CPU sӁ không bao giӡ ӣ trҥng thái rӛi.
0
HӋ ÿiӅu hành
Công viӋc 1
Công viӋc 2
Công viӋc 3
512K

Công viӋc 4

Hình 0-3 Sҳp xӃp bӝ nhӟ cho hӋ ÿa chѭѫng
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang 5


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

Ĉa chѭѫng là mӝt trѭӡng hӧp ÿҫu tiên khi hӋ ÿiӅu hành phҧi thӵc hiӋn quyӃt ÿӏnh cho
nhӳng ngѭӡi dùng. Do ÿó, hӋ ÿiӅu hành ÿa chѭѫng tѭѫng ÿӕi tinh vi. Tҩt cҧ công viӋc
ÿѭa vào hӋ thӕng ÿѭӧc giӳ trong vùng công viӋc. Vùng này chӭa tҩt cҧ quá trình ÿӏnh
vӏ trên ÿƭa chӡ ÿѭӧc cҩp phát bӝ nhӟ chính. NӃu nhiӅu công viӋc sҷn sàng ÿѭӧc mang
vào bӝ nhӟ và nӃu không ÿӫ không gian cho tҩt cҧ thì hӋ ÿiӅu hành phҧi chӑn mӝt
trong chúng. Khi hӋ ÿiӅu hành chӑn mӝt công viӋc tӯ vùng công viӋc, nó nҥp công
viӋc ÿó vào bӝ nhӟ ÿӇ thӵc thi. Có nhiӅu chѭѫng trình trong bӝ nhӟ tҥi cùng thӡi ÿiӇm
yêu cҫu phҧi có sӵ quҧn lý bӝ nhӟ. Ngoài ra, nӃu nhiӅu công viӋc sҷn sàng chҥy cùng
thӡi ÿiӇm, hӋ thӕng phҧi chӑn mӝt trong chúng. Thӵc hiӋn quyӃt ÿӏnh này là ÿӏnh thӡi

CPU. Cuӕi cùng, nhiӅu công viӋc chҥy ÿӗng hành ÿòi hӓi hoҥt ÿӝng cӫa chúng có thӇ
ҧnh hѭӣng tӟi mӝt công viӋc khác thì bӏ hҥn chӃ trong tҩt cҧ giai ÿoҥn cӫa hӋ ÿiӅu
hành bao gӗm ÿӏnh thӡi quá trình, lѭu trӳ ÿƭa, quҧn lý bӝ nhӟ.

IV.3 HӋ chia thӡi
HӋ thӕng bó-ÿa chѭѫng cung cҩp mӝt môi trѭӡng nѫi mà nhiӅu tài nguyên
khác nhau (chҷng hҥn nhѭ CPU, bӝ nhӟ, các thiӃt bӏ ngoҥi vi) ÿѭӧc sӱ dөng hiӋu quҧ.
Tuy nhiên, nó không cung cҩp giao tiӃp ngѭӡi dùng vӟi hӋ thӕng máy tính. Chia thӡi
(hay ÿa nhiӋm) là sӵ mӣ rӝng luұn lý cӫa ÿa chѭѫng. CPU thӵc thi nhiӅu công viӋc
bҵng cách chuyӇn ÿәi qua lҥi giӳa chúng, nhѭng nhӳng chuyӇn ÿәi xҧy ra quá thѭӡng
xuyên ÿӇ ngѭӡi dùng có thӇ giao tiӃp vӟi mӛi chѭѫng trình trong khi chҥy.
Mӝt hӋ thӕng máy tính giao tiӃp (interactive computer) hay thӵc hành (handson computer system) cung cҩp giao tiӃp trӵc tuyӃn giӳa ngѭӡi dùng và hӋ thӕng.
Ngѭӡi dùng cho nhӳng chӍ thӏ tӟi hӋ ÿiӅu hành hay trӵc tiӃp tӟi mӝt chѭѫng trình, sӱ
dөng bàn phím hay chuӝt và chӡ nhұn kӃt quҧ tӭc thì. Do ÿó, thӡi gian ÿáp ӭng nên
ngҳn-ÿiӇn hình trong phҥm vi 1 giây hay ít hѫn.
Mӝt hӋ thӕng chia thӡi cho phép nhiӅu ngѭӡi dùng chia sҿ máy tính cùng mӝt
thӡi ÿiӇm. Vì mӛi hoҥt ÿӝng hay lӋnh trong hӋ chia thӡi ÿѭӧc phөc vө ngҳn, chӍ mӝt ít
thӡi gian CPU ÿѭӧc yêu cҫu cho mӛi ngѭӡi dùng. Khi hӋ thӕng nhanh chóng chuyӇn
tӯ mӝt ngѭӡi dùng này sang ngѭӡi dùng kӃ, mӛi ngѭӡi dùng ÿѭӧc cho cҧm giác rҵng
toàn bӝ hӋ thӕng máy tính ÿѭӧc tұn hiӃn cho mình, nhѭng thұt sӵ máy tính ÿó ÿang
ÿѭӧc chia sҿ cho nhiӅu ngѭӡi dùng.
Mӝt hӋ ÿiӅu hành chia thӡi sӱ dөng ÿӏnh thӡi CPU và ÿa chѭѫng ÿӇ cung cҩp
mӛi ngѭӡi dùng vӟi mӝt phҫn nhӓ cӫa máy tính chia thӡi. Mӛi ngѭӡi dùng có ít nhҩt
mӝt chѭѫng trình riêng trong bӝ nhӟ. Mӝt chѭѫng trình ÿѭӧc nҥp vào trong bӝ nhӟ và
thӵc thi thѭӡng ÿѭӧc gӑi là mӝt quá trình. Khi mӝt quá trình thӵc thi, ÿiӇn hình nó
thӵc thi chӍ tҥi mӝt thӡi ÿiӇm ngҳn trѭӟc khi nó kӃt thúc hay cҫn thӵc hiӋn xuҩt/nhұp.
Xuҩt/nhұp có thӇ ÿѭӧc giao tiӃp; nghƭa là dӳ liӋu xuҩt hiӇn thӏ trên màn hình cho
ngѭӡi dùng và dӳ liӋu nhұp tӯ bàn phím, chuӝt hay thiӃt bӏ khác. Vì giao tiӃp
xuҩt/nhұp chӫ yӃu chҥy ӣ “tӕc ÿӝ ngѭӡi dùng”, nó có thӇ mҩt mӝt khoҧng thӡi gian
dài ÿӇ hoàn thành. Thí dө, dӳ liӋu nhұp có thӇ bӏ giӟi hҥn bӣi tӕc ÿӝ nhұp cӫa ngѭӡi

dùng; 7 ký tӵ trên giây là nhanh ÿӕi vӟi ngѭӡi dùng, nhѭng quá chұm so vӟi máy tính.
Thay vì ÿӇ CPU rҧnh khi ngѭӡi dùng nhұp liӋu, hӋ ÿiӅu hành sӁ nhanh chóng chuyӇn
CPU tӟi mӝt chѭѫng trình khác.
HӋ ÿiӅu hành chia thӡi phӭc tҥp hѫn nhiӅu so vӟi hӋ ÿiӅu hành ÿa chѭѫng.
Trong cҧ hai dҥng, nhiӅu công viӋc ÿѭӧc giӳ cùng lúc trong bӝ nhӟ vì thӃ hӋ thӕng
phҧi có cѫ chӃ quҧn lý bӝ nhӟ và bҧo vӋ. ĈӇ ÿҥt ÿѭӧc thӡi gian ÿáp ӭng hӧp lý, các
công viӋc có thӇ ÿѭӧc hoán vӏ vào ra bӝ nhӟ chính. Mӝt phѭѫng pháp chung ÿӇ ÿҥt
mөc tiêu này là bӝ nhӟ ҧo, là kӻ thuұt cho phép viӋc thӵc thi cӫa mӝt công viӋc có thӇ
không hoàn toàn ӣ trong bӝ nhӟ. Ѭu ÿiӇm chính cӫa cѫ chӃ bӝ nhӟ ҧo là các chѭѫng
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang 6


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

trình có thӇ lӟn hѫn bӝ nhӟ vұt lý. Ngoài ra, nó trӯu tѭӧng hoá bӝ nhӟ chính thành
mҧng lѭu trӳ lӟn và ÿӗng nhҩt, chia bӝ nhӟ luұn lý nhѭ ÿѭӧc thҩy bӣi ngѭӡi dùng tӯ
bӝ nhӟ vұt lý. Sӵ sҳp xӃp này giҧi phóng lұp trình viên quan tâm ÿӃn giӟi hҥn lѭu trӳ
cӫa bӝ nhӟ.
Các hӋ chia thӡi cNJng phҧi cung cҩp mӝt hӋ thӕng tұp tin. HӋ thӕng tұp tin
ÿӏnh vӏ trên mӝt tұp hӧp ÿƭa; do ÿó quҧn lý ÿƭa phҧi ÿѭӧc cung cҩp. HӋ chia thӡi cNJng
cung cҩp cѫ chӃ cho viӋc thӵc thi ÿӗng hành, yêu cҫu cѫ chӃ ÿӏnh thӡi CPU tinh vi.
ĈӇ ÿҧm bҧo thӭ tӵ thӵc thi, hӋ thӕng phҧi cung cҩp các cѫ chӃ cho viӋc ÿӗng bӝ hoá
và giao tiӃp công viӋc, và có thӇ ÿҧm bҧo rҵng các công viӋc không bӏ deadlock, chӡ
ÿӧi công viӋc khác mãi mãi.
Ý tѭӣng chia thӡi ÿѭӧc giӟi thiӋu trong nhӳng năm 1960, nhѭng vì hӋ chia
thӡi là phӭc tҥp và rҩt ÿҳt ÿӇ xây dӵng, chúng không phә biӃn cho tӟi nhӳng năm
1970. Mһc dù xӱ lý theo bó vүn ÿѭӧc thӵc hiӋn nhѭng hҫu hӃt hӋ thӕng ngày nay là
chia thӡi. Do ÿó, ÿa chѭѫng và chia thӡi là nhӳng chӫ ÿӃ trung tâm cӫa hӋ ÿiӅu hành

hiӋn ÿҥi và chúng là chӫ ÿӅ trӑng tâm cӫa giáo trình này.

V HӋ ÿӇ bàn (Desktop system)
Máy tính cá nhân (PC) xuҩt hiӋn vào nhӳng năm 1970. Trong suӕt thұp niên
ÿҫu, CPU trong PC thiӃu các ÿһc ÿiӇm cҫn thiӃt ÿӇ bҧo vӋ hӋ ÿiӅu hành tӯ chѭѫng
trình ngѭӡi dùng. Do ÿó, các hӋ ÿiӅu hành PC không là ÿa ngѭӡi dùng hoһc ÿa nhiӋm.
Tuy nhiên, các mөc tiêu cӫa hӋ ÿiӅu hành này thay ÿәi theo thӡi gian; thay vì tӕi ѭu
hoá viӋc sӱ dөng CPU và thiӃt bӏ ngoҥi vi, các hӋ thӕng chӑn lӵa tӕi ѭu hoá sӵ tiӋn
dөng và ÿáp ӭng ngѭӡi dùng. Các hӋ thӕng này gӗm các PC chҥy các hӋ ÿiӅu hành
Microsoft Windows và Apple Macintosh. HӋ ÿiӅu hành MS-DOS tӯ Microsoft ÿѭӧc
thay thӃ bҵng nhiӅu ҩn bҧn cӫa Microsoft Windows và IBM ÿã nâng cҩp MS-DOS
thành hӋ ÿa nhiӋm OS/2. HӋ ÿiӅu hành Apple Macintosh ÿѭӧc gҳn nhiӅu phҫn cӭng
hiӋn ÿҥi hѫn và ngày nay chӭa nhiӅu ÿһc ÿiӇm mӟi nhѭ bӝ nhӟ ҧo và ÿa nhiӋm. Vӟi
sӵ phát hành MacOS X, lõi cӫa hӋ ÿiӅu hành ngày nay dӵa trên Mach và FreeBSD
UNIX cho sӵ mӣ rӝng, năng lӵc và ÿһc ÿiӇm nhѭng nó vүn giӳ lҥi giao diӋn ÿӗ hoҥ
ngѭӡi dùng GUI. LINUX, mӝt hӋ ÿiӅu hành tѭѫng tӵ nhѭ UNIX sҷn dùng cho máy
PC trӣ nên phә biӃn gҫn ÿây.
HӋ ÿiӅu hành cho các máy tính này có nhӳng thuұn lӧi trong nhiӅu cách tӯ sӵ
phát triӇn cӫa hӋ ÿiӅu hành cho mainframes. Máy vi tính (microcomputer) lұp tӭc có
thӇ ÿѭӧc chҩp nhұn mӝt sӕ công nghӋ ÿѭӧc phát triӇn cho hӋ ÿiӅu hành lӟn hѫn.
Thêm vào ÿó, chi phí phҫn cӭng cho máy vi tính ÿӫ thҩp ÿӇ các cá nhân có thӇ mӝt
mình sӱ dөng máy tính, và sӱ dөng CPU không còn quan trӑng nӳa. Do ÿó, nhӳng
quyӃt ÿӏnh thiӃt kӃ ÿѭӧc thӵc hiӋn trong hӋ ÿiӅu hành cho mainframes có thӇ không
hӧp lý cho các hӋ thӕng nhӓ hѫn.
Nhӳng quyӃt ÿӏnh thiӃt kӃ khác vүn ÿѭӧc áp dөng. Thí dө, trѭӟc hӃt bҧo vӋ hӋ
thӕng tұp tin không cҫn thiӃt trên máy cá nhân. Tuy nhiên, hiӋn nay các máy tính này
thѭӡng ÿѭӧc nӕi vào các máy tính khác qua mҥng cөc bӝ hay Internet. Khi nhӳng
máy tính khác và ngѭӡi dùng khác có thӇ truy xuҩt các tұp tin này trên mӝt PC, bҧo vӋ
tұp tin mӝt lҫn nӳa cNJng trӣ thành mӝt ÿһc ÿiӇm cҫn thiӃt cӫa hӋ ÿiӅu hành. Sӵ thiӃu
bҧo vӋ tҥo ÿiӅu kiӋn dӉ dàng cho nhӳng chѭѫng trình hiӇm phá huӹ dӳ liӋu trên

nhӳng hӋ thӕng nhѭ MS-DOS và hӋ ÿiӅu hành Macintosh. Các chѭѫng trình này có
thӇ tӵ nhân bҧn và phát tán nhanh chóng bҵng cѫ chӃ worm hay virus và làm tê liӋt
mҥng cӫa các công ty hay thұm chí mҥng toàn cҫu. Ĉһc ÿiӇm chia thӡi ÿѭӧc cҧi tiӃn
nhѭ bӝ nhӟ bҧo vӋ và quyӅn tұp tin là chѭa ÿӫ ÿӇ bҧo vӋ mӝt hӋ thӕng tӯ sӵ tҩn công.
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang 7


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

VI HӋ ÿa xӱ lý
Hҫu hӃt các hӋ thӕng ngày nay là các hӋ thӕng ÿѫn xӱ lý; nghƭa là chӍ có mӝt
CPU chính. Tuy nhiên, các hӋ thӕng ÿa xӱ lý (hay còn gӑi là hӋ song song hay hӋ kӃt
nӕi chһt) ÿѭӧc phát triӇn rҩt quan trӑng. Các hӋ thӕng nhѭ thӃ có nhiӅu hѫn mӝt bӝ xӱ
lý trong giao tiӃp gҫn, chia sҿ bus máy tính, ÿӗng hӗ, ÿôi khi còn là bӝ nhӟ hay thiӃt
bӏ ngoҥi vi.
HӋ thӕng ÿa xӱ lý có ba ѭu ÿiӇm chính:
o Thông lѭӧng ÿѭӧc gia tăng: bҵng cách tăng sӕ lѭӧng bӝ xӱ lý, chúng ta
hy vӑng thӵc hiӋn nhiӅu công viӋc hѫn vӟi thӡi gian ít hѫn. TӍ lӋ giӳa sӵ
tăng tӕc vӟi N bӝ xӱ lý không là N; ÿúng hѫn nó nhӓ hѫn N. Trong khi
nhiӅu bӝ xӱ lý cӝng tác trên mӝt công viӋc, mӝt lѭӧng chi phí phҧi chӏu
trong viӋc giӳ các thành phҫn làm viӋc phù hӧp. Chi phí này cӝng vӟi chi
phí cҥnh tranh tài nguyên ÿѭӧc chia sҿ, làm giҧm kӃt quҧ ÿѭӧc mong ÿӧi
tӯ nhӳng bӝ xӱ lý bә sung. Tѭѫng tӵ nhѭ mӝt nhóm gӗm N lұp trình viên
làm viӋc vӟi nhau không dүn ÿӃn kӃt quҧ công viӋc ÿang ÿҥt ÿѭӧc tăng N
lҫn.
o Tính kinh tӃ cӫa viӋc mӣ rӝng: hӋ thӕng ÿa xӱ lý có thӇ tiӃt kiӋm nhiӅu
chi phí hѫn hӋ thӕng ÿѫn bӝ xӱ lý, bӣi vì chúng có thӇ chia sҿ ngoҥi vi,
thiӃt bӏ lѭu trӳ và ÿiӋn. NӃu nhiӅu chѭѫng trình ÿiӅu hành trên cùng tұp

hӧp dӳ liӋu thì lѭu trӳ dӳ liӋu ÿó trên mӝt ÿƭa và tҩt cҧ bӝ xӱ lý chia sҿ
chúng sӁ rҿ hѫn là có nhiӅu máy tính vӟi ÿƭa cөc bӝ và nhiӅu bҧn sao dӳ
liӋu.
o Khҧ năng tin cұy ÿѭӧc gia tăng: nӃu các chӭc năng ÿѭӧc phân bә hӧp lý
giӳa các bӝ xӱ lý thì lӛi trên mӝt bӝ xӱ lý sӁ không dӯng hӋ thӕng, chӍ
năng lӵc bӏ giҧm. NӃu chúng ta có 10 bӝ xӱ lý và có 1 bӝ xӱ lý bӏ sӵ cӕ thì
mӛi bӝ xӱ lý trong 9 bӝ xӱ lý còn lҥi phҧi chia sҿ cӫa công viӋc cӫa bӝ xӱ
lý bӏ lӛi. Do ÿó, toàn bӝ hӋ thӕng chӍ giҧm 10% năng lӵc hѫn là dӯng hoҥt
ÿӝng. Các hӋ thӕng ÿѭӧc thiӃt kӃ nhѭ thӃ ÿѭӧc gӑi là hӋ thӕng có khҧ năng
chӏu lӛi (fault tolerant).
ViӋc ÿiӅu hành vүn tiӃp tөc trong sӵ hiӋn diӋn cӫa lӛi yêu cҫu mӝt cѫ chӃ cho
phép lӛi ÿѭӧc phát hiӋn, chuҭn ÿoán và sӱa lӛi nӃu có thӇ. HӋ thӕng Tandem sӱ dөng
sӵ nhân ÿôi phҫn cӭng và phҫn mӅm ÿӇ ÿҧm bҧo sӵ ÿiӅu hành vүn tiӃp tөc mһc dù có
lӛi xҧy ra. HӋ thӕng này chӭa hai bӝ xӱ lý, mӛi bӝ xӱ lý có bӝ nhӟ cөc bӝ riêng. Các
bӝ xӱ lý ÿѭӧc nӕi kӃt bӣi mӝt bus. Mӝt bӝ xӱ lý chính và bӝ xӱ lý kia là dӵ phòng.
Cҧ hai bҧn sao ÿѭӧc giӳ ӣ mӛi bӝ xӱ lý: mӝt là chính và mӝt là dӵ phòng. Tҥi các
ÿiӇm kiӇm tra (checkpoints) trong viӋc thӵc thi cӫa hӋ thӕng, thông tin trҥng thái cӫa
mӛi công viӋc-gӗm mӝt bҧn sao hình ҧnh bӝ nhӟ-ÿѭӧc chép tӯ máy chính tӟi máy dӵ
phòng. NӃu mӝt lӛi ÿѭӧc phát hiӋn, bҧn sao dӵ phòng ÿѭӧc kích hoҥt và ÿѭӧc khӣi
ÿӝng lҥi tӯ ÿiӇm kiӇm tra mӟi nhҩt. Giҧi pháp này ÿҳt vì nó bao gӗm viӋc nhân ÿôi
phҫn cӭng.
Các hӋ thӕng ÿa xӱ lý thông dөng nhҩt hiӋn nay sӱ dөng ÿa xӱ lý ÿӕi xӭng
(symmetric multiprocessing-SMP). Trong hӋ thӕng này mӛi bӝ xӱ lý chҥy bҧn sao
cӫa hӋ ÿiӅu hành và nhӳng bҧn sao này giao tiӃp vӟi các bҧn sao khác khi cҫn. Vài hӋ
thӕng sӱ dөng ÿa xӱ lý bҩt ÿӕi xӭng (asymmetric multiprocessing). Trong hӋ thӕng
này mӛi bӝ xӱ lý ÿѭӧc gán mӝt công viӋc xác ÿӏnh. Mӝt bӝ xӱ lý chӫ ÿiӅu khiӇn hӋ
thӕng; nhӳng bӝ xӱ lý còn lҥi hoһc chӡ bӝ xӱ lý chӫ ra chӍ thӏ hoһc có nhӳng tác vө
ÿѭӧc ÿӏnh nghƭa trѭӟc. Cѫ chӃ này ÿӏnh nghƭa mӕi quan hӋ chӫ-tӟ. Bӝ xӱ lý chính lұp
thӡi biӇu và cҩp phát công viӋc tӟi các bӝ xӱ lý tӟ.
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005


Trang 8


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

Ĉa xӱ lý ÿӕi xӭng có nghƭa tҩt cҧ bӝ xӱ lý là ngang hàng; không có mӕi quan
hӋ chӫ-tӟ tӗn tҥi giӳa các bӝ xӱ lý. Hình I-4 minh hoҥ mӝt kiӃn trúc ÿa xӱ lý ÿӕi xӭng
ÿiӇn hình. Mӝt thí dө cӫa ÿa xӱ lý ÿӕi xӭng là ҩn bҧn cӫa Encore cӫa UNIX cho máy
tính Multimax. Máy tính này có thӇ ÿѭӧc cҩu hình nhѭ nó ÿang thӵc hiӋn nhiӅu bӝ xӱ
lý, tҩt cҧ bӝ xӱ lý ÿӅu chҥy bҧn sao cӫa UNIX. Ѭu ÿiӇm cӫa mô hình này là nhiӅu quá
trình có thӇ chҥy cùng mӝt lúc - N quá trình có thӇ chҥy nӃu có N CPU- không gây ra
sӵ giҧm sút to lӟn vӅ năng lӵc. Tuy nhiên, chúng ta phҧi ÿiӅu khiӇn cҭn thұn
xuҩt/nhұp ÿӇ ÿҧm bҧo rҵng dӳ liӋu dүn tӟi bӝ xӱ lý tѭѫng ӭng. Vì các CPU là riêng
rҿ, mӝt CPU có thӇ ÿang rҧnh trong khi CPU khác quá tҧi dүn ÿӃn viӋc sӱ dөng không
hӳu hiӋu tài nguyên cӫa hӋ thӕng. Sӵ không hiӋu quҧ này có thӇ tránh ÿѭӧc nӃu các
bӝ xӱ lý chia sҿ các cҩu trúc dӳ liӋu. Mӝt hӋ thӕng ÿa xӱ lý cӫa dҥng này sӁ cho phép
các quá trình và tài nguyên – nhѭ bӝ nhӟ - ÿѭӧc chia sҿ tӵ ÿӝng giӳa các quá trình
khác nhau và có thӇ làm giҧm sӵ khác biӋt giӳa các bӝ xӱ lý. Hҫu nhѭ tҩt cҧ hӋ ÿiӅu
hành hiӋn ÿҥi - gӗm Windows NT, Solaris, Digital UNIX, OS/2 và LINUX - hiӋn nay
cung cҩp sӵ hӛ trӧ ÿa xӱ lý ÿӕi xӭng.

Hình 0-4 KiӃn trúc ÿa xӱ lý ÿӕi xӭng

Sӵ khác biӋt giӳa ÿa xӱ lý ÿӕi xӭng và bҩt ÿӕi xӭng có thӇ là do phҫn cӭng
hoһc phҫn mӅm. Phҫn cӭng ÿһc biӋt có thӇ khác nhau trên nhiӅu bӝ xӱ lý, hoһc phҫn
mӅm có thӇ ÿѭӧc viӃt ÿӇ cho phép chӍ mӝt chӫ và nhiӅu tӟ. Thí dө, SunOS ҩn bҧn 4
cung cҩp ÿa xӱ lý không ÿӕi xӭng, ngѭӧc lҥi, ҩn bҧn 5 (Solaris 2) là ÿӕi xӭng trên
cùng phҫn cӭng.
Khi các bӝ vi xӱ lý trӣ nên rҿ hѫn và mҥnh hѫn các chӭc năng bә sung cӫa hӋ

ÿiӅu hành là chuyӇn tӟi bӝ xӱ lý tӟ. Thí dө, tѭѫng ÿӕi dӉ ÿӇ thêm bӝ vi xӱ lý vӟi bӝ
nhӟ riêng ÿӇ quҧn lý hӋ thӕng ÿƭa. Bӝ vi xӱ lý có thӇ nhұn mӝt chuӛi các yêu cҫu tӯ
bӝ nhӟ chính và cài ÿһt hàng ÿӧi ÿƭa riêng và giҧi thuұt ÿӏnh thӡi. Sӵ sҳp xӃp này làm
giҧm chi phí ÿӏnh thӡi ÿƭa cӫa CPU. PC chӭa mӝt bӝ vi xӱ lý trong bàn phím ÿӇ
chuyӇn nhӳng phím nóng thành mã ÿӇ gӣi tӟi CPU. Thӵc tӃ, viӋc sӱ dөng các bӝ vi
xӱ lý trӣ nên quá phә biӃn ÿӃn nәi mà ÿa xӱ lý không còn ÿѭӧc xem xét.

VIIHӋ phân tán
Mӝt mҥng, trong thuұt ngӳ ÿѫn giҧn nhҩt, là mӝt ÿѭӡng dүn truyӅn thông giӳa
hai hay nhiӅu hӋ thӕng. HӋ phân tán phө thuӝc vào mҥng vӟi nhӳng khҧ năng cӫa nó.
Bҵng cách cho phép truyӅn thông, hӋ phân tán có thӇ chia sҿ các tác vө tính toán và
cung cҩp nhiӅu chӭc năng tӟi ngѭӡi dùng.
Các mҥng vӟi sӵ ÿa dҥng vӅ giao thӭc ÿѭӧc dùng, khoҧng cách giӳa các nút và
phѭѫng tiӋn truyӅn. TCP/IP là giao thӭc mҥng phә biӃn nhҩt mһc dù ATM và các
giao thӭc khác ÿѭӧc sӱ dөng rӝng rãi. Tѭѫng tӵ, hӋ ÿiӅu hành hӛ trӧ sӵ ÿa dҥng vӅ
giao thӭc. Hҫu hӃt các hӋ ÿiӅu hành hӛ trӧ TCP/IP, gӗm Windows và UNIX. Mӝt sӕ
hӋ ÿiӅu hành khác hӛ trӧ các giao thӭc riêng phù hӧp vӟi yêu cҫu cӫa chúng. Ĉӕi vӟi
mӝt hӋ ÿiӅu hành, mӝt giao thӭc mҥng chӍ cҫn mӝt thiӃt bӏ giao diӋn – thí dө: mӝt
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang 9


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

card mҥng-vӟi mӝt trình ÿiӅu khiӇn thiӃt bӏ ÿӇ quҧn lý nó và mӝt phҫn mӅm ÿӇ ÿóng
gói dӳ liӋu trong giao thӭc giao tiӃp ÿӇ gӣi nó và mӣ gói ÿӇ nhұn nó.
Mҥng thѭӡng dӵa trên các khoҧng cách giӳa các nút. Mӝt mҥng cөc bӝ (LANLocal Area Network) tӗn tҥi trong phҥm vi mӝt phòng, mӝt tҫng, hay mӝt toà nhà.
Mӝt mҥng diӋn rӝng (Wide-Area Network) thѭӡng tӗn tҥi giӳa các toà nhà, các thành
phӕ, các quӕc gia. Mӝt công ty toàn cҫu có thӇ có mӝt mҥng diӋn rӝng ÿӇ nӕi kӃt tӟi

các văn phòng cӫa nó. Các mҥng này có thӇ chҥy vӟi mӝt hay nhiӅu giao thӭc. Sӵ tiӃn
bӝ liên tөc cӫa công nghӋ mӟi hình thành nhiӅu dҥng mҥng khác nhau. Thí dө, mҥng
ÿô thӏ (MAN-Metropolitan Area Network) cNJng liên kӃt các toà nhà trong cùng mӝt
thành phӕ. Các thiӃt bӏ BlueTooth giao tiӃp qua mӝt khoҧng cách ngҳn khoҧng vài bӝ
(feet), chӫ yӃu tҥo ra mӝt mҥng phҥm vi nhӓ (small-area network).
Các phѭѫng tiӋn truyӅn thông làm các mҥng tѭѫng ÿӕi khác nhau. Chúng gӗm
cáp ÿӗng, cáp quang, truyӅn không dây giӳa vӋ tinh, các ÿƭa vi sóng (microware
dishes) và sóng radio. Khi các thiӃt bӏ tính toán ÿѭӧc nӕi kӃt tӟi các ÿiӋn thoҥi di
ÿӝng, chúng tҥo ra mӝt mҥng. Thұm chí rҩt nhiӅu giao tiӃp hӗng ngoҥi dãy ngҳn có
thӇ ÿѭӧc dùng cho mҥng. Tҥi cҩp ÿӝ cѫ bҧn, bҩt cӭ khi nào các máy tính giao tiӃp
chúng sӱ dөng hay tҥo ra mӝt mҥng. Các mҥng này cNJng rҩt khác nhau vӅ năng lӵc và
khҧ năng tin cұy.

VII.1 HӋ khách hàng-máy phөc vө
Mӝt PC có thӇ trӣ nên nhanh hѫn, mҥnh hѫn, rҿ hѫn nӃu ngѭӡi thiӃt kӃ thay ÿәi rҩt xa
tӯ kiӃn trúc hӋ thӕng tұp trung. Các thiӃt bӏ ÿҫu cuӕi ÿѭӧc nӕi kӃt tӟi các hӋ tұp trung
hiӋn nay ÿang ÿѭӧc thay thӃ bӣi các PC. Tѭѫng ӭng, chӭc năng giao diӋn ngѭӡi dùng
ÿѭӧc dùng quҧn lý trӵc tiӃp bӣi các hӋ tұp trung ÿang ÿѭӧc quҧn lý tăng dҫn bӣi các
PC. Do ÿó, các hӋ tұp trung ngày nay hoҥt ÿӝng nhѭ hӋ máy phөc vө ÿӇ thoҧ mãn các
yêu cҫu phát sinh bӣi hӋ thӕng khách hàng. Ĉһc ÿiӇm chung cӫa hӋ khách hàng- máy
phөc vө ÿѭӧc mô tҧ trong hình-I-5:

Hình 0-5 Cҩu trúc chung cӫa hӋ khách hàng-máy phөc vө

Các hӋ máy chӫ có thӇ ÿѭӧc phân loҥi rӝng rãi nhѭ máy phөc vө tính toán và máy
phөc vө tұp tin
o HӋ máy phөc vө tính toán (Compute-server systems): cung cҩp giao diӋn
mà khách hàng có thӇ gӣi các yêu cҫu ÿӇ thӵc hiӋn hoҥt ÿӝng. Chúng thӵc
thi hoҥt ÿӝng và gӣi kӃt quҧ cho khách hàng.
o HӋ máy phөc vө tұp tin (File-server systems ): cung cҩp mӝt giao diӋn hӋ

thӕng tұp tin nѫi khách hàng có thӇ tҥo, cұp nhұt, ÿӑc và xoá tұp tin.

Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang 10


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

VII.2 HӋ ngang hàng
Sӵ phát triӇn cӫa mҥng máy tính-ÿһc biӋt là Internet và Word Wide Web
(WWW)-có ҧnh hѭӣng sâu sҳc ÿӃn sӵ phát triӇn gҫn ÿây cӫa hӋ ÿiӅu hành. Khi PC
ÿѭӧc giӟi thiӋu vào nhӳng năm 1970, chúng ÿѭӧc thiӃt kӃ cho viӋc sӱ dөng “cá nhân”
và thѭӡng ÿѭӧc xem nhѭ là các máy tính ÿѫn lҿ (standalone computer). Vӟi viӋc bҳt
ÿҫu sӱ dөng Internet phә biӃn và rӝng rãi vào nhӳng năm 1980 vӟi e-mail, ftp,
gopher, nhiӅu PC ÿѭӧc nӕi vào mҥng máy tính. Vӟi sӵ giӟi thiӋu dӏch vө Web vào
giӳa nhӳng năm 1990, nӕi kӃt mҥng trӣ thành mӝt thành phҫn quan trӑng cӫa mӝt hӋ
thӕng mҥng máy tính.
Gҫn nhѭ tҩt cҧ máy tính PC hiӋn ÿҥi và các trҥm làm viӋc có thӇ chҥy trình
duyӋt Web ÿӇ truy xuҩt tài liӋu siêu văn bҧn trên Web. Các hӋ ÿiӅu hành (nhѭ
Windows, OS/2, MacOS và UNIX) hiӋn nay cNJng chӭa phҫn mӅm hӋ thӕng (nhѭ
TCP/IP và PPP) cho phép mӝt máy tính truy xuҩt Internet qua mӝt mҥng cөc bӝ hay
nӕi kӃt qua ÿѭӡng ÿiӋn thoҥi. NhiӅu hӋ ÿiӅu hành chӭa trình duyӋt Web cNJng nhѭ
khách hàng và máy phөc vө e-mail, ÿăng nhұp tӯ xa, và ftp.
Tѭѫng phҧn vӟi các hӋ thӕng kӃt nӕi chһt ÿѭӧc thҧo luұn trong phҫn I.6, mҥng
máy tính ÿѭӧc dùng trong các ӭng dөng này gӗm tұp hӧp các bӝ xӱ lý không chia sҿ
bӝ nhӟ hay ÿӗng hӗ. Thay vào ÿó, mӛi bӝ xӱ lý có bӝ nhӟ cөc bӝ riêng. Bӝ xӱ lý giao
tiӃp vӟi bӝ xӱ lý khác thông qua các ÿѭӡng truyӅn thông nhѭ các bus tӕc ÿӝ cao hay
các ÿѭӡng ÿiӋn thoҥi. Các hӋ thӕng này thѭӡng ÿѭӧc xem nhѭ các hӋ thӕng kӃt nӕi
lӓng (hay hӋ thӕng phân tán).

Vài hӋ ÿiӅu hành thӵc hiӋn khái niӋm mҥng hѫn là chú trӑng cung cҩp nӕi kӃt
mҥng. Mӝt hӋ ÿiӅu hành mҥng là mӝt hӋ ÿiӅu hành cung cҩp các ÿһc tính nhѭ chia sҿ
tұp tin qua mҥng, nó chӭa mӝt cѫ chӃ giao tiӃp cho phép các quá trình khác nhau trên
các máy khác nhau trao ÿәi thông ÿiӋp. Mӝt máy tính chҥy mӝt hӋ ÿiӅu hành mҥng
hoҥt ÿӝng tӵ trӏ tӯ tҩt cҧ máy tính khác trên mҥng, mһc dù nó nhұn thӭc sӵ hiӋn diӋn
cӫa mҥng và có thӇ giao tiӃp vӟi các máy tính ÿѭӧc nӕi mҥng khác. Mӝt hӋ ÿiӅu hành
phân tán là mӝt môi trѭӡng ít tӵ trӏ hѫn: Các hӋ ÿiӅu hành phân tán giao tiӃp ÿӫ gҫn
ÿӇ cung cҩp mӝt hình ҧnh mà chӍ mӝt hӋ ÿiӅu hành ÿѫn lҿ ÿiӅu khiӇn mҥng.

VIII HӋ thӕng nhóm (Clustered Systems)
Tѭѫng tӵ các hӋ song song, hӋ thӕng nhóm tұp hӧp nhiӅu CPUs vӟi nhau ÿӇ
thӵc hiӋn công viӋc tính toán. Tuy nhiên, hӋ thӕng nhóm khác hӋ thӕng song song ӣ
ÿiӇm chúng ÿѭӧc hӧp thành tӯ hai hay nhiӅu hӋ thӕng ÿѫn ÿѭӧc kӃt hӧp vӟi nhau.
Ĉӏnh nghƭa cӫa thuұt ngӳ nhóm (clustered) là không cө thӇ. Ĉӏnh nghƭa thông thѭӡng
có thӇ chҩp nhұn là các máy tính nhóm chia sҿ viӋc lѭu trӳ và ÿѭӧc liên kӃt gҫn qua
LAN.
Nhóm thѭӡng ÿѭӧc thӵc hiӋn ÿӇ cung cҩp khҧ năng sҷn dùng cao. Mӝt lӟp phҫn
mӅm nhóm chҥy trên các nút nhóm (cluster nodes). Mӛi nút có thӇ kiӇm soát mӝt hay
nhiӅu hѫn mӝt nút (qua mҥng LAN). NӃu máy bӏ kiӇm soát gһp sӵ cӕ, máy kiӇm soát
có thӇ lҩy quyӅn sӣ hӳu viӋc lѭu trӳ cӫa nó và khӣi ÿӝng lҥi (các) ӭng dөng mà chúng
ÿang chҥy trên máy bӏ sӵ cӕ. Máy bӏ sӵ cӕ vүn chѭa hoҥt ÿӝng nhѭng ngѭӡi dùng và
khách hàng cӫa ӭng dөng chӍ thҩy mӝt sӵ gián ÿoҥn ngҳn cӫa dӏch vө.
Trong nhóm bҩt ÿӕi xӭng (asymmetric clustering), mӝt máy ӣ trong chӃ ÿӝ dӵ phòng
nóng (hot standby) trong khi các máy khác ÿang chҥy các ӭng dөng. Máy dӵ phòng
không là gì cҧ ngoҥi trӯ theo dõi server hoҥt ÿӝng. NӃu server ÿó bӏ lӛi, máy chӫ dӵ
phòng nóng trӣ thành server hoҥt ÿӝng. Trong chӃ ÿӝ ÿӕi xӭng (symmetric mode), hai
hay nhiӅu máy chӫ ÿang chҥy ӭng dөng và chúng ÿang kiӇm soát lүn nhau. ChӃ ÿӝ
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang 11



Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

này chú trӑng tính hiӋu quҧ khi nó sӱ dөng tҩt cҧ phҫn cӭng sҷn có. Nó thӵc hiӋn yêu
cҫu nhiӅu hѫn mӝt ӭng dөng sҷn dùng ÿӇ chҥy.
Các hình thӭc khác cӫa nhóm gӗm các nhóm song song (parallel clusters) và
nhóm qua mӝt WAN. Các nhóm song song cho phép nhiӅu máy chӫ truy xuҩt cùng dӳ
liӋu trên thiӃt bӏ lѭu trӳ ÿѭӧc chia sҿ. Vì hҫu hӃt các hӋ ÿiӅu hành hӛ trӧ nghèo nàn
viӋc truy xuҩt dӳ liӋu ÿӗng thӡi bӣi nhiӅu máy chӫ, các nhóm song song thѭӡng ÿѭӧc
thӵc hiӋn bӣi các ҩn bҧn phҫn mӅm ÿһc biӋt và sӵ phát hành cӫa các ӭng dөng ÿһc
biӋt. Thí dө, Oracle Parallel Server là mӝt ҩn bҧn cѫ sӣ dӳ liӋu cӫa Oracle, và lӟp
phҫn mӅm ghi vӃt viӋc truy xuҩt tӟi ÿƭa ÿѭӧc chia sҿ. Mӛi máy có truy xuҩt ÿҫy ÿӫ tӟi
dӳ liӋu trong cѫ sӣ dӳ liӋu.
Mһc dù có nhiӅu cҧi tiӃn trong tính toán phân tán, hҫu hӃt các hӋ thӕng không
cung cҩp các hӋ thӕng tұp tin phân tán mөc ÿích chung (general-purpose distributed
file systems). Do ÿó, hҫu hӃt các nhóm không cho phép truy xuҩt ÿѭӧc chia sҿ tӟi dӳ
liӋu trên ÿƭa. Cho mөc ÿích này, các hӋ thӕng tұp tin phân tán phҧi cung cҩp ÿiӅu
khiӇn truy xuҩt và khoá các tұp tin ÿӇ ÿҧm bҧo không có các thao tác xung ÿӝt xҧy ra.
Loҥi dӏch vө này thѭӡng ÿѭӧc gӑi là bӝ quҧn lý khoá phân tán (distributed lock
manager-DLM).
Công nghӋ nhóm ÿang nhanh chóng thay ÿәi. Nhӳng ÿӏnh hѭӟng nhóm gӗm
các nhóm toàn cөc, trong ÿó các máy có thӇ ÿӏnh vӏ bҩt cӭ nѫi nào trên thӃ giӟi (hay
bҩt cӭ nѫi nào mӝt WAN ÿҥt tӟi). Các dӵ án nhѭ thӃ vүn là chӫ ÿӅ cho nghiên cӭu và
phát triӇn.
ViӋc sӱ dөng hӋ thӕng nhóm và các ÿһc tính nên mӣ rӝng nhѭ mҥng vùng lѭu
trӳ (storage-area networks-SANs) chiӃm ѭu thӃ. SANs cho phép gán dӉ dàng nhiӅu
máy chӫ tӟi nhiӅu ÿѫn vӏ lѭu trӳ. Các nhóm hiӋn tҥi thѭӡng bӏ giӟi hҥn tӟi hai hay
bӕn máy chӫ do sӵ phӭc tҥp cӫa nӕi kӃt các máy chӫ tӟi thiӃt bӏ lѭu trӳ ÿѭӧc chia sҿ.


IX HӋ thӡi thӵc
Mӝt dҥng khác cӫa hӋ ÿiӅu hành có mөc ÿích ÿһc biӋt là hӋ thӡi thӵc (real-time
system). HӋ thӡi thӵc ÿѭӧc dùng khi các yêu cҫu thӡi gian khҳt khe ÿѭӧc ÿһt trên thao
tác cӫa mӝt bӝ xӱ lý hay dòng dӳ liӋu; do ÿó, nó thѭӡng ÿѭӧc dùng nhѭ mӝt thiӃt bӏ
ÿiӅu khiӇn trong mӝt ӭng dөng tұn hiӃn. Các bӝ cҧm biӃn mang dӳ liӋu tӟi máy tính.
Máy tính phҧi phân tích dӳ liӋu và có thӇ thích ӭng các ÿiӅu khiӇn ÿӇ hiӋu chӍnh các
dӳ liӋu nhұp cҧm biӃn. Các hӋ thӕng ÿiӅu khiӇn các thí nghiӋm khoa hӑc, hӋ thӕng
ҧnh hoá y tӃ, hӋ thӕng ÿiӅu khiӇn công nghӋ và các hӋ thӕng hiӇn thӏ,... Các hӋ thӕng
phun dҫu ÿӝng cѫ ôtô, các bӝ ÿiӅu khiӇn dөng cө trong nhà, hӋ thӕng vNJ khí cNJng là
các hӋ thӕng thӡi thӵc.
Mӝt hӋ thӕng thӡi thӵc có sӵ ràng buӝc cӕ ÿӏnh, rõ ràng. Xӱ lý phҧi ÿѭӧc thӵc
hiӋn trong phҥm vi các ràng buӝc ÿѭӧc ÿӏnh nghƭa hay hӋ thӕng sӁ thҩt bҥi. Mӝt hӋ
thӡi thӵc thӵc hiӋn ÿúng chӭc năng chӍ nӃu nó trҧ vӅ kӃt quҧ ÿúng trong thӡi gian
ràng buӝc. Tѭѫng phҧn vӟi yêu cҫu này trong hӋ chia thӡi, ӣ ÿó nó mong muӕn
(nhѭng không bҳt buӝc) ÿáp ӭng nhanh, hay ÿӕi vӟi hӋ thӕng bó, nó không có ràng
buӝc thӡi gian gì cҧ.
HӋ thӡi thӵc có hai dҥng: cӭng và mӅm. HӋ thӡi thӵc cӭng ÿҧm bҧo rҵng các
tác vө tӟi hҥn ÿѭӧc hoàn thành ÿúng giӡ. Mөc tiêu này ÿòi hӓi tҩt cҧ trì hoãn trong hӋ
thӕng bӏ giӟi hҥn, tӯ viӋc lҩy lҥi dӳ liӋu ÿѭӧc lѭu trӳ thӡi gian hӋ ÿiӅu hành hoàn
thành bҩt cӭ yêu cҫu cho nó. Các ràng buӝc thӡi gian nhѭ thӃ ra lӋnh các phѭѫng tiӋn
sҷn có trong hӋ thӡi thӵc cӭng. ThiӃt bӏ lѭu trӳ phө cӫa bҩt cӭ thӭ hҥng nào thѭӡng bӏ
giӟi hҥn hay bӏ mҩt vӟi dӳ liӋu ÿang ÿѭӧc lѭu trong bӝ nhӟ lѭu trӳ ngҳn hҥn (shortterm memory) hay trong bӝ nhӟ chӍ ÿӑc (ROM). Hҫu hӃt các hӋ ÿiӅu hành hiӋn ÿҥi
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang 12


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

không cung cҩp ÿһc ÿiӇm này vì chúng có khuynh hѭӟng tách rӡi ngѭӡi dùng tӯ phҫn

cӭng và sӵ tách rӡi này dүn ÿӃn lѭӧng thӡi gian không xác ÿӏnh mà thao tác sӁ mҩt.
Thí dө, bӝ nhӟ ҧo hҫu nhѭ chѭa bao giӡ thҩy trong hӋ thӡi thӵc. Do ÿó, nhӳng hӋ thӡi
thӵc cӭng xung ÿӝt vӟi thao tác cӫa hӋ chia thӡi và hai hӋ này không thӇ ÿan xen
nhau. Vì không có hӋ ÿiӅu hành ÿa mөc ÿích ÿã có hӛ trӧ chӭc năng thӡi thӵc cӭng;
chúng ta không tұp trung vӟi loҥi hӋ thӕng này trong chѭѫng này.
Mӝt loҥi thӡi thӵc ít hҥn chӃ hѫn là hӋ thӡi thӵc mӅm, ӣ ÿó tác vө thӡi thӵc tӟi
hҥn có ÿӝ ѭu tiên hѫn các tác vө khác và duy trì ÿӝ ѭu tiên ÿó cho ÿӃn khi chúng hoàn
thành. Nhѭ trong hӋ thӡi thӵc cӭng, sӵ trì hoãn nhân (kernel) cӫa hӋ ÿiӅu hành trì
hoãn yêu cҫu ÿѭӧc giӟi hҥn. Mӝt tác vө thӡi thӵc không thӇ giӳ viӋc chӡ không xác
ÿӏnh ÿӕi vӟi nhân ÿӇ thӵc thi. Thӡi thӵc mӅm là mөc tiêu có thӇ ÿҥt ÿѭӧc và có thӇ
ÿѭӧc ÿan xen vӟi các loҥi hӋ thӕng khác. Tuy nhiên, hӋ thӡi thӵc mӅm có nhӳng tiӋn
ích giӟi hҥn hѫn hӋ thӡi thӵc cӭng. Vì không hӛ trӧ tӕt cho thӡi ÿiӇm tӟi hҥn, nên hӋ
thӡi thӵc mӅm dӉ gây rӫi ro khi dùng cho viӋc kiӇm soát công nghӋ và tӵ ÿӝng hoá.
Tuy nhiên, chúng có ích trong nhiӅu lƭnh vӵc nhѭ ÿa phѭѫng tiӋn, thӵc tӃ ҧo, dӵ án
khoa hӑc tiên tiӃn-nhѭ khám phá trong lòng ÿҥi dѭѫng và khám phá hành tinh. Nhӳng
hӋ thӕng này cҫn nhӳng ÿһc ÿiӇm hӋ ÿiӅu hành tiên tiӃn mà không ÿѭӧc hӛ trӧ bӣi hӋ
thӡi thӵc cӭng. Vì viӋc sӱ dөng chӭc năng thӡi thӵc mӅm ÿѭӧc mӣ rӝng nên chúng ta
ÿang tìm cách ÿѭa chúng vào trong hҫu hӃt các hӋ ÿiӅu hành hiӋn tҥi, gӗm các ҩn bҧn
chính thӭc cӫa UNIX.

X HӋ xách tay
HӋ xách tay gӗm các máy hӛ trӧ cá nhân dùng kӻ thuұt sӕ (personal digital
assistants-PDAs) nhѭ Palm hay ÿiӋn thoҥi di ÿӝng (cellular telephone) vӟi nӕi kӃt tӟi
mҥng nhѭ Internet. Nhӳng ngѭӡi phát triӇn hӋ xách tay và ӭng dөng gһp phҧi nhiӅu
thӱ thách, nhҩt là sӵ giӟi hҥn vӅ kích thѭӟc cӫa thiӃt bӏ. Thí dө, mӝt PDA ÿiӇn hình
cao khoҧng 5 inches và rӝng khoҧng 3 inches và trӑng lѭӧng cӫa nó ít hѫn 0.5 pound.
Do sӵ giӟi hҥn vӅ kích thѭӟc này, hҫu hӃt các thiӃt bӏ xách tay có bӝ nhӟ nhӓ gӗm các
bӝ xӱ lý thҩp và màn hình hiӇn thӏ nhӓ. Bây giӡ chúng ta sӁ xem xét mӛi sӵ giӟi hҥn
này.
NhiӅu thiӃt bӏ xách tay có dung lѭӧng bӝ nhӟ 512KB và 8 MB (ngѭӧc lҥi, các

máy PC hay trҥm làm viӋc có hàng trăm MB bӝ nhӟ). Do ÿó, hӋ ÿiӅu hành và các ӭng
dөng phҧi quҧn lý bӝ nhӟ hiӋu quҧ. ĈiӅu này gӗm trҧ vӅ tҩt cҧ bӝ nhӟ ÿѭӧc cҩp phát
tӟi bӝ quҧn lý bӝ nhӟ mӝt khi bӝ nhӟ không còn ÿѭӧc dùng nӳa. HiӋn nay, nhiӅu thiӃt
bӏ xách tay không dùng kӻ thuұt bӝ nhӟ ҧo do ÿó buӝc ngѭӡi phát triӇn chѭѫng trình
làm viӋc trong phҥm vi giӟi hҥn cӫa bӝ nhӟ vұt lý.
Vҩn ÿӅ thӭ hai quan tâm ÿӃn ngѭӡi phát triӇn các thiӃt bӏ xách tay là tӕc ÿӝ cӫa
bӝ xӱ lý ÿѭӧc dùng trong thiӃt bӏ. Các bӝ xӱ lý ÿӕi vӟi hҫu hӃt các thiӃt bӏ xách tay
thѭӡng chҥy vӟi tӕc ÿӝ chӍ bҵng mӝt phҫn tӕc ÿӝ cӫa mӝt bӝ xӱ lý trong máy PC. Các
bӝ xӱ lý nhanh hѫn yêu cҫu ÿiӋn năng nhiӅu hѫn. ĈӇ chӭa mӝt bӝ xӱ lý nhanh hѫn
bên trong thiӃt bӏ xách tay nên yêu cҫu nhiӅu pin hѫn hѫn và phҧi ÿѭӧc nҥp lҥi thѭӡng
xuyên. ĈӇ tӕi thiӇu hoá kích thѭӟc cӫa các thiӃt bӏ xách tay ÿòi hӓi bӝ xӱ lý nhӓ hѫn,
chұm hѫn tiêu thө ít ÿiӋn năng hѫn. Do ÿó, hӋ ÿiӅu hành và các ӭng dөng phҧi ÿѭӧc
thiӃt kӃ không ÿòi hӓi sӱ dөng nhiӅu bӝ xӱ lý.
Vҩn ÿӅ cuӕi cùng gây khó khăn cho ngѭӡi thiӃt kӃ chѭѫng trình cho các thiӃt bӏ
xách tay là màn hình hiӇn thӏ nhӓ. Trong khi mӝt màn hình cho máy tính ӣ nhà kích
thѭӟc có thӇ 21 inches, màn hình cho thiӃt bӏ xách tay thѭӡng có diӋn tích không quá
3 inches. Nhӳng tác vө quen thuӝc nhѭ ÿӑc e-mail hay hiӇn thӏ các trang web, phҧi
ÿѭӧc cô ÿӑng vào màn hình nhӓ hѫn. Mӝt phѭѫng pháp ÿӇ hiӇn thӏ nӝi dung các trang
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang 13


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

web là cҳt xén web (web clipping), ӣ ÿó chӍ mӝt tұp hӧp nhӓ trang web ÿѭӧc phân
phát và hiӇn thӏ trên thiӃt bӏ xách tay.
Mӝt sӕ thiӃt bӏ xách tay có thӇ dùng công nghӋ không dây nhѭ BlueTooth, cho
phép truy xuҩt tӯ xa tӟi e-mail và trình duyӋt web. Các ÿiӋn thoҥi di ÿӝng vӟi nӕi kӃt
Internet thuӝc loҥi này. Tuy nhiên, nhiӅu PDAs hiӋn tҥi không cung cҩp truy xuҩt

không dây. ĈӇ tҧi dӳ liӋu xuӕng các thiӃt bӏ này, trѭӟc tiên ngѭӡi dùng tҧi dӳ liӋu
xuӕng PC hay trҥm và sau ÿó tҧi dӳ liӋu xuӕng PDA. Mӝt sӕ PDA cho phép dӳ liӋu
chép trӵc tiӃp tӯ mӝt thiӃt bӏ này tӟi thiӃt bӏ khác dùng liên kӃt hӗng ngoҥi. Nhìn
chung, các giӟi hҥn trong chӭc năng cӫa PDA ÿѭӧc cân bҵng bӣi nhӳng tiӋn dөng và
linh ÿӝng cӫa chúng. ViӋc sӱ dөng chúng tiӃp tөc mӣ rӝng khi các nӕi kӃt mҥng trӣ
nên sҷn dùng và các chӑn lӵa khác nhѭ máy ҧnh và MP3 players, mӣ rӝng tiӋn ích
cӫa chúng.

XI Tóm tҳt
HӋ ÿiӅu hành ÿѭӧc phát triӇn hѫn 45 năm qua vӟi hai mөc ÿích chính. Mөc ÿích
thӭ nhҩt, hӋ ÿiӅu hành cӕ gҳng lұp thӡi biӇu các hoҥt ÿӝng tính toán ÿӇ ÿҧm bҧo năng
lӵc thӵc hiӋn cӫa hӋ thӕng là tӕt. Mөc ÿích thӭ hai, nó cung cҩp mӝt môi trѭӡng tiӋn
dөng ÿӇ phát triӇn và thӵc thi chѭѫng trình. Ban ÿҫu, hӋ thӕng máy tính ÿѭӧc dùng tӯ
mӝt màn hình và bàn phím (thiӃt bӏ ÿҫu cuӕi). Các phҫn mӅm nhѭ bӝ hӧp ngӳ
(assembler), bӝ nҥp (loader), bӝ liên kӃt (linkers) và các trình biên dӏch (compiler) cҧi
tiӃn sӵ tiӋn dөng cӫa viӋc lұp trình hӋ thӕng nhѭng cNJng yêu cҫu thӡi gian thiӃt lұp
ÿáng kӇ. ĈӇ giҧm thӡi gian thiӃt lұp, các phѭѫng tiӋn thuê ngѭӡi ÿiӅu hành và các
công viӋc tuѫng tӵ ÿѭӧc bó.
Các hӋ thӕng xӱ lý theo lô cho phép sҳp xӃp công viӋc tӵ ÿӝng bӣi hӋ ÿiӅu hành
và cҧi tiӃn rҩt nhiӅu viӋc tұn dөng toàn bӝ máy tính. Máy tính không còn phҧi chӡ các
thao tác cӫa ngѭӡi dùng. Tuy nhiên, viӋc tұn dөng CPU vүn còn thҩp vì tӕc ÿӝ cӫa
thiӃt bӏ xuҩt nhұp thҩp hѫn nhiӅu so vӟi tӕc ÿӝ cӫa CPU. Thao tác ngoҥi vi (off-line
operation) cӫa các thiӃt bӏ chұm cung cҩp mӝt phѭѫng tiӋn sӱ dөng nhiӅu hӋ thӕng bӝ
ÿӑc tӟi băng tӯ (reader-to-tape) và băng tӯ tӟi máy in (tape-to-printer) cho mӝt CPU.
ĈӇ cҧi tiӃn toàn bӝ năng lӵc thӵc hiӋn cӫa hӋ thӕng máy tính, ngѭӡi phát triӇn giӟi
thiӋu khái niӋm ÿa chѭѫng ÿӇ mà nhiӅu công viӋc có thӇ ÿѭӧc giӳ cùng lúc trong bӝ
nhӟ tҥi cùng mӝt thӡi ÿiӇm. CPU ÿѭӧc chuyӇn qua lҥi giӳa chúng ÿӇ gia tăng viӋc tұn
dөng CPU và giҧm toàn bӝ thӡi gian ÿѭӧc yêu cҫu ÿӇ thӵc thi các công viӋc.
Ĉa chѭѫng cNJng cho phép chia sҿ thӡi gian. HӋ ÿiӅu hành chia sҿ thӡi gian cho phép
nhiӅu ngѭӡi dùng (tӯ mӝt tӟi vài trăm) sӱ dөng hӋ thӕng máy tính giao tiӃp tҥi cùng

mӝt thӡi ÿiӇm.
PC là máy vi tính; chúng xem nhѭ nhӓ hѫn và rҿ hѫn hӋ thӕng mainframe.
Các hӋ ÿiӅu hành cho các máy tính này lӧi hѫn viӋc phát triӇn hӋ ÿiӅu hành cho máy
tính mainframe trong nhiӅu cách. Tuy nhiên, vì mӛi cá nhân là ngѭӡi dùng duy nhҩt
sӱ dөng máy tính nên viӋc tұn dөng CPU không còn là mӕi quan tâm chӫ yӃu. Do ÿó,
mӝt vài quyӃt ÿӏnh thiӃt kӃ ÿѭӧc thӵc hiӋn cho hӋ ÿiӅu hành cho máy mainframe có
thӇ không phù hӧp cho cҧ hӋ thӕng nhӓ và lӟn, hiӋn nay khi các PCs có thӇ ÿѭӧc nӕi
kӃt tӟi các máy tính khác và ngѭӡi dùng thông qua mҥng và Web.
Các hӋ song song có nhiӅu hѫn mӝt CPU trong giao tiӃp gҫn; các CPU chia sҿ bus
máy tính và ÿôi khi chia sҿ bӝ nhӟ và các thiӃt bӏ ngoҥi vi. Nhӳng hӋ thӕng nhѭ thӃ có
thӃ cung cҩp thông lѭӧng và khҧ năng tin cұy tăng. Các hӋ thӕng phân tán cho phép
chia sҿ tài nguyên trên nhӳng máy chӫ ÿѭӧc phân tán vӅ mһt ÿӏa lý. Các hӋ thӕng
ÿѭӧc nhóm cho phép nhiӅu máy thӵc hiӋn viӋc tính toán trên dӳ liӋu ÿѭӧc chӭa trên
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang 14


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

thiӃt bӏ lѭu trӳ chia sҿ và ÿӇ viӋc tính toán tiӃp tөc trong trѭӡng hӧp lӛi cӫa tұp hӧp
con các thành viên nhóm.
Mӝt hӋ thӡi thӵc cӭng thѭӡng ÿѭӧc dùng nhѭ mӝt thiӃt bӏ ÿiӅu khiӇn trong
mӝt ӭng dөng tұn hiӃn. Mӝt hӋ ÿiӅu hành thӡi thӵc cӭng có ràng buӝc hoàn toàn xác
ÿӏnh và thӡi gian cӕ ÿӏnh. Xӱ lý phҧi ÿѭӧc thӵc hiӋn trong các ràng buӝc ÿѭӧc xác
ÿӏnh hoһc hӋ thӕng sӁ bӏ lӛi. Các hӋ thӕng thӡi thӵc mӅm có ràng buӝc thӡi gian ít
nghiêm khҳc hѫn và không hӛ trӧ thӡi biӇu tӟi hҥn.
Gҫn ÿây sӵ tác ÿӝng cӫa Internet và World Wide Web khuyӃn khích sӵ phát
triӇn cӫa các hӋ ÿiӅu hành hiӋn ÿҥi. Các hӋ ÿiӅu hành này chӭa các trình duyӋt Web,
mҥng và phҫn mӅm truyӅn thông nhѭ là các ÿһc ÿiӇm tích hӧp.

Chúng ta ÿã thӇ hiӋn tiӃn trình luұn lý cӫa sӵ phát hӋ ÿiӅu hành, ÿѭӧc ÿӏnh
hѭӟng bӣi sӵ bao gӗm các ÿһc ÿiӇm trong phҫn cӭng CPU ÿѭӧc yêu cҫu cho chӭc
năng tiên tiӃn. Xu hѭӟng này có thӇ ÿѭӧc thҩy ngày nay trong cuӝc cách mҥng cӫa
PC, vӟi phҫn cӭng ngày mӝt rҿ hѫn và ÿang ÿѭӧc cҧi tiӃn ÿӫ ÿӇ cho phép cҧi tiӃn các
ÿһc ÿiӇm.

Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang 15


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

CҨU TRÚC Hӊ ĈIӄU HÀNH
I

Mөc ÿích
Sau khi hӑc xong chѭѫng này, ngѭӡi hӑc nҳm ÿѭӧc nhӳng kiӃn thӭc sau:
o HiӇu hӋ ÿiӅu hành tӯ ba khía cҥnh: ngѭӡi dùng, ngѭӡi lұp trình và ngѭӡi
thiӃt kӃ
o HiӇu các dӏch vө mà hӋ ÿiӅu hànhcung cҩp
o BiӃt các phѭѫng pháp ÿѭӧc dùng ÿӇ thiӃt kӃ kiӃn trúc hӋ ÿiӅu hành

II Giӟi thiӋu
HӋ ÿiӅu hành cung cҩp môi trѭӡng cho các chѭѫng trình thӵc thi. Nӝi tҥi, các hӋ
ÿiӅu hành rҩt khác biӋt nhau vӅ kiӃn trúc, chúng ÿѭӧc tә chӭc cùng vӟi các dòng khác
nhau. ThiӃt kӃ mӝt hӋ ÿiӅu hành mӟi là mӝt công viӋc quan trӑng. Các mөc ÿích cӫa
hӋ thӕng phҧi ÿѭӧc ÿӏnh nghƭa rõ ràng trѭӟc khi thiӃt kӃ bҳt ÿҫu. KiӇu hӋ thӕng mong
muӕn là cѫ sӣ cho viӋc chӑn lӵa giӳa các giҧi thuұt và chiӃn lѭӧc khác nhau.
HӋ ÿiӅu hành có thӇ ÿѭӧc nhìn tӯ nhiӅu lӧi ÿiӇm khác nhau. Ngѭӡi này xem xét

các dӏch vө mà hӋ ÿiӅu hành cung cҩp. Ngѭӡi kia quan tâm ÿӃn giao diӋn mà hӋ ÿiӅu
hành mang lҥi cho ngѭӡi dùng và ngѭӡi lұp trình. Ngѭӡi khác lҥi phân rã hӋ thӕng
thành nhӳng thành phҫn và các mӕi quan hӋ bên trong cӫa chúng. Trong chѭѫng này
chúng ta tìm hiӇu cҧ ba khía cҥnh cӫa hӋ ÿiӅu hành, thӇ hiӋn ba quan ÿiӇm cӫa ngѭӡi
dùng, ngѭӡi lұp trình và ngѭӡi thiӃt kӃ hӋ ÿiӅu hành. Chúng ta xem xét các dӏch vө
mà hӋ ÿiӅu hành cung cҩp, cách chúng ÿѭӧc cung cҩp và các phѭѫng pháp khác nhau
ÿѭӧc dùng cho viӋc thiӃt kӃ hӋ ÿiӅu hành.

III Các thành phҫn hӋ thӕng
Chúng ta có thӇ tҥo ra mӝt hӋ thӕng lӟn và phӭc tҥp nhѭ hӋ ÿiӅu hành chӍ khi
phân chia hӋ ÿiӅu hành thành nhӳng phҫn nhӓ hѫn. Mӛi phҫn nên là mӝt thành phҫn
ÿѭӧc mô tҧ rõ ràng cӫa hӋ thӕng, vӟi xuҩt, nhұp và các chӭc năng ÿѭӧc ÿӏnh nghƭa
cҭn thұn. Tuy nhiên, nhiӅu hӋ thӕng hiӋn ÿҥi chia sҿ mөc tiêu hӛ trӧ các thành phҫn
hӋ thӕng ÿѭӧc liӋt kê sau ÿây:

III.1 Quҧn lý quá trình
Mӝt chѭѫng trình không làm gì trӯ khi các chӍ thӏ cӫa nó ÿѭӧc thӵc thi bӣi
mӝt CPU. Mӝt quá trình có thӇ ÿѭӧc xem nhѭ mӝt chѭѫng ÿang thӵc thi, nhѭng ÿӏnh
nghƭa cӫa nó sӁ mӣ rӝng khi chúng ta khám phá chi tiӃt hѫn. Mӝt chѭѫng trình ngѭӡi
dùng ÿѭӧc chia thӡi chҷng hҥn nhѭ mӝt trình biên dӏch là mӝt quá trình. Mӝt chѭѫng
trình xӱ lý văn bҧn ÿang ÿѭӧc thӵc thi bӣi mӝt ngѭӡi dùng trên mӝt PC cNJng là mӝt
quá trình. Mӝt tác vө hӋ thӕng, nhѭ gӣi dӳ liӋu xuҩt ra máy in cNJng ÿѭӧc xem là mӝt
quá trình. Bây giӡ chúng ta có thӇ xem xét mӝt quá trình là mӝt công viӋc hay chѭѫng
trình chia thӡi, nhѭng chúng ta sӁ nghiên cӭu khái niӋm này tәng quát hѫn trong các
chѭѫng sau.
Mӝt quá trình cҫn các tài nguyên xác ÿӏnh-gӗm thӡi gian CPU, bӝ nhӟ, tұp tin,
các thiӃt bӏ xuҩt/nhұp-ÿӇ hoàn thành tác vө cӫa nó. Các tài nguyên này ÿѭӧc cҩp cho
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang


18


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

quá trình khi nó ÿѭӧc tҥo ra, hay ÿѭӧc cҩp phát tӟi nó khi nó ÿang chҥy. Ngoài ra, các
tài nguyên vұt lý và luұn lý khác nhau mà quá trình nhұn ÿѭӧc khi nó ÿѭӧc tҥo, dӳ
liӋu khӣi tҥo khác nhau (hay nhұp) có thӇ ÿѭӧc truyӅn qua. Thí dө, xem xét mӝt quá
trình có chӭc năng hiӇn thӏ trҥng thái cӫa mӝt tұp tin trên màn hình cӫa mӝt thiӃt bӏ
ÿҫu cuӕi. Quá trình này sӁ ÿѭӧc cho dӳ liӋu vào là tên cӫa tұp tin, và sӁ thӵc thi các
chӍ thӏ thích hӧp và các lӡi gӑi hӋ thӕng ÿҥt ÿѭӧc và xuҩt trên thiӃt bӏ cuӕi thông tin
mong muӕn. Khi quá trình này kӃt thúc, hӋ ÿiӅu hành sӁ ÿòi lҥi bҩt cӭ tài nguyên nào
có thӇ dùng lҥi.
Chúng ta nhҩn mҥnh mӝt chѭѫng trình chính nó không phҧi là mӝt quá trình;
mӝt chѭѫng trình là mӝt thӵc thӇ thө ÿӝng, nhѭ là nӝi dung cӫa tұp tin ÿѭӧc lѭu trên
ÿƭa, trái lҥi mӝt quá trình là mӝt thӵc thӇ hoҥt ÿӝng, vӟi mӝt bӝ ÿӃm chѭѫng trình xác
ÿӏnh chӍ thӏ kӃ tiӃp ÿӇ thӵc thi. ViӋc thӵc thi cӫa quá trình phҧi là tuҫn tӵ. CPU thӵc
thi mӝt chӍ thӏ cӫa quá trình sau khi ÿã thӵc thi mӝt chӍ thӵc trѭӟc ÿó cho ÿӃn khi quá
trình hoàn thành. Ngoài ra, tҥi bҩt kǤ thӡi ÿiӇm nào, tӕi ÿa mӝt chӍ thӏ ÿѭӧc thӵc thi
cho quá trình. Do ÿó, mһc dù hai quá trình có thӇ ÿѭӧc liên kӃt vӟi cùng mӝt quá
trình, vì thӃ chúng ÿѭӧc xem nhѭ hai chuӛi thӵc thi riêng. Thông thѭӡng có mӝt
chѭѫng trình sinh ra nhiӅu quá trình khi nó thӵc thi.
Mӝt quá trình là mӝt ÿѫn vӏ công viӋc trong hӋ thӕng. Mӝt hӋ thӕng chӭa tұp
các quá trình, mӝt vài quá trình này là các quá trình hӋ ÿiӅu hành (thӵc thi mã hӋ
thӕng) và các quá trình còn lҥi là các quá trình ngѭӡi dùng (chúng thӵc thi mã ngѭӡi
dùng). Tҩt cҧ các quá trình này có tiӅm năng thӵc thi ÿӗng hành bҵng cách ÿa hӧp
CPU giӳa các quá trình.
HӋ ÿiӅu hành có nhiӋm vө cho các hoҥt ÿӝng sau khi ÿӅ cұp ÿӃn chӭc năng
quҧn lý quá trình:

o Tҥo và xoá các quá trình ngѭӡi dùng và hӋ thӕng
o Tҥm dӯng và thӵc thi tiӃp quá trình
o Cung cҩp các cѫ chӃ ÿӗng bӝ hoá quá trình
o Cung cҩp các cѫ chӃ giao tiӃp quá trình
o Cung cҩp cѫ chӃ quҧn lý deadlock

III.2 Quҧn lý bӝ nhӟ chính
Bӝ nhӟ chính là trung tâm ÿiӅu hành cӫa mӝt máy tính hiӋn ÿҥi. Bӝ nhӟ chính
là mӝt mҧng các tӯ (words) hay bytes có kích thѭӟc lӟn tӯ hàng trăm ngàn tӟi hàng tӍ.
Mӛi tӯ hay byte có ÿӏa chӍ riêng. Bӝ nhӟ chính là mӝt kho chӭa dӳ liӋu có khҧ năng
truy xuҩt nhanh ÿѭӧc chia sҿ bӣi CPU và các thiӃt bӏ xuҩt/nhұp. Bӝ xӱ lý trung tâm
ÿӑc các chӍ thӏ tӯ bӝ nhӟ trong chu kǤ lҩy chӍ thӏ, nó ÿӑc và viӃt dӳ liӋu tӯ bӝ nhӟ
chính trong chu kǤ lҩy dӳ liӋu. Bӝ nhӟ chính thѭӡng là thiӃt bӏ lѭu trӳ lӟn mà CPU có
thӇ ÿӏnh ÿӏa chӍ và truy xuҩt trӵc tiӃp. Thí dө, ÿӕi vӟi CPU xӱ lý dӳ liӋu tӯ ÿƭa, dӳ
liӋu trѭӟc tiên ÿѭӧc chuyӇn tӟi bӝ nhӟ chính bӣi lӡi gӑi xuҩt/nhұp ÿѭӧc sinh ra bӣi
CPU. Tѭѫng tӵ, các chӍ thӏ phҧi ӣ trong bӝ nhӟ cho CPU thӵc thi chúng.
Ĉӕi vӟi mӝt chѭѫng trình ÿѭӧc thӵc thi, nó phҧi ÿѭӧc ánh xҥ các ÿӏa chӍ và
ÿѭӧc nҥp vào bӝ nhӟ. Khi chѭѫng trình thӵc thi, nó truy xuҩt các chӍ thӏ chѭѫng trình
và dӳ liӋu tӯ bӝ nhӟ bҵng cách tҥo ra các ÿӏa chӍ tuyӋt ÿӕi này. Cuӕi cùng, chѭѫng
trình kӃt thúc, không gian bӝ nhӟ cӫa nó ÿѭӧc khai báo sҷn, và chѭѫng trình có thӇ
ÿѭӧc nҥp và thӵc thi.
ĈӇ cҧi tiӃn viӋc sӱ dөng CPU và tӕc ÿӝ ÿáp ӭng cӫa máy tính cho ngѭӡi dùng,
chúng ta phҧi giӳ nhiӅu chѭѫng trình vào bӝ nhӟ. NhiӅu cѫ chӃ quҧn lý bӝ nhӟ khác
nhau ÿѭӧc dùng và tính hiӋu quҧ cӫa các giҧi thuұt phө thuӝc vào tӯng trѭӡng hӧp cө
thӇ. Chӑn mӝt cѫ chӃ quҧn lý bӝ nhӟ cho mӝt hӋ thӕng xác ÿӏnh phө thuӝc vào nhiӅu
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang

19



Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

yӃu tӕ-ÿһc biӋt trên thiӃt kӃ phҫn cӭng cӫa hӋ thӕng. Mӛi giҧi thuұt ÿòi hӓi sӵ hӛ trӧ
phҫn cӭng cӫa nó.
HӋ ÿiӅu hành có nhiӋm vө cho các hoҥt ÿӝng sau khi ÿӅ cұp tӟi viӋc quҧn lý
bӝ nhӟ
o Giӳ vӃt vӅ phҫn nào cӫa bӝ nhӟ hiӋn ÿang ÿѭӧc dùng và quá trình nào
ÿang dùng.
o QuyӃt ÿӏnh quá trình nào ÿѭӧc nҥp vào bӝ nhӟ khi không gian bӝ nhӟ
trӣ nên sҷn dùng.
o Cҩp phát và thu hӗi không gian bӝ nhӟ khi ÿѭӧc yêu cҫu.

III.3 Quҧn lý tұp tin
Quҧn lý tұp tin là mӝt trong nhӳng thành phҫn có thӇ nhìn thҩy nhҩt cӫa hӋ
ÿiӅu hành. Máy tính có thӇ lѭu thông tin trên nhiӅu loҥi phѭѫng tiӋn lѭu trӳ vұt lý
khác nhau. Băng tӯ, ÿƭa tӯ, ÿƭa quang là nhӳng phѭѫng tiӋn thông dөng nhҩt. Mӛi
phѭѫng tiӋn này có ÿһc ÿiӇm và tә chӭc riêng. Mӛi phѭѫng tiӋn ÿѭӧc ÿiӅu khiӇn bӣi
mӝt thiӃt bӏ, nhѭ mӝt ә ÿƭa hay ә băng tӯ. Các thuӝc tính này bao gӗm tӕc ÿӝ truy
xuҩt, dung lѭӧng, tӕc ÿӝ truyӅn dӳ liӋu và phѭѫng pháp truy xuҩt (tuҫn tӵ hay ngүu
nhiên).
Nhӡ vào viӋc sӱ dөng thuұn lӧi hӋ thӕng máy tính, hӋ ÿiӅu hành cung cҩp tҫm
nhìn luұn lý cӫa viӋc lѭu trӳ thông tin ÿӗng nhҩt. HӋ ÿiӅu hành trӯu tѭӧng hoá các
thuӝc tính vұt lý cӫa các thiӃt bӏ lѭu trӳ ÿӇ ÿӏnh nghƭa mӝt ÿѫn vӏ lѭu trӳ luұn lý là tұp
tin. HӋ ÿiӅu hành ánh xҥ các tұp tin trên các thiӃt bӏ lѭu trӳ vұt lý, và truy xuҩt các tұp
tin này bҵng các thiӃt bӏ lѭu trӳ.
Tұp tin là tұp hӧp thông tin có quan hӋ ÿѭӧc ÿӏnh nghƭa bӣi ngѭӡi tҥo. Thông
thѭӡng, các tұp tin biӇu diӉn chѭѫng trình và dӳ liӋu. Các tұp tin dӳ liӋu có thӇ là sӕ,
chӳ cái, chӳ sӕ. Các tұp tin có dҥng bҩt kǤ (thí dө, các tұp tin văn bҧn) hay có thӇ

ÿѭӧc ÿӏnh dҥng có cҩu trúc (thí dө, các trѭӡng cӕ ÿӏnh). Mӝt tұp tin chӭa mӝt chuӛi
các bits, bytes, các dòng hay các mүu tin mà ý nghƭa cӫa nó ÿѭӧc ÿӏnh nghƭa bӣi
ngѭӡi tҥo. Khái niӋm tұp tin là mӝt khái niӋm cӵc kǤ thông dөng.
HӋ ÿiӅu hành cài ÿһt mӝt khái niӋm trӯu tѭӧng cӫa tұp tin bҵng cách quҧn lý
phѭѫng tiӋn lѭu trӳ nhѭ ÿƭa, băng tӯ và các thiӃt bӏ ÿiӅu khiӇn chúng. Các tұp tin cNJng
thѭӡng ÿѭӧc tә chӭc trong các thѭ mөc ÿӇ dӉ dàng sӱ dөng chúng. Cuӕi cùng, khi
nhiӅu ngѭӡi dùng truy xuҩt tұp tin, chúng ta muӕn kiӇm soát ai và trong cách gì (thí
dө: ÿӑc, viӃt, chèn,..) các tұp tin có thӇ ÿѭӧc truy xuҩt.
HӋ ÿiӅu hành có nhiӋm vө thӵc hiӋn các hoҥt ÿӝng trong viӋc quҧn lý hӋ thӕng
tұp tin:
o Tҥo và xoá tұp tin
o Tҥo và xoá thѭ mөc
o Hӛ trӧ các hàm nguyên thuӹ ÿӇ thao tác tұp tin và thѭ mөc
o Ánh xҥ các tұp tin trên các thiӃt bӏ lѭu trӳ phө
o Sao lѭu dӵ phòng tұp tin trên các phѭѫng tiӋn lѭu trӳ ә ÿӏnh

III.4 Quҧn lý hӋ thӕng xuҩt/nhұp
Mӝt trong nhӳng mөc ÿích cӫa hӋ ÿiӅu hành là che giҩu sӵ khác biӋt cӫa các thiӃt bӏ
phҫn cӭng tӯ ngѭӡi dùng. Thí dө, trong UNIX sӵ khác biӋt cӫa các thiӃt bӏ xuҩt/nhұp
bӏ che giҩu tӯ phҫn chính cӫa hӋ ÿiӅu hành bӣi các hӋ thӕng con xuҩt/nhұp. HӋ thӕng
con xuҩt/nhұp chӭa:
o Thành phҫn quҧn lý bӝ nhӟ chӭa vùng ÿӋm (buffering), lѭu trӳ
(caching) và spooling (vùng chӭa).
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang

20



Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

o Giao diӋn trình ÿiӅu khiӇn thiӃt bӏ chung.
o Trình ÿiӅu khiӇn cho các thiӃt bӏ xác ÿӏnh.
ChӍ trình ÿiӅu khiӇn thiӃt bӏ biӃt sӵ khác biӋt cӫa các thiӃt bӏ xác ÿӏnh mà nó ÿѭӧc gán

III.5 Quҧn lý viӋc lѭu trӳ phө
Mөc ÿích chính cӫa mӝt hӋ thӕng máy tính là thӵc thi các chѭѫng trình.
Nhӳng chѭѫng trình này vӟi dӳ liӋu chúng truy xuҩt phҧi nҵm trong bӝ nhӟ chính hay
lѭu trӳ chính trong quá trình thӵc thi. Vì bӝ nhӟ chính quá nhӓ ÿӇ lѭu tҩt cҧ dӳ liӋu và
chѭѫng trình và vì dӳ liӋu quҧn lý bӏ mҩt khi mҩt ÿiӋn, hӋ thӕng máy tính phҧi cung
cҩp viӋc lѭu trӳ phө ÿӇ lѭu dӵ phòng bӝ nhӟ chính. Hҫu hӃt các hӋ thӕng máy tính
hiӋn ÿҥi dùng ÿƭa nhѭ phѭѫng tiӋn lѭu trӳ trӵc tuyӃn cho cҧ chѭѫng trình và dӳ liӋu.
Hҫu hӃt các chѭѫng trình – gӗm trình biên dӏch, trình dӏch hӧp ngӳ, thӫ tөc sҳp xӃp,
trình soҥn thҧo và trình ÿӏnh dҥng – ÿѭӧc lѭu trên ÿƭa cho tӟi khi ÿѭӧc nҥp vào trong
bӝ nhӟ và sau ÿó dùng ÿƭa khi cҧ hai nguӗn và ÿích cӫa viӋc xӱ lý. Do ÿó, quҧn lý
hӧp lý viӋc lѭu trӳ ÿƭa có vai trò quan trӑng ÿӕi vӟi mӝt hӋ thӕng máy tính.
HӋ ÿiӅu hành có nhiӋm vө thӵc hiӋn các hoҥt ÿӝng sau trong viӋc quҧn lý ÿƭa:
o Quҧn lý không gian trӕng
o Cҩp phát lѭu trӳ
o Ĉӏnh thӡi ÿƭa
Vì lѭu trӳ phө ÿѭӧc dùng thѭӡng xuyên nên nó phҧi ÿѭӧc dùng mӝt cách hiӋu
quҧ. Tӕc ÿӝ toàn bӝ cӫa các thao tác cӫa máy tính có thӇ xoay quanh tӕc ÿӝ hӋ thӕng
con ÿƭa và các giҧi thuұt thao tác trên hӋ thӕng con ÿó.

III.6 Mҥng
HӋ phân tán là tұp hӧp các bӝ xӱ lý, chúng không chia sҿ bӝ nhӟ, các thiӃt bӏ
ngoҥi vi hay ÿӗng hӗ. Thay vào ÿó mӛi bӝ xӱ lý có bӝ nhӟ, ÿӗng hӗ và các bӝ xӱ lý
giao tiӃp vӟi nhau thông qua các ÿѭӡng giao tiӃp nhѭ bus tӕc ÿӝ cao hay mҥng. Các
bӝ xӱ lý trong hӋ thӕng phân tán khác nhau vӅ kích thѭӟc và chӭc năng. Chúng có thӇ

chӭa các bӝ vi xӱ lý, trҥm làm viӋc, máy vi tính và các hӋ thӕng máy tính thông
thѭӡng.
Các bӝ xӱ lý trong hӋ thӕng ÿѭӧc nӕi vӟi nhau thông qua mҥng truyӅn thông
có thӇ ÿѭӧc cҩu hình trong nhiӅu cách khác nhau. Mҥng có thӇ ÿѭӧc nӕi kӃt mӝt phҫn
hay toàn bӝ. ThiӃt kӃ mҥng truyӅn thông phҧi xem xét vҥch ÿѭӡng thông ÿiӋp và các
chiӃn lѭӧc nӕi kӃt, và các vҩn ÿӅ cҥnh tranh hay bҧo mұt.
HӋ thӕng phân tán tұp hӧp nhӳng hӋ thӕng vұt lý riêng rҿ, có thӇ có kiӃn trúc không
ÿӗng nhҩt thành mӝt hӋ thӕng chһt chҿ, cung cҩp ngѭӡi dùng vӟi truy xuҩt tӟi các tài
nguyên khác nhau mà hӋ thӕng duy trì. Truy xuҩt tӟi các tài nguyên chia sҿ cho phép
tăng tӕc ÿӝ tính toán, chӭc năng, khҧ năng sҷn dùng cӫa dӳ liӋu, khҧ năng tin cұy. HӋ
ÿiӅu hành thѭӡng tәng quát hoá viӋc truy xuҩt mҥng nhѭ mӝt dҥng truy xuҩt tұp tin,
vӟi nhӳng chi tiӃt mҥng ÿѭӧc chӭa trong trình ÿiӅu khiӇn thiӃt bӏ cӫa giao diӋn mҥng.
Các giao thӭc tҥo mӝt hӋ thӕng phân tán có thӇ có mӝt ҧnh hѭӣng to lӟn trên tiӋn ích
và tính phә biӃn cӫa hӋ thӕng ÿó. Sӵ ÿәi mӟi cӫa World Wide Web ÿã tҥo ra mӝt
phѭѫng pháp truy xuҩt mӟi cho thông tin chia sҿ. Nó ÿã cҧi tiӃn giao thӭc truyӅn tұp
tin (File Transfer Protocol-FTP) và hӋ thӕng tұp tin mҥng (Network File System-NFS)
ÿã có bҵng cách xoá yêu cҫu cho mӝt ngѭӡi dùng ÿăng nhұp trѭӟc khi ngѭӡi dùng ÿó
ÿѭӧc phép dùng tài nguyên ӣ xa. Ĉӏnh nghƭa mӝt giao thӭc mӟi, giao thӭc truyӅn siêu
văn bҧn (hypertext transfer protocol-http), dùng trong giao tiӃp giӳa mӝt trình phөc vө
web và trình duyӋt web. Trình duyӋt web chӍ cҫn gӣi yêu cҫu thông tin tӟi mӝt trình
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang

21


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

phөc vө web cӫa máy ӣ xa, thông tin (văn bҧn, ÿӗ hoҥ, liên kӃt tӟi nhӳng thông tin

khác) ÿѭӧc trҧ vӅ.

III.7 HӋ thӕng bҧo vӋ
NӃu mӝt hӋ thӕng máy tính có nhiӅu ngѭӡi dùng và cho phép thӵc thi ÿӗng
hành cӫa nhiӅu quá trình, thì các quá trình khác nhau phҧi ÿѭӧc bҧo vӋ tӯ các hoҥt
ÿӝng cӫa quá trình khác. Cho mөc ÿích này, các cѫ chӃ ÿҧm bҧo rҵng các tұp tin, phân
ÿoҥn bӝ nhӟ, CPU, và các tài nguyên khác có thӇ ÿѭӧc ÿiӅu hành chӍ bӣi các quá trình
có quyӅn phù hӧp tӯ hӋ ÿiӅu hành.
Thí dө, phҫn cӭng ÿӏnh ÿӏa chӍ bӝ nhӟ ÿҧm bҧo rҵng mӝt quá trình có thӇ thӵc
thi chӍ trong không gian ÿӏa chӍ cӫa chính nó. Bӝ ÿӏnh thӡi ÿҧm bҧo rҵng không có
quá trình nào có thӇ ÿҥt ÿѭӧc ÿiӅu khiӇn cӫa CPU mà cuӕi cùng không trҧ lҥi ÿiӅu
khiӇn. Các thanh ghi ÿiӅu khiӇn thiӃt bӏ không thӇ truy xuҩt tӟi ngѭӡi dùng vì thӃ tính
ÿúng ÿҳn cӫa các thiӃt bӏ ngoҥi vi khác nhau ÿѭӧc bҧo vӋ.
Bҧo vӋ là mӝt cѫ chӃ ÿӇ ÿiӅu khiӇn truy xuҩt cӫa các chѭѫng trình, quá trình
hay ngѭӡi dùng tӟi tài nguyên ÿѭӧc ÿӏnh nghƭa bӣi mӝt hӋ thӕng máy tính. Cѫ chӃ
này phҧi cung cҩp phѭѫng tiӋn ÿӇ ÿһc tҧ các ÿiӅu khiӇn ÿѭӧc áp ÿһt và phѭѫng tiӋn
cho viӋc ép buӝc.
Bҧo vӋ có thӇ cҧi tiӃn khҧ năng tin cұy bҵng cách phát hiӋn các lӛi tiӅm tàng
tҥi các giao diӋn giӳa các hӋ thӕng con thành phҫn. Phát hiӋn các lӛi giao diӋn sӟm
thѭӡng có thӇ ngăn chһn nguy cѫ ҧnh hѭӣng tӟi hӋ thӕng con bӣi mӝt hӋ thӕng con
khác. Tài nguyên không ÿѭӧc bҧo vӋ không thӇ ngăn chһn viӋc sӱ dөng bӣi ngѭӡi
dùng không có quyӅn. HӋ thӕng hѭӟng bҧo vӋ (protection-oriented system) cung cҩp
mӝt phѭѫng tiӋn ÿӇ phân biӋt giӳa viӋc dùng có quyӅn và không có quyӅn.

III.8 HӋ thӕng thông dӏch lӋnh
Mӝt trong nhӳng chѭѫng trình hӋ thӕng quan trӑng nhҩt ÿӕi vӟi hӋ ÿiӅu hành
là trình thông dӏch lӋnh. Nó là giao diӋn giӳa ngѭӡi dùng và hӋ ÿiӅu hành. Mӝt vài hӋ
ÿiӅu hành chӭa trình thông dӏch lӋnh trong nhân (kernel). Các hӋ ÿiӅu hành khác nhau
nhѭ MS-DOS và UNIX xem trình thông dӏch lӋnh nhѭ mӝt chѭѫng trình ÿһc biӋt
ÿang chҥy khi mӝt công viӋc ÿѭӧc khӣi tҥo hay khi ngѭӡi dùng ÿăng nhұp lҫn ÿҫu

tiên (trên các hӋ thӕng chia thӡi).
NhiӅu lӋnh (commands) ÿѭӧc cung cҩp tӟi hӋ ÿiӅu hành bӣi các lӋnh ÿiӅu
khiӇn (control statements). Khi mӝt công viӋc mӟi ÿѭӧc bҳt ÿҫu trong hӋ thӕng bó,
hay khi mӝt ngѭӡi dùng ÿăng nhұp tӟi hӋ thӕng chia thӡi, mӝt chѭѫng trình ÿӑc và
thông dӏch các câu lӋnh ÿiӅu khiӇn ÿѭӧc thӵc thi tӵ ÿӝng. Chѭѫng trình này còn ÿѭӧc
gӑi trình thông dӏch thҿ ÿiӅu khiӇn (control-card interpreter) hay trình thông dӏch
dòng lӋnh và thѭӡng ÿѭӧc biӃt nhѭ shell. Chӭc năng cӫa nó ÿѫn giҧn là: lҩy câu lӋnh
tiӃp theo và thӵc thi nó.
Các hӋ ÿiӅu hành thѭӡng khác nhau trong vùng shell, vӟi mӝt trình thông dӏch
lӋnh thân thiӋn vӟi ngѭӡi dùng làm cho hӋ thӕng có thӇ chҩp nhұp nhiӅu hѫn ÿӕi vӟi
ngѭӡi dùng. Mӝt dҥng giao diӋn thân thiӋn ngѭӡi dùng là hӋ thӕng trình ÿѫn-cӱa sә
trên cѫ sӣ chuӝt (mouse-based window-and-menu system) ÿѭӧc dùng trong
Macintosh và Microsoft Windows. Chuӝt ÿѭӧc di chuyӇn tӟi vӏ trí con trӓ chuӝt trên
ҧnh hay biӇu tѭӧng trên màn hình biӇu diӉn các chѭѫng trình, tұp tin, và các hàm hӋ
thӕng. Phө thuӝc vào vӏ trí con trӓ chuӝt, nhҩn mӝt nút trên chuӝt có thӇ nҥp mӝt
chѭѫng trình, chӑn mӝt tұp tin hay thѭ mөc hay kéo xuӕng mӝt trình ÿѫn chӭa các
câu lӋnh. Các shell mҥnh hѫn, phӭc tҥp hѫn và khó hӑc hѫn ÿѭӧc ÿánh giá cao bӣi
mӝt sӕ ngѭӡi dùng khác. Trong nhӳng shell này, các lӋnh ÿѭӧc ÿánh vào tӯ bàn phím
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang

22


Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0

ÿѭӧc hiӇn thӏ trên màn hình hay in ra thiӃt bӏ ÿҫu cuӕi, vӟi phím enter (hay return) chӍ
rҵng mӝt lӋnh hoàn thành và sҷn sàng ÿѭӧc thӵc thi. Shell cӫa MS-DOS và UNIX
ÿiӅu hành theo cách này.

Các câu lӋnh giҧi quyӃt viӋc tҥo và quҧn lý quá trình, quҧn lý xuҩt/nhұp, quҧn lý
viӋc lѭu trӳ phө, quҧn lý bӝ nhӟ chính, truy xuҩt hӋ thӕng tұp tin, bҧo vӋ và mҥng.

IV Các dӏch vө hӋ ÿiӅu hành
HӋ ÿiӅu hành cung cҩp mӝt môi trѭӡng cho viӋc thӵc thi các chѭѫng trình. Nó
cung cҩp các dӏch vө xác ÿӏnh tӟi chѭѫng trình và tӟi ngѭӡi dùng cӫa các chѭѫng
trình ÿó. Dƭ nhiên, các dӏch vө ÿѭӧc cung cҩp khác nhau tӯ hӋ ÿiӅu hành này vӟi hӋ
ÿiӅu hành kia nhѭng chúng có thӇ xác ÿӏnh các lӟp chung. Các dӏch vө hӋ ÿiӅu hành
ÿѭӧc cung cҩp sӵ tiӋn dөng cho ngѭӡi lұp trình ÿӇ thӵc hiӋn tác vө lұp trình dӉ dàng.
o Thӵc thi chѭѫng trình: hӋ thӕng phҧi có thӇ nҥp chѭѫng trình vào bӝ nhӟ và
chҥy chѭѫng trình ÿó. Chѭѫng trình phҧi có thӇ kӃt thúc viӋc thӵc thi cӫa nó
bình thѭӡng hay không bình thѭӡng (hiӇn thӏ lӛi).
o Thao tác xuҩt/nhұp: mӝt chѭѫng trình ÿang chҥy có thӇ yêu cҫu xuҩt/nhұp.
Xuҩt/nhұp này có thӇ liên quan tӟi tұp tin hay thiӃt bӏ xuҩt/nhұp. Ĉӕi vӟi các
thiӃt bӏ cө thӇ, các chӭc năng ÿһc biӋt có thӇ ÿѭӧc mong muӕn (nhѭ quay lҥi
tӯ ÿҫu mӝt ә băng tӯ, hay xoá màn hình). Ĉӕi vӟi tính hiӋu quҧ và tính bҧo
vӋ, ngѭӡi dùng thѭӡng không thӇ ÿiӅu khiӇn các thiӃt bӏ xuҩt/nhұp trӵc tiӃp.
Do ÿó, hӋ ÿiӅu hành phҧi cung cҩp mӝt phѭѫng tiӋn ÿӇ thӵc hiӋn xuҩt/nhұp..
o Thao tác hӋ thӕng tұp tin: hӋ thӕng tұp tin có sӵ quan tâm ÿһc biӋt. Các
chѭѫng trình cҫn ÿӑc tӯ và viӃt tӟi các tұp tin. Chѭѫng trình cNJng cҫn tҥo và
xoá tұp tin bҵng tên.
o Giao tiӃp: trong nhiӅu trѭӡng hӧp, mӝt quá trình cҫn trao ÿәi thông tin vӟi
các quá trình khác. Giao tiӃp nhѭ thӃ có thӇ xҧy ra trong hai cách chính.
Cách ÿҫu tiên xҧy ra giӳa các quá trình ÿѭӧc thӵc thi trên cùng máy tính;
cách thӭ hai xҧy ra giӳa hai quá trình ÿang ÿѭӧc thӵc thi trên các máy tính
khác nhau ÿѭӧc kӃt nӕi vӟi nhau bӣi mӝt mҥng máy tính. Các giao tiӃp có
thӇ ÿѭӧc thӵc hiӋn bҵng bӝ nhӟ ÿѭӧc chia sҿ, hay bҵng kӻ thuұt truyӅn
thông ÿiӋp, trong ÿó các gói tin ÿѭӧc di chuyӇn giӳa các quá trình bӣi hӋ
ÿiӅu hành.
o Phát hiӋn lӛi: hӋ ÿiӅu hành liên tөc yêu cҫu nhұn biӃt các lӛi có thӇ phát

sinh. Các lӛi có thӇ xҧy ra trong CPU và phҫn cӭng bӝ nhӟ (nhѭ lӛi bӝ nhӟ
hay lӛi vӅ ÿiӋn), trong các thiӃt bӏ xuҩt/nhұp (nhѭ lӛi chҷn lҿ trên băng tӯ,
lӛi nӕi kӃt mҥng, hӃt giҩy in) và trong chѭѫng trình ngѭӡi dùng (nhѭ tràn sӕ
hӑc, cӕ gҳng truy xuҩt mӝt vӏ trí bӝ nhӟ không hӧp lӋ, dùng quá nhiӅu thӡi
gian CPU). Ĉӕi vӟi mӛi loҥi lӛi, hӋ ÿiӅu hành nên thӵc hiӋn mӝt hoҥt ÿӝng
hӧp lý ÿӇ ÿҧm bҧo tính toán ÿúng và không ÿәi.
Ngoài ra, mӝt tұp chӭc năng khác cӫa hӋ ÿiӅu hành tӗn tҥi không giúp ngѭӡi
dùng, nhѭng ÿҧm bҧo các ÿiӅu hành hӳu hiӋu cӫa chính hӋ thӕng. Các hӋ thӕng vӟi
nhiӅu ngѭӡi dùng có thӇ ÿҥt tính hӳu hiӋu bҵng cách chia sҿ tài nguyên máy tính giӳa
các ngѭӡi dùng.
o Cҩp phát tài nguyên: khi nhiӅu ngѭӡi dùng ÿăng nhұp vào hӋ thӕng hay
nhiӅu công viӋc ÿang chҥy cùng lúc, tài nguyên phҧi ÿѭӧc cҩp tӟi mӛi ngѭӡi
dùng. NhiӅu loҥi tài nguyên khác nhau ÿѭӧc quҧn lý bӣi hӋ ÿiӅu hành. Mӝt
sӕ tài nguyên (nhѭ chu kǤ CPU, bӝ nhӟ chính, lѭu trӳ tұp tin) có mã cҩp
Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005

Trang

23


×