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

BÀI GIẢNG BỘ MÔN HỆ ĐIỀU HÀNH

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 (3.29 MB, 36 trang )

1
HỆ ĐIỀU HÀNH
Giáo viên: Đỗ Tuấn Anh
Bộ mônKhoahọc Máy tính
Khoa Công nghệ Thông tin
ĐHBK Hà Nội

0989095167
2
MỤC ĐÍCH – YÊU CẦU
• Là giáo trình cơ sở chuyên ngành:
–Xétcácvấn đề HĐH bấtkỳ phảigiảiquyết,
–Phương thứcgiải quyếtcácvấn đề đó.
–Hỗ trợ chocácmônkháctrongviệcxâydựng
cơ sở cho Tin học.
–Những v/đ xem xét sẽ không lạchậu trong
tương lai.
3
MỤC ĐÍCH – YÊU CẦU
• Mang yếutố chuyên đề:
– Minh hoạ cho các v/đ lý thuyết,
–Khoảng cách giữavàthựctế công nghệởTin
học nói chung và HĐH nói riêng gầnnhư
bằng 0.
•Như vậy: đây là một giáo trình khó, khá
nặng nề.
4
TÀI LIỆU
• A.Tanenbaum Design and Implementation
operating system.
• A. Tanenbaum Advanced Concepts to


Operating Systems.
• Microsoft Press Inside to WINDOWS
2000.
• Nguyên lý hệ điều hành: Hà
•Hệ điều hành: Tác giả: Nguyễn Thanh
Tùng
5
Chương I. CÁC KHÁI NIỆM CƠ
BẢN
• 1- Cấutrúcphânlớpcủahệ thống tính toán
• Máy tính điệntửđầutiênrađờinăm 1944-1945,
•MTĐT đượcxâydựng và hoạt động theo
nguyên lý Von Neuman: Máy tính được điều
khiểnbằng chương trình và trong câu lệnh của
chương trình ngườitachỉ nêu địachỉ
nơichứa
giá trị chứ không nêu trựctiếpgiátrị.
6
Chương I. CÁC KHÁI NIỆM CƠ
BẢN (tt.)
•Thế hệ thứ 2 (1955-1965)
–Sự ra đời của thiết bị bán dẫn
–lập trình FORTRAN và hợp ngữ
– Hệ thống xử lý theo lô
•Thế hệ thứ 3 (1965-1980)
–mạch tích hợp (IC)
– hệ điều hành chia sẻ thời gian
•Thế hệ thứ 4 (1980-nay)
– máy tính cá nhân (PC-Personal Computer)
– hệ điều hành mạng và hệ điều hành phân tán

7 8
Cấutrúcphânlớpcủahệ thống tính
toán
MTĐT
Hệ lệnh = {Mã lệnh}
Command System =
{Command Code}
Ngôn ngữ riêng
(Ngôn ngữ máy)
9 10
Cấutrúcphânlớpcủahệ thống tính
toán
•Ngườilậptrìnhthường nhầmlẫn  năng suấtlập
trình thấp,
• Đãápdụng nhiềubiện pháp kích thích:
–Kỷ luật hành chính,
–Thưởng phạtkinhtế.
•Năng suấtchỉ tăng chút ít và ổn định ở mức8 câu
lệnh/ngày công!
•Kếtquả nghiên cứutâmlýhọc: Bảnchất con
người không quen làm các công việc đơn điệu,
không có tính quy luật, sớm hay muộncũng sẽ có
sai sót!
11
Cấutrúcphânlớpcủahệ thống tính
toán
•Như vậy, để nâng cao năng suất-cầntác
động vào MTĐT.
• ∃ các công việcmọingườivà∃ CT đều
cần(V/d –Traođổi vào ra)  tạosẵnCT

mẫu (Standard Programs – SP) cung cấp
cùng vớimáy.
• Hình thành LSP = {SP}
12
MTDT
L
S
P
User
10%
10%
10%
10%
10%
10%
10%
10%
10%
10%
MTDT
U
S
E
R
13
U
S
E
R
16.6667%

16.6667%
16.6667%
16.6667%
16.6667%
16.6667%
10%
10%
10%
10%
10%
10%
10%
10%
10%
10%
14
Tác động phầnmềm lên phần
cứng
•Cơ sở hoá hệ lệnh:
–Cáclệnh phứctạpnhư x
1/2
, e
x
,|x| . . . dầndần được
thay thế bằng CT con,
–Tăng cường các lệnh xử lý bit.
•Tăng tốc độ củaMT,
•Tăng tính vạnnăng,
•Tăng độ tin cậy,
•Giảm giá thành,

• Cho phép phân các thiếtbị thành từng nhóm
độclập, tăng độ mềmdẻocủacấu hình.
15
Tác động phầnmềm lên phần
cứng
•Cácyếutố trên có sự tác động củatiếnbộ
công nghệ, nhưng phầnmềm đóng vai trò
quan trọng, nhiều khi có tính quyết định:
– Bàn phím,
–Máyin.
16
Tác động phầnmềmlênUSER
• Đẩyngười dùng ra xa máy, nhưng tạo điều
kiện để khai thác triệt để và tối ưuthiếtbị
U
S
E
R
16.6667%
16.6667%
16.6667%
16.6667%
16.6667%
16.6667%
10%
10%
10%
10%
10%
10%

