下载此文档

Linux操作系统.ppt


文档分类:IT计算机 | 页数:约67页 举报非法文档有奖
1/67
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/67 下载此文档
文档列表 文档介绍
Linux操作系统2007年秋内存寻址Linux内核完全剖作者:赵炯编著出版社:***出版社ISBN:7111180321出版日期:2006-1-1内存寻址内存是指一组有序字节组成的数组,每个字节有唯一的内存地址。内存寻址则是指对储存在内存中的某个指定数据对象的地址进行定位。这里数据对象是指储存在内存中的一个指定数据类型的数值或字串。80X86支持多种数据类型:1字节、2字节(1个字)或4字节(双字或长字)的无符号整型数或带符号整型数,以及多字节字符串等。通常字节中某一比特位的定位或寻址可以基于字节来寻址,因此最小数据类型的寻址是对l字节数据(数值或字符)的定位通常内存地址从0开始编址,对于80X86CPU来說,其地址总线宽度为32字节,因此一共有232个不同物理地址。即内存物理地址空间有4G,总共可以寻址4G字节的物理内存内存寻址对于80X86CPU,一条指令主要由操作码(Opcode)和操作对象即操作数(Operand)构成。操作数可以位于一个寄存器中,也可以在内存中。若要定位内存中的操作数,就要进行内存寻址。80X86有许多指令的操作数涉及内存寻址,並且针对所寻址物件数据类型的不同,也有很多不同的寻址方案内存寻址为了进行内存寻址,80X86使用了一种称为段(Segment)的寻址技术。这种寻址技术把内存空间分成一个或多个称为段的线性区域,从而对内存中一个数据对象的寻址就需要使用一个段的起始地址(即段地址)和一个段內偏移地址两部分构成。段地址部分使用16字节的段选择符号指定,其中14位可以选择214次方即16384个段。段內偏移地址部分使用32字节的值来指定,因此段內地址可以是0到4G。即一个段的最大长度可达4G。程序中由16字节的段和32位的偏移构成的48位地址或长指针称为一个逻辑地址(虛拟地址)。它唯一确定了一个数据对象的段地址和段內偏移地址。而仅由32位偏移地址或指针指定的地址是基于当前段的对象地址。内存寻址80X86为段部分提供了6个存放段选择符号的段寄存器:CS、DS、ES、SS、FS和GS。其中CS总是用于寻址代码段,而堆栈段则专门使用SS段寄存器。在任何指定时刻由CS寻址的段称为当前代码段。此时EIP寄存器中包含了当前代码段內下一条要执行指令的段內偏移地址。因此要执行指令的地址可表示成CS:[EIP]。后面将说明的段间控制转移指令可以被用来为CS和EIP代入新值,从而可以把执行位置政变到其他的代码段中,这样就实现了在不同段中程序的控制传递。由段寄存器SS寻址的段称为当前堆栈段。堆栈顶端由ESP寄存器內容指定。因此堆栈顶端地址是SS:[ESP]。另外4个段寄存器是通用段寄存器。当指令中沒有指定所操作数据的段时,那么DS将足预设的数据段寄存器。内存寻址-地址变换任何完整的内存管理系统都包含两个关键部分:保护和地址变换。提供保护措施是可以防止一个任务存取另一个任务或操作系统的内存区域。地址变换能够让作业系统在给任务分配内存时具有灵活性,并且因为我们可以让某些物理地址不被任何逻辑地址所映射,所以在地址变换过程中同时也提供了内存保护功能内存寻址-地址变换正如上面提到的,电脑中的物理内存是字节的线性组合,每个字节具有一个唯一的物理地址;程序中的地址是由两部分构成的逻辑地址。这种逻辑地址并不能直接用于存取物理内存,而需要使用地址变换机制将它变换或映射到物理内存地址上。内存管理机制即用于将这种逻辑地址转换成物理内存地址。内存寻址-地址变换为了減少确定地址变换所需要的信息,变换或映射通常以内存块作为操作单位。分段机制和分页机制是两种广泛使用的地址变换技术。分段和分页操作都使用驻留在内存中的表来指定它们各自的变换信息。这些表只能由操作系统存取,以防止应用程序擅自修改。内存寻址-地址变换80X86在从逻辑地址到物理地址变换行程中使用了分段和分页两种机制。第一阶段使用分段机制把程序的逻辑地址变换成处理器可寻址内存空问(称为线性地址空间)中的地址。第二阶段使用分页机制把线性地址转换为物理地址在地址变换行程中,第一阶段的分段变换机制总是使用的,而第二阶段的分页机制则是供选用的。如果沒有启用分页机制,那么分段机制产生的线性地址空间就直接映射到处理器的物理地址空间上。物理地址空间定义为处理器在其地址总线上能够产生的地址范围。

Linux操作系统 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数67
  • 收藏数0 收藏
  • 顶次数0
  • 上传人iris028
  • 文件大小704 KB
  • 时间2020-07-06