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

CHƯƠNG 2 – 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 (1.56 MB, 20 trang )

Chương 2 – QUẢN LÝ TIẾN TRÌNH

$1- TiẾN TRÌNH VÀ ĐiỀU ĐỘ TiẾN TRÌNH

1.1 - Định nghĩa tiến trình:

A Sn+1 . . . .

S0 S1 S2 S3 S4 S5 . . . . Sn-1 Sn

B
1.2 – Phân loại: kế tiếp và song song,
• Tiến trình song song:
• BEGIN A END

B t

Begin 1

Phân loại

Aa Aa A A a
Bb B
Cc I B b
b
Bb C C c

Cc c

I


Zz Zz Zz Z z
Độc lập
Quan hệ Phân Đồng mức
thông cấp
tin

2

Phân loại

• a) Độc lập: Bảo vệ thơng tin,
• b)Quan hệ thơng tin:

– Tiến trình nhận: Tồn tại? Ở đâu? Giai đoạn
nào?

– Cơ chế truyền tin:

• Hòm thư,
• I/O Ports,
• Monitor/

3

Phân loại

• c) Phân cấp:
• Tài ngun cho tiến trình con:

– Hệ thống QL tài nguyên tập trung: từ hệ thống,

– Hệ thống QL tài nguyên phân tán: từ vốn tài nguyên

tiến trình chính,

• QL phân tán: Tiến trình chính phải kết thúc sau
tiến trình con  POST, WAIT.

• d) Đồng mức:
• Sử dụng chung theo nguyên tắc lần lượt,
• Các hệ thống mơ phỏng, trị chơi, . . .

4

1.3 - 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).

S1 S2 . . . . Sn

5

BIỂU DIỄN

• 2 cách mơ tả phổ biến:

PARBEGIN COBEGIN

S1 ; S1 ;
S2; S2;

. . . . . . . . . . . . . .

Sn Sn
PAREND; COEND;

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

6

1.4 – TÀI NGUYÊN GĂNG và ĐOẠN GĂNG

• Tài nguyên găng: Khả năng phục vụ đồng thời bị
hạn chế, thơng thường - bằng 1.

• Ví dụ: Máy in, quá trình bán vé máy bay . . .
• Đoạn găng (chổ hẹp) của tiến trình,
• Điều độ tiến trình qua đoạn găng: Tổ chức cho

mọi tiến trình qua được chổ hẹp của mình.
• Giải thuật điều độ phải đảm bảo 4 yêu cầu.

7

Yêu cầu

• i) Đảm bảo tài nguyên găng không phải phục vụ
q khả năng của mình,

• ii) Khơng để tiến trình nằm vơ hạn trong đoạn

găng,

• iii) Nếu có xếp hàng chờ thì sớm hay muộn tiến
trình cũng qua được đoạn găng,

• iv) Nếu có tiến trình chờ đợi và nếu tài nguyên
găng được giải phóng, thì tài ngun găng phải
phục vụ ngay cho tiến trình đang chờ đợi.

8

Cơng cụ điều độ

• Cơng cụ điều độ: 2 loại:

– Cấp cao: do hệ thống đảm nhiệm, nằm ngồi tiến
trình được điều độ,

– Cấp thấp: cài đặt ngay vào trong tiến trình được
điều độ.

• Các giải thuật điều độ cấp thấp: 3 lớp giải thuật:

– Phương pháp khoá trong,
– Phương pháp kiểm tra và xác lập,
– Kỹ thuật đèn báo.

9

$2 – CÁC GIẢI THUẬT ĐIỀU ĐỘ


2.1 Phương pháp khố trong:
• Ngun lý:

– Mỗi tiến trình (TT) đặt tương ứng tài nguyên găng
với 1 biến  G,

– TT dùng biến này để đánh dấu việc mình đang sử
dụng tài nguyên găng,

– Trước khi vào đoạn găng TT phải kiểm tra biến
tương ứng của các TT khác và chỉ vào đoạn găng
khi không có TT nào đang sử dụng tài nguyên
găng.

10

Phương pháp khố trong

• Mơi trường ví dụ: Xét trường hợp:

– 2 tiến trình,
– Mỗi TT có một đoạn găng ở đầu,
– 1 tài nguyên găng với khả năng phục vụ:1,
– Các tiến trình lặp vơ hạn.

• Tránh nhầm lẫn giữa 2 khái niệm:

– Sơ đồ nguyên lý: nêu { tưởng chung,
– Giải thuật điều độ: sơ đồ hành động để đảm bảo


điều độ.

11

SƠ ĐỒ NGUYÊN LÝ

Var c1, c2:Integer; TT2:Repeat
BEGIN c1:=0; c2 := 0; While c1 <> 0 do ;
c2 := 1;
PARBEGIN {Đoạn găng TT1}
TT1: Repeat
While c2 <> 0 do ; c2 := 0;
c1 := 1; {Phần còn lại của TT1}
{Đoạn găng TT1}
c1 := 0; Until false
{Phần còn lại của TT1} PAREND
Until false; END.

Có khả năng cả 2 TT cùng vào đoạn găng

12

SƠ ĐỒ NGUYÊN LÝ

Xác lập

Var c1, c2:Integer; Kiểm tra

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!

13

SƠ ĐỒ NGUN LÝ

• Ngun 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.

14

Giải thuật Dekker

Var c1,c2,tt: Integer; TT2: Repeat
BEGIN c1 := 0; c2 := 0; tt := 1; c2 := 1;
PARBEGIN While c1 = 1 do
if tt = 1 then
TT1: Repeat begin c2 := 0;
c1 := 1; while tt = 1 do ;
While c2 = 1 do c2 := 1
if tt = 2 then end;
begin c1 := 0; { Đoạn găng TT 2}
while tt = 2 do ; c2 := 0; tt := 1;
c1 := 1 { Phần còn lại của TT 2}
end; Until false
{ Đoạn găng TT 1}
c1 := 0; tt := 2; PAREND
{ Phần còn lại của TT 1} END.
Until false;
15


Giải thuật Dekker

• Đặc điểm:

– Khơng địi hỏi cơng cụ đặc biệt  áp dụng được
trong mọi môi trường (hệ thống và ngôn ngữ LT),

– Phức tạp, độ phức tạp tăng khi số tiến trình tăng,
– Tồn tại hiện tượng chờ đợi tích cực.

• Ngun nhân:

– Khơng cục bộ hố biến trong tiến trình,
– Mỗi TT phải tự Kiểm tra và xác lập..

16

2.2 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 Thực hiện:
2 biến - 2 công việc,
-Liên tục
Biến chung Biến riêng
G L ž TS(L) L := G;

G := 1;

17

TEST and SET

• IBM 360/370:  1 lệnh TS ( mã 92H),
• IBM PC: Nhóm lệnh BTS (Binary Test and Set):

L:= G ¬G G ¬G
G:= 1 0 1 0

18

TEST and SET

• Sơ đồ điều độ: g l1 l2

Var l1, l2, g: Integer; 01
BEGIN
10 1
g := 0;
PARBEGIN 1 1

TT1: Repeat 1 1
l1 := 1;
1 1
While l1 = 1 do TS(l1);
{Đoạn găng TT1} 0 1
g := 0;

{Phần còn lại của TT1} 11 0
Until false;
TT2: Repeat 11

l2 := 1; 11
While l2 = 1 do TS(l2); 1
{Đoạn găng TT2}
g := 0; 19
{Phần còn lại của TT2}
Until false
PAREND
END.

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. Ngun nhân: Cục bộ hố 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.

20


×