Đồng bộ thời gian thực

Một phần của tài liệu Cơ bản về hệ điều hành (Trang 150)

Nh− đã biết ở các mô hình tác vụ tr−ớc, ta đã giả sử mỗi tác vụ là độc lập với nhau. Tuy nhiên, một tập các tác vụ cũng có thể liên kết thực hiện một mục đích nên cần chia xẻ thông tin và do vậy phải thiết lập một cơ chế đồng bộ. Hơn nữa mỗi tác vụ cũng cần chiếm hữu các tài nguyên hệ thống (bộ nhớ, kênh truyền,…) trong QT hoạt động. Đồng bộ giữa các tác vụ thời gian đ−ợc hiểu là phát hoặc thu semaphore (cờ tín hiệu). Không may, việc làm này có thể dẫn đến sự chậm trể thời gian tuy rất ngắn trong QT đồng bộ.

Xem xét hệ thống bao gồm t1, t2 và t3 đã sắp theo thứ tự giảm của độ −u tiên và semaphore S. Giả sử t3 đã khoá S lại kh t1 đ−ợc yêu cầu. Vì τ1 có độ −u tiên cao nhất nên nó sẽ đ−ợc thực hiện. Nếu τ1thử khoá S, nó sẽ phải dừng lại và chờ cho đến khi

3

τ tháo khoá S. Tuy nhiên, trong tr−ờng hợp τ3 liên quan đến τ2(ví nh− đã sẵn sàng trên hàng đợi) thì nó sẽ phải dừng việc tháo khoá S cho đến khi τ2 hoàn thành. Suy ra

2

τ hoạt động có sự liên hệ phụ thuộc với τ1. Điều này gọi là sự đảo ng−ợc −u tiên bởi vì τ2 đã có độ −u tiên thực hiện cao hơn τ1 trong một khoảng thời gian. Một cách khác có thể gọi đây là chuỗi khống chế. Coi τ1 khoá semaphore R, τ2 khoá R và S, τ3 khoá S thì τ1 sẽ coi nh− là bị khoá bởi τ3 dù rằng τ1 không khoá S.

Giao thức đồng bộ thời gian thực t−ơng tác với lịch nhằm giảm bớt độ đảo ng−ợc −u tiên về mức nhỏ nhất và có thể suy đoán đ−ợc. Việc t−ơng tác này hoàn thành bằng cách điều chỉnh độ −u tiên của các tác vụ thời gian thực và cung cấp một cách chọn lựa các lối vào sử dụng semaphore.

Tác vụ τisẽ truy cập tới một tập các phiên tới hạn ci,{zi(k)/ 1≤kci. Các phiên tới hạn có khả năng chồng chéo lên nhau trong cùng một vụ cho phép sự xâm nhập vào các tài

Một phần của tài liệu Cơ bản về hệ điều hành (Trang 150)

Tải bản đầy đủ (PDF)

(182 trang)