TIẾ TRÌN
N H
ThS. Nguyễn Lê Minh
Khoa CNTT, ĐH Giao
thông vận tải
Email:
NỘI
• Tiến trình là gì?DUNG
• Trạng thái của tiến trình
• Khối điều khiển tiến trình
• (PCB)
• Thao tác trên tiến trình
• Điều phối (lập lịch) tiến trình
Truyền thông liên tiến trình
2
TIẾN TRÌNH LÀ
• Tiến trình GÌ?
là chương trình đang được thực
• hiện
Được xem là đơn vị làm trong cá Hệđiều
việc
c
• hành
• Chương
Chương
trình
trìnhvs. Tiến
trình• Thực thể tĩnh
• Không sở hữu tài nguyên cụ thể
• Tiến trình
• Thực thể động
• Được cấp một số tài nguyên (memory, CPU Registers)
để chứa
dữ liệu và thực hiện lệnh
3
TIẾN TRÌNH LÀ
GÌ?hiện tại của tiến trình được thể
• Các hoạt động
qua
hiện bộ đếm chương trình (program
dun
cá thanh ghi (registers củ bộ xửlý
counter)
g
c
)
a
vànội
4
PROCESS IN
MEMORY
• Text section
(Đoạn mã lệnh)
•
• Chứa mã lệnh của chương trình
(compiled
program code)
Data section (Đoạn dữ liệu)
•
• Chứa các biến toàn cục (global
variables) và
biến static
• Khởi tạo trước khi thực thi hàm main
Heap
•
Dành cho cấp phát bộ nhớ động
(dynamic
memory allocation)
• Được quản lý thông qua các hàm: new,
Figure credit: Abraham Silberschatz, Greg Gagne, and Peter Baer Galvin, "Operating System Concepts, Ninth
5
Figure credit: />
6
TRẠNG THÁI CỦA TIẾN
TRÌNH
• Khi
thực hiện, trạng thái của tiến trình thay
• đổi
Trạng thái của tiến trình được xác định bằng
• hoạt
• New
(Khởi
tạo)của
– tiến
động
hiện
thời
nótrình đang được khởi tạo
• Ready (Sẵn sàng) – tiến trình đang chờ được cấp
Tiến trình có thể nhận 1 trong 5 trạng thái
CPU để
sau:
•
thực thi lệnh của mình
• Running (Thực hiện) – các câu lệnh của tiến trình
đang
• được thực hiện
Waiting (Chờ đợi) – tiến trình tạm dừng để chờ
7
Figure credit: Abraham Silberschatz, Greg Gagne, and Peter Baer Galvin, "Operating System Concepts, Ninth
Edition ", Chapter 3
8
KHỐI ĐIỀU KHIỂN TIẾN
TRÌNH
• Process
Control Block
• (PCB)
Cấu trúc
tiến
trình
thông
tin chophépxá định duy nhất một
c
Figure credit: Abraham Silberschatz, Greg Gagne, and Peter Baer Galvin, "Operating System Concepts, Ninth
9
KHỐI ĐIỀU KHIỂN TRÌN
TIẾN
H
• Các
thông tin trong
• Process state (Trạng thái của tiến trình)
PCB
• Program counter (Bộ đếm chương
• trình)
• CPU registers (Các thanh ghi)
phối tiến
• Mức
độ ưu tiêninformation
của tiến trình,(Thông
vị trí trong hàng
đợi, …
CPU
scheduling
trình)
điều management information (Thông tin về bộ
• tin
Memory
nhớ của
•
tiến trình)
• Thời gian sử dụng CPU, giới hạn thời gian
information (thông tin thống kê):
I/O status information
• Accounting
• Danh sách các thiết bị vào/ra được cấp phát cho tiến trình,
các file
đang mở
10
Figure credit
: />
11
THAO
• TạoTÁC
mới tiến
TRÊ TIẾ TRÌN
N H
N
• trình
Kếtthúc tiến trình
12
TẠO MỚI TIẾN
• Khi tiến TRÌNH
trình mới được đưa vào hệ thống, Hệ
điều
• Gántạo
số ra
định danh cho tiến trình được tạo mới
hành
và tạo
• một ô trong bảng tiến trình
• Tạo không gian nhớ cho tiến trình và PCB
tạoPCB
PCBcủa tiến trình vào danhsác quảnlý
• Khởi
Liên kết
các
h
• Tiến trình được tạo ra
khi
• Khởi tạo hệ thống (OS is
• boosted)
• Tiến trình con
Tiến trình do người dùng tạo
13
TIẾN TRÌNH
• Một tiến trìnhCON
có thể tạo ra nhiều tiến
trình
hoạt động
•
•
mới cùn
g
• Tiến trình tạo: tiến trình cha (parent
process)
• Tiến trình được tạo: tiến trình con
(children)
Cây tiến trình (Tree of process)
Phân phối tài nguyên
•
• Tiến trình con lấy tài nguyên từ hệ điều
hành
••Tiến
tụcnguyên
thực hiện
đồngtrình
thời với tiến trình
Tiếntrình
trìnhcha
contiếp
lấy tài
từ tiến
con
cha
• Tiến
trình
chatàiđợi
tiến trình con kết thúc
• Một
phần
nguyên
14
KẾT THÚC TIẾN
• Kết thúcTRÌNH
bình thường: yêu cầu kết thúc mình
HDH
• bằng cách gọi lời gọi hệ thống
exit()
• Bị tiến trình cha kết thúc
Bị• kết
thúc:
Do các
lỗi
• Yêu cầu nhiều bộ nhớ hơn so với số hệ
lượng
thống
• thể cung cấp
hiệntrịlâu
thời
gian
hạn
• Thực
Do quản
hệ hơn
thống
hoặc
hệgiới
điều
hành kết
thúc
có
15
ĐIỀU PHỐI TIẾN
TRÌNH
• Mục tiêu
• Các hàng đợi điều phối
• (Scheduling
Bộđiều phối (Schedule
r)
queues
)
16
ĐIỀU PHỐI
TIẾN
• Thuật ngữ:
Process
TRÌN
H
• scheduling
• Còn gọi là lập lịch tiến trình
• Sửtiêu:
Mục
dụng tối đa thời gian CPU
• Người dùng có thể tương tác tiến trình
với
• Bộđiều phối tiến trình (Process
lựa
chọn
một tiến trình để thực
scheduler)
• hiện
Trong hệ thống một
• Các tiến trình khác phải chờ tới khi CPU
processor
tự• Chỉ
do có 1 tiến trình được thực
17
CÁC HÀNG ĐỢI ĐIỀU
• Các PHỐI
tiến trình chưa được phân phối sử dụng
CPU sẽ
• được đưa vào hàng đợi điều phối (Scheduling
• Job
Hệ
thống
có nhiều
hàng
tiến
queue:
hàng đợi
dànhđợi
chodành
tất cảcho
các các
tiến trình
trong
trình
• hệ thống
Ready queue: bao gồm các tiến trình đang ở trạng
• thái
sẵn sàng
Device queues: hàng đợi dành cho các tiến trình
đang
chờ đợi thiết bị vào/ra
• Mỗi thiết bị có hàng đợi riêng biệt
18
Figure credit: Abraham Silberschatz, Greg Gagne, and Peter Baer Galvin, "Operating System Concepts, Ninth
19
CÁC HÀNG ĐỢI PHỐ
I chuyể
ĐIỀU
• Trong
suốt thời
tồn tại tiến trình di
giữ
gian cá hàn đợi
a c g
n
20
B ĐIỀ PHỐ – SCHEDUL
Ộ U I
ER
Lựa
tiến trình trong các hàng
•chọn
Điều phối
đợi dài hạn (Job scheduler; Long-term
• scheduler)
Điều phối ngắn hạn (CPU scheduler; Short-term
scheduler)
21
BỘ ĐIỀU PHỐI DÀI
HẠN
• Thuật ngữ:
Job scheduler, long-term
• scheduler
Trong hệ thống lô, số lượng tiến trình đưa vào
hệ
• thống thường nhiều hơn số lượng tiến trình
có thể
• thực thi ngay lập tức
Các tiến trình này được lưu trữ tạm thời ở
một thiết bị lưu trữ (mass-storage device),
thường là ổ đĩa (disk)
22
BỘ ĐIỀU PHỐI DÀI
• Bộ điềuHẠN
phối dài hạn kiểm soát mức độ đa chương
trình
• Nếu mức độ đa chương trình ổn định, bộ điều dài
phối
hạn chỉ được gọi khi có một tiến trình rời hệ
thống
• • Điều phối không thường xuyên
Tiến vịtrình
thiên về vào/ra (I/O
•• Đơn
giây/phút
• bound)
Lựa
chọn
tiến
trình:
trình
thiên
về CPU (CPU
• Tiến
bound)
• Trong
nhiều hệ thống, không có bộ điều phối dài
Cần lựa chọn cả 2 loại tiến
hạntrình
• Ví dụ: Time-sharing system, như: Unix, Microsoft
Windows
23
BỘ ĐIỀU PHỐI NGẮN
HẠN
• Thuật
ngữ: CPU scheduler, short-term
• scheduler
Lựa chọn một tiến trình từ
ready
• phối CPU cho nó
queu vàphân
e
• Được thực hiện thường
xuyên
• Thuậ toá lựachọ tiếntrình
Phải
thực
hiện
nhanh
t
n
n
?
24
BỘ ĐIỀU PHỐI TRUNG
HẠN
• Thuật
ngữ: Medium-term scheduler
• Trong một số hệ chia sẻ thời gian (timesharing
• systems), có thêm bộ điều phối trung hạn
Nhiệm vụ
•
• Đưa một hoặc một số tiến trình ra khỏi bộ nhớ
(làm
giảm mức độ đa chương trình)
• Sau đó đưa tiến trình trở lại và tiếp tục thực
hiện
Mục đích
25