- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
毕业设计英文翻译111研讨
第2章存储器寻址这一章处理处理技术。幸运的是,一个操作系统不是被迫跟踪物理内存本身;今天的微处理器包括几个硬件电路使内存管理更高效和更健壮的编程错误在这本书的其余部分,我们提供细节在本章关于80 x86 Intel微处理器地址内存芯片和Linux如何利用可用的解决电路。我们希望你会发现,当你学习Linux的实现细节最受欢迎的平台你会更好地理解分页的一般理论和方式研究在其他平台上实现。这是第一个内存管理相关的三章:第六章,讨论如何内核分配内存,而第七章,考虑如何线性地址分配给进程2.1 存储器寻址程序员随意引用一个内存地址的方式访问的内容一个存储单元。但在处理80年英特尔x86微处理器,我们必须区分在三种地址:逻辑地址包含在机器语言指令指定一个操作数的地址一条指令。这种类型的处理体现了著名的英特尔分段架构,部队ms - dos和Windows程序员把他们的程序成段。每个逻辑地址由一个部门和一个偏移量(或位移),表示距离的开始段的实际地址。线性地址一个32位无符号整数,可以用来解决4 GB,即到4294967296记忆细胞。线性地址通常用十六进制表示符号,它们的值从0 0 xffffffff。物理地址用于解决记忆细胞包含在内存芯片。他们对应电信号发送的地址别针的微处理器内存总线。物理地址表示为32位无符号整数。CPU控制单元将逻辑地址转换成一个线性地址的硬件电路称为细分单元;先后,第二个硬件电路称为分页单元将线性地址转换成物理地址(见图2 - 1)。2.2硬件分割从80386年模型开始,英特尔微处理器执行两个地址转换不同的方式称为实模式和保护模式。实模式的存在主要是为了维护与老款处理器兼容性和允许操作系统引导(见附录A,一个简短的描述的模式)。我们将关注保护模式。2.2.1段寄存器一个逻辑地址由两部分组成:一段标识符和一个指定的偏移量段内的相对地址。段标识符是一个16位的领域称为段选择器,而抵消是一个32位的领域。使它容易快速检索段选择符,处理器提供细分寄存器的唯一目的是持有段选择符;这些寄存器称为cs,党卫军,ds,es、fs和gs。虽然只有六个人,一个程序可以重用相同的分割注册不同的目的在内存中,然后通过保存其内容恢复它。三个六段寄存器有特定的用途:Cs代码段寄存器,它指向包含程序指令的部分Ss堆栈段寄存器,它指向一个包含当前程序段堆栈Ds数据段寄存器,它指向包含静态和外部的部分数据其余三个段寄存器是通用,可能指的是任意的段。cs寄存器还有另一个重要的功能:它包括一个2比特字段,该字段指定当前特权级别(CPL)的CPU。值表示最高的特权级别,而3表示价值最低的一个。Linux和3只使用水平,分别称为内核模式和用户模式。2.2.2段描述符每一部分都由一个8字节段描述符表示(见图2)描述段特征。段描述符存储在全局描述符表(GDT)或在局部描述符表(LDT)。通常只有一个GDT定义,虽然每个进程可能有自己的LDT。的地址GDT在主内存中包含gdtr处理器寄存器的地址目前使用LDT包含ldtr处理器寄存器中。每一段描述符包含以下字段:x一个32位的基本字段包含的线性地址段的第一个字节。x G粒度国旗:如果是清除,表达的片段大小字节;否则,它在4096字节的倍数表示。x 20位限制字段表示段长度,以字节为单位。如果设置为0,大小1个字节之间的一个非空段可能不同和1 MB;否则,它可能会有所不同4 KB和4 GB之间。x S系统标志:如果它被清除,段是一个系统段存储内核数据结构;否则,它是一个正常的代码或数据段。x 4比特类型字段描述段类型及其访问权限。的后段描述符类型广泛应用:代码段描述符表明段描述符是指一个代码段,它可能包括在内在GDT或LDT。描述符设置年代标志。数据段描述符表明,指的是一个数据段的段描述符,它可能包括在内在GDT或LDT。描述符设置年代标志。堆栈段实现通过通用数据段。任务状态段描述符(TSSD)表明任务状态段的段描述符是指(TSS),也就是说,一段用来节省处理器寄存器的内容(参见3.2.2节第3章);它只会出现在GDT。对应的类型字段的值11、9,这取决于相应的进程当前正在执行的CPU。S标志的描述符设置为0。局部描述符表描述符(LDTD)表明段描述符是指一段包含LDT;它可以只有在GDT出现。对应的类型字段的值2。S的旗帜这样的描述符设置为0。x DPL(描述符特权级)2比特字段用来限制访问的部分。它代表了CPU的最小特权级别请求来访问。因此,一套段DPL的CPL时只能是0,也就是说,在内核模式,而与其DPL段设置为CPL 3访问每一个值。x Segment-Present国旗将如果段目前不存储在主内存。Linux总是将这个字段设置为1,因为它从来没有互换整个片段磁盘。x额外国旗称为D或B取决
文档评论(0)