P. 1
Nguyên lý Hệ Điều Hành

Nguyên lý Hệ Điều Hành

|Views: 1,559|Likes:
Được xuất bản bởitrinhcongchien

More info:

Published by: trinhcongchien on Apr 24, 2012
Bản quyền:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

07/28/2013

pdf

text

original

1

Nguyên lý Hệ Điều Hành
Trình bày: Đỗ Quốc Huy
Bộ môn Khoa Học Máy Tính
Khoa CNTT – ĐHBK HN
2
Nguyên lý Hệ Điều Hành
 Thời lượng : 60 tiết.
 Vị trí môn học : sau Tin Học Đại
Cương
 Mục đích môn học: trang bị kiến thức về
hệ điều hành, để khai thác hệ thống hiệu
quả hơn.
3
Tài liệu tham khảo

 Tiếng Anh:
• Operating System Concept and Design – Milan
Milenkovic
• Modern Operating System – Adrew S.
Tanenbaum
 Tiếng Việt:
• Bài giảng hệ điều hành – Nguyễn Thanh Tùng
• Lập trình hợp ngữ và máy vi tính IBM PC-
Peter Norton
• Cẩm nang Lập trình hệ thống – Micheal Tischer
4
Nội dung môn học
 Chương 1: Các khái niệm cơ sở
 Chương 2: Quản lý tiến trình
 Chương 3: Quản lý Processor
 Chương 4: Quản lý bộ nhớ
 Chương 5: Quản lý thiết bị ngoại vi và file
 Chương 6: Hệ thống nhiều Processors
 Chương 7: virus máy tính
 Chương 8: Tổng quan về các loại hệ điều
hành
5
Chương 1: Các khái niệm cơ bản
về hệ điều hành
 Bài 1: Cấu trúc phân lớp của hệ
thống tính toán
 Bài 2: Định nghĩa và phân loại hệ
điều hành
 Bài 3: Các tính chất và nguyên tắc
xây dựng hệ điều hành
 Bài 4: Một số hình thái giao tiếp
người - máy
6
Bài 1: Cấu trúc phân lớp của hệ
thống tính toán
1.Hệ thống tính toán
 gồm : môi trường của hệ thống và
người sử dụng.
• Platform, gồm có: phần cứng máy tính ,
phần mềm máy tính
 Phần cứng: - máy tính
- kết nối máy tính
- truyền thông máy tính
7
1.1 Phần cứng máy tính
 Kiến trúc chung của máy tính
Máy tính gồm những thành phần ?

- Bộ vào ra
- Bộ nhớ
- Bộ vi xử lý
- Đường truyền
8
Bộ vào ra
 Bộ vào ra làm nhiệm vụ nhận dữ liệu, các
thông tin vào từ các vật mang tin như đĩa
từ, bàn phím.., chuyển đến bộ nhớ qua
đường truyền dưới sự điều khiển của bộ
xử lý,
 ngựợc lại chuyển thông tin từ bộ nhớ qua
đường truyền tới các vật mang tin, quá
trình này cũng chịu sự điều khiển của bộ
nhớ.
9
Bộ nhớ
 lưu trữ thông tin trong quá trình máy tính
xử lý
 2 dạng lưu trữ:
• Tạm thời RAM (Random Access Memory):
 Bộ nhớ truy xuất ngẫu nhiên
 lưu trữ dữ liệu và chương trình trong quá trình thao tác
và tính toán
• Bền vững ROM (Read Only Memory):
 Bộ nhớ chỉ đọc thông tin
 lưu trữ các chương trình hệ thống, chương trình điều
khiển việc nhập xuất cơ sở
10
Bộ nhớ
 Nguyên tắc Voneuman
• Bộ nhớ máy tính gồm nhiều ngăn nhớ
được đánh địa chỉ.
• Khi xử lý thì theo địa chỉ chứ không xử
lý theo nội dung
11
Bộ xử lý
 Central Processor Unit (CPU)
 Thực hiện 2 công việc:
• Điều khiển hoạt động của các thiết bị khác
• Chế biến thông tin
 Gồm các thành phần:
• Khối điều khiển (Control Unit - CU)
• Khối tính toán số học và logic (Arithmetic –
Logic Unit – ALU)
• Các thanh ghi (Register)
• Các đường truyền thông tin (internal bus)
• Bộ nhớ tăng tốc Cache
12
1.2 Kết nối máy tính
 Máy tính được kết nối với hệ thống khác để tăng
hiệu năng sử dụng
 Vd:
 Máy tính kết nối với máy tính -> mạng máy tính.
 Đảm bảo truyền thông: sử dụng các giao thức
(protocol)
 Mạng máy tính phân loại thành:
• LAN (Local Area Network)
• WAN (Wide Area Network)
• GAN (Global Area Network)
• Internet

13
1.3 Truyền thông máy tính
 Tín hiệu tương tự (Analog Signal)
• Truyền liên tục
• Chỉ truyền được trên một đường truyền
• Chậm, dễ bị nhiễu
• Khi bị ngắt sẽ phải truyền lại từ đầu
 Tín hiệu số (Digital Signal)
• Thông tin được số hóa
• Đóng gói thành các gói tin (packet)
• Có thể truyền song song trên nhiều đường
truyền
• Mã hóa, bảo mật
14
2. Phần mềm
 Software: là các phương thức hay
cách thức để điều khiển phần cứng.
 Định nghĩa: là một hệ thống các
chương trình cho phép khai thác và
mở rộng khả năng của máy tính.
15
Phân loại phần mềm
 Tiêu chí thương mại
• Publicware: là những phần mềm sử dụng phổ
biến trong cộng đồng
• Shareware:là phần mềm được phép dùng thử
trong một giới hạn nào đó
• Licence ware: bắt buộc phải mua và đăng ký
bản quyền
• Freeware: tự do sao chép, sửa đổi
 Tiêu chí phát triển phần mềm
• Phần mềm nguồn đóng
• Phần mềm mã nguồn mở
16
Phân loại phần mềm
 Kiến trúc
• Ứng dụng người dùng (User Application)
• Ứng dụng hệ thống (System
Application)
• Hệ điều hành
• BIOS
17
3. Người sử dụng
 Chia làm 3 lớp:
• Lập trình viên (Programmer)
• Người sử dụng cuối cùng (end-user)
• Thao tác viên (Operator)

18
4. Tài nguyên của hệ thống
tính toán
 Bao gồm:
• Tất cả các ngoại vi
• Bộ nhớ
• Bộ xử lý
• Các chương trình của hệ thống

19
4. Tài nguyên của hệ thống
tính toán
 Chia thành 2 loại cơ bản:
• Tài nguyên hữu hạn khả năng phục vụ
 VD:
• Tài nguyên vô hạn khả năng phục vụ
 VD:
20
Bài 2. Định nghĩa và phân loại
hệ điều hành
 1. Một vài định nghĩa hệ điều hành
• Từ quan điểm của người sử dụng:Hệ
điều hành là tập hợp các chương trình,
phục vụ khai thác hệ thống tính toán
một cách dễ dàng, thuận tiện
• Từ quan điểm của người quản lý: Hệ
điều hành là một tập các chương trình
phục vụ quản lý chặt chẽ và sử dụng tối
ưu các tài nguyên của hệ thống tính
toán
21
Một vài định nghĩa hệ điều hành
 Định nghĩa từ quan điểm cán bộ kỹ thuật: Hệ
điều hành là hệ thống chương trình, trang bị cho
một máy tính cụ thể để tạo ra một máy logic mới
với các tài nguyên và khả năng mới.
 Định nghĩa từ quan điểm kỹ sư lập trình hệ
thống: Hệ điều hành là hệ thống mô hình hóa,
mô phỏng các hoạt động của máy, của người sử
dụng và của thao tác viên, hoạt động trong chế
độ đối thoại, nhằm tạo môi trường khai thác
thuận tiện và quản lý tối ưu các tài nguyên của
hệ thống tính toán
22
2. Phân loại hệ điều hành
 Hệ điều hành đơn mục đích, đa mục
đích
• Hệ điều hành đơn mục đích: chỉ phục vụ
cho một chức năng duy nhất trên máy
tính, giải quyết bài toán xác định.
• Hệ điều hành đa mục đích: Ở một thời
điểm cho phép thực hiện một chương
trình phục vụ nhiều yêu cầu khác nhau
23
2. Phân loại hệ điều hành
 HÖ ®iÒu hµnh tËp trung vµ ph©n t¸n
• H§H tËp trung : trong hÖ thèng m¸y tÝnh chØ cã mét
hÖ ®iÒu hµnh duy nhÊt cµi ®Æt vµo m¸y chñ, hÖ
®iÒu hµnh nµy cã chøc n¨ng khëi ®éng vµ cung cÊp
dÞch vô cho c¸c m¸y tÝnh kh¸c. C¸c m¸y nµy chñ yÕu
vµo ra c¸c d÷ liÖu. ViÖc xö lý tËp trung vµo m¸y chñ.
• H§H ph©n t¸n: Trong hÖ thèng m¸y tÝnh, mçi m¸y cã
hÖ ®iÒu hµnh riªng khëi ®éng ®éc lËp vµ cã chøc
n¨ng kh¸c nhau. HÖ ®iÒu hµnh t¹i m¸y chñ ®îc gäi lµ
hÖ ®iÒu hµnh ph©n t¸n v×: Qu¶n lý c¸c tµi nguyªn hÖ
thèng kh«ng chØ t¹i m¸y chñ mµ cßn c¶ c¸c m¸y tr¹m
trong hÖ thèng. ChÝa sÎ tµi nguyeen ®ång thêi cho
nhiÒu m¸y kh¸c nhau.
24
2. Phân loại hệ điều hành
 HÖ ®iÒu hµnh ph©n chia thêi gian vµ hÖ ®iÒu
hµnh thêi gian thùc.
• HÖ ®iÒu hµnh ph©n chia thêi gian (Sharing time) :
mét bé xö lý ë nh÷ng thêi ®iÓm kh¸c nhau phôc vô
cho ch¬ng tr×nh kh¸c nhau hay nãi kh¸c ®i thêi gian
xö lý nµy bÞ chia sÎ cho nhiÒu ch¬ng tr×nh do vËy
tån t¹i c¸c kho¶ng thêi gian cã nh÷ng ch¬ng tr×nh bÞ
r¬i vµo tr¹ng th¸i chê ®îi hay tr¹ng th¸i kh«ng ®îc phôc
vô.
• HÖ ®iÒu hµnh thêi gian thùc : ë c¸c thêi ®iÓm liªn tôc
trong hÖ thèng ch¬ng tr×nh lu«n ®îc phôc vô bëi mét
CPU vµ cã thÓ lµ ë nh÷ng thêi ®iÓm kh¸c nhau, mét
ch¬ng tr×nh sÏ ®îc phôc vô bëi c¸ bé xö lý kh¸c nhau.
25
3. Lịch sử phát triển các
hệ điều hành
 Thế hệ 1 (1943-1955)
 Thế hệ 2 (1955-1965)
 Thế hệ 3 (1965-1980)
 Thế hệ 4 (1980 đến nay)
26
Thế hệ 1 (1943-1955)
 Howard Aiken ở Havard và John von
Neuman ở Princeton xây dựng thành công
máy tính
• Dùng các ống chân không với hơn 10000 ống
• Lập trình: thiết lập các công tắc
• Ngôn ngữ lập trình: ngôn ngữ máy
• Tốc độ chậm
 Đội thiết kế máy cũng là
• đội lập trình
• Đội chế tạo máy
• Quản trị hệ thống
• Thao tác hệ thống
27
A Famous Remark (1943)
 "I think there is a world market
for maybe five computers."
• Thomas Watson, chairman of IBM

28
Thế hệ 2 (1955-1965)
 Thiết bị bán dẫn ra đời ( Transistors)
• Lập trình: trên phiếu đục lỗ
• Ngôn ngữ lập trình: FORTRAN & Assembly
• Công việc: mang tính khoa học
• Máy tính: Mainframes
• Hệ điều hành: Xử lý theo lô Batch system

 Các trường đại học bắt đầu mua máy tính (giá
máy lên đến hàng triệu $)

 Có sự phân chia giữa người thiết kế, người chế
tạo, người vận hành, người lập trình và chuyên
viên bảo trì.
29
Punched Card

30
Hệ thống xử lý theo lô
- Mang phiếu đến máy IBM 1401 (good at card
reading)
- Đọc nội dung phiếu ra băng từ
- Cho băng từ vào máy IBM 7094 thực hiện tính toán
- Cho băng từ vào máy IBM 1401 in kết quả xuất ra
ngoài


31
A Famous Remark (1957)
 "I have traveled the length and
breadth of this country and
talked with the best people, and
I can assure you that data
processing is a fad that won't
last out the year.“
• The editor in charge of business books
for Prentice Hall
32
Thế hệ 3 (1965-1980)
 Máy tính sử dụng các mạch tích hợp (Integrated Circuit –
IC)
• Lập trình: Băng từ
• Ngôn ngữ lập trình: FORTRAN & Assembly
• Công việc: khoa học và thương mại
• Máy tính: IBM 360, DEC PDPs
• Hệ điều hành: Multiprogramming/timesharing, spooling
Chương trình hệ điều hành dài cả triệu dòng hợp ngữ và do hàng
ngàn lập trình viên thực hiện
 Các hệ điều hành phát triển:
• MULTICS (cha của các hệ điều hành hiện đại)
• UNIX (System V, BSD)
• POSIX (bởi IEEE)
• MINIX (bởi Tanenbaum)
• Linux (derived from MINIX
33
A Famous Remark (1977)
 “There is no reason anyone
would want a computer in their
home.“
• Ken Olson, president, chairman and
founder of Digital Equipment Corp.

34
Thế hệ 4 1980 đến nay
 Sử dụng công nghệ Very large scale
instruction - VLSI
• Lập trình: bậc cao
• Ngôn ngữ lập trình: C/C++, Java, ……
• Máy tính: PC
• Hệ điều hành: Windows, MacOS,
Linux ……

35
Bài 3. Tính chất và nguyên tắc xây
dựng hệ điều hành
 1. Tính chất chung của hệ điều hành:

• A) Tin cậy và chuẩn xác
• B) An toàn cao
• C) Kế thừa và thích nghi
• D) Hiệu quả
• E) Thuận tiện
36
Tin cậy
 Mọi công việc trong hệ thống đều phải có
kiểm tra:
• Kiểm tra môi trường điều kiện thực hiện,
• Kiểm tra kết quả thực hiện,
 Nhiều chức năng KT: chuyển giao cho
phần cứng.
 Ví dụ: Lệnh COPY A:F1.TXT B:
 Sau khi KT cú pháp, bắt đầu thực hiện
lệnh. Lần lượt hệ thống sẽ KT gì và có thể
có thông báo nào?

37
 Kt CARD I/O,
 Tồn tại ổ đĩa?
 Thiết bị điện tử ổ đĩa?
 Động cơ ổ đĩa?
 Khả năng truy nhập của ổ đĩa?
 Khả năng truy nhập đĩa?
 Tồn tại file F1.TXT?
 Khả năng truy nhập file?
 . . . . . . . .

38
An toàn cao
 Hạn chế truy nhập không hợp thức,
 Hạn chế ảnh hưởng sai sót vô tình
hay cố ý,
 Bảo vệ:
• Nhiều mức,
• Nhiều công cụ,
• Nhiều thời điểm và giai đoạn khác nhau.
39
Kế thừa và thích nghi

t
Thời điểm tạo
OS
Kế thừa
Thích nghi
40
 Đối với việc nâng cấp, tính kế thừa là
bắt buộc
 Các thao tác, thông báo phải không
được thay đổi, nếu có thì không đáng
kể và phải được hướng dẫn cụ thể.
 Đảm bảo tính thừa kế sẽ duy trì và
phát triển đội ngũ người sử dụng
41
Hiệu quả cao
 Tài nguyên hệ thống phải được khai
thác triệt để
 Đảm bảo duy trì hoạt động của toàn
hệ thống
42
Thuận tiện
 Hệ thống phải dễ dàng sử dụng
 Có nhiều mức hiệu quả khác nhau
 Hệ thống trợ giúp phải phong phú,
đa dạng
• Tra cứu, hướng dẫn, tooltip…

43
2.NGUYÊN LÝ TỔ CHỨC VÀ
HOẠT ĐỘNG
 Nguyên lý mô đun,
 Nguyên lý phủ chức năng,
 Nguyên lý Macroprocessor,
 Nguyên lý bảng tham số điều khiển,
 Nguyên lý giá trị chuẩn,
 Nguyên lý 2 loại tham số.

44
NGUYÊN LÝ MÔ ĐUN
 Mô đun :các đơn vị chương trình,
chương trình con, lớp (class), đối
tượng (object)...
 Mỗi mô đun phải có tính chất:
• Độc lập tương đối về mặt chức năng

M
0
I
0
I
1
O
0
M
1
I
2
O
1
M
2
I
3
O
2
45
NGUYÊN LÝ MÔ ĐUN
 Mỗi công việc · mô đun CT độc lập,
 Các mô đun – liên kết với nhau
thông qua Input/Output:



 Các mô đun được nhóm theo chức
năng  thành phần hệ thống.

M
0
I
0
I
1
O
0
M
1
I
2
O
1
M
2
I
3
O
2
46
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ện bằng nhiều cách với nhiều công cụ
khác nhau,
 Lý do:
 Mỗi mô đun có hiệu ứng phụ chức năng,
 Người dùng có quyền khai thác mọi hiệu ứng phụ
không phụ thuộc vào việc công bố,
 Vai trò:
• Đảm bảo thuận tiện cho người dùng,
• Đảm bảo an toàn chức năng của hệ thống,
 Ví dụ: In một file.

47
NGUYÊN LÝ MACROPROSSECOR
 Trong OS không có sẵn chương trình giải
quyết vấn đề
 Khi cần thiết: Hệ thống tạo ra CT và thực
hiện CT tạo ra:








 Nguyên lý này áp dụng với cả bản thân
toàn bộ OS: Trên đía chỉ có các thành
phần. Khi cần các thành phần được lắp ráp
thành HỆ ĐIỀU HÀNH (Nạp hệ thống).

Vấn đề Lập trình Thực hiện
Kết
quả
Macroprocessor
48
NGUYÊN LÝ MACROPROSSECOR
 Mọi hệ điều hành đều sử dụng
nguyên lý này trong đối thoại người-
máy trên ngôn ngữ vận hành.
 Độ sâu trong phân tích cú pháp của
các hệ thống là khác nhau
 Được áp dụng rộng rãi trong các hệ
cơ sở dữ liệu
49
NGUYÊN LÝ BẢNG THAM SỐ ĐIỀU KHIỂN
 Mỗi đối tượng trong OS · Bảng tham số
(Control Table, Control Block),
 Hệ thống không bao giờ tham chiếu tới đối
tượng vật lý mà chỉ tham chiếu tới bảng
tham số điều khiển tương ứng.
 Với các đĩa từ, CD – bảng tham số ghi ở
phần đầu – Vùng hệ thống (System Area),
 Với các files – Header.
50
Cấu trúc file định kiểu
Header
Câc bản ghi
Giải mã header
Các trường của
header
G
i

i

m
ã

b

n

g
h
i
51
Một số loại bảng tham số :
 Cho WINDOWS: Win.ini,
 Cho MS DOS: Config.sys,
 Cho WINWORD: Winword.ini,
 Bảng tham số cấu hình hệ thống:
phục vụ cho mọi hệ điều hành: lưu
trữ trong CMOS,

52
NGUYÊN LÝ GIÁ TRỊ CHUẨN
 Cách gọi khác: Nguyên tắc ngầm định
(Default),
 Hệ thống chuẩn bị bảng giá trị cho các
tham số - bảng giá trị chuẩn,
 Khi hoạt động: nếu tham số thiếu giá trị 
OS lấy từ bảng giá trị chuẩn.
 Vai trò của nguyên lý:
• Thuận tiện: không phải nhắc lại những giá trị
thường dùng,
• Người dùng không cần biết đầy dủ hoặc sâu về
hệ thống.
53
Nguyên lý giá trị chuẩn
 Tác động lên giá trị
tham số hoặc bảng
giá trị chuẩn:
• Startup,
• Autoexec.bat,
• Control Panel
 Ví dụ: c:\csdl>dir
 Tham số thiếu giá
trị:
• Ổ đĩa?
• Thư mục?
• Xem gì?
• Quy cách đưa ra?
• Nơi ra?
54
NGUYÊN LÝ 2 LOẠI THAM SỐ
 2 loại tham số:
 Tham số vị trí (Position Parameters),
 Tham số khoá (Keyword Param.).




 Tham số khoá – theo trình tự tuỳ ý.
C:\CSDL\DIR A:\ /S /P /ON /L /W
Tham số
vị trí
Tham số khoá
55
Nguyên tắc bảo vệ nhiều mức
 Mỗi tài nguyên có đặc trưng vật lý
khác nhau -> phương pháp và mức
độ bảo vệ, cách thức bảo vệ khác
nhau -> xây dựng nhiều lớp bảo vệ
đan xen, hỗ trợ lẫn nhau mới có thể
ngăn chặn các sự can thiệp trái phép
vào tài sản hệ thống.
 VD: Hàng rào an ninh mạng
56
Nguyên lý khởi tạo khi cài đặt
(nguyên lý sinh – generate)
 sinh ra (khởi tạo) một hệ thống trước hết
phải lựa chọn các mô đun chương trình từ
kho mô đun sẵn có sao cho đáp ứng được
các yêu cầu người dùng, phù hợp cấu hình
kỹ thuật của máy
 Tổ chức lưu trữ và gắn kết các mô đun đã
chọn để tạo thành hệ thống mong muốn
 Do phần mềm Setup thực hiện
57
3.Thành phần của hệ điều hành
 Thành phần của hệ thống điều khiển
 Thành phần của hệ thống phục vụ
58
4.Kiến trúc phân lớp
Giao tiếp người -máy
Kernel User mode
Kernel điều phối
BIOS
Góc độ người sử dụng
59
4.Kiến trúc phân lớp
Giao tiếp người – máy
Quản lý tài nguyên
Quản lý thiết bị
DRIVER
BIOS
Góc độ người lập trình hệ thống
60
Kiến trúc hệ điều hành DOS

61
Kiến trúc Unix
62
Kiến trúc phân lớp của THE

63
5.Các dịch vụ của hệ điều hành
 Thi hành chương trình : hệ thống phải có khả
năng nạp chương trình vào bộ nhớ và thi hành
nó. Chương trình phải chấm dứt thi hành theo
cách thông thường hay bất thường (có lỗi).
 Thao tác nhập xuất : Một chương trình thi hành
có thể yêu cầu nhập xuất. Nhập xuất này có thể
là tập tin hay thiết bị. Đối với thiết bị có một hàm
đặc biệt được thi hành. Để tăng hiệu quả, người
sử dụng không truy xuất trực tiếp các thiết bị
nhập xuất mà thông qua cách thức do hệ điều
hành cung cấp.
64
Các dịch vụ của hệ điều hành
 Thao tác trên hệ thống tập tin
 Thông tin : Thông tin có thể được cài đặt
qua chia xẻ bộ nhớ, hoặc bằng kỹ thuật
chuyển thông điệp.
 Phát hiện lỗi : hệ điều hành phải có khả
năng báo lỗi. Lỗi xảy ra có thể do CPU, bộ
nhớ, trong thiết bị nhập xuất, … hay trong
các chương trình. Đối với mỗi dạng lỗi, hệ
điều hành sẽ có cách giải quyết tương ứng
65
6.Lời gọi hệ thống
 System calls
 cung cấp một giao tiếp giữa tiến
trình và hệ điều hành.
 Một số hệ thống cho phép lời gọi hệ
thống được thực hiện từ cấp lập trình
ngôn ngữ cấp cao, như các hàm và
lời gọi hàm. Nó có thể phát sinh lời
gọi từ các thủ tục hay gọi trực tiếp
inline
66
Bài 4. Một số hình thái giao tiếp
người - máy
 Dòng lệnh (Command line)
 Bảng chọn (Menu)
 Biểu tượng (Icon)
67
1.Dòng lệnh
 Khái niệm:Theo nguyên lý macro, để
thuận tiện cho người dùng trong hệ
điều hành xây dựng bộ Macro tương
ứng với các chức năng của HĐH. Mọi
macro có quy cách:
 Tên Macro toán hạng và tham số
 VD: DIR C:\ *.* / P
 Tên của macro có tính gợi nhớ.
68
Dòng lệnh (tiếp)
 Nguyên tắc xây dựng: xây dựng một
hệ thống macro trong giao tiếp giữa
người sử dụng với máy tính, các
macro này được phân cấp thành các
nhóm ứng dụng
69
Ưu nhược điểm
 - Đơn giản nhưng có tổ chức
 - Không đòi hỏi cấu hình máy phức tạp
 - Việc gắn thông số vào chương trình là
hết sức đơn giản.
 H¹n chế:
 - Tốc độ đưa lệnh vào chậm so với các
hình thái khác.
 - Người sử dụng phải nhớ tập lệnh cồng
kềnh.
 - Không thuận tiện cho người sử dụng
hạn chế về ngôn ngữ giao tiếp
70
2. B¶ng chän

 - Menu: b¶ng chän 1 møc, mçi môc chän (pad),
c¸c môc chän cã thÓ s¾p ®Æt tïy tiÖn trªn cöa
sæ.
 §Ó chän cã thÓ dïng
 + C¸c thiÕt bÞ trá: con chuét, bót tõ, tay (®ßi hái
ph¶i cã mµn h×nh c¶m øng).
 + PhÝm t¾t (hotkey) : g¾n víi mçi chøc n¨ng
 + phÝm dÞch chuyÓn: tr¸i, ph¶i vµ enter
71
2. B¶ng chän
 - Popup:lµ mét hép chän, mçi môc chän
gäi lµ 1 bar (thanh), c¸c bar cã thø tù .
 §Ó chän cã thÓ dïng
 + C¸c thiÕt bÞ trá: con chuét, bót tõ, tay
(®ßi hái ph¶i cã mµn h×nh c¶m øng).
 + PhÝm t¾t (hotkey) : g¾n víi mçi chøc
n¨ng
 + phÝm dÞch chuyÓn: lªn, xuèng vµ
enter
 - Menu_Popup
 KÕt hîp gi÷a Menu víi popup.

72
 Nguyªn t¾c x©y dùng: sö dông kü thuËt
ph©n tÝch tõ trªn xuèng, chia nhá chøc
n¨ng råi nhãm c¸c chøc n¨ng.
 Qu¸ tr×nh chia nhá dõng l¹i khi nhËn ®îc
chøc n¨ng ë møc ®¬n gi¶n nhÊt, khi ®ã ta
x©y dùng møc 1 øng víi menu. Mçi nhãm
con ë møc 2 trë xuèng th× ta g¾n víi 1
popup
73
§¸nh gi¸:
 ¦u ®iÓm :
• Kh«ng ®ßi hái cÊu h×nh m¸y phøc t¹p,
• kh«ng ph¶i nhí tËp lÖnh.
• Tèc ®é ®a lÖnh vµo nhanh h¬n.
 H¹n chÕ:
 VÉn cha thuËn tiÖn víi nh÷ng ngêi h¹n
chÕ vÒ ng«n ng÷ giao tiÕp.
 Kh«ng g¾n ®îc tham sè trùc tiÕp cho tr-
¬ng tr×nh ph¶i quay trë l¹i chÕ ®é dßng
lÖnh.
74
3) BiÓu tîng
 Icon
• Gåm ¶nh kÌm theo lêi chó:
• Anh: ®Æc trng cho chøc n¨ng
• VÝ dô

• Desktop (bµn lµm viÖc) : mµn h×nh lu biÓu t-
îng c¸c chøc n¨ng thêng dïng nhÊt
75
3) BiÓu tîng
 Cöa sæ: c¸c ®Æc trng thanh tiªu ®Ò , gãc cöa sæ bao
giê cã còng cã nót ®iÒu khiÓn, 2 thanh cuèn ®Î dÞch
chuyÓn néi dung trong cöa sæ. Cöa sæ cho phÐp
zoom, di chuyÓn ®îc trªn mµn h×nh (float). Mµu (mµu
nÒn, mµu ký tù, mµu biªn); vÞ trÝ cöa sæ (täa ®é c¸c
®Ønh x1,y1 vµ x2,y2)
 Cöa sæ lµ mét vïng lµm viÖc, tíng øng víi mét hay mét
nhãm c¸c chøc n¨ng. Khi cöa sæ t¬ng øng víi 1 chøc
n¨ng th× cöa sæ chøa c¸c biÓu tîng.
 T¹i mét thêi ®iÓm cã thÓ chän nhiÒu chøc n¨ng (më
nhiÒu cöa sæ trªn mµn h×nh). C¸c cöa sæ cã thÓ tr×nh
bµy theo 3 c¸ch (XÕp ngãi/ gèi nhau; chång ®Ì (overlap),
dµn tr¶i (title)).

76
Nguyên tắc tổ chức
 Tương tự bảng chọn
77
Đánh giá
 ¦u: + Kh«ng ph¶i nhí lÖnh
 + Th©n thiÖn dÔ sö dông
 + NhËp lÖnh nhanh
 + Chän nhiÒu lÖnh ®ång thêi
 Nhîc:
 + §ßi hái cÊu h×nh m¸y cao (bé nhí lín, card
mµn h×nh, tèc ®é m¸y cao, æ cøng dung lîn lín)
 + Kh«ng g¾n trùc tiÕp tham sè cho ch¬ng
tr×nh
78
Chƣơng 2: Quản lý tiến trình
 Bài 1. Định nghĩa và phân loại tiến
trình

 Bài 2. Các kỹ thuật điều độ

 Bài 3. Tắc nghẽn (Deadlock)
79
Bài 1. Định nghĩa và
phân loại tiến trình

1.Định nghĩa tiến trình
 Tr¹ng th¸i cña mét hÖ thèng tÝnh to¸n t¹i
mét thêi ®iÓm ®îc hiÓu lµ mét bé th«ng
tin cña tÊt c¶ c¸c thµnh phÇn trong hÖ
thèng tÝnh to¸n.
 Mét d·y chuyÓn tr¹ng th¸i cña hÖ thèng
tÝnh to¸n ký hiÖu lµ S0, S1,..Sn trong ®ã
S0 lµ tr¹ng th¸i ®Çu, Sn lµ tr¹ng th¸i kÕt
thóc th× ta gäi ®ã lµ mét tiÕn tr×nh.
80
1.Định nghĩa tiến trình
S
0
S
1
S
2
S
3
S
4
S
5
. . . . S
n-1
S
n
S
n+1
. . . .
A
B
ViÖc chuyÓn tr¹ng th¸i hÖ thèng tÝnh to¸n ph¶i dùa
vµo mét sù kiÖn ph¸t sinh trong hÖ thèng gäi lµ hiÖn
tîng ng¾t.
81
 Tiến trình là một chương trình đang
xử lý, sỡ hữu một con trỏ lệnh, tập
các thanh ghi và các biến.
 Để hoàn thành tác vụ của mình, một
tiến trình có thể cần đến một số tài
nguyên
• CPU, bộ nhớ chính, các tập tin và thiết
bị nhập/xuất.
82
Phân biệt khái niệm chương trình
và tiến trình
 Một chương trình là một thực thể thụ
động, chứa đựng các chỉ thị điều khiển
máy tính để tiến hành một tác vụ nào đó.
 Khi cho thực hiện các chỉ thị này, chương
trình chuyển thành tiến trình, là một thực
thể hoạt động, với con trỏ lệnh xác định
chỉ thị kế tiếp sẽ thi hành, kèm theo tập
các tài nguyên phục vụ cho hoạt động của
tiến trình.
83
Các trạng thái của tiến trình
 Trạng thái của tiến trình tại một thời điểm
được xác định bởi hoạt động hiện thời của
tiến trình tại thời điểm đó.
 nguyên nhân một tiến trình thay đổi trạng
thái :
• phải chờ một sự kiện nào đó xảy ra
• đợi một thao tác nhập/xuất hoàn tất
• buộc phải dừng hoạt động do đã hết thời gian
xử lý …
84
Các trạng thái của tiến trình
 Mới tạo : tiến trình đang được tạo lập.
 Running : các chỉ thị của tiến trình đang
được xử lý.
 Blocked : tiến trình chờ được cấp phát một
tài nguyên, hay chờ một
sự kiện xảy ra .
 Ready : tiến trình chờ được cấp phát CPU để
xử lý.
 Kết thúc : tiến trình hoàn tất xử lý.
 Tại một thời điểm, chỉ có một tiến trình có
thể nhận trạng thái running trên một bộ xử
lý bất kỳ. Trong khi đó, nhiều tiến trình có
thể ở trạng thái blocked hay ready
85
Cấu trúc dữ liệu khối quản lý
tiến trình
 Process Control Block (PCB)

86
Cấu trúc dữ liệu khối quản lý
tiến trình
 Định danh của tiến trình (1) : giúp phân biệt các tiến
trình
 Trạng thái tiến trình (2): xác định hoạt động hiện
hành của tiến trình.
 Ngữ cảnh của tiến trình (3): mô tả các tài nguyên
tiến trình đang trong quá trình, hoặc để phục vụ cho
hoạt động hiện tại, hoặc để làm cơ sở phục hồi hoạt
động cho tiến trình, bao gồm các thông tin về:
• Trạng thái CPU: nội dung các thanh ghi,
 quan trọng nhất là con trỏ lệnh IP lưu trữ địa
chỉ câu lệnh kế tiếp tiến trình sẽ xử lý.
 Các thông tin này cần được lưu trữ khi xảy ra
một ngắt, nhằm có thể cho phép phục hồi hoạt
động của tiến trình đúng như trước khi bị ngắt.

87
Ngữ cảnh của tiến trình (3)
• Bộ xử lý: dùng cho máy có cấu hình
nhiều CPU, xác định số hiệu CPU mà
tiến trình đang sử dụng.
• Bộ nhớ chính: danh sách các khối
nhớ được cấp cho tiến trình.
• Tài nguyên sử dụng: danh sách các
tài mguyên hệ thống mà tiến trình
đang sử dụng.
• Tài nguyên tạo lập: danh sách các
tài nguyên được tiến trình tạo lập.

88
Cấu trúc dữ liệu khối quản lý
tiến trình
 Thông tin giao tiếp (4): phản ánh các thông tin
về quan hệ của tiến trình với các tiến trình khác
trong hệ thống :
• Tiến trình cha: tiến trình tạo lập tiến trình này .
• Tiến trình con: các tiến trình do tiến trình này tạo
lập .
• Độ ưu tiên : giúp bộ điều phối có thông tin để lựa
chọn tiến trình được cấp CPU.
 Thông tin thống kê (5): thống kê về hoạt động
của tiến trình
• thời gian đã sử dụng CPU,
• thời gian chờ.
• Các thông tin này có thể có ích cho công việc đánh
giá tình hình hệ thống và dự đoán các tình huống
tương lai.
89
Process Control Block
 Process table
• Hệ điều hành lưu con trỏ tới từng PCB của
mỗi tiến trình trong một bảng tiến trình của
toàn hệ thống hoặc từng người dùng.
• Truy cập nhanh tới các PCB
• Khi một tiến trình bị dừng, hệ điều hành loại
bỏ tiến trình khỏi bảng tiến trình và giải
phóng tất cả các tài nguyên của tiến trình
90
3. Process Control Block
 Process table
91
Thao tác trên tiến trình
 tạo lập tiến trình (create)
 kết thúc tiến trình (destroy)
 tạm dừng tiến trình (suspend)
 tái kích hoạt tiến trình (resume)
 thay đổi độ ưu tiên tiến trình
92
2 - Ph©n lo¹i tiÕn tr×nh
 TiÕn tr×nh kÕ tiÕp
- Hai tiÕn tr×nh ®îc gäi lµ kÕ tiÕp nÕu
thêi ®iÓm b¾t ®Çu cña tiÕn t×nh
nµy lµ sau thêi ®iÓm kÕt thóc cña
tiÕn tr×nh kh¸c.
93
2 - Ph©n lo¹i tiÕn tr×nh
 TiÕn tr×nh song song:
Hai tiÕn tr×nh ®îc gäi lµ song song nÕu
thêi ®iÓm b¾t ®Çu cña tiÕn t×nh nµy
n»m gi÷a thêi ®iÓm b¾t ®Çu vµ kÕt thóc
cña tiÕn tr×nh kh¸c.
BEGIN
END
t
Begin
A
B
94
3 – Ph©n lo¹i tiÕn tr×nh song
song
A
B
C
Z
a
b
c
z
A
B
C
Z
a
b
c
z
I
I
A
B
C
Z
b
c
z
A
B
C
Z
a
b
c
z
Độc lập
Quan hệ
thông
tin
Phân
cấp
Đồng mức
95
Song song ®éc lËp
 Trong qu¸ tr×nh ho¹t ®éng kh«ng trao ®æi
th«ng tin víi nhau vµ kh«ng dïng chung tµi
nguyªn.
 ViÖc tæ chøc tiÕn tr×nh song song ®éc
lËp chñ yÕu lµ ®Ó b¶o vÖ th«ng tin, tiÕn
tr×nh nµy kh«ng x©m ph¹m ®Õn d÷ liÖu
vµ ch¬ng tr×nh cña tiÕn tr×nh kh¸c
96
Song song kh«ng ®éc lËp
 2 tiÕn tr×nh cã trao ®æi th«ng tin víi nhau
 Hai tiÕn tr×nh cã thÓ trao ®æi th«ng b¸o víi nhau. Mét
tiÕn tr×nh cã thÓ göi th«ng b¸o cho tiÕn tr×nh kh¸c.
Trong mét sè trêng hîp tiÕn tr×nh nhËn th«ng b¸o ph¶i
tr¶ lêi. §Ó trao ®æi th«ng tin gi÷a c¸c tiÕn tr×nh hÖ
thèng tæ chøc c¸c vïng nhí chung lµm hßm th. Mçi tiÕn
tr×nh khi cÇn nhËn th«ng b¸o cã thÓ kiÓm tra néi dung
håm th xem cã th«ng b¸o hay kh«ng vµ nÕu cã th× dµnh
cho tiÕn tr×nh nµo.
 C¸c tiÕn tr×nh cã thÓ trao ®æi th«ng tin víi nhau th«ng
qua c¸c c«ng cô cÊp cao – qua c¸c tiÕn tr×nh ®iÒu
khiÓn cña hÖ thèng, th«ng thêng lµ qua chong tr×nh
gi¸m s¸t (monitor). C«ng cô trao ®æi cÊp cao cho phÐp
chñ ®éng göi th«ng tin ®Õn tiÕn tr×nh nhËn vµo ®óng
thêi ®iÓm cÇn thiÕt
97
Song song cã chia sÎ tµi nguyªn
dïng chung

 Trong qu¸ tr×nh ho¹t ®éng mét tiÕn
tr×nh cã thÓ khëi t¹o mét tiÕn tr×nh
kh¸c ho¹t ®éng song song.
• TiÕn tr×nh khëi t¹o lµ tiÕn tr×nh
chÝnh,
• tiÕn tr×nh ®îc khëi t¹o lµ tiÕn tr×nh
con.
 Cã hai m« h×nh ph©n phèi tµi nguyªn :
• M« h×nh qu¶n lý tµi nguyªn tËp
trung : tµi nguyªn ®îc ph©n phèi trùc
tiÕp cho c¶ tiÕn tr×nh chÝnh vµ tiÕn
tr×nh con.
98
Song song cã chia sÎ tµi nguyªn
dïng chung
 M« h×nh qu¶n lý tµi nguyªn ph©n t¸n. Tµi
nguyªn ®îc ph©n phèi cho tiÕn tr×nh chÝnh,
tiÕn tr×nh con nhËn tµi nguyªn tõ tiÕn tr×nh
chÝnh.
 C¸ch ph©n phèi tµi nguyªn nµy ®¬n gi¶n nhng
kh«ng tèi u v× tµi nguyªn ph¶i ®îc ph©n phèi tõ
sím.
 Trong bÊt kú trêng hîp nµo, tiÕn tr×nh con
nhËn tµi nguyªn ë ®©u th× ph¶i tr¶ vÒ n¬i
nhËn ë ®ã. Do ®ã tiÕn tr×nh chÝnh ph¶i kÕt
thóc sau tiÕn tr×nh con.
 NÕu tiÕn tr×nh con cha kÕt thóc th× dïng c¸c
lÖnh nh WAIT, POST ®Ó t¹m ngõng tiÕn tr×nh
chÝnh, chê tiÕn tr×nh con kÕt thóc, nhËn l¹i tµi
nguyªn vµ tr¶ cho hÖ ®iÒu hµnh.

99
Song song ®ång møc
 hai tiÕn tr×nh lu©n phiªn sö dông mét tµi
nguyªn. Sau khi sö dông xong tµi nguyªn
chung, mét tiÕn tr×nh bµn giao l¹i tµi
nguyªn nµy cho tiÕn tr×nh kh¸c.
 B¶n th©n tiÕn tr×nh bµn giao tµi nguyªn
vÉn cã thÓ tiÕp tôc c¸c c«ng viÖc riªng
cña m×nh trong thêi gian chê nhËn l¹i tµi
nguyªn chung.
 VD : for i :=1 to 10 do write(i) ;
100
BIỂU DIỄN TIẾN TRÌNH
SONG SONG
 Giả thiết: S1, S2, . . ., Sn – các công
việc thực hiện song song (Trên 1
hoặc nhiều máy).

S
1
S
2
S
n
. . . .
101
BIỂU DIỄN
 2 cách mô tả phổ biến:
PARBEGIN COBEGIN
S
1
; S
1
;
S
2
; S
2
;

. . . . . . . . . . . . . .
S
n
S
n
PAREND; COEND;
Các công việc S
i
được mô tả chính xác
bằng một ngôn ngữ lập trình cụ thể.

102
3. Tµi nguyªn g¨ng
 Trong c¸c lo¹i tµi nguyªn cña hÖ thèng
tÝnh to¸n, dùa vµo ®Æc ®iÓm vÒ nguyªn
lý ho¹t ®éng, cã nh÷ng tµi nguyªn ®îc xem
lµ v« h¹n, h÷u h¹n tµi nguyªn phôc vô.
 VD : m¸y in ®îc coi lµ h÷u h¹n tµi nguyªn
phôc vô.
103
Tµi nguyªn g¨ng
 NÕu ë mét thêi ®iÓm nµo ®ã, 1 tµi nguyªn h÷u
h¹n kh¶ n¨ng phôc vô l¹i ®îc nhiÒu tiÕn tr×nh
truy cËp ®Õn th× ë thêi ®iÓm nµy, ta nãi r»ng
tµi nguyªn ë tr¹ng th¸i g¨ng.
 Mét d·y c¸c thêi ®iÓm g¨ng kÕ tiÕp nhau t¹o
thµnh ®o¹n g¨ng.
 Trong kho¶ng thêi gian tiÕn tr×nh sö dông tµi
nguyªn g¨ng th× ta gäi ®ã lµ tiÕn tr×nh g¨ng.
 mét tiÕn tr×nh cã thÓ chia lµm 2 ®o¹n : ®o¹n
g¨ng vµ ®o¹n cßn l¹i.
104

105
4. §iÒu ®é tiÕn tr×nh
 §¶m b¶o c¸c tiÕn t×nh qua ®o¹n g¨ng mét
c¸ch hîp lý nhÊt.
• T¹i mét thêi ®iÓm kh«ng cã qu¸ 1 tiÕn tr×nh
vµo ®o¹n g¨ng.
• kh«ng tiÕn tr×nh nµo chiÕm ®o¹n g¨ng trong
thêi gian v« h¹n.
• Kh«ng cã tiÕn tr×nh nµo ph¶i chê v« h¹n tríc
khi vµo ®o¹n g¨ng
 Cã 2 møc ®é ®iÒu ®é s¬ cÊp vµ cao cÊp.
106
§iÒu ®é tiÕn tr×nh
 ë møc s¬ cÊp
• c¸c lÖnh ®iÒu ®é ®îc ®Æt ngay trong ch¬ng
tr×nh ngêi dïng,
 §iÒu ®é cao cÊp
• lÖnh ®iÒu ®é ®Æt trong thµnh phÇn hÖ
®iÒu hµnh.
• ch¬ng tr×nh ®iÒu phèi c«ng viÖc vµ ®iÒu
phèi chÝnh
107
Bµi 2. C¸c kü thuËt ®iÒu ®é
1. Kü thuËt ®iÒu ®é s¬ cÊp :
• Kü thuËt khãa trong ( ®Ìn hiÖu)
• Kü thuËt kiÓm tra vµ x¸c lËp
• Kü thuËt semaphore
108
a/ Ph¬ng ph¸p khãa trong
 Nguyªn t¾c tæ chøc
• nÕu hai hay nhiÒu tiÕn tr×nh cïng ®Þnh ghi vµo mét
®Þa chØ nµo ®ã cña bé nhí trong th× s¬ ®å kü thuËt
chØ cho phÐp mét tiÕn tr×nh lµm viÖc, cßn c¸c tiÕn
tr×nh kh¸c ph¶i chê
• Mçi tiÕn tr×nh sö dông mét byte trong vïng bé nhí
chung ®Ó lµm khãa.
• Mçi khi vµo ®îc ®o¹n g¨ng byte nµy ®îc g¸n gi¸ trÞ
b»ng 1
• khi sö dông xong tµi nguyªn g¨ng, g¸n 0 vµo byte ®¸nh
dÊu
109
 §Ó chuÈn bÞ vµo ®o¹n g¨ng mçi tiÕn
tr×nh ph¶i kiÓm tra byte khãa cña c¸c
tiÕn tr×nh kh¸c
 NÕu cã byte nµo ®ã chøa 1 th× ph¶i chê
cho ®Õn khi byte ®ã nhËn gi¸ trÞ 0 míi
vµo ®o¹n g¨ng
110
SƠ ĐỒ NGUYÊN LÝ
Var c1, c2:Integer;
BEGIN c1:=0; c2 := 0;
PARBEGIN
TT1: Repeat TT1: TT2:Repeat
c1 := 1; c2 := 1;
While c2 <> 0 do ; While c1 <> 0 do ;
{Đoạn găng TT1} {Đoạn găng TT1}
c1 := 0; c2 := 0;
{Phần còn lại của TT1} {Phần còn lại của TT1}
Until false; Until false
PAREND
END.
Có khả năng cả 2 TT cùng chờ đợi trước đoạn găng!
Xác lập
Kiểm tra
111
SƠ ĐỒ NGUYÊN LÝ
 Nguyên nhân không đáp ứng yêu cầu
điều đô:
• Kiểm tra và Xác lập – 2 công việc riêng
biệt,
• Khoảng cách thời gian giữa 2 công việc,
• Giữa 2 công việc: Processor có thể bị
chuyển sang công việc khác.
 1968: Dekker công bố giải thuật điều
độ, kết nối Kiểm tra và Xác lập thành
một khối.
112
Giải thuật Dekker
Var c1,c2,tt: Integer;
BEGIN c1 := 0; c2 := 0; tt := 1;
PARBEGIN
TT1: Repeat
c1 := 1;
While c2 = 1 do
if tt = 2 then
begin c1 := 0;
while tt = 2 do ;
c1 := 1
end;
{ Đoạn găng TT 1}
c1 := 0; tt := 2;
{ Phần còn lại của TT 1}
Until false;
TT2: Repeat
c2 := 1;
While c1 = 1 do
if tt = 1 then
begin c2 := 0;
while tt = 1 do ;
c2 := 1
end;
{ Đoạn găng TT 2}
c2 := 0; tt := 1;
{ Phần còn lại của TT 2}
Until false
PAREND
END.
113
Đánh giá
 ¦u ®iÓm : kh«ng ®ßi hái c«ng cô ®Æc biÖt.
=> cã thÓ tæ chøc b»ng ng«n ng÷ bÊt kú vµ cho
lo¹i m¸y tïy ý.
 Nhîc ®iÓm :
• lµ qu¸ phøc t¹p, ®Æc biÖt khi sè tiÕn t×nh vµ sè ®o¹n
g¨ng t¨ng.
• tríc khi vµo ®o¹n g¨ng tiÕn tr×nh ph¶i chê ®îi tÝch
cùc.
 Nguyên nhân:
• Không cục bộ hoá biến trong tiến trình,
• Mỗi TT phải tự Kiểm tra và xác lập
114
b.Ph¬ng ph¸p kiÓm tra vµ x¸c lËp
(TEST and SET)
 Cơ sở: dùng lệnh máy TS có từ các
máy tính thế hệ III trở đi.
TS
(Test and Set)
Làm việc với
2 biến
Thực hiện:
- 2 công việc,
-Liên tục
Biến chung
G
Biến riêng
L ž TS(L)
L := G;
G := 1;
115
TEST AND SET
 Sơ đồ điều độ: Var l1, l2, g: Integer;
BEGIN
g := 0;
PARBEGIN
TT1: Repeat
l1 := 1;
While l1 = 1 do TS(l1);
{Đoạn găng TT1}
g := 0;
{Phần còn lại của TT1}
Until false;
TT2: Repeat
l2 := 1;
While l2 = 1 do TS(l2);
{Đoạn găng TT2}
g := 0;
{Phần còn lại của TT2}
Until false
PAREND
END.
g
l1 l2
0 1
1 0 1
1
1
1
1
1 1
0 1
0
1 1
1
1
1
1
1
116
Đặc điểm:
 Đơn giản, độ phức tạp không tăng
khi số tiến trình tăng. Nguyên nhân:
Cục bộ hoá biến và tính liên tục của
KT & XL,
 Tồn tại hiện tượng chờ đợi tích cực.
Nguyên nhân: Mỗi TT phải tự đưa
mình vào đoạn găng.

117
TEST and SET
Đặc điểm:
 Đơn giản, độ phức tạp không tăng
khi số tiến trình tăng. Nguyên nhân:
Cục bộ hoá biến và tính liên tục của
KT & XL,
 Tồn tại hiện tượng chờ đợi tích cực.
Nguyên nhân: Mỗi TT phải tự đưa
mình vào đoạn găng.


118
TEST and Set
 Trong trêng hîp cã nhiÒu tiÕn tr×nh cïng
chê khã x¸c ®Þnh ®îc tiÕn tr×nh nµo sÏ
vµo ®îc ®o¹n g¨ng sím nhÊt. phô thuéc
vµo thêi ®iÓm gi¶i phãng tµi nguyªn g¨ng
cña tiÕn tr×nh ®ang sö dông.
 Gi¶i thuËt nµy chØ thÝch hîp khi biÕt
ch¾c ch¾n thêi gian chê ®îi lµ rÊt nhá
119
KỸ THUẬT ĐÈN BÁO
 Dijsktra đề xuất 1972.
 Đề xuất:
•Mỗi tài nguyên găng được đặt tương
ứng với một biến nguyên đặc biệt S
(Semaphore),
•Ban đầu: S ← Khả năng phục vụ t.ng.
găng,
•- 2 lệnh máy P(S) và V(S) thay đổi giá
tri của S, mỗi lệnh làm 2 công việc và
làm một cách liên tục.
120
KỸ THUẬT ĐÈN BÁO
 Nội dung lệnh P(S):
* Dec(s);
** If S < 0 then Đưa TT đi xếp hàng.

 Nội dung lệnh V(S):
* Inc(s);
** If S s 0 then Kích hoạt TT đang xếp hàng.

121
KỸ THUẬT ĐÈN BÁO
 Thực hiện:
• Vì nhiều lý do, không thể chế tạo MT với 2
lệnh trên,
• Lệnh P(S), V(S)  thủ tục tương ứng.
 Đảm bảo tính liên tục:
P(S)
V(S)
Xử lý Xử lý
Phong toả
Processor
Giải
phóng
Processor
122
KỸ THUẬT ĐÈN BÁO
 Sơ đồ điều độ:

Var s:Integerl
BEGIN
s := 1;
PARBEGIN
TT1:Repeat
P(s);
{Đoạn găng TT1}
V(s);
{Phần còn lại TT1}
Until false;
TT2:Repeat
P(s);
{Đoạn găng TT2}
V(s);
{Phần còn lại TT2}
Until false
PAREND
END.
S=1
0
-1
0
-1
0
TT1 vào
TT2 chờ
TT2 vào
TT1 chờ
TT1 vào
Var s:Integerl
BEGIN
s := 1;
PARBEGIN
TT1:Repeat
P(s);
{Đoạn găng TT1}
V(s);
{Phần còn lại TT1}
Until false;
TT2:Repeat
P(s);
{Đoạn găng TT2}
V(s);
{Phần còn lại TT2}
Until false
PAREND
END.
S=1
0
-1
0
-1
0
TT1 vào
TT2 chờ
TT2 vào
TT1 chờ
TT1 vào
Var s:Integerl
BEGIN
s := 1;
PARBEGIN
TT1:Repeat
P(s);
{Đoạn găng TT1}
V(s);
{Phần còn lại TT1}
Until false;
TT2:Repeat
P(s);
{Đoạn găng TT2}
V(s);
{Phần còn lại TT2}
Until false
PAREND
END.
S=1
0
-1
0
-1
0
TT1 vào
TT2 chờ
TT2 vào
TT1 chờ
TT1 vào
123
Semaphore nhị phân:
 Phần lớn các tài nguyên găng có khả
năng phục vụ = 1  S nhị phân.
 P(S):
If s = 0 then Xếp_hàng Else s := 0;
 V(S):
If dòng_xếp_hàng = NULL then
Kích_hoạt
Else s := 1;
Vấn đề đặt tên các thủ tục P và V.
KỸ THUẬT ĐÈN BÁO
124
Semaphore
 ĐÆc ®iÓm: mçi tiÕn tr×nh chØ ph¶i kiÓm
tra quyÒn vµo ®o¹n g¨ng mét lÇn
 sau ®ã hoÆc nã ®îc vµo ®o¹n g¨ng
hoÆc ph¶i xÕp hµng chê.
 Khi chê tiÕn t×nh kh«ng ph¶i lµm g× hÕt.
Mét tiÕn tr×nh nµo ®ã kh¸c, sau khi ra
khái ®o¹n g¨ng sÏ “®¸nh thøc” tiÕn tr×nh
chê ®Î tiÕn tr×nh nµy vµo ®o¹n g¨ng.
125
2. C«ng cô ®iÒu ®é cÊp cao
 C«ng cô ®iÒu ®é cÊp cao n»m ngoµi tiÕn
tr×nh ngêi sö dông
 Ngêi sö dông kh«ng biÕt tµi nguyªn g× vµ
khi nµo thuéc lo¹i g¨ng => HÖ thèng ph¶i
cã tr¸ch nhiÖm kiÓm tra. nhËn biÕt vµ
®iÒu ®é.
 Dïng ch¬ng tr×nh monitor (th ký) ®Ó ®iÒu
®é
126
Monitor
 Cấu trúc đặc biệt bao gồm các thủ tục, các
biến và cấu trúc dữ liệu có các thuộc tính :
 Các biến và cấu trúc dữ liệu bên trong
monitor chỉ có thể được thao tác bởi các
thủ tục định nghĩa bên trong monitor đó.
(encapsulation).
 Tại một thời điểm, chỉ có một tiến trình
duy nhất được hoạt động bên trong một
monitor (mutual exclusive).

127
Monitor
 Trong một monitor, có thể định nghĩa các biến
điều kiện và hai thao tác kèm theo là Wait và
Signal như sau : gọi c là biến điều kiện được
định nghĩa trong monitor:
 Wait(c): chuyển trạng thái tiến trình gọi
sang blocked , và đặt tiến trình này vào
hàng đợi trên biến điều kiện c.
 Signal(c): nếu có một tiến trình đang bị
khóa trong hàng đợi của c, tái kích hoạt tiến
trình đó, và tiến trình gọi sẽ rời khỏi
monitor.

128
Monitor

129
Monitor
 Mçi thêi ®iÓm chØ cã mét tiÕn tr×nh lµm viÖc
®îc víi Monitor.
 Monitor là một tµi nguyên l«gic tæng qu¸t vµ lµ
tµi nguyªn g¨ng.
 Mçi lÇn muèn sö dông tµi nguyªn míi hÖ thèng
g¾n Monitor vµo tiÕn tr×nh.
• NÕu cã thÓ sö dông tµi nguyªn th× tiÕn tr×nh ®îc ®a
vµo dßng xÕp hµng chê.
 Khi tµi nguyªn g¨ng ®îc gi¶i phãng, Monitor nhËn
®iÒu khiÓn vµ bËt tÝn hiÖu gi¶i phãng tiÕn
tr×nh khái tr¹ng th¸i chê.
130
Monitor
 Monitor kh«ng ph¶i lµ tiÕn tr×nh mµ lµ mét
®èi tîng thô ®éng.
 Monitor ®îc kÝch ho¹t khi cã tiÕn tr×nh
cÇn sö dông c«ng cô nµy.
• Th«ng thêng Monitor ®îc hÖ thèng kÝch ho¹t
khi ph©n phèi tµi nguyªn. C¸c tiÕn tr×nh øng
dông kÝch ho¹t Monitor ®Ó tæ chøc ®iÒu ®é
khi møc u tiªn cña nã kh«ng cho phÐp tiÕn
tr×nh trùc tiÕp lµm viÖc víi c¸c thñ tôc P(S) vµ
V(S)
131
Bµi 3. Tắc nghẽn (Deadlock)
 1. §Þnh nghÜa
 2. §iÒu kiÖn x¶y ra bÕ t¾c
 3. Phßng ngõa bÕ t¾c
 4. Dù b¸o vµ tr¸nh bÕ t¾c
 5. NhËn biÕt vµ kh¾c phôc
132
1. §Þnh nghÜa

 Mét tËp hîp c¸c tiÕn tr×nh ®îc ®Þnh
nghÜa ë trong t×nh tr¹ng t¾c nghÏn khi mçi
tiÕn tr×nh trong tËp hîp ®Òu chê ®îi mét
sù kiÖn mµ chØ cã mét tiÕn tr×nh kh¸c
trong tËp hîp míi cã thÓ ph¸t sinh ®îc.
133

134
135
2.§iÒu kiÖn x¶y ra bÕ t¾c
 4 điều kiện cần có thể làm xuất hiện tắc
nghẽn:
 Có sử dụng tài nguyên không thể chia sẻ
(Mutual exclusion): Mỗi thời điểm, một tài
nguyên không thể chia sẻ được hệ thống
cấp phát chỉ cho một tiến trình , khi tiến
trình sử dụng xong tài nguyên này, hệ
thống mới thu hồi và cấp phát tài nguyên
cho tiến trình khác.
136
 Sự chiếm giữ và yêu cầu thêm tài nguyên
(Wait for): Các tiến trình tiếp tục chiếm
giữ các tài nguyên đã cấp phát cho nó
trong khi chờ được cấp phát thêm một số
tài nguyên mới.
 Không thu hồi tài nguyên từ tiến trình
đang giữ chúng (No preemption): Tài
nguyên không thể được thu hồi từ tiến
trình đang chiếm giữ chúng trước khi tiến
trình này sủ dụng chúng xong.
137
 Tồn tại một chu kỳ trong đồ thị cấp
phát tài nguyên ( Circular wait): có ít
nhất hai tiến trình chờ đợi lẫn nhau :
tiến trình này chờ được cấp phát tài
nguyên đang bị tiến trình kia chiếm
giữ và ngược lại.
 Khi có đủ 4 điều kiện này, thì tắc
nghẽn xảy ra.
138
Các phương pháp xử lý tắc nghẽn
3 hương tiếp cận để xử lý tắc nghẽn :
 Sử dụng một quy tắc (protocol) để
bảo đảm rằng hệ thống không bao
giờ xảy ra tắc nghẽn.
 Cho phép xảy ra tắc nghẽn và tìm
cách sữa chữa tắc nghẽn.
 Hoàn toàn bỏ qua việc xử lý tắc
nghẽn, xem như hệ thống không bao
giờ xảy ra tắc nghẽn.
139
3. Phßng ngõa bÕ t¾c
 Phßng ngõa bÕ t¾c : ®¶m b¶o sao cho kh«ng
®ång thêi x¶y ra bèn ®iÒu kiÖn g©y bÕ t¾c.
 kh«ng cÇn ph¶i t¸c ®éng ®ång thêi vµo c¶ bèn
®iÒu kiÖn.
 tïy t×nh h×nh cô thÓ t¸c ®éng nhãm ®iÒu kiÖn
nµy hay nhãm kh¸c.
 ViÖc phßng ngõa bÕ t¾c lµ rÊt tèn kÐm-> chØ
¸p dông ®èi víi c¸c hÖ thèng cã x¸c xuÊt xÈy ra
bÕ t¾c lín vµ tæn thÊt do bÕ t¾c g©y ra còng
rÊt lín
140
Phòng ngừa
 Tài nguyên không thể chia sẻ :
• gần như không thể tránh được điều kiện
này vì bản chất tài nguyên gần như cố
định.
• Tuy nhiên đối với một số tài nguyên có
thể dùng các cơ chế spooling để biến đổi
thành tài nguyên có thể chia sẻ.
141
Phòng ngừa
 cầu thêm một tài nguyên thì nó không
chiếm giữ các tài nguyên khác. Có thể áp
đặt một trong hai cơ chế truy xuất sau :
• Tiến trình phải yêu cầu tất cả các tài nguyên
cần thiết trước khi bắt đầu xử lý
• Khi tiến trình yêu cầu một tài nguyên mới và bị
từ chối, nó phải giải phóng các tài nguyên
đang chiếm giữ , sau đó lại được cấp phát trở
lại cùng lần với tài nguyên mới.
142
Phòng ngừa
 Không thu hồi tài nguyên:
• cho phép hệ thống được thu hồi tài
nguyên từ các tiến trình bị khoá và cấp
phát trở lại cho tiến trình khi nó thoát
khỏi tình trạng bị khóa.
• Tuy nhiên với một số loại tài nguyên,
việc thu hồi sẽ rất khó khăn vì vi phạm
sự toàn vẹn dữ liệu
143
Phòng ngừa
 Đặt điểm gác:
• Cố định trong CT,
• Theo tác nhân ngoài
(vd: thời gian)
 Ứng dụng:
• Hiệu chỉnh CT,
• Thực hiện các CT dài,
• Với toàn bộ hệ thống: Hibernating.



Đ
i

m

g
á
c
Dump
Thời điểm
ngắt CT
Dump
Điểm khôi phục
thực hiện CT
144
Phòng ngừa
 Tồn tại một chu kỳ: tránh tạo chu kỳ
trong đồ thị bằng cách cấp phát tài
nguyên theo một sự phân cấp như sau :
• gọi R = {R1, R2,...,Rm} là tập các loại tài
nguyên.
• Các loại tài nguyên được phân cấp từ 1-N.
• Ví dụ : F(đĩa) = 2, F(máy in) = 12
• Các tiến trình khi yêu cầu tài nguyên phải tuân
thủ quy định : khi tiến trình đang chiếm giữ tài
nguyên Ri thì chỉ có thể yêu cầu các tài nguyên
Rj nếu F(Rj) > F(Ri).
145
4.DỰ BÁO VÀ TRÁNH
 Mỗi lần phân phối một tài nguyên:
kiểm tra xem việc phân phối này có
thể dẫn đến nguy cơ bế tắc cho một số
tiến trình nào đó hay không và là
những tiến trình nào?
 Điều kiện môi trường:
• Xác xuất xẩy ra bế tắc nhỏ,
• Tổn thất (nếu có bế tắc) – lớn.
146
DỰ BÁO VÀ TRÁNH
 Giải thuật tiêu biểu: “Người chủ
ngân hàng”.
 Giả thiết:
• Xét 1 loại tài nguyên, số lượng  tstb,
• n tiến trình,
• Max
i
,
• Ffoi
i
,
• Kt
i
– boolean,
 True – chắc chắn kết thúc được,
 False – trong trường hợp ngược lại.
147
DỰ BÁO VÀ TRÁNH
ts := tstb;
{Thống kê}
For i := 1 to n do
begin
clai[i] := max[i] - ffoi[i];
ts := ts - ffoi[i];
kt[i] := false
end;
{Đánh giá}
Flag := true;
While flag do
begin flag := false;
for i := 1 to n do
if not kt[i] and (clai[i] <= ts) then
begin
kt[i] := true;
ts := ts + ffoi[i];
flag := true
end
end;
If ts <> tstb then Kh_An_Toan;
148
DỰ BÁO VÀ TRÁNH
 Tiêu chuẩn dự báo: ngặt,
 Dựa vào Kt
i
 biết các TT có nguy cơ bế
tắc,
 Xử lý trước khi TT bị bế tắc.
 Đặc điểm giải thuật:
• Đơn giản,
• Input: Max
i
– tin cậy,
• Mỗi loại tài nguyên · thủ tục,
• Mỗi lần phân phối  kiểm tra.
149
5.NHẬN BIẾT VÀ KHẮC PHỤC
 Định kỳ kiểm tra các TT chờ đợi để
phát hiện bế tắc,
 Điều kiện áp dụng:
• Xác xuất xẩy ra bế tắc bé,
• Tổn thất (nếu có bế tắc) – bé.
 Áp dụng với phần lớn OS trong thực
tế,
 Do OP đảm nhiệm.

150
Kh¾c phôc
2 lựa chọn chính để hiệu chỉnh tắc
nghẽn:
 Đình chỉ hoạt động của các tiến
trình liên quan
• dựa trên việc thu hồi lại các tài nguyên
của những tiến trình bị kết thúc
 Thu hồi tài nguyên
151
Đình chỉ hoạt động của các tiến
trình liên quan
 tất cả các tiến trình trong tình trạng tắc
nghẽn
 từng tiến trình liên quan cho đến khi
không còn chu trình gây tắc nghẽn : chọn
được tiến trình thích hợp
• độ ưu tiên,
• thời gian đã xử lý,
• số lượng tài nguyên đang chiếm giữ ,
• số lượng tài nguyên yêu cầu
• ...
152
Thu hồi tài nguyên

Cần giải quyết 3 vấn đề sau:
 Chọn lựa một nạn nhân: tiến trình nào sẽ
bị thu hồi tài nguyên ? và thu hồi những
tài nguyên nào ?
 Trở lại trạng thái trước tắc nghẽn: khi thu
hồi tài nguyên của một tiến trình, cần phải
phục hồi trạng thái của tiến trình trở lại
trạng thái gần nhất trước đó mà không
xảy ra tắc nghẽn.
 Tình trạng « đói tài nguyên »: làm sao
bảo đảm rằng không có một tiến trình
luôn luôn bị thu hồi tài nguyên ?
153
Bài 4. Luồng (Thread)
1.Định nghĩa
 Quá trình nhẹ (lightweight process – Lwp)
 Đơn vị cơ bản của việc sử dụng CPU
 Mỗi tiểu trình xử lý tuần tự đoạn code của
nó,
 Gồm:
• Định danh luồng (thread ID)
• Bộ đếm chương trình
• Tập thanh ghi
• Ngăn xếp

154
 Các tiểu trình chia sẻ CPU với nhau
giống như cách chia sẻ giữa các tiến
trình: một tiểu trình xử lý trong khi
các tiểu trình khác chờ đến lượt.
 Một tiểu trình cũng có thể tạo lập các
tiến trình con, và nhận các trạng thái
khác nhau như một tiến trình thật
sự.
 Một tiến trình có thể sỡ hữu nhiều
tiểu trình.
155
 Chia sẻ với các luồng khác thuộc
cùng một tiến trình
• Code
• Data
• OS resource
 Tập tin, tín hiệu…
 Nếu tiến trình có nhiều luồng điều
khiển, nó có thể thực hiện nhiều hơn
một tác vụ tại một thời điểm
156
Tiến trình đơn luồng và đa luồng
157
 Các tiến trình hoàn toàn độc lập với nhau,
chỉ có thể liên lạc thông qua các cơ chế
thông tin giữa các tiến trình mà hệ điều
hành cung cấp.
 các tiểu trình trong cùng một tiến trình lại
chia sẻ một không gian địa chỉ chung ->
các tiểu trình có thể chia sẻ các biến toàn
cục của tiến trình.
 Một tiểu trình có thể truy xuất đến cả các
stack của những tiểu trình khác trong
cùng tiến trình.
 không có cơ chế bảo vệ
158
Lợi ích
4 loại:
 Sự đáp ứng (Responsiveness) : cho
phép một chương trình tiếp tục chạy
thậm chí nếu một phần của nó bị
khóa hay đang thực hiện một thao
tác dài -> gia tăng sự đáp ứng với
người dùng.
• VD: trình duyệt web đáp ứng bằng 1
luồng
ảnh được tải bằng 1 luồng
159
 Chia sẻ tài nguyên (Resource Sharing) :
• Mặc định chia sẻ: bộ nhớ và tài nguyên của
tiến trình
• Cho phép ứng dụng có nhiều hoạt động trong
cùng không gian địa chỉ.
 Kinh tế (Economic): tốn ít thể gian để tạo
và quản lý luồng hơn tiến trình
• VD: Solaris 2: tạo quá trình chậm hơn 30 lần
so với luồng
• chuyển ngữ cảnh chậm hơn 5 lần
160
 Sử dụng kiến trúc đa xử lý (Utilization of
MP Architectures):
• Tiến trình đơn luồng chỉ chạy trên một CPU
• Mỗi luồng thực thi song song trên một bộ xử lý
khác nhau -> gia tăng tính đồng hành
• Trong kiến trúc đơn xử lý: CPU chuyển đổi
qua lại giữa các luồng nhanh -> tạo ảo giác
của song song

161
2.User thread và kernel thread
User thread:
 Được hỗ trợ và cài đặt bởi thư viện luồng ở
mức người dùng.
 Thư viện hỗ trợ:Tạo luồng, lập lịch, quản
lý luồng
 Được khởi tạo và quản lý nhanh, không có
sự can thiệp của hệ thống
 Lời gọi hệ thống -> gây nghẽn hệ thống
 Posix Pthreads, Mach C-thread, win32
thread


162
 Kernel thread
 Hỗ trợ trực tiếp bởi hệ điều hành
• Tạo luồng, lập lịch và quản lý
 Được tạo và quản lý chậm hơn user
thread
 Windows NT, windows 2000,solaris
2, Tru64 Unix –hỗ trợ kernel thread
163
3. Mô hình đa luồng
 3 mô hình:
• Nhiều - một
• Một - một
• Nhiều - nhiều
164
Mô hình nhiều- một
 Ánh xạ nhiều luồng
cấp user tới một
luồng cấp nhân.
 Quản lý luồng thực
hiện trong không
gian người dùng
 Không thể chạy
song song trên
nhiều bộ xử lý
165
Mô hình một – một
 Ánh xạ một luồng người
dùng tới một luồng nhân
 Một luồng khác chạy khi
một luồng khác thực hiện
lời gọi hệ thống gây nghẽn
 Nhiều luồng chạy song
song trên các bộ xử lý
khác nhau
 Chi phí cho việc tạo luồng
nhân ảnh hưởng hoạt động
của OS -> giới hạn số
luồng nhân
 Windows NT, windows
2000 và OS/2
166
Mô hình nhiều – nhiều
 Đa hợp nhiều user
thread tới số lượng <
hoặc = các kernel
thread
 Một ứng dụng có thể
được cấp nhiều luồng
nhân khi ở trong hệ
thống nhiều bộ xử lý
 Người dùng có thể tạo
nhiều luồng, các luồng
nhân tương ứng có
thể chạy song song
trên bộ đa xử lý
 Solaris 2 và Tru64
Unix
167
Pthreads
 Tham chiếu tới
chuẩn POSIX (IEEE
1003.1c) định
nghĩa API cho việc
tạo và đồng bộ
luồng.
 Đặc tả cho hành vi
luồng – hệ điều
hành khác nhau cài
đặt khác nhau

168
169
170
171
Luồng Solaris 2
 Ấn bản Unix hỗ trợ luồng tại cấp độ nhân
và cấp độ người dùng
 Pthread API
 Giữa user và kernel thread là một Lwp
 Mỗi tiến trình chứa ít nhất một lwp
 Thư viện luồng đa hợp user thread trên
các lwp
 Mỗi lwp có một kernel thread
 Kernel thread hực thi tất cả thao tác trong
nhân.
 Mô hình nhiều nhiều
172
Chƣơng 3: Quản lý Processor
 Ch¬ng tr×nh muèn thùc hiÖn th× tríc tiªn
ph¶i n¹p vµo bé nhí.
 Nhng nÕu ch¬ng tr×nh kh«ng cã quyÒn
sö dông processor th× vÉn kh«ng thùc
hiÖn ®îc.
 processor cã thÓ ®îc xÐt nh lµ tµi nguyªn
phôc vô cho viÖc thùc hiÖn ch¬ng tr×nh.

173
1. Processor l« gÝc vµ Processor
vËt lý.
 ChÕ ®é ®a ch¬ng tr×nh ph©n chia thêi gian mçi
ngêi sö dông cã c¶m gi¸c nh chØ cã mét m×nh
m×nh lµ ngêi duy nhÊt sö dông toµn bé hÖ
thèng.
 TÊt c¶ c¸c hÖ ®iÒu hµnh thùc hiÖn song song
®Òu do mét processor cña hÖ thèng –
processor vËt lý ®iÒu khiÓn.
 ngêi sö dông ®¸nh gi¸ ho¹t ®éng processor trªn
c¬ së quan s¸t tiÕn tr×nh cña m×nh thùc hiÖn ->
Processor ngêi sö dông quan s¸t vµ ®¸nh gi¸ :
processor l«gic.
 processor logic g¾n víi tiÕn tr×nh.
174
1. Processor l« gÝc vµ Processor
vËt lý.
TT
3
TT
1
TT
2
t
0 t
1
t
2
t
3
t
4
t
5
t
6
t
t
USER 3ž LP3
USER 1ž LP1
USER 2ž LP2
175
1. Processor l« gÝc vµ Processor
vËt lý.
 ChÕ ®é xö lý kÕ tiÕp ®¬n ch¬ng tr×nh:
• mét tiÕn tr×nh ®îc thùc hiÖn xong míi khëi t¹o vµ thùc hiÖn tiÕn
tr×nh kh¸c -> cã thÓ ®ång nhÊt processor logic víi processor vËt
lý.
• kÐm hiÖu qu¶ v× tµi nguyªn processor bÞ l·ng phÝ nhiÒu.
 N©ng cao hiÖu qu¶ khai th¸c cña toµn hÖ thèng nãi
chung:
• ph©n chia bé nhí
• ph©n phèi thêi gian cña processor cho nhiÒu tiÕn tr×nh ®ång
thêi tån t¹i.
 §èi víi mçi tiÕn tr×nh, tèc ®é thùc hiÖn sÏ bÞ gi¶m :
• thêi gian truy nhËp bé nhí t¨ng
• kh«ng ®îc quyÒn sö dông processor liªn tôc.
 §èi víi ngêi sö dông: thay ®æi t©m lý khai th¸c hÖ thèng.

176
C¸c vÊn ®Ò cÇn ph¶i gi¶i quyÕt
®èi víi c¸c hÖ thèng nhiÒu
processor

 a)Sè lîng processor logic nªn t¹o ra lµ bao nhiªu?
 b) §é dµi kho¶ng thêi gian g¾n liªn tôc
processor vËt lý cho mét processor l«gic lµ bao
nhiªu th× hîp lý?
 c)Sau khi mét processor l«gic hÕt quyÒn sö
dông processor vËt lý th× cÇn chän tiÕn tr×nh
nµo ®Ó ph©n phèi processor vËt lý?
 C¸c c¸ch gi¶i quyÕt kh¸c nhau ba vÊn ®Ò nªu
trªn t¹o ra c¸c chiÕn lîc ®iÒu ®é tiÕn tr×nh kh¸c
nhau.
177
2 - C¸c tr¹ng th¸i tiÕn tr×nh
TT
Sẵn sàng
TT
Thực hiện
TT
Chờ đợi
KT CT

ChÕ ®é ph©n chia thêi
gian
178
 Mçi thêi ®iÓm chØ cã mét tiÕn tr×nh
giµnh ®îc processor ®Ó thùc hiÖn lÖnh
cña m×nh.
 TiÕn tr×nh nµy n»m trong tr¹ng th¸i thùc
hiÖn.
 TiÕn tr×nh ®îc ph©n phèi ®Çy ®ñ mäi tµi
nguyªn chØ thiÕu processor-> tr¹ng th¸i
s½n sµng.
179
 NÕu tiÕn tr×nh kh«ng thÓ thùc hiÖn tiÕp ®îc v× thiÕu mét vµi ®iÒu
kiÖn nµo ®ã th× nã n»m ë tr¹ng th¸i bÞ ng¾t.
 TiÕn tr×nh kh«ng thÓ s½n sµng thùc hiÖn ®îc v× sù kiÖn mµ nã
cÇn cha x¶y ra
• tiÕn tr×nh gäi tíi mét m«®ul nhng m« ®un nµy cha ®îc n¹p vµ
®Þnh vÞ trong bé nhí
• tiÕn tr×nh ®ang thùc hiÖn trao ®æi vµo ra vµ thiÕt bÞ vµo ra
cha b¸o lµ ®· xong phÐp trao ®æi chØ ®Þnh.
 §Ó tiÕn tr×nh bÞ ng¾t kh«ng chiÕm bé nhí v« Ých
• trong mét sè trêng hîp cã thÎ ®a tiÕn tr×nh ra bé nhí ngoµi.
• Mét sè hÖ thèng thËm chÝ cßn chuyÓn bít tiÕn tr×nh s½n sµng
ra bé nhí ngoµi vµ nh vËy ®· chuyÓn nã sang tr¹ng th¸i bÞ ng¾t.
 Nh×n toµn côc hÖ thèng : ë mçi thêi ®iÓm chØ cã kh«ng qu¸ mét
tiÕn tr×nh n»m trong tr¹ng th¸i thùc hiÖn, cßn c¸c tr¹ng th¸i s½n sµng
vµ bÞ ng¾t cã thÓ cã nhiÒu tiÕn tr×nh.
180
 Mçi tiÕn tr×nh, dï ®ang ë tr¹ng th¸i nµo ®i n÷a
còng cã lóc nhËn ®Çy ®ñ mäi tµi nguyªn, cã thÓ
chØ trõ processor vËt lý. Nh vËy nã ®· cã mét
processor logic.
 Giai ®o¹n cung cÊp vµ g¸n tµi nguyªn cho tiÕn
tr×nh kÓ c¶ processor l«gic gäi lµ khëi t¹o tiÕn
tr×nh.
 Trong chÕ ®é ph©n chia thêi gian, tiÕn tr×nh ®-
îc khëi t¹o l¹i mçi lÇn ngêi sö dông ®îc phÐp
giao tiÕp víi hÖ thèng. TiÕn tr×nh nµy lËp tøc ®-
îc chuyÓn sang tr¹ng th¸i s½n sµng.
181
 Trong chÕ ®é xö lý theo l«, c«ng viÖc ®îc tæ choc xÕp hµng chê
nhËp vµ khëi t¹o, thËm chÝ cã khi ®· ®îc ph©n phèi ®ñ mäi tµi
nguyªn chØ cßn chê nhËn processor l«gic.
 Gi¶ thiÕt mçi c«ng viÖc trong chÕ ®é xö lý l« chØ t¬ng øng víi mét
tiÕn tr×nh.
 §Õn mét lóc nµo ®ã c«ng viÖc ®îc chän, tøc lµ hÖ thèng tiÕn hµnh
ph©n phèi tµi nguyªn cho nã. Mét tiÕn tr×nh míi ®îc khëi t¹o vµ ®îc
chuyÓn tr¹ng th¸i s½n sµng.
 Khi tiÕn tr×nh thùc hiÖn xong hÖ thèng sÏ lÊy l¹i processor l«gic vµ
tiÕn tr×nh kh«ng cßn tån t¹i n÷a. §Ó hoµn tÊt mäi xö lý theo ®óng
yªu cÇu ngêi sö dông c«ng viÖc ®îc chuyÓn sang xÕp hµng chê vÏ
s¬ ®å trªn m¸y vÏ hay truyÒn th«ng tin liªn l¹c ®êng dµi. TiÕn tr×nh ë
chÕ ®é ph©n chia thêi gian ra th¼ng khái hÖ thèng tõ tr¹ng th¸i thùc
hiÖn b»ng c¸ch tr¶ l¹i hÖ thèng processor l«gic.
182
TiÕn tr×nh cã thÓ rêi bá tr¹ng th¸i
thùc hiÖn v× mét trong ba lý do:
 TiÕn tr×nh ®· hoµn thµnh mäi viÖc cÇn
thiÕt
• tiÕn tr×nh tr¶ processor l«gic vµ ®îc chuyÓn
sang chê xö lý kÕt thóc.
 TiÕn tr×nh tù ng¾t
 ch¼ng h¹n sau khi ®a yªu cÇu trao ®æi
vµo ra vµ ph¶i chê cho phÐp trao ®æi
nµy kÕt thóc míi lµm viÖc tiÕp ®îc. TiÕn
tr×nh chuyÓn tõ tr¹ng th¸i thùc hiÖn sang
bÞ ng¾t vµ ë ®ã m·i cho ®Õn khi xuÊt
hiÖn sù kiÖn mµ nã chê ®Õn,
183
 TiÕn tr×nh ®· sö dông processor vËt lý hÕt thêi gian
giµnh cho nã vµ ®îc ch¬ng tr×nh ®iÒu ®é chuyÓn tõ
tr¹ng th¸i thùc hiÖn sang s½n sµng.
 ViÖc chuyÓn tr¹ng th¸i tiÕn tr×nh vÒ thùc chÊt lµ ph©n
phèi l¹i tµi nguyªn hÖ thèng, trong trêng hîp nµy chñ
yÕu lµ tµi nguyªn processor vËt lý. C¸c tµi nguyªn kh¸c
nh bé nhí, m¸y in, mµn h×nh… ®Òu cã thÓ ®îc ph©n
phèi l¹i.
 Cã tµi nguyªn dÔ ph©n phèi l¹i
• bé nhí t¬ng ®èi dÔ
• processor dÔ ph©n phèi l¹i. nhÊt.
 Cã tµi nguyªn kÐm linh ho¹t -> khã ph©n phèi l¹i.
• M¸y in rÊt khã ph©n phèi l¹i


184
 Kh«ng ph¶i mäi hÖ ®iÒu hµnh ®Òu ph©n phèi l¹i
processor.
 NÕu tiÕn tr×nh bÞ ng¾t n»m trong bé nhí vµ sù kiÖn nã
chê x¶y ra th× ch¬ng tr×nh ®iÒu khiÓn sÏ chuyÓn tiÕn
tr×nh tõ tr¹ng th¸i bÞ ng¾t sang tr¹ng th¸i s½n sµng.
 NÕu tiÕn tr×nh ®· bÞ ®a ra bé nhí ngoµi th× nã sÏ ®îc
®a l¹i vµo bé nhí trong vµ sau ®ã chuyÓn sang tr¹ng th¸i
s½n sµng.
 Tõ tr¹ng th¸i nµy tiÕn tr×nh chuyÓn sang tr¹ng th¸i thùc
hiÖn khi ch¬ng tr×nh ®iÒu ®é chän nã.
 NÕu tiÕn tr×nh võa kh«i phôc cã thø tù u tiªn phôc vô
cao th× cã thÓ ®îc chuyÓn ngay tõ tr¹ng th¸i s½n sµng
sang tr¹ng th¸i thùc hiÖn.

185
 ch¬ng tr×nh ®iÒu khiÓn ®¶m nhiÖm.
• ViÖc ph©n phèi vµ ph©n phèi l¹i processor vËt lý
• chän processor l«gic
 Chän c«ng viÖc vµ x©y dùng tiÕn tr×nh øng víi
nã do ch¬ng tr×nh ®iÒu phèi ®¶m nhiÖm.
• ph©n phèi bé nhí trong
• bé nhí ngoµi
• g¾n c¸c file lµm viÖc víi tiÕn tr×nh
• cung cÊp c¸c tµi nguyªn kh¸c
• chuyÓn tiÕn tr×nh sang tr¹ng th¸i s½n sµng.
• tæ chøc xö lý kÕt thóc tiÕn tr×nh.
186
 ch¬ng tr×nh ®iÒu ®é ®¶m nhiÖm
• chän tiÕn tr×nh s½n sµng
• ph©n phèi processor vËt lý cho tiÕn tr×nh.
 Do tÝnh chÊt c«ng viÖc nªn ch¬ng tr×nh ®iÒu
®é ®«i khi ®îc gäi lµ ch¬ng tr×nh “®iÒu phèi
cÊp thÊp” , cßn b¶n th©n ch¬ng tr×nh ®iÒu phèi
th× gäi lµ “®iÒu phèi cÊp cao”.
 Kh¸c biÖt c¬ b¶n gi÷a ®iÒu phèi vµ ®iÒu ®é lµ
tiÕn tr×nh chØ cÇn mét lÇn ®îc ®iÒu phèi nhng
cã thÓ cÇn ®îc ®iÒu ®é nhiÒu h¬n.
187
3. §iÒu ®é tiÕn tr×nh
(scheduling).
 Mét trong nh÷ng chøc n¨ng cña ch¬ng tr×nh ®iÒu ®é lµ
chän tiÕn tr×nh ®Ó thùc hiÖn, tøc lµ chän tiÕn tr×nh
s½n sµng vµ ph©n phèi processor vËt lý cho nã.
 Mçi tiÕn tr×nh s½n sµng ®îc g¾n mét thø tù u tiªn.
 Thø tù u tiªn ®îc x¸c ®Þnh dùa vµo nhiÒu yÕu tè kh¸c
nhau
• thêi ®iÓm h×nh thµnh tiÕn tr×nh
• tæng thêi gian tiÕn tr×nh ®îc thùc hiÖn
• thêi gian ngêi sö dông dù b¸o kÕt thóc.
 Thø tù u tiªn nµy -> u tiªn ®iÒu ®é ( ph©n biÖt víi u tiªn
®iÒu phèi phôc vô cho ho¹t ®éng cña ch¬ng tr×nh ®iÒu
phèi).
 Mçi c¸ch t¹o thø tù u tiªn ®iÒu ®é kh¸c nhau sÏ lµm xuÊt
hiÖn mét ph¬ng thøc ®iÒu ®é.
188
Môc tiªu ®iÒu phèi
 Sự công bằng ( Fairness) :
• Các tiến trình chia sẻ CPU một cách công bằng, không
có tiến trình nào phải chờ đợi vô hạn để được cấp phát
CPU
 Tính hiệu qủa (Efficiency) :
• Hệ thống phải tận dụng được CPU 100% thời gian.
 Thời gian đáp ứng hợp lý (Response time) :
• Cực tiểu hoá thời gian hồi đáp cho các tương tác
của người sử dụng
 Thời gian lưu lại trong hệ thống ( Turnaround Time) :
• Cực tiểu hóa thời gian hoàn tất các tác vụ xử lý
theo lô.
 Thông lượng tối đa (Throughput ) :
• Cực đại hóa số công việc được xử lý trong một đơn
vị thời gian.

189
 Tiªu chuÈn sè lîng ®¸nh gi¸ chÊt lîng ®iÒu ®é lµ thêi gian chê ®îi xö
lý.
• thêi gian mét tiÕn tr×nh ë tr¹ng th¸i s½n sµng chê ®îc ph©n phèi
processor vËt lý.
 ngêi sö dông quan t©m c¶ thêi gian tiÕn tr×nh bÞ ng¾t, thêi gian
chê ch¬ng tr×nh ®iÒu phèi xö lý.
 Khi tiÕn tr×nh bÞ ng¾t -> kh«ng ®îc xªt ®Ó ph©n phèi processor,
 thêi gian tiÕn tr×nh n»m trong tr¹ng th¸i ng¾t kh«ng ®îc tÝnh vµo
thêi gian chê ®îi ®Ó ®¸nh gi¸ chÊt lîng ®iÒu ®é.
 chÕ ®é ph©n chia thêi gian sö dông tËp thÓ ngêi sö dông kh«ng
quan t©m ®Õn tæng thêi gian sö dông processor mµ chØ lu ý ®Õn
thêi gian cÇn thiÕt phôc vô yªu cÇu cuèi cïng võa ®a vµo.
• §èi víi líp ngêi sö dông trong chÕ ®é nµy kh«ng tån t¹i th«ng tin
cÇn thiÕt ®Ó ®©nh gi¸ thêi gian phôc vô, còng nh kh«ng cã
c«ng cô thÓ hiÖn ®îc nh÷ng ®¸nh gi¸ ®ã nÕu cã.
190
3. §iÒu ®é tiÕn tr×nh (scheduling)
(tiÕp).
2 chÕ ®é thêng dïng
 a. ChÕ ®é mét dßng xÕp hµng
 b. ChÕ ®é hai dßng xÕp hµng

191
ChÕ ®é mét dßng xÕp hµng

 VÒ nguyªn t¾c c¸ch thøc ®iÒu ®é tèt nhÊt lµ ®¶m b¶o
cho mäi ngêi ®îc phôc vô nh nhau. -> kh«ng cã mét tiÕn
tr×nh nµo ph¶i chê ®îi l©u h¬n tiÕn tr×nh kh¸c. -> ®¸nh
gi¸ chÊt lîng ®iÒu ®é dùa vµo thêi gian chê ®îi trung
b×nh.
 Gi¶ thiÕt
• hÖ thèng ®ang xÐt ®· ho¹t ®éng ®ñ l©u
• dßng xÕp hµng cho ®iÒu phèi nhiÖm vô, cho ®iÒu ®é,
• dßng xÕp hµng tiÕn tr×nh bÞ ng¾t lµ ®ñ lín
• ph¶n øng cña hÖ thèng kh«ng thay ®æi theo thêi gian,
• -> hÖ thèng ho¹t ®éng trong chÕ ®é æn ®Þnh.
• Khi ®ã ®èi víi mçi tiÕn tr×nh chuyÓn sang tr¹ng th¸i s½n sµng
®o ®îc thêi gian chê ®îi: kho¶ng thêi gian kÓ tõ khi tiÕn tr×nh
chuyÓn sang tr¹ng th¸i s½n sµng cho tíi khi nã chuyÓn sang
tr¹ng th¸i thùc hiÖn.
192
 §èi víi mçi tiÕn tr×nh ta cã thÓ cã nhiÒu lÇn
kho¶ng thêi gian nµy -> tÝnh ®îc thêi gian chê
®îi trung b×nh cña mét tiÕn tr×nh cô thÓ.
 Sè quan s¸t cµng lín th× thêi gian chê ®îi trung
b×nh -> cµng chÝnh x¸c.
 ®¸nh gi¸ chÊt lîng ®iÒu ®é = viÖc ph©n tÝch
gi¶i thuËt ®iÒu ®é + kÕt qu¶ thùc nghiÖm
 Gi¶ thiÕt: quan s¸t vµ thèng kª thêi gian chêi ®îi
cña tõng tiÕn tr×nh chø kh«ng ph¶i cña mét tiÕn
tr×nh->thu ®îc thêi gian chê ®îi trung b×nh
chung cña hÖ thèng.
193
 ChiÕn lîc phôc vô b×nh ®¼ng lµ ®¶m b¶o cho mäi tiÕn
tr×nh ®Òu cã mét thêi gian chê ®îi trung b×nh nh nhau.
 ChiÕn lîc FCFS (First come first served).
 theo tr×nh tù xuÊt hiÖn cña tiÕn tr×nh trong dßng xÕp
hµng s½n sµng vµ mçi tiÕn tr×nh ®îc phôc vô ®Õn khi
kÕt thóc hoÆc khi nã ph¶i chuyÓn sang tr¹ng th¸i bÞ
ng¾t.
 VD: XÕp hµng b¸n g¹o …
 ®¬n gi¶n, dÔ tæ chøc:
 processor kh«ng bÞ ph©n phèi l¹i. Chi phÝ tæ chøc
FCFS lµ thÊp nhÊt v× kh«ng ph¶i thay ®æi thø tù u tiªn
®iÒu ®é vµ kh«ng ph©n phèi l¹i processor
 b¶n th©n thø tù u tiªn ®iÒu ®é chÝnh lµ thø tù xuÊt
hiÖn cña tiÕn tr×nh trong dßng xÕp hµng s½n sµng.
194
 Nhîc ®iÓm:
• Nhîc ®iÓm c¬ b¶n cña FCFS lµ c¸c tiÕn tr×nh ng¾n
còng ph¶i chê nh nh÷ng tiÕn tr×nh dµi. Ngêi sö dông
kh«ng quan niÖm thêi gian chê ®îi trung b×nh nh
nhau lµ b×nh ®¼ng trong phôc vô.
• Thêi gian chê ®îi trung b×nh sÏ t¨ng v« h¹n khi hÖ
thèng ®Õn gÇn giíi h¹n kh¶ n¨ng phôc vô cña m×nh.
• NÕu ®é ph¸t t¸n thêi gian thùc hiÖn tiÕn tr×nh t¨ng
th× thêi gian chê ®îi trung b×nh còng t¨ng theo.
• khi gÆp tiÕn tr×nh Ýt bÞ ng¾t th× c¸c tiÕn tr×nh kh¸c
sÏ bÞ xÕp hµng l©u, nhiÒu thêi ®iÓm tiÕn tr×nh ph¶I
chê v« h¹n.
• Mäi chiÕn lîc kh«ng ph©n phèi l¹i processor ®Òu cã
nhîc ®iÓm nµy.
195
chiÕn lîc SJN (Shortest Job
Next)
 §Ó kh¾c phôc nhîc ®iÓm FCFS -> x©y dùng c¸c chiÕn
lîc ®¶m b¶o cùc tiÓu hãa thêi gian chê ®îi trung b×nh
chung.
 x¸c ®Þnh thø tù u tiªn ®iÒu ®é trong qu¸ tr×nh thùc hiÖn
tiÕn tr×nh chø kh«ng ph¶i lµ ë lóc khëi t¹o.
 tiÕn tr×nh cã tæng thõoi gian thùc hienÑ Ýt nhÊt ®îc u
tiªn thùc hiÖn tríc– “¦u tiªn tiÕn tr×nh ng¾n nhÊt”.
 Th«ng thêng tiÕn tr×nh nµy ¸p dông trong chÕ ®é kh«ng
ph©n phèi l¹i processor.
 So víi FCFS, SJN ®· gi¶m thêi gian chê ®îi trung b×nh
chung, cô thÓ lµ thêi gian chê ®îi trung b×nh cña c¸c
tiÕn tr×nh ng¾n, nhá h¬n thêi gian chê ®îi trung b×nh
cña c¸c tiÕn tr×nh dµi.
196
 So víi FCFS trong chiÕn lîc nµy thêi gian chê ®îi trung b×nh cña c¸c
tiÕn tr×nh dµi lín h¬n, ngoµi ra ®é phÊt t¸n cña thêi gian chê ®îi
còng t¨ng. -> khã dù b¸o ®îc khi nµo tiÕn tr×nh dµi ®îc phôc vô.
 §èi víi nhiÒu ngêi sö dông dù b¸o ®îc kh¶ n¨ng phôc vô còng quan
träng kh«ng kÐm tèc ®é phôc vô.
 SJN nhanh chãng lo¹i bá c¸c tiÕn tr×nh ng¾n, gi¶m sè tiÕn tr×nh
trong dßng xÕp hµng s½n sµng.
 Cã thÓ ¸p dông chÕ ®é ph©n phèi l¹i processor trong SJN, ng¾t
tiÕn tr×nh dµi ®ang thùc hiÖn ®Ó phôc vô tiÕn tr×nh ng¾n h¬n míi
xuÊt hiÖn trong dßng xÕp hµng s½n sµng.
 Nhng viÖc ph©n phèi l¹i processor nµy chØ cµng lµm cho c¸c tiÕn
tr×nh ng¾n cã lîi h¬n.
 nÕu tiÕn t×nh míi cã tæng thêi gian ®ßi hái phôc vô nhá nhng l¹i lín
h¬n thêi gian cÇn thiÕt ®Ó thùc hiÖn tiÕn tr×nh ®ang ho¹t ®éng ->
viÖc chuyÓn sang tiÕn tr×nh míi lµ kh«ng hîp lý.

197
ChiÕn lîc (Shortest Remaining
Time)
 §Ó kh¾c phôc nhîc ®iÓm nµy -> “¦u tiªn tiÕn tr×nh cã thêi
gian cßn l¹i Ýt nhÊt” (SRT)
 ChiÕn lîc nµy ®ßi hái ph¶i cã tæng thêi gian ®· phôc vô cho
mçi tiÕn tr×nh.
 Thêi gian cßn l¹i = hiÖu gi÷a thêi gian mµ ngêi sö dông dù b¸o
víi thêi gian ®· phôc vô.
 Cã thÓ kh«ng ph©n phèi l¹i processor nhng nÕu vËy mäi u
®iÓm c¬ b¶n cña SRT sÏ mÊt theo.
 V× vËy ë chiÕn lîc nµy th«ng thêng cã ph©n phèi l¹i
processor t¬ng tù nh chiÕn lîc SJN cã ph©n phèi l¹i
processor.
 ChiÕn lîc nµy ®¶m b¶o thêi gian chê ®îi trung b×nh lµ nhá
nhÊt.
 C¶ SRT lÉn SJN ®Òu dùa trªn c¬ së ®îc th«ng b¸o tríc vÒ
thêi gian cÇn thiÕt phôc vô tiÕn tr×nh -> kh«ng thÝch hîp víi
chÕ ®é sö dông tËp thÓ ph©n chia thêi gian.
198
 Trong SJN vµ SRT thø tù u tiªn ®iÒu ®é phô thuéc vµo
thêi gian thùc hiÖn ch¬ng tr×nh mµ ngêi sö dông khai
b¸o.
 Thêi gian khai b¸o cµng Ýt -> møc u tiªn nhËn ®îc cµng
cao. -> ngêi sö dông cã thÓ n©ng møc u tiªn ®iÒu ®é
b»ng c¸ch khai thêi gian Ýt ®i.
 §Ó chèng l¹i hiÖn tîng nµy cã thÓ kÕt thóc bÊt thêng
tiÕn tr×nh khi hÕt thêi gian yªu cÇu hoÆc ¸p dông ®¬n
gi¸ kh¸c cao h¬n ®èi víi thêi gian phô tréi.
 lu ý: dï ¸p dông chiÕn lîc ®iÒu ®é nµo th× còng vÉn
gÆp nh÷ng tiÕn tr×nh bÞ lÆp v« h¹n lÇn -> v× vËy víi
mäi tiÕn tr×nh ®Òu ph¶i ¸p dông giíi h¹n thêi gian phôc
vô.
 Giíi h¹n nµy phô thuéc vµo tõng líp bµi to¸n hoÆc x¸c
®Þnh riªng cho tõng tiÕn tr×nh. Khi tiÕn tr×nh ®· ®îc
phôc vô hÕt thêi h¹n tèi ®a nã sÏ bÞ b¾t buéc ph¶i kÕt
thóc bÊt thêng.
199
 §Ó gi¶m thêi gian chê ®îi trung b×nh, hÖ
thèng cã thÓ x¸c ®Þnh sè thø tù u tiªn
®iÒu ®é cao cho tiÕn tr×nh cã kh¶ n¨ng
sö dông Ýt thêi gian processor
 vd: c¸c tiÕn tr×nh cÇn trao ®æi vµo ra
nhiÒu -> nhËn ®îc sè u tiªn cao.
 thêng ¸p dông trong chÕ ®é nhiÒu dßng
xÕp hµng.
200
ph¬ng ph¸p vßng trßn RR (Round
Robin).
 Mçi tiÕn t×nh trong dßng xÕp hµng lÇn lît ®îc
ph©n phèi mét lîng tö thêi gian ®Ó thùc hiÖn.
 Sau kho¶ng thêi gian ®ã, nÕu tiÕn tr×nh cha
kÕt thóc hoÆc kh«ng r¬i vµo tr¹ng th¸i chê ®îi
th× nã ®îc chuyÓn vÒ cuèi dßng xÕp hµng s½n
sµng.
 c¸c tiÕn tr×nh xÕp hµng vßng trßn vµ lu«n lu«n
®îc ®¶m b¶o phôc vô v× v©yh sím hay muén
còng sÏ kÕt thóc.
 Khi cã tiÕn tr×nh míi, nã sÏ ®îc ®a vµo dßng
xÕp hµng vßng trßn, ®Æt ë vÞ trÝ sÏ ®îc phôc
vô ngay lËp tøc.
 c¸c tiÕn tr×nh ng¾n, dµi ®Òu ®îc coi nh nhau.
201
 §Ó cã thÓ u tiªn thÝch ®¸ng víi tiÕn t×nh dµi -> ph©n c¸c tiÕn
tr×nh thµnh m líp,
 ë líp thø i tiÕn tr×nh ®îc phôc vô Ki lÇn, mçi lÇn víi thêi gian
Ti.
 NÕu sau thêi gian ®· dµnh tiÕn tr×nh cha kÕt thóc hoÆc
kh«ng bÞ ng¾t th× nã ®îc chuyÓn sang líp (i+1), víi thêi gian
phôc vô Ti+1 > Ti.
 Lîng tö thêi gian phôc vô t¨ng dÇn cho ®Õn khi tiÕn tr×nh r¬i
vµo líp cuèi cïng – líp M, ë ®ã nã sÏ ®îc phôc vô víi lîng tö Tm
kh«ng ®æi.
 thø tù u tiªn ®iÒu ®é t¨ng dÇn theo thêi gian xÕp hµng chê
®îi.
 C¸ch phôc vô ®ång møc theo líp nh vËy -> cho phÐp hÖ
thèng u tiªn ngÇm c¸c tiÕn tr×nh ng¾n v× nã sÏ kÕt thóc sím
h¬n c¸c tiÕn tr×nh dµi.
 Tuy vËy u tiªn ngÇm nµy kh«ng g©y tæn h¹i qu¸ lín cho c¸c
tiÕn tr×nh dµi.
202
 Do ph¶i thêng xuyªn ph©n phèi l¹i processor, nªn thêi gian chê ®îi
trung b×nh chung trong RR cã thÓ lín h¬n so víi ph¬ng ph¸p FCFS.
 Tuy vËy nÕu ®é ph¸t t¸n thêi gian thùc hiÖn c¸c tiÕn tr×nh lín th×
thêi gian chê ®îi trung b×nh chung cña RR cã thÓ nhá h¬n so víi
FCFS.
 ChiÕn lîc ®iÒu ®é vßng trßn ®îc ¸p dông réng r·i trong chÕ ®é sö
dông tËp thÓ ph©n chia thêi gian.
 Trong RR kÝch thíc lîng tö thêi gian q ®ãng vai trß hÕt søc quan
träng.
 NÕu q lín th× viÖc bæ sung thªm tiÕn tr×nh míi hoÆc tiÕn tr×nh ®îc
kÝch ho¹t l¹i tõ tr¹ng th¸i bÞ ng¾t sÏ lµm dßng xÕp hµng dµi ra vµ
®iÒu nµy lµm t¨ng thêi gian chê ®îi trung b×nh.
 nÕu q qu¸ nhá th× nã sÏ lµm cho c¸c tiÕn tr×nh ph¶i liªn tôc chuyÓn
