intTypePromotion=3

CHƯƠNG 7: BỘ NHỚ CHÍNH Main Memory

Chia sẻ: Kieu Thu Trang | Ngày: | Loại File: PDF | Số trang:57

0
143
lượt xem
29
download

CHƯƠNG 7: BỘ NHỚ CHÍNH Main Memory

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Background Swapping Cấp phát bộ nhớ kề (Contiguous Memory Allocation) Phân trang (Paging) Cấu trúc của bảng trang (Structure of the Page Table) Phân đoạn (Segmentation) Ví dụ: Intel Pentium Operating System Concepts – 7th Edition, Feb 22, 2005 Cung cấp mô tả chi tiết các phương pháp tổ chức phần cứng bộ nhớ. Thảo luận các kỹ thuật quản trị bộ nhớ bao gồm phân trang, phân đoạn.

Chủ đề:
Lưu

Nội dung Text: CHƯƠNG 7: BỘ NHỚ CHÍNH Main Memory

  1. CHƯƠNG 7: BỘ NHỚ CHÍNH Main Memory
  2. NỘI DUNG Background Swapping Cấp phát bộ nhớ kề (Contiguous Memory Allocation) Phân trang (Paging) Cấu trúc của bảng trang (Structure of the Page Table) Phân đoạn (Segmentation) Ví dụ: Intel Pentium Operating System Concepts – 7th Edition, Feb 22, 2005 8.2 Silberschatz, Galvin and Gagne ©2005
  3. MỤC TIÊU Cung cấp mô tả chi tiết các phương pháp tổ chức phần cứng bộ nhớ. Thảo luận các kỹ thuật quản trị bộ nhớ bao gồm phân trang, phân đoạn. Operating System Concepts – 7th Edition, Feb 22, 2005 8.3 Silberschatz, Galvin and Gagne ©2005
  4. Background Chương trình phải được mang (từ đĩa) vào trong bộ nhớ và được sắp xếp bên trong một quá trình để chạy Chỉ có bộ nhớ chính và các thanh ghi là các lưu trữ mà CPU có thể truy xuất trực tiếp. Truy xuất thanh ghi mất một xung đồng hồ (hoặc ít hơn). Truy xuất bộ nhớ chính có thể mất nhiều xung đồng hồ Cache ở giữa bộ nhớ chính và các thanh ghi CPU. Bộ nhớ đòi hỏi phải được bảo vệ để đảm bảo hoạt động đúng. Operating System Concepts – 7th Edition, Feb 22, 2005 8.4 Silberschatz, Galvin and Gagne ©2005
  5. THANH GHI CƠ SỞ VÀ THANH GHI GIỚI HẠN Base and Limit Registers Một cặp thanh ghi cơ sở và thanh ghi giới hạn xác định không gian địa chỉ logic Operating System Concepts – 7th Edition, Feb 22, 2005 8.5 Silberschatz, Galvin and Gagne ©2005
  6. SỰ GẮN KẾT CÁC CHỈ THỊ & DỮ LIỆU VỚI BỘ NHỚ Gắn kết địa chỉ chỉ thị và dữ liệu với địa chỉ bộ nhớ xảy ra trong ba giai đoạn khác nhau Thời gian biên dịch (compile time): nếu vị trí bộ nhớ được biết trước, mã tuyệt đối (absolute code) có thể được sinh ra; phải biên dịch lại nếu vị trí khởi đầu thay đổi. Thời gian nạp (Load time): phải sinh ra mã có thể định vị lại (relocatable code) nếu vị trí bộ nhớ không được biết trước khi biên dịch Thời gian thực hiện (Execution time): sự gắn kết bị làm trễ đến tận khi thời gian chạy nếu quá trình có thể được di chuyển trong khi thực hiện từ một đoạn bộ nhớ sang một đoạn khác. Cần hỗ trợ phần cứng cho các ánh xạ địa chỉ (các thanh ghi cơ sở và giới hạn) Operating System Concepts – 7th Edition, Feb 22, 2005 8.6 Silberschatz, Galvin and Gagne ©2005
  7. XỬ LÝ NHIỀU BƯỚC CỦA MỘT CHƯƠNG TRÌNH NGƯỜI DÙNG Operating System Concepts – 7th Edition, Feb 22, 2005 8.7 Silberschatz, Galvin and Gagne ©2005
  8. KHÔNG GIAN ĐỊA CHỈ LOGIC vs. KHÔNG GIAN ĐỊA CHỈ VẬT LÝ Quan niệm của một không gian địa chỉ logic gắn kết với một không gian địa chỉ vật lý tách biệt là tâm đối với quản trị bộ nhớ Địa chỉ logic (Logical address) – được sinh ra bởi CPU; cũng được tham khảo như địa chỉ ảo. Địa chỉ vật lý (Physical address) – địa chỉ được nhìn thấy bởi đơn vị bộ nhớ (memory unit) Các địa chỉ logic và vật lý là như nhau trong các sơ đồ gắn kết địa chỉ thời gian biên dịch và thời gian nạp; các địa chỉ logic và vật lý khác nhau trong sơ đồ gắn kết địa chỉ thời gian thực hiện Operating System Concepts – 7th Edition, Feb 22, 2005 8.8 Silberschatz, Galvin and Gagne ©2005
  9. ĐƠN VỊ QUẢN TRỊ BỘ NHỚ Memory-Management Unit (MMU) Thiết bị phần cứng ánh xạ địa chỉ ảo với địa chỉ vật lý Trong sơ đồ MMU, giá trị trong thanh ghi tái định vị được cộng với mỗi địa chỉ được sinh ra bởi một quá trình người dùng tại thời điểm nó được gửi đến bộ nhớ. Chương trình người dùng giao tiếp với các địa chỉ logic, không bao giờ nhìn thấy các địa chỉ thực Operating System Concepts – 7th Edition, Feb 22, 2005 8.9 Silberschatz, Galvin and Gagne ©2005
  10. TÁI ĐỊNH VỊ ĐỘNG DÙNG MỘT THANH GHI TÁI ĐỊNH VỊ Operating System Concepts – 7th Edition, Feb 22, 2005 8.10 Silberschatz, Galvin and Gagne ©2005
  11. NẠP ĐỘNG Dynamic Load Thủ tục (Routine) không được nạp đến tận khi được gọi Sử dụng không gian bộ nhớ tốt hơn, thủ tục không được dùng đến không bao giờ được nạp Hữu dụng khi các lượng lớn code cần thiết cho quản lý các trường hợp không thường xuyên xảy ra Không có hỗ trợ đặc biệt từ HĐH được yêu cầu được thực thi qua thiết kế chương trình Operating System Concepts – 7th Edition, Feb 22, 2005 8.11 Silberschatz, Galvin and Gagne ©2005
  12. LIÊN KẾT ĐỘNG Dynamic Linking Liên kết bị trì hoãn đến tận thời gian thực hiện Mảnh code nhỏ, stub, được dùng để định vị thủ tục thư viện thường trú trong bộ nhớ thích hợp. Stub tự sắp đặt lại với địa chỉ thủ tục và thực hiện thủ tục HĐH cần kiểm tra thủ tục nằm trong không gian địa chỉ quá trình Liên kết động đặc biệt hữu dụng đối với các thư viện Hệ thống được biết như các thư viện chia sẻ (shared libraries) Operating System Concepts – 7th Edition, Feb 22, 2005 8.12 Silberschatz, Galvin and Gagne ©2005
  13. Swapping Một quá trình có thể được hoán chuyển tạm thời ra khỏi bộ nhớ lên lưu trữ ngoài, và sau đó được mang trở lại vào bộ nhớ để tiếp tục thực hiện. Lưu trữ ngoài – đĩa nhanh, đủ lớn để chứa được các bản sao của tất cả các ảnh bộ nhớ người dùng; phải cung cấp truy xuất trực tiếp đến các ảnh bộ nhớ này Roll out, roll in – biến thể của swapping được dùng cho các thuật toán lập lịch biểu dựa trên ưu tiên; quá trình độ ưu tiên thấp bị chuyển ra, quá trình có độ ưu tiên cao được nạp vào và được thực hiện Phần lớn thời gian swap là thời gian truyền; tổng thời gian truyền tỷ lệ với lượng bộ nhớ được swapped Các phiên bản được sửa đổi được tìm thấy trên nhiều HĐH (UNIX, Linux, và Windows) Hệ thống duy trì một hàng đợi sẵn sàng (ready queue) các quá trình sẵn sàng chạy có ảnh bộ nhớ trên đĩa Operating System Concepts – 7th Edition, Feb 22, 2005 8.13 Silberschatz, Galvin and Gagne ©2005
  14. Hình ảnh Swapping Operating System Concepts – 7th Edition, Feb 22, 2005 8.14 Silberschatz, Galvin and Gagne ©2005
  15. Cấp phát kề Bộ nhớ chính thông thường chia thành hai phần: HĐH thường trú, thường được lưu trong bộ nhớ thấp với vector interrupt Các quá trình người dùng được lưu trong bộ nhớ cao Các thanh ghi tái định vị được dùng để bảo vệ các quá trình người dùng Thanh ghi cơ sở (base register) chứa giá trị của địa chỉ vật lý nhỏ nhất (của vùng nhớ được cấp phát) Thanh ghi giới hạn (limit register) chứa khoảng địa chỉ logic (độ dài đoạn bộ nhớ được cấp phát) MMU ánh xạ địa chỉ logic → vật lý Operating System Concepts – 7th Edition, Feb 22, 2005 8.15 Silberschatz, Galvin and Gagne ©2005
  16. Bảo vệ bộ nhớ với base register và limit register Operating System Concepts – 7th Edition, Feb 22, 2005 8.16 Silberschatz, Galvin and Gagne ©2005
  17. Cấp phát kề (Cont.) Cấp phát đa ngăn (multiple-partition allocation) Lỗ (Hole) – khối bộ nhớ sẵn có; các lỗ kích cỡ khác nhau và trải ra trên bộ nhớ Khi quá trình đến nó được cấp phát một lỗ đủ lớn để chứa quá trình Hệ điều hành duy trì thông tin về : a) các ngăn được cấp phát b) các ngăn tự do (hole) OS OS OS OS process 5 process 5 process 5 process 5 process 9 process 9 process 8 process 10 process 2 process 2 process 2 process 2 Operating System Concepts – 7th Edition, Feb 22, 2005 8.17 Silberschatz, Galvin and Gagne ©2005
  18. Cấp phát lưu trữ động Làm thế nào thỏa mãn yêu cầu kích cỡ n từ một danh sách các lỗ tự do First-fit: Cấp phát lỗ đầu tiên phù hợp Best-fit: Cấp phát lỗ nhỏ nhất trong các lỗ phù hợp Worst-fit: Cấp phát lỗ lớn nhất First-fit và best-fit tốt hơn worst-fit về tốc độ và sử dụng lưu trữ Operating System Concepts – 7th Edition, Feb 22, 2005 8.18 Silberschatz, Galvin and Gagne ©2005
  19. Phân mảnh (Fragmentation) Phân mảnh ngoài (External Fragmentation) – Tổng không gian bộ nhớ đủ để đáp ứng yêu cầu nhưng không kề (gồm những mảnh nhỏ nằm rải rác trong bộ nhớ) Phân mảnh trong (Internal Fragmentation) – Bộ nhớ được cấp phát cho quá trình lớn hơn bộ nhớ được yêu cầu, phần bộ nhớ “dư” trở nên “lãng phí” Giảm sự phân mảnh ngoài bởi “dồn nén” - compaction Dồn nội dung bộ nhớ đã được cấp phát về một phía bộ nhớ, như vậy các “mảnh” nhỏ bộ nhớ tự do sẽ được “dổn về phía ngược lại, hợp lại thành một khối lớn “Dồn nén” - Compaction chỉ có thể thực hiện với tái định vị động và được tiến hành ở thời gian chạy Operating System Concepts – 7th Edition, Feb 22, 2005 8.19 Silberschatz, Galvin and Gagne ©2005
  20. Phân trang - Paging Bộ nhớ vật lý được chia thành các khối kích thước cố định, được gọi là các khung - frames (kích thước là lũy thừa của 2, thường nằm trong khoảng 512 bytes đến 8,192 bytes) Bộ nhớ logic (của quá trình) được chia thành các khối cùng kích thước, được gọi là các trang - pages Lưu vết tất cả các khung tự do Bảng trang được sử dụng để dịch địa chỉ logic sang địa chỉ vật lý Có thể dẫn đến hiện tượng phân mảnh trong Operating System Concepts – 7th Edition, Feb 22, 2005 8.20 Silberschatz, Galvin and Gagne ©2005
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản