预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

操作系统课程设计实验报告册班级:学号:姓名:教师:褚华目录实验阐明重要提示实验1系统调用实验2内核模块实验3文献系统实验4设备管理实验阐明实验做为学习重要增进手段,是为了深化对理论理解,锻炼实践动手能力。实验同步也作为考核手段。实验内容会在课程进行中下达,并且会分次地、某些地被抽查。课程结束时,规定把所有实验整顿成一种完整电子文档并上交,做为最后成绩评估根据。如果有兴趣适当题目,也可自己选题目。格式阐明本文档文献名命名为“学号-姓名”,如“13071000_小王”。留白某些局限性自己调节长度,也可加页(增长内容应在表格内)。每次实验报告都要在这个文献中(按照实验顺序依次)增长,而不是每次一种新word文献。本文档保存为doc格式(请勿用Worddocx格式)。重要提示:实验正文建议使用小四号或五号宋体。若附加图形,则请直接嵌入到实验手册相应位置。各实验源程序,请按实验分目录存储,如第一种实验源程序存储在目录lab1下,第二个实验源程序存储在目录lab2下等等,依次类推。可互相讨论,但禁止抄袭网络或同窗实验成果。实验编号1题目系统调用实验目为Linux内核增长一种系统调用,并编写顾客进程程序来测试规定该系统调用可以完毕如下功能:1.该系统调用有1个int型参数,返回值为int。2.若参数为偶数,则输出自己学号后四位3.若参数为奇数,则输出自己学号后五位实验内容1.系统调用实现2.增长系统调用3.Linux内核构建报告内容规定(1)实现办法和思路(2)测试及成果报告正文要给linux增长系统调用,可以用修改内核源码并重新编译办法实现一:基本过程是在系统调用表文献中给要增长一种系统调用名字在系统调用号文献中给要新增系统调用分派一种系统调用号增长系统调用声明添加系统调用实现重新编译内核编写测试驱动函数,测试系统调用与否添加成功一:在系统调用表文献中增长系统调用名字二:在系统调用号文献中给要新增系统调用分派一种系统调用号三:增长系统调用声明四:添加系统调用实现要为linux内核增长系统调用,一方面必要要实现系统内核调用也就是提供功能一种函数依照题目规定,当给改系统调用传递int参数为奇数时输出自己学号后五位,当系统调用接受参数为偶数时,输出自己学号后四位因此,系统调用实现如下可以看到系统调用实现同基本C语言没多大差别,只是能使用库不同样在linux内核中代码不能使用原则C库,只能使用内核提供库因此能调用函数会有不同最后实当代码如下当参数num为偶数时输出2257也就是学号后四位当参数为奇数时输出12257也就是学号后四位可以看到输出函数式printk而不是printf,由于在内核中不能使用原则C函数五:编译内核六:测试系统调用测试驱动函数如下测试输出如下由于在系统调用实现时忘掉在末尾加换行符了。。因此输出两个是在一行也就是2257和12257,但是可以看到系统调用时实现了。实验编号2题目内核模块实验目学习linux内核模块编写及加载办法理解linux内核模块机制实验内容编写linux内核模块并测试编写可以带参数linux内核模块并测试使用内核模块办法为linux增长系统调用用内核模块办法完毕实验1内报告内容规定(1)实现办法和思路(2)测试及成果报告正文实验内容:编写一种内核模块;编译该模块;加载、卸载该模块;实验环节:新建模块目录用编辑器(vi)编辑源文献分析:模块入口函数为hello_init(),由module_init()宏指定,在模块被加载时候被调用向系统注册。入口函数返回值:0表达到功,非0表达失败。模块退出函数为hello_exit(),由module_exit()宏指定,在模块被卸载时被调用向系统注销,重要来完毕资源清理工作。它被调用完毕后,就模块就被内核清除了。一种模块至少需要有入口和退出函数。2.4内核后,引入辨认代码与否在GPL允许下发布机制。在使用非公开源代码产品时会得到警告。通过宏MODULE_LICENSE(“GPL”),设立模块遵守GPL证书,取消警告信息。宏MODULE_DESCRIPTION()用来描述模块用途。宏MODULE_AUTHOR()用来声明模块作者。宏MODULE_SUPPORTED_DEVICE()声明模块支持设备。这些宏都在头文献linux/module.h定义,使用这些宏只是用来提供辨认信息。用编辑器编辑Makefile编译模块加载删除模块dmesg输出信息带参数模块传入参数输出成果内容二:用内核模块方式为系统添加一种系统调用为Linux内核增长一种系统调用,并编写顾客进程程序来测试。规定该系统调用够完毕如下功能:1.该系统调用有1个int型参数,返回值为int。2.若参数为偶数,则输出自己学号后四位3.若参数为奇数,则输出自己学号后五位基本思路就是通过修改系统调用参数表所在内存地址并