1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập các chiến lược điều phối process

16 2,3K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 259,19 KB

Nội dung

Danh sách bài tâp cho hệ điều hành gồm 4 chủ đề của thầy Lương Trần Hy Hiến - Chủ đề 1: CÁC CHIẾN LƯỢC ĐIỀU PHỐI PROCESS (có các ví dụ để tham khảo) - Chủ đề 2: DEADCLOCK - Chủ đề 3: QUẢN LÝ BỘ NHỚ (có bài giải mẫu) - Chủ đề 4: HỆ THỐNG TẬP TIN (có bài giải mẫu)

Trang 1

BÀI TẬP LÝ THUYẾT

CH Ủ ĐỀ 1: CÁC CHIN L ƯỢ C Đ IU PHI 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

FCFS hin đại

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

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 đang giữ CPU)

A IO : A Input/Output (A đang I/O)

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 đó:

A R A R A IO A IO A R A R A R A R A R A 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 2

Round Robin hin đạ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 3

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 = 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 4

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 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 5

CH Ủ ĐỀ 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 state)

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 state)

Trang 6

c. 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 state)

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 state)

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 state)

Trang 7

c. 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 state)

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 9

CH Ủ ĐỀ 3: QUN 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 10

Bà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 11

CHỦ ĐỀ 4: HỆ THỐNG TẬP TIN

Bài 1. Cho một volume có dung lượng 400MB Mỗi blocks có 8 sectors Kích thước 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?

Bài 7. Cho đĩa USB có các thông số sau:

– 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

Ngày đăng: 13/05/2014, 17:01

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w