Linux内核模块实践:进程管理与模块开发
需积分: 0 156 浏览量
更新于2024-08-03
收藏 1.34MB DOCX 举报
本资源是一份《操作系统》课程设计文档,由学生李斯文于2023年秋季学期完成,隶属于计算机与信息工程学院计算机科学与技术2021级5班。实验内容分为两个部分:一是编写一个简单的内核模块,用于显示系统进程列表,通过这个模块了解用户空间和内核空间的关系;二是创建一个名为"process"的模块,用于遍历和打印系统进程信息。
实验一的目标是实现模块加载时的进程信息报告,具体步骤包括:
1. 编写hello模块:
- 创建`hello.c`源代码文件,编写打印"Hello, World!"的简单程序。
- 更新Makefile,设置编译规则和模块名。
- 使用`make`命令编译模块,然后通过`insmod hello.ko`加载模块。
- 通过`dmesg`命令查看模块加载后的输出,确认模块工作正常。
2. 扩展模块功能,遍历进程描述符:
- 创建`process.c`文件,实现模块的进程遍历功能。
- 在Makefile中配置,编译并加载新的`process.ko`模块。
- 使用`dmesg`命令观察模块运行后,系统进程列表的更新情况。
- 完成后,通过`rmmod process`卸载模块,并再次确认其已成功卸载。
整个实验过程中,学生不仅锻炼了编程技能,还深入理解了操作系统中的内核模块、用户空间和内核空间交互,以及模块管理的基本流程。通过这些实践操作,学生对操作系统原理有了更直观的认识,提升了实际操作能力。
888 浏览量
207 浏览量
606 浏览量
220 浏览量
2024-01-22 上传
1242 浏览量
2022-06-12 上传
1182 浏览量
久念念.
- 粉丝: 0
- 资源: 1
最新资源
- 软件体系结构 系统分析师 系统架构师
- 微内核工作流引擎体系结构与部分解决方案参考
- svn tortoise
- C#教程 基于pdf格式
- j2ee中文指南(安全,事物,ejb等)
- PC与三菱FX2N型PLC串口通信的实现
- S3C2410完全开发流程
- flex程序员杂志,国内唯一的flex专业杂志,里面包含很多精华帖子
- 详细图解说明多普达S1 手机永久解锁刷机
- jquery入门教程
- ActionScript 3.0 Cookbook 中文完整版
- c#2003水晶报表总结,讲的很细很全面。
- 软件工程思想 讲述“软件开发”和“做程序员”的道理
- Microsoft Visual Studio .NET 使用技巧手册
- 08年下半年网络工程师考试题(下午).pdf
- dot Net Mobile