linux系统增加系统调用,给Linux内核增加一个系统调用_weixin_39527372的博客-程序员宅基地

技术标签: linux系统增加系统调用  

仅作记录,小白萌新,大佬勿喷

1.修改系统调用表文件

系统调用表在内核目录 /arch/x86/entry/syscalls/syscall_64.tbl

对不同版本位置可能不一样

添加自己的系统调用号

54a86bc95bc9

2.声明系统调用服务例程

编辑 内核目录/include/linux/syscalls.h

添加函数声明

54a86bc95bc9

3.实现函数

编辑内核目录/kernel/下的sys.c文件,实现函数

54a86bc95bc9

需要添加一个头文件

54a86bc95bc9

要求学号是偶数返回后六位,奇数返回后五位

4.编译和安装内核sudo make mrproper

sudo make clean

sudo make menuconfig

sudo make -j8

sudo makemodules_install

sudo make install

5.使用新内核启动,进行测试

54a86bc95bc9

测试代码

54a86bc95bc9

运行结果

符合实验要求

6.出现的错误及解决方案

6.1

54a86bc95bc9

编译内核时出现错误

修改menuconfig中的设置

54a86bc95bc9

选择kernel hacking

54a86bc95bc9

选择compile-time checks and compiler options

在 warn for stack frame larger than  将1024修改为4096

6.2

54a86bc95bc9

这个要注意函数声明,系统调用号,函数实现相关的内容要一一对应

6.3

如果重新编译需要执行sudo make mrproper

sudo make clean

清除之前编译的文件,不然编译可能会报错

7.参考资料

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39527372/article/details/116611214

智能推荐

Oracle 报 “ORA-00054 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效” 问题的解决方法_湘凪的博客-程序员宅基地_ora-00054

Oracle 报 “ORA-00054 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效” 问题的解决方法1 原因一般在用户修改记录之前,悲观锁就会发生作用,比如更新语句:select …for update执行这条命令之后,oracle 将会对返回集中的数据建立行级封锁,以防止其他用户修改这些记录。这时如果对这张表进行 ddl 操作将就会报 ORA-00054 错误。一张表如果加了表级锁,那么就不允许对该表进行任何的 ddl 操作,否则也会报 ora-00054 错误。

关于年长程序员的5个误传_娜迦T的博客-程序员宅基地

1:前言 如果你想看,那请看到最后,或许对你有一点点的帮助。不论年龄,让我们共勉!PS:原文域名和标题都很有意思http://www.lessonsoffailure.com/Humans + Software Development = Always Interesting2:原文 英文原文:Five Pervasive Myths About Older S

现在正在进行性能测试,需要80个并发,每5秒增加2个并发,当增加到80个并发,80个并发跑三分钟,使用什么插件设置?_wuhuhuan的博客-程序员宅基地

场景如下:需要80个并发,每5秒增加2个并发,当增加到80个并发,80个并发跑三分钟,使用什么插件设置?步骤如下:1、新建线程组2、线程组数设置为80,ramp-up 时间设置为200,循环次数勾选永远,勾选调度器,持续时长设置为380,启动延迟设置为0(为啥要设置为持续时长为380:200+180(3分钟)=380为啥ramp-up 时间设置为200:200/80=2.5 ...

给MD5加上salt随机盐值加密算法实现密码安全的php实现_weixin_30569153的博客-程序员宅基地

给MD5加上salt随机盐值加密算法实现密码安全的php实现如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码。加上salt后就会难上很多可以一定程度上解决问题,即便是黑客获得了其中的salt和最终密文,破解也是相当麻烦的。PS:一般都是加密后的数据再存入到数据库的,安全的数据是不可逆的,即数据库里面的数据即使你...

邻近 算法 理论_mllhxn的博客-程序员宅基地

K近邻模型由三个基本要素组成: 距离度量; k值的选择; 分类决策规则K近邻算法的核心在于找到实例点的邻居。 估算不同样本之间的相似性(SimilarityMeasurement)通常采用的方法就是计算样本间的“距离”(Distance),相似性度量方法有:欧氏距离、余弦夹角、曼哈顿距离、切比雪夫距离等。 欧氏距离 欧氏距离(EuclideanDistance)是最易于理解的一种距离计算

知识点扫盲:二叉树之哈夫曼树_聪明的小k的博客-程序员宅基地_二叉树和哈夫曼树

说起曼哈顿,我脑子闪过的念头就是:那位大佬不是搞原子弹的嘛?这个树跟他是怎么关系的说?是他发现的嘛?带着这些问题我细品了一会。。。嗯,原来是哈夫曼,这就说通了。哈夫曼树是由麻省理工学院的哈夫曼博士于1952年发明的。这颗树到底是什么树呢?我们来一起了解一下。要认识哈夫曼树,首先需要知道几个知识点:1.什么是路径如上图所示,其中A,B,D,H就是一条路径2.什么是路径长度...

随便推点

Introduction to CESM [Reprint]_iteye_12309的博客-程序员宅基地

This article comes from : http://websrv.cs.umt.edu/isis/index.php/Introduction_to_CESM Introduction to CESMFrom Interactive System for Ice sheet SimulationJump to: navigation, search...

每天一套题打卡|河南省第十一届ACM/ICPC_weixin_30790841的博客-程序员宅基地

A 计划日题意:已知李明在YYYY年MM月DD日星期W订了学习计划,现在想看看李明N天后的完成情况和个人总结,你能告诉我那天的日期和星期几吗?模拟日期计算;计算星期可以用基姆拉尔森公式//中国的星期 结果要+1int Day(int y,int m,int d){ if(m==1 || m==2) m+=12,y-=1; return (d+2*m+3*(m+1)/...

Fedora13 安装 oracle10g 及pro*c 配置_shunshun20520的博客-程序员宅基地

先用ROOT账户登录1、建立安装Oracle需要的用户、组及目录(1)新增组和用户:groupadd oinstallgroupadd dbagroupadd operuseradd -g oinstall -G dba oraclepasswd oracle(2)创建Oracle的安装目录,并把权限付给oracle用户:mkdir -p /u01/app/oracle/product/10.2/db_1chown -R oracle.oinstall /u012、修改 /etc/sysctl.conf 内

ef执行原生sql语句_EF Core执行SQL语句_weixin_33656445的博客-程序员宅基地

目录:EF Core提供的执行SQL语句的方法自己封装SqlQuery方法,执行SQL语句一.EF Core提供的执行SQL语句的方法基于原始SQL查询创建LINQ查询,FromSql方法的返回类型只有IQueryable。SqlParameter parameter = new SqlParameter("Id", 1);User user = context.Set("select * fro...

android平板是否支持遥控,用手机平板遥控家中PC:Microsoft Remote Desktop_weixin_39586825的博客-程序员宅基地

通过Microsoft Remote Desktop,我们可以使用现有的iOS/Android设备轻松的远程管理PC。用手机平板遥控家中PC:Microsoft Remote Desktop前言虽然我们说目前的手机或者移动设备的机能已经相当强大,不过与PC相比,在某些领域还是差了许多,比如说进行一些数据处理以及文档制作等,有时候在不方便坐在PC面前的时候,用平板或者手机远程遥控一下pc应急处理下倒...

推荐文章

热门文章

相关标签