欢迎来到天天文库
浏览记录
ID:34242778
大小:55.87 KB
页数:6页
时间:2019-03-04
《软中断实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、软中断实验报告实验2Linux软中断通信1•实验目的通过本实验,掌握软中断的基本原理;掌握中断信号的使用、进程的创建以及系统计时器的使用。2・实验内容..・・1实验步骤..1程序运行初值及运行结果分析…・・・4实验总结…6附件…6实验目的…9实验原9实验结11I实验一内核编译与系统调用实验目的熟悉Linux下的基本操作,学会使用各种Shell命令去操作Linux,对Linux有一个感性认识。理解操作系统调用的运行机制。掌握创建系统调用的方法。实验内容以root用户身份登陆,并使用“Is”,“cat”“cd”等命令来实现基本的文件操作并观察Linux文件系统的特占八、、•系统调用实验&编程调用
2、一个系统调用fork,观察结果。b.编程调用创建的系统调用foo,观察结果。c.自己创建一个系统调用myca11,实现功能:显示字符串到屏幕上。d.编程调用自己创建的系统调用o实验思想系统调用是一种进入系统空间的办法。Linux的系统调用是通过中断机制实现的。中断这个概念涉及计算机系统结构方面的知识,显然它与微处理器等硬件有着密不可分的关系。软中断,是对硬中断的一种模拟,发送软中断就是向接收进程的proc结构中的相应项发送一个特定意义的信号。软中断必须等到接收进程执行时才能生效的。中断,是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU不得不暂时中断当前正在执行的
3、程序而转去执行相应的事件处理程序,待处理完毕后再返回原来被中断处继续执行的进程。其发生一般而言是“异步”的。换句话说就是在无法预测的情况下发生的。所以计算机的软硬件对于中断的相应反应完全是被动的。陷阱,即由软件产生的中断,指处理机和内存内部产生的中断,它包括程序运算引起的各种错误,如地址非法、校验错误、页面失效等。它有专门的指令,如X86中的“INTn”,在程序中是有意产生的。所以说陷阱是主动的、“同步”的。实验步骤以root用户身份登陆,并使用“1s”,“cat”“cd”等命令来实现基本的文件操作并观察Linux文件系统的特点.系统调用实验程序运行初值及运行结果分析程序:1./*Filen
4、ame:*/#includemain{printf;}接下来,进行编译,最简单的编译方法是不指定任何编译选项:gcc它会为目标程序生成默认的文件名,我们可用-0编译选项来为将产生的可执行文件指定一个文件名来代替。例如,将上述名为的C程序编译为名叫helloworld的可执行文件,需要输入如下命令:gcc-ohelloworId最后,执行生成的可执行文件:•/helloworld可以在屏幕上看到输出结果:HelloWorld。编程调用一个系统调用fork在应用程序中调用系统调用fork非常简单,下面的程序可以很清楚的显示出有fork系统调用生成了子进程,而产生的分叉作用:#includeint
5、main{intiUid;iUid=fork;iffor{printf;sleep;}}if}ifprintf;returnO;for{printf;sleep;1)编程调用创建的系统调用foo2)添加源代码第一任务是编写添加到内核的源程序,即添加到内核文件中的一个函数。该函数的名称应该是在新的系统调用名称之间前加上sys_标志。新加的系统调用为foo,功能为原值返回输入的整型数。格式为intfoo,返回的值就是出入的参数。在/usr/src/linux/kernel/文件中添加源代码,如下所z5:Asmlinkageintsys_foo{printf;}它的功能很简单,就是向标准输出一个特
6、定的整数。程序如下:#include#inelude
此文档下载收益归作者所有