10%
10%
10%
10%
MTDT
17
Thay đổi nguyên lý làm việc:
18
Tác động phầnmềm lên USER
•Hiệu ứng tựđào tạo,
• Nguyên lý WYSIWYG,
•Giải phóng người dùng khỏisự ràng buộc
vào thiếtbị vậtlýcụ thể.
19
2 – Các tài nguyên cơ bản
a) Bộ nhớ:
Vai trò,
Gót chân Asin củahệ thống,
Quan trọng: sử dụng như thế nào?
•Bảovệ thông tin?
20
b) PROCESSOR
• Điềukhiển máy tính,
•Thựchiện các phép tính số học, lô gic và
điềukhiển,
•Cótốc độ rấtlớn(vàichụctriệu phép tính /
giây),
• Thông thường có thời gian rãnh (thời gian
“chết”) lớn hiệusuấtsử dụng thấp,
•V/đ: tăng hiệusuấtsử dụng (giảmthời

gian chết).
21
C) THIẾT BỊ NGOẠI VI
•Số lượng: Nhiều,
•Chấtlượng: Đadạng,
•Tốc độ: Cựcchậm (so với Processor),
•V/đ: Phải đảmbảo:
–Hệ thống thích nghi vớisố lượng và tính đa
dạng,
–Tốc độ thiếtbị ngoại vi không ảnh hưởng
đáng kểđến
năng suất hệ thống.
22
D) Tài nguyên chương trình
•Cầnphảicócácchương trình cầnthiết,
•Mộtchương trình đượckíchhoạt: phụcvụ
cho nhiềungười dùng ( cấu trúc Reenter),
• Khai thác On-Line, RPC,
•Cáchtổ chứcchương trình: cấutrúcvà
đảmbảochocấutrúchoạt động,
23
Nhiệmvụ củahệ thống đốivới tài
nguyên
• 2 nhiệmvụ chung(không phụ thuộcvàoloạitài
nguyên):
–Phânphối tài nguyên: Cho ai? Khi nào? Bao nhiêu
(vớiloạichiasẻđược)?
–Quảnlýtrạng thái tài nguyên: Còn tự do hay không
hoặcsố lượng còn tự do?
•Tồntạinhiềugiảithuật  Loạihệ thống:

–Xử lý theo lô,
–Phânchiathờigian,
–Thờigianthực.
24
3 - ĐỊNH NGHĨA HỆ ĐIỀU HÀNH
• Có nhiều góc độ quan sát và đánh giá,
•Cácđốitượng khác nhau có yêu cầu, đòi
hỏikhácnhau đốivớiOS,
• Xét 4 góc độ:
–Củangườisử dụng,
–Của nhà quảnlý,
–Của nhà kỹ thuật,
–Củangườilậptrìnhhệ thống.
25
ĐỊNH NGHĨA HỆ ĐIỀU HÀNH
•Người dùng: Thuậntiện,
• Nhà quảnlý: Quảnlýchặtchẽ, khai thác
tối ưu,
•Nhàkỹ thuật:
b
a
o

t

m
m
á
y


l
ô

g
í
c
t
à
i

n
g
u
y
ê
n
k
h


n
ă
n
g

m

i
26
Đĩa lô gic D:

Đĩa lô gic E:
Đĩa lô gic C:
Thực hiện
27
NgườiLập trình hệ thống
.
28
• Đốithoại: để hệ thống gọnnhẹ + linh hoạt,
• Đốithoại  ∃ ngôn ngữđốithoại (bằng lời
hoặccử chỉ).
•Ómôphỏng 2 đốitượng con người  là
hệ thống trí tuệ nhân tạo, là hệ chuyên
gia,
29
• Ra đờisớmnhất:
• 04/1951 xã hộimớibiếtvàtin vàokhả năng giải quyếtcác
bài toán phi số củaMT,
• 1952 - Von Neuman đề xuấttư tưởng xây dựng “CT tự
hoàn thiện” ,
• 1961 – Bell Lab – Các CT trò chơi Animal và Core Ware,
• Khai thác thựctế các hệ CG: 1971-1972.
•OS –xâydựng từ 1950,
• 1965 - Hệ ĐH nổitiếng OS IBM 360
30
• Hoàn thiệnnhất:
•Thống kê UNESCO: 73% số công trình không
hoàn thành do khâu đặtv/đ,
• Các HCG khác: Cán bộ chuyên ngành + Cán bộ
lập trình,
•OS:

–Ngườilậptrìnhgiảiquyết bài toán củachínhmình
–Hiểurõ: V/đ+khả năng công cụ+ khả năng bản thân
1974: 3 công trình xây dựng kỹ thuậttiêubiểu đỉnh cao
trí tuệ loài người:
Hệ thống ĐT tựđộng liên lục địa,
Hệ thống Appolo đưangườilênmặttrăng,
OS IBM 360.
31
4 – TÍNH CHẤT CHUNG CỦA OS
• A) Tin cậyvàchuẩnxác,
•B) Bảovệ,
•C) Kế thừa và thích nghi,
•D) Hiệuquả,
•E) Thuậntiện.
32
Tin cậyvàchuẩnxác
•Mọi công việc trong hệ thống đềuphảicókiểm
tra:
–Kiểm tra môi trường điềukiệnthựchiện,
–Kiểmtrakếtquả thựchiện,
•Nhiềuchứcnăng KT: chuyểngiaochophần
cứng.
•Vídụ: Lệnh
COPY A:F1.TXT B:
• Sau khi KT cú pháp, bắt đầuthựchiệnlệnh. Lần
lượthệ thống sẽ KT gì và có thể có thông báo
nào?
33
• Kt CARD I/O,
•Tồntại ổđĩa?

•Thiếtbịđiệntửổđĩa?
• Động cơổđĩa?
•Khả năng truy nhậpcủa ổđĩa?
•Khả năng truy nhập đĩa?
•Tồntạifile F1.TXT?
•Khả năng truy nhập file?
• . . . . . . . .
• So sánh:
SCANDISK NDD
DEFRAG SPEEDISK
34
BẢO VỆ
•Hạnchế truy nhập không hợpthức,
•Hạnchếảnh hưởng sai sót vô tình hay cố ý,
•Bảovệ:
–Nhiềumức,
–Nhiều công cụ,
–Nhiềuthời điểmvàgiaiđoạn khác nhau.
• Chú ý: bảovệ và chống bảovệ: cùng mức

không thểđảmbảo an toàn tuyệt đối!
35
Kế thừa và thích nghi
36
5 - NGUYÊN LÝ TỔ CHỨC VÀ
HOẠT ĐỘNG
• Nguyên lý mô đun,
• Nguyên lý phủ chứcnăng,
• Nguyên lý Macroprocessor,
• Nguyên lý bảng tham sốđiềukhiển,

• Nguyên lý giá trị chuẩn,
• Nguyên lý 2 loại tham số.
37
NGUYÊN LÝ MÔ ĐUN
•Mỗicôngviệc ⇔ mô đun CT độclập,
•Cácmôđun – liên kếtvới nhau thông qua
Input/Output:
•Cácmôđun được nhóm theo chứcnăng
 thành phầnhệ thống.
