1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình hướng dẫn phân tích chuyển địa chỉ trong kỹ thuật table indecator kết hợp paging p4 doc

5 227 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 515,21 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khi PTE trỏ đến một trang hợp lệ, Byte Index được sử dụng để tìm đến địa chỉ chính xác của ô nhớ trong phạm vị trang vật lý tương ứng với địa chỉ ảo 32 bít ban đầu mà tiến trình phát ra

Trang 1

phân trang ra ngoài)

3 Thành phần Page Table Index được sử dụng để chỉ mục vào page table để

tìm một mục vào bảng trang (PTE: page table entry), mà nó mô tả vị trí vật

lý của trang ảo trong địa chỉ ảo

4 PTE được sử dụng để định vị trang Nếu là trang hợp lệ, nó chứa PFN của trang trong bộ nhớ vật lý chứa trang ảo Nếu PTE chỉ báo rằng trang là không hợp lệ, trình quản lý bộ nhớ sẽ điều khiển lỗi trang và cố gắng làm cho nó trở thành hợp lệ

5 Khi PTE trỏ đến một trang hợp lệ, Byte Index được sử dụng để tìm đến địa

chỉ chính xác của ô nhớ trong phạm vị trang vật lý tương ứng với địa chỉ

ảo 32 bít ban đầu mà tiến trình phát ra

Sau đây chúng ta sẽ xem xét một cách chi tiết hơn về cấu trúc của page directory,

page table và page table entry để thấy được đặc thù của nó trong Windows 2000

so với những gì mà ta đã khảo sát một cách tổng quát về nó ở các mục trước:

Danh mục bảng trang (page directory)

Mỗi tiến trình có một có một page directory đơn, trình quản lý bộ nhớ dùng một

trang để tạo bản đồ định vị của tất cả các bảng trang của tiến trình đó Địa chỉ vật lý

của page directory của tiến trình được lưu trữ trong block KPROCESS

Địa chỉ vật lý (cơ sở) của page directory được chỉ ra ở thanh ghi điều khiển CR3 trên các hệ thống x86 Mỗi khi có một sự chuyển đổi ngữ cảnh xuất hiện với

một tiểu trình mằm trong tiến trình khác tiến trình hiện tại thì giá trị của thanh ghi

CR3 này sẽ được nạp vào block KPROCESS của tiến trình khác đó.Việc chuyển

đổi ngữ cảnh giữa các tiểu trình trong cùng một tiến trình sẽ không được nạp lại địa

chỉ vật lý của page directory bởi vì tất cả các tiểu trình trong cùng một tiến trình

chia sẻ cùng một không gian địa chỉ tiến trình

Page directory bao gồm các các mục vào danh mục bảng trang (PDE: page Directory Entry) Mỗi entry dài 4 byte (8 byte trên các hệ thống chạy ở chế độ

PAE), để mô tả trạng thái và vị trí của tất cả các bảng trang của tiến trình Các bít

trong PDE tương tự như các bít của PTE

Trên các hệ thống x86, 1024 (2048 trên hệ thống PAE) được yêu cầu để mô

tả đầy đủ 4Gb không gian địa chỉ ảo Page directory tiến trình ánh xạ đến các bảng

trang chứa 1024 PDE Do đó, page directory index cần phải rộng 10 bít (210 =

1024)

Bảng trang tiến trình và bảng trang hệ thống

Trước khi tham chiếu đến byte trong phạm vi trang bằng byte offset, đầu tiên CPU

cần phải tìm đến trang mà nó chứa byte yêu cầu của dữ liệu Để tìm đến trang này,

hệ điều hành xây dựng một trang khác của bộ nhớ, trang này chứa các thông tin ánh

xạ cần thiết để tìm đến trang mong muốn chứa dữ liệu Trang thông tin ánh xạ này

được gọi là page table Vì Windows 2000 cung cấp một không gian địa chỉ riêng

cho mỗi tiến trình nên mỗi tiến trình sở hữu một tập các bảng trang tiến trình để

Trang 2

ánh xạ đến không gian địa chỉ riêng đó, sự ánh xạ sẽ khác nhau ở mỗi tiến trình

Các bảng trang mô tả không gian hệ thống được chia sẻ cho tất cả các tiến trình Khi một tiến trình được tạo, các PDE không gian hệ thống được khởi tạo để

chỉ đến các bảng trang hệ thống đang tồn tại Nhưng không phải tất cả các tiến trình

đều có cùng điểm nhìn của không gian hệ thống Khi bảng trang hệ thống thay đổi

