Bài tập hệ điều hành quản lý bộ nhớ năm 2024

Một hệ thống máy tính với bộ nhớ chính có kích thước 320MB. Hệ thống sử dụng địa chỉ logic 48 bit. Kích thước trang được sử dụng là 8KB. Yêu cầu xác định các thông số sau: a. Cho biết số bit dùng cho địa chỉ offset. b. Số khung trang vật lý. c. Số trang logic trong không gian tiến trình. d. Cho địa chỉ logic 20030, yêu cầu đổi sang dạng .

Đáp án:

  1. Số bit dùng cho địa chỉ offset?

Là số bit cần dùng để mô tả tất cả các địa chỉ trong một trang

Kích thước một trang: 8KB = 2 3 .2 10 B = 8192B = 2 13 B  Số bit cần dùng là 13 bit.

  1. Số khung trang vật lý

Kích thước bộ nhớ vật lý =

320 MB

\=

320 * 2 20 B

\= 40 * 2 10 = 40960 trang Kích thước trang 8 KB/trang 8 * 2 10 B/trang

  1. Số trang logic trong không gian tiến trình

Kích thước không gian tiến trình =

248 B

\=

248 B

\= 2 35 trang Kích thước trang 8 KB/trang 213 B/trang

  1. Đổi địa chỉ 20030 sang dạng

Do kích thước trang là 8192, lấy 20030 chia cho 8192 được 2 dư 3646.

20030 được đổi thành

.

Bài 2:

Một máy tính sử dụng địa chỉ logic 64bit có dung lượng bộ nhớ 64MB. Hệ điều hành sử dụng 12 bit để làm địa chỉ offset. Yêu cầu tính số trang logic, số trang vật lý và kích thước trang.

Bài 3 : Một hệ thống máy tính với bộ nhớ chính có kích thước 800MB. Hệ thống sử dụng địa chỉ

logic 32 bit. Kích thước trang được sử dụng là 16KB. Yêu cầu xác định các thông số sau:

  1. Cho biết số bit dùng cho địa chỉ offset. b. Số khung trang vật lý. c. Số trang logic trong không gian tiến trình. d. Cho địa chỉ logic 203030, yêu cầu đổi sang dạng .

Bài 4: Cho một hệ thống máy tính sử dụng bộ nhớ ảo với cơ chế toàn cục [nghĩa là khi chọn trang

nạn nhân, hệ thống có thể chọn trang của một tiến trình khác]. Hệ thống có 3 khung trang, kích

thước của mỗi trang là 1024 bytes. Hệ thống sử dụng địa chỉ logic 16 bit.

  1. Cho biết số bít dùng cho địa chỉ offset và số trang logic tối đa trong không gian tiến trình b. Cho địa chỉ logic 263168, yêu cầu đổi sang dạng , nêu nhận xét về tính hợp lệ của địa chỉ logic trên.

Bài 5:

Giả sử trong quá trình quản lý bộ nhớ ảo dạng phân đoạn, HĐH duy trì bảng phân đoạn [Segment Table] như sau: Segment Base Limit 0 300 700 1 1200 500 2 2000 600

Hãy tính địa chỉ vật lý cho mỗi địa chỉ logic sau: [1,200], [1,0], [0,700], [2,0], [2,600] **GIÀI

  1. Vẽ vùng bộ nhớ vật lý d¿ng các đo¿n segment:** Từ bảng dữ liệu đề bài, ta vẽ được vùng bộ nhớ vật lý như sau:

Với segment 0 : ta có

  • Địa chỉ vật lý cơ sở [basic] là 300
  • Limit là 700 ==> địa chỉ vật lý của segment 0 là từ 300 -> 1000 Với segment 1 :
  • Địa chỉ vật lý cơ sở [basic] là 1200 , nên ta sẽ vẽ bắt đầu từ 1200 , như vậy từ 1000->1200 là trống, không có segment nào
  • Limit là 500

\=>Với các địa chỉ logic [0,430]; [1,010]; [1,500]; [3,400]; [4,112] ta có các địa chỉ vật lý tương ứng là 649; 2310; không hợp lệ;1727; không hợp lệ.

Bài 7:

Xét bảng phân đoạn sau đây: Segment Base Length 0 219 600 1 2300 14 2 90 100 3 1327 580 4 1952 96

Cho biết địa chỉ vật lý tương ứng với các địa chỉ logic sau đây: a] 0, 430 b] 1, 10 c] 2, 500 d] 3, 400 e] 4, 112

MÔN HỌC: HỆ ĐIỀU HÀNHCÂU HỎI VÀ BÀI TẬP CHƯƠNG 7

