Bài tập hàng chờ

Giả sử có 5 tiến trình P1 , ..., P5 cùng được đưa vào hệ thống tại thời điểm 0.
Thời gian thực hiện tương ứng của các tiến trình là 4, 12, 7, 6 và 3. Độ ưu tiên
tương ứng của các tiến trình này là 3, 2, 0, 1, 5, trong đó 0 là độ ưu tiên cao
nhất, 5 là độ ưu tiên thấp nhất.
• Hãy tính thời gian chờ của mỗi tiến trình và thời gian chờ trung bình của
các tiến trình khi sử dụng các thuật toán lập lịch FCFS, PRI và SJF (hoạt
động theo chế độ non-preemptive).
• Giả sử các tiến trình được lập lịch theo thuật toán RR với lượng tử thời
gian q = 2. Hãy tính thời gian chờ của mỗi tiến trình và thời gian chờ
trung bình của các tiến trình.
• Cho biết lượng tử thời gian q thay đổi trong tập {0.5, 1, 1.5, 2, 2.5, 3}. Hãy
tính thời gian chờ trung bình của các tiến trình khi q thay đổi trong tập
trên và vẽ đồ thị mô tả mối quan hệ của hai đại lượng này.

Bài tập semaphore 1

Có n tiến trình cùng thực hiện nhiệm vụ tính tổng một mảng số thực a và lưu
kết quả vào một biến s. Mảng a và biến s là các biến chung, có thể đọc/ghi từ
mọi tiến trình. Hãy viết mã giả sử dụng semaphore để thực hiện nhiệm vụ này.

Bài tập semaphore 2

Một thiết bị ngoại vi chỉ hỗ trợ được tối đa 5 tiến trình cùng đọc/ghi. Hãy sử
dụng semaphore để điều khiển các tiến trình truy cập thiết bị nói trên.

Bài tập semaphore 3

Hãy mô hình hóa sự tương tranh tài nguyên của câu chuyện “hai con dê qua
cầu” dưới góc độ tiến trình/tài nguyên. Yêu cầu:
• Mô hình hóa tài nguyên và tiến trình
• Mô hình hóa việc yêu cầu cấp phát tài nguyên của các tiến trình

1