分析system_call中断处理过程

   分析system_call中断处理过程
沙雨济
原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 
一 、 实验内容
使用gdb跟踪分析一个系统调用内核函数(上周所选) ,从system_call开始到iret结束之间的整个过程,并画出简要准确的流程图。
 
二 、实验过程
首先进入实验楼环境,进入LinuxKernel 文件夹,更新  menu 文件。
 

然后进入menu文件夹,test.c文件进行函数添加。
 

在如图所示处进行函数添加,具体操作如下。
 
 

 

然后开始进行make rootfs,但是运行出现错误,修改了两次仍无法运行(待修改)
 
 

三 、实验总结
 

系统调用的过程:通常,在OS的核心中都设置了一组用于实现各种系统功能的子程序(过程),并将它们提供给用户调用。每当用户在程序中需要OS提供某种服务时,变可利用一条系统调用命令,去调用系统过程。它一般运行在系统态;通过中断进入;返回时通常需要重新调度(因此不一定直接返回到调用过程)。 
   Linux系统调用的流程非常简单,它由0x80号中断进入系统调用入口,通过使用系统调用表保存系统调用服务函数的入口地址来实现。
 

转载于:https://www.cnblogs.com/Diky/p/4474564.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值