linux中的分段
2015-08-18 22:09
483 查看
linux中的地址有三种:逻辑地址、线性地址和物理地址。
程序执行时地址由逻辑地址->线性地址->物理地址。
逻辑地址48bit:段选择符(16bit) + 段内偏移(32bit)
段选择符存储的是段描述符的相关信息,包括:在GDT中还是在LDT中,在短描述符表中的下标,特权等级。
逻辑地址在向线性地址转换时,先确定段描述符是在GDT还是在LDT中,然后从相应的寄存在中取出描述符表的地址,描述符表地址 + 下标 * 8就得到了对应描述符的地址(之所以乘以8是因为描述符是以8个字节为单位的)。找到描述符地址后,将描述符中地址的base + 段选择符中的段内偏移就得到了线性地址。
linux中描述符中的base地址都为0,所以linux的线性地址和逻辑地址是一致的。
程序执行时地址由逻辑地址->线性地址->物理地址。
逻辑地址48bit:段选择符(16bit) + 段内偏移(32bit)
段选择符存储的是段描述符的相关信息,包括:在GDT中还是在LDT中,在短描述符表中的下标,特权等级。
逻辑地址在向线性地址转换时,先确定段描述符是在GDT还是在LDT中,然后从相应的寄存在中取出描述符表的地址,描述符表地址 + 下标 * 8就得到了对应描述符的地址(之所以乘以8是因为描述符是以8个字节为单位的)。找到描述符地址后,将描述符中地址的base + 段选择符中的段内偏移就得到了线性地址。
linux中描述符中的base地址都为0,所以linux的线性地址和逻辑地址是一致的。
相关文章推荐
- 利用Linux LiveCD迁移Windows到SSD硬盘
- linux下查看图片
- CentOS7.0手动设置yum源教程
- linux-grep/cut/wc/sort
- Linux基本权限与ACL权限
- Linux压缩包的制作与解压
- Linux用户、用户组
- Linux文件管理、查找与光盘挂载
- linux学习技巧
- linux下查看文件夹的大小
- Centos7 把php5.4升级到php5.6
- Linux内核设计与实现--学习笔记--第二章
- Linux____vi编辑器
- 解决centos7在vm11中添加多块网卡无法使用的问题
- Centos6.6 zabbix 安装和配置
- linux 线程同步(二)
- linux curl 命令
- Linux查看CPU和内存使用情况
- linux lsof 命令
- CentOS系统下的Hadoop集群(第5期)_Hadoop安装配置