Bài giảng Nguyên lí hệ điều hành - Chương 2: Quản lý tiến trình

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
S0 S1 S2 S3 S4 S5 . . . . Sn-1 Sn Sn+1 . . . .  
B
1.2 – Phân loại: kế tiếp và song song,  
• Tiến trình song song:  
BEGIN  
END  
A
•
t
B
1
Begin  
Phân loại  
a
a
a
b
c
A
A
A
A
B
I
B b  
C c  
B b B  
b
c
C c C  
C
I
z
Z
z
z
Z
Z
Z
z
Độc lập  
Quan hệ  
thông  
tin  
Đồng mức  
Phân  
cấp  
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 nguyên 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ụ  
quá 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 nguyên 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 ngoà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 khoá trong:  
• Nguyên 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 khoá 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;  
BEGIN c1:=0; c2 := 0;  
PARBEGIN  
TT1: Repeat  
TT2:Repeat  
While c1 <> 0 do ;  
While c2 <> 0 do ;  
c1 := 1;  
c2 := 1;  
{Đoạn găng TT1}  
{Đoạn găng TT1}  
c1 := 0;  
c2 := 0;  
{Phần còn lại của TT1}  
Until false;  
{Phần còn lại của TT1}  
Until false  
PAREND  
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:  
c1 := 1;  
TT2:Repeat  
c2 := 1;  
While c2 <> 0 do ;  
{Đoạn găng TT1}  
c1 := 0;  
While c1 <> 0 do ;  
{Đoạn găng TT1}  
c2 := 0;  
{Phần còn lại của TT1}  
Until false;  
{Phần còn lại của TT1}  
Until false  
PAREND  
END.  
Có khả năng cả 2 TT cùng chờ đợi trước đoạn găng!  
13  
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.  
14  
GiảthuậDekker  
Var c1,c2,tt: Integer;  
BEGIN c1 := 0; c2 := 0; tt := 1;  
PARBEGIN  
TT2: Repeat  
c2 := 1;  
TT1: Repeat  
While c1 = 1 do  
c1 := 1;  
While c2 = 1 do  
if tt = 2 then  
if tt = 1 then  
begin c2 := 0;  
while tt = 1 do ;  
c2 := 1  
begin c1 := 0;  
while tt = 2 do ;  
c1 := 1  
end;  
{ Đoạn găng TT 2}  
c2 := 0; tt := 1;  
{ Phần còn lại của TT 2}  
Until false  
end;  
{ Đoạn găng TT 1}  
c1 := 0; tt := 2;  
{ Phần còn lại của TT 1}  
Until false;  
PAREND  
END.  
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.  
• 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..  
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)  
Thực hiện:  
- 2 công việc,  
-Liên tục  
Làm việc với  
2 biến  
Biến riêng  
L TS(L)  
Biến chung  
G
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):  
G  
G  
L:= G  
G
G:= 1 0 1 0  
18  
TEST and SET  
• Sơ đồ điều độ:  
Var l1, l2, g: Integer;  
BEGIN  
g := 0;  
PARBEGIN  
TT1: Repeat  
l1 := 1;  
g
l1 l2  
0 1  
1 0 1  
1
While l1 = 1 do TS(l1);  
{Đoạn găng TT1}  
g := 0;  
1
1
1
0
1
1
1
0
{Phần còn lại của TT1}  
Until false;  
TT2: Repeat  
l2 := 1;  
1 1  
While l2 = 1 do TS(l2);  
{Đoạn găng TT2}  
g := 0;  
1
1
1
1
1
{Phần còn lại của TT2}  
Until false  
PAREND  
END.  
19  
TEST and SET  
Đặc điểm:  
• Đơn giảnđộ phức tạp không tănkhi 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ượnchờ đợi tích cự. Nguyên  
nhân: Mỗi TT phảtự đưa mình vào đoạn găng.  
20  
Tải về để xem bản đầy đủ
pptx 61 trang Thùy Anh 21060 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nguyên lí hệ điều hành - Chương 2: Quản lý tiến trình", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptxbai_giang_nguyen_li_he_dieu_hanh_chuong_2_quan_ly_tien_trinh.pptx