操作系统实验一 添加内核模块
添加内核模块
//注意自己的系统的版本,我用的14版的ubuntu
kello.c
//-----------------------------------------------------------------
//kello.c.:演示了一个最简单的内核模块框架:只有初始化和撤销函数。
// 注意 printk函数
// 按如下步骤操作:
// 编译命令: $ make kello 或者 $ make
// 安装命令: $ sudo insmod kello.ko
// 内核日志信息显示命令: $ dmesg
// 撤销命令: $ sudo rmmod kello
//programmer: sdustos
//-----------------------------------------------------------------#include <linux/module.h> // for printk()int kello_init( void )
{printk( "\n Hello, students from SDUST! This is in kernel space! \n" );return 0;
}void kello_exit( void )
{printk( "\n Goodbye now... students from SDUST! \n" ); }MODULE_AUTHOR("SDUSTOS <fangs99@126.com>");
MODULE_LICENSE("GPL");
module_init(kello_init);
module_exit(kello_exit);
Makefile
ifneq ($(KERNELRELEASE),)
obj-m := kello.o else
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules rm -r -f .tmp_versions *.mod.c .*.cmd *.o *.symvers endif
操作系统实验一 添加内核模块相关推荐
- 操作系统实验:添加系统调用修改主机名(hostname)
实验环境配置 Ubuntu18.04.5,Linux内核:5.9.6,VMware Workstation Pro,内存:4G,CPU:4x1=4核,外存:128G. ubuntu安装.内核源码下载及 ...
- 操作系统实验:Linux内核模块编程
实验内容 (1)设计一个模块,要求列出系统中所有内核线程的程序名.PID.进程状态.进程优先级.父进程的PID. (2)设计一个带参数的模块,其参数为某个进程的PID号,模块的功能是列出该进程的家族信 ...
- 杭电操作系统实验二 --- Linux 内核模块编程(arm架构华为云)
一.题目介绍 掌握Linux 内核模块的基本概念 ·阅读教材7.3.2节Linux内核模块简介 ,网上查找资料,了解Linux内核模块的基本概念. ·阅读教材7.3.3内核模块编程基础 ,网上查找资料 ...
- 杭电操作系统实验二---linux内核模块编译(完整实验报告)
一 题目介绍 题目内容: (1)当模块被载入内核时会向系统日志文件中写入"hello,world":当被卸载时,会向系统写入"goodbye". (2)设计一个 ...
- 实验一 添加最简单的Linux内核模块kello
实验一 添加最简单的Linux内核模块kello 目录 实验一 添加最简单的Linux内核模块kello 实验环境 一.实验目的 二.实验内容 三.实验步骤 四.实验总结 实验环境 操作系统版本:ub ...
- 西电软工操作系统实验:编译Ubuntu18.04新内核并添加系统调用(含代码以及详细分析)
西电软工操作系统实验一:编译Linux内核 目录 (一)前言 (二)实验内容 (三)实验环境 (四)实验过程 4.1安装虚拟机 4.2虚拟机换源 4.3 添加系统调用内核 4.4 下载编译所需的软件依 ...
- HDU操作系统 实验1.2·1.3——设计和添加Linux系统调用
实验介绍 上篇文章已经介绍了Linux内核的编译与安装,我们已经掌握了Linux系统内核的编译和启用.接下来,我们将学习掌握如何添加Linux的系统调用,学习掌握测试Linux系统调用. 什么是系统调 ...
- 杭电操作系统实验一----Linux内核编译及添加系统调用(完整实验报告)
一 题目介绍 Linux是开源操作系统.在系统中根据需要添加新的系统调用是修改内核的一种常用手段,通过本次实验,我们可以理解Linux系统处理系统调用的流程以及增加系统调用的方法.Linux系统提供了 ...
- 操作系统实验以及课程设计
趁没人,当个小白来偷偷摸摸补一下操作系统的课程,羞 反正操作系统断断续续的看了一点了,主要是偏linux的.FreeBSD的实现,操作系统概念,30天自制操作系统等.Linux的话命令用的还行,没有很 ...
最新文章
- python爬虫教程视频-python爬虫(入门教程、视频教程)
- MATLAB基本操作(一):MATLAB中变量的文件存储
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第10篇]RSA和强RSA问题有什么区别
- sql虚拟服务器安装,安装SQL Server 2012服务器
- Bailian3251 最少费用【递归】
- 类__slots__与__dict__用法
- Flexbox 布局教程
- 10 分钟上手 Vim 编辑器,常用命令大盘点!
- 预测算法模型(灰色预测和BP神经网络)
- HTML5中thead标签,【HTML5】table标签中thead、tbody、tfoot的作用
- 某课的flask视频 速取
- 我和知乎零成本卖货百万的创业者聊了聊
- Redis实战篇一 (短信登录)
- TM1637数码管显示 HAL库
- int,long,long long等类型的范围
- c51中断优先级c语言,基于proteus的51单片机开发实例(14)中断嵌套和中断优先级...
- 关于wifi打印服务器方案和USB共享打印机模块工作原理
- iOS简易蓝牙对战五子棋游戏设计思路之二——核心棋盘逻辑与胜负判定算法
- 短信发送流程:系统短信(SMS)发送流程
- 计算机应用目录怎么生成,自动生成目录怎么弄-excel超链接应用:快速生成目录的几个方法-下...
热门文章
- 如何压缩GIF/GIF压缩软件教程方法全面解析
- Scala进阶_函数式编程(过滤丶排序丶分组丶聚合)
- 仓库管理系统的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 1450F The Struggling Contestant(贪心+思维)
- 九宫格构图学习[1]
- 如何快速不借用转换工具将FLV格式视频转换成MP4
- YOLOV5源码解读(数据集加载和增强)
- 【稳定性day14】支付宝技术风险体系TRaaS——把风险去服务化、产品化
- SharePoint 2010 电子书下载网站推荐
- invalid byte 1 of 1-byte UTF-8 sequence