Linux核心分析--系統呼叫實現程式碼分析(轉)
Linux核心分析--系統呼叫實現程式碼分析(轉)[@more@] 啟動早就讀完,現在為了寫筆記再從啟動之後粗略的大體讀一遍,基本就是幾個大模組:啟動和初始化,中斷訊號,程式及排程,記憶體管理,檔案系統,網路,驅動和模組等,我主要也從這幾塊入手。由於啟動部分在start_kernel之前牽涉到大量的x86體系相關的彙編知識,需要大量的時間,於是我跳過,先把握整個系統的大體脈絡,然後做二次,三次分析。網路部分的分析,我會從4.4BSD-Lite的程式碼中分析。
系統呼叫:
先說一下系統呼叫,奇怪的很,所有的讀核資料都沒有把系統呼叫單獨提出來說,我覺得還是比較重要的。使用者和系統核心通訊的關鍵的樞紐,不過分吧,呵呵。仔細研究一下它的機制,準備花三天時間,手頭有些書和資料,幫助我理解。
概念:(明晰一下基本概念)系統呼叫發生在使用者程式,透過一些特殊的函式(如open)來請求核心提供服務,這時,使用者程式掛起,核心驗證使用者請求,嘗試之行,並把結果反饋給使用者程式,接著使用者程式重新啟動。這些機制在一般的程式設計書裡都有,我就是來透過原始碼的實現來討論這種機制。
具體實現程式碼:arch/i386/kernel/entry.S(核心版本2.2.14)從entry.S的第171行,就是system_call開始,171-248行程式碼貼出來,分析以註釋形式:ENTRY(system_call) 所有系統呼叫的入口點,引數system_call是所希望啟用的系統呼叫的數pushl %eax# 儲存orig_eax,這個值就是希望系統呼叫數SAVE_ALL。SAVE_ALL宏定義如下:
系統呼叫:
先說一下系統呼叫,奇怪的很,所有的讀核資料都沒有把系統呼叫單獨提出來說,我覺得還是比較重要的。使用者和系統核心通訊的關鍵的樞紐,不過分吧,呵呵。仔細研究一下它的機制,準備花三天時間,手頭有些書和資料,幫助我理解。
概念:(明晰一下基本概念)系統呼叫發生在使用者程式,透過一些特殊的函式(如open)來請求核心提供服務,這時,使用者程式掛起,核心驗證使用者請求,嘗試之行,並把結果反饋給使用者程式,接著使用者程式重新啟動。這些機制在一般的程式設計書裡都有,我就是來透過原始碼的實現來討論這種機制。
具體實現程式碼:arch/i386/kernel/entry.S(核心版本2.2.14)從entry.S的第171行,就是system_call開始,171-248行程式碼貼出來,分析以註釋形式:ENTRY(system_call) 所有系統呼叫的入口點,引數system_call是所希望啟用的系統呼叫的數pushl %eax# 儲存orig_eax,這個值就是希望系統呼叫數SAVE_ALL。SAVE_ALL宏定義如下:
QUOTE:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-963277/,如需轉載,請註明出處,否則將追究法律責任。
上一篇:
駭客知識之你真的知道特洛伊木馬嗎(轉)
請登入後發表評論
登入
全部評論
|
相關文章
- linux核心檔案IO的系統呼叫實現分析(open)Linux
- Linux系統呼叫詳解(實現機制分析)Linux
- Linux程式排程核心實現分析Linux
- 【linux】系統呼叫版串列埠分析&原始碼實戰Linux串列埠原始碼
- Linux核心模組程式設計--系統呼叫(轉)Linux程式設計
- Linux系統呼叫過程分析Linux
- MINIX系統呼叫EXIT分析 (轉)
- Linux作業系統的許可權程式碼分析【轉】Linux作業系統
- Linux核心分析方法(轉)Linux
- Linux作業系統分析 | 深入理解系統呼叫Linux作業系統
- 深入淺出分析Linux系統核心漏洞的問題(轉)Linux
- 影片直播系統原始碼,非同步處理實現程式碼分析原始碼非同步
- epoll核心實現分析
- 入侵檢測系統分析及其在Linux下的實現(轉)Linux
- Linux核心記憶體管子系統分析Linux記憶體
- Linux下XWindow系統啟動指令碼分析(轉)Linux指令碼
- 深入分析 Linux作業系統的核心連結串列(轉)Linux作業系統
- [轉帖]Linux核心原始碼分析分享專題Linux原始碼
- property的系統實現分析
- Linux作業系統原始碼詳細分析(二)(轉)Linux作業系統原始碼
- Linux作業系統原始碼詳細分析(三)(轉)Linux作業系統原始碼
- 鴻蒙輕核心原始碼分析:檔案系統LittleFS鴻蒙原始碼
- 武器系統邏輯程式碼分析
- 利用linux系統命令分析PHP程式LinuxPHP
- 麒麟作業系統核心同其他作業系統核心的相似性分析(轉)作業系統
- linux程式管理子系統簡要分析Linux
- 紅黑樹核心程式碼分析(JAVA)Java
- Linux核心排程分析(程式排程)Linux
- 搶紅包案例分析以及程式碼實現
- Linux系統呼叫講義(轉)Linux
- 深入分析Linux系統深度安全加固(轉)Linux
- Linux核心分析。3Linux
- Linux核心分析。4Linux
- Linux核心分析。5Linux
- LINUX核心分析。6Linux
- LINUX核心分析。7Linux
- LINUX核心分析。8Linux
- 中綴轉字尾表示式思路分析和程式碼實現