操作系统的线性地址

 

线性地址( Linear address ),也叫做逻辑地址 (virtual address) 32 位系统中,它的寻址空间是从 0x00000000-0xffffffff ,也就是常说的 4G

 

PAE 分页机制

Physical address extension ,指的是在 32 位系统中,处理器的管脚数目从 32 个增加到 36 个,这样,寻址空间就扩大到了 64G ,完全可以满足现有的需求。

 

Paging Unit 分页单元,它能够把线性地址转换成物理地址。在编程中,经常可以遇到 page fault 这样的错误,其实,这个错误就是从 paging unit 从抛出来的。

 

Page: 页,线性地址被分成固定长度为单位的组,这就是页。通常,页大小是 4K

此外,页既指一组线性地址,也指包含在这组地址中的数据。

 

Segmentation Unit 分段单元,是一个硬件电路,可以把一个逻辑地址转换成线性地址。

 

Paging Unit :分页单元,是一个硬件电路,可以把线性地址转换成一个物理地址。属于 MMU memory management unit )的范畴。

 

Page Frame: 页框,分页单元( page unit )把系统中所有的 RAM 分成固定长度的页框。

 

Page page frame 的区别:

Page 是一个数据块,而 page frame 是一个物理存储单元。因此,一个页可以任何页框中。

 

Page directory :页目录表,是一种转换表,用于线性地址到物理地址转换的第一步。

Page table :页表,是一种转换表,用于线性地址到物理地址转换的第二步。

 

32 位线性地址: page directory(10 bit), page table(10 bit), offset(12 bit)

 

Cr 寄存器

 

 

< ===================================================== >

Linux 系统中的分页机制:四级分页模型

  1. page global directory :页全局目录
  2. page upper directory 页上级目录
  3. page middle directory :页中间目录
  4. page table 页表

 

Linux进程页表

1.  0x00000000 ~ 0xbfffffff:进程处于用户态和内核态都可以寻址

2.  0xc0000000 ~ 0xffffffff:内核态的进程才能可以寻址

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值