đến vị trí cấp phát mới thì bộ phận quản lý bộ nhớ không cập nhật tất cả các page

directory tiến trình, trình quản lý bộ nhớ chỉ cập nhật các page directory tiến trình

khi các tiến trình tham chiếu đến địa chỉ ảo mới

Hình 3.26: Bảng trang hệ thống và bảng trang riêng của tiến trình

Số lượng PTE được Windows 2000 tính toán dựa vào kích thước của bộ nhớ

Ta cũng có thể quy định số lượng này bằng cách thay đổi trong Registry, nhưng giá

trị lớn nhất mà hệ thống x86 chấp nhận là 128.000 PTE

Các mục vào bảng trang (PTE)

Một PTE dài 32 bít, gồm 13 trường được mô tả ở hình dưới đây:

Sau đây chúng ta sẽ mô tả về các bít trạng thái và các bít bảo vệ trong PTE:

Trang 3

 Accesed: Trang đã được đọc

 Cache disabled: Cấm cache trang này

 Dirty: Trang đã được ghi đến

 Global: Sự chuyển đổi áp dụng đến tất cả các tiến trình

 Large page: Chỉ báo rằng PDE ánh xạ đến trang 4Mb trên hệ thống với 128Mb (hoặc hơn) bộ nhớ

 Owner: Chỉ báo rằng có hay không code user-mode các thể truy cập trang hoặc có hay không trang là được giới hạn chỉ truy cập ở kernel-mode

 Valid: Chỉ báo có hay không sự chuyển đổi ánh xạ đến trang trong bộ nhớ vật lý

 Write through: Cấm cache cho việc ghi đến trang với mục địch sự thay đổi ngay lập tức được ghi đến đĩa

 Write: Trên các hệ thống uniprocessor, đây là chỉ báo có hay không trang

là read/write hoặc read-only Trên các hệ thống multiprocessor, đây là chỉ báo có hay không trang là có thể write (bit Write được lưu trữ trong bit

dự trữ trong PTE)

Trên các hệ thống x86, phần cứng PTE chứa một bít Dirty và một bít Accesed Bít Accessed bị xoá (= 0) nếu trang vật lý được trình bày bởi một PTE

không thể đọc hoặc ghi, Processor thiết lập bít (= 1) này khi trang được đọc hoặc

ghi lần đầu tiên Processor thiết lập bít Dirty chỉ khi trang lần đầu tiên được ghi

Kiến trúc x86 cũng thêm vào bít Write để cung cấp sự bảo vệ trang, khi bít này bị

xoá thì trang trở thành read-only, khi bít này được thiết lập thì trang có thể là

write/read Nếu một tiểu trình cố gắng ghi đến một trang mà bít Write = 0 thì trình

quản lý bộ nhớ sẽ phát sinh một ngoại lệ truy cập, và bộ phận điều khiển lỗi truy

cập phải xác định có hay không một tiểu trình có thể ghi đến trang (trong trường

hợp copy-on-write) hoặc có hay không một sự vi phạm truy cập phải được sinh ra

Trên nền phần cứng x86, các PTE luôn luôn rộng 4 byte (32 bít), 8 byte trên các hệ thống cho phép chế độ PAE, vì thế mỗi bảng trang chứa 1024 PTE , 512 trên

các hệ thống PAE (4096 byte trên một page, 4 byte trên một PTE) và vì thế có thể

ánh xạ 1024 trang (512 page PAE) cho tổng số 4Mb (2 Mb trên PAE) của các trang

Trang 4

dữ liệu

Trường page table index của địa chỉ ảo chỉ đến một PTE trong page table, để

từ đó ánh xạ đến trang dữ liệu mà tiến trình yêu cầu Trên các hệ thống x86, page

table index rộng 10 bít (9 bít trên PAE), cho phép tham chiếu đến 1024 PTE (512

trên PAE) Tuy nhiên, vì windows 2000 cung cấp 4Gb không gian địa chỉ ảo riêng,

nên cần nhiều hơn một page table để ánh xạ toàn bộ không gian địa chỉ Ta có thể

tính được số lượng page table được yêu cầu để ánh xạ toàn bộ không gian địa chỉ

4Gb của tiến trình như sau: 4Gb/4Mb = 1024 page table, hoặc 2048 page table

4Gb/2Mb =1028 page table trên PAE (mỗi bảng trang trên hệ thống x86 ánh xạ

4Mb (2 Mb trên PAE) của các trang dữ liệu)

Byte trong phạm vi trang (byte within page)

Mỗi khi trình quản lý bộ nhớ tìm thấy trang vật lý tương ứng với địa chỉ ảo