tr¹ng th¸i vµ v× vËy gi¶m hÖ sè h÷u Ých trong ho¹t ®éng cña
processor. Tãm l¹i ph¶i cho q nhËn gi¸ trÞ hîp lý.
 Th«ng thêng q ®îc chän trong kháang 200 – 20 mili gi©y.
203
 Tån t¹i mét vµi kiÓu phôc vô kh¸c nhau dùa trªn c¬ së chiÕn lîc RR.
 Trong chÕ ®é sö dông tËp thÓ ph©n chia thêi gian ngêi ta ph¶i
khèng chÕ thõoi gian ph¶n øng kh«ng qu¸ Ýt.
 NÕu cã n tiÕn tr×nh s½n sµng th× lÊy q=t/n.
 NÕu xuÊt hiÖn tiÕn tr×nh míi th× cho vµo dßng xÕp hµng kh¸c-> xö
lý xong mét lît dßng xÕp hµng ban ®Çu míi chuyÓn sang dßng xÕp
hµng thø hai.
 NÕu thêi gian chuyÓn processor tõ tiÕn t×nh nµy sang tiÕn tr×nh
kh¸c lµ s th× trªn thùc tÕ ph¶i chän q=t/n – s.
 Víi t cho tríc ngêi ta ph¶i khèng chÕ sè tiÕn tr×nh cã q n»m trong giíi
h¹n hîp lý.
 NÕu cã kh¶ n¨ng dù b¸o ®îc thêi gian trao ®æi vµo ra th× cã thÓ
kh«ng ng¾t tiÕn tr×nh khi thÊy phÐp vµo ra kÕt thóc tríc khi hÕt l-
îng thêi gian phôc vô.
 §Ó thóc ®Èy c¸c tiÕn tr×nh dµi mau kÕt thóc ngêi ta t¨ng møc u tiªn
cho c¸c tiÕn tr×nh tån t¹i l©u trong dßng xÕp hµng s½n sµng.
 Møc u tiªn ®îc tÝnh theo hiÖu gi÷a thêi gian hiÖn t¹i víi thêi ®iÓm
khëi t¹o tiÕn tr×nh s½n sµng. TrÞ sè cµng lín th× møc u tiªn cµng
cao.
204
ChÕ ®é nhiÒu dßng xÕp hµng.
 Dùa vµo th«ng tin do ngêi sö dông cung cÊp vµ kÕt qu¶
ph©n tÝch cña hÖ thèng -> ph©n líp tiÕn tr×nh s½n
sµng vµ phôc vô mçi líp theo mét c¸ch.
 Trong chÕ ®é xö lý l« c¸c tiÕn tr×nh cã sè phÐp vµo ra
nhiÒu ®îc xÕp vµo líp riªng vµ líp nµy cã thø tù u tiªn
®iÒu ®é cao.
• cã thÓ kh«ng cÇn tæ chøc ph©n phèi l¹i processor, b¶n th©n
viÖc ng¾t tiÕn tr×nh ®· tù ®éng t¹o hiÖu øng ph©n phèi l¹i.
 Cã ba líp tiÕn tr×nh ph¶i xö lý riªng:
 - TiÕn tr×nh thêi gian thùc
 - TiÕn tr×nh cña chÕ ®é sö dông tËp thÓ ph©n chia thêi
gian
 - TiÕn tr×nh xö lý l«.
205
 TiÕn tr×nh thêi gian thùc ph¶i ®îc phôc vô xong tríc mét
thêi ®iÓm nµo ®ã, th«ng thêng do ®Æc trng thiÕt bÞ
ngo¹i vi quyÕt ®Þnh.
 TiÕn tr×nh ë chÕ ®é ph©n chia thêi gian ph¶i ®îc phôc
vô trong ph¹m vi mµ ngêi sö dông chÊp nhËn ®îc, nãi
chung ph¶i t¹o c¶m gi¸c nh ngêi sö dông ®îc lµm viÖc
liªn tôc, kh«ng hÒ bÞ gi¸n ®o¹n. TiÕn tr×nh xö lý l«
kh«ng ®ßi hái nhiÒu vÒ thêi ®iÓm vµ kho¶ng thêi gian
®îc phôc vô liªn tôc.
 NhiÒu dßng xÕp hµng cho phÐp ®iÒu ®é tiÕn tr×nh linh
ho¹t h¬n. Mçi dßng cã thÓ cã chiÕn lîc riªng hoÆc c¸c
gi¸ trÞ tham sè kh¸c nhau. ë mét sè hÖ thèng tiÕn tr×nh
kh«ng thay ®æi líp trong suèt qu¸ tr×nh ®îc phôc vô. Cã
nh÷ng hÖ thèng cho phÐp hcuyÓn tiÕn tr×nh tõ dßng
xÕp hµng nµy sang dßng xÕp hµng kh¸c.
206
TT
Ưu tiên cao
TT
Ưu tiên thấp
Thực hiện
D
ò
n
g

x
ế
p

h
à
n
g

n

n
207
 Mét trong sè c¸ch tæ chøc nhiÒu dßng xÕp
hµng hay ¸p dông lµ tæ chøc hai dßng xÕp
hµng:
• mét cho c¸c tiÕn tr×nh trao ®æi vµo ra nhiÒu,
• mét cho c¸c tiÕn tr×nh tÝnh to¸n nhiÒu.
 tiÕn tr×nh ë dßng thø nhÊt cã møc u tiªn cao
h¬n trong thùc hiÖn, tuy vËy do ph¶i trao ®æi
vµo ra nhiÒu chóng sÏ kh«ng sö dông hÕt thêi
gian cã ®îc.
 C¸c tiÕn tr×nh tÝnh to¸n sÏ ®îc thùc hiÖn dùa
trªn nÒn cña c¸c tiÕn tr×nh dßng xÕp hµng thø
nhÊt.
 Lu ý : tiÕn tr×nh ë dßng nµo th× ph¶i quay vÒ
®óng dßng ®ã nÕu cha kÕt thóc.
208
c. §¶m b¶o kÕt thóc ®óng thêi h¹n

 §¶m b¶o kÕt thóc ®óng thêi h¹n lµ ®ßi hái møc cao h¬n ®¶m b¶o
kÕt thóc tiÕn tr×nh. TiÕn tr×nh ch¼ng nh÷ng ph¶i kÕt thóc mµ cßn
kÕt thóc trong thêi h¹n quy ®Þnh: Tríc mét thêi ®iÓm nµo ®ã hoÆc
sau kho¶ng thêi gian nhÊt ®Þnh, c¸c tiÕn t×nh thêi gian thùc vµ tiÕn
tr×nh cña chÕ ®é ph©n chia thêi gian ®ßi hái cã rµng buéc chÆt
vÒ thêi gian.
 Cã thÓ ®iÒu phèi c¸c tiÕn tr×nh ®ßi hái chÆt chÏ vÒ thêi h¹n kh«ng
khã kh¨n l¾m b»ng c¸ch s¾p xÕp tiÕn tr×nh theo thø tù thêi ®iÓm
cÇn kÕt thóc. Nhîc ®iÓm cña c¸ch tiÕp cËn nµy lµ cã thÓ cã tiÕn
tr×nh ®îc phôc vô nhanh h¬n møc cÇn thiÕt vµ ¶nh hëng tíi c¸c tiÕn
tr×nh kh¸c cÇn nhiÒu thêi gian processor. Ch¼ng h¹n mét tiÕn tr×nh
cÇn 5 phót trong vßng 20 phót tíi. NÕu tiÕn tr×nh nµy cã thø tù u
tiªn cao, nã sÏ ®îc thùc hiÖn ngay mÆc dï cha thËt cÇn thiÕt vµ lµm
mäi tiÕn tr×nh ph¶i chê ®îi 5 phót liÒn kÓ c¶ c¸c tiÕn tr×nh ng¾n.
 Gi¶i ph¸p trong trêng hîp nµy lµ ph©n phèi processor nhiÒu lÇn cho
tiÕn tr×nh, bè trÝ r¶i r¸c trong suèt qu¸ tr×nh mµ nã cÇn.
 Gi¶i thuËt nµy thêng ¸p dông víi c¸c tiÕn tr×nh thêi gian thùc v× ®èi
víi lo¹i tiÕn tr×nh nµy quan träng lµ thêi ®iÓm kÕt thóc.
209
Ng¾t vµ xö lý ng¾t:
§Þnh nghÜa :
 §Ó tiÕn tr×nh cã thÓ thùc hiÖn chÝnh x¸c cÇn cã sù
phèi hîp nhÞp nhµng gi÷a ho¹t ®éng cña processor víi
ho¹t ®éng cña c¸c thiÕt bÞ vµo ra vµ ngo¹i vÞ. Ng¾t lµ
ph¬ng tiÖn ®Ó c¸c thiÕt bÞ kh¸c trong hÖ thèng b¸o cho
processor biÕt viÖc thay ®æi tr¹ng th¸i cña m×nh.
 Trªn quan ®iÓm lËp tr×nh, tõ gãc ®é processor : ng¾t
ngõng ®ét xuÊt viÖc thùc hiÖn mét tiÕn tr×nh ®Ó
chuyÓn sang thùc hiÖn tiÕn tr×nh kh¸c khi cã mét sù
kiÖn nµo ®ã x¶y ra.
 -> vai trß cña ng¾t trong hÖ thèng lµ c«ng cô chuyÓn
®iÒu khiÓn tíi mét tiÕn tr×nh kh¸c mµ tiÕn tr×nh hiÖn t¹i
kh«ng biÕt.
210
ALU
A
d
d
r
D
e
c
o
d
e
Sự kiện
Ngắt
trong
Ph©n lo¹i
Ng¾t ®îc chia thµnh hai lo¹i chÝnh : ng¾t trong vµ ng¾t ngoµi.
211
 Ng¾t trong : ng¾t øng víi c¸c sù kiÖn xuÊt hiÖn bëi ho¹t
®éng cña chÝnh processor.
• sù kiÖn g©y ra ng¾t trong: viÖc chia cho kh«ng, trµn « nhí...
• trong chÕ ®é qu¶n lý bé nhí theo chiÕn lîc ph©n ®o¹n hoÆc
ph©n trang: truy nhËp tíi trang hoÆc ®o¹n cha n¹p vµo bé nhí.
 NhiÒu m¸y tÝnh cã hai chÕ ®é ho¹t ®éng supervisor vµ
chÕ ®é ngêi sö dông.
• ë chÕ ®é supervisor mäi lÖnh ®Òu cã thÓ thùc hiÖn ®îc.
• ë chÕ ®é ngêi sö dông th× chØ mét phÇn cña hÖ lÖnh ®îc ®¶m
b¶o thùc hiÖn.
• lÖnh chØ thùc hiÖn ®îc trong chÕ ®é supervisor gäi lµ lÖnh hÖ
thèng.
• trong chÕ ®é ngêi sö dông processor gÆp lÖnh hÖ thèng ->
xuÊt hiÖn ng¾t trong.
212
 Ng¾t ngßai xuÊt hiÖn khi x¶y ra c¸c sù kiÖn
n»m ngoµi tiÕn tr×nh ®ang thùc hiÖn.
• VD: tÝn hiÖu tõ ®ång hå, mÊt nguån, cã sù cè kü
thuËt trÇm träng ....
• (C¸c sù kiÖn g©y ra bëi c¸c thµnh phÇn n»m ngoµi
hÖ thèng tÝnh to¸n).
- Ng¾t ch¾n ®îc vµ ng¾t kh«ng ch¾n ®îc.
• Ng¾t ch¾n ®îc : c¸c ng¾t mµ bé xö lý cã thÓ bá qua
kh«ng xö lý. VD : nh ng¾t ®ång hå (cø mçi xung
nhÞp l¹i xuÊt hiÖn mét ng¾t).
• Ng¾t kh«ng ch¾n ®îc : c¸c ng¾t mµ bé xö lý kh«ng
thÓ bá qua ®îc. VD : sù cè kü thuËt, háng hãc -> m¸y
tÝnh kh«ng ho¹t ®éng tiÕp ®îc.
213
- Ng¾t cøng vµ ng¾t mÒm.
• Ng¾t mÒm : nh÷ng lêi gäi ng¾t thêng ®îc
®Æt ngay trong ch¬ng tr×nh ngêi sö dông.
VD : LÖnh intr trong Pascal. trong C..
• Ng¾t cøng : c¸c ng¾t g©y ra bëi processor vµ
c¸c ph¬ng tiÖn kü thuËt
 HÖ thèng ®Þnh kú sau kho¶ng thêi gian
nhÊt ®Þnh xem xÐt cã tÝn hiÖu ng¾t hay
kh«ng. Tham sè kü thuËt nµy lµ rµng buéc
ph¶i lu ý khi x©y dùng c¸c ch¬ng tr×nh hÖ
thèng.
214
T
T

b


n
g

t
T
T

x


l
ý

n
g

t
S


k
i

n
(
E
v
e
n
t
)
1
2
3
4
5
Mức xử lý I
Mức xử lý II
C¸c bíc xö lý ng¾t
215
 Ba bíc ®Çu do phÇn kü thuËt ®¶m
nhiÖm.
 Hai bíc sau do hÖ ®iÒu hµnh thùc hiÖn.
 Xö lý sù kiÖn ®îc ®¶m b¶o b»ng ch¬ng
tr×nh xö lý ng¾t.
 Mçi lo¹i sù kiÖn <-> ch¬ng tr×nh xö lý
ng¾t riªng.
 ch¬ng tr×nh xö lý ng¾t
• lu l¹i c¸c th«ng tin vÒ tr¹ng th¸i cña tiÕn tr×nh
ng¾t
216
 PhÇn tiÕp theo lµ ®o¹n ch¬ng tr×nh xö lý sù kiÖn.
 Mçi lo¹i sù kiÖn ®ßi hái mét c¸ch xö lý riªng,
• ®¬n gi¶n nh x¸c lËp mét vµi bit trong thanh ghi cê hoÆc khèi
tr¹ng th¸i
• phøc t¹p nh xö lý sai sãt khi ®äc ®Üa tõ.
• NÕu sù kiÖn kh«ng ®ßi hái ph¶i xö lý gÊp th× hÖ thèng cã thÓ
®a tiÕn tr×nh xö lý vµo dßng xÕp hµng s½n sµng.
 PhÇn cuèi: kh«i phôc tr¹ng th¸i tiÕn tr×nh bÞ ng¾t ®Ó
®¶m b¶o cho hÖ thèng tiÕp tôc ho¹t ®éng b×nh thêng.
• NÕu tiÕn tr×nh bÞ ng¾t kh«ng thÓ tiÕp tôc thùc hiÖn v× sù
kiÖn x¶y ra( ch¼ng h¹n v× lý do bÞ trµn « nhí trong tÝnh to¸n) ->
sau khi th«ng b¸o nguyªn nh©n ch¬ng tr×nh ng¾t chuyÓn tiÕn
tr×nh bÞ ng¾t sang bé phËn xö lý kÕt thóc.
217
 Mét sè hµnh ®éng trong xö lý ng¾t ph¶i ®îc thùc hiÖn ngay lËp tøc
• nhí tr¹ng th¸i tiÕn t×nh, xö lý lçi...
 ch¬ng tr×nh thùc hiÖn c¸c xö lý nµy ph¶i thêng trùc trong trong bé
nhí vµ lµ mét bé phËn trong nh©n cña hÖ ®iÒu hµnh.
 xö lý Ýt cÊp b¸ch h¬n sÏ do c¸c ch¬ng tr×nh kh«ng thêng trùc ®¶m
nhiÖm. -> b¶n th©n xö lý ng¾t thêng ®îc chia thµnh hai møc.
 ng¾t liªn quan tíi ®iÒu khiÓn vµ ho¹t ®éng cña processor thêng ®îc
chuyÓn tíi ch¬ng tr×nh ®iÒu ®é ngay lËp tøc ®Ó kÝch ho¹t tiÕn
tr×nh t¬ng øng.
 -> trong dßng xÕp hµng s½n sµng lu«n lu«n cã c¸c tiÕn tr×nh hÖ
thèng ®¶m b¶o ®iÒu phèi, thu thËp th«ng tin thèng kª, phôc vô xö lý
ng¾t møc hai...
 Khi chØ cã mét processor th× b¶n th©n c¸c tiÕn tr×nh hÖ thèng
còng ph¶i xÕp hµng chê xö lý.
218
Ng¾t kÐp
 c¸c sù kiÖn g©y ng¾t xuÊt hiÖn ®ång thêi
hoÆc ®îc c¸c thiÕt bÞ kÜ thuËt ghi nhËn
ë cïng mét thêi ®iÓm.
 ng¾t cã thÓ xuÊt hiÖn ngay trong lóc
®ang xö lý ng¾t.
 gi¶i ph¸p xö lý ng¾t kÐp : g¾n cho mçi lo¹i
ng¾t mét thø tù u tiªn.
• NÕu x¶y ra ®ång thêi nhiÒu ng¾t th× ng¾t
cã u tiªn cao nhÊt sÏ ®îc xö lý tríc.
219
 tæ chøc stack-> kh«ng cÇn g¾n u tiÕn ®iÒu ®é cho ch-
¬ng tr×nh xö lý ng¾t,
 Ng¾t cã thÓ ®îc më hay bÞ ch¾n.
• Khi bÞ ch¾n, tÝn hiÖu ng¾t kh«ng t¸c ®éng lªn ho¹t ®éng cña
processor.
• Ng¾t bÞ ch¾n cã thÓ bÞ mÊt hoÆc ®îc xÕp hµng xö lý. NÕu
®îc xÕp hµng th× sau khi cã lÖnh më ch¾n hÖ thèng sÏ xö lý c¸c
ng¾t xÕp hµng.
 NÕu ng¾t míi xuÊt hiÖn ngay trong lóc xö lý ng¾t th×
nã cã thÓ bÞ ch¾n hay ®îc xö lý ngay tïy quan hÖ cô
thÓ cña hai ng¾t :
• nÕu ®îc xö lý th× tiÕn tr×nh xö lý ng¾t cò trë th× tiÕn tr×nh bÞ
ng¾t,
• nÕu bÞ ch¾n ng¾t míi cã thÓ bÞ mÊt hay ®îc xÕp hµng chê xö
lý.
 Khi tiÕn tr×nh xö lý ng¾t r¬i vµo tr¹ng th¸i chê (bÞ ng¾t)
th× nã cø ë ®Êy m·i cho ®Õn khi ch¬ng tr×nh ®iÒu
khiÓn chuyÓn sang tr¹ng th¸i s½n sµng tiÕp nhËn. §iÒu
nµy x¶y ra khi processor gÆp lÖnh më ch¾n.
220
 §Ó hÖ thèng ho¹t ®éng ®îc b×nh thêng mét sè lo¹i tÝn
hiÖu ph¶i tíi ®îc processor trong mäi lóc, mäi n¬i, nÕu
xuÊt hiÖn,
 ch¼ng h¹n tÝn hiÖu cã sai sãt kü thuËt trÇm träng
hoÆc tÝn hiÖu nhÞp ®ång hå.
 ViÖc ch¾n hoÆc më c¸c ch¾n ng¾t kh¸c cã thÓ ®¶m
b¶o b»ng ph¬ng tiÖn kü thuËt hoÆc phÇn mÒm, do ch-
¬ng tr×nh xö lý ng¾t quyÕt ®Þnh.
 Khi ®ang xö lý ng¾t nµo ®ã, nÕu xuÊt hiÖn tÝn hiÖu
ng¾t cïng lo¹i th× tÝn hiÖu ng¾t ®ã ph¶i bÞ ch¾n ®Ó
tr¸nh viÖc ghi ®Ì th«ng tin vµo cïng mét bé nhí dµnh cho
lo¹i ng¾t ®ã.
 Sau khi xö lý xong ng¾t møc thø nhÊt, hÖ thèng ph¶i
më ng¾t ®Ó xö lý tiÕp ng¾t ®ang bÞ ch¾n.
221
 NÕu cã thiÕt bÞ kü thuËt hç trî ph©n phèi bé nhí kh¸c
nhau cho tõng møc u tiªn th× viÖc xö lý ng¾t kÐp b»ng
ph¬ng ph¸p g¸n møc u tiªn sÏ ®¬n gi¶n ®i nhiÒu.
 Xö lý ng¾t kh«ng nhÊt thiÕt ph¶i tiÕn hµnh liªn tôc.
 VÝ dô xö lý ng¾t vµo ra cã thÓ chia thµnh hai giai ®o¹n
– giai ®o¹n mét xö lý kÕt qu¶ c¸c phÐp kiÓm tra ë møc
kªnh vµ thiÕt bÞ. Giai ®o¹n nµy thùc hiÖn kh¸ nhanh.
 Giai ®o¹n thø hai – xö lý kÕt qu¶ chÝnh phÐp vµo ra –
l©u h¬n nhiÒu so víi giai ®o¹n tríc. Trong kho¶ng thêi
gian gi÷a hai giai ®o¹n hÖ thèng cã thÓ ®i xö lý ng¾t
kh¸c nÕu cã.
222
Ph©n biÖt ch¬ng tr×nh con vµ ch-
¬ng tr×nh xö lý ng¾t
Ret
C
a
l
l
C
T

c
h
í
n
h
CT con
Cơ chế CT con
T
T

b


n
g

t
S


k
i

n
Iret
K
h
ô
i

p
h

c
CT xử lý sự kiện
Cơ chế xử lý ngắt
223
 Ch¬ng tr×nh ng¾t n»m thêng tró trong bé nhí
ch¬ng tr×nh con th× khi nµo ®îc gäi míi n¹p vµo
bé nhí
 Ch¬ng tr×nh con cã thÓ bÞ ng¾t cßn ch¬ng
tr×nh xö lý ng¾t th× kh«ng.
 Tham sè cña ch¬ng tr×nh xö lý ng¾t th× lu ë
thanh ghi
 Trong bé nhí mçi ch¬ng tr×nh xö lý ng¾t chØ cã
mét phiªn b¶n duy nhÊt.
 Ch¬ng tr×nh con cã thÓ cã nhiÒu phiªn b¶n.
224
5) HÖ thèng ng¾t cña IBM PC vµ
xö lý ng¾t trong MS DOS
 M¸y tÝnh IBM PC cã thÓ ph©n biÖt ®îc 256 tÝn
hiÖu ng¾t kh¸c nhau.
 Mçi tÝn hiÖu ng¾t l¹i cã thÓ chia thµnh nhiÒu tr-
êng hîp riªng gäi lµ c¸c chøc n¨ng.
 C¸c ng¾t ®îc ®¸nh sè lÇn lît tõ 0 trë ®i.
 Mét sè ng¾t ®îc quy ®Þnh dµnh cho ngêi sö
dông tù ®Þnh nghÜa vµ dïng vµo môc ®Ých
riªng cña m×nh.
• VÝ dô: c¸c ng¾t ®Ó phôc vô viÕt ch¬ng tr×nh phôc
vô web,göi mail...,
 Mét sè ng¾t kh¸c cßn ®Ó dù tr÷.
225
 §Ó qu¶n lý ng¾t ngêi ta x©y dùng b¶ng qu¶n lý
ng¾t.
 PC dïng 1024 bytes ®Çu tiªn ®Ó ghi c¸c con trá
chØ tíi ch¬ng tr×nh xö lý ng¾t,
 mçi con trá chiÕm 4 bytes.
 Chia lµm hai phÇn mét phÇn chøa dÊu hiÖu
ng¾t (VD : 0 : lçi chia cho kh«ng, 1C : ng¾t
®ång hå),
 mét phÇn chøa sè hiÖu ng¾t.
 Vïng bé nhí nµy -> vect¬ ng¾t.
226
Ng¾t vµ phôc vô ng¾t c¶u DOS
 Ng¾t 00h : Chia cho 0 :
 Ng¾t 01h : Thùc hiÖn tõng lÖnh
 Ng¾t 02h : NMI (non-maskable interupt)
 Ng¾t 3h :Thùc hiÖn ®Õn ®iÓm dõng
 Ng¾t 04h :Trµn « nhí.
 Ng¾t 05h : Copy mµn h×nh

227
 Ng¾t 06h-07h : cha ®îc sö dông.
 Ng¾t 08h : Ng¾t ®ång hå.
 Ng¾t 09h : Ng¾t bµn phÝm
 Ng¾t 0Ah-0Ch : thay ®æi tïy theo tõng
m¸y.
 Ng¾t 0Dh : §Üa cøng
 Ng¾t 0Eh : §Üa mÒm
 Ng¾t 0Fh : M¸y in
228
 Ng¾t 10h : Ng¾t mµn h×nh
 Ng¾t 11h : X¸c ®Þnh cÊu h×nh
 Ng¾t 12h : X¸c ®Þnh kÝch thíc bé nhí
 Ng¾t 13h : §Üa mÒm
 Ng¾t 14h Giao diÖn nèi tiÕp
 Ng¾t 15h Ng¾t Cassette cò (chØ dïng víi
hä m¸y AT)


229
 - Ng¾t 16h Bµn phÝm
 - Ng¾t 17h M¸y in
 - Ng¾t 18h gäi BASIC trong ROM
 - Ng¾t 19h Khëi ®éng m¸y
 - Ng¾t 1Ah Ngµy giê
 - Ng¾t 1Bh Bµn phÝm : Xö lý phÝm Ctr
+Break
 - Ng¾t 1Ch Ng¾t chu kú (18,2 lÇn 1 gi©y)

230
 - Ng¾t 1Dh ®îc sö dông nh mét con trá
§Þa chØ b¶ng mµn h×nh
 - Ng¾t 1Eh §Þa chØ b¶ng æ ®Üa
 - Ng¾t 1Fh §Þa chØ b¶ng ký tù
 - Ng¾t 20h KÕt thóc ch¬ng tr×nh : - Ng¾t
21h gäi Hµm cña DOS
 - Ng¾t 22h trá tíi mét thñ tôc kÕt thóc ch-
¬ng tr×nh