38
NGUYÊN LÝ PHỦ CHỨC NĂNG
•Mỗi công việc trong hệ thống thông thường có thể thực
hiệnbằng nhiềucáchvới nhiều công cụ khác nhau,
• Lý do:
•Mỗimôđun có hiệu ứng phụ chứcnăng,
•Người dùng có quyền khai thác mọihiệu ứng phụ không
phụ thuộcvàoviệccôngbố,
•Lập trình:Phải đảmbảocáctínhchấtcủaOS vớimọi
hiệu ứng phụ,
• Vai trò:
– Đảmbảothu
ậntiện cho người dùng,
– Đảmbảo an toàn chứcnăng củahệ thống,
• Ví dụ: In một file.
39
NGUYÊN LÝ MACROPROCESSOR
• Trong OS không có sẵnCT giảiquyếtv/đ,
•Khicầnthiết: Hệ thống tạoraCT vàthựchiệnCT tạora:
• Nguyên lý này áp dụng vớicả bảnthântoàn bộ OS:
Trên đía chỉ có các thành phần. Khi cần các thành phần

đượclắp ráp thành HỆ ĐIỀU HÀNH (Nạphệ thống).
•Lưuý: Các nguyên lý Phủ chứcnăng và
Macroprocessor trái vớilýthuyếtlậptrìnhcócấutrúc.
40
NGUYÊN LÝ BẢNG THAM SỐ ĐIỀU KHIỂN
Mỗi đốitượng trong OS ⇔ Bảng tham số (Contro
l
Table, Control Block),
Hệ thống không bao giờ tham chiếutới đốitượng
vậtlýmàchỉ tham chiếutớibảng tham sốđiều
khiểntương ứng.
Vớicácđĩatừ, CD – bảng tham số ghi ở phần
đầu–Vùnghệ thống (System Area),
Với các files – Header.
41
Cấu trúc file định kiểu
42
Mộtsố loạibảng tham số :
• Cho WINDOWS: Win.ini,
• Cho MS DOS: Config.sys,
• Cho WINWORD: Winword.ini,
•Bảng tham số cấuhìnhhệ thống: phụcvụ
cho mọihệđiều hành: lưutrữ trong
CMOS,
43
NGUYÊN LÝ GIÁ TRỊ CHUẨN
•Cáchgọi khác: Nguyên tắcngầm định (Default),
•Hệ thống chuẩnbị bảng giá trị cho các tham số -
bảng giá trị chuẩn,
• Khi hoạt động: nếu tham số thiếugiátrị  OS

lấytừ bảng giá trị chuẩn.
•Vaitròcủa nguyên lý:
–Thuậntiện: không phảinhắclạinhững giá trị thường
dùng,
–Người dùng không cầnbiết đầydủ hoặcsâuvề hệ
thống.
44
Nguyên lý giá trị chuẩn
•Tácđộng lên giá trị
tham số hoặcbảng
giá trị chuẩn:
–Startup,
– Autoexec.bat,
– Control Panel
•Vídụ: c:\csdl>dir
•Thamsố thiếu giá trị:
– Ổđĩa?
–Thư mục?
– Xem gì?
–Quycáchđưara?
–Nơira?
45
NGUYÊN LÝ 2 LOẠI THAM SỐ
•2 loại tham số:
•Thamsố vị trí (Position Parameters),
•Thamsố khoá (Keyword Param.).
•Thamsố khoá–theotrìnhtự tuỳ ý.
46
6 – THÀNH PHẦN
•Nhiều các phân chia theo chứcnăng, mức

độ chi tiết,
–Hệ thống Supervisor,
–Hệ thống quảnlýthiếtbị ngoạivi,
–Hệ thống quản lý files,
–Hệ thống các chương trình điềukhiển:
– Điềuphối nhiệmvụ,
– Monitor,
–Biênbảnhệ thống,
•Cácchương trình phụcvụ hệ thống.
47
Thành phần
•Lưu ý: ngôn ngữ không phải là thành phần
hệ thống, nhưng trong thành phầnhệ thống
có mộtsố CT dịch.
• Phân biệt: Chương trình phụcvụ hệ thống
và chương trình ứng dụng
48
Chương trình dịch trong Windows:
WIN.COM
COMMAND.COM
Nguyên tắc dịch: Interpreter
49
II – QUẢN LÝ FILES VÀ THIẾT BỊ
NGOẠI VI
•Quảnlýthiếtbị ngoạivi:Cần đảmbảohệ
thống thích nghi với:
–Số lượng nhiều,
–Chấtlượng đadạng,
–Thuậntiện cho người dùng.
•Quản lý files: Cho phép người dùng:

–Tạo files ở các loạibộ nhớ ngoài,
–Tìmkiếm, truy nhập files,
– Đảmbảo độclậpgiữaCT vàthiếtbị
50
1 – Nguyên tắcphâncấp trong
quảnlýthiếtbị ngoạivi
• Máy tính thế hệ I và II: Processor làm việc
trựctiếpvớithiếtbị ngoạivi,
•Hạnchế: Tốc độ -Số lượng - Chủng loại,
•Từ thế hệ III trở lên:
Processor  TB điềukhiển TB ngoạivi
(Control Devices)
(Controllers)
51
n
TB Vào/Ra
TB Vào/Ra
TB Vào/Ra
52
TB Vào/Ra
TB Vào/Ra
TB Vào/Ra
53
Nguyên tắc phân cấp trong quảnlýthiếtbị
ngoạivi
• Phép trao đổi vào ra: thựchiện theo nguyên lý
Macroprocessor,
•Với máy vi tính: Thiếtbịđiềukhiểnvàora≡ I/O
Card,
• Máy Card on Board,