1. Quản lý bộ nhớ là gì? Các yêu cầu đối với quản lý bộ nhớ là gì? 2. Trình bày đặc điểm các loại địa chỉ bộ nhớ?3. Địa chỉ lệnh và dữ liệu được chuyển đổi thành địa chỉ thực có thể xảy ra tại những thời điểm nào? 4. Liên kết động [dynamic linking] là gì? 5. Phân mảnh ngoại và phân mảnh nội là gì?6. Như thế nào là phân vùng động, phân vùng cố định? Các chiến lược placement dùng để làm gì?Có những chiến lược nào?7. Cơ chế phân trang là gì? Cơ chế chuyển đổi địa chỉ trong phân trang được thực hiện như thế nào? 8. Bảng trang được cài đặt và tổ chức như thế nào? Thời gian truy xuất hiệu dụng [effective access time] được xác định như thế nào? 9. Cơ chế hoán vị là gì? 10. [Bài tập mẫu] Giả sử bộ nhớ chính được cấp phát thành các phân vùng có kích thước là 600K,500K, 200K, 300K [theo thứ tự], sau khi thực thi xong, các tiến trình có kích thước 212K, 417K, 112K, 426K [theo thứ tự] sẽ được cấp phát bộ nhớ như thế nào, nếu sư dụng: Thuật toánFirst fit, Best fit, Next fit, Worst fit? Thuật toán nào cho phép sử dụng bộ nhớ hiệu quả nhất trong trường hợp trên?Trả lời:a. Xét trường hợp bộ nhớ được phân vùng cố định:*First fit:

Tiến trình 212K sẽ được cấp phát vùng nhớ 600K.Tiến trình 417K sẽ được cấp phát vùng nhớ 500K.Tiến trình 112K sẽ được cấp phát vùng nhớ 200K.Tiến trình 426K sẽ phải chờ vì không còn vùng nhớ trống thỏa yêu cầu.* Best fit:Tiến trình 212K sẽ được cấp phát vùng nhớ 300K.Tiến trình 417K sẽ được cấp phát vùng nhớ 500K.Tiến trình 112K sẽ được cấp phát vùng nhớ 200K.Tiến trình 426K sẽ được cấp phát vùng nhớ 600K.* Next fit:Tiến trình 212K sẽ được cấp phát vùng nhớ 600K.Tiến trình 417K sẽ được cấp phát vùng nhớ 500K.Tiến trình 112K sẽ được cấp phát vùng nhớ 200K.Tiến trình 426K sẽ sẽ phải chờ vì không còn vùng nhớ trống thỏa yêu cầu.* Worst fit:Tiến trình 212K sẽ được cấp phát vùng nhớ 600K.Tiến trình 417K sẽ được cấp phát vùng nhớ 500K.Tiến trình 112K sẽ được cấp phát vùng nhớ 300K.Tiến trình 426K sẽ sẽ phải chờ vì không còn vùng nhớ trống thỏa yêu cầu. b. Xét trường hợp bộ nhớ được phân vùng động:*First fit:Tiến trình 212K sẽ được cấp phát vùng nhớ 600K => Vùng nhớ trống 388K.Tiến trình 417K sẽ được cấp phát vùng nhớ 500K.Tiến trình 112K sẽ được cấp phát vùng nhớ 388K.Tiến trình 426K sẽ phải chờ vì không còn vùng nhớ trống thỏa yêu cầu.* Best fit:Tiến trình 212K sẽ được cấp phát vùng nhớ 300K.Tiến trình 417K sẽ được cấp phát vùng nhớ 500K.Tiến trình 112K sẽ được cấp phát vùng nhớ 200K.

Tiến trình 426K sẽ được cấp phát vùng nhớ 600K.* Next fit:Tiến trình 212K sẽ được cấp phát vùng nhớ 600K. Tiến trình 417K sẽ được cấp phát vùng nhớ 500K.Tiến trình 112K sẽ được cấp phát vùng nhớ 200K.Tiến trình 426K sẽ sẽ phải chờ vì không còn vùng nhớ trống thỏa yêu cầu.* Worst fit:Tiến trình 212K sẽ được cấp phát vùng nhớ 600K. => Vùng nhớ trống 388K.Tiến trình 417K sẽ được cấp phát vùng nhớ 500K.Tiến trình 112K sẽ được cấp phát vùng nhớ 388K.Tiến trình 426K sẽ sẽ phải chờ vì không còn vùng nhớ trống thỏa yêu cầu.11. [Bài tập mẫu] Xét một không gian địa chỉ có 12 trang, mỗi trang có kích thước 2K, ánh xạ vào bộ nhớ vật lý có 32 khung trang. a. Địa chỉ logic gồm bao nhiêu bit? b. Địa chỉ physic gồm bao nhiêu bit?Trả lời:a. Địa chỉ logic gồm 2 phần: chỉ số trang và độ dời [offset] trong trang. Cần 4 bit để biểu diễn chỉ số trang và 11 bit [2

11

\= 2K = 2048] để biểu diễn độ dời trong trang. Vậy địa chỉ logic gồm 15 bit. b. Thực hiện tương tự. Địa chỉ physic gồm 16 bit.12. [Bài tập mẫu] Xét một hệ thống sử dụng kỹ thuật phân trang, với bảng trang được lưu trữ trong bộ nhớ chính. a. Nếu thời gian cho một lần truy xuất bộ nhớ bình thường [memory reference] là 200ns thì mất bao nhiêu thời gian cho một thao tác truy xuất bộ nhớ [paged memory reference] trong hệ thống này? b. Nếu sử dụng TLBs với hit-ratio là 75%, thời gian để tìm trong TLBs xem như bằng 0, tính thời gian truy xuất bộ nhớ [effective access time] trong hệ thống?Trả lời:

Chủ Đề