文件名称:VMA
-
所属分类:
- 标签属性:
- 上传时间:2015-03-23
-
文件大小:447.88kb
-
已下载:0次
-
提 供 者:
-
相关连接:无下载说明:别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容来自于网络,使用问题请自行百度
虚拟内存管理实验。
在Linux环境下编写一个内核模块,分别实现如下几个函数:
static void mtest_dump_vma_list(void):依次列出当前进程所占用的虚拟内存空间各段的读、写或执行权限。
static void mtest_find_vma(unsigned long addr):查找出虚拟地址addr所在的vma,并通过printk打印该段的起始地址、终止地址和段标志等信息。
static void mtest_find_page(unsigned long addr):找到虚拟地址addr对应的物理地址并打印。
为了测试和使用以上函数,需要在内核模块的初始化函数中创建一个名为mtest的/proc文件。mtest文件绑定的写函数mtest_write允许用户程序写入一串字符串:
如果写入的字符串是listvma则调用函数mtest_dump_vma_list(void);
如果写入的字符串是findvma0xffffffff则调用函数mtest_find_vma(0xffffffff),字符串的后几个字符是传递给函数的参数;
如果写入的字符串是findpage0xffffffff则调用函数mtest_find_page(0xffffffff),同样字符串的后几个字符是参数。-Virtual memory management
在Linux环境下编写一个内核模块,分别实现如下几个函数:
static void mtest_dump_vma_list(void):依次列出当前进程所占用的虚拟内存空间各段的读、写或执行权限。
static void mtest_find_vma(unsigned long addr):查找出虚拟地址addr所在的vma,并通过printk打印该段的起始地址、终止地址和段标志等信息。
static void mtest_find_page(unsigned long addr):找到虚拟地址addr对应的物理地址并打印。
为了测试和使用以上函数,需要在内核模块的初始化函数中创建一个名为mtest的/proc文件。mtest文件绑定的写函数mtest_write允许用户程序写入一串字符串:
如果写入的字符串是listvma则调用函数mtest_dump_vma_list(void);
如果写入的字符串是findvma0xffffffff则调用函数mtest_find_vma(0xffffffff),字符串的后几个字符是传递给函数的参数;
如果写入的字符串是findpage0xffffffff则调用函数mtest_find_page(0xffffffff),同样字符串的后几个字符是参数。-Virtual memory management
(系统自动生成,下载前可以参看下载内容)
下载文件列表
VMA/2011操作系统大作业报告.doc
VMA/Debug/vc60.idb
VMA/Debug/vc60.pdb
VMA/Makefile
VMA/test.c
VMA/vitural.c
VMA/Debug
VMA
VMA/Debug/vc60.idb
VMA/Debug/vc60.pdb
VMA/Makefile
VMA/test.c
VMA/vitural.c
VMA/Debug
VMA
本网站为编程资源及源代码搜集、介绍的搜索网站,版权归原作者所有! 粤ICP备11031372号
1999-2046 搜珍网 All Rights Reserved.