window linux分段分页机制不一样,linux分页和分段机制.docx

Linux的分段和分页机制

1 .分段机制

80386的两种工作模式

80386的工作模式包拆实地址模式和虚地址模式(保护模式)。Linux主要工作在保护模式下。

分段机制

在保护模式下,80386虎地址空间可达16K个段,每段大小可变,城大达4GB。

从逻辑地址到线性地址的转换Fh 80386分段机制管理。段寄存器CS、DS、ES、SS、FS或GS标识一个段。这些段寄 存器作为段选择器,用来选择该段的描述符。

分段逻辑地址到线性地址转换图

TOC \o "1-5" \h \z 150 310

段选择;段偏移畝 -

建轲地址*]

1.段描述符衣1、

1线性地址

图9 7分段逻辑地址到线性地址转换图

分页机制

分页机制的作用

分页机制是在段机制之后进行的,它进一步将线性地址转换为物理地址。

80386使用4K字节大小的贞,IL每页的起始地址都被4K整除。因此,80386把4GB字节线性地址空间划分为1M个 页面,采用了两级表结构。

两级页表

两级表的第一级表称为页目录,存储在一个4K字节的页中,页目录表共冇1K个表项,每个表项为4个字节,线性地址最 高的10位(22-31)用来产生笫一级表索引,由该索引得到的表项中的内容定位了二级表中的一-个表的I地址,即下级页表所在 的内存块号。

第二级表称为页表,存储在一个4K字节页中,它包含了 1K字节的表项,每个表项包含了一个页的物理地址。二级页表由线性 地址的中间10位(12-21)位进行索引,定位页表表项,获得页的物理地址。页物理地址的高20位与线性地址的低佗位形 成啟后的物理地址。

利用两级页表转换地址

0物理地址

0

物理

地址

图9_8利用两级贞农转换地址

内核空间和用户空间

用户空间

在Linux中,每个用户进程都可以访问4GB的线性虚拟内存空间.其中从0到3GB的虚存地址是用户空间,用户进程可 以直接访问。

内核空间

从3GB到4GB的虚存地址为内核态空间,存放供内核访问的代码和数据,用户态进程不能访问。所有进程从3GB到4GB 的虚拟空间都是一样的,linux以此方式让内核态进程共享代码段和数据段。

保护模式(1)一■存储方式

Writen By Dangerman

保护模式现代操作系统的基础,理解他是我们要翻越的第一座山。保护模式是相对实模式而言的,他们足处理器的两种工作方 式。很久以前大家使用的dos就是运行在实模式下,而现在的windows操作系统则是运行在保护模式下。两种运行模式有着 较大的不同,

实模式由于是由8086/8088发展而来因此他更像是一个运行单片机的简单模式,计算机启动后首先进入的就是实模式,通过 8086/8088只有20根 地址线所以它的寻址范围只有2的20次幕,U|J 1M.内存的访问方式就是我们熟悉的segzoffset逻 辑地址方式,例如我们给出地址逻辑地址它将在cpu内转换为20的物理地址,即将seg左移4位再加上offset值。例如地址 1000h:5678h,则物理地址为10000h+5678h=15678h,实模式在后续的cpu中被保留了下来,但实模式的局限性是很明 显的,由于使用segzoffset逻辑地址只能访问1M多一点的内存空间,在拥冇32根地址线的cpu中访问1M以上的空间则 变得很困难.而且随着计算机的不断发展实棋式的工作方式越来越不能满足计算机对资源(存储资源和cpu资源等等)的管理, 宙此产生了新的管理方式一保护模式。

80386及以上的处理器功能要大大超过其先前的处理器,但只有在保护模式下,处理器才能发挥作用。在保护模式下,全部32 根地址线有效,可寻址4G的物理地址空间;扩充的存储分段机制和训选的存储器分页机制,不仅为存储器共亨和保护提供了 硬件支持,而IL为实现虚拟存储器提供了硬件支持;支持多任务;4个待权级和完善的待权级检査机制,实现了数据的安全和 保密。计算机启动后首先进入的就是实模式,通过设置相应的寄存器才能进入保护模式(以后介绍)。保护模式是一个整体的 工作方式,但分步讨论山浅入深更利于学习。

一.存储方式

存储方式主要体现任内存访问方式上,由于兼容利IA32框架的限制,保护模式在内存访问上延用了实模式下的segzoffset的 形式(即:逻辑地址),其实segzoffset的形式在保护模式下只是一个躯壳,内部的存储方式与实模式截然不同。在保护模 式下逻辑地址并不是直接转换为物理地址,而是将逻辑地址首先转换为线性地址,再将线性地址转换为物理地址。如图一:

线性地址是个新概念,但大家不耍把它想的过于复杂,简单的说他就是0000000h?ffffffffh(即0~4G)的线性结构,是32个 bite位能表示的-段连续的地址,但他是一个概念上的地址,是个抽彖的地址,并不存在在现实Z中。线性地址地

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值