Lin u x 课程设计报告 学院:信息学院 专业班级:08 级网络二班 姓名: 学号: 【实验目的】 1
通过课程设计对操作系统基本原理进行更深入的认识,以Linux 为具体研究对象,分析理解操作系统底层实现,综合利用已学知识与技术,就Linux 操作系统各功能方面进行模拟或实现 2
了解内核模块结构 3
熟练内核模块编程,练习使用makefile 【实验要求】 编写proc 文件系统相关的内核模块: 设计一个模块,该模块功能是列出系统中所有内核线程的程序名、PID 号和进程状态
再设计一个带参数的模块,参数为进程的PID 号,功能是列出进程的家族信息,包括父进程、兄弟进程和子进程的程序名、PID 号
【实验步骤】 1
编写list
c 模块 2
编写Makefile 3
make 编译模块 4
安装模块su do insmod list
查看系统信息 dmesg 6
退出模块su do rmmod list 7
编写list2
c 模块 8
编写Makefile 9
make 编译模块 10
安装模块su do insmod list2
查看系统信息 dmesg 12
退出模块su do rmmod list2 【代码实现】 1
c #inclu de #inclu de #inclu de #inclu de #include #define METHOD 1 static int list_init(void) { struct task_struct *p; int count; char *method; count = 0; /*下面这些初始化完全是为了消除编译时的警告信息*/ p = NULL; method = NULL; method="for_each_process"; printk( "Th