•Lập trình trên Card vào/ra: ViếtTOOLS khởi
tạochương trình kênh,
• Khái niệm kênh bó (Multiplex), Card
Multimedia.
54
Kênh Multiplex
55
2 - KỸ THUẬT PHÒNG ĐỆM
• Khái niệm phòng đệm (Buffer) củaOS.
DISK
BUFFER
SYSTEM
a
A
M
A
M
RAM
56
KỸ THUẬT PHÒNG ĐỆM
•Cơ chế phụcvụ phòng đệm,
•Vấn đề đóng file output, FLUSH(F),
• Vai trò phòng đệm:
– Song song giữatraođổivàoravàxử lý,
– Đảmbảo độclập:
• Thông tin và phương tiện mang,
•Bản ghi lô gíc và vậtlý,
•Lưutrữ và xử lý,
–Giảmsố lầntruynhậpvậtlý:Giả thiếtmỗilẩn
truy nhậpvật lý: 0.01”, truy nhậpkiểu BYTE.

57
KỸ THUẬT PHÒNG ĐỆM
Không có
Buffer
Buffer
512B
1B 0.01” 0.01”
512B ~5” 0.01”
5KB ~50” 0.1”
50KB ~8’ 1”
58
Các loại phòng đệm
• Phòng đệm chung hoặcgắnvới file,
•CácHệ QTCSDL còn hệ thống phòng đệm riêng
để nâng độ linh hoạtvàtốc độ xử lý,
•Cácloạibộ nhớ Cache và phòng đệm.
•Bakiểutổ chức chính:
– Phòng đệm truy nhập theo giá trị,
– Phòng đệm truy nhập theo địachỉ,
– Phòng đệm vòng tròn.
59
Các loạiphòngđệm
• A) Phòng đệm truy nhập theo giá trị:
60
Các loại phòng đệm
• B) Phòng đệmtruynhập theo địachỉ:
61
Các loạiphòngđệm
• C) Phòng đệm vòng tròn: thường áp dụng
cho các hệ QT CSDL.

62
3 - SPOOL
• SPOOL – Simultaneuos Peripheral
Opearations On-Line,
• Không can thiệp vào CT người dùng,
• Hai giai đoạn:
–Thựchiện: thay thế thiếtvị ngoạivi bằng thiết
bị trung gian (Đĩacứng),
–Xử lý kết thúc:
•SaukhikếtthúcviệcthựchiệnCT,
• Đưa thông tin ra thiếtbị yêu cầu.
•Chúý: Đặctrưng củathiếtbị trung gian.
63
SPOOL
• Đảmbảo song song giữaxử lý mộtCT với
trao đổivàoracủaCT khác.
Thực hiện
chương trình
Xử lý kết thúc
(miễn phí)
64
SPOOL
•Giải phóng hệ thống khỏisự ràng buộcvề
số lượng thiếtbị,
• Khai thác thiếtbị ngoạivi tối ưu,
•Kỹ thuậtlập trình hiệuquả.
•Hệ thống cung cấpcácphương tiện để
ngườidụng tạo SPOOL,
•Ai tạoSPOOL –người đóxử lý kết thúc.
65

• Giai đoạnthựchiện: vớimỗi phép trao đổi
vào ra hệ thống tạo 2 CT kênh:
– CT kênh I – theo thiếtbị yêu cầu,
– CT kênh II – phụcvụ ghi CT kênh I ra thiếtbị
trung gian,
•Xử lý kêt thúc: ĐọcCT kênhđãlưuvà
chuyển giao cho kênh.
•Như vậy, mỗithiếtbị sử dụng  file CT
kênh.
66
4 – HỆ THỐNG QUẢN LÝ FILES
• ∃ CSDL quản lý files,
•Hệ thống quản lý files - Hệ QT CSDL.
67
?
68
69
QUẢN LÝ FILE TRONG
WINDOWS
•Mục đích:
– Minh hoạ nguyên lý bảng tham sốđiềukhiển,
–Tínhkế thừa và thích nghi,
–Cơ chế bảovệ,
–Cáchthể hiệnmộtsố chếđộquảnlýbộ nhớ
(chương tiếp theo).
70
TỔ CHỨC THÔNG TIN TRÊN ĐĨA TỪ
T
r
a

ck
1
1
1
2
2
2
3
3
3
Sector
71
CÁC KHÁI NIỆM CƠ BẢN
•Sector:
– Đánh số từ 1,
–Số Sector/track – Constant,
–Hệ sốđan xen (Interleave) – nguyên tố cùng
nhau vớisố sector/track,
–Kíchthước1 sector:
• 128B
• 256B
• 512B
•1KB
72
• Cylinder: 0,1,2, . . .
• Đầutừ (Header): 0, 1, 2, . . .
• Cluster:
– Nhóm sectors liên tiếp lôgic,
– Đơnvị phân phối cho người dùng,
– Đánh số: 2, 3, 4, . . .

–Kíchthước: 1, 2, 4, 8, 16, 32, 64 (S),
• Địachỉ vật lý:(H, S, Cyl),
• Địachỉ tuyệt đối: 0, 1, 2, . . .
CÁC KHÁI NIỆM CƠ BẢN
73
CẤU TRÚC THÔNG TIN TRÊN ĐĨA TỪ
74
BOOT SECTOR
75
BOOT SECTOR
Stt Offs
L (Byte)
Ý Nghĩa
10 3 Lệnh JMP (EB xx 90)
23 8 Tênhệ thống Format đĩa
3B 2 KíchthướcSector
4 D 1 Sec/Cluster
5E 2
Địachỉ tuyệt đối FAT1 trong đĩalôgíc
610
H
1Số lượng bảng FAT
711 2
FAT16: Số phầntử ∈ ROOT
FAT32: 00 00
813 2
Σ
sect/Disk (<32MB) hoặc00 00
76
BOOT SECTOR

915 1 Kiểu đĩatừ (F8 – HD, F0 – 1.44MB)
10 16 2
FAT16: Σ Sec/FAT
FAT32: 00 00
11 18 2 Sec/ Track
12 1A 2
S
ốđầutừ
16 28 2
Flags
13 1C 4
Địachỉ tuyệtBS trongđĩav
ậtlý
14 20 4
Σ Sec / D
isk (≥32MB) hoặc0
15 24 4
Σ Sec / FAT
17 2A 2
Version
18 2C 4
Địachỉ ROOT (Cluster)
77
19 30 2
Inf
20 32 2
Địachỉ lưuBS
21 34 12
10
Dự trữ (00 00)

