章添加最简单Linux内核模块.pptx
《章添加最简单Linux内核模块.pptx》由会员分享,可在线阅读,更多相关《章添加最简单Linux内核模块.pptx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、熟练掌握基本的Linux内核模块开发框架和编译方法。熟练掌握Linux内核模块添加流程。理解Linux内核模块代码中的一些常见宏和参数。掌握Linux内核模块程序和应用程序的差异。深入理解操作系统为用户提供服务的方式、方法深入理解计算机程序的运行方式本章目标第1页/共16页实验1:添加一个简单的Linux内核模块(教材P.162)第12章 添加最简单的Linux内核模块第2页/共16页实验内容1.从教材提供的电子资源中找到或者按教材提示自己编写简单的Linux内核模块kello.c及其对应的Makefile文件2.编译、安装、删除该模块,查看该模块的安装位置、运行情况实验1:添加一个简单的Li
2、nux内核模块第3页/共16页实验要求1.通过阅读、执行kello.c及其对应的Makefile文件,理解Linux内核模块LKM的基本框架和运行方式、原理。2.对比kello.c和应用程序hello.c在编写、运行过程中的差异,理解操作系统为用户提供服务的方式、方法。3.结合操作系统知识,通过实验深入理解计算机程序在操作系统支持下的运行方式。实验1:添加一个简单的Linux内核模块第4页/共16页原理/背景用户态和内核态LKM基本框架、关键代码实验1:添加一个简单的Linux内核模块第5页/共16页实验1 添加一个简单的Linux内核模块实验背景和原理用户态与内核态应用程序调用操作系统服务完
3、成特定功能操作系统为应用程序提供服务应用程序工作在用户空间,为用户态操作系统模块工作在内核空间,为内核态C/C+应用程序的运行机制第6页/共16页实验1 添加一个简单的Linux内核模块实验背景和原理Linux内核模块LKM(Linux Kernel Module)Linux是单内核多模块的操作系统两种开发内核模块的方法静态开发LKMLKM具有如下特点:主要使用C语言编程,但也可以使用内联的汇编代码;LKM工作在内核空间,可以不受约束的运行,因此在一个LKM内部读者可以访问对应用程序屏蔽的内核数据结构、硬件设备等;LKM可以通过proc伪文件系统、内存映射、特定的系统调用函数等不同的机制实现内
4、核空间和用户空间的数据交换。这些机制将在后续章节陆续讲到。第7页/共16页实验1 添加最简单的Linux内核模块实验背景和原理1.LKM代码框架(教材P.157)/kello.c#include/for printk()int kello_init(void)printk(n Hello,students from SDUST!This is in kernel space!n);return0;void kello_exit(void)printk(n Goodbye now.students from SDUST!n);MODULE_AUTHOR(SDUSTOS);MODULE_LICEN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 添加 简单 Linux 内核 模块
限制150内