Linux 内核编程实验报告4.docVIP

  • 1
  • 0
  • 约5.94千字
  • 约 9页
  • 2024-01-21 发布于湖北
  • 举报

Linux内核分析实验报告

?

实验题目:动态模块设计实验

实验目的:学习模块,模块式linux特有的一种机制。模块可以动态地增加内核的功能。编写模块,将它作为linux内核空间的扩展。

硬件环境:内存1G以上

软件环境:Linux(Ubuntu)2-6

实验步骤:

一:实验原理简介:

模块一旦被转载进系统,就会在系统态下运行。如果模块知道系统的数据结构地址,就可以读写相应的数据结构。模块作为一种抽象的数据类型,他有一个可以通过静态内核中断的接口。加入模块的每个新函数必须在该模块被装载到内核时进行注册。如果模块式静态装载的,加入模块的所有函数在内核启动时候进行注册。如果是动态装载的,必须在装载这个模块时候动态注册。注册工作在init_module()中完成,注销工作是在cheanup_module()中完成。

对于模块的使用有两种方式。一种是设备驱动程序,一种是/proc文件。

本实验中要求从当前进程开始,首先追溯到init进程,显示出一路上经历的所有进程的进程号,进程名。然后从init进程开始,遍历所有的进程,显示进程名与进程号。前者主要是用到一个while循环,判断当前进程进程号是否是1,后者主要是用到一个宏定义for_each_process,遍历所有的进程。

二:主要数据结构:

1./proc下的文件(目录)结构:

structproc_dir_en

文档评论(0)

1亿VIP精品文档

相关文档