Tải bản đầy đủ (.ppt) (135 trang)

bài giảng quản lý tiến trình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (683.55 KB, 135 trang )

Ch ng 2. ươ
QUAÛN LYÙ TIEÁN TRÌNH
2
XỬ LÝ ĐỒNG HÀNH
XỬ LÝ ĐỒNG HÀNH
VÌ SAO ?
VÌ SAO ?
VẤN ĐỀ
VẤN ĐỀ
?
?
3
Xử lý đồng hành, để tăng hiệu suất sử dụng
CPU
CPU IO CPU IO
CPU
Job 1 Job 1
IO CPU IOCPU
Job 1
CPU IO CPU
Job 2
CPU
Job 1 Job 1
Job 1 Job 1
4
Xử lý đồng hành, để tăng tốc độ xử lý
Job : kq = a*b + c*d;
Xử lý tuần tự :
Xử lý đồng hành :
kq1 = a * b;
kq2 = c* d;


kq = kq1 + kq2;
kq = kq1 + kq2;
kq2 = c*d;kq1 = a*b;
5
Xử lý đồng hành, những khó khăn ?
HĐH : “ Giải quyết nhiều công việc
đồng thời, đâu có dễ !
-
Tài nguyên
giới hạn, ứng
dụng “vô hạn”
-
Nhiều hoạt
động đan xen
??? Phân chia
tài nguyên ?
??? Chia sẻ tài
nguyên ?
??? Bảo vệ?
Excel
Visual C++
CDplayer
Winword
6
Giải pháp
HĐH : “ Ai cũng có phần khi đến lượt
mà ! ”
-
“Chia để
trò”, cô lập

các hoạt động.
-
Mỗi thời
điểm chỉ giải
quyết 1 yêu
cầu.
-
o hoá tài
nguyên : biến
ít thành nhiều
Winword
CDPlayer
Visual C ++
Excel
7
Thuật ngữ
Concurrency (đồng hành): mô hình xử lý nhiều
tác vụ đồng thời.
Multitasking (đa nhiệm) : cho phép nhiều tác
vụ/ công việc được xử lý đồng thời
Multiprogramming (đa chương) : cho phép
nhiều chương trình được thực hiện đồng thời
(trên 1 CPU)
Multiprocessing (đa xử lý): nhiều bộ xử lý làm
việc đồng thời
8
NỘI DUNG
1. Dẫn nhập
2. Điều phối tiến trình
3. ng b hóa ti n trìnhĐồ ộ ế

4. Tóm tắt chương
9
Theo nguyên tắc, một hệ điều hành cần thỏa mãn hai
chức năng chính yếu sau:

Quản lý, chia sẻ tài nguyên,

Giả lặp một máy tính mở rộng.
1. DẪN NHẬP
1
10
Để hoàn thành các chức năng này, phần lớn các hệ điều hành
cần bao gồm các thành phần chính sau:

Quản lý tiến trình,

Quản lý bộ nhớ chính,

Quản lý nhập/xuất,

Quản lý tập tin,

Hệ thống bảo vệ,

Quản lý mạng,

Hệ thông dòch lệnh.
1. DẪN NHẬP
2
QUAÛN LYÙ TIEÁN TRÌNH

12
1. DẪN NHẬP
3

Trong môi trường đa nhiệm, để đáp ứng nhu
cầu xử lý đồng hành, hệ điều hành phải đảm
nhiệm việc phân phối CPU cho các tiến trình
một cách hợp lý.

Ngoài ra hệ điều hành cũng cần cung cấp
các cơ chế giúp các tiến trình có thể trao đổi
thông tin, và đồng bộ hóa hoạt động của
chúng.
13
1.1. Khái niệm

Tiến trình (process) là một chương trình đang xử lý,
sở hữu một con trỏ lệnh, tập thanh ghi và các biến.

Ch ng trình là 1 th c th th đ ng ch a các tín ươ ự ể ụ ộ ứ
hi u đi u khi n máy tính đ th c hi n tác vụ nào đó.ệ ề ể ể ự ệ

H H h tr đa ch ng, đa nhi m. Trong H H có Đ ỗ ợ ươ ệ Đ
nhi u ti n trình cùng ho t đ ng. Vì v y HĐH phải ề ế ạ ộ ậ
vi c d ng thu t toán đ đi u ph i các ti n trình.ệ ụ ậ ể ề ố ế

B ph n th c hi n ch c n ng này g i là ộ ậ ự ệ ứ ă ọ b i u ộ đ ề
ph i ố (scheduler)
14
Khaùi nieäm tieán trình

