内存分页与分段

1.分段

分段本是由于8086是16位总线,为寻址20位内存地址而增加的。在32位操作系统中,分段依然有用。

1.1 段描述符 描述该段的安全属性,为一个64位长的值。

1.2 段描述符表 表中存放段描述符。

1.3 段寄存器 存放段描述符表的索引值,用于段选择子。

1.4 gdtr 该寄存器指向全局描述符表(gdt),gdt中保存操作系统使用的代码段,堆栈段等段描述符,及各个任务的ldt,gdt的内容不随任务的切换而切换。48位。

1.5 ldtr 该寄存器指向局部描述符表(ldt),ldt中保存当前任务所使用的代码段,数据段,堆栈段等的段描述符。ldt随任务的切换而切换。16位。

1.6 所有寄存器中cr3(保存当前也目录地址)中地址为物理地址,其他都为线性地址。

2 分页

2.1 如果没有分页机制,则由分段寻址方式计算出的地址即为物理地址。

2.2 分页机制为程序提供了4G的连续地址空间。

2.3 每个页占据4k,则4G的地址空间需要4G/4K = 1M个页。每个页需要4个字节来描述其物理基地址。这样则需要4M的地址空间存放页信息。

2.4 操作系统将每1024个页分成一组,组成一个页表,页表项中保存该页的物理基地址。则最多有1024个页表。

2.5 页表目录中有1024个项,每个项占用4个字节,项的内容为页表的地址。
 

 

--------------------------------------------------------------------------------


分页和分段的主要区别


段是信息的逻辑单位,用户可见,长度可变
页是信息的物理单位,用户透明,长度固定
段式:若干独立的逻辑空间构成进程的非连续逻辑空间,二维地址空间
页式:一维地址空间
段式:物理空间不连续,但段内连续
页式:物理空间不连续

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/syf442/archive/2009/07/24/4377591.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值