操作系统实验(linux内核编译,添加系统调用,windows进程创建,脚本程序编写)

《操作系统原理》实验报告

一、实验目的
(1)理解操作系统生成的概念和过程;
(2)理解操作系统两类用户界面(操作界面,系统调用)概念;

二、实验内容
(1)在Unbantu或Fedora环境下裁剪和编译Linux内核,并启用新的内核。
(2)在Unbantu或Fedora环境下为Linux内核增加1-3个新的系统调用,并启用新的内核,编写一个应用程序测试新增加的系统调用是否能正确工作。
(3)在windows环境下,利用高级语言编程环境(限定为VS环境或VC环境)调用相关的系统调用(即系统API)实现一个包括“进程创建,文件读写”的应用程序。(特别注意:自己在寝室先做,老师在机房现场检查结果!):有一个文本文件CommandList.txt,第一行是说明性文字:本文件最后一次打开和运行日期是20190325。第二行开始每行是-一个可执行程序的名称(含路径)。编写一个应用程序能打开该文件,并顺序执行其中的每个程序,并更新文件第一行中的日期。
(4)在windows环境下,编写一个批处理程序(算命大师.bat),程序运行后,输入:出生年月日(例如20000731)。系统输出你的属相和星座,例如:你属兔,狮子座。(特别注意:自己在寝室先做,老师在机房现场检查结果!)

三、实验过程
此处主要粘贴核心的关键源代码和程序流程,并分析。把你做完了的全部编程题按1),2)…方式顺序编号,每个编程题目自己给取一个5-10字的名字作为标题。
实验过程要给出环境配置过程的说明,开发过程的文字说明,开发环境中关键代码的典型截图和文字说明。
1)Ubuntu下编译新内核
环境配置:下载安装VMware,并创建Ubuntu系统的新虚拟机。
逐次执行以下命令:
sudo apt-get install libncurses5-dev libssl-dev

sudo apt-get install build-essential openssl

sudo apt-get install zlibc minizip

sudo apt-get install libidn11-dev libidn11

从这里下载linux内核
https://www.kernel.org/pub/linux/kernel/v4.x/下载后解压即可。
然后依次执行如下命令:
sudo make mrproper
sudo make clean
sudo make menuconfig
其中mrproper为清除编译过程中产生的所有中间文件,clean为清除上一次产生的编译中间文件,在menuconfig中出现选择的图形化界面后,直接按右方向键选择到exit退出,退出提示中选择保存,实现内核的默认配置。

• 设置的四核八线程,故使用指令make –j8

2)Ubuntu中为linux添加系统调用
*下载linux内核包并解压,在/kernel/sys.c文件末尾加入系统调用函数。

*添加函数声明,添加系统调用号
在linux-4.16.10/arch/x86/include/asm/vim syscalls.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值