Linux操作系统与应用 第二章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux操作系统与应用 第二章

段机制 段是虚拟地址空间的基本单位,段机制必须把虚拟地址空间的一个地址转换为线性地址空间的一个线性地址。 用三个方面来描述段 段的基地址(Base Address):在线性地址空间中段的起始地址。 段的界限(Limit):在虚拟地址空间中,段内可以使用的最大偏移量。 段的保护属性(Attribute): 表示段的特性。例如,该段是否可被读出或写入,或者该段是否作为一个程序来执行,以及段的特权级等等。 虚拟-线性地址的转换 虚拟地址空间 段描述符表-段表 如图所示的段描述符表(或叫段表)来描述转换关系。段号描述的是虚拟地址空间段的编号,基地址是线性地址空间段的起始地址。 段描述符表中的每一个表项叫做段描述符 0 1 2 索引 (段号) 基地址 界限 属性 Baseb Limitb Attributeb Basea Limita Attributea Basec Limitc Attributec 保护模式下的其他描述符表简介 全局描述符表GDT(Gloabal Descriptor Table) 中断描述符表IDT(Interrupt Descriptor Table) 局部描述符表LDT(Local Descriptor Table) 为了加快对这些表的访问,Intel设计了专门的寄存器,以存放这些表的基地址及表的长度界限 。这些寄存器只供操作系统使用。 有关这些表的详细内容请参看有关保护模式的参考书。 保护模式下段寄存器中存放什么 存放索引或叫段号,因此,这里的段寄存器也叫选择符,即从描述符表中选择某个段。 选择符(段寄存器)的结构: RPL表示请求者的特权级(Requestor Privilege Level) 保护模式下的特权级 保护模式提供了四个特权级,用0~3四个数字表示 很多操作系统(包括Linux,Windwos)只使用了其中的最低和最高两个,即0表示最高特权级,对应内核态;3表示最低特权级,对应用户态。 保护模式规定,高特权级可以访问低特权级,而低特权级不能随便访问高特权级。 地址转换及保护 Linux中的段 Linux是怎样处理段机制? ? 分页机制-页 将线性地址空间划分成若干大小相等的片,称为页(Page) 物理地址空间分成与页大小相等的若干存储块,称为(物理)块或页面(Page Frame) 页的大小应该为多少?由谁确定? 分页机制-页表 页表是把线性地址映射到物理地址的一种数据结构。 页表中应当包含如下内容: 物理页面基地址:线性地址空间中的一个页装入内存后所对应的物理页面的起始地址。 页的属性:表示页的特性。例如该页是否在内存,是否可被读出或写入等。 页面的大小为4KB ,物理页面基地址需要多少位就可以? 分页机制-页表项结构 物理页面基地址: 指的是页所对应的物理页面在内存的起始物理地址。相当于物理块号(为什么?) 其最低12位全部为0,因此用高20位来描述32位的地址。 属性见书 物理页面基地址 属性 31 11 0 分页机制-两级页表 为什么要采用两级页表? …… …… …… …… …… 页目录 页表 物理页面 分页机制-线性地址结构 这个结构的伪代码描述如下 typedef struct { unsigned int dir:10; /*用作页目录中的下标,对应的 目录项指向一个页表*/ unsigned int page:10 /*用作页表的下标,对应的页表 项指向一个物理页面*/ unsigned int offset:12 /*在4K字物理页面内的偏移量*/ } LinearAddr 页目录 页 页内偏移量 31 22 12 0 分页机制-页表项结构

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档