免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: menp9999
打印 上一主题 下一主题

LINUX的存储问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2003-07-28 15:04 |只看该作者

LINUX的存储问题

原帖由 "蓝色键盘" 发表:
加入在Linux 中,4GB的虚存需通过32-bit 地址进行寻址。(Linux 中虚拟地址与线形地址为同一概念)虚拟地址被分割成3 个子位段,其中2 个子位段包含10 位, 1 个子位段包含12 位。

3个子位段分别表示不同含义:子?.........
   
PAGE FRAME确确实实的就是物理存储器,但不一定就是内存.

论坛徽章:
0
12 [报告]
发表于 2003-07-28 15:06 |只看该作者

LINUX的存储问题

原帖由 "蓝色键盘" 发表:
好像我们讨论的跑题了,呵呵

看你提出的问题。偶觉得一起看看linux中进程是地址映射过程可能有所帮助。

1、Linus虚存采用动态地址映射方式,即Process的地址空间和存储空间的对应关系是在程序的执行过程中实现..........
   
这是用户的虚地址的管理,特别的是MM的结构,对于核心的虚地址的管理,是另外一套,ULK2也是分别用第七章和第八章来分别讲的.

论坛徽章:
0
13 [报告]
发表于 2003-07-28 17:31 |只看该作者

LINUX的存储问题

菜菜地问一下   ULK2是哪本书啊? unleased linux kernel 2 ?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
14 [报告]
发表于 2003-07-28 17:53 |只看该作者

LINUX的存储问题

原帖由 "menp9999" 发表:
   
这是用户的虚地址的管理,特别的是MM的结构,对于核心的虚地址的管理,是另外一套,ULK2也是分别用第七章和第八章来分别讲的.
   

对于核心的虚地址的管理,无外乎普及如下一些方面。

请求调页(demanding paging)与内存扩展
页换出策略
内存共享
内存保护策略
动态地址变换

menp9999兄可以针对这几个方面讨论一下。

论坛徽章:
0
15 [报告]
发表于 2003-07-29 08:25 |只看该作者

LINUX的存储问题

[quote]原帖由 "qjlemon"]菜菜地问一下   ULK2是哪本书啊? unleased linux kernel 2 ?[/quote 发表:
     
understanding LINUX KERNEL 第二版

论坛徽章:
0
16 [报告]
发表于 2003-07-29 08:35 |只看该作者

LINUX的存储问题

原帖由 "蓝色键盘" 发表:
   

对于核心的虚地址的管理,无外乎普及如下一些方面。

请求调页(demanding paging)与内存扩展
页换出策略
内存共享
内存保护策略
动态地址变换

menp9999兄可以针对这几个方面讨论一下。
   
X86平台上的LINUX的核心地址空间的管理,其实是基于物理存储的,而不是所谓的虚存,也就是说以物理帧来管理和分配的,尽管机器的实际寻址依然通过页表来转化,但是虚实是线性关系(不考虑高端内存的情况,即896M以上),虚存其实就是物理地址加一个常数,而不是象X86CPU设计的那样通过页表来进行转化的,这么做的目的我猜测是为了简化实虚地址的转换.
总而言之,LINUX FOR X86并没有象我们想想的那么复杂.顺便说一句,LINUX的存储管理是依赖于CPU的体系结构.
关于LINUX的存储管理,大家可以看ULK2,这个讲的比较详细,LINUX对存储系统的管理分为实存(核心)和虚存(进城的用户虚地址,也就是VM)两部分的.
ULK2大家可以在http://www.linuxforum.net里的图书评论里找到.

论坛徽章:
0
17 [报告]
发表于 2003-07-29 08:41 |只看该作者

LINUX的存储问题

http://wadia.xxtax.gov.cn/kernel/ULK2.pdf

论坛徽章:
0
18 [报告]
发表于 2003-07-29 12:03 |只看该作者

LINUX的存储问题

下载中....

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
19 [报告]
发表于 2003-07-29 13:17 |只看该作者

LINUX的存储问题

你说的是high-mem的分配和使用问题。这个是由函数
_ _get_free_pages()完成的。在你的那个资料里,是通过
Permanent kernel mappings和temporary kernel mappings和and noncontiguous memory allocation.
这三个中的某个来完成的。

这个超过1G的使用并不是说明Linux无法访问到>;1G的线性地址,而是说超过1G的空间(也可能不是1G)采用其它的策略来做。之所以这样,是因为为了效率和CPU限制的考虑。

论坛徽章:
0
20 [报告]
发表于 2003-07-29 15:30 |只看该作者

LINUX的存储问题

原帖由 "蓝色键盘" 发表:
你说的是high-mem的分配和使用问题。这个是由函数
_ _get_free_pages()完成的。在你的那个资料里,是通过
Permanent kernel mappings和temporary kernel mappings和and noncontiguous memory allocation.
这三个?.........
   
我说的是直接,呵呵,不能直接,当然不是不可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP