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

VẤN ĐỀ BẾ TẮC TRONG HỆ TẬP TRUNG VÀ HỆ PHÂN TÁN

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 (244.75 KB, 48 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG

ĐỀ TÀI: VẤN ĐỀ BẾ TẮC TRONG HỆ TẬP
TRUNG VÀ HỆ PHÂN TÁN
GVHD: PGS.TS LÊ VĂN SƠN
HV: NGUYỄN VĂN VIỆT ĐỨC
LỚP: Khoa học máy ính
Khoá 10: 2008 - 2011
NỘI DUNG BÁO CÁO
I. GIỚI THIỆU
II. BẾ TẮC TRONG HỆ TẬP TRUNG
III.BẾ TẮC TRONG HỆ PHÂN TÁN
IV.PHƯƠNG PHÁP LOMET
I. GIỚI THIỆU
Hệ tin học phân tán là hệ thống xử
lý thông tin:
-
Nhiều bộ xử lý, bộ vi xử lý nằm tại các
vị trí khác nhau.
-
Liên kết qua phương tiện viễn thông
dưới sự điều khiển thống nhất của một
hệ điều hành.
-
Đa dạng, đa diện, phức tạp về mặt cấu
trúc, tập hợp.
-
Gồm các bộ xử lý hoặc bộ vi xử lý với bộ
nhớ và đồng hồ nhịp độc lập.
-


Các bộ xử lý không sử dụng chung bộ nhớ
và đồng hồ.
* Như vậy, mỗi một hệ xử lý thông tin
thành phần của hệ tin học phân tán bao
gồm một hay nhiều bộ xử lý và bộ nhớ
cục bộ.
Ưu điểm:
- Tăng tốc độ bình quân trong tính toán-xử lý.
-
Cải thiện tình trạng luôn luôn sẵn sàng của
các loại tài nguyên.
-
Tăng độ an toàn dữ liệu.
-
Đa dạng hóa các loại hình dịch vụ tin học.
-
Đảm bảo tính vẹn toàn của thông tin.
Các vấn đề cần giải quyết:
-
Yêu cầu truy cập từ xa.
-
Trả lời yêu cầu.
-
Đảm bảo tính đồng bộ, gắn bó dữ
liệu và xử lý các bế tắc phát sinh trong
quá trình hệ hoạt động.
Tìm hiểu:
-
VẤN ĐỀ BẾ TẮC TRONG HỆ TẬP
TRUNG VÀ HỆ PHÂN TÁN.

-
PHƯƠNG PHÁP LOMET SẮP XẾP
CÁC GIAO DỊCH.
II. BẾ TẮC TRONG HỆ TẬP TRUNG
- Hiện tượng bế tắc đều bắt nguồn từ sự
xung đột về tài nguyên của hai hoặc nhiều
tiến trình đang hoạt động đồng thời trên
hệ thống.
- Tài nguyên ở đây có thể là một ổ đĩa,
một record trong cơ sở dữ liệu, hay một
không gian địa chỉ trên bộ nhớ chính.
Ví dụ 1:
G/s có 2 tiến trình P
1
và P
2
hoạt động
đồng thời trong hệ thống. Tiến trình P
1

đang giữ tài nguyên R
1
và xin được cấp R
2

để tiếp tục hoạt động, trong khi đó tiến trình
P
2
đang giữ tài nguyên R
2

và xin được cấp
R
1
để tiếp tục hoạt động.
Trong trường hợp này cả P
1
và P
2
sẽ không
tiếp tục hoạt động được. Như vậy, P
1

P
2
rơi vào trạng thái bế tắc.
Hình vẽ minh họa:



G/s không gian bộ nhớ còn trống là 200Kb,
trong hệ thống có hai tiến trình P1 và P2 yêu cầu được
sử dụng bộ nhớ như sau:
P1 P2
…. ….
Request1 80Kb Request1 70Kb
…. ….
Request2 30Kb Request2 40Kb
…. ….
Ví dụ 2:
Bế tắc xảy ra khi cả hai tiến trình cùng yêu

cầu thêm bộ nhớ lần thứ hai. Tại thời điểm này,
không gian bộ nhớ còn trống là 50Kb, lớn hơn
lượng bộ nhớ mà mỗi tiến trình yêu cầu (30Kb
và 40Kb), nhưng vì cả hai tiến trình đồng thời
yêu cầu thêm bộ nhớ nên hệ thống không thể
đáp ứng được, và bế tắc xảy ra.
1. Điều kiện hình thành bế tắc?
-
Loại trừ lẫn nhau hay độc quyền sử dụng: Đối
với các tài nguyên không phân chia được thì tại
mỗi thời điểm chỉ có một tiến trình sử dụng được
tài nguyên.
-
Giữ và đợi: Một tiến trình hiện tại đang chiếm
giữ tài nguyên, lại xin cấp phát thêm tài nguyên
mới.
- Không ưu tiên: Không có tài nguyên nào có thể
được giải phóng từ một tiến trình đang chiếm
giữ nó.
Nhận xét:
Sự bế tắc có thể tồn tại với ba điều kiện
trên, nhưng cũng có thể không xảy ra với
ba điều kiện đó. Để chắc chắn bế tắc xãy ra
cần phải có điều kiện thứ tư (Đợi vòng tròn:
Mỗi tiến trình đang chiếm giữ tài nguyên
mà tiến trình khác đang cần).
Nhận xét:
Ba điều kiện đầu là điều kiện cần chứ
không phải điều kiện đủ để xảy ra bế tắc.
Điều kiện thứ tư là kết quả tất yếu từ ba

điều kiện đầu.
2. Các phương pháp sử dụng trong hệ
tập trung để xử lý bế tắc
a. Phương pháp dự phòng: đơn giản và
thường hay sử dụng là phương pháp các nhóm
sắp xếp Havender.
- Các tài nguyên được sắp xếp theo các nhóm
con C
1
, C
2
, …C
n
. Một tiến trình nào đó có thể
thu hồi tài nguyên của nhóm C
i
với i>1, nếu
trước đó nó đã thu hồi tất cả các tài nguyên của
nhóm cần thiết cho nó C
1
, C
2
, …C
i-1
.
Như thế, trật tự duy nhất của việc thu
hồi các tài nguyên được xác định sẽ tránh
được bế tắc. Phương pháp này dẫn đến các
tiến trình cần thu hồi trước (tạm ứng) các
tài nguyên của chúng và do vậy làm giảm

khả năng thực hiện song song của hệ.
b. Phương pháp phát hiện và chữa trị
- Sử dụng một đồ thị trạng thái định hướng mà
các nút là các tài nguyên hay các tiến trình. Các
cung tiến trình - tiến trình thể hiện các cung cấp
đã được thực hiện.
- Nếu có sự hiện diện của vòng lặp khép kín
trong đồ thị này thì đó chính là biểu hiện của
tình trạng bế tắc.
-> Phức tạp, tốn kém.
III. BẾ TẮC TRONG HỆ PHÂN TÁN
1. Một số khái niệm:
- Giao dịch: là phép toán hợp thành một lô
gích hoàn chỉnh mà việc triển khai nó
có thể dẫn đến thực hiện một tiến trình
duy nhất hay nhiều tiến trình được
định vị trên các trạm khác nhau.
- Một tiến trình nào đó cần sử dụng tài
nguyên để phát triển công việc của mình
phải yêu cầu bộ cung cấp một cách hợp
thức bằng cách gửi thông điệp yêu cầu .
- Bế tắc (khoá tương hỗ): là sự kẹt chéo lẫn
nhau có tính chất sống còn của các tiến
trình. Bế tắc diễn ra khi hai tiến trình đang
sử dụng hai tài nguyên lại phát yêu cầu về
nhu cầu sử dụng tài nguyên mà tiến trình
kia còn đang sử dụng.
Ví dụ 1:
Có 4 tài nguyên T
1

, T
2
, T
3
và T
4
và có 3
nhu cầu tài nguyên là Tr
1
, Tr
2
và Tr
3
. Cả ba
tiến trình này đang ở trong tình trạng bế tắc.
Tiến trình Tr
2
chờ tài nguyên T
3
do Tr
3
đang
chiếm giữ.Tiến trình Tr
3
chờ tài nguyên T
2

được giải phóng bởi Tr
1
và Tr

3
.Thêm vào
đó, tiến trình chờ tiền trình Tr
2
giải phóng
T
1
.
Hình 2.1. Đồ thị cung cấp tài nguyên bị bế tắc
T1 T3
Tr1 Tr2 Tr3
T2
T4

×