Dong bo hoa tien trinh- doi tt

IV/

Đồng bộ hóa tiến trình

+Những tiến trình cùng tồn tại được gọi là tiến trình đồng thời /tiến trình tương tranh

+Quản lý tiến trình đồng thời là vấn đề quan trọng:

+Liên lạc giữa các tiến trình

+Cạnh tranh và chia sẻ tài nguyên

+Phối hợp và đồng bộ hóa các tiến trình

Vấn đề bế tắc

+Đói tài nguyên (starvation)

1. Các vấn đề đối với tiến trình đồng thời

1/Tiến trình cạnh tranh tài nguyên với nhau:

+Đảm bảo loại trừ tương hỗ (mutual exclusion):

+Khi các tiến trình cùng truy nhập tài nguyên mà khả năng chia sẻ của tài nguyên đó là có hạn

+=> phải đảm bảo tiến trình này đang truy cập tài nguyên thì tiến trình khác không được truy cập

+Tài nguyên đó gọi là tài nguyên nguy hiểm. Đoạn chương trình có yêu cầu sử dụng tài nguyên nguy hiểm gọi là đoạn nguy hiểm (critical section)

+Mỗi thời điểm chỉ có 1 tiến trình nằm trong đoạn nguy hiểm => loại trừ lẫn nhau

a/Tiến trình cạnh tranh tài nguyên với nhau (tt):

+Không để xảy ra bế tắc (deadlock):

+Bế tắc: tình trạng hai hoặc nhiều tiến trình không thể thực hiện tiếp do chờ đợi lẫn nhau

+Không để đói tài nguyên (starvation):

+Tình trạng chờ đợi quá lâu mà không đến lượt sử dụng tài nguyên

b/Tiến trình hợp tác với nhau qua tài nguyên chung:

+Có thể trao đổi thông tin bằng cách chia sẻ vùng nhớ dùng chung (biến toàn thể)

+Đòi hỏi đảm bảo loại trừ tương hỗ

+Xuất hiện tình trạng bế tắc và đói

+Yêu cầu đảm bảo tính nhất quán dữ liệu

+Điều kiện chạy đua (race condition): tình huống mà một số dòng /tiến trình đọc, ghi dữ liệu sử dụng chung và kết quả phụ thuộc vào thứ tự các thao tác đọc, ghi

=> Đặt thao tác truy cập và cập nhật dữ liệu dùng chung vào đoạn nguy hiểm

c/Tiến trình có liên lạc nhờ gửi thông điệp:

+Có thể trao đổi thông tin trực tiếp với nhau bằng cách gửi thông điệp (message passing)

+Không có yêu cầu loại trừ tương hỗ

+Có thể xuất hiện bế tắc và đói

2. Yêu cầu với giải pháp cho đoạn nguy hiểm

-Loại trừ tương hỗ

-Tiến triển

-Chờ đợi có giới hạn

-Các giả thiết:

-Giải pháp không phụ thuộc vào tốc độ của các tiến trình

-Không tiến trình nào được phép nằm quá lâu trong đoạn nguy hiểm

-Thao tác đọc và ghi bộ nhớ là thao tác nguyên tử (atomic) và không thể bị xen ngang giữa chừng

+Các giải pháp được chia thành 3 nhóm chính:

-Nhóm giải pháp phần mềm

-Nhóm giải pháp phần cứng

-Nhóm sử dụng hỗ trợ của HDH hoặc thư viện ngôn ngữ lập trình

+Loại trừ tương hỗ

+Tiến triển

+Chờ đợi có giới hạn

+Các giả thiết:

+Giải pháp không phụ thuộc vào tốc độ của các tiến trình

+Không tiến trình nào được phép nằm quá lâu trong đoạn nguy hiểm

+Thao tác đọc và ghi bộ nhớ là thao tác nguyên tử (atomic) và không thể bị xen ngang

giữa chừng

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: #melody