Cho 3 process và bảng sau: Tên process Tổng thời gian Thời điểm I/O Thời gian I/O Vẽ sơ đồ điều phối 3 process này và cho biết trạng thái của các trạng thái tại thời điểm t = 10.5s: a..
Trang 1BÀI TẬP LÝ THUYẾT
CH Ủ ĐỀ 1: CÁC CHI Ế N L ƯỢ C Đ I Ề U PH Ố I PROCESS
Các trạng thái tiến trình:
• new: Tiến trình vừa được tạo (chạy chương trình)
• ready: Tiến trình sẵn sàng để chạy
• running: Tiến trình đang chạy (thi hành lệnh)
• waiting: Tiến trình chờ đợi một sự kiện
• terminated: Tiến trình kết thúc thi hành lệnh
Có nhiều hàng đợi:
• ready queue: hàng đợi chứa các tiến trình sẵn sàng chạy
• I/O queue: hàng đợi chứa các tiến trình sẵn sàng thi hành I/O
Ví dụ 1:
Cho tiến trình A(10, 3, 2), 10: tổng thời gian hoạt động, 3: Thời điểm bắt đầu I/O, 2: Trong I/O bao lâu
1 2 3 4 5 6 7 8 9 10
A R A R A R A IO A IO A R A R A R A R A R
A R : A running
A IO : A Input/Output
Ví dụ 2:
Cho A(10, 2, 2) A R A R A IO A IO A R A R A R A R A R A R
B(8, 2, 2) B R B R B IO B IO B R B R B R B R
(Khi sắp lên cột thời gian thì không có 2 cái giống nhau, tức là A R thì trạng thái của B không thể là
B R , hoặc trạng thái của A là A IO thì trạng thái của B không thể là B IO Do đó:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
A R A R A IO A IO A R A R A R A R A R A R
B R B R B IO B IO B R B R B R B R
Vậy tại thời điểm t = 9,32 thì A running, B ready (tiến trình B vẫn chưa hết thời gian hoạt động)
Trang 2Round Robin hiện đại
2 quy tắc để thực hiện RR có I/O:
• Tại thời điểm m có 2 tiến trình: A running xong q (vừa hết thời gian q) và B IO xong (vừa
hết thời gian I/O) thì thứ tự đưa vào hàng đợi ready queue là B trước A sau
• Tại thời điểm m nếu A running xong q (vừa hết thời gian q) và đến thời điểm bắt đầu IO thì
thời điểm IO sẽ đưa vào chu kỳ sau (A sẽ được đưa vào Ready queue và A sẽ đi I/O vào lần cấp phát CPU kế tiếp cho nó)
Cần chú ý:
• Tại thời điểm m nào đó mà tiến trình A running xong mà chưa hết thời gian quantum q thì tiến trình A đi I/O ngay
• Thời gian quantum q chỉ có tác dụng đối với việc giữ CPU (tức là tiến trình chỉ được giữ CPU trong thời gian tối đa là q), không có tác dụng đối với thời gian I/O (tiến trình đã bắt
đầu I/O thì thực hiện hết khoảng thời gian I/O bất chất q)
Bài 1 Cho 3 process và bảng sau:
Tên process Tổng thời gian Thời điểm I/O Thời gian I/O
Vẽ sơ đồ điều phối 3 process này và cho biết trạng thái của các trạng thái tại thời
điểm t = 10.5s:
a Theo chiến lược FIFO có I/O
b Theo chiến lược Round Robin có I/O với q = 2
Bài 2 Cho 4 process và bảng sau:
Tên process Tổng thời gian Thời điểm I/O Thời gian I/O
Vẽ sơ đồ điều phối 4 process này và cho biết trạng thái của các trạng thái tại thời
điểm t = 10.5s:
a Theo chiến lược FIFO có I/O
b Theo chiến lược Round Robin có I/O với q = 3
Bài 3 Cho 4 process và bảng sau:
Tên process Tổng thời gian Thời điểm I/O Thời gian I/O
Vẽ sơ đồ điều phối 4 process này và cho biết trạng thái của các trạng thái tại thời
điểm t = 10.5s:
a Theo chiến lược FIFO có I/O
b Theo chiến lược Round Robin có I/O với q = 3
Bài 4 Cho 3 process và bảng sau:
Tên process Tổng thời gian Thời điểm I/O Thời gian I/O
Trang 3Vẽ sơ đồ điều phối 3 process này và cho biết trạng thái của các trạng thái tại thời
điểm t = 13.5s:
a Theo chiến lược FIFO có I/O
b Theo chiến lược Round Robin có I/O với q = 3
Bài 5
Cho 3 process và bảng sau:
Tên process Tổng thời gian Thời điểm I/O Thời gian I/O
Vẽ sơ đồ điều phối 3 process này và cho biết trạng thái của các trạng thái tại thời
điểm t = 6.5s:
a Theo chiến lược FIFO có I/O
b Theo chiến lược Round Robin có I/O với q = 2
Bài 6
Cho 3 process và bảng sau:
Tên process Tổng thời gian Thời điểm I/O Thời gian I/O
Vẽ sơ đồ điều phối 3 process này và cho biết trạng thái của các trạng thái tại thời
điểm t = 11.5s:
a Theo chiến lược FIFO có I/O
b Theo chiến lược Round Robin có I/O với q = 3
Bài 7
Cho 3 process và bảng sau:
Tên process Tổng thời gian Thời điểm I/O Thời gian I/O
Vẽ sơ đồ điều phối 3 process này và cho biết trạng thái của các trạng thái tại thời
điểm t = 9.5s:
a Theo chiến lược FIFO có I/O
b Theo chiến lược Round Robin có I/O với q = 3
Bài 8
Cho 3 process và bảng sau:
Tên process Tổng thời gian Thời điểm I/O Thời gian I/O
Trang 4Vẽ sơ đồ điều phối 3 process này và cho biết trạng thái của các trạng thái tại thời
điểm t = 9.5s:
a Theo chiến lược FIFO có I/O
b Theo chiến lược Round Robin có I/O với q = 3
Bài 9
Một hệ thống có 3 tiến trình với thời điểm đến và thời gian sử dụng CPU như sau:
Tiến trình Thời điểm đến (ms) CPU-Burst (ms) Độ ưu tiên
Hãy tính thời gian chờ trung bình và vẽ biểu đồ Gantt trong với các chiến lược sau:
a FIFO (FCFS)
b Phân phối xoay vòng (Round-Robin) với thời lượng quantum là 10 ms
c Công việc ngắn nhất (SJFS) (không độc quyền)
d Độ ưu tiên (không độc quyền)
Bài 10
Cho 4 tiến trình và thời gian đến (Arrival Time) tương ứng :
Vẽ sơ đồ Gannt và tính thời gian chờ trung bình (average wait time) và thời gian xoay vòng (average turnaround time) trung bình cho các giải thuật định thời
a First Come First Serve (FCFS) – FIFO
b Công việc ngắn nhất (SJFS)
c Round Robin (RR) với quantum = 4
Trang 5CH Ủ ĐỀ 2: DEADCLOCK
Một số thuật ngữ:
• Max: Yêu cầu ban đầu (ma trận mxn, với m là số dòng - ứng với số lượng tiến
trình, n là cột - ứng với số lượng tài nguyên) Trong một số tài liệu, người ta
thường dùng từ Request thay cho Max
• Allocation: Đã cấp phát (ma trận mxn)
• Available: Tài nguyên còn lại (ma trận 1xn)
• Need: Nhu cầu còn lại (ma trận mxn, xác định như sau: Need[i,j] = Max[i,j] –
Allocation[i,j])
• Số tài nguyên từng loại: Allocation[j] + Available[j]
• Hãy tìm một trạng thái an toàn: Có nhiều cách, do đó kết quả các cách làm
sẽ không giống nhau tùy thuộc vào cách tìm, thuờng so sánh bảng Need
với Available, xem Pi nào nhỏ chọn cái đó trước)
Bài 1
Cho hệ thống có 5 tiến trình và 3 loại tài nguyên (A, B, C) Giả sử hệ thống đang ở trạng thái sau:
Yêu cầu ban đầu (Request)
Đã cấp phát
(Allocation)
Tài nguyên rãnh (Available)
a Tính nhu cầu còn lại của mỗi tiến trình và số tài nguyên mỗi loại của hệ thống
b Hãy tìm một trạng thái an toàn (safe sate)
c. Nếu tiến trình P2 có yêu cầu thêm tài nguyên (A: 1, B: 2, C: 1), hãy cho biết yêu cầu này
có thể đáp ứng mà bảo đảm không xảy ra tình trạng deadlock hay không?
Bài 2
Cho hệ thống có 5 tiến trình và 3 loại tài nguyên (A, B, C) Giả sử hệ thống đang ở trạng thái sau:
Yêu cầu ban đầu
(Request)
Đã cấp phát
(Allocation)
Tài nguyên còn lại (Need)
Tài nguyên rãnh (Available)
a Tính số tài nguyên mỗi loại của hệ thống
b Hãy tìm một trạng thái an toàn (safe sate)
Trang 6c. Nếu tiến trình P3 có yêu cầu thêm tài nguyên (A: 0, B: 0, C: 3), áp dụng giải thuật nhà băng (Banker’s Algorithm), xét xem có nên cấp phát cho P3 hay không? Tại sao?
Bài 3
Cho hệ thống có 5 tiến trình và 3 loại tài nguyên (A, B, C) Giả sử hệ thống đang ở trạng thái sau:
Yêu cầu ban đầu
(Request)
Đã cấp phát
(Allocation)
Tài nguyên còn lại (Need)
Tài nguyên rãnh (Available)
a Tính số tài nguyên mỗi loại của hệ thống
b Hãy tìm một trạng thái an toàn (safe sate)
c. Nếu tiến trình P3 có yêu cầu thêm tài nguyên (A: 1, B: 2, C: 0), áp dụng giải thuật nhà băng (Banker’s Algorithm), xét xem có nên cấp phát cho P3 hay không? Tại sao?
Bài 4
Cho hệ thống có 5 tiến trình và 4 loại tài nguyên (A, B, C, D) Giả sử hệ thống đang
ở trạng thái sau:
Yêu cầu ban đầu (Request)
Đã cấp phát
(Allocation)
Tài nguyên rãnh (Available)
P1 0 0 1 2 0 0 1 1 1 5 2 0
P2 1 7 5 0 1 0 0 0
P3 2 3 5 6 1 3 5 4
P4 0 6 5 2 0 6 3 2
P5 0 9 5 6 0 0 1 4
a Tính số tài nguyên mỗi loại của hệ thống
b Tính nhu cầu còn lại (Need) của hệ thống
c Hãy tìm một trạng thái an toàn (safe sate)
d. Nếu tiến trình P2 có yêu cầu thêm tài nguyên (A: 0, B: 4, C: 2, D: 0), áp dụng giải thuật nhà băng (Banker’s Algorithm), xét xem có nên cấp phát cho P2 hay không? Tại sao?
Bài 5
Cho hệ thống có 5 tiến trình và 3 loại tài nguyên (A, B, C) Giả sử hệ thống đang ở trạng thái sau:
Yêu cầu ban đầu
(Request)
Đã cấp phát
(Allocation)
Tài nguyên còn lại (Need)
Tài nguyên rãnh (Available)
a Tính số tài nguyên mỗi loại của hệ thống
b Hãy tìm một trạng thái an toàn (safe sate)
Trang 7c. Nếu tiến trình P3 có yêu cầu thêm tài nguyên (A: 0, B: 0, C: 2), áp dụng giải thuật nhà băng (Banker’s Algorithm), xét xem có nên cấp phát cho P3 hay không? Tại sao?
Bài 6
Cho hệ thống có 5 tiến trình và 3 loại tài nguyên (A, B, C) Giả sử hệ thống đang ở trạng thái sau:
Yêu cầu ban đầu
(Request)
Đã cấp phát
(Allocation)
Tài nguyên còn lại (Need)
Tài nguyên rãnh (Available)
a Tính số tài nguyên mỗi loại của hệ thống
b Hãy tìm một trạng thái an toàn (safe sate)
c. Nếu tiến trình P3 có yêu cầu thêm tài nguyên (A: 3, B: 1, C: 0), áp dụng giải thuật nhà băng (Banker’s Algorithm), xét xem có nên cấp phát cho P3 hay không? Tại sao?
Bài 7
Một hệ thống có 3 ổ băng từ và 3 tiến trình P1, P2, P3 với trạng thái cấp phát tài nguyên ở
thời điểm Ti thể hiện bằng véc-tơ Allocation = (1, 0, 1) và Max = (1, 2, 2):
Dùng giải thuật nhà băng để:
a Chứng minh trạng thái này an toàn
b Xác định có nên đáp ứng hay không yêu cầu xin thêm 1 ổ nữa của của P3?
Bài 8
Một hệ thống có 5 tiến trình và 4 loại tài nguyên (A, B, C, D) với tình trạng như sau:
- A có 3 thể hiện
- B có 14 thể hiên
- C có 12 thể hiện
- D có 12 thể hiện
Process Allocation Max Available
A B C D A B C D A B C D P0 0 0 1 2 0 0 1 2 1 5 2 0 P1 1 0 0 0 1 7 5 0
P2 1 3 5 4 2 3 5 6 P3 0 6 3 2 0 6 5 2 P4 0 0 1 4 0 6 5 6 Dùng giải thuật nhà băng để:
a Chứng minh trạng thái này an toàn
b Xác định có nên đáp ứng yêu cầu (0, 4, 3, 0) của P1 ?
Bài 9
Một hệ thống có 4 tiến trình P1, P2, P3, P4 và 5 loại tài nguyên R1, R2, R3, R4, R5 Trong đó:
- R1 có 1 thể hiện
- R2 có 2 thể hiện
- R3 có 1 thể hiện
Trang 8- R4 có 3 thể hiện
- R5 có 2 thể hiện
- P1 đang giữ 1 thể hiện của R2 và yêu cầu 1 thể hiện của R1
- P2 đang giữ 1 thể hiện của R1 và yêu cầu 1 thể hiện của R3
- P3 đang giữ 1 thể hiện của R3 và yêu cầu 1 thể hiện của R4
- P4 đang giữ 1 thể hiện của R4 và yêu cầu 1 thể hiện của R2
a Hãy vẽ đồ thị cấp phát tài nguyên như mô tả trên
b Trạng thái trên có xảy ra deadclock không? Tại sao?
Bài 10
Trạng thái sau có xảy ra tình trạng deadclock không? Tại sao?
Trang 9CH Ủ ĐỀ 3: QU Ả N LÝ B Ộ NH Ớ
Bài 1. Chương trình A cần thực hiện các trang 2, 5, 2, 4, 2, 6, 3, 7, 3 với số khung trang k=3 Hãy thực hiện thay thế trang theo FIFO, LRU và tối ưu (ít sử dụng nhất trong tương lai) Cho biết cơ chế nào tốt hơn
HD GIẢI:
FIFO (vào trước được thay ra trước)
Thay thế trang 6 lần
Ít sử dụng nhất trong tương lai:
(trang ít khả năng sử dụng nhất trong tương lai sẽ được thay ra thuật toán tối ưu
nhưng khó thực hiện)
Thay thế trang 6 lần
LRU (lâu nhất chưa sử dụng sẽ bị thay ra)
Thay thế trang 6 lần
Bài 2. Cho bộ nhớ thực có 3 frame, bộ nhớ ảo có 6 page Vẽ sơ đồ phân trang theo chiến lược FIFO và LRU
Biết thứ tự truy xuất các trang theo thời gian như sau: 5, 3, 0, 3, 1, 2, 4, 2, 4, 5
Bài 3. Cho bộ nhớ thực có 4 frame, bộ nhớ ảo có 8 page Vẽ sơ đồ phân trang theo chiến lược FIFO và LRU Biết thứ tự truy xuất các trang theo thời gian như sau: 5, 7, 6, 7, 4, 3,
4, 1, 6, 6, 2, 4, 0, 5, 1, 2, 6, 7, 6, 5
Bài 4. Cho bộ nhớ thực có 3 frame, bộ nhớ ảo có 8 page Vẽ sơ đồ phân trang theo chiến lược FIFO và LRU Biết thứ tự truy xuất các trang theo thời gian như sau: 7, 0, 5, 2, 0, 3,
0, 4, 6, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1
Bài 5. Cho bộ nhớ thực có 3 frame, bộ nhớ ảo có 6 page Vẽ sơ đồ phân trang theo chiến lược FIFO và LRU
Biết thứ tự truy xuất các trang theo thời gian như sau: 0, 1, 0, 2, 3, 4, 5, 0, 1, 3
Bài 6. Cho bộ nhớ thực có 4 frame, bộ nhớ ảo có 8 page Vẽ sơ đồ phân trang theo chiến lược FIFO và LRU Biết thứ tự truy xuất các trang theo thời gian như sau: 7, 0, 5, 2, 0, 3,
0, 4, 6, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1
Trang 10Bài 7. Cho bộ nhớ thực có 3 frame, bộ nhớ ảo có 5 page Vẽ sơ đồ phân trang theo chiến lược FIFO và LRU
Biết thứ tự truy xuất các trang theo thời gian như sau: 1, 2, 1, 0, 4, 1, 3, 4
Bài 8. Sử dụng 3 khung trang, khởi đầu đều trống:
7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
a Thuật toán tối ưu
b Thuật toán FIFO
c Thuật toán lâu nhất chưa sử dụng
Bài 9 Chương trình A cần thực hiện nội dung các trang theo thứ tự sau: 2 7 6 2 5 4 3 7 5 3
7 với số khung trang k=3 Hỏi áp dụng chiến lược thay thế trang nào tốt hơn?
Bài 10. Giả sử A cần đọc các trang 2 5 2 7 3 6 4 6 2 4 2 3 với số khung trang k=3 Thực hiện thay thế trang theo FIFO và ít sử dụng nhất trong tương lai
Trang 11CH Ủ ĐỀ 4: H Ệ TH Ố NG T Ậ P TIN
mỗi bảng FAT là 160 sectors Kích thước vùng ROOTDIR là 160 sectors Hỏi volume này nên dùng bảng FAT loại mấy bit?
HD GIẢI
• Tổng số sector của volume: 400 x 210 x 210 / 29 = 400 x 210 (sector)
• Tổng số sector vùng data: 400 x 210 – (1 + 2 * 160 + 160) = 818719 (sector)
• Tổng số block của vùng data: 818719 / 8 = 102339.9 ≅ 102340 (block)
• Mỗi fat-entry trong bảng FAT quản lý 01 block trong vùng data, có 2 fat-entry đầu tiên không sử dụng Chọn k là số nguyên thỏa mãn điều kiện sau:
2k-1≤ 102340 + 2 ≤ 2k Chọn k = 17 vì 216=65536 ≤ 102340 + 2 ≤ 217=131072 Vậy ta nên dùng bảng FAT 17 bit
Bài 2. Cho biết loại bảng FAT của một volume có dung lượng 8GB với 400 sectors/FAT và 200 sectors/rootdicrectory, mỗi block là 8 sectors
Bài 3. Cho biết loại bảng FAT của một volume có dung lượng 16GB với 800 sectors/FAT và 400 sectors/rootdicrectory, mỗi block là 16 sectors
Bài 4. Tại sao dùng FAT12 cho đĩa mềm 1.44MB (1 ¼ inches)?
Bài 5. Cho một volume có dung lượng 127.5MB Mỗi vùng FAT có kích thước 260 sectors (2 vùng FAT, chỉ có 01 Fat-entry đầu tiên không được dùng vào việc quản lý) Vùng ROOTDIR có kích thước 600 sectors Trên vùng DATA, mỗi blocks bằng
4 sectors Hỏi volume này nên dùng bảng FAT loại mấy bit?
Bài 6. Cho một volume có dung lượng 7.85MB Mỗi vùng FAT có kích thước 12 sectors (2 vùng FAT, 2 Fat-entry đầu tiên không được dùng vào việc quản lý) Vùng ROOTDIR có kích thước 52 sectors Trên vùng DATA, mỗi blocks bằng 4 sectors Hỏi volume này nên dùng bảng FAT loại mấy bit?
– NRDET = 224
Hãy cho biết các cluster sau trong vùng Data tương ứng chiếm những sector logic nào trên đĩa: 5, 2, 10, 20
Hướng dẫn:
- SC = số sector / cluster
- SB = số sector trước vùng FAT
- NF = số bảng FAT
- SF = kích thước bảng FAT
- SV = tổng số sector / volume
i = SB + NF*SF + SRDET + (k- 2)*SC
SRDET = NRDET*32/512
Bài giải:
• Từ giả thuyết ta suy ra: SRDET = NRDET*32/512 = 224*32/512 = 14 (sector)
• K = 5 i = 1 + 2*9 + 14 + (5-2)*4 = 45
Cluster 5 trong Data chiếm 4 sector logic là 45, 46, 47, 48
• K = 2 i = 1 + 2*9 + 14 + (2-2)*4 = 33
Cluster 2 trong Data chiếm 4 sector logic là 33, 34, 35, 36
• K = 10 i = 1 + 2*9 + 14 + (10-2)*4 = 65
NHÓM 1