mà tiến trình đưa ra để truy xuất dữ liệu trên bộ nhớ, nó phải tìm đến đúng dữ liệu

được yêu cầu trong phạm vi trang này Đây là nơi thành phần Byte Index chỉ vào

Byte Index chỉ cho CPU biết byte dữ liệu trong trang mà tiến trình muốn tham

chiếu đến Trên hệ thống x86, byte index rộng 12 bít, cho phép tiến trình tham

chiếu đến 4096 byte dữ liệu (đây cũng chính là kích thước trang)

Mở rộng địa chỉ vật lý

Tất cả các processor thuộc họ Intel x86 đều bao gồm một chế độ ánh xạ bộ nhớ được gọi là PAE (Physical Address Extension) Với một chipset thích hợp chế

độ PAE cho phép truy cập đến 64GB bộ nhớ vật lý Khi thực thi x86 trong chế độ

PAE, thành phần quản lý bộ nhớ (MMU) của processor chia địa chỉ ảo thành 4

thành phần Trong trường hợp này hệ thống sử dụng bảng trang ba cấp (three-level)

để thực hiện việc chuyển đổi địa chỉ

Hình 3.24: Ánh xạ trang với PAE

Trang 5

MMU vẫn cài đặt page directory và page table nhưng cấp thứ 3 là page directory pointer table PAE có thể đánh địa chỉ bộ nhớ nhiều hơn chế độ chuẩn

không những là do mở rộng cấp bảng trang mà còn do các PDE và PTE rộng 64 bít

chứ không phải 32 bít Với địa chỉ vật lý bên trong là 24 bít, nên x86 có khả năng

quản lý được 64Gb (224+12 byte) bộ nhớ

Để chọn Windows 2000 hoạt đọng trong chế độ PAE ta phải chọn boot với tham số khoá chuyển /PAE trong Boot.ini Chế độ này được hỗ trợ trong tập tin

Ntkrpamp.exe

Chương IV

QUẢN LÝ TẬP TIN VÀ ĐĨA

Tất cả các ứng dụng trên máy tính đều cần lưu trữ và đọc lại thông tin

mà nó nhận vào và xử lý Trong khi một tiến trình đang chạy nó có thể lưu trữ một lượng giới hạn thông tin trong phạm vị không gian địa chỉ

sở hữu của nó Tuy nhiên khả năng lưu trữ này bị giới hạn bởi kích thước không gian địa chỉ ảo của hệ thống Đối với một vài ứng dụng thì không gian này là vừa đủ, nhưng đối với một số ứng dụng khác thì

nó là quá nhỏ Mặt khác nếu lưu giữ thông tin trong không gian địa chỉ của tiến trình thì thông tin này sẽ bị mất khi tiến trình kết thúc

Vấn đề thứ ba là phải đáp ứng việc truy cập thông tin đông thời giữa các tiến trình trong môi trường hệ điều hành đa nhiệm Những vấn đề trên chúng ta đã biết trong các chương Quản lý tiến trình và Quản lý

bộ nhớ của tài liệu này Để giải quyết những vấn đề trên hệ điều hành phải thiết kế một hệ thông lưu trữ thông tin sao cho: Thứ nhất là phải lưu trữ được một khối lượng lớn thông tin Thứ hai là thông tin phải được bảo toàn khi tiến trình sử dụng nó kết thúc Và cuối cùng là có thể có nhiều tiến trình truy xuất thông tin đồng thời

Giải pháp cho tất cả vấn đề trên là lưu trữ thông tin trên đĩa và các thiết bị media khác trong các đơn vị dữ liệu, được gọi là các file (tập tin) Các tiến trình có thể đọc thông tin của file và rồi ghi mới thông tin vào file nếu cần thiết Thông tin được lưu trữ trong file phải không bị tác động bởi việc tạo và kết thúc tiến trình

Các file được quản lý bởi hệ điều hành Thành phần hệ điều hành tham gia trực tiếp vào quá trình quản lý các file trên đĩa được gọi là hệ thống file Hệ điều hành phải xây dựng cấu trúc và tổ chức

Ngày đăng: 24/07/2014, 18:21

HÌNH ẢNH LIÊN QUAN

Hình 3.26: Bảng trang hệ thống và bảng trang riêng của tiến trình - Giáo trình hướng dẫn phân tích chuyển địa chỉ trong kỹ thuật table indecator kết hợp paging p4 doc
Hình 3.26 Bảng trang hệ thống và bảng trang riêng của tiến trình (Trang 2)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm