第五周——扒开系统调用的“三层皮”(下)

【洪韶武 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 】

第五周 扒开系统调用的“三层皮”(下)

一、给MenuOS增加time和time-asm命令


 

更新menu代码到最新版本,在main函数中增加MenuConfig,增加对应点time函数和timeasm函数,Make rootfs。

二、实验过程


 

  • 执行rm menu -rf,强制删除原有的menu文件夹,使用git命令更新menu代码至最新

  • 在main函数中增加MenuConfig和详细函数

  • Make rootfs

  • 使用help查看系统调用

  • 调试过程

 

三、总结分析


 

①Entry(system-call)
②save-all保护现场
③call *sys-call-table(,%eax,4),调用分度表,找到对应的系统调用
④syscall- exit检查是否需要跳转,若不需要,执行⑤,需要执行⑥
⑤restore-all恢复现场,然后iret结束
⑥work-pending然后进行work-notifysig处理信号(或者work-resched处理调度,然后call schedule)最后返回restore-all,然后iret结束。

 

转载于:https://www.cnblogs.com/5219hsw/p/5327212.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值