22 40 1
Địachỉổđĩa ( 80 – C:)
26 47 11
10
Volume Name
23 41 1
00
24 42 1
29 – BIOS mở rộng
25 43 4
Serial Number
27 52 8
FAT32
78
Boot Sector FAT 16
15 24 1
Địachỉổđĩa ( 80 – C:)
16 25 1
00
17 26 1
29 – BIOS m
ở rộng
18 27 4
S
erial Number
19 2B 11
10
Volume Name
20 36 8
FAT16

79
Ví dụ
EB 58 90 4D 53 57 49 4E 34 2E 31 00 02 08 2D 00
02 00 00 00 00 F8 00 00 3F 00 40 00 3F 00 00 00
41 0C 34 00 03 0D 00 00 00 00 00 00 02 00 00 00
01 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00
80 00 29 D1 09 47 32 20 20 20 20 20 20 20 20 20
20 20 46 41 54 33 32 20 20 20 FA 33 C9 8E 41 BC
80
THƯ MỤC
• Đóng vai trò mụclụctracứu, tìm kiếm,
•Mọihệ thống đềuphảicóvớinhững tên khác nhau
(Catalog, Directory, Folder,. . .),
•Baog
ồm: Thư mụcgốc (ROOT) + Thư mục con,
•Cáchệ thống của Microsoft và OS IBM – cấutrúc
cây,
• UNIX - cấu trúc phân cấp,
•Thư mục= {Phầntử}, mỗiphầntử: 32
10
B
•Phầntử ↔ file,
•Thư mục con và ROOT: File có cấutrúc.
81
Cấutrúcphầntử thư mục tên ngắn
(Phầntử 8.3)
Stt Offs L Ý nghĩa
1 0 8 Tên (Name)
28 3 Phầnmở rộng (Extention)
3B 1 Thuộc tính (Attribute)

4C 2 Thời điểmtạo file
5E 2 Ngàytạo file
610
H
2Ngàytruynhậpgầnnhất
7 12 1 00 (Cho NT)
8131 Số 0.1” củathời điểmtạo file
82
Phầntử 8.3
9 14 2 2 bytes cao của cluster xuất phát
10 16 2 Thời điểmcậpnhậtcuối cùng
11 18 2 Ngày cậpnhậtcuối cùng
12 1A 2 2 bytes thấpcủa cluster xuất
phát
13 1C 4 Kích thước file (Byte)
83
Phầntử 8.3
•Byte số 0: Vai trò đặcbiệt.
• 00 – Chưasử dụng, phầntử chưa
sử dụng đầu tiên - dấuhiệukết
thúc thư mục,
•E5 –(
σ) Đãbị xoá,
• 05 – Tên bắt đầubằng ký tự σ,
•2E 20 (. ) –Phầntử thứ I củathư
mục con,
• 2E 2E ( ) – Phầntử thứ II củathư
mụccon
84
85

7
86
Tên dài
• Không quá 255 ký
tự,
•Unicode,
•Hệ thống phân biệt
theo 66 ký tựđầu
tiên,
•Lưutrữ theo cách
đưavào,
•Nhậndạng: Đưa
về chữ hoa.
Phần tử tên dài n
Phần tử tên dài n-1
Phần tử tên dài 1
Phần tử 8.3
87
Cấutrúcphầntử tên dài
Stt Offs L Ý nghĩa
10 1 Số thứ tự i (64+i)
21 10
10
5 ký tự C
1
–C
5
3B1 Thuộc tính (00001111
B
)

4 C 1 00 – dấuhiệuphầntử tên dài
5D1
Σ
K
phầntử 8.3
6E12
10
C
6
–C
11
7 1A 2 00 00
81C4 C
12
–C
13
88
File Allocation Table
(FAT)
•Chứcnăng:
–Quảnlýbộ nhớ phân phốichotừng file,
–Quảnlýbộ nhớ tự do trên đĩa,
–Quảnlýbộ nhớ kém chấtlượng.
•FAT = {phầntử}
•Phầntử:
– Đánh số:0, 1, 2, . . .
–Từ phầntử số 2: phầntử ↔ Cluster
89 90
FAT
• Bit Shutdown = 1 – Ra khỏihệ thống đúng cách

• Bit Diskerror = 1 – không có lỗitruynhập đĩa ở lần
truy nhậpcuối cùng.
•Từ phầntử 2 trởđi:
•Giátrị 0 – Cluster tự do,
• FF7 (FFF7, 0FFFFFF7) – Bad cluster,
• Các giá trị khác – đã phân phối,
• Các phầntử tương ứng những Clusters củamột file -
tạo thành một danh sách móc nối,
• EOC (End of Cluster Chain) – FFF (FFFF,
FFFFFFFF).
91 92
MASTER BOOT
93
• Nguyên tắc khai thác HD:
– Chia HD thành các phần, mỗiphầncó
kích thướccốđịnh,
–Mỗiphầnsử dụng như một đĩatừđộc
lập: Đĩa lô gic ( Logical Volume).
• OS cho phép tạocácđĩakíchthước động
trong mỗi đĩalôgic.
MASTER BOOT
94
Cấutrúcbảng phân vùng
•Bảng phân vùng bắt đầutừđịachỉ 1BE
H
,
•Bảng phân vùng = {4 phầntử},
•Mỗiphầntử sử dụng ↔ Đĩalôgic,
•Tồntạicơ chế cho phép tạo nhiềuhơn4đĩalôgíc
trên một đĩavậtlý.

