文件名称: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
1999-2046 搜珍网 All Rights Reserved.
本站作为网络服务提供者,仅为网络服务对象提供信息存储空间,仅对用户上载内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
