西电软院操作系统课程设计报告样本
操作系统课程设计
实验报告册
班级:
学号:
姓名:
教师: 褚华
目录
实验说明
重要提示
实验1 系统调用
实验2 内核模块
实验3 文件系统
实验4 设备管理
实验说明
1.实验做为学习的重要促进手段, 是为了深化对理论的理解, 锻炼实践动手能力。
2.实验同时也作为考核的手段。
3.实验内容会在课程进行中下达, 而且会分次地、部分地被抽查。
4.课程结束时, 要求把所有的实验整理成一个完整的电子文档并上交, 做为最后成绩的评定依据。
5.如果有兴趣的合适的题目, 也可自己选题目。
格式说明
1.本文档文件名命名为”学号-姓名”, 如”13071000_小王”。
2.留白部分不足的自己调整长度, 也可加页( 增加内容应在表格内) 。
3.每次的实验报告都要在这个文件中( 按照实验次序依次) 增加, 而不是每次一个新的word文件。
4.本文档保存为doc格式( 请勿用Word 的docx格式) 。
重要提示:
1.实验正文建议使用小四号或五号宋体。
2.若附加图形, 则请直接嵌入到实验手册相应位置。
3.各实验的源程序, 请按实验分目录存放, 如第一个实验的源程序存放在目录lab1下, 第二个实验的源程序存放在目录lab2下等等, 依次类推。
可互相讨论, 但严禁抄袭网络或同学的实验结果。
要给linux增加系统调用, 能够用修改内核源码并重新编译的方法实现一: 基本过程是
1.在系统调用表文件中给要增加的一个系统调用的名字
2.在系统调用号文件中给要新增的系统调用分配一个系统调用号
3.增加系统调用声明
4.添加系统调用的实现
5.重新编译内核
6.编写测试驱动函数, 测试系统调用是否添加成功
一: 在系统调用表文件中增加系统调用的名字
二: 在系统调用号文件中给要新增的系统调用分配一个系统调用号
三: 增加系统调用声明
四: 添加系统调用的实现
要为linux内核增加系统调用, 首先必须要实现系统的内核调用
也就是提供功能的一个函数
根据题目要求, 当给改系统调用传递int参数为奇数时输出自己学号的后五位, 当系统调用接受的参数为偶数时, 输出自己学号的后四位
因此, 系统调用的实现如下
能够看到系统调用的实现同基本的C语言没多大差别, 只是能使用的库不一样
在linux内核中的代码不能使用标准C库, 只能使用内核提供的库
因此能调用的函数会有不同
最后实现代码如下
当参数num为偶数时输出2257也就是学号的后四位
当参数为奇数时输出12257也就是学号的后四位
能够看到输出函数式printk而不是printf, 因为在内核中不能使用标准C函数
五: 编译内核
六: 测试系统调用
测试驱动函数如下