收藏 分销(赏)

实验六系统缺页次数统计实验.doc

上传人:天**** 文档编号:4321051 上传时间:2024-09-06 格式:DOC 页数:2 大小:80.50KB
下载 相关 举报
实验六系统缺页次数统计实验.doc_第1页
第1页 / 共2页
实验六系统缺页次数统计实验.doc_第2页
第2页 / 共2页
本文档共2页,全文阅读请下载到手机保存,查看更方便
资源描述
实验6 系统缺页次数统计实验 1.实验目的 u 理解内存管理中缺页的概念 u 综合运用实验1, 实验4, 实验5中/proc文件系统、内存管理、系统调用、内核编译的知识 u 掌握向/proc文件系统中增加文件的方法 u 掌握Linux内核模块的概念和操作方法 2.实验内容(上交的实验2统一取名为:test2) 通过在内核中自建变量并利用/proc文件系统作为中介的方法来统计系统缺页次数 3. 设计思想及算法流程 缺页次数 : 虚拟内存技术的应用使得进程线性地址空间里的页面不必常驻内存。当CPU请求一个不在内存中的页面时,会发生缺页,比如我们从内存读取/写入数据,而数据未在内存,此时都会发生缺页。缺页被定义为一种异常(缺页异常),会触发缺页中断处理流程。 每种CPU结构提供一个do_page_fault处理缺页中断。由于每发生一次缺页都要进入缺页中断服务函数do_page_fault一次,所以统计该函数被调用的次数就可以得到系统从开机到现在的缺页次数。 /proc文件系统 : /proc文件系统的文件记录了当前所有的系统信息,包括进程、文件系统、硬件等等。因此,可以通过在/proc中添加一个文件的方式,查看内存进程中的一些自定义运行参数,从而达到使用/proc实现内核与用户空间通信的目的。 在do_page_fault函数上一行定义统计缺页次数全局变量pfcount unsigned long volatile pfcount; 将pfcount加入到do_page_fault中,用以统计缺页次数. pfcount++; 声明全局变量pfcount到头文件mm.h中 extern unsigned long volatile pfcount; 导出pfcount全局变量,让整个内核都可以访问 EXPORT_SYMBOL(pfcount); 4. 源程序 /*内核模块代码*/ #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/mm.h> #include <linux/proc_fs.h> #include <linux/string.h> #include <asm/uaccess.h> struct proc_dir_entry *proc_pf; struct proc_dir_entry *proc_pfcount; extern unsigned long volatile pfcount; static inline struct proc_dir_entry *proc_pf_create(const char* name, mode_t mode, read_proc_t *get_info) { return create_proc_read_entry(name, mode, proc_pf, get_info, NULL); } int get_pfcount(char *buffer, char **start, off_t offset, int length, int *peof, void *data) { int len = 0; len = sprintf(buffer, "%ld \n", pfcount); return len; } static int pf_init(void) { proc_pf = proc_mkdir("pf", 0); proc_pf_create("pfcount", 0, get_pfcount); return 0; } static void pf_exit(void) { remove_proc_entry("pfcount", proc_pf); remove_proc_entry("pf", 0); } module_init(pf_init); module_exit(pf_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Aron.t.wang"); 5.运行结果 N
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服