P2
int a;
IP
P1
int a;
IP
15
Mô hình đa tiến trình
(MultiProcesses)
Hệ thống là một tập các tiến trình hoạt động
đồng thời
Các tiến trình độc lập với nhau => không có sự
trao đổi thông tin hiển nhiên
winword
Visual C
CDplayer
Excel
OS
16
(1)Tiến trình mới tạo được đưa vào hệ
thống.
(2)Bộ điều phối cấp phát cho tiến trình một
khoảng thời gian sử dụng CPU
(3)Tiến trình kết thúc
(4)Tiến trình yêu cầu một tài nguyên nhưng
chưa được đáp ứng vì tài nguyên chưa sẵn
sàng để cấp phát tại thời điểm đó; hoặc
tiến trình phải chờ một sự kiện hay thao tác
nhập/xuất.
(5)Bộ điều phối chọn một tiến trình khác để

cho xử lý
(6)Tài nguyên mà tiến trình yêu cầu trở nên
sẵn sàng để cấp phát; hay sự kiện hoặc
thao tác nhập/xuất tiến trình đang đợi hoàn
tất.
Hình 1.1. Sơ đồ chuyển
trạng thái của các tiến trình
Mới tạo
5
Ready
Ready
1
6
Running
Running
2
Block
Block
4
Kết thúc
3

Mới tạo : tiến trình đang được tạo lập.

Runnning : 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ý.
message
1.2. Các trạng thái của tiến trình
1
17
1.3. Tiểu trình (threads)

Tiểu trình (thread) là một thành phần đơn vò của tiến
trình có thể thực hiện các chỉ thò ứng với một đoạn mã nào
đó của chương trình.

M i ti n trình th ng có một không gian đòa chỉ và một ỗ ế ườ
dòng xử lý.
Trong tr ng h p ng i s d ngườ ợ ườ ử ụ mu n nhi u dòng x ố ề ử
lý cùng chia sẻ một không gian đòa chỉ và các dòng dữ liệu
xử lý song song như các tiến trình riêng biệt. HĐH cung
c p cơ ch nh v y gọi là ti u trình.ấ ế ư ậ ể
M t ti u trình là m t đ n v x lý c b n trong h ộ ể ộ ơ ị ử ơ ả ệ
th ng.ố
M t ti u trình có th t o nhi u ti n trình con.ộ ể ể ạ ề ế
v M t ti n trình có th s h u nhi u ti u trình.ộ ế ể ở ữ ề ể
18
Mô hình đa tiểu trình
(MultiThreads)
Muốn nhiều dòng xử lý đồng thời cùng
chia sẻ tài nguyên (server, OS, các
chương trình tính toán song song)

alta vista
 TIỂU TRÌNH (THREAD)
19
Mô hình đa tiểu trình
(MultiThreads)
Muốn nhiều dòng xử lý đồng thời cùng
chia sẻ tài nguyên (server, OS, các
chương trình tính toán song song)
alta vista
 TIỂU TRÌNH (THREAD)
20
Khác biệt giữa Tiểu trình & Tiến
trình
Tiểu trình : 1 dòng xử lý
Tiến trình :

1 không gian đòa chỉ

1 hoặc nhiều tiểu trình
Các tiến trình là độc lập
Các tiểu trình trong cùng
1 tiến trình không có sự
bảo vệ lẫn nhau (cần
thiết ? ).

P1
int a;
T1
T2
T

3
21
2. ĐIỀU PHỐI TIẾN TRÌNH
1
2.1. Giới thiệu
2.2. Tổ chức điều phối
2.3.Các chiến lược điều phối
22
2. ĐIỀU PHỐI TIẾN TRÌNH
2
2.1.Giới thiệu
2.1.1. Mục tiêu điều phối
2.1.2. Các đặc điểm của tiến trình
2.1.3. Điều phối độc quyền và điều phối
không độc quyền
2.1.4. Đồng hồ ngắt giờ
2.1.5. Độ ưu tiên của tiến trình
23
2. ĐIỀU PHỐI TIẾN TRÌNH
3

Trong môi tr ng đa ch ng nhi u ti n trình đ ng ườ ươ ề ế ồ
th i s n sàng nh n x lý. Ti n trình ti p theo nào ờ ẵ ậ ử ế ế
đ c ch n đ x lý cần có giải thuật thích hợp c n ượ ọ ể ử ầ
đ th c hi n nhi m v này. ể ự ệ ệ ụ

H H có b ph n th c hi n nhi m v này đ c g i Đ ộ ậ ự ệ ệ ụ ượ ọ
b đi uộ ề ph i ti n trình ố ế (dispatcher)
24
2.1.1. Mục tiêu điều phối

1
S công b ng(Fairness)ự ằ
Tính hi u qu (Efficiency)ệ ả
Th i gian đáp ng h p lý (Response time)ờ ứ ợ
Th i gian lưu l i trong h th ng (Turaround Time).ờ ạ ệ ố
Thông lượng t i đa (throughput)ố

25
2.1.1. Mục tiêu điều phối
1
2.1. Giới thiệu:
2.1.1. Mục tiêu điều phối:
a) Sự công bằng (Fair ness):
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ờ vô hạn để được cấp phát
CPU.
b) Tính hiệu quả (Efficiency):
Hệ thống phải tận dụng được CPU 100% thời gian.

×