Bài giảng Khoa học Máy tính Hệ điều hành - Chương 3: Quản lý bộ nhớ - Phạm Hải Đăng

Mục đích của hệ thống máy tính: thực hiện chương trình • Chương trình và dữ liệu (toàn bộ hoặc một phần) phải nằm

trong bộ nhớ chính trong khi thực hiện

• Byte tích cực:Những byte nội dung đang được thực hiện tại thời điểm quan sát:

• Phần chương trình chưa đưa vào bộ nhớ chính được lưu trên bộ nhớ thứ cấp (VD: đĩa cứng)= Bộ nhớ ảo

• Cho phép lập trình viên không lo lắng về giới hạn bộ nhớ vật lý

pdf 226 trang xuanthi 30/12/2022 820
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Khoa học Máy tính Hệ điều hành - Chương 3: Quản lý bộ nhớ - Phạm Hải Đăng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_khoa_hoc_may_tinh_he_dieu_hanh_chuong_3_quan_ly_bo.pdf

Nội dung text: Bài giảng Khoa học Máy tính Hệ điều hành - Chương 3: Quản lý bộ nhớ - Phạm Hải Đăng

  1. Địa chỉ = ?354565404420 Đoạn 3 bắtLỗi đầu truy tại nhập! 3200 P/tử 345 Jmp Offset 345 3545 Đoạn 2 4420 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.3 Chiến lược phân đoạn Ví dụ Địa chỉ = ? HĐH Không gian địa chỉ logic 1400 subroutine array Đoạn 0 2400 Đoạn 2 Đoạn 3 3200 main program data Đoạn 0 M A L Đoạn 3 4300 1 1400 1000 4700 stack 1 6300 400 Đoạn 4 0 - 400 Đoạn 4 Đoạn 1 5700 1 3200 1100 1 4700 1000 6300 SCB Đoạn 1 6700 Bộ nhớ 53 / 81
  2. Địa chỉ = ?354565404420 Đoạn 3 bắtLỗi đầu truy tại nhập! 3200 P/tử 345 Offset 345 3545 Đoạn 2 4420 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.3 Chiến lược phân đoạn Ví dụ Địa chỉ = ? HĐH Không gian địa chỉ logic 1400 subroutine array Đoạn 0 2400 Đoạn 2 Đoạn 3 3200 main program Jmp data Đoạn 0 M A L Đoạn 3 4300 1 1400 1000 4700 stack 1 6300 400 Đoạn 4 0 - 400 Đoạn 4 Đoạn 1 5700 1 3200 1100 1 4700 1000 6300 SCB Đoạn 1 6700 Bộ nhớ 53 / 81
  3. Địa chỉ = ?354565404420 Đoạn 3 bắtLỗi đầu truy tại nhập! 3200 P/tử 345 Offset 345 3545 4420 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.3 Chiến lược phân đoạn Ví dụ Địa chỉ = ? HĐH Không gian địa chỉ logic 1400 subroutine array Đoạn 0 2400 Đoạn 2 Đoạn 3 3200 main program Jmp data Đoạn 0 M A L Đoạn 3 4300 1 1400 1000 Đoạn 2 4700 stack 1 6300 400 Đoạn 4 1 4300 400 Đoạn 4 Đoạn 1 5700 1 3200 1100 1 4700 1000 6300 Đoạn 1 SCB 6700 Bộ nhớ 53 / 81
  4. Địa chỉ = ?354565404420 Đoạn 3 bắtLỗi đầu truy tại nhập! 3200 P/tử 345 Jmp Offset 345 3545 4420 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.3 Chiến lược phân đoạn Ví dụ Địa chỉ = ? HĐH Không gian địa chỉ logic 1400 subroutine array Đoạn 0 2400 Đoạn 2 Đoạn 3 3200 main program data Đoạn 0 M A L Đoạn 3 4300 1 1400 1000 Đoạn 2 4700 stack 1 6300 400 Đoạn 4 1 4300 400 Đoạn 4 Đoạn 1 5700 1 3200 1100 1 4700 1000 6300 SCB Đoạn 1 6700 Bộ nhớ 53 / 81
  5.  Truy nhập tới địa chỉ logic 1 s ≥ STLR : Lỗi 2 STBR + s : Vị trí phần tử s trong SCB 3 Kiểm tra trường dấu hiệu M của phần tử SCBs M = 0: Đoạn s chưa tồn tại trong bộ nhớ ⇒ Lỗi truy nhập ⇒ Hệ điều hành phải nạp đoạn 1 Xin vùng nhớ có kích thước được ghi trong trường L 2 Tìm modul tương ứng ở bộ nhớ ngoài và nạp và định vị vào vùng nhớ xin được 3 Sửa lại trường địa chỉ A và trường dấu hiệu M(M = 1) 4 Truy nhập bộ nhớ như trường hợp không gặp lỗi truy nhập M = 1 :Đoạn s đã tồn tại trong bộ nhớ 1 d ≥ Ls : Lỗi truy nhập (vượt quá kích thước đoạn) 2 d + As : Địa chỉ vật lý cần tìm Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.3 Chiến lược phân đoạn Chuyển đổi địa chỉ  Khi thực hiện chương trình Bảng quản lý đoạn được nạp vào bộ nhớ STBR (Segment-table base register): Vị trí SCB trong bộ nhớ STLR (Segment-table length register): Số phần tử của SCB 54 / 81
  6. Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.3 Chiến lược phân đoạn Chuyển đổi địa chỉ: Sơ đồ truy nhập 55 / 81
  7. Cho phép sử dụng chung đoạn (VD Soạn thảo văn bản) Tiến trình 2 Data S3 (Read only) S0 sqrt() S0 Tiến trình 1 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.3 Chiến lược phân đoạn Nhận xét: ưu điểm Sơ đồ nạp modul không cần sự tham gia của người sử dụng Dễ dàng thực hiện nhiệm vụ bảo vệ đoạn Kiểm tra lỗi truy nhập bộ nhớ Địa chỉ không hợp lệ :vươt quá kích thước đoạn Kiểm tra tính chất truy nhập Đoạn mã: chỉ đọc Viết vào đoạn mã: lỗi truy nhập Kiểm tra quyền truy nhập modul Thêm trường quyền truy nhập(user/system) vào SCB 56 / 81
  8. Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.3 Chiến lược phân đoạn Dùng chung đoạn : Vấn đề chính Đoạn dùng chung phải cùng số hiệu trong SCB Call (0, 120) ? Read (1, 245) ? Giải quyết bằng cách truy nhập gián tiếp JMP + 08 Thanh ghi đoạn chứa số hiệu đoạn (ES:BX) 57 / 81
  9. Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.3 Chiến lược phân đoạn Nhận xét : Nhược điểm Hiệu quả sử dụng phụ thuộc vào cấu trúc chương trình Bị phân mảnh bộ nhớ Phân phối vùng nhớ theo các chiến lược first fit /best fit Cần phải bố trí lại bộ nhớ (dịch chuyển, swapping) Có thể dựa vào bảng SCB • M ← 0 : Đoạn chưa được nạp vào • Vùng nhớ được xác định bởi A và L được trả về DS tự do Vấn đề lựa chọn modul cần đưa ra • Đưa ra modul tồn tại lâu nhất • Đưa ra modul có lần sử dụng cuối cách xa nhất • Đưa ra modul có tần xuất sử dụng thấp nhất ⇒Cần phương tiên ghi lại số lần và thời điểm truy nhập đoạn Giải pháp: phân phối bộ nhớ theo các đoạn bằng nhau (page)? 58 / 81
  10. Bộ nhớ logic (chương trình) được chia thành từng trang có kích thước bằng trang vật lý: trang logic (pages) Khi thực hiện chương trình Nạp trang logic (từ bộ nhớ ngoài) vào trang vật lý Xây dựng một bảng quản lý trang (PCB: Page Control Block) dùng để xác định mối quan hệ giữa trang vật lý và trang logic Mỗi phần tử của PCB ứng với một trang chương trình Cho biêt biết trang vật lý chứa trang logic tương ứng Ví dụ PCB[8] = 4 ⇒ ? Địa chỉ truy nhập: Số hiệu trang (p) : Chỉ số trong PCB để tìm đ/chỉ cơ sở trang Độ lệch trong trang (d): Kết hợp địa chỉ cơ sở của trang để tìm ra đ/chỉ vật lý Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Nguyên tắc Bộ nhớ vật lý được chia thành từng khối có kích thước bằng nhau: trang vật lý (frames) Trang vật lý được đánh số 0, 1, 2, : địa chỉ vật lý của trang Trang được dùng làm đơn vị phân phối nhớ 60 / 81
  11. Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Nguyên tắc Bộ nhớ vật lý được chia thành từng khối có kích thước bằng nhau: trang vật lý (frames) Trang vật lý được đánh số 0, 1, 2, : địa chỉ vật lý của trang Trang được dùng làm đơn vị phân phối nhớ Bộ nhớ logic (chương trình) được chia thành từng trang có kích thước bằng trang vật lý: trang logic (pages) Khi thực hiện chương trình Nạp trang logic (từ bộ nhớ ngoài) vào trang vật lý Xây dựng một bảng quản lý trang (PCB: Page Control Block) dùng để xác định mối quan hệ giữa trang vật lý và trang logic Mỗi phần tử của PCB ứng với một trang chương trình Cho biêt biết trang vật lý chứa trang logic tương ứng Ví dụ PCB[8] = 4 ⇒ ? Địa chỉ truy nhập: Số hiệu trang (p) : Chỉ số trong PCB để tìm đ/chỉ cơ sở trang Độ lệch trong trang (d): Kết hợp địa chỉ cơ sở của trang để tìm ra đ/chỉ vật lý 60 / 81
  12. a b c i d j Trangk 2 e l f m g Trangnp 3 h q i j k l m n a p Trangb 0 q c e d Trangfg 1 h Địa chỉ trang 1 độ lệch 2 = ? Địa chỉ = 6*4 + 2 = 26 (624) Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Ví dụ 0 0 Trang 0 1 0 5 1 Trang 1 1 6 2 2 1 3 2 Trang 2 3 2 PCB 4 3 Trang 3 5 Bộ nhớ logic 6 7 Bộ nhớ vật lý 61 / 81
  13. a b c i d j Trangk 2 e l f m g Trangnp 3 h q i j k l m n a p Trangb 0 q c e d fg h Địa chỉ trang 1 độ lệch 2 = ? Địa chỉ = 6*4 + 2 = 26 (624) Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Ví dụ 0 0 Trang 0 1 0 5 1 Trang 1 1 6 2 2 1 3 2 Trang 2 3 2 PCB 4 3 Trang 3 5 Bộ nhớ logic Trang 1 6 7 Bộ nhớ vật lý 61 / 81
  14. a b c i d j Trangk 2 e l f m g np h q i j k l m n a p Trangb 0 q c e d Trangfg 1 h Địa chỉ trang 1 độ lệch 2 = ? Địa chỉ = 6*4 + 2 = 26 (624) Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Ví dụ 0 0 Trang 0 1 0 5 1 Trang 1 1 6 Trang 3 2 2 1 3 2 Trang 2 3 2 PCB 4 3 Trang 3 5 Bộ nhớ logic 6 7 Bộ nhớ vật lý 61 / 81
  15. Trang 0 Trang 2 Trangg 1 Trang 3 Trang 2 Trang 3 Trang 0 Trangg 1 Địa chỉ trang 1 độ lệch 2 = ? Địa chỉ = 6*4 + 2 = 26 (624) Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Ví dụ a 0 0 b c i d j k 1 e l f 0 5 m 1 g np 2 h 1 6 q i 2 1 j 3 2 k 3 2 l m PCB 4 n a 3 p b 5 q c e d Bộ nhớ logic fg 6 h 7 Bộ nhớ vật lý 61 / 81
  16. Trang 0 Trang 2 Trang 1 Trang 3 Trang 2 Trang 3 Trang 0 Trang 1 Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Ví dụ a 0 0 b c i d j k 1 e l f 0 5 m 1 g np 2 h 1 6 q i 2 1 j 3 2 k 3 2 l m PCB 4 n a 3 p b 5 q c e d Bộ nhớ logic fg 6 h 7 Địa chỉ trang 1 độ lệch 2 = ? Bộ nhớ vật lý Địa chỉ = 6*4 + 2 = 26 (624) 61 / 81
  17. Phân biệt chiến lược phân trang - phân đoạn Chiến lược phân đoạn Các modul phụ thuộc cấu trúc logic của chương trình Chiến lược phân trang Các khối có kích thước độc lập kích thước chương trình Kích thước khối phụ thuộc phần cứng (VD: 29 → 213 bytes) Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Ghi chú Dung lượng trang luôn là lũy thừa của 2 Cho phép ghép giữa số hiệu trang vật lý và độ lệch trong trang Số hiệu trang độ lệch n − k k Không cần thiết nạp toàn bộ trang logic vào Số trang vật lý phụ thuộc k/thước bộ nhớ, số trang logic tùy ý PCB cần trường dấu hiệu (Mark) cho biết trang đã được nạp vào bộ nhớ chưa M = 0 Trang chưa tồn tại M = 1 Trang đã được đưa vào bộ nhớ vật lý 62 / 81
  18. Xây dựng bảng quản lý trang và luôn giữ trong bộ nhớ PTBR (Page-table base registet) trỏ tới PCB. PRLR(Page-table length register) kích thước PCB. Địa chỉ truy nhập dạng Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Thực hiện chương trình Nạp chương trình vào bộ nhớ Nếu đủ trang vật lý tự do ⇒ nạp toàn bộ Nếu không đủ trang vật lý tự do ⇒ nạp toàn bộ 63 / 81
  19. Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Thực hiện chương trình Nạp chương trình vào bộ nhớ Nếu đủ trang vật lý tự do ⇒ nạp toàn bộ Nếu không đủ trang vật lý tự do ⇒ nạp toàn bộ Xây dựng bảng quản lý trang và luôn giữ trong bộ nhớ PTBR (Page-table base registet) trỏ tới PCB. PRLR(Page-table length register) kích thước PCB. Địa chỉ truy nhập dạng 63 / 81
  20. Kiểm tra Mp Mp = 0 : Lỗi trang, sinh một ngắt để tiến hành nạp trang Xin trang vật lý tự do Tìm kiếm trang logic ở bộ nhớ ngoài Sửa lại trường địa chỉ A và dấu hiệu M Mp = 1 : Trang đã tồn tại, Lấy Ap ghép với d ra địa chỉ cần tìm Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Chuyển đổi địa chỉ: Sơ đồ truy nhập PTRB + p : Địa chỉ phần tử p của PCB trong bộ nhớ 65 / 81
  21. Các chiến lược nạp trangg Nạp tất cả Nạp toàn bộ chương trình Nạp trước Dự báo trang cần thiết tiếp theo Nạp theo yêu cầu Chỉ nạp khi cần thiết Các chiến lược thay thế trang FIFO First In First Out LRU Least Recently Used Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Nạp trang và thay thế trang Nhận xét Số trang vật lý dành cho chương trình lớn ⇒ Thực hiện nhanh nhưng hệ số song song giảm Số trang vật lý dành cho chương trình bé ⇒ Hệ số song song cao nhưng thực hiện chậm do hay thiếu trang Hiệu quả phụ thuộc các chiến lược nạp trang và thay thế trang 66 / 81
  22. Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Nạp trang và thay thế trang Nhận xét Số trang vật lý dành cho chương trình lớn ⇒ Thực hiện nhanh nhưng hệ số song song giảm Số trang vật lý dành cho chương trình bé ⇒ Hệ số song song cao nhưng thực hiện chậm do hay thiếu trang Hiệu quả phụ thuộc các chiến lược nạp trang và thay thế trang Các chiến lược nạp trangg Nạp tất cả Nạp toàn bộ chương trình Nạp trước Dự báo trang cần thiết tiếp theo Nạp theo yêu cầu Chỉ nạp khi cần thiết Các chiến lược thay thế trang FIFO First In First Out LRU Least Recently Used 66 / 81
  23. Hệ số song song cao Chỉ cần một vài trang của chương trình trong bộ nhớ Cho phép viết chương trình lớn tùy ý Dễ dàng thực hiện nhiệm vụ bảo vệ Địa chỉ truy nhập hợp lệ (vượt quá kích thước) Tính chất truy nhập (đọc/ghi) Quyền truy nhập (user/system) Cho phép sử dụng chung trang Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Ưu điểm Tăng tốc độ truy nhập Hai lần truy nhập bộ nhớ (vào PCB và vào địa chỉ cần tìm) Thực hiện phép ghép thay vì phép cộng Không tồn tại hiện tượng phân đoạn ngoài 67 / 81
  24. Cho phép sử dụng chung trang Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Ưu điểm Tăng tốc độ truy nhập Hai lần truy nhập bộ nhớ (vào PCB và vào địa chỉ cần tìm) Thực hiện phép ghép thay vì phép cộng Không tồn tại hiện tượng phân đoạn ngoài Hệ số song song cao Chỉ cần một vài trang của chương trình trong bộ nhớ Cho phép viết chương trình lớn tùy ý Dễ dàng thực hiện nhiệm vụ bảo vệ Địa chỉ truy nhập hợp lệ (vượt quá kích thước) Tính chất truy nhập (đọc/ghi) Quyền truy nhập (user/system) 67 / 81
  25. Không dùng chung Cần 8000K Dùng chung Chỉ cần 2150K Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Dùng chung trang : Soạn thảo văn bản Mỗi trang 50K 3 trang mã 1 trang dữ liệu 40 người dùng 68 / 81
  26. Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Dùng chung trang : Soạn thảo văn bản Mỗi trang 50K 3 trang mã 1 trang dữ liệu 40 người dùng Không dùng chung Cần 8000K Dùng chung Chỉ cần 2150K 68 / 81
  27. Vấn đề: Mã dùng chung phải không đổi Trang dùng chung phải cùng số hiệu trong bảng quản lý trang của tất cả tiến trình Đoạn mã và dữ liệu riêng biệt có thể nằm ở vị trí bất kỳ trong bộ nhớ Các tiến trình cần có một bản copy các thanh ghi và cấu trúc dữ liệu phục vụ cho thự hiện tiến trình Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Dùng chung trang: Nguyên tắc Quan trọng trong môi trường hoạt động phân chia Chỉ cần một phiên bản mã chỉ đọc được dùng chung giữa các tiến trình nằm trong bộ nhớ Soạn thảo văn bản, chương trình dịch, hệ cơ sở dữ liệu 69 / 81
  28. Các tiến trình cần có một bản copy các thanh ghi và cấu trúc dữ liệu phục vụ cho thự hiện tiến trình Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Dùng chung trang: Nguyên tắc Quan trọng trong môi trường hoạt động phân chia Chỉ cần một phiên bản mã chỉ đọc được dùng chung giữa các tiến trình nằm trong bộ nhớ Soạn thảo văn bản, chương trình dịch, hệ cơ sở dữ liệu Vấn đề: Mã dùng chung phải không đổi Trang dùng chung phải cùng số hiệu trong bảng quản lý trang của tất cả tiến trình Đoạn mã và dữ liệu riêng biệt có thể nằm ở vị trí bất kỳ trong bộ nhớ 69 / 81
  29. Đòi hỏi hỗ trợ của phần cứng Chi phí cho chiến lược phân trang lớn Khi chương trình lớn, bảng quản lý trang nhiều phần tử Chương trình 230, trang 212 PCB có 220 phần tử Tốn bộ nhớ lưu trữ PCB Giải quyết: Trang nhiều mức Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Nhược điểm Tồn tại hiện tượng phân đoạn trong Luôn xuất hiện ở trang cuối cùng Giảm hiện tương phân đoạn trang bởi giảm kích thước trang ? Hay gặp lỗi trang Bảng quản lý trang lớn 70 / 81
  30. Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Nhược điểm Tồn tại hiện tượng phân đoạn trong Luôn xuất hiện ở trang cuối cùng Giảm hiện tương phân đoạn trang bởi giảm kích thước trang ? Hay gặp lỗi trang Bảng quản lý trang lớn Đòi hỏi hỗ trợ của phần cứng Chi phí cho chiến lược phân trang lớn Khi chương trình lớn, bảng quản lý trang nhiều phần tử Chương trình 230, trang 212 PCB có 220 phần tử Tốn bộ nhớ lưu trữ PCB Giải quyết: Trang nhiều mức 70 / 81
  31. Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Trang nhiều mức: Ví dụ trang 2 mức 72 / 81
  32. Cần 3 lần truy nhập tới bộ nhớ Vấn đề: Với hệ thống 64 bit Trang 3, 4, mức Cần 4, 5, lần truy nhập bô nhớ ⇒ chậm Giải quyết: Bộ đệm chuyển hóa địa chỉ Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Trang nhiều mức: Truy nhập bộ nhớ Khi thực hiện : Hệ thống nạp thư mục trang vào bộ nhớ Bảng trang và trang không sử dụng không cần nạp vào bộ nhớ 73 / 81
  33. Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Trang nhiều mức: Truy nhập bộ nhớ Khi thực hiện : Hệ thống nạp thư mục trang vào bộ nhớ Bảng trang và trang không sử dụng không cần nạp vào bộ nhớ Cần 3 lần truy nhập tới bộ nhớ Vấn đề: Với hệ thống 64 bit Trang 3, 4, mức Cần 4, 5, lần truy nhập bô nhớ ⇒ chậm Giải quyết: Bộ đệm chuyển hóa địa chỉ 73 / 81
  34. Mỗi phần tử gồm: khóa và giá trị TLB chứa đ/chỉ những trang mới truy nhập Khi có yêu cầu Tìm trong TLB Nếu không có, tìm trong PCB Đưa vào TLB Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Bộ đệm chuyển hóa địa chỉ (TLB: translation look-aside buffers ) Tập thanh ghi liên kết (associative rigisters) Truy nhập song song 98% t/nhập qua TLB 74 / 81
  35. Khi có yêu cầu Tìm trong TLB Nếu không có, tìm trong PCB Đưa vào TLB Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.4 Chiến lược phân trang Bộ đệm chuyển hóa địa chỉ (TLB: translation look-aside buffers ) Tập thanh ghi liên kết (associative rigisters) Truy nhập song song Mỗi phần tử gồm: khóa và giá trị TLB chứa đ/chỉ những trang mới truy nhập 98% t/nhập qua TLB 74 / 81
  36. Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.5 Chiến lược kết hợp phân đoạn-phân trang 2 Các chiến lược quản lý bộ nhớ Chiến lược phân chương cố định Chiến lược phân chương động Chiến lược phân đoạn Chiến lược phân trang Chiến lược kết hợp phân đoạn-phân trang 75 / 81
  37. Địa chỉ truy nhập: bộ 3 Thực hiện truy nhập địa chỉ STBR + s ⇒: địa chỉ phần tử s Kiểm tra trường dấu hiệu Ms , nạp PCBs nếu cần As + p ⇒ Địa chỉ phần tử p của PCBs Kiểm tra trường dấu hiệu Mp, nạp PCBs nếu cần Ghep Ap với d ra được địa chỉ cần tiuF Được sử dụng trong VXL Intel 80386, MULTICS Quản lý bộ nhớ của VXL họ intel? Chế độ thực Chế độ bảo vệ Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.5 Chiến lược kết hợp phân đoạn-phân trang Nguyên tắc Chương trình được biên tập theo chế độ phân đoạn Tạo ra bảng quản lý đoạn SCB Mỗi phần tử của bảng quản lý đoạn ứng với một đoạn, gồm 3 trường M, A, L Mỗi đoạn được biên tập riêng theo chế độ phân trang Tạo ra bảng quản lý trang cho từng đoạn 76 / 81
  38. Được sử dụng trong VXL Intel 80386, MULTICS Quản lý bộ nhớ của VXL họ intel? Chế độ thực Chế độ bảo vệ Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.5 Chiến lược kết hợp phân đoạn-phân trang Nguyên tắc Chương trình được biên tập theo chế độ phân đoạn Tạo ra bảng quản lý đoạn SCB Mỗi phần tử của bảng quản lý đoạn ứng với một đoạn, gồm 3 trường M, A, L Mỗi đoạn được biên tập riêng theo chế độ phân trang Tạo ra bảng quản lý trang cho từng đoạn Địa chỉ truy nhập: bộ 3 Thực hiện truy nhập địa chỉ STBR + s ⇒: địa chỉ phần tử s Kiểm tra trường dấu hiệu Ms , nạp PCBs nếu cần As + p ⇒ Địa chỉ phần tử p của PCBs Kiểm tra trường dấu hiệu Mp, nạp PCBs nếu cần Ghep Ap với d ra được địa chỉ cần tiuF 76 / 81
  39. Chương 3: Quản lý bộ nhớ 2. Các chiến lược quản lý bộ nhớ 2.5 Chiến lược kết hợp phân đoạn-phân trang Sơ đồ truy nhập bộ nhớ 77 / 81
  40. Chương 3: Quản lý bộ nhớ 3. Bộ nhớ ảo Nội dung chính 1 Tổng quan 2 Các chiến lược quản lý bộ nhớ 3 Bộ nhớ ảo 79 / 81
  41. Chương 3: Quản lý bộ nhớ Kết luận 1 Tổng quan Ví dụ Bộ nhớ và chương trình Liên kết địa chỉ Các cấu trúc chương trình 2 Các chiến lược quản lý bộ nhớ Chiến lược phân chương cố định Chiến lược phân chương động Chiến lược phân đoạn Chiến lược phân trang Chiến lược kết hợp phân đoạn-phân trang 3 Bộ nhớ ảo 3.1 Giới thiệu 81 / 81