231
 {$M 600,0,0}
 Program Vdngat ;
 Uses DOS, crt ;
 Var demnhip : longint absolute 0 :$46C ;
 Ngat1c :procedure ;
 Procedure ngatmoi ; interupt ;
 Var x,y :integer ;
 Gio,phut,giay,tg :longint ;
 Begin
 Inline($9c) ; {cat cac tham so vao ngan xep}
 Ngat1c ;{goi lai ngat 1c cu de tang bo dem}
 x :=wherex ;y :=wherey ;
 gio:=demnhip div 65543;
 tg:=demnhip mod 65543;
 .
232
 phut:=tg div 1092;
 tg:=tg mod 1092;
 giay:=tg div 18;
 gotoxy(1,1);write(gio:2,‟-„,phut:2,‟-
„,giay:2);
 gotoxy(x,y);
 end;
 Begin
 Getintvec($1c,@ngat1c);
 Setintvec($1c,@ngatmoi);
 Keep (0);
 End
233
Ch¬ng 4: Qu¶n lý bé nhí
 Bµi 1. Mét sè kh¸i niÖm liªn quan ®Õn bé
nhí
 Bµi 2. C¸c kh¸i niÖm liªn quan ®Õn qu¶n lý
bé nhí
234
Bµi 1. Mét sè kh¸i niÖm liªn quan
®Õn bé nhí
 Bé nhí chia thµnh 3 lo¹i
 - Bé nhí chÝnh (main memory): lu tr÷ c¸c lÖnh ch¬ng tr×nh vµ d÷
liÖu ®ang ®îc sö dông.
 +§¾t
 +dung lîng thÊp
 + hiÖu n¨ng cao
 - Bé nhí thø cÊp/bé nhí ngoµi (Secondary storage): Lu tr÷ c¸c ch¬ng
tr×nh vµ d÷ liÖu cha cÇn sö dông.
 + RÎ
 + dung lîng cao
 + chËm
 - Bé nhí tèc ®é cao (cache)
 Tèc ®é truy cËp cao, thêng n»m ngay trong bé xö lý. Lu tr÷ b¶n
sao cña c¸c d÷ liÖu thêng ®îc sö dông ®Ó truy cËp nhanh h¬n.
235
236
2 - C¸c bíc xö lý ch¬ng tr×nh
øng dông
 PhÇn lín c¸c ch¬ng tr×nh ®îc viÕt díi d¹ng
ng«n ng÷ thuËt to¸n.
 Ch¬ng tr×nh ban ®Çu nµy ph¶i ®îc dÞch
sang ng«n ng÷ thùc hiÖn cña hÖ thèng.
 PhÇn hÖ thèng lËp tr×nh ®¶m b¶o
chuyÓn ®æi sang biÓu diÔn tõ ng«n ng÷
thuËt to¸n sang ng«n ng÷ m¸y.
237
CT Tên user’s Tên trong
Mô đun
đích
Hàm tên
Hàm địa chỉ
.OBJ
Lý thuyết chương trình dịch
Ph.tích cú pháp + ph. tích ngữ nghĩa + Sinh mã + Tối ưu hoá

238
Mô đun
đích
Mô đun
thực hiện
CT
thực hiện
Thực hiện KQ
Biên tập
(Link)
Nạp và định vị
(Fetch)
Quản lý bộ nhớ
QL
Tiến trình
QL
Processor
.COM
.EXE
239
3 - C¸c lo¹i cÊu tróc ch¬ng
tr×nh:
a) CÊu tróc tuyÕn tÝnh
 sau khi biªn tËp, c¸c m«
®ul ®îc tËp hîp thµnh mét
ch¬ng tr×nh hoµn thiÖn,
• chøa ®Çy ®ñ th«ng tin ®Ó
cã thÓ thùc hiÖn (trõ d÷
liÖu vµo).
• Mäi biÕn trá ngoµi ®Òu ®-
îc thay b»ng gi¸ trÞ cô thÓ.
• §Ó thùc hiÖn chØ cÇn
®Þnh vÞ ch¬ng tr×nh mét
lÇn vµo bé nhí.
 VD: C¸c tËp *.com trong
hÖ ®iÒu hµnh MS DOS
m
0
m
1
m
2
. . . . . . m
n
l




240
CÊu tróc tuyÕn tÝnh
 ¦u ®iÓm:
• §¬n gi¶n, dÔ tæ chøc biªn tËp vµ ®Þnh vÞ.
• Thêi gian thùc hiÖn lµ nhanh nhÊt v× mäi c«ng viÖc
chuÈn bÞ ®Òu ®îc thùc hiÖn tríc, hÖ thèng kh«ng
cÇn ph¶i biªn tËp thªm, kh«ng ph¶i t×m vµ n¹p thªm
g× trõ d÷ liÖu vµo.
• Thêi gian thùc hiÖn ch¬ng tr×nh thêng ®îc dïng lµm
chuÈn ®Ó ®¸nh gi¸, so s¸nh c¸c ph¬ng ph¸p tæ chøc
kh¸c nhau.
• TÝnh linh ®éng cao: dÔ dµng sao chÐp ch¬ng tr×nh
mang sang c¸c m¸y kh¸c cïng lo¹i vµ cïng hÖ thèng
mµ vÉn duy tr× kh¶ n¨ng thùc hiÖn.
 Nhîc ®iÓm :l·ng phÝ bé nhí, møc l·ng phÝ tû lÖ
víi kÝch thíc ch¬ng tr×nh.
241
m
0
m
0
m
0
m
0
m
0
m
2
m
2
m
2
m
1
CÊu tróc ®éng
242
 Mçi m« ®ul ®îc biªn tËp riªng biÖt. Khi ®îc thùc
hiÖn, hÖ thèng ®Þnh vÞ m« ®ul gèc. CÇn tíi
m« ®ul nµo ph¶i sö dông c¸c lÖnh macro hÖ
thèng (Load, Attach, Delete) . . . ®Ó n¹p xin bé
nhí vµ n¹p tiÕp m« ®ul t¬ng øng. Khi sö dông
xong cã thÓ gäi c¸c lÖnh macro kh¸c ®Ó gi¶i
phãng bé nhí.
 Trong cÊu tróc nµy tr¸ch nhiÖm n¹p vµ xãa m«
®ul do ngêi sö dông ®¶m nhiÖm. C¸c lÖnh n¹p
vµ xãa ph¶i ®îc nªu ngay trong ch¬ng tr×nh
nguån. §iÒu nµy ®ßi hái ngêi sö dông ph¶i n¾m
v÷ng ch¬ng tr×nh cña m×nh vµ c¸c c«ng cô
®iÒu khiÓn bé nhí cña hÖ ®iÒu hµnh.

243
 NÕu qu¶n lý bé nhí tèt th× cÊu tróc nµy rÊt tiÕt
kiÖm. Sai lÇm trong ®iÒu khiÓn sÏ g©y l·ng phÝ
bé nhí vµ t¨ng thêi gian thùc hiÖn. Thời gian
thực hiện lớn: song song thực hiện với t×m
kiếm, nạp vµ định vị.
 Do ph¶i Ên ®Þnh tr×nh tù ®Þnh vÞ m« ®ul ngay
ë bíc viÕt ch¬ng tr×nh nguån, ch¬ng tr×nh sÏ bÞ
phô thuéc vµo tõng phiªn b¶n cô thÓ cña hÖ
®iÒu hµnh. KÐm lưu động  khã nạp, cập nhật,
xo¸.
 Nã thÝch hợp cho c¸c ch¬ng tr×nh hệ thống.
244
CÊu tróc overlay
 §Ó gi¶i bµi to¸n ngêi ta chia ch¬ng tr×nh thµnh c¸c ch¬ng tr×nh con
nh vËy th× cã thÓ m« t¶ cÊu tróc ch¬ng tr×nh díi d¹ng c©y.
 ë mét thêi ®iÓm ch¬ng tr×nh ho¹t ®éng theo mét nh¸nh c©y nµo ®ã
vµ do vËy ë thêi ®iÓm nµy chØ cÇn n¹p c¸c m« ®un trªn mét nh¸nh
lµ ®ñ.
 Gi¶ sö sè nót trªn c©y lµ n , sè nót trªn mét nh¸nh dµi nhÊt lµ m
(m<<n), thay v× ph¶i n¹p c¶ n nót th× ta n¹p cã m nót.
 C¸c m« ®ul ®îc chia thµnh c¸c møc: møc chøa m« ®ul gèc, n¹p ch-
¬ng tr×nh.
 Møc mét chøa c¸c ch¬ng t×nh ®îc gäi tõ ch¬ng tr×nh ë møc 0 vµ
kh«ng tån t¹i ®ång thêi.
 Møc 2 chøa c¸c ch¬ng tr×nh ®îc c¸c ch¬ng tr×nh ë møc 1 gäi vµ
kh«ng tån t¹i ®ång thêi...
 Bé nhí dµnh cho ch¬ng tr×nh còng ®îc chia thµnh c¸c phÇn gäi lµ
møc bé nhí, t¬ng øng víi møc ch¬ng tr×nh.
 Mçi møc bé nhí cã kÝch thøoc b»ng ®é dµi lín nhÊt cña c¸c m« ®ul
cïng møc.
245
 Ch¬ng tr×nh nguån ®îc viÕt nh b×nh thêng.
 Sau khi dÞch c¸c m«t ®un ®Ých vÉn cã d¹ng b×nh thêng, kh«ng
chøa c¸c lÖnh giao tiÕp víi hÖ ®iÒu hµnh.
 Tõ c¸c m« ®un nµy ngêi ta cã thÓ t¹o c¸c cÊu tróc ch¬ng tr×nh kh¸c
nhau. §Ó nhËn ®îc cÊu tróc overlay ngêi sö dông cÇn cung cÊp
thªm th«ng tin cho ch¬ng tr×nh biªn tËp, cho biÕt cã mÊy møc, mçi
møc bao gåm nh÷ng m« ®ul nµo.
 VD: Trong Pascal ta khai b¸o nh sau:
 level 0
 main
 level 1
 CT 1, CT2,CT3
 level 2
 .....
 s¬ ®å overlay t×m c¸c m« ®ul cÇn thiÕt, tËp trung vµo mét file riªng
gäi lµ file overlay
 ë hÖ ®iÒu hµnh MSDOS nh÷ng file nµy cã ®u«i OVL. Trong
windows: C¸c m« đun nạp trong quá trình thực hiện  vào các files
.DLL.
246
 M« ®ul møc 0 ®îc ®Ó ë mét file ch¬ng tr×nh riªng.
 Khi thùc hiÖn m« ®ul gèc ®îc n¹p vÒ ®Þnh vÞ nh mét ch¬ng tr×nh
cÊu tróc tuyÕn tÝnh b×nh thêng.
 CÇn tíi m« ®ul nµo hÖ thèng sÏ t×m kiÕm trong file overlay vµ n¹p
vµo bé nhí ë møc overlay t¬ng øng.
 Thµnh phÇn hÖ thèng duy tr× ho¹t ®éng cña ch¬ng tr×nh theo s¬
®å overlay gäi lµ supervisor overlay.
 Khi n¹p m« ®ul míi vµo mét møc ®· dïng råi, m« ®ul cò trong ®ã sÏ
bÞ xãa. §Ó cã thÓ dïng trùc tiÕp ®îc sau nµy, hÖ thèng ph¶i ghi t¹m
nã vµo file trung gian bªn ngoµi. Khi cÇn n¹p mét m«®ul nµo
supervisor overlay sÏ t×m tríc hÕt ë file trung gian bªn ngoµi.
 V× kh«ng thÓ dù b¸o ®îc, khi nµo cÇn gäi m« ®ul overlay nªn
supervisor overlay ph¶i thêng tró trong bé nhí. -> lµm gi¶m hiÖu qu¶
cña c¸c biÖn ph¸p tèi u bé nhí.
247
80
KB
100
KB
60
KB
110
KB
80
KB
100
KB
90
KB
80
KB
60
KB
60
KB
40
KB
110
KB
40
KB
70
KB
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:
270 KB 730 KB
.OVL
248
 Trong cÊu tróc overlay th«ng thêng kh«ng xÐt
c¸c m« ®ul cã chøa lín gäi lµ ®ång møc, tøc lµ
tõ mét m« ®ul gäi mét m« ®ul kh¸c cïng møc
overlay.
 Lèi gäi ®ång møc g©y khã kh¨n v× m« ®ul gäi
cã thÓ ®· bÞ phñ tríc khi m« ®ul ®îc gäi ®Þnh
vÞ xong trong bé nhí.
 s¬ ®å overlay hîp lý -> kh«ng ®Ó xuÊt hiÖn lêi
gäi ®ång møc.
 §Ó xö lý c¸c lêi gäi ®ång møc ch¬ng tr×nh biªn
t¹p ph¶i t¹o ra mét b¶ng th«ng tin ®iÒu khiÓn
n÷a, nhê ®ã supervisor overlay biÕt ®îc c¸c m«
®un gäi vµ ®îc gäi.
249
 C¶ hai cÊu tróc võa xÐt ë trªn ®Òu cã ®Æc trng lµ ®Þnh vÞ
®éng. ChÝnh c¸ch ®Þnh vÞ ®éng ®· cho phÐp ta sö dông ®-
îc nhiÒu bé nhí h¬n phÇn bé nhí mµ hÖ thèng dµnh cho ch-
¬ng tr×nh.
 MÆc dï ®Þnh vÞ ®îc tiÕn hµnh trong qu¸ tr×nh thùc hiÖn ch-
¬ng tr×nh, nhng nh×n chung cÊu tróc ch¬ng tr×nh vÉn mang
tÝnh chÊt tÜnh, nã kh«ng thay ®æi trong tÊt c¶ c¸c lÇn thùc
hiÖn ch¬ng tr×nh.
 So víi cÊu tróc ®éng cÊu tróc overlay cã u ®iÓm lµ ®ßi hái
ngêi sö dông cung cÊp nh÷ng th«ng tin ®¬n gi¶n vµ kh«ng
g¾n cè ®Þnh cÊu tróc vµo ch¬ng tr×nh nguån.
 NÕu ngêi sö dông x©y dùng ®îc së ®å overlay tèt vµ c¸c m«
®ul cã ®é dµi hîp lý th× cÊu tróc overlay mang l¹i hiÖu qu¶
kh«ng thua kÐm cÊu tróc ®éng.
 c¸c ch¬ng tr×nh øng dông hÖ thèng phÇn lín ®Òu cã cÊu tróc
overlay.
250
 Nhîc ®iÓm:
 + VÉn yªu cÇu ngêi sö dông cung cÊp thªm
th«ng tin phô.
 + HiÖu qu¶ tiÕt kiÖm bé nhí vÉn phô thuéc c¸ch
bè trÝ, tæ chøc c¸c m« ®ul cña ch¬ng tr×nh.
• ChØ cÇn cã vµi m« ®ul kÝch thøoc lín ë c¸c møc
overlay kh¸c nhau lµ hiÖu qu¶ sö dông bé nhí gi¶m
sót h¼n.
 + Do cÊu tróc ch¬ng tr×nh lµ tÜnh -> cung cÊp
thªm bé nhí tù do, hiÖu qu¶ sö dông ch¬ng
tr×nh cña hÖ thèng còng kh«ng ®æi.
251
CÊu tróc ph©n ®o¹n
m
0
m
1
m
2
m
3
m
0
m
1
RAM
252
 Ch¬ng tr×nh cña ngêi sö dông ®ùoc biªn tËp riªng tõng m« ®ul ®éc
lËp.
 KÕt qu¶ tËp hîp chêng t×nh lµ mét b¶ng ®iÒu khiÓn cho biÕt ch-
¬ng tr×nh cã thÓ sö dông nh÷ng m« ®ul nµo, ®é dµi mçi m« ®un lµ
bao nhiªu.
 B¶ng ®iÒu khiÓn nµy ®îc gäi lµ b¶ng qu¶n lý ®o¹n vµ ký hiÖu lµ
SCB (segment control block).
 SCB cßn chøa mét sè th«ng tin trî gióp ®Þnh vÞ ch¬ng tr×nh, ë mçi
giai ®o¹n thùc hiÖn hÖ thèng sÏ dùa vµo SCB ®Ó n¹p c¸c m« ®ul
c©ng thiÕt vµo trong bé nhí.
 Kh¸c víi c¸c cÊu tróc ®· xÐt, trong cÊu tróc nµy chõng nµo cßn chç
th× hÖ thèng cßn n¹p tiÕp c¸c m« ®ul míi.
 GÆp trêng hîp thiÕu bé nhí-> ®a bít ra ngoµi mét sè m« ®ul cã kh¶
n¨ng kh«ng sö dông l¹i n÷a.
 kh«ng ®ßi hái ngêi sö dông ph¶i khai b¸o thªm bÊt kú mét th«ng tin
phô nµo, mäi c«ng viÖc ®Òu do hÖ thèng ®¶m nhiÖm
 khi dung lîng bé nhí tù do t¨ng -> tèc ®é thùc hiÖn ch¬ng tr×nh còng
t¨ng theo.
253
 Nhîc ®iÓm:
• hiÖu qu¶ sö dông bé nhí phô thuéc nhiÒu vµo
c¸ch ph©n chia ch¬ng t×nh thµnh c¸c m« ®ul
®éc lËp.
• Còng nh ë cÊu tróc overlay, chØ cÇn tån t¹i
vµi m« ®ul ®é dµi lín lµ hiÖu qu¶ sö dông bé
nhí sÏ gi¶m mét c¸ch ®¸ng kÓ.
 CÊu tróc nµy chØ ¸p dông ®¬ch khi bé nhí
®îc qu¶n lý theo kiÓu ph©n ®o¹n.
254
CÊu tróc ph©n trang
p
0
p
1
p
2
p
3
p
4
p
5
p
6
RAM
p
0
p
2
255
 Ch¬ng tr×nh ®îc tËp hîp nh trong trêng hîp cã cÊu tróc
tuyÕn tÝnh nhng sau ®ã ®îc chÝnh ch¬ng tr×nh biªn tËp
chia thµnh tõng phÇn cã ®é dµi b»ng nhau gäi lµ trang.
 S¶n phÈm biªn tËp lµ mét b¶ng qu¶n lý trang, mçi phÇn
tö cña b¶ng øng víi mét trang cña ch¬ng tr×nh ngêi sö
dông.
 Khi thùc hiÖn, supervisor qu¶n lý trang sÏ theo dâi, ®¶m
b¶o ®a trang cÇn thiÕt vµo bé nhí trong.
 CÊu tróc ph©n trang nãi chung chØ ph¸t huy ®îc hiÖu
qu¶ khi bé nhí ®îc qu¶n lý theo c¸c chiÕn lîc kiÓu ph©n
trang.
 Trong thùc tÕ, chiÕn lîc ph©n trang thêng ®îc ¸p dông
víi tõng m«®ul ch¬ng tr×nh vµ víi ph¬ng ph¸p qu¶n lý d÷
liÖu kiÓu ph©n trang.

256
Bµi 2. C¸c chiÕn lîc qu¶n lý bé nhí
 1)ChiÕn lîc ph©n ch¬ng cè ®Þnh
 2)ChiÕn lîc ph©n ch¬ng ®éng
 3)ChiÕn lîc ph©n ®o¹n bé nhí
 4)ChiÕn lîc ph©n trang bé nhí
 5)ChiÕn lîc ph©n trang kÕt hîp ph©n ®o¹n
257
1)ChiÕn lîc ph©n ch¬ng cè
®Þnh
 bé nhí ®îc chia thµnh n phÇn , mçi phÇn sö dông nh mét
bé nhí ®éc lËp, gäi lµ mét ch¬ng.
 bé nhí ®îc ph©n ra bao nhiªu ch¬ng - > cã thÓ n¹p vµo
bÊy nhiªu ch¬ng tr×nh vµ tæ chøc thùc hiÖn ®ång thêi
c¸c ch¬ng tr×nh
 sè ch¬ng tr×nh ®ång thêi ®îc ®iÒu khiÓn thùc hiÖn ->
hÖ sè song song cña hÖ thèng.
 n ch¬ng -> hÖ thèng cã hÖ sè song song kh«ng vît qu¸
n.
 V× ®îc thùc hiÖn nh mét bé nhí ®éc lËp nªn mçi ch¬ng
tr×nh cã mét danh s¸ch qu¶n lý bé nhí tù do cha sö dông
riªng.
 Mét ch¬ng tr×nh ®îc n¹p vµo ch¬ng nµo sÏ tån t¹i ë ®ã
cho ®Õn khi kÕt thóc.
258
- ¦u nhîc ®iÓm:

 ChiÕn lîc nµy cã u ®iÓm lµ ®¬n gi¶n, ®Ó tæ chøc b¶o vÖ, gi¶m thêi gian
t×m kiÕm. ChÝnh v× vËy nã ®îc ¸p dông phæ biÕn trong viÖc qu¶n lý c¸c
®Üa tõ dung lîng lín, trong ph©n phèi bé nhí c¸c m¸y SERVER phôc vô
m¹ng.
 Nhîc ®iÓm cña chiÕn lîc nµy lµ bé nhí bÞ ph©n ®o¹n do ®ã cã thÓ cã hai
kh¶ n¨ng x¶y ra: tæng bé nhí tù do cßn lín nhng kh«ng thÓ sö dông ®Ó n¹p
tiÕp ch¬ng tr×nh kh¸c. Kh¶ n¨ng thø hai lµ toµn bé nhí ®ang r¶nh nhng v×
ch¬ng t×nh cã kÝch thíc lín h¬n kÝch thíc ch¬ng lín nhÊt. Ch¬ng tr×nh ®ã
sÏ kh«ng bao giê thùc hiÖn ®ùîc khi ch¬ng bé nhí kh«ng bÞ ph©n l¹i.
 Mçi ch¬ng ®îc g¾n víi mét sè líp phôc vô. Ch¬ng tr×nh tríc khi n¹p vµo hÖ
thèng còng ®îc ph©n líp theo khai bãa cña ngêi sö dông. Mçi ch¬ng chØ
phôc vô c¸c ch¬ng tr×nh thuéc líp m×nh qu¶n lý. Nh vËy ta cã thÓ tr¸nh ®îc
viÖc n¹p ch¬ng tr×nh nhá vµo vïng bé nhí lín, tr¸nh l·ng phÝ bé nhí.
 §Ó söa ®æi cÊu tróc ch¬ng, ®¬ng nhiªn chØ cÇn n¹p l¹i hÖ ®iÒu hµnh, nh-
ng nh vËy, ®Ó tr¸nh mÊt hÕt th«ng tin, ta ph¶i chê mäi ch¬ng tr×nh kÕt
thóc. C«ng cô söa ®æi cÊu tróc ch¬ng tr×nh cho phÐp kÕt hîp vµi ch¬ng
kÕ nhau thµnh mét ch¬ng kÝch thíc lín h¬n. Th«ng tin ë c¸c vïng kh¸c vÉn
®îc b¶o toµn.
259
 - Ph¬ng ph¸p qu¶n lý bé nhí: ë chiÕn lîc nµy bé
nhí chØ cã mét danh s¸ch qu¶n lý bé nhí tù do
thèng nhÊt. Khi cÇn thùc hiÖn ch¬ng tr×nh hÖ
thèng sÏ ph©n phèi vïng bé nhí thÝch hîp, lËp
phiÕu qu¶n lý riªng, t¹o thµnh mét vïng bé nhí
®éc lËp. Nh vËy nÕu c¸c ch¬ng tr×nh bÐ th×
ngêi ta cã thÓ n¹p vµo bé nhí vµ ®ång thêi thùc
hiÖn nhiÒu ch¬ng tr×nh. Ngîc l¹i khi ch¬ng tr×nh
cã kÝch thíc lín th× chØ ®¬n thuÇn gi¶m hÖ sè
song song cña hÖ thèng.
260
¦u nhîc ®iÓm
 ¦u:
• kh«ng ph¶i sao chÐp c¸c m« ®ul ch¬ng tr×nh ®iÒu
hiÓn thµnh nhiÒu phiªn b¶n vµ ghi vµo nhiÒu n¬i
 nhîc ®iÓm:
• g©y ra hiÖn tîng ph©n ®o¹n bé nhí: sau mét kho¶ng
thêi gian ho¹t ®éng liªn tôc c¸c ch¬ng tr×nh ph©n bè
r¶i r¸c kh¾p n¬i vµ bé nhí tù do cã xu híng chia thµnh
nhiÒu m¹ch nhá. Do ®ã hÖ thèng vÉn qu¶n lý ®Çy
®ñ nhng kh«ng sö dông ®îc c¸c vïng bé nhí cßn
trèng.
• §Ó kh¾c phôc ph¶i trang bÞ c«ng cô bè trÝ l¹i bé nhí
-> SWAPPING
261
Swapping
 .bè trÝ l¹i lµ:
 - T×m thêi ®iÓm thÝch hîp lÇn lît dõng c¸c ch-
¬ng tr×nh ®ang thùc hiÖn
 - §a mét sè hoÆc tÊt c¶ c¸c ch¬ng tr×nh ë bé
nhí trong cïng víi tr¹ng th¸i cña nã ra bé nhí
ngoµi, tr¶ bé nhí ph©n phèi vÒ cho m« ®ul qu¶n
lý cña hÖ thèng.
 - T¸i ®Þnh vÞ ch¬ng tr×nh tõ bé nhí ngoµi vµo
bé nhí trong, kh«i phôc tr¹ng th¸i ra tiÕp tôc thùc
hiÖn.
262
2
4
6
2
4
6
B


n
h


t


d
o
263
 §©y lµ mét c«ng viÖc hÕt søc phøc t¹p vµ tèn thõi gian. Thêi ®iÓm
thÝch hîp ®Ó dõng ch¬ng tr×nh lµ thêi ®iÓm c¸c gi¸ trÞ ®· ®îc tÝnh
xong vµ lu vµo bé nhí hay thanh ghi. ChØ cã lóc ®ã ta míi lu vµ kh«i
phôc tr¹ng th¸i c«ng viÖc ®îc.
 Do viÖc ®a ch¬ng tr×nh ra vµ ®Þnh vÞ l¹i cïng víi viÖc kh«i phôc
