- 6
- 0
- 约1.57千字
- 约 3页
- 2020-11-13 发布于天津
- 举报
统计缺页次数
统计操作系统缺页次数
实验目的
学习虚拟内存的基本原理和 Linux虚拟内存管理技术;
深入理解、掌握 Linux的按需调页过程;
掌握内核模块的概念和操作方法,和向 /proc文件系统中增加文件的方法;
综合运用内存管理、系统调用、 proc文件系统、内核编译的知识。
实验内容
原理
Linux的虚拟内存技术采用按需调页,当 CPU请求一个不在内存中的页面时,会发生缺
页,缺页被定义为一种异常(缺页异常),会触发缺页中断处理流程。每种 CPU结构都提供
一个do_page_fault 处理缺页中断。由于每发生一次缺页都要进入缺页中断服务函数
do_page_fault —次,所以可以认为执行该函数的次数就是系统发生缺页的次数。因此可以 定义一个全局变量 pfcount作为计数变量, 在执行do_page_fault 时,该变量值加1。本实 验通过动态加载模块的方法,利用 /proc文件系统作为中介来获取该值。
实验环境
操作系统:Ubuntu 12.04 (内核版本为 3.2.0-23-generic-pae)
内核源码:linu x-3.2.58
实验指导
1.下载一份内核源代码并解压
Linux受GNU通用公共许可证(GPL )保护,其内核源代码是完全开放的。现在很多 Linux的网站都提供内核代码的下载。推荐使用 Linux的官方网站:。
统计缺页次数图1 Linux的官方网站
在terminal下可以通过wget命令下载源代码:
$ cd /tmp
$ wget
切换到root身份,解压源代码到/usr/src目录下:
xz — linu x-3.2.58.tar.xz
tar -vf linux-3.2.58.tar -C /usr/src
修改内核源代码,添加统计变量
1、 切换到预编译内核目录
#cd /usr/src/li nux-3.2.58
2、 修改处理内存访问异常的代码
//用vi编辑器打开fault.c, 一般使用In tel x86体系结构,则修改 arch/x86/目录下的文件
#vi arch/x86/mm/fault.c
〃在do_page_fault函数的上一行定义统计缺页次数的全局变量 pfcount
un sig ned long volatile pfcount;
//将pfcount加入到do_page_fault中,用以统计缺页次数
pfcoun t++;
3、 修改内存管理代码
//用vi编辑器打开头文件 mm.h
#vi in clude/li nu x/mm.h
〃在mm.h中加入全局变量 pfcount的声明,代码加在 extern int page_cluster;语句之后 exter n un sig ned long volatile pfcount;
4、 导出pfcount全局变量,让整个内核(包括模块)都可以访问。方法是:
#vi kernel/kallsyms.c
//在文件最后加入一行代码
EXPORT_SYMBOL(pfcou nt);
配置编译新内核
用编译Linux内核预备实验中的方法完成新内核的配置、编译、替换,重启后验证是否 完成替换。
#uname - 〃如果为3.2.58 (与你采用的新内核版本一至)说明替换完成
编写读取pfcount值的模块代码
系统重启后,执行如下操作:
#mkdir source 〃在当前用户目录下创建 source文件夹,用于存放编写的用户程序
#cd source 〃切换至U source 目录
#vi pf.c //新建用于构建模块的代码
/*pf.c*/
/*modules program*/
#in clude li nux/ini t.h
您可能关注的文档
- 管理信息系统(mis)简答题与应用题答案整理.docx
- 管理信息系统-实验报告告精品.docx
- 管理会计计算题及答案.docx
- 管理信息系统模拟题及答案(模拟六).docx
- 管理信息系统最终极分析应用题教学提纲.docx
- 管理信息系统模拟题及答案(模拟三).docx
- 管理信息系统期末综合练习(2013年6月).docx
- 管理信息系统课程设计小型自选商场综合管理系统.docx
- 管理制度修改稿0001.docx
- 管理制度完整版0001.docx
- 电力电子技术(第2版):逆变电路PPT教学课件.pptx
- 不抓咬小朋友PPT幼儿园安全教育主题班会课件.pptx
- 老年政策与法规:智慧健康养老服务PPT教学课件.pptx
- 老年政策与法规:老年政策法律法规概述PPT教学课件.pptx
- 电力电子技术(第2版):直流直流变流电路PPT教学课件.pptx
- 2025年度组织生活会个人对照检查材料八篇(五个方面:学习贯彻党的创新理论、加强党性锤炼、联系服务群众、发挥先锋模范作用、改作风树新风).docx
- 党支部2025年度组织生活会班子(六个方面:加强理论武装、执行上级组织决定、严格组织生活、加强党员管理监督等)对照检查材料四篇.docx
- 八篇带头强化政治忠诚、提高政治能力、带头固本培元、增强党性等五个带头2025年度个人对照检查(含反面典型).docx
- 老年政策与法规:养老服务机构PPT教学课件.pptx
- 《汽车维护(大众车型)》中职全套教学课件.pptx
最近下载
- 2026年职业资格房地产经纪人房地产经纪专业基础-房地产经纪职业导论参考题库含答案解析(5卷题有答案.docx VIP
- 部编版道德与法治五年级下册复习资料.pdf VIP
- JCT2559-2020 岩棉外墙外保温系统用粘结、抹面砂浆.pdf VIP
- 外研版(三起)(2024)三年级下册英语Unit 1《Animal friends》教案(共4课时).docx VIP
- 《中华民族共同体概论》第十三讲测试题及答案.docx VIP
- 油田油气集输设计规范宣贯材料PPT.ppt VIP
- 广西桂林市2023-2024学年高一下学期期末质量检测物理试卷(含答案).docx VIP
- 中考数学总复习课件14个专题.ppt VIP
- 气田集输设计规范GB50349-2015知识培训.pptx
- 2025年全面从严治党工作报告 .pdf VIP
原创力文档

文档评论(0)