Giao thức mức −u tiên trần

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

τ Đảo độ − u tiên

5.5.5.Giao thức mức −u tiên trần

Khi giao thức thừa kế −u tiên hạn chế các khống chế, khoảng trống Bh vẫn còn khá dài. Giao thức mức −u tiên trần (PCP) có thể biết sự giới hạn Bh ở trong một phiên tới hạn. Để hoàn thành nó, PCP sẽ thêm các hạn chế hà khắc khi tác vụ muốn đặt vào phiên bản tới hạn. Tuy nhiên, nh−ng tới hạn đó cần phải đ−ợc xem xét một cách tổng thể.

Khi tác vụ đ−ợc yêu cầu (sử dụng PIP), có thể có một số các tác vụ có mức −u tiên thấp

1

τ đang khoá semaphore S mà có thể khống chế τh. Chúng ta phải khẳng định khi τh

đ−ợc yêu cầu, tối đa một tác vụ có độ −u tiên thấp khoá semaphore S đang khống chế

h

τ . Đòi hỏi này đặt ra một luật đơn giản: một tác vụ muốn khoá S chỉ khi không có tác vụ nào khác khoá R mà tác vụ τh có thể bị khống chế thông qua S và R.

Luật khống chế trên yêu cầu cần có một ph−ơng thức đơn giản qua đó xác định các tác vụ nào bị semaphore khống chế. May mắn là ta đã có một ph−ơng thức nh− thế: ceiling (s) chính là độ −u tiên của tác vụ có độ −u tiên cao nhất mà có thể bị khống chế bởi S. Suy ra, τh chỉ có thể bị khống chế qua S nếu và chỉ nếu ceiling (S)≥ PRh. Khi đó ta gọi ceiling(S) là mức −u tiên tới hạn của S.

Khi τ1 muốn khoá S, nó sẽ kiểm tra mức −u tiên trần của tất cả các tác vụ bị khống chế qua semaphore R. Nếu mức −u tiên trần của R nhỏ hơn PR1, R không thể khống chế tác vụ mà τ1 có thể khống chế thông qua S. Do vậy, tác vụ có độ −u tiên cao τh có thể bị khống chế qua S và R.

Một ví dụ minh chứng cho việc sử dụng luật PCP ở hình 5.17. Trong b−ớc thực hiện tại phía trên của hình vẽ, tác vụ τmbị khống chế qua semaphore S bởi vì τ1 giữ R và ceiling(R)≥ PRm. Nếu τm bị cấm khi yêu cầu S, τh có thể bị khống chế bởi khoảng thời gian xác định của hai hoạt động phiên tới hạn. Tuy τm bị khống chế bằng cách khoá nh− vậy nh−ng nó không bao giờ thoát ra đ−ợc. PCP bảo đảm các tác vụ chỉ bị khoá nhiều nhất một lần. Trong hoạt động ở phía d−ới hình vẽ, ceiling(R)<PRm nên τm

Theo quan điểm này, ta đã hâu nh− thiết lập ra giao thức mức −u tiên tới hạn ngoài việc thêm vào một số luật kèm theo sau:

- Mỗi semaphore S có một liên kết mức −u tiên tới hạn ceiling(S) với nó.

- Khi τ1muốn khoá S, việc này chỉ đúng khi PR1 lớn hơn ceiling(R) với mọi semaphore R bị khoá bởi các tác vụ khác. Nếu không τ1 sẽ bị khống chế.

- Nếu tác vụ τh bị khống chế qua S bị giữ bởi τ1 thì τ1 sẽ thừa kế độ −u tiên PRh. - Khi τ1 nhà S, τ1 nhà tất cả các độ −u tiên mà nó kế thừa qua S. Tác vụ có độ −u tiên cao nhất sẽ đ−ợc đặt vào hàng đợi

Nếu ra tính đ−ợc quãng thời gian khống tối đa cho mỗi tác vụ, ta sẽ sử dụng mệnh đề 5.4 để xác định rằng liệu tập các tác vụ có một cách sắp lịch khả thi sử dụng phân công −u tiên hay không? Bởi vì một tác vụ có thể bị khống chế bởi nhiều nhất một tác vụ khác và qua nhiều nhất một semaphore nên ta có

Bh≤ max{Eh(S)ceiling(S)≥PRh Ư} (5.5)

Tác vụ τm bị kết khối bởi PCP celling(R) celling (S) τk Khóa S mở S τm Khóa S mở S τl Khóa R mở R

Tác vụ τm không bị kết khối bởi PCP

τk Khóa S τm Khóa S mở S τl Khóa R mở R

ch−ơng VI. Hệ thống file phân tán

Hệ thống tính toán là tập hợp các thao tác xử lý trên đối t−ợng dữ liệu. Các đối t−ợng bền vững cần đ−ợc l−u giữ lâu dài để tìm kiếm. Chúng cần đ−ợc đặt tên và bảo quản trên các thiết bị l−u trữ ổn định, chẳng hạn nh− đĩa từ. Các đối t−ợng dữ liệu có tên đ−ợc gọi là file. Giả sử file là đối t−ợng dữ liệu cơ bản, cấu trúc nội tại và thể hiện chúng đ−ợc coi nh− vấn đề thi hành của đặc tả hệ thống. Hệ thống file là thành phần chính trong HĐH, có trách nhiệm đặt tên, tạo mới, xoá, tìm kiếm, sửa chữa và bảo vệ mọi file trong hệ thống. File cần đ−ợc chia xẻ để dễ dàng cộng tác và đ−ợc phân bố tại các nút rời rạc trong hệ thống phân tán.

Hệ thống file phân tán (DFS) là thi hành của hệ thống file, phù hợp với việc phân tán vật lý trên các nút l−u giữ song cung cấp một cái nhìn của hệ thống file tập trung theo truyền thống cho ng−ời dùng. Sự tồn tại các file trong phạm vi của hệ thống là trong suốt đối với ng−ời dùng. Nhiều khái niệm quan trọng trong thiết kế hệ phân tán đ−ợc sáng tỏ nhờ thi hành DFS. Thứ nhất, DFS sử dụng nhiều khía cạnh của tính trong suốt. Thứ hai, dịch vụ th− mục trong DFS là ví dụ tốt của dịch vụ tên, một thành phần cốt yếu trong hệ phân tán. Thứ ba, yêu cầu về hiệu năng và độ sẵn sàng cần đến bộ đệm cache và nhân bản, dẫn tới bài toán quản lý kết dính cache và nhân bản. Thứ t−, điều khiển truy cập và bảo vệ đối với DFS mở ra nhiều bài toán quan trọng trong an toàn hệ phân tán. Ch−ơng này giới thiệu những vấn đề này (tại các ch−ơng thuộc phần 2 tài liệu, các vấn đề này sẽ đ−ợc nghiên cứu chi tiết hơn).

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