首页 > 其他 > 详细

分析system_call中断处理过程

时间:2015-05-03 20:32:08      阅读:161      评论:0      收藏:0      [点我收藏+]
  分析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号中断进入系统调用入口,通过使用系统调用表保存系统调用服务函数的入口地址来实现。
 

分析system_call中断处理过程

原文:http://www.cnblogs.com/Diky/p/4474564.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!