BÀI TẬP CHƯƠNG MÔN HỆ ĐIỀU HÀNH
PHẦN I: LẬP LỊCH CPU (ĐIỀU PHỐI TIẾN TRÌNH)
Yêu cầu chung của phần này:
- Vẽ biểu đồ Gantt cho các thuật toán FCFS, SSJF, Priority, RR
- Tính thời gian chờ của từng tiến trình trong mỗi giải thuật
- Tính thời gian chờ trung bình trong mỗi giải thuật
- Tính thời gian lưu lại của các tiến trình trong hệ thống, trong từng giải thuật
Bài 1: Xét 4 tiến trình sau: Quantum = 10
Tiến trình Thời điểm vào Độ ưu tiên Thời gian thực hiện
P1 1 3 13
P2 2 1 8
P3 3 0 27
P4 4 2 16
Bài 2: Xét 4 tiến trình sau: Quantum = 7
Tiến trình Thời điểm vào Độ ưu tiên Thời gian thực hiện
P1 1 3 13
P2 2 1 6
P3 3 0 16
P4 4 2 23
Bài 3: Xét 4 tiến trình sau: Quantum = 5
Tiến trình Thời điểm vào Độ ưu tiên (max=0) Thời gian thực hiện
P1 1 3 8
P2 2 0 21
P3 3 1 13
P4 4 2 5
Bài 4: Xét 4 tiến trình sau: Quantum = 6
Tiến trình Thời điểm vào Độ ưu tiên (max=0) Thời gian thực hiện
P1 1 2 20
P2 2 1 13
P3 3 3 8
P4 4 0 16
Bài 5: Xét 4 tiến trình sau: Quantum = 8
Tiến trình Thời điểm vào Độ ưu tiên (max=0) Thời gian thực hiện
P1 1 0 10
P2 2 2 21
P3 3 1 9
P4 4 3 14
Bài 6: Xét 4 tiến trình sau: Quantum = 6
Tiến trình Thời điểm vào Độ ưu tiên (max=0) Thời gian thực hiện
P1 1 3 15
P2 2 1 8
P3 3 2 23
P4 4 0 11
Bài 7: Xét 4 tiến trình sau: Quantum = 5
Tiến trình Thời điểm vào Độ ưu tiên (max=0) Thời gian thực hiện
P1 1 0 19
P2 2 3 11
P3 3 2 7
P4 4 1 13
Bài 8: Xét 4 tiến trình sau: Quantum = 8
Tiến trình Thời điểm vào Độ ưu tiên (max=0) Thời gian thực hiện
P1 1 1 20
P2 2 2 11
P3 3 0 9
P4 4 3 17
Bài 9: Xét 4 tiến trình sau: Quantum = 4
Tiến trình Thời điểm vào Độ ưu tiên (max=0) Thời gian thực hiện
P1 1 3 11
P2 2 1 9
P3 3 2 21
P4 4 0 16
Bài 10: Xét 4 tiến trình sau: Quantum = 7
Tiến trình Thời điểm vào Độ ưu tiên (max=0) Thời gian thực hiện
P1 1 2 23
P2 2 1 13
P3 3 3 9
P4 4 0 16
PHẦN II: ĐỒNG BỘ TIẾN TRÌNH
A. SEMAPHORES
- Các bài toán trong phần này đều có S = 1.
Bài 1: Cho 6 tiến trình sau:
Tiến trình P1 P2 P3 P4 P5 P6
Độ ưu tiên (max=4) 1 2 2 3 4 1
Thời gian cần TNG 2 2 3 1 2 2
Bài 2: Cho 6 tiến trình sau:
Tiến trình P1 P2 P3 P4 P5 P6
Độ ưu tiên (max=4) 2 1 3 2 1 4
Thời gian cần TNG 3 2 1 2 2 2
Bài 3: Cho 7 tiến trình sau:
Tiến trình P1 P2 P3 P4 P5 P6 P7
Độ ưu tiên (max=4) 1 1 1 3 2 2 2
Thời gian cần TNG 2 2 3 1 1 2 3
Bài 4: Cho 6 tiến trình sau:
Tiến trình P1 P2 P3 P4 P5 P6
Độ ưu tiên (max=5) 2 1 3 3 4 5
Thời gian cần TNG 2 4 3 2 2 1
Bài 5: Cho 7 tiến trình sau:
Tiến trình A B C D E F G
Độ ưu tiên (max=4) 1 2 1 3 3 2 4
Thời gian cần TNG 2 2 2 3 2 2 1
Bài 6: Cho 6 tiến trình sau:
Tiến trình A B C D E F
Độ ưu tiên (max=4) 1 1 2 3 2 4
Thời gian cần TNG 2 3 2 2 2 1
Bài 7: Cho 6 tiến trình sau:
Tiến trình P1 P2 P3 P4 P5 P6
Độ ưu tiên (max=5) 2 1 3 3 4 5
Thời gian cần TNG 2 4 3 2 2 1
Bài 8: Cho 7 tiến trình sau:
Tiến trình P1 P2 P3 P4 P5 P6 P7
Độ ưu tiên (max=3) 1 1 2 3 2 3 1
Thời gian cần TNG 2 3 2 3 1 1 2
Bài 9: Cho 7 tiến trình sau:
Tiến trình P1 P2 P3 P4 P5 P6 P7
Độ ưu tiên (max=4) 1 1 1 3 2 2 2
Thời gian cần TNG 2 2 3 1 1 2 3
Bài 10: Cho 7 tiến trình sau:
Tiến trình P1 P2 P3 P4 P5 P6 P7
Độ ưu tiên (max=4) 1 1 1 3 4 2 5
Thời gian cần TNG 2 2 3 2 2 2 1
B. BANKER ALGORITHM
Bài 1: Giả sử một hệ thống có 5 tiến trình P0, P1, P2, P3, P4 và 3 loại tài nguyên A, B, C.
Tại thời điểm đang xét, trạng thái của hệ thống như sau:
Processes
Allocation Max Available
A B C A B C A B C
P
0
2
2
2
2
3
4
2 2 3
P
1
2
1
0
3
6
2
P
2
0
0
2
4
3
3
P
3
0
1
0
8
5
3
P
4
2
1
0
3
2
2
- Xác định ma trận Need?
- Dùng giải thuật Người chủ ngân hàng để kiểm tra xem hệ thống có đang ở trạng thái an toàn
hay không?
- Giả sử tiến trình Repuest
3
(1,2,3) thì yêu cầu nó có được đáp ứng ngay hay không? Tại sao?
Bài 2: Giả sử một hệ thống có 5 tiến trình P0, P1, P2, P3, P4 và 3 loại tài nguyên A, B, C. Tại
thời điểm đang xét, trạng thái của hệ thống như sau:
Processes
Allocation Max Available
A B C A B C A B C
P
0
4
2
2
6
4
3
2
3
1
P
1
0
0
2
4
3
3
P
2
2
1
2
2
3
3
P
3
1
3
0
3
4
2
P
4
0
1
0
8
5
3
- Xác định ma trận Need.
- Dùng giải thuật Người chủ ngân hàng để kiểm tra xem hệ thống có đang ở trạng thái an toàn
hay không?
- Giả sử tiến trình Request
1
(2,2,1) thì yêu cầu nó có được đáp ứng ngay hay không? Tại sao?
Bài 3: Giả sử một hệ thống có 5 tiến trình P0, P1, P2, P3, P4 và 3 loại tài nguyên A, B, C.
Tại thời điểm đang xét, trạng thái của hệ thống như sau:
Processes
Allocation Max Available
A B C A B C A B C
P
0
2
3
2
2
4
4
2 2 3
P
1
2
0
0
3
5
2
P
2
0
1
2
4
4
3
P
3
0
1
0
8
5
3
P
4
2
1
0
3
2
2
- Xác định ma trận Need.
- Dùng giải thuật Người chủ ngân hàng để kiểm tra xem hệ thống có đang ở trạng thái an toàn
hay không?
- Giả sử tiến trình Request
3
(2,2,1) thì yêu cầu nó có được đáp ứng ngay hay không? Tại sao?
Bài 4: Giả sử một hệ thống có 5 tiến trình P0, P1, P2, P3, P4 và 3 loại tài nguyên A, B, C.
Tại thời điểm đang xét, trạng thái của hệ thống như sau:
Processes
Allocation Max Available
A B C A B C A B C
P
0
2
5
2
7
5
3
2 5 3
P
1
2
2
1
3
2
3
P
2
5
1
1
9
3
2
P
3
1
2
1
2
2
3
P
4
4
1
2
5
2
2
- Xác định ma trận Need.
- Dùng giải thuật Người chủ ngân hàng để kiểm tra xem hệ thống có đang ở trạng thái an toàn
hay không?
- Giả sử tiến trình Request
0
(2,0,1) thì yêu cầu nó có được đáp ứng ngay hay không? Tại sao?
Bài 5: Giả sử một hệ thống có 5 tiến trình P0, P1, P2, P3, P4 và 3 loại tài nguyên A, B, C.
Tại thời điểm đang xét, trạng thái của hệ thống như sau:
Processes
Allocation Max Available
A B C A B C A B C
P
0
2
5
2
7
5
3
2 5 3
P
1
2
2
1
3
2
3
P
2
5
1
1
9
3
2
P
3
1
2
1
2
2
3
P
4
4
1
2
5
2
2
- Xác định ma trận Need.
- Dùng giải thuật Người chủ ngân hàng để kiểm tra xem hệ thống có đang ở trạng thái an toàn
hay không?
- Giả sử tiến trình Request
4
(1,1,0) thì yêu cầu nó có được đáp ứng ngay hay không? Tại sao?
Bài 6: Giả sử một hệ thống có 5 tiến trình P0, P1, P2, P3, P4 và 3 loại tài nguyên A, B, C.
Tại thời điểm đang xét, trạng thái của hệ thống như sau:
Processes
Allocation Max Available
A B C A B C A B C
P
0
2
2
2
2
3
4
2 2 3
P
1
2
1
0
3
6
2
P
2
0
0
2
4
3
3
P
3
0
1
0
8
5
3
P
4
2
1
0
3
2
2
- Xác định ma trận Need.
- Dùng giải thuật Người chủ ngân hàng để kiểm tra xem hệ thống có đang ở trạng thái an toàn
hay không?
- Giả sử tiến trình Request
3
(1,2,3) thì yêu cầu nó có được đáp ứng ngay hay không? Tại sao?
Bài 7: Giả sử một hệ thống có 5 tiến trình P0, P1, P2, P3, P4 và 3 loại tài nguyên A, B, C.
Tại thời điểm đang xét, trạng thái của hệ thống như sau:
Processes
Allocation Max Available
A B C A B C A B C
P
0
4
2
2
6
4
3
2
3
1
P
1
0
0
2
4
3
3
P
2
2
1
2
2
3
3
P
3
1
3
0
3
4
2
P
4
0
1
0
8
5
3
- Xác định ma trận Need.
- Dùng giải thuật Người chủ ngân hàng để kiểm tra xem hệ thống có đang ở trạng thái an toàn
hay không?
- Giả sử tiến trình Request
1
(2,2,1) thì yêu cầu nó có được đáp ứng ngay hay không? Tại sao?
Bài 8: Giả sử một hệ thống có 5 tiến trình P0, P1, P2, P3, P4 và 3 loại tài nguyên A, B, C.
Tại thời điểm đang xét, trạng thái của hệ thống như sau:
Processes
Allocation Max Available
A B C A B C A B C
P
0
2
3
2
2
4
4
2 2 3
P
1
2
0
0
3
5
2
P
2
0
1
2
4
4
3
P
3
0
1
0
8
5
3
P
4
2
1
0
3
2
2
- Xác định ma trận Need.
- Dùng giải thuật Người chủ ngân hàng để kiểm tra xem hệ thống có đang ở trạng thái an toàn
hay không?
- Giả sử tiến trình Request
3
(2,2,1) thì yêu cầu nó có được đáp ứng ngay hay không? Tại sao?
Bài 9: Giả sử một hệ thống có 5 tiến trình P0, P1, P2, P3, P4 và 3 loại tài nguyên A, B, C.
Tại thời điểm đang xét, trạng thái của hệ thống như sau:
Processes
Allocation Max Available
A B C A B C A B C
P
0
2
3
2
2
4
4
2 2 3
P
1
2
0
0
3
5
2
P
2
0
1
2
4
4
3
P
3
0
1
0
8
5
3
P
4
2
1
0
3
2
2
- Xác định ma trận Need.
- Dùng giải thuật Người chủ ngân hàng để kiểm tra xem hệ thống có đang ở trạng thái an toàn
hay không?
- Giả sử tiến trình Request
3
(2,2,1) thì yêu cầu nó có được đáp ứng ngay hay không? Tại sao?
Bài 10: Giả sử một hệ thống có 5 tiến trình P0, P1, P2, P3, P4 và 3 loại tài nguyên A, B,
C. Tại thời điểm đang xét, trạng thái của hệ thống như sau:
Processes
Allocation Max Available
A B C A B C A B C
P
0
2
5
2
7
5
3
2 5 3
P
1
2
2
1
3
2
3
P
2
5
1
1
9
3
2
P
3
1
2
1
2
2
3
P
4
4
1
2
5
2
2
- Xác định ma trận Need.
- Dùng giải thuật Người chủ ngân hàng để kiểm tra xem hệ thống có đang ở trạng thái an toàn
hay không?
- Giả sử tiến trình Request
4
(1,1,0) thì yêu cầu nó có được đáp ứng ngay hay không? Tại sao?