tr¹ng th¸i lµ phøc t¹p nªn ngêi ta cã thÓ kh«ng cÇn ®a hÕt mäi ch-
¬ng tr×nh ra. Mçi khi mét ch¬ng tr×nh ®îc ®a ra ngoµi bé nhí ph©n
phèi cho nã ®îc gi¶i phãng vµ cã kh¶ n¨ng møc ®é ph©n ®o¹n toµn
bé nhí gi¶m. Qu¸ tr×nh ®a ra ®Ó sau ®ã bè trÝ l¹i cã thÓ dõng th×
t×m ®îc vïng bé nhí tù do thÝch hîp hoÆc gi¶m hÖ sè ph©n ®o¹n
xuèng møc an toµn.
 ViÖc t¸i ®Þnh vÞ hoÆc lµ v« cïng phøc t¹p, phøc t¹p h¬n c¶ ch¬ng
tr×nh biªn tËp, liªn kÕt v× ch¬ng tr×nh øng dông cã thÓ ho¹t ®éng
theo nguyªn lý macro processor: t¹o ra c¸c c©u lÖnh vµ thùc hiÖn
trong qu¸ tr×nh lµm viÖc. §Ó hÖ thèng dÔ dµng ph©n biÖt ®©u lµ
d÷ kiÖn ®éng, phô thuéc vµo vÞ trÝ ®Þnh vÞ c¸c lo¹i m¸y vµ hÖ
thèng kh¸c nhau cã nh÷ng c¬ chÕ kh¸c nhau gióp ch¬ng tr×nh bè
trÝ l¹i kh«ng lµm lÉn gi÷a c¸c ®Þa chØ vµ h»ng.
264
ChiÕn lîc ph©n ®o¹n bé nhí
( Segmentation)
 Nhîc ®iÓm cña c¸c chiÕn lîc trªn lµ kh«ng thùc hiÖn ®îc
c¸c ch¬ng tr×nh cã kÝch thíc lín h¬n kÝch thíc bé nhí vËt
lý. Ngoµi ra hÖ sè tÝch cùc cña c¸c byte trong bé nhí
còng kh«ng ®Òu. Nh÷ng byte ®îc gäi lµ tÝch tùc nÕu
néi dung cña nã ®îc sö dông ®Ó thùc hiÖn c¸c c©u lÖnh
trong thêi ®iÓm quan s¶t. NÕu kho¶ng thêi gian quan s¸t
kh«ng qu¸ bÐ (®é vµi phÇn tr¨m gi©y cho c¸c m¸y tÝnh
hiÖn ®¹i) mét chiÕn lîc sö dông bé nhí tèt lµ chiÕn lîc
cho tËp c¸c byte tÝch cùc lín.
 Ngêi sö dông hoµn toµn kh«ng quan t©m ch¬ng tr×nh
cña hä ®îc bè trÝ nh thÕ nµo trong bé nhí: liªn tôc hay
kh«ng liªn tôc. V× vËy cã thÓ biªn tËp riªng tõng m« ®ul
vµ x©y dùng b¶ng th«ng tin cho biÕt ch¬ng tr×nh sö
dông m« ®ul nµo, ®é dµi c¸c m« ®ul ®ã lµ bao nhiªu.
B¶ng th«ng tin nµy ®îc gäi lµ SCB (Segment Control
Block – b¶ng qu¶n lý ph©n tin ®o¹n).
265
m
0
m1
m2
m3
SCB
(Segment Control Block)
SCB = {Phần tử}
D A l
Dấu hiệu nạp mô
đun:
0 - Chƣa nạp,
1 - đã nạp.
Địa chỉ nạp mô đun
Độ dài mô đun
- Cấp phát bộ
nhớ,
- Bảo vệ,
266
 Khi thùc hiÖn SCB ®îc n¹p vµo trong bé nhí. §Þa chØ ®Çu cña nã
®ùoc ®a vµo thanh ghi qu¶n lý ®o¹n Rs.
 §Þa chØ truy nhËp d÷ liÖu ®îc biÓu diÔn díi d¹ng cÆp (s,d), trong
®ã s lµ sè hiÖu segment (m« ®ul) cÇn truy nhËp vµ d- ®Þa chØ t-
¬ng ®èi tÝnh tõ ®Çu segment.
 §Ó truy nhËp tíi mét d÷ liÖu cÇn ph¶i hai lÇn híng tíi bé nhí. LÇn
thø nhÊt hÖ thèng lÊy néi dung cña thanh ghi qu¶n lý ®o¹n Rs céng
víi s vµ tõ ®ã t×m ®îc phÇn tö thø s trong Control Block. NÕu dÊu
hiÖu D cña phÇn tö lµ 0 th× hÖ thèng sÏ lµm c¸c thñ tôc n¹p m« ®ul
vµo bé nhí, xin cÊp ph¸t bé nhí ( theo kÝch thíc ghi ë trêng L), t×m
m« ®ul t¬ng øng ë bé nhí ngoµi, ®äc vµ ®Þnh vÞ vµo vïng bé nhí
®îc cÊp ph¸t vµ sau ®ã söa l¹i néi dung trêng ®Þa chØ A ®Ó nã
chØ tíi m« ®ul thø s. DÜ nhiªn nÕu kh«ng t×m ®îc th× hÖ thèng sÏ
b¸o lçi vµ ngõng thùc hiÖn. DÊu hiÖu D b»ng 1 chøng tá m« ®ul ®·
®îc nhËp vµo bé nhí.
 Nh vËy sím hay muén dÊu hiÖu D còng sÏ ®îc x¸c lËp b»ng 1, hÖ
thèng sÏ lÊy néi dung trêng ®Þa chØ A céng víi D, truy nhËp tíi bé
nhí lÇn thø hai theo ®Þa chØ tÝnh ®ùoc ®Ó ®äc hay ghi d÷ liÖu.
267

1
.


.


.
.

.

.
300
314
315
300
R
s
=
15 4532
s d
+
12352
12352
1000
+
16884
1
0
0
0
Mô đun 15
RAM
RAM
268
¦u nhîc ®iÓm,

 u ®iÓm : kh«ng ®ßi hái c«ng cô tæ chøc
®Æc biÖt -> cã thÓ ¸p dông trªn m¸y bÊt
kú.
 nhîc ®iÓm : hiÖu qu¶ sö dông bé nhí phô
thuéc vµo cÊu tróc ch¬ng tr×nh do ngêi sö
dông viÕt.
269
- Ph©n ®o¹n ngoµi vµ bè trÝ l¹i
(swapping).

 sau mét thêi gian lµm viÖc bé nhí bÞ ph©n ®o¹n
ngoµi -> cÇn c«ng cô bè trÝ l¹i.
 ViÖc bè trÝ l¹i ®¬n gi¶n v× cã sù hç trî cña SCB.
• PhÇn tö t¬ng øng sÏ bÞ ®¸nh dÊu 0 ë trõêng D vµ bé
nhí x¸c ®Þnh theo hai trêng cßn l¹i tr¶ vÒ danh s¸ch
qu¶n lý bé nhí tù do.
 xuÊt hiÖn nhu cÇu bè trÝ l¹i -> chän m« ®ul ®Ó
®a ra.
• - §a ra m« ®ul tån t¹i nhÊt trong bé nhí.
• - §a ra m« ®ul cã lÇn sö dông cuèi cïng c¸ch ®©y l©u
nhÊt.
• - §a ra m« ®ul cã tÇn suÊt sö dông thÊp nhÊt.
270
ChiÕn lîc ph©n trang
 Ph¬ng ph¸p qu¶n lý bé nhí: bộ nhớ được chia làm
những phần bằng nhau gọi là trang.
 các trang được đánh số thứ tự từ 0,1,2… trở đi để
tạo thành địa chỉ trang.
 Trang được dùng làm đơn vị phân phối bộ nhớ.
 Để truy nhập tới dữ liệu địa chỉ truy nhập được
biểu diễn dưới dạng (p,d) trong đó
 p- số hiệu trang cần truy nhập, d- địa chỉ tương
đối tính từ đầu trang.
 Thông thường kÝch thíc trang là kích thước là lũy
thừa của 2.
271
Page
0
Kích thƣớc
trang:
256B
512B
1 KB
2 KB
4 KB
1
2
3
4
5
6
7
Địa chỉ trang
272
 Số trang bộ nhớ vật lý phụ thuộc vào
• kÝch thước trang,
• kÝch thước bộ nhớ vật lý.
 Số trang của bộ nhớ logic th× tïy ý v× kh«ng cần đưa hết một
lúc c¸c trang vào trong bộ nhớ, những trang chưa đưa vào có
thể lưu trữ ở bộ nhớ ngoài, trªn đĩa từ hoặc các bộ nhớ cã tốc
độ cao hơn (đĩa từ với đầu đọc cố định …)
 C¸c trang bộ nhớ logic khi lưu trữ ở bộ nhớ ngoài chiếm một
vïng bộ nhớ liªn tôc. Nhưng khi được ¸nh xạ vào bộ nhớ vật
lý, kh«ng nhất thiết phải đặt liên tục nhau.
 Lần lượt c¸c trang của một chương trình được nạp vào bộ
nhớ và được ¸nh xạ vào tệp kh«ng sắp xếp c¸c trang vật lý.
 ¸nh xạ mang tính chất bộ phận v× kh«ng phải mọi trang đều
nhất thiết được nạp vào bộ nhớ vật lý ngay cả khi kích thước
cho phÐp
273
 Tổ chức thực hiện: Giả thiết bộ nhớ logic
được tổ chức trên đĩa từ, khi nạp chương
trình vào bộ nhớ hệ thống xây dựng một
bảng quản lý trang – bảng PCB (page
control block).
 Bảng quản lý trang dùng để xác lập quan
hệ giữa trang vật lý và trang logic.
 Bảng quản lý trang bao gồm nhiều phần
tử, mỗi phần tử tương ứng với một trang
logic và có hai trường.
274
PCB = {Phần tử}
D
P
A
P
Dấu hiệu nạp
trang:
0 - Chƣa nạp,
1 - đã nạp.
Địa chỉ nạp trang
275
 Địa chỉ của bảng PCB được nạp vào thanh ghi quản lý trang
Rp.
 Để truy nhập tới dữ liệu hệ thống cần hướng tới bộ nhớ hai
lần:
 lần thứ nhất: hệ thống lấy nội dung Rp cộng với p trong địa
chỉ (p,d) để truy nhập tới phần tử thứ p tương ứng với
trang p cần truy nhập.
• Nếu dấu hiệu D=0 thì có nghĩa trang cần tìm chưa có,
hệ thống sẽ tạo ngắt để nạp trang cần thiết vào bộ nhớ.
• Công việc này do chương trình điều khiển của hệ thống
đảm nhiệm.
• Như vậy sau khi truy nhập tới phần tử thứ p trong PCB,
sớm hay muộn dấu hiệu D của nó cũng được xác lập
bằng 1 và trường Ap sẽ chứa địa chỉ trang trong bộ nhớ
vật lý.
 Tiếp theo, hệ thống lấy địa chỉ trang Ap ghép với d tạo ra
địa chỉ vật lý của dữ liệu đã đưa vào đó truy nhập tới nội
dung địa chỉ để lấy ra câu lệnh hoặc dữ liệu cần tìm.
276
1
.


.


.
.

.

.
400
480
481
400
R
p
=
81 532
p d
+
123
123000
123532
Trang 81
RAM
RAM
S¬ ®å truy nhËp tíi d÷ liÖu
277
 ChiÕn lîc ph©n trang cßn cã u ®iÓm lµ
kh«ng ®Ó x¶y ra hiÖn tîng ph©n ®o¹n
ngoµi bé nhí.
 NÕu cßn bé nhí tù do th× kÝch thíc ph¶i
ph©n trang -> bao giê còng ®ñ chç ®Ó ®a
trang míi vµo
 t×nh tr¹ng thiÕu bé nhí chØ thùc sù x¶y ra
khi tÊt c¶ c¸c trang cña bé nhí vËt lý ®·
thùc sù ®îc sö dông hÕt.
278
 Qua c¸ch tæ chøc thùc hiÖn ch¬ng tr×nh xÐt ë
trªn, ngoµi b¶ng qu¶n lý trang PCB cßn cÇn bé
nhí ®Ó chøa c¸c trang d÷ liÖu vµ ch¬ng tr×nh.
 Sè trang dµnh cho mét ch¬ng tr×nh cµng nhiÒu
th× tèc ®é thùc hiÖn ch¬ng tr×nh cµng cao nhng
hÖ sè song song cµng gi¶m.
 Khi gi¶m sè trang dµnh cho mét ch¬ng tr×nh th×
hÖ sè sãng song t¨ng nhng tèc ®é thùc hiÖn ch-
¬ng tr×nh gi¶m v× thêng xuyªn bÞ r¬i vµo t×nh
tr¹ng thiÕu trang cÇn thiÕt thùc hiÖn.
 HiÖu qu¶ chung cña ph¬ng ph¸p phô thuéc vµo
c¸ch n¹p trang vµ c¸ch thay thÕ trang tÝch cùc.
279
 ChiÕn lîc n¹p trang.
 BiÖn ph¸p ®ơn gi¶n nhÊt lµ n¹p tÊt c¶ mäi trang
cña mét ch¬ng t×nh vµo bé nhí ngay tõ ®Çu, nh
vËy kh«ng thÓ x¶y ra t×nh tr¹ng thiÕu trang tÝch
cùc khi thùc hiÖn.
 ChiÕn lîc ph©n phèi gi¶n ®¬n víi cÊu tróc ph©n
trang.
 Trong chiÕn lîc nµy bé nhí ngoµi kh«ng ®îc sö
dông ®Ó më réng bé nhí trong.
 ¦u ®iÓm cña chiÕn lîc lµ viÖc n¹p vµ ®Þnh vÞ
ch¬ng tr×nh vµo bé nhí trong hÕt søc ®¬n gi¶n
 kh«ng ph¸t huy ®îc c¸c u ®iÓm ®Æc thï cña cÊu
tróc ph©n trang.

280
ph¬ng ph¸p n¹p tríc
 cho phÐp gi¶m kh¶ n¨ng thiÕu trang tÝch cùc mµ kh«ng
cÇn dïng tíi kh«ng gian nhí vËt lý qu¸ lín
 Ph¬ng ph¸p cho phÐp ngêi sö dông t¹o ch¬ng tr×nh ë
bé nhí logic víi kÝch thíc tïy ý, ®ång thêi hÖ thèng cã
thÓ duy tr× hÖ sè song song cÇn thiÕt cho ho¹t déng cã
hiÖu qu¶ cña toµn hÖ thèng.
 §iÓm mÊu chèt cña n¹p tríc lµ dù b¸o trang tÝch cùc s¾p
cÇn tíi trong qu¸ tr×nh.
• NÕu x¸c ®Þnh ®îc ®óng, cã thÓ n¹p tríc c¸c trang nµy
vµo bé nhí vµ gi¶m trêng hîp thiÕu trang khi thùc
hiÖn ch¬ng tr×nh.
• viÖc dù b¸o trang nµo s¾p ®îc sö dông lµ cùc ký khã
kh¨n.
 Trong chÕ ®é n¹p tríc chi phÝ n¹p tríc c¸c trang kh«ng
dïng ®Õn cã thÓ vît xa chi phÝ dµnh cho viÖc n¹p c¸c
trang thùc sù ®îc sö dông.
281
 Th«ng thêng ph¬ng ph¸p n¹p theo yªu cÇu
hay ®îc dïng :
 trang chØ ®îc n¹p khi xuÊt hiÖn yªu cÇu
truy nhËp tíi d÷ liÖu trong trang.
 mäi lÇn n¹p trang ®Òu thùc sù lµ cÇn
thiÕt.
 Khi cã c¸ch ph©n bè trang hîp lý, c¸ch tæ
chøc t×m kiÕm tèt c¸c trang ë bé nhí ngoµi
c¬ chÕ ph©n trang sÏ ®¶m b¶o hiÖu qu¶
khai th¸c trong chÕ ®é cã hÖ sè song
song cao.
282
ChiÕn lîc ®æi trang
 NÕu vÉn cßn bé nhí tù do th× kh«ng cÇn thiÕt ph¶i thay
trang.
 Khi thiÕu bé nhí, ta ph¶i ®a mét trang nµo ®ã ra bé nhí
ngoµi, ®a trang kh¸c cÇn thiÕt cho viÖc tiÕp tôc thùc
hiÖn ch¬ng tr×nh vµo bé nhí.
 Tån t¹i nhiÒu ph¬ng ph¸p chän trang ®a ra, gi¶i phãng
chç cho trang míi.
 §Ó cùc tiÓu hãa sè phÐp xö lý thùc hiÖn, hÖ thèng ph¶i
kh¶o s¸t thuéc tÝnh cña trang cÇn gi¶i phãng. T tëng chñ
®¹o lµ ph¶i thay thÕ trang mµ lÇn sö dông tiÕp theo
cµng xa cµng tèt.
 Trêng hîp lý tëng lµ trang kh«ng cßn cÇn thiÕt cho viÖc
thùc hiÖn ch¬ng tr×nh.
283
 Hai ph¬ng ph¸p ®¬n gi¶n ®Ó tæ chøc lµ thay vßng trßn hoÆc thay
ngÉu nhiªn c¸c trang ®ang dïng.
• trong trêng hîp nµy kh¶ n¨ng thay trang cßn dïng lµ kh¸ lín.
 chän trang thay thÕ theo quy t¾c “n¹p tríc th× bÞ thay thÕ tríc” ( quy
t¾c FIFO).
• trang cã mÆt l©u nhÊt trong bé nhí ( cña ch¬ng tr×nh nµy) sÏ bÞ
thay thÕ.
• NÕu ch¬ng tr×nh x©y dùng theo quy t¾c tuyÕn tÝnh th× qu¶
thËt ®©y lµ mét quy t¾c tèt.
• Víi c¸c ch¬ng tr×nh x©y dùng theo kiÓu lËp tr×nh cÊu tróc quy
t¾c cã thÓ dÉn ®Õn viÖc ®a ra trang quan träng.
• Tuy v©yph¬ng ph¸p nµy vÉn hÊp dÉn ngêi thiÕt kÕ v× tÝnh ®¬n
gi¶n. Ch¬ng tr×nh ph©n phèi bé nhí chØ viÖc theo dâi qu¸ tr×nh
n¹p trang, x¸c ®Þnh tr×nh tù u tiªn ®a ra.
• Sè lîng trang vËt lý cè ®Þnh -> kh«ng cã khã kh¨n trong tæ
chøc thùc hiÖn.
284
 Mét ph¬ng ph¸p c¶i tiÕn lµ ®a ra trang cã lÇn
sö dông cuèi cïng c¸ch ®©y l©u nhÊt (Ph¬ng
ph¸p LRU- Last Recently Used).
 Ph¬ng ph¸p nµy dùa trªn gi¶ thiÕt ch¬ng tr×nh
có tÝnh côc bé hãa trong sö dông, kh«ng cã c¸c
lÖnh chuyÓn ®iÒu khiÓn ®i xa c©u lÖnh ®ang
thùc hiÖn
 Tuy ph¬ng ph¸p nµy kh«ng ®¶m b¶o tèi u hãa
trong mäi trêng hîp nhng trªn thùc tÕ nã còng ®ñ
hiÖu qu¶ v× vËy ®îc øng dông kh¸ réng r·i.
 Nhîc ®iÓm chÝnh cña LRU lµ chi phÝ thùc hiÖn
cao. §Ó x¸c ®Þnh trang ®a ra cÇn ®Þnh kú rµ
so¸t kiÓm tra, thèng kª xem nh÷ng trang vµo ®·
®îc sö dông.
285
 Th«ng thêng ph¶i x©y dùng c¸c khèi qu¶n lý cho
tõng trang vµ cã bit riªng ®¸nh dÊu truy nhËp.
 Bit nµy ®îc x¸c ®Þnh b»ng 1 khi cã truy nhËp tíi
trang.
 Ch¬ng tr×nh thèng kª sÏ ®¸nh dÊu thêi ®iÓm
truy nhËp vµ xãa bit ®¸nh dÊu.
 NÕu trong qu¸ tr×nh kiÓm tra bit ®¸nh dÊu cã gi¸
trÞ b»ng kh«ng th× cã nghÜa lµ tõ lÇn kiÓm tra
tríc ®Õn thßi ®iÓm nµy cha cã lêi gäi nµo tíi
trang ®ang xÐt.
 ViÖc x¸c lËp gi¸ trÞ 1 cho bit kiÓm tra t®îc thùc
hiÖn b»ng c¸c ph¬ng tiÖn kü thuËt.
286
 Song song víi viÖc x¸c ®Þnh thêi ®iÓm gäi cña trang,
thèng kª sè lÇn truy nhËp ®Ó tõ ®ã cã thÓ tÝnh tÇn
suÊt truy nhËp.
 Dùa trªn thèng kª nµy -> tæ chøc mét chiÕn lîc thay thÕ
kh¸c- chiÕn lîc LFU (Last frequently Used) thay thÕ
trang cã tÇn suÊt sö dông lín nhÊt.
 C¸c chiÕn lîc thay trang nãi trªn cã thÓ ¸p dông chung
cho toµn bé hÖ thèng hoÆc ¸p dông côc bé cho tõng ch-
¬ng tr×nh ®ang thùc hiÖn.
 Khi ¸p dông thay thÕ chÕ ®é thay thÕ côc bé hÖ thèng
ph¶i lu tr÷ kÝch thíc bé nhí dïng cho toµn ch¬ng tr×nh vµ
cÇn lu ý tr¸nh hiÖn tîng ph©n phèi bé nhí kh«ng ®Òu
gi÷a c¸c ch¬ng tr×nh xuÊt hiÖn khi khëi t¹o c¸c nhiÖm vô
trong chÕ ®é ®a ch¬ng tr×nh.
287
 ChiÕn lîc n¹p trang theo yªu cÇu gi¶i phãng ngêi sö dông
khái viÖc cung cÊp c¸c th«ng tin phô hoÆc tù m×nh
®iÒu khiÓn qu¸ t×nh thay ®æi trang.
 chi phÝ tæ chøc c¬ chÕ ph©n trang lín v× ph¶i ®Çu t kü
thuËt ®¶m b¸o qu¸ tr×nh biÕn ®æi ®Þa chØ khi ®Þnh
vÞ trang.
 Trong mét sè trêng hîp, bªn c¹nh ph¬ng tiÖn kü thuËt
vÉn ph¶i tèn thªm thêi gian xö lý b»ng con ®êng ch¬ng
tr×nh.
 HÖ thèng còng ph¶i tèn nhiÒu tµi nguyªn ®Ó ®¸nh dÊu
qu¸ tr×nh truy nhËp trang vµ trao ®æi vèn bé nhí ngoµi
khi thay trang truy nhËp.
 Tæng thêi gian thùc hiÖn ch¬ng tr×nh t¨ng khi thêng
xuyªn ph¶i n¹p l¹i trang.
288
 C¬ chÕ ph©n trang ®¶m b¶o ®îc hÖ sè song song cao,
nã cha gi¶i quyÕt hÕt mäi vÊn ®Ò n¶y sinh ®Ó ®¶m
b¶o hiÖu qu¶ khai th¸c tèi ®a.
 KÝch thíc ch¬ng t×nh vµ d÷ lieôe nãi chung kh«ng h¹n
chÕ, nhng khi bé nhí logic dµnh cho ch¬ng tr×nh vµ d÷
liÖu qu¸ lín th× b¶ng qu¶n lý trang PCB còng lín theo vµ
hÖ thèng ph¶i tèn nhiÒu bé nhí vËt lý lu tr÷ PCB phôc vô
thùc hiÖn.
 Trªn thùc tÕ, còng nh b¶n th©n ch¬ng tr×nh, chØ mét
phÇn b¶ng PCB lµ cã t¸c dông tÝch cùc vµ trùc tiÕp
trong ®iÒu ®é thùc hiÖn c«ng viÖc v× vËy cã thÓ n©ng
cao hiÖu qu¶ c¬ chÕ ph©n trang qua viÖc c¶i tiÕn c¸ch
xö lý PCB.

289
 chän kÝch thíc trang thÝch hîp.
 HiÖu qu¶ cña c¬ chÕ ph©n trang phô thuéc nhiÒu vµo kÝch
thíc trang.
 NÕu kÝch thíc trang qu¸ bÐ b¶ng PCB sÏ lín vµ kh¶ n¨ng ph¶i
thêng xuyªn n¹p l¹i trang còng lín khi hÖ thèng ho¹t ®éng ë
gÇn kh¶ n¨ng tíi h¹n.
 NÕu kÝch thíc trang lín th× ¶nh hëng cña hiÖn tîng ph©n
®o¹n trong- trang kh«ng ®îc sö dông hÕt sÏ t¸c ®éng ®¸ng kÓ
®Õn hiÖu qu¶ sö dông bé nhí.
 kÝch thíc trang ph¶i ®îc chän mét c¸ch hîp lý vµ thêng dao
®éng trong ph¹m vi 28 ®Õn 210 bytes.
 C¸c hÖ thèng cña IBM thêng chän kÝch thíc trang b»ng 512
byte theo truyÒn thèng.
 C¸c m¸y IBM PC hiÖn nay cã bé nhí trong kh¸ lín -> kÝch thíc
trang 4 kb trªn thùc tÕ kh«ng ph¶i lµ qu¸ lín.
290
ChiÕn lîc kÕt hîp ph©n trang -
®o¹n
 Ph¬ng ph¸p qu¶n lý bé nhí: ChiÕn lîc ph©n
trang ®¶m b¶o hiÖu qu¶ sö dông bé nhí cao,
kh«ng phô thuéc cÊu tróc ch¬ng tr×nh ngêi sö
dông.
 §Ó kh¾c phôc c¸c nhîc ®iÓm cña chiÕn lîc
ph©n trang sö dông chiÕn lîc kÕt hîp ph©n
trang- ®o¹n.
 Trong chiÕn lîc nµy ch¬ng tr×nh còng ®îc biªn