95
Cấutrúcphầntử bảng phân vùng
96
Bảng phân vùng
80 01 01 00 0B 3F FF 4D 3F 00 00 00 41 0C 34 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
55AA
80010100 010511BF 11000000 6F4C0000
000001C0 5105511F 804C0000 40260000
00004120 510551DF C0720000 804C0000
000041E0 5105D132 40BF0000 12870000
55AA
97
Truy nhập Boot Sector
• Dùng các hàm API,
•Chương trình đọcvàđưaramànhìnhnội dung BS của đĩa
mềm A: (Hexa và ASCII):
Program R_BS_A;
Uses Crt, Dos;
Const s16: string[16]=‘0123456789ABCDEF’;
Var B: array[0 511] of char;
reg: registers;
i,j,k: integer;
c: char;
BEGIN
clrscr;
fillchar(b,sizeof(b),0);
writeln(‘Cho dia vao o A: va bam phim bat

ky.’);
c:=readkey;
98
I := 0;
Repeat
with reg do
begin
dl := 0; { 0 -> A:, 128 -> C:}
dh := 0; {Đầutừ}
cl := 1; {Sector}
ch := 0; {Cylinder}
al := 1; {So Sectors can doc}
ah := 2; {2 -> Read; 3 -> Write;. . .}
es := seg(b);
bx := ofs(b)
end;
99
intr($13,reg);
inc(i)
Until i = 2;
for i := 0 to 511 do
begin
j := b[i] shr 4 + 1;
k := b[i] and $0F + 1;
write(s16[j]:2, s16[k]);
if (i+1) mod 16 = 0 then
begin write(‘ ‘:5);
for j := i-15 to i do
if (b[j] <32) or (b[j] = 255) then
write(‘.’)

else write(chr(b[j]));
100
writeln;
if i = 255 then c:= readkey
end
end;
Repeat
Until keypressed
END.
101
III – QUẢN LÝ BỘ NHỚ
•Bộ nhớ tác động nhiềulênđộ phứctạpcủagiảithuật,
•Phảigiải quyết2 v/đ trái ngược nhau:
•Tiếtkiệmbộ nhớ,
•Tậndụng tối đabộ nhớ cho phép.
•Phầnlớncácchương trình: viết trên ngôn ngữ lập
trình: Assembler, VB, JAVA, VC++, . . .
•Vớingườilập trình: CT và thực hiên CT là ánh xạ từ
tên sang giá trị.
102
QUẢN LÝ BỘ NHỚ
•Vớihệ thống:
103
1 – CÁC BƯỚC XỬ LÝ CT
•I + J
•A + B
•A + I
104
CÁC BƯỚC XỬ LÝ CT
•VaitròcủaBiêntập (Input/Output),

• Khái niệmbộ nhớ lô gíc.
Biên tập
(Link)
Nạp và định vị
(Fetch)
Quản lý bộ nhớ
QL
Tiến trình
QL
Processor
105
CÁC BƯỚC XỬ LÝ CT
K
h
ô
n
g

t
ê
n
g
i
a
n

T
ên
user’s
H

à
m

n
Tên trong
Lô gíc
Modul đích
Mo
d
ul
thực
hiện
A
F
E
T
C
H
Bộ nhớ vật lý
Chương trình thực hiện
Tổ chức bộ
nhớ vật lý?
106
2 – CẤU TRÚC CHƯƠNG TRÌNH
•Bộ nhớ lô gíc:
– Không gắnvới máy tính cụ thể,
– Không giớihạn về kích thước,
–Chỉ chứa1mô đun hoặc1 CT,
–Chỉ phụcvụ lưutrữ, không thựchiện.
•Quảnlýbộ nhớ lô gíc ~ tổ chứcchương trình,

•Mỗicáchtổ chứcCT ⇔ cấutrúcCT,
•Mọicấutrúc: đều đượcsử dụng trong thựctế.
107
CẤU TRÚC CHƯƠNG TRÌNH
• Đặctrưng mô đun đích (Object Modul): chứa thông
tin về các moduls khác liên quan (các móc nối) 
kích thướclớn.
•Nhiệmvụ biên tập(Linked): Giải quyếtcácmócnối.
•Cácloạicấu trúc chính:
–Cấutrúctuyếntính,
–Cấutrúcđộng (Dynamic Structure),
–Cấu trúc Overlay,
–Cấutrúcmôđun,
–Cấutrúcphântrang.
•Mộtchương trình thựchiệncóthể chứa nhiềucấu
trúc khác nhau.
108
CẤU TRÚC CHƯƠNG TRÌNH
•A) Cấutrúctuyếntính: CT biên tập tìm và
lắprápcácmôđun thành mộtmôđun duy
nhất, chứa đầy đủ thông tin để thựchiệnCT,
109
Cấutrúctuyến tính
• Đặc điểm:
– Đơngiản,
–Thờigianthựchiện: min,
–Lưu động (mobilable) cao,
–Tốnbộ nhớ: vớimỗibộ dữ liệuchỉ có 13% -
17% câu lệnh đóng vai trò tích cực.
– Không dùng chung mô đun CT.

110
B) CẤU TRÚC ĐỘNG
• Trong CT nguồn: phải dùng các lệnh
macro hệ thống để nạp, móc nối, xoá
(Load, Attach, Delete) . . . các mô đun khi
cầnthiết,
m
0
m
0
m
0
m
0
m
0
m
2
m
2
m
2
m
1
111
CẤU TRÚC ĐỘNG
• Đặc điểm:
– Đòi hỏiuser phảibiếtcơ chế và công cụ quản
lý bộ nhớ,
–Thờigianthựchiệnlớn: song song thựchiện

vớitìmkiếm, nạpvàđịnh vị,
–Tiếtkiệmbộ nhớ,
–Kémlưu động  khó nạp, cậpnhật, xoá.
• Đượcsử dụng rộng rãi những năm 60-70
và từ 90 đến nay.
•ThíchhợpchocácCT hệ thống.
112
CẤU TRÚC ĐỘNG
•Cácmôđun nạp trong quá trình thựchiện 
vào các files .DLL ( dynamic Link Library)
• WIDOWS 98, WINDOWS XP – thư mục SYSTEM,
SYSTEM32
,
•Biênbảncàiđặt, uninstall.
• Winword, Excel, Vietkey . . .
• Các ngôn ngữ lập trình: ∃ công cụ tổ chứcDLL.
113
C) CẤU TRÚC OVERLAY
• Moduls  các lớp, lớp = {các moduls không tồntại
đồng thời}
• Moduls lớpi đượcgọibởi moduls lớpi-1,
• Thông tin về các lớp: Sơđồtổ chứcoverlay, do user
cung cấp cho Link,
•Link tạosơđồquảnlýoverlay,
• Supervisor Overlay tổ chứcthựchiện.
• Đặc điểm:
–Phânphốibộ nhớ theo sơđồtĩnh,
– Files .OVL
•Vídụ: FOXPRO, PCSHELL. . . .
114

