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 (Phần 2)

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 24 trang xuanthi 30/12/2022 1980
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 (Phần 2)", để 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 (Phần 2)

  1. Chương 3: Quản lý bộ nhớ Chương 3 Quản lý bộ nhớ 2 / 18
  2. Tồn tại nhiều sơ đồ quản lý bộ nhớ khác nhau Nhiều sơ đồ đòi hỏi trợ giúp từ phần cứng Thiết kế phần cứng có thể được tích hợp chặt chẽ với HDH Chương 3: Quản lý bộ nhớ Giới thiệu 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ý Để s/d CPU hiệu quả và tăng tốc độ đáp ứng của hệ thống: Cần luân chuyển CPU thường xuyên giữa các tiến trình Điều phối CPU (Phần 3- Chương 2) Cần nhiều tiến trình sẵn sàng trong bộ nhớ Hệ số song song của hệ thống: Số tiến trình đồng thời tồn tại trong hệ thống 3 / 18
  3. Chương 3: Quản lý bộ nhớ Nội dung chính 4 / 18
  4. Chương 3: Quản lý bộ nhớ 3. Bộ nhớ ảo 3.2 Giới thiệu 1 Bộ nhớ ảo 3.1 Giới thiệu 3.2 Các chiến lược đổi trang 6 / 18
  5. Thực hiện chương trình chỉ có 1 phần nằm trong bộ nhớ Cho phép viết chương trình trong không gian địa chỉ áo (virtual address space) lớn tùy ý Cho phép nhiều chương trình đồng thời tồn tại, tăng hiệu suất sử dụng CPU Giảm yêu cầu vào ra cho việc nạp và hoán đổi chương trình Chương 3: Quản lý bộ nhớ 3. Bộ nhớ ảo 3.2 Giới thiệu Đặt vấn đề Câu lệnh phải nằm trong bộ nhớ khi thực hiện ! Toàn bộ chương trình phải nằm trong bộ nhớ ? Cấu trúc động; cấu trúc Overlays : Nạp từng phần Đòi hỏi sự chú ý đặc biệt từ lập trình viên ⇒Không cần thiết Đoạn chương trình xử lý báo lỗi Lỗi ít xảy tra, ít được thực hiện Phần khai báo mảng, danh sách không dùng tới Khai báo ma trận 100x100, sử dụng 10x 10 7 / 18
  6. Chương 3: Quản lý bộ nhớ 3. Bộ nhớ ảo 3.2 Giới thiệu Bộ nhớ ảo Phân tách bộ nhớ logic với bộ nhớ vật lý 8 / 18Cài đặt theo kiểu phân trang/phân đoạn
  7. Chương 3: Quản lý bộ nhớ 3. Bộ nhớ ảo 3.2 Giới thiệu Xử lý lỗi trang Nếu không có frames tự do, phải tiến hành đổi trang 10 / 18
  8. Chương 3: Quản lý bộ nhớ 3. Bộ nhớ ảo 3.2 Các chiến lược đổi trang Các chiến lược FIFO (First In First Out): Vào trước ra trước OPT/MIN Thuật toán thay thế trang tối ưu LRU (Least Recently Used): Trang có lần sử dụng cuối cách lâu nhất LFU (Least Frequently used):Tần xuất sử dụng thấp nhất MFU (Most Frequently used): Tần xuất sử dụng cao nhất 12 / 18
  9. Chương 3: Quản lý bộ nhớ 3. Bộ nhớ ảo 3.2 Các chiến lược đổi trang OPT §Nguyên tắc: Đưa ra trang có lần sử dụng tiếp theo cách xa nhất ¤ ¦ ¥ Số lần gặp lỗi trang ít nhất Khó dự báo được diễn biến của chương trình 14 / 18
  10. Chương 3: Quản lý bộ nhớ 3. Bộ nhớ ảo 3.2 Các chiến lược đổi trang LRU: Cài đặt Bộ đếm Thêm một trường ghi thời điểm truy nhập vào mỗi phần tử của PCB Thêm vào khối điều khiển (C.U) đồng hồ/bộ đếm Khi có yêu cầu truy nhâp trang Tăng bộ đếm Chép nội dung bộ đếm vào trường thời điểm truy nhập tại phần tử tương ứng trong PCB Cần có thủ tục cập nhật PCB (ghi vào trường thời điểm) và thủ tục tìm kiếm trang có giá trị trường thời điểm nhỏ nhất Hiện tượng tràn số !? Dãy số Dùng dãy số ghi số trang Truy nhập tới một trang, cho phần tử tương ứng lên đầu dãy Thay thế trang: Phần tử cuối dãy Thường cài đặt dưới dạng DSLK 2 chiều 4 phép gán con trỏ ⇒ tốn thời gian 16 / 18
  11. MFU: Trang có bộ đếm lớn nhât Trang có bộ đếm nhỏ nhất, vừa mới được nạp vào và vẫn chưa được sử dụng nhiều Chương 3: Quản lý bộ nhớ 3. Bộ nhớ ảo 3.2 Các chiến lược đổi trang Thuật toán dựa trên bộ đếm Sử dụng bộ đếm (một trường của PCB) ghi nhận số lần truy nhập tới trang LFU: Trang có bộ đếm nhỏ nhất bị thay thế Trang truy nhập nhiều đến Trang quan trọng ⇒ hợp lý Trang khởi tạo, chỉ được dùng ở giai đoạn đầu ⇒ không hợp lý ⇒Dịch bộ đếm một bit (chia đôi) theo thời gian 17 / 18
  12. Chương 3: Quản lý bộ nhớ Kết luận 1 Bộ nhớ ảo 3.1 Giới thiệu 3.2 Các chiến lược đổi trang 18 / 18