# OS实验:重建Linux内核并添加系统调用
> 这是一份懒人福利代码,按照以下教程操作就可以:)
> 有问题提个issue就行
### 前言
- 系统环境:Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-93-generic x86_64)
- RAM: 2G
- Memory: 40G
- CPU: 1 core
- 目标内核:Linux-4.8
- 系统调用:创建333号调用,用于打印进程的错页数
### 如何操作
- 在操作前,最好将本目录下所有文件移到根目录‘~’
- 运行download.sh脚本:
- `chmod +x download.sh`
- `./download.sh`
- 运行overwrite.sh脚本:
- `chmod +x overwrite.sh`
- `./overwrite.sh`
- 进入linux-4.8目录,并创建编译配置:
- `cd linux-4.8/`
- `make menuconfig`
- 进入图形界面之后,按两次esc直接退出即可
- ![](pics/menuconfig.png)
- 回到根目录,准备下一步
- 运行make.sh脚本:
- `chmod +x make.sh`
- `./make.sh`
- 然后,喝茶坐等编译完成🍵~
- 然后执行用户态脚本并查看结果:
- `python3 test.py`
- 如果结果如下图,那么恭喜你成功啦~
- ![](pics/result.png)
- 不然的话,看一下下面⬇️
- 如果没有成功的话就比较麻烦:
- 需要修改默认启动内核然后重启,再删掉原来的内核源码,然后从上面第一步重新开始做~
- 表示曾经遇到过一次,然后改错启动内核导致根本启动不了~最后还是重装了整个系统,sigh
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!Linux系统是一个免费使用和自由传播的类Unix操作系统,基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统,Linux是许多企业和服务提供商的首选操作系统,用于部署Web服务器、数据库服务器、邮件服务器等。Linux系统具有高效的网络功能和稳定的性能,因此被广泛应用于服务器领域,Linux是云计算的核心组成部分,被广泛用于构建云平台和云服务。许多知名的云计算服务提供商都采用Linux系统作为其基础架构,一些游戏平台和游戏开发工具采用Linux作为支持的操作系统,例如Steam平台上的某些游戏。Linux系统在科学计算、数据分析和机器学习等领域也有广泛应用。许多知名的科学计算软件都在Linux上开发和运行,Linux系统在各个领域都有广泛的应用,其强大的功能和灵活性使得它成为许多产品和服务的基础架构。
资源推荐
资源详情
资源评论
收起资源包目录
操作系统实验:使用脚本编译重装Linux内核,并增加一个打印缺页数的系统调用.zip (18个子文件)
222
project2 添加系统调用.pdf 5.87MB
codes
syscall_64.tbl 13KB
test.c 109B
mm.h 76KB
fault.c 36KB
unistd_from_linux-4.8.h 29KB
fork.c 52KB
sys.c 58KB
sched.h 99KB
unistd_from_usr.h 29KB
pics
result.png 227KB
menuconfig.png 419KB
.gitignore 10B
overwrite.sh 426B
download.sh 419B
test.py 593B
README.md 1KB
make.sh 102B
共 18 条
- 1
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功