系统调用软中断处理程序system_call分析
生活随笔
收集整理的這篇文章主要介紹了
系统调用软中断处理程序system_call分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近學習了系統調用的整個流程,這里總結并記錄。同時作為學習孟寧老師的linux內核課程的作業。
唐建,《Linux內核分析》MOOC課程http://mooc.study.163.com/course/USTC-1000029000?
1、概述
系統調用整個過程為:API——封裝例程——system_call——系統調用程序。
? ? ? ?上一篇博客分析了用戶空間部分:API——封裝例程。本文主要分析system_call 的主要邏輯。
?2、系統調用例子
上一篇文件我們測試了read和open 系統調用。本節我更換了一個簡單的系統調用getpid(sys_getpid)。
'
可以看到,我們將系統調用處理函數斷住后,當使用系統調用,就會斷住。
3、system_call分析:D:\學習資料\linux\linux-3.18.6\linux-3.18.6\arch\x86\kernel\entry_32.S
? ?system_call 是系統內核中的一段匯編代碼,我們無法打斷點跟蹤,所以這里直接上代碼:
?
'
?
4、總結
system_call主要流程:save_all——系統調用應用程序——restore_all
? ? ? 系統調用會引起進程上下文切換
轉載于:https://www.cnblogs.com/tjyuanxi/p/9231599.html
總結
以上是生活随笔為你收集整理的系统调用软中断处理程序system_call分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 卖给腾讯不到一年 搜狗遭大清洗:地图、搜
- 下一篇: 瑞幸终于开始赚钱了!还暴打了一波星巴克