tËp theo chÕ ®é ph©n ®o¹n vµ t¹o ra b¶ng qu¶n
lý ®o¹n SCB, nhng sau ®ã mçi ®o¹n (segment)
l¹i ®îc biªn tËp theo trang vµ t¹o ra PCB riªng cña
tõng ®o¹n.
291
Dấu hiệu nạp
PCB:
0 - Chƣa nạp,
1 - đã nạp.
SCB = {Phần tử}
D A l
Địa chỉ nạp PCB
Độ dài PCB
- Cấp phát bộ
nhớ,
- Bảo vệ,
292
 Trêng ®ịa chØ A cña phÇn tö thø I trong SCB
b©y giê lµ n¬i chứa b¶ng PCBi nÕu nã ®· ®ùoc
n¹p vµo bé nhí, trêng L chia ®é dµi cña PCBi.
 Khi thùc hiÖn ch¬ng tr×nh SCB t¬ng øng sÏ ®îc
n¹p vµo bé nhí vµ ®Þa chØ ®Çu cña nã còng ®-
îc ®a vµo thanh ghi qu¶n lý ®o¹n Rs. §Þa chØ
truy nhËp tíi d÷ liÖu ®îc biÓu diÔn díi d¹ng
nhãm ba (s,p,d), trong ®ã s lµ segment cÇn truy
nhËp, p lµ sè hiÖu trang trong segment vµ d lµ
®Þa chØ t¬ng ®èi tÝnh tõ ®Çu trang.
293
 §Ó truy nhËp tíi d÷ liÖu hÖ thèng cÇn ba lÊn h-
íng tíi bé nhí:
 1)LÊy néi dung Rs céng víi s vµ truy nhËp tíi
phÇn tö thø s cña SCB.
 2) NÕu D b»ng 0 th× lµm thñ tôc n¹p PCB thø I
vµo bé nhí vµ cËp nhËp néi dung c¸c trêng D.A.
Khi D b»ng 1 hÖ thèng céng néi dung trêng A víi
p ®Ó truy nhËp tíi phÇn tö thø p trong PCB.
 3) Chê ®îi ®Õn khi dÊu hiÖu p cña phÇn tö t×m
®îc b»ng 1 th× ghÐp néi dung cña trêng ®Þa
chØ Ap t¬ng øng víi d, híng tíi bé nhí lÇn thø ba
®Ó lÊy hoÆc ghi d÷ liÖu.
294
 Trong chiÕn lîc nµy bé nhí thêng ®îc chia lµm ba phÇn,
t¬ng øng chøa SCB, PCB vµ c¸c trang. B¶n th©n bé nhí
dµnh cho SCB vµ PCB còng thêng ®îc qu¶n lý theo chÕ
®é ph©n trang.
 ChiÕn lîc nµy cã nhiÒu u ®iÓm nªn nã thêng ®îc ¸p
dông trong c¸c hÖ thèng m¸y tÝnh vµ hÖ thèng hiÖn ®¹i.
 C¸c m¸y IBM PC tõ AT 386 trë lªn ®Òu cã chÕ ®é qu¶n
lý theo chiÕn lîc nµy.
 Khi thiÕu bé nhí hÖ thèng cã thÓ ph¶i bè trÝ l¹i c¸c
trang d÷ liÖu hoÆc trang bé nhí phôc vụ PCB.
 §Ó ®¶m b¶o truy nhËp hîp thøc trong chÕ ®é dùng
chung m« ®ul ch¬ng tr×nh con, mçi khi cÇn nhËp vïng
nhí chøa PCB hÖ thèng sÏ phong táa kh«ng cho truy
nhËp tíi SCB.
295
6)Tæ chøc vµ qu¶n lý bé nhí trong
IBM PC
 - Máy PC XT : chỉ thực hiện được một chế độ
quản lý gọi là chế đố thực (real mode). Không
gian bộ nhớ vật lí và không gian bộ nhớ lôgic là
trùng nhau.
 - PC AT 286 thực hiện được cả hai chế độ quản lí
bộ nhớ là chế độ thực (real mode) và chế độ bảo
vệ (protect mode). Cách quản lý ở chế độ protect
mode là theo kiểu phân đoạn.
 - PC AT 386 có hai chế độ quản lí bộ nhớ là chế
độ thực (real mode) và chế độ bảo vệ (protect
mode). Ở chế độ bảo vệ, cách quản lí được thực
hiện theo hai kiểu phân đoạn và phân trang
296
 M¸y XT cã dung lîng bé nhí: 64K, 128K, 256K,
512K, 640K
 M¸y AT 286 : 640 K +384 K. Vïng 384K ®îc gäi
lµ Himem.
 M¸y AT 386 : 640 K + 384 K + vïng >1 M
 Vïng 640 K ®îc gäi lµ vïng bé nhí c¬ së (Base)
 384 K gäi lµ Himem hay Expand memory.
 Víi c¸c m¸y 386 th× ngêi ta gäi lµ Upper Memory.
 Vïng bé nhí lín h¬n 1 M ngêi ta gäi lµ Extent
Memory
297
 C¸c møc ®Æc quyÒn (Privilege Level – PL) cña
c¸c m¸y 80386: cã 4 møc tõ 0 ®Õn 3.
 Møc 0 – H¹t nh©n: Gåm c¸c ch¬ng tr×nh c¬ së
qu¶n lÝ tµi nguyªn cña m¸y vµ bé nhí. h¹t nh©n
ph¶i gän vµ cã kh¶ n¨ng vËn hµnh tèt.
 Møc 1 – Qu¶n lÝ thiÕt bÞ: Chøa tÊt c¶ c¸c phÇn
mÒm liªn quan ®Õn H§H nh qu¶n lÝ c¸c cæng
vµo/ra, n¹p c¸c c¸c thuËt to¸n trao ®æi.
 Møc 2 – Qu¶n lÝ file: Bao ggåm c¸c chøc n¨ng
qu¶n lÝ file, qu¶n lÝ th viÖn.
 Møc 3 – Giµnh cho ch¬ng tr×nh øng dông.
298
 Nguyªn t¾c truy
nhËp: ch¬ng tr×nh
cña mét møc u tiªn
chØ ®îc phÐp gäi vµ
sö dông d÷ liÖu cña
ch¬ng tr×nh b»ng
hoÆc kÐm møc u tiªn
h¬n.
 Vd: ch¬ng tr×nh ë
møc 1 chØ ®îc gäi vµ
sö dông d÷ liÖu ch-
¬ng tr×nh ë møc 1,2,
vµ 3.
3
0
1
2
Nhân
Q
L
F
ile
s
T
h
i
ế
t

b

v
à
Phục vụ
H


t
h

n
g
C
T

n
g
d

n
g
M

c

ư
u

t
i
ê
n
299
 ChÕ ®é Protect Mode: Bé nhí ®îc chia thµnh c¸c
khèi
 Mçi khèi ®îc qu¶n lý bëi mét MCB (Memory
Control Block)
 Mçi khèi MCB gåm 16 byte :
• Byte ®Çu chøa kÝ tù „M‟ hoÆc „Z‟. NÕu lµ MCB cña
khèi cuèi th× ®ã lµ kÝ tù „Z‟, c¸c khèi cßn l¹i th× ®ã lµ
kÝ tù „M‟.
• 2 bytes tiÕp chøa ®Þa chØ ®äan m· n¹p vµo khèi
nµy.
• 2 bytes tiÕp chøa ®é dµi ®äan m· ®ã.
• 11 bytes cßn l¹i cha dïng ®Õn.

300
V– QUẢN LÝ FILES VÀ THIẾT BỊ
NGOẠI VI
 Quản lý thiết bị ngoại vi: Cần đảm
bảo hệ thống thích nghi với:
• Số lượng nhiều,
• Chất lượng đa dạng,
• Thuận tiện cho người dùng.
 Quản lý files: Cho phép người dùng:
• Tạo files ở các loại bộ nhớ ngoài,
• Tìm kiếm, truy nhập files,
• Đảm bảo độc lập giữa CT và thiết bị
301
1 – Nguyên tắc phân cấp trong
quản lý thiết bị ngoại vi
 Máy tính thế hệ I và II: Processor làm
việc trực tiếp với thiết bị ngoại vi,
 Hạn chế: Tốc độ - Số lượng - Chủng
loại,
 Từ thế hệ III trở lên:
Processor  TB điều khiển TB ngoại vi
(Control Devices)
(Controllers)
302
Procesor
Controller 1 Controller 2
Controller n
TB Vào/Ra
TB Vào/Ra
TB Vào/Ra
. . .
Kênh
(Channel)
- TB Điều khiển và TB
vào/ra: MT chuyên dụng ž
Hệ lệnh + Ngôn ngữ riêng
- Hoạt động độc lập với
nhau và với Processor.
303
Procesor
Controller 1 Controller 2
Controller n
TB Vào/Ra
TB Vào/Ra
TB Vào/Ra
. . .
Kênh
(Channel)
CT kênh
(Channel Prog)
T
h

c

h
i

n

C
T

K
ê
n
h
Thực hiện công
việc của mình
X


l
ý

n
g

t

v
à
o
/
r
a
Ngắt vào/ra (I/O Interrupt)
Mã trở về (Return Code)
TRAO ĐỔI
VÀO/RA
304
Nguyên tắc phân cấp trong quản lý thiết bị
ngoại vi
 Phép trao đổi vào ra: thực hiện theo
nguyên lý Macroprocessor,
 Với máy vi tính: Thiết bị điều khiển vào
ra ÷ I/O Card,
 Máy Card on Board,
 Khái niệm kênh bó (Multiplex), Card
Multimedia.
305
Kênh Multiplex
CONTROLLER 1
CTRL 11
I/O D
CTRL 11
I/O D
I/O D
Kênh Multiplex
Kênh con
306
2 - KỸ THUẬT PHÒNG ĐỆM
 Khái niệm phòng đệm (Buffer) của OS.
DISK
BUFFER
SYSTEM
a
r
e
a
d
(
f
,
a
)
;
A
M
B
U
F
F
E
R
A
M
W
r
i
t
e
(
f
2
,
a
)
;
S
Y
S
T
E
M
RAM
C
a
c
h
e
307
KỸ THUẬT PHÒNG ĐỆM
 Cơ chế phục vụ phòng đệm,
 Vấn đề đóng file output, FLUSH(F),
 Vai trò phòng đệm:
• Song song giữa trao đổi vào ra và xử lý,
• Đảm bảo độc lập:
 Thông tin và phương tiện mang,
 Bản ghi lô gíc và vật lý,
 Lưu trữ và xử lý,
• Giảm số lần truy nhập vật lý:Giả thiết
mỗi lẩn truy nhập vật lý: 0.01”, truy
nhập kiểu BYTE.
308
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”
309
Các loại phòng đệm
 Phòng đệm chung hoặc gắn với file,
 Các Hệ QTCSDL có hệ thống phòng đệm
riêng để nâng độ linh hoạt và tốc độ xử lý,
 Các loại bộ nhớ Cache và phòng đệm.
 Ba kiểu tổ chức chính:
• Phòng đệm trung chuyển
• Phòng đệm xử lý,
• Phòng đệm vòng tròn.
310
Các loại phòng đệm
 A) Phòng đệm trung chuyển
a
A
M
read(f,a);
G
i
á

t
r


b
i
ế
n
Đặc điểm:
- Vạn năng,
- Hệ số song song cao,
- Tốn bộ nhớ và thời gian
chuyển thông tin trong bộ nhớ.
311
Các loại phòng đệm
 B) Phòng đệm xử lý:

a
A
M
read(f,a);
Đ

a

c
h


b
i
ế
n

t
r
o
n
g

p
h
ò
n
g

đ

m
Đặc điểm:
- Kém vạn năng,
- Hệ số song song thấp,
- Không tốn bộ nhớ và thời
gian chuyển thông tin trong bộ
nhớ.
312
Các loại phòng đệm
 C) Phòng đệm vòng tròn: thường áp
dụng cho các hệ QT CSDL.
XỬ LÝ
ĐỌC GHI
313
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ực hiện: thay thế thiết vị ngoại vi
bằng thiết bị trung gian (Đĩa cứng),
• Xử lý kết thúc:
 Sau khi kết thúc việc thực hiện CT,
 Đưa thông tin ra thiết bị yêu cầu.
314
SPOOL
 Đảm bảo song song giữa xử lý một
CT với trao đổi vào ra của CT khác.
Chƣơng trình
USER’S
DISK
O
S
Thực hiện
chương trình
Xử lý kết thúc
(miễn phí)

315
SPOOL
 Giải phóng hệ thống khỏi sự ràng
buộc về số lượng thiết bị,
 Khai thác thiết bị ngoại vi tối ưu,
 Kỹ thuật lập trình hiệu quả.
 Hệ thống cung cấp các phương tiện
để người dụng tạo SPOOL,
 Ai tạo SPOOL – người đó xử lý kết
thúc.
316


 Giai đoạn thực hiện: với mỗi phép
trao đổi vào ra hệ thống tạo 2 CT
kênh:
• CT kênh I – theo thiết bị yêu cầu,
• CT kênh II – phục vụ ghi CT kênh I ra
thiết bị trung gian,
 Xử lý kêt thúc: Đọc CT kênh đã lưu
và chuyển giao cho kênh.
 Như vậy, mỗi thiết bị sử dụng  file
CT kênh.
317
4 – HỆ THỐNG QUẢN LÝ FILES
 - CSDL quản lý files,
 Hệ thống quản lý files - Hệ QT CSDL.
Hệ thống truy
nhập vật lý (truy
nhập cơ sở)
Hệ thống truy
nhập lô gíc
318
R1
R2
R3
R4
S1
S2
S3
File của User
File lưu trữ
trên đĩa
512 B
512 B
512 B
300 B
300 B
300 B
300 B
300 B
300 B
319
HỆ QT CSDL
Quản lý files
AM
Truy nhập lô
gíc
Truy nhập cơ
sở
Phép trao đổi
vào/ra
Thiết bị vào/ra
- Giao diện tốt,
- Kích thước lớn
- Đặc thù từng hệ thống
- Có công cụ cho phép
- Cơ sở: Lệnh Macro,
- Nén cao
- Vạn năng
A
P
I
USER
HỆ
THỐNG
TB
Kỹ thuật
320
QUẢN LÝ FILE TRONG
WINDOWS
 Mục đích:
• Minh hoạ nguyên lý bảng tham số điều
khiển,
• Tính kế thừa và thích nghi,
• Cơ chế bảo vệ,
• Cách thể hiện một số chế độ quản lý bộ
nhớ (chương tiếp theo).

321
TỔ CHỨC THÔNG TIN TRÊN ĐĨA TỪ

T
r
a
c
k
1
1
1
2
2
2
3
3
3
Sector
Đ

u

t

322
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ới số sector/track,
• Kích thước 1 sector:
 128B
 256B
 512B
 1KB

323
 Cylinder: 0,1,2, . . .
 Đầu từ (Header): 0, 1, 2, . . .
 Cluster:
• Nhóm sectors liên tiếp lôgic,
• Đơn vị phân phối cho người dùng,
• Đánh số: 2, 3, 4, . . .
• Kích thước: 1, 2, 4, 8, 16, 32, 64 (S),
 Địa chỉ vật lý:(H, S, Cyl),
 Địa chỉ tuyệt đối: 0, 1, 2, . . .

CÁC KHÁI NIỆM CƠ BẢN
0 1 2 3 4 . . . . . . . . .
324
CẤU TRÚC THÔNG TIN TRÊN ĐĨA TỪ
MB BS FAT1 FAT2 ROOT FILES
Vùng hệ thống (System Area)
FAT16
MB BS FAT1
Vùng hệ thống (System Area)
FAT32
FAT2
ROOT
FILES
0E
0E
24 24
16
16
1C
1C
11
2C
325
BOOT SECTOR
Đặc thù
Chữ ký
(Signature)
Nhƣ nhau với mọi
đĩa cho mỗi loại
OS
Chương trình
mồi
(Boot Strap
Loader)
Tham số
55AA
326
BOOT SECTOR
Stt Offs
L (Byte)
Ý Nghĩa
1 0 3 Lệnh JMP (EB xx 90)
2 3 8 Tên hệ thống Format đĩa
3 B 2 Kích thước Sector
4 D 1 Sec/Cluster
5 E 2
Địa chỉ tuyệt đối FAT1 trong đĩa lô gíc
6 10
H
1 Số lượng bảng FAT
7 11 2 FAT16: Số phần tử e ROOT
FAT32: 00 00
8 13 2 E sect/Disk (<32MB) hoặc 00 00
327
BOOT SECTOR
9 15 1 Kiểu đĩa từ (F8 – HD, F0 – 1.44MB)
10 16 2 FAT16: E Sec/FAT
FAT32: 00 00
11 18 2 Sec/ Track
12 1A 2
Số đầu từ
13 1C 4
Địa chỉ tuyệt BS trong đĩa vật lý
14 20 4
E Sec / Disk (>32MB) hoặc 0
15 24 4 E Sec / FAT
16 28 2
Flags
17 2A 2
Version
18 2C 4
Địa chỉ ROOT (Cluster)
328

19 30 2
Inf
20 32 2
Địa chỉ lưu BS
21 34 12
10
Dự trữ (00...00)
22 40 1
Địa chỉ ổ đĩa ( 80 – C:)
23 41 1
00
24 42 1
29 – BIOS mở rộng
25 43 4
Serial Number
26 47 11
10
Volume Name
27 52 8
FAT32
329
Boot Sector FAT 16
15 24 1
Địa chỉ ổ đĩa ( 80 – C:)
16 25 1
00
17 26 1
29 – BIOS mở rộng
18 27 4
Serial Number
19 2B 11
10
Volume Name
20 36 8
FAT16
330
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
331
THƢ MỤC
 Đóng vai trò mục lục tra cứu, tìm kiếm,
 Mọi hệ thống đều phải có với những tên khác
nhau (Catalog, Directory, Folder,. . .),
 Bao gồm: Thư mục gốc (ROOT) + Thư mục
con,
 Các hệ thống của Microsoft và OS IBM – cấu
trúc cây,
 UNIX - cấu trúc phân cấp,
 Thư mục = {Phần tử}, mỗi phần tử: 32
10
B
 Phần tử ÷ file,
 Thư mục con và ROOT: File có cấu trúc.
332
Cấu trúc phần tử thư mục tên ngắn
(Phần tử 8.3)
Stt Offs L Ý nghĩa
1 0 8 Tên (Name)
2 8 3 Phần mở rộng (Extention)
3 B 1 Thuộc tính (Attribute)
4 C 2 Thời điểm tạo file
5 E

2 Ngày tạo file
6 10
H
2 Ngày truy nhập gần nhất
7 12 1 00 (Cho NT)
8 13 1 Số 0.1” của thời điểm tạo file
333
Phần tử 8.3
9 14 2 2 bytes cao của cluster xuất
phát
10 16 2 Thời điểm cập nhật cuối cùng
11 18 2 Ngày cập nhật cuối cùng
12 1A 2 2 bytes thấp của cluster xuất
phát
13 1C 4 Kích thước file (Byte)
334
Phần tử 8.3
 Byte số 0: Vai trò đặc biệt.
 00 – Chưa sử dụng, phần tử
chưa sử dụng đầu tiên - dấu
hiệu kết thúc thư mục,
 E5 – (o) Đã bị xoá,
 05 – Tên bắt đầu bằng ký tự o,
 2E 20 (. ) – Phần tử thứ I của
thư mục con,
 2E 2E (..) – Phần tử thứ II của
thư mục con
xx
xx
xx
xx
00
335
.
..
.
..
336
5 bits
Giờ
6 bits
Phút
5 bits
2 Giây
Time
x x x x x x x x x x x x x x x x
7 bits
Năm - 1980
4 bits
Tháng
5 bits
Ngày
Date
x x x x x x x x x x x x x x x x
1998 – 18
1999 – 19
2000 – 20
2001 – 21
Dự trữ thời gian:
1980 + 2
7
-1 = 2107
System
Thuộc tính
0
X
x
0
X
x
3
2
A
x
1
6
D
x

8
V
x

4
S
x

2
H
x

1
R
x
Read Only
Hidden
Vol. Name
Directory
Archive
Reserved
337
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ưu trữ theo
cách đưa vào,
 Nhận dạ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
Lưu trữ tên dài
338
Cấu trúc phần tử tên dài
Stt Offs L Ý nghĩa
1 0 1 Số thứ tự i (64+i)
2 1 10
10
5 ký tự C
1
– C
5
3 B 1 Thuộc tính (00001111
B
)
4 C 1 00 – dấu hiệu phần tử tên dài
5 D 1 E
K
phần tử 8.3
6 E 12
10
C
6
– C
11

7 1A 2 00 00
8 1C 4 C
12
– C
13

339
File Allocation Table
(FAT)
 Chức năng:
• Quản lý bộ nhớ phân phối cho từng file,
• Quản lý bộ nhớ tự do trên đĩa,
• Quản lý bộ nhớ kém chất lượng.
 FAT = {phần tử}
 Phần tử:
• Đánh số:0, 1, 2, . . .
• Từ phần tử số 2: phần tử ÷ Cluster
340
Phần tử
12 bits 16 bits 32 bits
FAT 16
FAT 32
Phần tử 0: Fxx FFF8 FFFFFFF8
Phần tử 1: FFF xx11FF8 0xx11FFFFF8
Bit Shutdown
Bit Diskerror
Bit Shutdown
Bit Diskerror
341
FAT
 Bit Shutdown = 1 – Ra khỏi hệ thống đúng
cách
 Bit Diskerror = 1 – không có lỗi truy nhập đĩa ở
lần truy nhập cuối cùng.

 Từ phần tử 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ần tử tương ứng những Clusters của một
file - tạo thành một danh sách móc nối,
 EOC (End of Cluster Chain) – FFF (FFFF,
FFFFFFFF).

342
FF0
FFF
FF0
5
FFF
4
9
3
7
8
0
1
2
3
4
5
6
7
8
9
6 ž 9 ž 8 ž 7 ž 3 ž 5 ž 4
DISK
C
C
C
I
I
I
RAM
Cluster
xuất phát
FAT
343
MASTER BOOT
55AA
Chương trình
nhận biết cấu
trúc
(Master Boot
Record - MBR)
Đặc thù
Chữ ký
(Signature)
Bảng phân
vùng
Nhƣ nhau với mọi
đĩa cho mỗi loại
OS
FDISK /MBR
344
 Nguyên tắc khai thác HD:
•Chia HD thành các phần, mỗi phần
có kích thước cố định,
•Mỗi phần sử dụng như một đĩa từ
độc lập: Đĩa lô gic ( Logical
Volume).
 OS cho phép tạo các đĩa kích thước
động trong mỗi đĩa lô gic.
MASTER BOOT
345
Cấu trúc bảng phân vùng
 Bảng phân vùng bắt đầu từ địa chỉ 1BE
H
,
 Bảng phân vùng = {4 phần tử},
 Mỗi phần tử sử dụng ÷ Đĩa lô gic,
 Tồn tại cơ chế cho phép tạo nhiều hơn 4 đĩa lô
gíc trên một đĩa vật lý.
Địa chỉ vật lý
đầu
Địa chỉ vật lý
cuối
Địa chỉ tuyệt
đối đầu
Tổng số
Sectors
4 Bytes
4 Bytes 4 Bytes 4 Bytes
346
Cấu trúc phần tử bảng phân vùng
Địa chỉ vật lý
đầu
Địa chỉ vật lý
cuối
Địa chỉ tuyệt đối
đầu
Tổng số Sectors
4 Bytes
4 Bytes 4 Bytes 4 Bytes
SYS H S Cyl
x x x x x x x x x x x x x x x x

6 bits Sector
2
8
10 bits Cylinder
Type H S Cyl
x x x x x x x x x x x x x x x x
6 bits Sector
2
8
10 bits Cylinder
00 – Cấm truy nhập, 0B – FAT32 ( s 2047 GB)
01 – DOS12, 0C – ~ 0B, chế độ LBA,
04 – DOS16, 0E– ~ 06, chế độ LBA,
06 – BIGDOS, 0F– ~ 05, chế độ LBA,
05 – Mở rộng (Extended)
347
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
348
Truy nhập Boot Sector
 Dùng các hàm API,
 Chương trình đọc và đưa ra màn hình nộ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;
349
I := 0;
Repeat
with reg do
begin
dl := 0; { 0 -> A:, 128 -> C:}
dh := 0; {Đầu từ}
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;
350
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]));
351
writeln;
if i = 255 then c:= readkey
end
end;
Repeat
Until keypressed
END.
352
winnt
 1. Có khả năng mở rộng (extensibility) : có thể nâng
cấp dễ dàng nhờ vào kiến trúc phân lớp, thiết kế đơn thể
 2. Dễ mang chuyển (portability) : có thể thi hành trên
nhiều cấu hình phần cứng (bao gồm nhiều họ CPU khác
nhau)
 3. Có độ tin cậy cao (reliability) : có khả năng phục
hồi lỗi, bảo đảm an toàn và bảo mật
 4. Có tính tương thích mạnh (compatability) : có thể
thi hành các ứng dụng MS-DOS, 16-bit Win, Win32,
OS/2 & POSIX
 5. Hiệu quả thực hiện tốt (performance) : bảo đảm
thực hiện hiệu quả với các cơ chế quản lý nội bộ, IPC,
hỗ trợ mạng và hỗ trợ đa xử lý.
353
MS DOS 2.X
MS DOS 3.3
MS DOS
4.01 – 6.X
WINDOWS 95
WINDOWS 98
WINDOWS NT
WINDOWS
2000
WINDOWS XP
Quản lý
files
Công cụ tổ
chức TT
song song
Quản lý đĩa
hơn 32MB
Đa nhiệm 1
user
Công cụ
kết nối
Internet
Quản lý
mạng và
htql file
mới
Đa nhiệm
nhiều
users
- Tăng cƣờng giao diện,
- Phục vụ kết nối Per to Per,
- MultiOs
354

You're Reading a Free Preview

Tải về
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->