· [Java论坛][安全论坛][数据库论坛][操作系统论坛]
· [专题] IBM Rational高峰论坛 Windows 7十大功能
· [专题] 史上就危险7月 微软 BizSpark 计划介绍
· [IT技术周刊][IT资源下载专区][病毒求助专区]
· [热点] 我也能做CTO_赛迪连载 赛迪七夕特别行动
· [热点] Chrome 4.0采用V8引擎 Java开发编程规范

新手看招 Linux系统的内存管理技巧总结

发布时间:2007.07.27 06:28     来源:赛迪网    作者:sixth

1 mem_map[PAGING_PAGES]数组为什么不直接从主存储区开始记录,而从1M开始记录,然后又把1M到主存储区之间的内容置为100

2 mem_map[i]在那些时候会大于1:同一物理页面被n个(n>1)线性地址共享,如copy_page_table()会影响这里的值

3 哪些地方需要执行刷新页变换缓冲(invalidate()函数实现):

3.1 free_page_tables()

3.2 copy_page_tables()

3.3 un_wp_page()

3.4 try_to_share()

改变页目录项活页表项

4 写时复制的相关函数

4.1 copy_page_tables():负责把原始和新的页目录项和页表项都设置为只读

4.2 do_wp_page():页写保护处理函数

4.3 un_wp_page():判断页面是否被共享,若没有共享,则把页面设置为可写,然后退出,若共享,则需要重新申请一新页面并复制被写页面的内容,以供写进程单独使用共享被取消

5 COPY_SPACE(addr)不理解

6 在free_page_table()函数中,若addr(物理地址)所在的页面由n个(n>=2)线性地址共享(copy_page_table函数可以让一个物理页面被多个线性地址共享),那么在释放addr所在页面时,执行mem_map[addr]--(mm/memory.c Line 96)语句后,并不能让mem_map[addr]的值变为0,而是变为n-1,这并不代表该物理页面已被释放,是不是应该改为mem_map [addr] = 0(mm/memory.c Line 96)呢?还是我那里想错了。

7 取线性地址addr所对应页目录项的物理地址

dir = (unsigned long*)((addr>>20)&0xffc)

说明:首先,addr>>22得出对应页目录项在页目录表中的项号,即表内偏移,因为页目录表的起始地址为物理地址0,而每项大小为4byte,所以,实际物理地址为addr>>20,又因为只右移了20位,最后两位是页表项的内容,所以和0xffc相与把最后两位屏蔽掉,得出最终结果

8 取线性地址addr所对应页表项的物理地址

table = ((unsigned long*)(((address >> 0) & oxffc) + (0xfffff000 & *((unsigned long*)((address>>20 & 0xffc)))))

即,偏移+基址,参考7

其中有些问题还没有解决,若发现文中有错,或提出相关建议,发送到: xuyufei13@gmail.com

(内核源代码版本为0.11)

(责任编辑:云子)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Linux系统下常用的FTP Server (07-26) · 什么是FTP服务器? (07-26)
· 安装:SuSE Linux FTP版安装指南 (07-26) · “飞行”教程 让使用Apache的网站速度更快 (07-26)
· Linux攻略 关于RPM软件包使用方法的介绍 (07-26) · 大事记 Linux操作系统的历史及其发展状况 (07-26)
· 新手学堂 Linux系统常用命令及账户管理 (07-26) · 新手看招 Linux网络基本网络配置方法介绍 (07-26)
· Ghost程序参数四则 系统备份与恢复技巧 (07-25) · 从USB移动硬盘上引导Portable Linux详解 (07-25)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
资讯 通信 IT产品 IT技术 信息化
专题:扭亏为盈 联想09年Q2翻番
·专题:Tech·Ed 2009微..
·直播:2009互联网大会..
·迅雷搜狐"互搏" 谁动了..
专题:诺基亚危局已现 或重蹈摩托覆辙
·六股势力角逐4G标准 中..
·专题:联通iPhone并不贵..
·专题:排排坐开商店 三..
商务演示需求分析 多媒体会议室必备投影
·VMware在京隆重举行2009..
·专题:笔记本频道10月热..
·专题:学生机市场 惠普 ..
专题:Tech.Ed 2009微软技术大会
·专题:2009 SYBASE 亚太..
·专题:微软新一代桌面操..
·专题:2009年第3届CSDN..