Moduls
mức 1
Moduls
mức 2
Moduls
mức 3
MỨC 0
MỨC 1
MỨC 2
MỨC 3
RAM
Tổng cộng:
115
D) CẤU TRÚC MODULS
•Biêntậpriêngtừng mô đun,
•Tạobảng quảnlýmôđun để điềukhiểnthựchiện,
• Đặc điểm:
–Tựđộng hoàn toàn,
– Không cần phân phốibộ nhớ liên tục,
–Hiệuquả phụ thuộcvàocấu trúc ban đầucủaCT nguồn,
–Dễ dàng sử dụng chung mô đun.
116
E) CẤU TRÚC PHÂN TRANG
•CT biêntậpnhư cấutrúctuyến tính,
• Chia thành các phầnbằng nhau – trang,
•Tạobảng quản lý trang.
• Đặc điểm:
•Tiếtkiệmbộ nhớ,
•Hiệuquả không phụ thuộcvàcấu trúc ban đầucủa
CT nguồn.

117
3 - QUẢN LÝ BỘ NHỚ VẬT LÝ
• Đặc điểm:
–Cókíchthướccụ thể,
–Cócấuhìnhsử dụng cụ thể.
•Phụcvụ giai đoạnthựchiệnCT:
–Bảovệ thông tin,
–Bộ nhớ cho dữ liệu.
•Vấn đề:
–Cáchtổ chức?
–Xáclậpquanhệ vớibộ nhớ lô gíc: như thế nào và khi
nào?
–Tìnhhuống thiếubộ nhớ?
118
QUẢN LÝ BỘ NHỚ VẬT LÝ
•Cácchếđộquảnlýbộ nhớ vậtlý:
–Chếđộphân vùng cốđịnh,
–Chếđộphân vùng động,
–Chếđộmô đun,
–Chế phân trang,
•Chếđộkếthợpmôđun và phân trang.
•Mọichếđộ: đều đang đượcsử dụng.
119
a) Chếđộphân vùng cốđịnh
•Bộ nhớ  n phần,
mỗiphầncókích
thướccốđịnh
(không nhấtthiết
bằng nhau),
sử dụng như một

bộ nhớđộclập,
phụcvụ thựchiện
1 CT.
5 KB
A
B
C,B
120
Chếđộphân vùng cốđịnh
• Đặc điểm:
–Mỗi vùng có mộtdanhsáchquảnlýbộ nhớ tự do,
–Mỗi vùng: thựchiệnmộtCT ứng dụng,
–Sơđồbảovệ thông tin: theo toàn vùng.
–Mộtsố CT điềukhiểnphảidượccopy vàotừng
vùng.
• Phân lớp CT phụcvụđểhạnchế lãng phí bộ
nhớ,
•Môhình: Tổ chức đĩacứng.
121
Chếđộphân vùng cốđịnh
• Công cụ phân bố lạibộ nhớ (SWAPPING):
–Lệnh OP,
– Do OP thựchiện,
–Những vùng nào biên thay đổi: mất thông tin. Lý do:
làm lạiDSQL bộ nhó tự do.
•Vídụ: với đĩacứng: FDISK.
•CT điềukhiểnhệ thống: đơngiản.
•Hệ số song song cốđịnh.
122
b) CHẾ ĐỘ PHÂN VÙNG ĐỘNG

•CT  Phân phối vùng bộ
nhớ liên tục đủ thựchiện
và quảnlýnhư bộ nhớ
độclập.
• ∃ một danh sách QL bộ
nhớ tự do duy nhất.
123
CHẾ ĐỘ PHÂN VÙNG ĐỘNG
• Đặc điểm:
–Hệ số song song biếnthiên,
– ∃ hiệntượng phân đoạn ngoài (External Fragmentation) 
SWAPPING,
•Côngcụ SWAPPING:
–Lệnh OP,
– Do OP thựchiện,
– Không mất thông tin.
•Nội dung SWAPPING.
•Phứctạp của Swapping.
• Môhìnhquảnlýđĩatừ SUBST, DRVSPACE
124
CHẾ ĐỘ PHÂN VÙNG ĐỘNG
125
C) CHẾ ĐỘ QUẢN LÝ THEO MÔ ĐUN
•CT –cấutrúcmôđun,
0
SCB
(Segment Control Block)
126
CHẾ ĐỘ QUẢN LÝ THEO MÔ ĐUN
•ThựchiệnCT: địachỉ dữ liệuphảibiểudiễndưới

dạng mộtcặp
•SCB  RAM, địachỉđầucủaSCB  R
s
- Segment
Register.
• Để đọc /ghi dữ liệu: cần2 lầntruynhậptớibộ nhớ:
* (R
s
) + s  truy nhậptớiphầntử thứ s∈ SCB,
** Khi D = 1: A+d  truy nhậptớidữ liệu.
№ Mô đun offset
127
s
RAM
RAM
128
CHẾ ĐỘ QUẢN LÝ THEO MÔ ĐUN
• Đặc điểm:
– Không cần phân phốibộ nhớ liên tục,
– Không đòi hỏi công cụđặcbiệt  có thể áp dụng cho
mọi MTĐT,
–Dễ dàng sử dụng chung mô đun giữacácCT,
–Hiệuquả phụ thuộcvàocấutrúcCT nguồn,
–Tồntạihiệntượng phân đoạn ngoài (External
Fragmentation).
•Thiếubộ nhớ, phận đoạn ngoài  Swapping
129
CHẾ ĐỘ QUẢN LÝ THEO MÔ ĐUN
• SWAPPING:
–Do hệ thống đảm nhiệm,

– Không mất thông tin,
–Nội dung swapping: đưamộthoặcmộtsố mô đun ra bộ nhớ
ngoài, giải phóng chổ nạpmôđun mới.
•Cáchchọnmôđun đưara: Option
–Môđun tồntại lâu nhất trong bộ nhớ,
–Môđun có lầnsử dụng cuối cùng cách đây lâu nhất,
–Môđun có tầnxuấtsử dùng thấpnhất.
• IBM PC 286 trở lên:
–Một trong 2 chếđộcủa 286 và một trong 3 chếđộcủa 386 trở
lên,
– Swapping - ngầm định – tiêu chuẩn2.
130
D) CHẾ ĐỘ PHÂN TRANG
•Bộ nhớđược chia thành các phầnbằng
nhau – các trang (Pages),
• Các trang – đánh số 0, 1, 2, . . . - địachỉ
trang.
131
CHẾ ĐỘ PHÂN TRANG
•CT -cấu trúc phân trang,
•Bảng quản lý trang PCB (Page Control
Block),
D
P
A
P
132
CHẾ ĐỘ PHÂN TRANG
•ThựchiệnCT: địachỉ dữ liệuphảibiểudiễn
dướidạng mộtcặp

•PCB  RAM, địachỉđầucủaPCB  R
P
- Page
Register.
• Để đọc /ghi dữ liệu: cần2 lầntruynhậptớibộ
nhớ:
* (R
P
) + p  truy nhậptớiphầntử thứ p∈ PCB,
** Khi D
p
= 1: A ∪ d  truy nhậptớidữ liệu.
133 134
CHẾ ĐỘ PHÂN TRANG
• Đặc điểm:
– Không cần phân phốibộ nhớ liên tục,
–Phải có công cụ kỹ thuậthõtrợđịnh vị trang,
– Không sử dụng chung mô đun giữacácCT,
–Hiệuquả không phụ thuộcvàocấu trúc CT nguồn,
–Bảng PCB có thể rấtlớn,
– Không bị phân đoạn ngoài.
•Thiếubộ nhớ (mọitrangđều đã đượcsử dụng)
 Swapping
135
CHẾ ĐỘ PHÂN TRANG
• SWAPPING:
–Do hệ thống đảm nhiệm,
– Không mất thông tin,
–Nội dung swapping: đưamột trang ra bộ nhớ ngoài, giải phóng
chổ nạp trang mới.

•Cáchchọn trang đưara: Option
–Trangtồntạilâunhất trong bộ nhớ,
–Trangcólầnsử dụng cuối cùngcách đây lâu nhất,
–Trangcótầnxuấtsử dùng thấpnhất.
• IBM PC 386 trở lên: ngầm định – tiêu chuẩn2.
136
E) CHẾ ĐỘ KẾT HỢP MÔ ĐUN –
PHÂN TRANG
•Bộ nhớ vật lý – phân trang,
•CT –cấutrúcmôđun,
•Mỗimôđun – phân trang:
137
CHẾ ĐỘ KẾT HỢP MÔ ĐUN – PHÂN TRANG
138
CHẾ ĐỘ KẾT HỢP MÔ ĐUN – PHÂN
TRANG
•ThựchiệnCT: địachỉ dữ liệuphảibiểudiễndướidạng một nhóm 3:
•SCB  RAM, địachỉđầucủaSCB  R
s
- Segment Register.
• Để đọc /ghi dữ liệu: cần3 lầntruynhậptớibộ nhớ:
* (R
s
) + s  truy nhậptớiphầntử thứ s∈ SCB,
** Khi D = 1: A+d  truy nhậptớiPCB
s
∈ SCB,
*** Khi D
p
= 1: A ∪ d  truy nhậptớidữ liệu.

139
1
300
R
s
=
15
s
12314
12314
150
12395
150
RAM
RAM
81 532
p d
1
405
405000
405532
RAM
140
4 - QUẢN LÝ BỘ NHỚ TRONG
IBM PC
•Bốnmức ưutiên
(Privilege Levels)
thựchiệnCT: 0 ÷ 3, cao
nhất–0, thấpnhất–3.
•Nguyêntắc tuy nhập:

mộtCT chỉđược
quyềntruynhậptớiCT
và dữ liệucủaCT
bằng hoặckémưutiên
hơn.
Nhân
141
IBM PC
•Bộ nhớ phân phốichoCT -2 loại: bộ nhớ
chung (G) và bộ nhớ riêng (L).
142
IBM PC
•2 chếđộ: Chếđộthực
(XT) và chếđộbảovệ
(AT).
•ChếđộReal Mode:
ROM
AM
BỘ NHỚ CƠ SỞ
143
ChếđộProtected Mode
MCB
Bộ nhớ vật lý
0
1
2
k
3FFF
Index
144

ChếđộProtected Mode
•Mỗikhối ⇔ MCB (Memory Control Block)
•Bộ nhớ chung ⇔
{MCB}  GDT
(Global Descriptor Table).
•Bộ nhớ riêng ⇔{MCB}  LDT
(Local Descriptor Table).
•MCB: 8 Bytes/phầntử.
•Thựchiện CT: GDT  RAM, GDTR
LDT  RAM, LDTR
Lệnh: LGDTR, SGDTR, LLDTR, SLDTR
145
MCB
MCB
A
Thuộc tính
D A
l
P
DPL
SEEDW
A
Present
Descriptor
Privilege
Level
System
Executable
Expansion
direction

Writable
Accessed
E
D=
0
d = 1
d = 1
146
80286
• Địachỉ tuyến tính: 32 bits.
•Khả năng:
–Vậtlý: AR – 24 bits
–V
ph
= 2
24
–= 16MB
–Lôgic:V
lg
=2
13
×2
1
×2
16
–=2
30
–=1 GB
147
MCB

148
80386 - PENTUM
•G = 0 -Chếđộmô đun, đơnvị tính kích
thướckhối–Byte  L = 2
20
= 1 MB.
•G = 1 -Chếđộphân trang, đơnvị tính kích
thướckhối–trang (4 KB)  L = 2
20
P =
2
20
×2
12
= 2
32
= 4 GB.
•D = 0 -Chếđộdữ liệu 16 bit,
•D = 1 -Chếđộdữ liệu 32 bit.
149
80386 - PENTUM
• Địachỉ tuyến tính: 48 bits.
•Khả năng:
–Vậtlý: AR – 32 bits
–V
ph
= 2
32
–= 4GB
–Lôgic:V

lg
=2
13
×2
1
×2
32
–=2
46
–= 2
6
×2
40
–= 64 TB
150
80386 - PENTUM
•Chếđộkếthợpmôđun – phân trang:
• Phân phốibộ nhớ:

×