Bài giảng hệ điều hành CNPM - Công nghệ thông tin | Đại học Hoa Sen

Bài giảng hệ điều hành CNPM - Công nghệ thông tin | Đại học Hoa Sen được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem

Bi ging Hê điu hnh
CHƯƠNG 1 TNG QUAN V HÊ ĐIU HNH...................................................6
1.1 Khi niê m v hê điu h"nh..............................................................................6
1.2 Phân lo(i hê điu h"nh.....................................................................................7
1.2.1 Hê th+ng x. l/ theo lô..............................................................................7
1.2.2 Hê th+ng x. l/ theo lô đa chương............................................................8
1.2.3 Hê th+ng chia s9 th:i gian........................................................................8
1.2.4 Hệ th+ng song song..................................................................................9
1.2.5 Hệ th+ng phân tn..................................................................................10
1.2.6 Hệ th+ng x. l/ th:i gian thực.................................................................11
CHƯƠNG 2 TIBU TRDNH V TIEN TRDNH........................................................12
2.1 Nhu cFu x. l/ đGng th:i................................................................................12
2.1.1 Tăng hiê u suIt s. dKng CPU..................................................................12
2.1.2 Tăng t+c độ x. l/...................................................................................12
2.2 Khi niê m tiMn trOnh v" mô hOnh đa tiMn trOnh................................................13
2.3 Khi niê m tiPu trOnh v" mô hOnh đa tiPu trOnh.........................................14
2.3.1 Nguyên l/ chung....................................................................................15
2.3.2 Phân bS thông tin lưu trư........................................................................16
2.3.3 Kernel thread v" userthread....................................................................16
CHƯƠNG 3 LÂP LWCH TIEN TRDNH...................................................................17
3.1 TS chXc quZn l/ tiMn trOnh..............................................................................17
3.1.1 Cc tr(ng thi c[a tiMn trOnh...................................................................17
3.1.2 ChM đô x. l/ c[a tiMn trOnh.....................................................................18
3.1.3 CIu trúc dư liệu kh+i quZn l/ tiMn trOnh..................................................19
3.1.4 Thao tc trên tiMn trOnh...........................................................................21
3.1.5 CIp pht t"i nguyên cho tiMn trOnh..........................................................22
3.2 Lập lịch tiMn trOnh..........................................................................................24
3.2.1 Giới thiệu...............................................................................................24
3.2.2 TS chXc lập lịch......................................................................................28
Nguyễn Th Hu Phương 1 môn CNPM – Khoa CNTT
Bi ging Hê điu hnh
3.2.3 Cc thuật ton lập lịch............................................................................32
CHƯƠNG 4 TRUYN THÔNG V ĐỒNG BỘ TIEN..........................................38
4.1 Liên l(c tiMn trOnh..........................................................................................38
4.1.1 Nhu cFu liên l(c tiMn trOnh......................................................................38
4.1.2 Cc vIn đ nZy sinh trong việc liên l(c tiMn trOnh...................................38
4.2 Cc cơ chM thông tin liên l(c.........................................................................39
4.2.1 Tín hiệu (Signal)....................................................................................39
4.2.2 Pipe........................................................................................................41
4.2.3 Vùng nhớ chia s9....................................................................................42
4.2.4 Trao đSi thông điệp (Message)...............................................................43
4.2.5 Sockets...................................................................................................43
4.3 Nhu cFu đGng bộ hóa (synchronisation)........................................................45
4.3.1 Yêu cFu độc quyn truy xuIt (Mutual exclusion)...................................46
4.3.2 Yêu cFu ph+i hợp (Synchronization)......................................................46
4.3.3 B"i ton đGng bộ ho..............................................................................46
4.4 Cc giZi php đGng bô hóa............................................................................48
4.4.1 GiZi php “busy waiting”.......................................................................48
4.4.2 Cc giZi php “SLEEP and WAKEUP”..................................................52
CHƯƠNG 5 VtN Đ KHuA CHET (DEAD LOCK)...........................................60
5.1 Mô hOnh hê th+ng..........................................................................................60
5.2 Đặc điPm deadlock........................................................................................62
5.2.1 Nhưng điu kiện cFn thiMt gây ra deadlock............................................62
5.2.2 ĐG thị cIp pht t"i nguyên......................................................................63
5.3 Cc phương php x. l/ deadlock..................................................................67
5.4 Ngăn chặn deadlock......................................................................................68
5.4.1 Lo(i trừ hỗ tương...................................................................................69
5.4.2 Giư v" ch: cIp thêm t"i nguyên.............................................................69
5.4.3 Không đòi l(i t"i nguyên từ qu trOnh đang giư chúng...........................70
Nguyễn Th Hu Phương 2 môn CNPM – Khoa CNTT
Bi ging Hê điu hnh
5.4.4 TGn t(i chu trOnh trong đG thị cIp pht t"i nguyên..................................71
5.5 Trnh deadlock..............................................................................................73
5.5.1 Tr(ng thi an to"n...................................................................................74
5.5.2 GiZi thuật đG thị cIp pht t"i nguyên......................................................75
5.5.3 GiZi thuật c[a Banker.............................................................................77
CHƯƠNG 6 QU|N L} BÔ NH~ TRONG...........................................................80
6.1 Ngư cZnh liên kMt bô nhớ..............................................................................81
6.2 Không gian địa chỉ lôgic v" không gian địa chỉ vật l/...................................82
6.3 CIp pht liên tKc............................................................................................82
6.3.1 Mô hOnh Linker_Loader.........................................................................82
6.3.2 Mô hOnh Base &Bound...........................................................................83
6.4 CIp pht không liên tKc.................................................................................84
6.4.1 Phân đo(n (Segmentation).....................................................................84
6.4.2 Phân trang (Paging)................................................................................88
6.4.3 Phân đo(n kMt hợp phân trang (Paged segmentation).............................94
6.5 Bộ nhớ Zo......................................................................................................96
6.5.1 Cơ chM bộ nhớ Zo...................................................................................96
6.5.2 Thay thM trang......................................................................................100
CHƯƠNG 7 HÊ TH‚NG QU|N L} TÂP TIN...................................................106
7.1 Cc khi niê m cơ bZn..................................................................................106
7.1.1 Bô  nhớ ngo"i........................................................................................106
7.1.2 Tập tin v" thư mKc...............................................................................106
7.1.3 Hệ th+ng quZn l/ tập tin.......................................................................106
7.2 Mô hOnh tS chXc v" quZn l/ cc tâ p tin........................................................106
7.2.1 Mô hOnh................................................................................................106
7.2.2 Cc chXc năng......................................................................................114
7.3 Cc phương php c"i đă t hê th+ng quZn l/ tâ p tin.......................................116
7.3.1 BZng quZn l/ tệp tin, thư mKc...............................................................116
Nguyễn Th Hu Phương 3 môn CNPM – Khoa CNTT
Bi ging Hê điu hnh
7.3.2 BZng phân ph+i vùng nhớ.....................................................................117
7.3.3 Tệp tin chia s9......................................................................................120
7.3.4 Độ an to"n c[a hệ th+ng quZn l/ tệp tin...............................................120
CHƯƠNG 8 HÊ TH‚NG QU|N L} NHÂP XUtT............................................123
8.1 Khi niê m v hê th+ng quZn l/ nhIp xuIt....................................................123
8.2 PhFn cXng nhâ p/xuIt...................................................................................123
8.2.1 ThiMt bị I/O...........................................................................................124
8.2.2 TS chXc c[a chXc năng I/O..................................................................125
8.2.3 Bộ điu khiPn thiMt bị...........................................................................125
8.2.4 DMA (Direct Memory Access)............................................................127
8.3 PhFn mm nhâ p/xuIt...................................................................................128
8.3.1 KiPm sot ngắt.....................................................................................129
8.3.2 Điu khiPn thiMt bị (device drivers)......................................................129
8.3.3 PhFn mm nhập/xuIt độc lập thiMt bị...................................................130
8.3.4 PhFn mm nhập/xuIt ph(m vi ngư:i s. dKng......................................131
CHƯƠNG 9 B|O VÊ V AN TON HÊ TH‚NG.............................................133
9.1 MKc tiêu bZo vê th+ng (Protection).........................................................133
9.2 Min bZo vệ (Domain of Protection)...........................................................134
9.2.1 Khi niệm.............................................................................................134
9.2.2 CIu trúc c[a min bZo vệ.....................................................................134
9.3 Ma trận quyn truy xuIt (Access matrix)....................................................136
CHƯƠNG 10 WINDOWN NT.............................................................................140
10.1 Lịch s........................................................................................................140
10.2 MKc tiêu thiMt kM........................................................................................140
10.3 Cc th"nh phFn hê th+ng...........................................................................141
10.4 KiMn trúc hê điu h"nh WinNT..................................................................142
10.5 Cc module quZn l/ c[a WinNT................................................................143
10.5.1 QuZn l/ tiMn trOnh...............................................................................143
Nguyễn Th Hu Phương 4 môn CNPM – Khoa CNTT
Bi ging Hê điu hnh
10.5.2 QuZn l/ bộ nhớ Zo..............................................................................143
10.5.3 Hệ th+ng tập tin..................................................................................145
10.5.4 QuZn l/ nhập xuIt..............................................................................146
10.5.5 Hỗ trợ m(ng.......................................................................................146
10.5.6 Hỗ trợ x. l/ phân tn.........................................................................146
CHƯƠNG 11 HÊ ĐIU HNH LINUX...............................................................147
11.1 Giới thiê u...................................................................................................147
11.2 TS chXc hê th+ng.......................................................................................148
11.2.1 Hê th+ng tâ p tin..................................................................................148
11.2.2 Điu khiPn thiMt bị..............................................................................150
11.2.3 QuZn l/ tiMn trOnh................................................................................152
11.2.4 QuZn l/ bộ nhớ...................................................................................153
TI LIỆU THAM KH|O.....................................................................................154
Nguyễn Th Hu Phương 5 môn CNPM – Khoa CNTT
Bi ging Hê điu hnh
Hệ điu h"nh l" một chương trOnh hay một hệ chương trOnh ho(t động giưa
ngư:i s. dKng (user) v" phFn cXng c[a my tính. MKc tiêu c[a hệ điu h"nh l" cung
cIp một môi trư:ng đP ngư:i s. dKng có thP thi h"nh cc chương trOnh. Nó l"m cho
my tính dP s. dKng hơn, thuận lợi hơn v" hiệu quZ hơn. Hệ điu h"nh l" một phFn
quan trọng c[a hFu hMt cc hệ th+ng my tính. Một hệ th+ng my tính thư:ng được
chia l"m b+n phFn chính: phFn cXng, hệ điu h"nh, cc chương trOnh Xng dKng v"
ngư:i s. dKng.
PhFn cXng bao gGm CPU, bộ nhớ, cc thiMt bị nhập xuIt, đây l" nhưng t"i
nguyên c[a my tính. Chương trOnh Xng dKng như cc chương trOnh dịch, hệ th+ng
sở liệu, cc trò chơi, v" cc chương trOnh thương m(i. Cc chương trOnh n"y
s. dKng t"i nguyên c[a my tính đP giZi quyMt cc yêu cFu c[a ngư:i s. dKng. Hệ
điu h"nh điu khiPn v" ph+i hợp việc s. dKng phFn cXng cho nhưng Xng dKng
khc nhau c[a nhiu ngư:i s. dKng khc nhau. Hệ điu h"nh cung cIp một môi
trư:ng m" cc chương trOnh cót hP l"m việc hưu hiệu trên đó.
Hệ điu h"nh có thP được coi như l" bộ phân ph+i t"i nguyên c[a my tính.
Nhiu t"i nguyên c[a my tính như th:i gian s. dKng CPU, vùng bộ nhớ, vùng lưu
trư tập tin, thiMt bị nhập xuIt v.v… được cc chương trOnh yêu cFu đP giZi quyMt vIn
đ. Hệ điu h"nh ho(t động như một bộ quZn l/ cc t"i nguyên v" phân ph+i chúng
cho cc chương trOnh v" ngư:i s. dKng khi cFn thiMt. Do rIt nhiu yêu cFu, hệ
điu h"nh phZi giZi quyMt vIn đ tranh chIp v" phZi quyMt định cIp pht t"i nguyên
cho nhưng yêu cFu theo thX tự n"o đP ho(t động c[a my tính l" hiệu quZ nhIt. Một
hệ điu h"nh cũng thP được coi như l" một chương trOnh kiPm sot việc s. dKng
my tính, đặc biệt l" cc thiMt bị nhập xuIt.
Tuy nhiên, nhOn chung chưa có định nghĩa n"o l" ho"n hZo v hệ điu h"nh.
Hệ điu h"nh tGn t(i đP giZi quyMt cc vIn đ s. dKng hệ th+ng my tính. MKc tiêu
Nguyễn Th Hu Phương 6
môn CNPM – Khoa CNTT
Bi ging Hê
điu hnh
cơ bZn c[a nó l" giúp cho việc thi h"nh cc chương trOnh dễ d"ng hơn. MKc tiêu thX
hai l" hỗ trợ cho cc thao tc trên hệ th+ng my tính hiệu quZ hơn. MKc tiêu n"y đặc
biệt quan trọng trong nhưng hệ th+ng nhiu ngư:i dùng v" trong nhưng hệ th+ng
lớn (phFn cXng + quy mô s. dKng). Tuy nhiên hai mKc tiêu n"y cũng có phFn tương
phZn vO vậy l/ thuyMt v hệ điu h"nh tập trung v"o việc t+i ưu hóa việc s. dKng t"i
nguyên c[a my tính.
- Bộ gim st thư:ng trực: Khi một công việc chIm dXt, hệ th+ng sẽ thực
hiện công việc kM tiMp m" không cFn sự can thiệp c[a ngư:i lập trOnh, do đó th:i
gian thực hiện sẽ mau hơn. Một chương trOnh, còn gọi l" bộ gim st thư:ng trực
được thiMt kM đP gim st việc thực hiện dãy cc công việc một cch tự động,
chương trOnh n"y luôn luôn thư:ng trú trong bộ nhớ chính. Hệ điu h"nh theo
thực hiện cc công việc lFn lượt theo nhưng chỉ thị định trước.
- CPU v" thao tc nhập xuIt: CPU thư:ng hay nh"n rỗi do t+c độ l"m việc
c[a cc thiMt bị nhập xuIt (thư:ng l" thiMt bị cơ) chậm hơn rIt nhiu lFn so với cc
thiMt bị điện t.. Cho dù l" một CPU chậm nhIt, cũng nhanh hơn rIt nhiu lFn so
với thiMt bị nhập xuIt. Do đó phZi cc phương php đP đGng bộ hóa việc ho(t
động c[a CPU v" thao tc nhập xuIt.
- X. l/ off_line: X. l/ off_line l" thay vO CPU phZi đọc trực tiMp từ thiMt bị
nhập v" xuIt ra thiMt bị xuIt, hệ th+ng dùng một bộ lưu trư trung gian. CPU chỉ thao
thc với bộ phận n"y. Việc đọc hay xuIt đu đMn v" từ bộ lưu trư trung gian.
- Spooling: Spool (simultaneous-đGng th:i peripheral operation on-line) l"
đGng bộ hóa cc thao tc bên ngo"i on-line. Cơ chM n"y cho phép x. l/ c[a CPU l"
on-line, s. dKng đĩa đP lưu cc dư liệu nhập cũng như xuIt.
Khi nhiu công việc cùng truy xuIt lên thiMt bị, vIn đ lập lịch cho cc
công việc l" cFn thiMt. Khía c(nh quan trọng nhIt trong việc lập lịch l" khZ năng đa
Nguyễn Th Hu Phương 7
môn CNPM – Khoa CNTT
Bi ging Hê
điu hnh
chương. Đa chương (multiprogram) gia tăng khai thc CPU bằng cch tS chXc cc
công việc sao cho CPU luôn luôn phZi trong tOnh tr(ng l"m việc.
: hệ điu h"nh lưu giư một phFn c[a cc công việc nơi lưu trư
trong bộ nhớ. CPU sẽ lFn lượt thực hiện cc phFn công việc n"y. Khi đang thực
hiện, nMu yêu cFu truy xuIt thiMt bị thO CPU không nghỉ m" thực hiện tiMp công
việc thX hai… Với hệ đa chương hệ điu h"nh ra quyMt định cho ngư:i s. dKng vO
vậy, hệ điu h"nh đa chương rIt tinh vi. Hệ phZi x. l/ cc vIn đ lập lịch cho công
việc, lập lịch cho bộ nhớ v" cho cZ CPU nưa.
Hệ th+ng chia s9 th:i gian l" một mở rộng logic c[a hệ đa chương. Hệ th+ng
n"y còn được gọi l" hệ th+ng đa nhiệm (multitasking). Nhiu công việc cùng được
thực hiện thông qua cơ chM chuyPn đSi c[a CPU như hệ đa chương nhưng th:i gian
mỗi lFn chuyPn đSi diễn ra rIt nhanh. Hệ th+ng chia s9 được pht triPn đP cung cIp
việc s. dKng bên trong c[a một my tính gi trị hơn. Hệ điu h"nh chia s9 th:i
gian dùng lập lịch CPU v" đa chương đP cung cIp cho mỗi ngư:i s. dKng một phFn
nhỏ trong my tính chia s9. Một chương trOnh khi thi h"nh được gọi l" một tiMn
trOnh. Trong qu trOnh thi h"nh c[a một tiMn trOnh, phZi thực hiện cc thao tc
nhập xuIt v" trong khoZng th:i gian đó CPU sẽ thi h"nh một tiMn trOnh khc. Hệ
điu h"nh chia s9 cho phép nhiu ngư:i s. dKng chia s9 my tính một cch đGng bộ
do th:i gian chuyPn đSi nhanh nên họ cZm gic l" cc tiMn trOnh đang được thi
h"nh cùng lúc.
Hệ điu h"nh chia s9 phXc t(p hơn hệ điu h"nh đa chương. phZi cc
chXc năng: quZn trị v" bZo vệ bộ nhớ, s. dKng bộ nhớ Zo. cũng cung cIp hệ
th+ng tập tin truy xuIt on-line… Hệ điu h"nh chia s9 l" kiPu c[a cc hệ điu h"nh
hiện đ(i ng"y nay.
Ngo"i cc hệ th+ng chỉ một bộ x. l/ còn cc hệ th+ng nhiu bộ x.
l/ cùng chia s9 hệ th+ng đư:ng truyn dư liệu, đGng hG, bộ nhớ v" cc thiMt bị ngo(i
Nguyễn Th Hu Phương 8
môn CNPM – Khoa CNTT
Bi ging Hê
điu hnh
vi. Cc bộ x. l/ n"y liên l(c bên trong với nhau. nhiu nguyên nhân xây dựng
d(ng hệ th+ng n"y. Với s gia tăng s+ lượng bộ x. l/, công việc được thực hiện
nhanh chóng hơn. Nhưng không phZi theo đúng tỉ lệ th:i gian, nghĩa l" n bộ x.
l/ không có nghĩa l" sẽ thực hiện nhanh hơn n lFn.
Hệ th+ng với my nhiu bộ x. l/ sẽ t+i ưu hơn hệ th+ng nhiu my
một bộ x. l/ vO cc bộ x. l/ chia s9 cc thiMt bị ngo(i vi, hệ th+ng lưu trư, nguGn …
v" rIt thuận tiện cho nhiu chương trOnh cùng l"m việc trên cùng một tập hợp
liệu.
Một l/ do nưa l" độ tin cậy. Cc chXc năng được x. l/ trên nhiu bộ x. l/ v"
sự hỏng hóc c[a một bộ x. l/ sẽ không Znh hưởng đMn to"n bộ hệ th+ng.
Hệ th+ng đa x. l/ thông thư:ng s. dKng cch đa x. l/ đ+i xXng, trong cch
n"y mỗi bộ x. l/ ch(y với một bZn sao c[a hệ điu h"nh, nhưng bZn sao n"y liên l(c
với nhau khi cFn thiMt. Một s+ hệ th+ng s. dKng đa x. l/ bIt đ+i xXng, trong đó mỗi
bộ x. l/ được giao một công việc riêng biệt.. Một bộ x. l/ chính kiPm sot to"n bộ
hệ th+ng, cc bộ x. l/ khc thực hiện theo lệnh c[a bộ x. l/ chính hoặc theo nhưng
chỉ thị đã được định nghĩa trước. hOnh n"y theo d(ng quan hệ ch[ tớ. Bộ x. l/
chính sẽ lập lịch cho cc bộ x. l/ khc.
Một ví dK v hệ th+ng x. l/ đ+i xXng l" version Encore c[a UNIX cho my
tính Multimax. Hệ th+ng n"y h"ng t bộ x. l/. Ưu điPm c[a l" nhiu tiMn
trOnh có thP thực hiện cùng lúc. Một hệ th+ng đa x. l/ cho phép nhiu công việc v"
t"i nguyên được chia s9 tự động trong nhưng bộ x. l/ khc nhau.
Hệ th+ng đa x. l/ không đGng bộ thư:ng xuIt hiện trong nhưng hệ th+ng
lớn, trong đó hFu hMt th:i gian ho(t động đu d"nh cho x. l/ nhập xuIt.
Hệ th+ng n"y cũng tương tự như hệ th+ng chia s9 th:i gian nhưng cc bộ x.
l/ không chia s9 bộ nhớ v" đGng hG, thay v"o đó mỗi bộ x. l/ bộ nhớ cKc bộ
riêng. Cc bộ x. l/ thông tin với nhau thông qua cc đư:ng truyn thông như
nhưng bus t+c độ cao hay đư:ng dây điện tho(i. Cc bộ x. l/ trong hệ phân tn
Nguyễn Th Hu Phương 9
môn CNPM – Khoa CNTT
Bi ging Hê
điu hnh
thư:ng khc nhau v kích thước v" chXc năng. Nó có thP bao gGm my vi tính, tr(m
l"m việc, my mini, v" nhưng hệ th+ng my lớn. Cc bộ x. l/ thư:ng được tham
khZo với nhiu tên khc nhau như site, node, computer v.v.... tùy thuộc v"o tr(ng
thi l"m việc c[a chúng.
Cc nguyên nhân phZi xây dựng hệ th+ng phân tn l":
- Chia s9 t"i nguyên: Một ngư:i s. dKng A thP s. dKng my in laser c[a
ngư:i s. dKng B v" ngư:i s. dKng B thP truy xuIt nhưng tập tin c[a A. TSng
qut, chia s9 t"i nguyên trong hệ th+ng phân tn cung cIp một cơ chM đP chia s9 tập
tin vị trí xa, x. l/ thông tin trong một sở liệu phân tn, in In t(i một vị trí
xa, s. dKng nhưng thiMt bị ở xa đP. thực hiện cc thao tc.
- Tăng t+c độ tính ton: Một thao tc tính ton được chia l"m nhiu phFn nhỏ
cùng thực hiện một lúc. Hệ th+ng phân tn cho phép phân chia việc tính ton trên
nhiu vị trí khc nhau đP tính ton song song.
- An to"n: NMu một vị trí trong hệ th+ng phân tn bị hỏng, cc vị trí khc vẫn
tiMp tKc l"m việc.
- Thông tin liên l(c với nhau: nhiu lúc, chương trOnh cFn chuyPn đSi
liệu từ vị trí n"y sang vị trí khc. Ví dK trong hệ th+ng Windows, thư:ng có sự chia
s9 v" chuyPn dư liệu giưa cc c.a sS. Khi cc vị trí được n+i kMt với nhau trong một
hệ th+ng m(ng, việc trao đSi dư liệu diễn ra rIt dễ. Ngư:i s. dKng có thP chuyPn tập
tin hay cc E_mail cho nhau từ cùng vị trí hay nhưng vị trí khc.
Hệ th+ng x. l/ th:i gian thực được s. dKng khi có nhưng đòi hỏi khắt khe v
th:i gian trên cc thao tc c[a bộ x. l/ hoặc dòng liệu, thư:ng được dùng
điu khiPn cc thiMt bị trong cc Xng dKng tận hiMn (dedicated). My tính phân tích
liệu v" thP chỉnh cc điu khiPn giZi quyMt cho liệu nhập. Một hệ điu
h"nh x. l/ th:i gian thực phZi được định nghĩa t+t, th:i gian x. l/ nhanh. Hệ th+ng
phZi cho kMt quZ chính xc trong khoZng th:i gian bị thúc ép nhanh nhIt. Có hai hệ
Nguyễn Th Hu Phương 10
môn CNPM – Khoa CNTT
| 1/138

Preview text:

Bi ging Hê  điu hnh
CHƯƠNG 1 TNG QUAN V HÊ ĐIU HNH...................................................6
1.1 Khi niê m v hê  điu h"nh..............................................................................6
1.2 Phân lo(i hê  điu h"nh.....................................................................................7
1.2.1 Hê  th+ng x. l/ theo lô..............................................................................7
1.2.2 Hê  th+ng x. l/ theo lô đa chương............................................................8
1.2.3 Hê  th+ng chia s9 th:i gian........................................................................8
1.2.4 Hệ th+ng song song..................................................................................9
1.2.5 Hệ th+ng phân tn..................................................................................10
1.2.6 Hệ th+ng x. l/ th:i gian thực.................................................................11
CHƯƠNG 2 TIBU TRDNH V TIEN TRDNH........................................................12
2.1 Nhu cFu x. l/ đGng th:i................................................................................12
2.1.1 Tăng hiê u suIt s. dKng CPU..................................................................12
2.1.2 Tăng t+c độ x. l/...................................................................................12
2.2 Khi niê m tiMn trOnh v" mô hOnh đa tiMn trOnh................................................13
2.3 Khi niê m tiPu trOnh
v" mô hOnh đa tiPu trOnh.........................................14
2.3.1 Nguyên l/ chung....................................................................................15
2.3.2 Phân bS thông tin lưu trư........................................................................16
2.3.3 Kernel thread v" userthread....................................................................16
CHƯƠNG 3 LÂP LWCH TIEN TRDNH...................................................................17
3.1 TS chXc quZn l/ tiMn trOnh..............................................................................17
3.1.1 Cc tr(ng thi c[a tiMn trOnh...................................................................17
3.1.2 ChM đô  x. l/ c[a tiMn trOnh.....................................................................18
3.1.3 CIu trúc dư liệu kh+i quZn l/ tiMn trOnh..................................................19
3.1.4 Thao tc trên tiMn trOnh...........................................................................21
3.1.5 CIp pht t"i nguyên cho tiMn trOnh..........................................................22
3.2 Lập lịch tiMn trOnh..........................................................................................24
3.2.1 Giới thiệu...............................................................................................24
3.2.2 TS chXc lập lịch......................................................................................28
Nguyễn Th Hu Phương 1
Bô  môn CNPM – Khoa CNTT
Bi ging Hê  điu hnh
3.2.3 Cc thuật ton lập lịch............................................................................32
CHƯƠNG 4 TRUYN THÔNG V ĐỒNG BỘ TIEN..........................................38
4.1 Liên l(c tiMn trOnh..........................................................................................38
4.1.1 Nhu cFu liên l(c tiMn trOnh......................................................................38
4.1.2 Cc vIn đ nZy sinh trong việc liên l(c tiMn trOnh...................................38
4.2 Cc cơ chM thông tin liên l(c.........................................................................39
4.2.1 Tín hiệu (Signal)....................................................................................39
4.2.2 Pipe........................................................................................................41
4.2.3 Vùng nhớ chia s9....................................................................................42
4.2.4 Trao đSi thông điệp (Message)...............................................................43
4.2.5 Sockets...................................................................................................43
4.3 Nhu cFu đGng bộ hóa (synchronisation)........................................................45
4.3.1 Yêu cFu độc quyn truy xuIt (Mutual exclusion)...................................46
4.3.2 Yêu cFu ph+i hợp (Synchronization)......................................................46
4.3.3 B"i ton đGng bộ ho..............................................................................46
4.4 Cc giZi php đGng bô hóa............................................................................48
4.4.1 GiZi php “busy waiting”.......................................................................48
4.4.2 Cc giZi php “SLEEP and WAKEUP”..................................................52
CHƯƠNG 5 VtN Đ KHuA CHET (DEAD LOCK)...........................................60
5.1 Mô hOnh hê  th+ng..........................................................................................60
5.2 Đặc điPm deadlock........................................................................................62
5.2.1 Nhưng điu kiện cFn thiMt gây ra deadlock............................................62
5.2.2 ĐG thị cIp pht t"i nguyên......................................................................63
5.3 Cc phương php x. l/ deadlock..................................................................67
5.4 Ngăn chặn deadlock......................................................................................68
5.4.1 Lo(i trừ hỗ tương...................................................................................69
5.4.2 Giư v" ch: cIp thêm t"i nguyên.............................................................69
5.4.3 Không đòi l(i t"i nguyên từ qu trOnh đang giư chúng...........................70
Nguyễn Th Hu Phương 2
Bô  môn CNPM – Khoa CNTT
Bi ging Hê  điu hnh
5.4.4 TGn t(i chu trOnh trong đG thị cIp pht t"i nguyên..................................71
5.5 Trnh deadlock..............................................................................................73
5.5.1 Tr(ng thi an to"n...................................................................................74
5.5.2 GiZi thuật đG thị cIp pht t"i nguyên......................................................75
5.5.3 GiZi thuật c[a Banker.............................................................................77
CHƯƠNG 6 QU|N L} BÔ NH~ TRONG...........................................................80
6.1 Ngư cZnh liên kMt bô  nhớ..............................................................................81
6.2 Không gian địa chỉ lôgic v" không gian địa chỉ vật l/...................................82
6.3 CIp pht liên tKc............................................................................................82
6.3.1 Mô hOnh Linker_Loader.........................................................................82
6.3.2 Mô hOnh Base &Bound...........................................................................83
6.4 CIp pht không liên tKc.................................................................................84
6.4.1 Phân đo(n (Segmentation).....................................................................84
6.4.2 Phân trang (Paging)................................................................................88
6.4.3 Phân đo(n kMt hợp phân trang (Paged segmentation).............................94
6.5 Bộ nhớ Zo......................................................................................................96
6.5.1 Cơ chM bộ nhớ Zo...................................................................................96
6.5.2 Thay thM trang......................................................................................100
CHƯƠNG 7 HÊ TH‚NG QU|N L} TÂP
 TIN...................................................106
7.1 Cc khi niê m cơ bZn..................................................................................106
7.1.1 Bô  nhớ ngo"i........................................................................................106
7.1.2 Tập tin v" thư mKc...............................................................................106
7.1.3 Hệ th+ng quZn l/ tập tin.......................................................................106
7.2 Mô hOnh tS chXc v" quZn l/ cc tâ  p tin........................................................106
7.2.1 Mô hOnh................................................................................................106
7.2.2 Cc chXc năng......................................................................................114
7.3 Cc phương php c"i đă t hê  th+ng quZn l/ tâ p tin.......................................116
7.3.1 BZng quZn l/ tệp tin, thư mKc...............................................................116
Nguyễn Th Hu Phương 3
Bô  môn CNPM – Khoa CNTT
Bi ging Hê  điu hnh
7.3.2 BZng phân ph+i vùng nhớ.....................................................................117
7.3.3 Tệp tin chia s9......................................................................................120
7.3.4 Độ an to"n c[a hệ th+ng quZn l/ tệp tin...............................................120
CHƯƠNG 8 HÊ TH‚NG QU|N L} NHÂP XUtT............................................123
8.1 Khi niê m v hê  th+ng quZn l/ nhIp xuIt....................................................123
8.2 PhFn cXng nhâ p/xuIt...................................................................................123
8.2.1 ThiMt bị I/O...........................................................................................124
8.2.2 TS chXc c[a chXc năng I/O..................................................................125
8.2.3 Bộ điu khiPn thiMt bị...........................................................................125
8.2.4 DMA (Direct Memory Access)............................................................127
8.3 PhFn mm nhâ p/xuIt...................................................................................128
8.3.1 KiPm sot ngắt.....................................................................................129
8.3.2 Điu khiPn thiMt bị (device drivers)......................................................129
8.3.3 PhFn mm nhập/xuIt độc lập thiMt bị...................................................130
8.3.4 PhFn mm nhập/xuIt ph(m vi ngư:i s. dKng......................................131
CHƯƠNG 9 B|O VÊ V AN TON HÊ TH‚NG.............................................133
9.1 MKc tiêu bZo vê  hê  th+ng (Protection).........................................................133
9.2 Min bZo vệ (Domain of Protection)...........................................................134
9.2.1 Khi niệm.............................................................................................134
9.2.2 CIu trúc c[a min bZo vệ.....................................................................134
9.3 Ma trận quyn truy xuIt (Access matrix)....................................................136
CHƯƠNG 10 WINDOWN NT.............................................................................140
10.1 Lịch s........................................................................................................140
10.2 MKc tiêu thiMt kM........................................................................................140
10.3 Cc th"nh phFn hê  th+ng...........................................................................141
10.4 KiMn trúc hê  điu h"nh WinNT..................................................................142
10.5 Cc module quZn l/ c[a WinNT................................................................143
10.5.1 QuZn l/ tiMn trOnh...............................................................................143
Nguyễn Th Hu Phương 4
Bô  môn CNPM – Khoa CNTT
Bi ging Hê  điu hnh
10.5.2 QuZn l/ bộ nhớ Zo..............................................................................143
10.5.3 Hệ th+ng tập tin..................................................................................145
10.5.4 QuZn l/ nhập xuIt..............................................................................146
10.5.5 Hỗ trợ m(ng.......................................................................................146
10.5.6 Hỗ trợ x. l/ phân tn.........................................................................146
CHƯƠNG 11 HÊ ĐIU HNH LINUX...............................................................147
11.1 Giới thiê u...................................................................................................147
11.2 TS chXc hê  th+ng.......................................................................................148
11.2.1 Hê  th+ng tâ p tin..................................................................................148
11.2.2 Điu khiPn thiMt bị..............................................................................150
11.2.3 QuZn l/ tiMn trOnh................................................................................152
11.2.4 QuZn l/ bộ nhớ...................................................................................153
TI LIỆU THAM KH|O.....................................................................................154
Nguyễn Th Hu Phương 5
Bô  môn CNPM – Khoa CNTT
Bi ging Hê  điu hnh
Hệ điu h"nh l" một chương trOnh hay một hệ chương trOnh ho(t động giưa
ngư:i s. dKng (user) v" phFn cXng c[a my tính. MKc tiêu c[a hệ điu h"nh l" cung
cIp một môi trư:ng đP ngư:i s. dKng có thP thi h"nh cc chương trOnh. Nó l"m cho
my tính dP s. dKng hơn, thuận lợi hơn v" hiệu quZ hơn. Hệ điu h"nh l" một phFn
quan trọng c[a hFu hMt cc hệ th+ng my tính. Một hệ th+ng my tính thư:ng được
chia l"m b+n phFn chính: phFn cXng, hệ điu h"nh, cc chương trOnh Xng dKng v" ngư:i s. dKng.
PhFn cXng bao gGm CPU, bộ nhớ, cc thiMt bị nhập xuIt, đây l" nhưng t"i
nguyên c[a my tính. Chương trOnh Xng dKng như cc chương trOnh dịch, hệ th+ng
cơ sở dư liệu, cc trò chơi, v" cc chương trOnh thương m(i. Cc chương trOnh n"y
s. dKng t"i nguyên c[a my tính đP giZi quyMt cc yêu cFu c[a ngư:i s. dKng. Hệ
điu h"nh điu khiPn v" ph+i hợp việc s. dKng phFn cXng cho nhưng Xng dKng
khc nhau c[a nhiu ngư:i s. dKng khc nhau. Hệ điu h"nh cung cIp một môi
trư:ng m" cc chương trOnh cót hP l"m việc hưu hiệu trên đó.
Hệ điu h"nh có thP được coi như l" bộ phân ph+i t"i nguyên c[a my tính.
Nhiu t"i nguyên c[a my tính như th:i gian s. dKng CPU, vùng bộ nhớ, vùng lưu
trư tập tin, thiMt bị nhập xuIt v.v… được cc chương trOnh yêu cFu đP giZi quyMt vIn
đ. Hệ điu h"nh ho(t động như một bộ quZn l/ cc t"i nguyên v" phân ph+i chúng
cho cc chương trOnh v" ngư:i s. dKng khi cFn thiMt. Do có rIt nhiu yêu cFu, hệ
điu h"nh phZi giZi quyMt vIn đ tranh chIp v" phZi quyMt định cIp pht t"i nguyên
cho nhưng yêu cFu theo thX tự n"o đP ho(t động c[a my tính l" hiệu quZ nhIt. Một
hệ điu h"nh cũng có thP được coi như l" một chương trOnh kiPm sot việc s. dKng
my tính, đặc biệt l" cc thiMt bị nhập xuIt.
Tuy nhiên, nhOn chung chưa có định nghĩa n"o l" ho"n hZo v hệ điu h"nh.
Hệ điu h"nh tGn t(i đP giZi quyMt cc vIn đ s. dKng hệ th+ng my tính. MKc tiêu
Nguyễn Th Hu Phương 6
Bô  môn CNPM – Khoa CNTT
Bi ging Hê  điu hnh
cơ bZn c[a nó l" giúp cho việc thi h"nh cc chương trOnh dễ d"ng hơn. MKc tiêu thX
hai l" hỗ trợ cho cc thao tc trên hệ th+ng my tính hiệu quZ hơn. MKc tiêu n"y đặc
biệt quan trọng trong nhưng hệ th+ng nhiu ngư:i dùng v" trong nhưng hệ th+ng
lớn (phFn cXng + quy mô s. dKng). Tuy nhiên hai mKc tiêu n"y cũng có phFn tương
phZn vO vậy l/ thuyMt v hệ điu h"nh tập trung v"o việc t+i ưu hóa việc s. dKng t"i nguyên c[a my tính.
- Bộ gim st thư:ng trực: Khi một công việc chIm dXt, hệ th+ng sẽ thực
hiện công việc kM tiMp m" không cFn sự can thiệp c[a ngư:i lập trOnh, do đó th:i
gian thực hiện sẽ mau hơn. Một chương trOnh, còn gọi l" bộ gim st thư:ng trực
được thiMt kM đP gim st việc thực hiện dãy cc công việc một cch tự động,
chương trOnh n"y luôn luôn thư:ng trú trong bộ nhớ chính. Hệ điu h"nh theo lô
thực hiện cc công việc lFn lượt theo nhưng chỉ thị định trước.
- CPU v" thao tc nhập xuIt: CPU thư:ng hay nh"n rỗi do t+c độ l"m việc
c[a cc thiMt bị nhập xuIt (thư:ng l" thiMt bị cơ) chậm hơn rIt nhiu lFn so với cc
thiMt bị điện t.. Cho dù l" một CPU chậm nhIt, nó cũng nhanh hơn rIt nhiu lFn so
với thiMt bị nhập xuIt. Do đó phZi có cc phương php đP đGng bộ hóa việc ho(t
động c[a CPU v" thao tc nhập xuIt.
- X. l/ off_line: X. l/ off_line l" thay vO CPU phZi đọc trực tiMp từ thiMt bị
nhập v" xuIt ra thiMt bị xuIt, hệ th+ng dùng một bộ lưu trư trung gian. CPU chỉ thao
thc với bộ phận n"y. Việc đọc hay xuIt đu đMn v" từ bộ lưu trư trung gian.
- Spooling: Spool (simultaneous-đGng th:i peripheral operation on-line) l"
đGng bộ hóa cc thao tc bên ngo"i on-line. Cơ chM n"y cho phép x. l/ c[a CPU l"
on-line, s. dKng đĩa đP lưu cc dư liệu nhập cũng như xuIt.
Khi có nhiu công việc cùng truy xuIt lên thiMt bị, vIn đ lập lịch cho cc
công việc l" cFn thiMt. Khía c(nh quan trọng nhIt trong việc lập lịch l" khZ năng đa
Nguyễn Th Hu Phương 7
Bô  môn CNPM – Khoa CNTT
Bi ging Hê  điu hnh
chương. Đa chương (multiprogram) gia tăng khai thc CPU bằng cch tS chXc cc
công việc sao cho CPU luôn luôn phZi trong tOnh tr(ng l"m việc.
: hệ điu h"nh lưu giư một phFn c[a cc công việc ở nơi lưu trư
trong bộ nhớ. CPU sẽ lFn lượt thực hiện cc phFn công việc n"y. Khi đang thực
hiện, nMu có yêu cFu truy xuIt thiMt bị thO CPU không nghỉ m" thực hiện tiMp công
việc thX hai… Với hệ đa chương hệ điu h"nh ra quyMt định cho ngư:i s. dKng vO
vậy, hệ điu h"nh đa chương rIt tinh vi. Hệ phZi x. l/ cc vIn đ lập lịch cho công
việc, lập lịch cho bộ nhớ v" cho cZ CPU nưa.
Hệ th+ng chia s9 th:i gian l" một mở rộng logic c[a hệ đa chương. Hệ th+ng
n"y còn được gọi l" hệ th+ng đa nhiệm (multitasking). Nhiu công việc cùng được
thực hiện thông qua cơ chM chuyPn đSi c[a CPU như hệ đa chương nhưng th:i gian
mỗi lFn chuyPn đSi diễn ra rIt nhanh. Hệ th+ng chia s9 được pht triPn đP cung cIp
việc s. dKng bên trong c[a một my tính có gi trị hơn. Hệ điu h"nh chia s9 th:i
gian dùng lập lịch CPU v" đa chương đP cung cIp cho mỗi ngư:i s. dKng một phFn
nhỏ trong my tính chia s9. Một chương trOnh khi thi h"nh được gọi l" một tiMn
trOnh. Trong qu trOnh thi h"nh c[a một tiMn trOnh, nó phZi thực hiện cc thao tc
nhập xuIt v" trong khoZng th:i gian đó CPU sẽ thi h"nh một tiMn trOnh khc. Hệ
điu h"nh chia s9 cho phép nhiu ngư:i s. dKng chia s9 my tính một cch đGng bộ
do th:i gian chuyPn đSi nhanh nên họ có cZm gic l" cc tiMn trOnh đang được thi h"nh cùng lúc.
Hệ điu h"nh chia s9 phXc t(p hơn hệ điu h"nh đa chương. Nó phZi có cc
chXc năng: quZn trị v" bZo vệ bộ nhớ, s. dKng bộ nhớ Zo. Nó cũng cung cIp hệ
th+ng tập tin truy xuIt on-line… Hệ điu h"nh chia s9 l" kiPu c[a cc hệ điu h"nh hiện đ(i ng"y nay.
Ngo"i cc hệ th+ng chỉ có một bộ x. l/ còn có cc hệ th+ng có nhiu bộ x.
l/ cùng chia s9 hệ th+ng đư:ng truyn dư liệu, đGng hG, bộ nhớ v" cc thiMt bị ngo(i
Nguyễn Th Hu Phương 8
Bô  môn CNPM – Khoa CNTT
Bi ging Hê  điu hnh
vi. Cc bộ x. l/ n"y liên l(c bên trong với nhau. Có nhiu nguyên nhân xây dựng
d(ng hệ th+ng n"y. Với sự gia tăng s+ lượng bộ x. l/, công việc được thực hiện
nhanh chóng hơn. Nhưng không phZi theo đúng tỉ lệ th:i gian, nghĩa l" có n bộ x.
l/ không có nghĩa l" sẽ thực hiện nhanh hơn n lFn.
Hệ th+ng với my nhiu bộ x. l/ sẽ t+i ưu hơn hệ th+ng có nhiu my có
một bộ x. l/ vO cc bộ x. l/ chia s9 cc thiMt bị ngo(i vi, hệ th+ng lưu trư, nguGn …
v" rIt thuận tiện cho nhiu chương trOnh cùng l"m việc trên cùng một tập hợp dư liệu.
Một l/ do nưa l" độ tin cậy. Cc chXc năng được x. l/ trên nhiu bộ x. l/ v"
sự hỏng hóc c[a một bộ x. l/ sẽ không Znh hưởng đMn to"n bộ hệ th+ng.
Hệ th+ng đa x. l/ thông thư:ng s. dKng cch đa x. l/ đ+i xXng, trong cch
n"y mỗi bộ x. l/ ch(y với một bZn sao c[a hệ điu h"nh, nhưng bZn sao n"y liên l(c
với nhau khi cFn thiMt. Một s+ hệ th+ng s. dKng đa x. l/ bIt đ+i xXng, trong đó mỗi
bộ x. l/ được giao một công việc riêng biệt.. Một bộ x. l/ chính kiPm sot to"n bộ
hệ th+ng, cc bộ x. l/ khc thực hiện theo lệnh c[a bộ x. l/ chính hoặc theo nhưng
chỉ thị đã được định nghĩa trước. Mô hOnh n"y theo d(ng quan hệ ch[ tớ. Bộ x. l/
chính sẽ lập lịch cho cc bộ x. l/ khc.
Một ví dK v hệ th+ng x. l/ đ+i xXng l" version Encore c[a UNIX cho my
tính Multimax. Hệ th+ng n"y có h"ng t bộ x. l/. Ưu điPm c[a nó l" nhiu tiMn
trOnh có thP thực hiện cùng lúc. Một hệ th+ng đa x. l/ cho phép nhiu công việc v"
t"i nguyên được chia s9 tự động trong nhưng bộ x. l/ khc nhau.
Hệ th+ng đa x. l/ không đGng bộ thư:ng xuIt hiện trong nhưng hệ th+ng
lớn, trong đó hFu hMt th:i gian ho(t động đu d"nh cho x. l/ nhập xuIt.
Hệ th+ng n"y cũng tương tự như hệ th+ng chia s9 th:i gian nhưng cc bộ x.
l/ không chia s9 bộ nhớ v" đGng hG, thay v"o đó mỗi bộ x. l/ có bộ nhớ cKc bộ
riêng. Cc bộ x. l/ thông tin với nhau thông qua cc đư:ng truyn thông như
nhưng bus t+c độ cao hay đư:ng dây điện tho(i. Cc bộ x. l/ trong hệ phân tn
Nguyễn Th Hu Phương 9
Bô  môn CNPM – Khoa CNTT
Bi ging Hê  điu hnh
thư:ng khc nhau v kích thước v" chXc năng. Nó có thP bao gGm my vi tính, tr(m
l"m việc, my mini, v" nhưng hệ th+ng my lớn. Cc bộ x. l/ thư:ng được tham
khZo với nhiu tên khc nhau như site, node, computer v.v.... tùy thuộc v"o tr(ng thi l"m việc c[a chúng.
Cc nguyên nhân phZi xây dựng hệ th+ng phân tn l":
- Chia s9 t"i nguyên: Một ngư:i s. dKng A có thP s. dKng my in laser c[a
ngư:i s. dKng B v" ngư:i s. dKng B có thP truy xuIt nhưng tập tin c[a A. TSng
qut, chia s9 t"i nguyên trong hệ th+ng phân tn cung cIp một cơ chM đP chia s9 tập
tin ở vị trí xa, x. l/ thông tin trong một cơ sở dư liệu phân tn, in In t(i một vị trí
xa, s. dKng nhưng thiMt bị ở xa đP. thực hiện cc thao tc.
- Tăng t+c độ tính ton: Một thao tc tính ton được chia l"m nhiu phFn nhỏ
cùng thực hiện một lúc. Hệ th+ng phân tn cho phép phân chia việc tính ton trên
nhiu vị trí khc nhau đP tính ton song song.
- An to"n: NMu một vị trí trong hệ th+ng phân tn bị hỏng, cc vị trí khc vẫn tiMp tKc l"m việc.
- Thông tin liên l(c với nhau: Có nhiu lúc, chương trOnh cFn chuyPn đSi dư
liệu từ vị trí n"y sang vị trí khc. Ví dK trong hệ th+ng Windows, thư:ng có sự chia
s9 v" chuyPn dư liệu giưa cc c.a sS. Khi cc vị trí được n+i kMt với nhau trong một
hệ th+ng m(ng, việc trao đSi dư liệu diễn ra rIt dễ. Ngư:i s. dKng có thP chuyPn tập
tin hay cc E_mail cho nhau từ cùng vị trí hay nhưng vị trí khc.
Hệ th+ng x. l/ th:i gian thực được s. dKng khi có nhưng đòi hỏi khắt khe v
th:i gian trên cc thao tc c[a bộ x. l/ hoặc dòng dư liệu, nó thư:ng được dùng
điu khiPn cc thiMt bị trong cc Xng dKng tận hiMn (dedicated). My tính phân tích
dư liệu v" có thP chỉnh cc điu khiPn giZi quyMt cho dư liệu nhập. Một hệ điu
h"nh x. l/ th:i gian thực phZi được định nghĩa t+t, th:i gian x. l/ nhanh. Hệ th+ng
phZi cho kMt quZ chính xc trong khoZng th:i gian bị thúc ép nhanh nhIt. Có hai hệ
Nguyễn Th Hu Phương 10
Bô  môn CNPM – Khoa CNTT