前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >操作系统 | 添加系统调用

操作系统 | 添加系统调用

作者头像
SarPro
发布2024-02-20 14:28:38
1390
发布2024-02-20 14:28:38
举报
文章被收录于专栏:【计网】Cisco

1. 操作系统实验之添加系统调用

1.1 实验目的

  • 学习和掌握系统调用机制,增加新的系统调用

1.2 实验内容

  • 完成增加新的系统调用

1.3 实验步骤

1.用记事本打开/usr/src/linux-2.4.22/kernel/sys.c,查看并进行修改如图4-1至图4-3.

2.记事本打开/usr/src/linux-2.4.22/arch/i386/kernel/entry.S并将254行ni改成sym20202624如图4-4至4-7.

3.重新编译内核。

依次输入以下命令如图4-8至图4-10:

代码语言:javascript
复制
cd   /usr/src/linux-2.4.22
make   clean
make   dep
make   bzImage
make   install

4.输入reboot,重新启动计算机。使用新内核引导如图4-11.

5.编译并运行test11.c如图4-12至图4-15.

6.编译这个程序:gcc –otest test11.c

7.运行这个程序:./test


1.4 实验过程

图4-1

图4-2

图4-3

图4-4

图4-5

图4-6

254行ni改成xxx学号

图4-7

编译内核

图4-8

图4-9

图4-10

重启

图4-11

图4-12

图4-13

图4-14

图4-15


1.5 心得体会

通过本次实验,我成功在sys.c文件下添加了系统调用,由于是在核心态下运行因此这里的输出函数使用printk()函数,并且在entry.S文件添加系统调用,将其第254行进行修改,最后使用make dep重新编译并reboot重启,在添加系统调用内核下编写文件后运行我发现会报错,找不到源文件,故将#include<unistd>改成#include<Linux/unistd.h>后得以成功运行。

2. 致读者

读书不觉已春深,一寸光阴一寸金

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 操作系统实验之添加系统调用
    • 1.1 实验目的
      • 1.2 实验内容
        • 1.3 实验步骤
          • 1.5 心得体会
          • 2. 致读者
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档