1. 程式人生 > >[MOS學習筆記] 完成系統呼叫read的11個步驟

[MOS學習筆記] 完成系統呼叫read的11個步驟

注:

1.C和C++編譯器使用逆序,即第一個引數放在堆疊頂部

2.庫過程是由組合語言寫成的。因為引發系統呼叫的實際機制是非常依賴於機器的,一些諸如儲存暫存器值和設定堆疊指標之類的操作是無法用C語言這一高階語言描述,所以這些操作通過一個短小的組合語言例程來完成,使得C語言(或其他語言)能夠通過呼叫該例程來使用系統呼叫。

3.陷入核心(TRAP)和普通的過程呼叫有什麼不同?

1)執行普通的過程呼叫,不會改變模式

執行TRAP,執行模式從使用者態切換到核心態

2)過程呼叫給定過程所在的相對地址或絕對地址

TRAP指令不能跳轉到任意地址,只能跳轉到一個固定地址上,或者指令中有一個8位長的欄位,它給定了記憶體中一張表的索引,這張表中含有跳轉地址