linux分页和分段机制

linux分页和分段机制

ID:41524405

大小:160.69 KB

页数:5页

时间:2019-08-26

linux分页和分段机制_第1页
linux分页和分段机制_第2页
linux分页和分段机制_第3页
linux分页和分段机制_第4页
linux分页和分段机制_第5页
资源描述:

《linux分页和分段机制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Linux的分段和分页机制1.分段机制80386的两种工作模式80386的工作模式包拆实地址模式和虚地址模式(保护模式)。Linux主要工作在保护模式下。分段机制在保护模式下,80386虎地址空间可达16K个段,每段大小可变,城大达4GB。从逻辑地址到线性地址的转换Fh80386分段机制管理。段寄存器CS、DS、ES、SS、FS或GS标识一个段。这些段寄存器作为段选择器,用来选择该段的描述符。分段逻辑地址到线性地址转换图150310段选择;段偏移畝-建轲地址*]1.段描述符衣1、1线性地址图97分段逻辑地址到线性地址转换图2.分页机制分页机制的作用分页机制是在段机制之后进行的,

2、它进一步将线性地址转换为物理地址。80386使用4K字节大小的贞,IL每页的起始地址都被4K整除。因此,80386把4GB字节线性地址空间划分为1M个页面,采用了两级表结构。两级页表两级表的第一级表称为页目录,存储在一个4K字节的页中,页目录表共冇1K个表项,每个表项为4个字节,线性地址最高的10位(22-31)用来产生笫一级表索引,由该索引得到的表项中的内容定位了二级表中的一-个表的I地址,即下级页表所在的内存块号。第二级表称为页表,存储在一个4K字节页中,它包含了1K字节的表项,每个表项包含了一个页的物理地址。二级页表由线性地址的中间10位(12-21)位进行索引,定位页表

3、表项,获得页的物理地址。页物理地址的高20位与线性地址的低佗位形成啟后的物理地址。利用两级页表转换地址0物理地址图9_8利用两级贞农转换地址2.内核空间和用户空间用户空间在Linux中,每个用户进程都可以访问4GB的线性虚拟内存空间.其中从0到3GB的虚存地址是用户空间,用户进程可以直接访问。内核空间从3GB到4GB的虚存地址为内核态空间,存放供内核访问的代码和数据,用户态进程不能访问。所有进程从3GB到4GB的虚拟空间都是一样的,linux以此方式让内核态进程共享代码段和数据段。保护模式(1)一■存储方式WritenByDangerman保护模式现代操作系统的基础,理解他是我

4、们要翻越的第一座山。保护模式是相对实模式而言的,他们足处理器的两种工作方式。很久以前大家使用的dos就是运行在实模式下,而现在的windows操作系统则是运行在保护模式下。两种运行模式有着较大的不同,实模式由于是由8086/8088发展而来因此他更像是一个运行单片机的简单模式,计算机启动后首先进入的就是实模式,通过8086/8088只有20根地址线所以它的寻址范围只有2的20次幕,U

5、J1M.内存的访问方式就是我们熟悉的segzoffset逻辑地址方式,例如我们给出地址逻辑地址它将在cpu内转换为20的物理地址,即将seg左移4位再加上offset值。例如地址1000h:567

6、8h,则物理地址为10000h+5678h=15678h,实模式在后续的cpu中被保留了下来,但实模式的局限性是很明显的,由于使用segzoffset逻辑地址只能访问1M多一点的内存空间,在拥冇32根地址线的cpu中访问1M以上的空间则变得很困难.而且随着计算机的不断发展实棋式的工作方式越来越不能满足计算机对资源(存储资源和cpu资源等等)的管理,宙此产生了新的管理方式一保护模式。80386及以上的处理器功能要大大超过其先前的处理器,但只有在保护模式下,处理器才能发挥作用。在保护模式下,全部32根地址线有效,可寻址4G的物理地址空间;扩充的存储分段机制和训选的存储器分页机制,不

7、仅为存储器共亨和保护提供了硬件支持,而IL为实现虚拟存储器提供了硬件支持;支持多任务;4个待权级和完善的待权级检査机制,实现了数据的安全和保密。计算机启动后首先进入的就是实模式,通过设置相应的寄存器才能进入保护模式(以后介绍)。保护模式是一个整体的工作方式,但分步讨论山浅入深更利于学习。一.存储方式存储方式主要体现任内存访问方式上,由于兼容利IA32框架的限制,保护模式在内存访问上延用了实模式下的segzoffset的形式(即:逻辑地址),其实segzoffset的形式在保护模式下只是一个躯壳,内部的存储方式与实模式截然不同。在保护模式下逻辑地址并不是直接转换为物理地址,而是将

8、逻辑地址首先转换为线性地址,再将线性地址转换为物理地址。如图一:线性地址是个新概念,但大家不耍把它想的过于复杂,简单的说他就是0000000h〜ffffffffh(即0~4G)的线性结构,是32个bite位能表示的-段连续的地址,但他是一个概念上的地址,是个抽彖的地址,并不存在在现实Z中。线性地址地址主要是为分页机制而产生的。处理器在得到逻辑地址后首先通过分段机制转换为线性地址,线性地址再通过分贞机制转换为物理地址最后读取数据。如图二:分段机制是必须的,分贝机制是可选的,当不使用分页的时候线

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。