Linux核心原始碼情景分析 系統呼叫

2021-09-08 12:42:57 字數 516 閱讀 5207

一、系統呼叫初始化

void __init trap_init(void)

對0x80中斷向量。設定了系統呼叫的總入口system_call。

static void __init set_system_gate(unsigned int n, void *addr)

在idt中設定了門描寫敘述符,例如以下圖:

selector為_kernel_cs。p為1;dpl為11;dt為0。type為15,陷阱門。offset就是異常處理函式的偏移。

二、系統呼叫響應

系統呼叫都是在使用者態發生的。

我們從使用者空間對函式sethostname()的呼叫開始我們的情景分析。

int sethostname(cost char *name, size_t len);

對sethostname.o反彙編得到例如以下結果:

linux核心原始碼情景分析閱讀筆記(1)

一直以來都沒有養成記錄讀書筆記的好習慣,導致每次迫切的需要一些知識的時候,又要重新的去溫習,雖說之前若是對某項知識已經有所了解,再去溫習肯定輕車熟路了,但多少總還要費一番周折的,翻閱資料總歸會花些時間的。從今天起記錄每天所學到點點滴滴,相信定能積少成多,這樣一來可以對學到的東西做個梳理,二來可以做個...

Linux核心 fork 原始碼分析

核心版本 linux 4.4.18 原始碼位置 這裡 接著 呼叫copy process 它設定了程序描述符以及子程序所需的任何其他核心資料結構。ftrace graph init task 初始化ftrace,核心追蹤函式呼叫。rt mutex init task 初始化鎖。copy creds ...

《android系統原始碼情景分析》試讀

剛剛下到試讀文件的時候,看到標題小小興奮了一下,對比國內同類書籍的現狀 市面充斥著琳琅滿目但良莠不齊的android開發教程,而其中大多僅是從軟體層出發來講解。所以從題目上,此書就先拔了頭籌。而且此書還有另外乙個優勢,android從趨近成熟2.2到剛剛發布的4.2,系統版本的迭代程序越來越快,所以...