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
Môn: Công nghệ thông tin (asf-1243)
Trường: Đại học Hoa Sen
Thông tin:
Tác giả:
Preview text:
Bi ging Hê điu hnh
CHƯƠNG 1 TNG QUAN V HÊ ĐIU HNH...................................................6
1.1 Khi niê m v hê điu h"nh..............................................................................6
1.2 Phân lo(i hê điu 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 tn..................................................................................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 Khi niê m tiMn trOnh v" mô hOnh đa tiMn trOnh................................................13
2.3 Khi 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 Cc tr(ng thi 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 tc trên tiMn trOnh...........................................................................21
3.1.5 CIp pht 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 Hu Phương 1
Bô môn CNPM – Khoa CNTT
Bi ging Hê điu hnh
3.2.3 Cc thuật ton lập lịch............................................................................32
CHƯƠNG 4 TRUYN 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 Cc vIn đ nZy sinh trong việc liên l(c tiMn trOnh...................................38
4.2 Cc 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 quyn truy xuIt (Mutual exclusion)...................................46
4.3.2 Yêu cFu ph+i hợp (Synchronization)......................................................46
4.3.3 B"i ton đGng bộ ho..............................................................................46
4.4 Cc giZi php đGng bô hóa............................................................................48
4.4.1 GiZi php “busy waiting”.......................................................................48
4.4.2 Cc giZi php “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 điu kiện cFn thiMt gây ra deadlock............................................62
5.2.2 ĐG thị cIp pht t"i nguyên......................................................................63
5.3 Cc phương php 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 Hu Phương 2
Bô môn CNPM – Khoa CNTT
Bi ging Hê điu hnh
5.4.4 TGn t(i chu trOnh trong đG thị cIp pht t"i nguyên..................................71
5.5 Trnh deadlock..............................................................................................73
5.5.1 Tr(ng thi an to"n...................................................................................74
5.5.2 GiZi thuật đG thị cIp pht 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 pht liên tKc............................................................................................82
6.3.1 Mô hOnh Linker_Loader.........................................................................82
6.3.2 Mô hOnh Base &Bound...........................................................................83
6.4 CIp pht 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 Cc khi 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/ cc tâ p tin........................................................106
7.2.1 Mô hOnh................................................................................................106
7.2.2 Cc chXc năng......................................................................................114
7.3 Cc phương php 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 Hu Phương 3
Bô môn CNPM – Khoa CNTT
Bi ging Hê điu hnh
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 Khi 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ộ điu khiPn thiMt bị...........................................................................125
8.2.4 DMA (Direct Memory Access)............................................................127
8.3 PhFn mm nhâ p/xuIt...................................................................................128
8.3.1 KiPm sot ngắt.....................................................................................129
8.3.2 Điu khiPn thiMt bị (device drivers)......................................................129
8.3.3 PhFn mm nhập/xuIt độc lập thiMt bị...................................................130
8.3.4 PhFn mm nhập/xuIt ph(m vi ngư:i s. dKng......................................131
CHƯƠNG 9 B|O VÊ V AN TON HÊ TH‚NG.............................................133
9.1 MKc tiêu bZo vê hê th+ng (Protection).........................................................133
9.2 Min bZo vệ (Domain of Protection)...........................................................134
9.2.1 Khi niệm.............................................................................................134
9.2.2 CIu trúc c[a min bZo vệ.....................................................................134
9.3 Ma trận quyn 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 Cc th"nh phFn hê th+ng...........................................................................141
10.4 KiMn trúc hê điu h"nh WinNT..................................................................142
10.5 Cc module quZn l/ c[a WinNT................................................................143
10.5.1 QuZn l/ tiMn trOnh...............................................................................143
Nguyễn Th Hu Phương 4
Bô môn CNPM – Khoa CNTT
Bi ging Hê điu hnh
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 tn.........................................................................146
CHƯƠNG 11 HÊ ĐIU HNH 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 Điu khiPn thiMt bị..............................................................................150
11.2.3 QuZn l/ tiMn trOnh................................................................................152
11.2.4 QuZn l/ bộ nhớ...................................................................................153
TI LIỆU THAM KH|O.....................................................................................154
Nguyễn Th Hu Phương 5
Bô môn CNPM – Khoa CNTT
Bi ging Hê điu hnh
Hệ điu 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 my tính. MKc tiêu c[a hệ điu h"nh l" cung
cIp một môi trư:ng đP ngư:i s. dKng có thP thi h"nh cc chương trOnh. Nó l"m cho
my tính dP s. dKng hơn, thuận lợi hơn v" hiệu quZ hơn. Hệ điu h"nh l" một phFn
quan trọng c[a hFu hMt cc hệ th+ng my tính. Một hệ th+ng my tính thư:ng được
chia l"m b+n phFn chính: phFn cXng, hệ điu h"nh, cc chương trOnh Xng dKng v" ngư:i s. dKng.
PhFn cXng bao gGm CPU, bộ nhớ, cc thiMt bị nhập xuIt, đây l" nhưng t"i
nguyên c[a my tính. Chương trOnh Xng dKng như cc chương trOnh dịch, hệ th+ng
cơ sở dư liệu, cc trò chơi, v" cc chương trOnh thương m(i. Cc chương trOnh n"y
s. dKng t"i nguyên c[a my tính đP giZi quyMt cc yêu cFu c[a ngư:i s. dKng. Hệ
điu h"nh điu khiPn v" ph+i hợp việc s. dKng phFn cXng cho nhưng Xng dKng
khc nhau c[a nhiu ngư:i s. dKng khc nhau. Hệ điu h"nh cung cIp một môi
trư:ng m" cc chương trOnh cót hP l"m việc hưu hiệu trên đó.
Hệ điu h"nh có thP được coi như l" bộ phân ph+i t"i nguyên c[a my tính.
Nhiu t"i nguyên c[a my 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 cc chương trOnh yêu cFu đP giZi quyMt vIn
đ. Hệ điu h"nh ho(t động như một bộ quZn l/ cc t"i nguyên v" phân ph+i chúng
cho cc chương trOnh v" ngư:i s. dKng khi cFn thiMt. Do có rIt nhiu yêu cFu, hệ
điu h"nh phZi giZi quyMt vIn đ tranh chIp v" phZi quyMt định cIp pht t"i nguyên
cho nhưng yêu cFu theo thX tự n"o đP ho(t động c[a my tính l" hiệu quZ nhIt. Một
hệ điu h"nh cũng có thP được coi như l" một chương trOnh kiPm sot việc s. dKng
my tính, đặc biệt l" cc thiMt bị nhập xuIt.
Tuy nhiên, nhOn chung chưa có định nghĩa n"o l" ho"n hZo v hệ điu h"nh.
Hệ điu h"nh tGn t(i đP giZi quyMt cc vIn đ s. dKng hệ th+ng my tính. MKc tiêu
Nguyễn Th Hu Phương 6
Bô môn CNPM – Khoa CNTT
Bi ging Hê điu hnh
cơ bZn c[a nó l" giúp cho việc thi h"nh cc chương trOnh dễ d"ng hơn. MKc tiêu thX
hai l" hỗ trợ cho cc thao tc trên hệ th+ng my tính hiệu quZ hơn. MKc tiêu n"y đặc
biệt quan trọng trong nhưng hệ th+ng nhiu 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ệ điu h"nh tập trung v"o việc t+i ưu hóa việc s. dKng t"i nguyên c[a my tính.
- Bộ gim st 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ộ gim st thư:ng trực
được thiMt kM đP gim st việc thực hiện dãy cc công việc một cch tự động,
chương trOnh n"y luôn luôn thư:ng trú trong bộ nhớ chính. Hệ điu h"nh theo lô
thực hiện cc công việc lFn lượt theo nhưng chỉ thị định trước.
- CPU v" thao tc nhập xuIt: CPU thư:ng hay nh"n rỗi do t+c độ l"m việc
c[a cc thiMt bị nhập xuIt (thư:ng l" thiMt bị cơ) chậm hơn rIt nhiu lFn so với cc
thiMt bị điện t.. Cho dù l" một CPU chậm nhIt, nó cũng nhanh hơn rIt nhiu lFn so
với thiMt bị nhập xuIt. Do đó phZi có cc phương php đP đGng bộ hóa việc ho(t
động c[a CPU v" thao tc 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
thc 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 cc thao tc 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 cc dư liệu nhập cũng như xuIt.
Khi có nhiu công việc cùng truy xuIt lên thiMt bị, vIn đ lập lịch cho cc
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 Hu Phương 7
Bô môn CNPM – Khoa CNTT
Bi ging Hê điu hnh
chương. Đa chương (multiprogram) gia tăng khai thc CPU bằng cch tS chXc cc
công việc sao cho CPU luôn luôn phZi trong tOnh tr(ng l"m việc.
: hệ điu h"nh lưu giư một phFn c[a cc công việc ở nơi lưu trư
trong bộ nhớ. CPU sẽ lFn lượt thực hiện cc 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ệ điu h"nh ra quyMt định cho ngư:i s. dKng vO
vậy, hệ điu h"nh đa chương rIt tinh vi. Hệ phZi x. l/ cc 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). Nhiu 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 pht triPn đP cung cIp
việc s. dKng bên trong c[a một my tính có gi trị hơn. Hệ điu 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 my 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 cc thao tc
nhập xuIt v" trong khoZng th:i gian đó CPU sẽ thi h"nh một tiMn trOnh khc. Hệ
điu h"nh chia s9 cho phép nhiu ngư:i s. dKng chia s9 my tính một cch đGng bộ
do th:i gian chuyPn đSi nhanh nên họ có cZm gic l" cc tiMn trOnh đang được thi h"nh cùng lúc.
Hệ điu h"nh chia s9 phXc t(p hơn hệ điu h"nh đa chương. Nó phZi có cc
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ệ điu h"nh chia s9 l" kiPu c[a cc hệ điu h"nh hiện đ(i ng"y nay.
Ngo"i cc hệ th+ng chỉ có một bộ x. l/ còn có cc hệ th+ng có nhiu bộ x.
l/ cùng chia s9 hệ th+ng đư:ng truyn dư liệu, đGng hG, bộ nhớ v" cc thiMt bị ngo(i
Nguyễn Th Hu Phương 8
Bô môn CNPM – Khoa CNTT
Bi ging Hê điu hnh
vi. Cc bộ x. l/ n"y liên l(c bên trong với nhau. Có nhiu 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 my nhiu bộ x. l/ sẽ t+i ưu hơn hệ th+ng có nhiu my có
một bộ x. l/ vO cc bộ x. l/ chia s9 cc thiMt bị ngo(i vi, hệ th+ng lưu trư, nguGn …
v" rIt thuận tiện cho nhiu 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. Cc chXc năng được x. l/ trên nhiu 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 cch đa x. l/ đ+i xXng, trong cch
n"y mỗi bộ x. l/ ch(y với một bZn sao c[a hệ điu 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 sot to"n bộ
hệ th+ng, cc bộ x. l/ khc 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 cc bộ x. l/ khc.
Một ví dK v hệ th+ng x. l/ đ+i xXng l" version Encore c[a UNIX cho my
tính Multimax. Hệ th+ng n"y có h"ng t bộ x. l/. Ưu điPm c[a nó l" nhiu tiMn
trOnh có thP thực hiện cùng lúc. Một hệ th+ng đa x. l/ cho phép nhiu công việc v"
t"i nguyên được chia s9 tự động trong nhưng bộ x. l/ khc 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 cc 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. Cc bộ x. l/ thông tin với nhau thông qua cc đư:ng truyn thông như
nhưng bus t+c độ cao hay đư:ng dây điện tho(i. Cc bộ x. l/ trong hệ phân tn
Nguyễn Th Hu Phương 9
Bô môn CNPM – Khoa CNTT
Bi ging Hê điu hnh
thư:ng khc nhau v kích thước v" chXc năng. Nó có thP bao gGm my vi tính, tr(m
l"m việc, my mini, v" nhưng hệ th+ng my lớn. Cc bộ x. l/ thư:ng được tham
khZo với nhiu tên khc nhau như site, node, computer v.v.... tùy thuộc v"o tr(ng thi l"m việc c[a chúng.
Cc nguyên nhân phZi xây dựng hệ th+ng phân tn l":
- Chia s9 t"i nguyên: Một ngư:i s. dKng A có thP s. dKng my 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
qut, chia s9 t"i nguyên trong hệ th+ng phân tn 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 tn, in In t(i một vị trí
xa, s. dKng nhưng thiMt bị ở xa đP. thực hiện cc thao tc.
- Tăng t+c độ tính ton: Một thao tc tính ton được chia l"m nhiu phFn nhỏ
cùng thực hiện một lúc. Hệ th+ng phân tn cho phép phân chia việc tính ton trên
nhiu vị trí khc nhau đP tính ton song song.
- An to"n: NMu một vị trí trong hệ th+ng phân tn bị hỏng, cc vị trí khc vẫn tiMp tKc l"m việc.
- Thông tin liên l(c với nhau: Có nhiu lúc, chương trOnh cFn chuyPn đSi dư
liệu từ vị trí n"y sang vị trí khc. Ví dK trong hệ th+ng Windows, thư:ng có sự chia
s9 v" chuyPn dư liệu giưa cc c.a sS. Khi cc 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 cc E_mail cho nhau từ cùng vị trí hay nhưng vị trí khc.
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 cc thao tc c[a bộ x. l/ hoặc dòng dư liệu, nó thư:ng được dùng
điu khiPn cc thiMt bị trong cc Xng dKng tận hiMn (dedicated). My tính phân tích
dư liệu v" có thP chỉnh cc điu khiPn giZi quyMt cho dư liệu nhập. Một hệ điu
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 xc trong khoZng th:i gian bị thúc ép nhanh nhIt. Có hai hệ
Nguyễn Th Hu Phương 10
Bô môn CNPM – Khoa CNTT