设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
智能计算—— LinuxSir.cn
›
Linux及计算机学科基础理论版
›
[操作系统]请教保护模式和有关内存
返回列表
查看:
2006
|
回复:
5
[操作系统]请教保护模式和有关内存
[复制链接]
52violin
52violin
当前离线
积分
198
IP卡
狗仔卡
发表于 2006-3-12 13:07:41
|
显示全部楼层
|
阅读模式
"TYPE中的位2是ED位,指示所描述的数据段的扩展方向。ED=0表示数据段向高端扩展,也即段内偏移必须小于等于段界限。ED=1表示数据段向低扩展,段内偏移必须大于段界限。"
向上扩展是不是比如基地址是0f0000h,界限是1000h,那么数据段从0f0000h到0f1000h?所以偏移小于等于界限.但是向下扩展如何理解呢?比如基地址0f0000h,界限是1000h,那么是不是说数据段从0ef000h到0f0000h?但是又如何理解偏移(负的)大于界限(正的)呢?
还有就是,boot时有个0000:7c00的内存地址,还有显存绝对地址是0b8000h,硬盘rom绝对地址是0c8000h,我想详细了解所有的有这些特殊用途的绝对地址,谁能提供一个链接?或者书,文档,手册什么的?
另外,linux的内存布局是怎样的?比如绝对地址哪到哪用于内核,哪到哪用于用户区?
谢谢
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
is02bing
is02bing
当前离线
积分
176
IP卡
狗仔卡
发表于 2006-3-15 11:16:57
|
显示全部楼层
E: E=0描述符描述数据段
ED=0 段向上扩展(数据段)
ED=1 段向下扩展(堆栈段)
界限指定的实际是一个段的大小
但是又如何理解偏移(负的)大于界限(正的)呢?
并不是说向下扩展偏移就是负的,
你这句话是讨论的只是文字
,与CPU实际处理无关
还有就是,boot时有个0000:7c00的内存地址,还有显存绝对地址是0b8000h,
硬盘rom绝对地址是0c8000h,我想详细了解所有的有这些特殊用途的绝对地址
复制代码
在实模式下才有这样的规定,一旦进了了保护模式,就没有这样的规定了。实模式下寻址1M内的存的,地址高于640KB的实际上都有特定的用途:
A0000-AFFFF:视频RAM图形区
B0000-BFFFF:视频RAM文本区
C0000-C7FFF:视频BIOS
C8000-DFFFF:硬盘控制器ROM+LAN控制器ROM+空闲区
E0000-EFFFF:BAsic语言ROM(只在早期PC出现)
F0000-FFFFF:BIOS的ROM
回复
支持
反对
使用道具
举报
显身卡
is02bing
is02bing
当前离线
积分
176
IP卡
狗仔卡
发表于 2006-3-15 11:17:11
|
显示全部楼层
linux的内存布局是怎样的?比如绝对地址哪到哪用于内核,哪到哪用于用户区
复制代码
线性地址4G空间中,最高1G是映射到内核到,低的3G地址空间:是进程独有的。至于那部分内存是放什么驱动或者用作堆栈的,这些其实并不像DOS那样规定好,而是根据系统变化而变化的。如果楼主想看这些,首选看看有关intel 处理器的书,把分页与分段弄明白再看LINUX内核,可以看看浙大出的《Linux内核情景分析》。
回复
支持
反对
使用道具
举报
显身卡
is02bing
is02bing
当前离线
积分
176
IP卡
狗仔卡
发表于 2006-3-15 11:17:24
|
显示全部楼层
E: E=0描述符描述数据段
ED=0 段向上扩展(数据段)
ED=1 段向下扩展(堆栈段)
界限指定的实际是一个段的大小
但是又如何理解偏移(负的)大于界限(正的)呢?
并不是说向下扩展偏移就是负的,
你这句话是讨论的只是文字
,与CPU实际处理无关
还有就是,boot时有个0000:7c00的内存地址,还有显存绝对地址是0b8000h,
硬盘rom绝对地址是0c8000h,我想详细了解所有的有这些特殊用途的绝对地址
复制代码
在实模式下才有这样的规定,一旦进了了保护模式,就没有这样的规定了。实模式下寻址1M内的存的,地址高于640KB的实际上都有特定的用途:
A0000-AFFFF:视频RAM图形区
B0000-BFFFF:视频RAM文本区
C0000-C7FFF:视频BIOS
C8000-DFFFF:硬盘控制器ROM+LAN控制器ROM+空闲区
E0000-EFFFF:BAsic语言ROM(只在早期PC出现)
F0000-FFFFF:BIOS的ROM
回复
支持
反对
使用道具
举报
显身卡
is02bing
is02bing
当前离线
积分
176
IP卡
狗仔卡
发表于 2006-3-15 11:17:28
|
显示全部楼层
E: E=0描述符描述数据段
ED=0 段向上扩展(数据段)
ED=1 段向下扩展(堆栈段)
界限指定的实际是一个段的大小
但是又如何理解偏移(负的)大于界限(正的)呢?
并不是说向下扩展偏移就是负的,
你这句话是讨论的只是文字
,与CPU实际处理无关
还有就是,boot时有个0000:7c00的内存地址,还有显存绝对地址是0b8000h,
硬盘rom绝对地址是0c8000h,我想详细了解所有的有这些特殊用途的绝对地址
复制代码
在实模式下才有这样的规定,一旦进了了保护模式,就没有这样的规定了。实模式下寻址1M内的存的,地址高于640KB的实际上都有特定的用途:
A0000-AFFFF:视频RAM图形区
B0000-BFFFF:视频RAM文本区
C0000-C7FFF:视频BIOS
C8000-DFFFF:硬盘控制器ROM+LAN控制器ROM+空闲区
E0000-EFFFF:BAsic语言ROM(只在早期PC出现)
F0000-FFFFF:BIOS的ROM
回复
支持
反对
使用道具
举报
显身卡
is02bing
is02bing
当前离线
积分
176
IP卡
狗仔卡
发表于 2006-3-15 11:24:05
|
显示全部楼层
为什么不能删自己的贴,按多了几次回复造成重发了,版友见谅
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表