《虚拟存储管理》word版

《虚拟存储管理》word版

ID:23003841

大小:474.00 KB

页数:15页

时间:2018-11-02

《虚拟存储管理》word版_第1页
《虚拟存储管理》word版_第2页
《虚拟存储管理》word版_第3页
《虚拟存储管理》word版_第4页
《虚拟存储管理》word版_第5页
资源描述:

《《虚拟存储管理》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、北航计算机学院《Linux操作系统实验二》—虚拟存储管理32060624Linux实验小组《Linux操作系统实验二》:虚拟存储实验文档32060624linux实验小组2005年5月15日星期五32060624王克(组长)32060518杜可斌32060532徐瑞32060621张劲目录一,实验目的2二,实验实现过程21.内核函数pedagogictime的实现21.1实验理论准备21.2具体实现及其源码21.3实验改进和实验心得72.pedagogictime测试函数的实现72.1实验理论准备72.3测试用例及测试结果82.4实验改进和实验心得83.缺页用户函

2、数pgfault的实现83.1实验理论准备83.2具体实现及其源码(附详细注释)93.3实验测试143.4实验心得15三.实验的总结15四.实验小组成员感受15l32060624王克15l32060518杜可斌15l32060532徐瑞16l32060621张劲16五.参考资料16ITRunner@cse.buaa.edu.cn7/6/2021Page15of15北航计算机学院《Linux操作系统实验二》—虚拟存储管理32060624Linux实验小组一,实验目的学习Linux如何实现虚拟存储。与体系结构无关的通用存储模型是所有Linux虚拟存储实现的基础,但是任

3、何特定的实现都依赖于特定的硬件平台。本实验集中于i386的实现。我们进行该次试验主要为了达到以下目的:1.学习存储管理程序的设计及其代码编写细节2.修改虚拟存储代码以检测系统缺页错误的发生频率3.学习Linux系统调用的相关知识,包括学习如何产生一个系统调用以及怎样通过往内核中增加一个新函数从而在内核空间中实现对用户空间的读/写。二,实验实现过程1.内核函数pedagogictime的实现1.1实验理论准备1)参考kernel/time.c的sys_gettimeofday2)学习编制自己的系统调用的方法3)学习_syscallN()的定义及其使用1.2具体实现及

4、其源码1)编写内核函数pedagogictimea)编辑sys.c文件#cd/usr/src/linux-2.6.11.2/kernel#visys.cb)在文件最后添加内核函数pedagogictime:asmlinkageintsys_pedagogictime(structtimeval*tv){If(tv){Structtimevalktv;Do_gettimeofday(&ktv);If(copy_to_user(tv,&ktv,sizeof(ktv)))Return–EFAULT;}Return0;}附例图:ITRunner@cse.buaa.edu.

5、cn7/6/2021Page15of15北航计算机学院《Linux操作系统实验二》—虚拟存储管理32060624Linux实验小组2)修改与系统调用号相关的文件 #cd/usr/src/linux-2.6.11.2/arch/i386/kernel#vientry.s 在最后的两行增加了:.longsys_pedagogictime.longsys_mycall由于我们使用的2.6.11.2最新的linux内核,所以它的入口表的形式与书上的有所不同。附图:ITRunner@cse.buaa.edu.cn7/6/2021Page15of15北航计算机学院《Linux

6、操作系统实验二》—虚拟存储管理32060624Linux实验小组修改相应的头文件:#cd/usr/include/asm-i386#viunistd.h在最后一行增加:#define__NR__mycall290#define__NR__pedagogictime附图:3)编译Linux新内核ITRunner@cse.buaa.edu.cn7/6/2021Page15of15北航计算机学院《Linux操作系统实验二》—虚拟存储管理32060624Linux实验小组#cd/usr/src/linux-2.6.11.2#makemrproper//删除源代码中残留的.

7、o文件和其他从属文件#cd/usr/src/linux-2.6.11.2#makemenuconfig//配置内核,我们选择了高级电源管理ICPI//还将CPU选择了P4赛扬#cd/usr/src/linux-2.6.11.2#makedep//建立编译时所需的从属文件#makebzImage//编译内核,生成压缩内核映像#makemodules#makemodules_install//编译可加载模块编译附图:4)启动新内核#cp/usr/src/linux-2.6.11.2/arch/i386/boot/bzImage/boot/bzImage-2.6.11#

8、cp/us

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。