III.8.3 Address Space Layout

Một phần của tài liệu Chương III QUẢN lý bộ NHỚ (Trang 48 - 50)

Theo mặc định, mỗi tiến trỡnh người sử dụng trờn phiờn bản 32-bit của Windows 2000 cú thể cú trờn 2Gb khụng gian địa chỉ riờng; hệ điều hành giữ 2Gb. Windows 2000 Advanced Server và Windows 2000 Datacenter Server hỗ trợ một tuỳ chọn tại thời điểm khởi động nú cho phộp khụng gian địa chỉ tiến trỡnh/chương trỡnh người sử dụng lờn đến 3Gb.

Tựy chọn khụng gian địa chỉ 3Gb mang lại cho cỏc tiến trỡnh một khụng gian địa chỉ 3Gb (dành 1Gb cho khụng gian hệ thống). Đặc tớnh này được thờm vào như một giải phỏp tỡnh thế để đỏp ứng sự cần thiết cho cỏc ứng dụng server cơ sở dữ liệu để giữ nhiều dữ liệu hơn trong bộ nhớ so với khi thực hiện với khụng gian địa chỉ 2Gb.

Khụng gian địa ảo của cỏc hệ điều hành windows trước được tổ chức khỏc hơn so với Windows 2000. Nú cũng cung cấp một khụng gian địa chỉ ảo 32 bớt 4Gb và cấp phỏt khụng gian địa chỉ 2Gb riờng cho mỗi tiến trỡnh người sử dụng, nhưng nú chia 2Gb cũn lại thành 2 phần, 1Gb cho khụng gian hệ thống, 1Gb dựng làm khụng gian chia sẻ cho tất cả cỏc tiến trỡnh người sử dụng.

Khụng gian địa chỉ hệ thống: Trong

cỏc kiến trỳc Intel x86, khụng gian địa chỉ 2Gb của hệ thống được phõn thành cỏc vựng khỏc nhau, được mụ tả ở hỡnh 3.22 sau:

Trong đú:

System code: Chứa chớnh hệ điều

hành, HAL và cỏc điều khiển thiết bị được sử dụng để boot hệ thống.

System mapped views: Sử dụng

để ỏnh xạ Win32k.Sys, cú thể nạp một phần của hệ thống con Win32 trong chế đọ kernel mode và cỏc điều khiển đồ hoạ.

Session space: Được sử dụng để

ỏnh xạ thụng tin đến một session người sử dụng cụ thể.

Process page tables and page

directory: Được dựng để chứa cỏc bảng trang tiến trỡnh và cỏc danh mục bảng trang.

Hyperspace: Đõy là một vựng

đặc biệt, được sử dụng để ỏnh xạ danh sỏch working set của tiến trỡnh và để ỏnh xạ tạm cỏc trang vật lý khỏc.

System working set list: Chứa

cỏc trỳc dữ liệu danh sỏch working set mà nú mụ tả working set của hệ thống.

System cache: Khụng gian địa

chỉ ảo được sử dụng để ỏnh xạ cỏc file mở trong hệ thống cache.

Paged pool: Chứa cỏc pool được

phõn trang.

System page table entries

(PTEs): Pool của cỏc PTEs hệ thống được sử dụng để ỏnh xạ cỏc trang hệ thống như: khụng gian I/O, cỏc stack kernel và cỏc danh sỏch mụ tả bộ nhớ.

Nonpaged pool: Chứa cỏc pool

khụng được phõn trang.

Crash dump information: Được dự trữ để ghi thụng tin về trạng thỏi của một hệ thống Crash.

HAL usage: Hệ thống bộ nhớ dự

trữ cho kiến trỳc HAL đặc biệt.

Hỡnh 3.22: Phõn lớp khụng gian địa chỉ trong x86

Chỳ ý: Khi khởi tạo hệ thống, trỡnh quản lý bộ nhớ tạo hai kiểu vựng nhớ pool định kớch thước tự động mà cỏc thành phần chế độ kernel sử dụng để định vị bộ nhớ hệ thống:

Vựng Pool khụng phõn trang:

bao gồm cỏc vựng địa chỉ ảo hệ thống được bảo đảm tồn tại trong bộ nhớ vật lý tại tất cả cỏc thời điểm và do đú cú thể được truy xuất bất cứ khi nào mà khụng mắc phải một lỗi trang.

Vựng pool phõn trang: một

vựng bộ nhớ ảo trong khụng gian hệ thống cú thể được phõn trang trong và ngoài hệ thống. Cỏc trỡnh điều khiển thiết bị cú thể sử dụng vựng phõn trang này.

Cả hai vựng bộ nhớ đều được định vị trong phần hệ thống của khụng gian địa chỉ và được ỏnh xạ vào khụng gian địa chỉ ảo của mỗi tiến trỡnh. Trỡnh Excutive cung cấp cỏc thường trỡnh để định vị và giải phúng từ cỏc vựng này.

Một phần của tài liệu Chương III QUẢN lý bộ NHỚ (Trang 48 - 50)