作業系統筆記(二)Bootload載入ELF檔案

2021-10-05 20:51:09 字數 735 閱讀 7213

ctime:2020-04-29 15:34:46 +0900|1588142086

標籤(空格分隔): 技術 作業系統

elfhdr的位址是 0x10000,僅僅是乙個暫存位址。

elf檔案的檔案頭格式:

struct elfhdr 

;

乙個elf檔案中分為好幾個段,程式段、資料段等,每個資料段的定義:

struct proghdr 

;

通過elf檔案頭中的phoff,可以找到第乙個段描述的位址,而phnum提供了段的數量,因此通過遍歷就可以獲得所有的段的資訊。

接下來把每個段給讀出來,每個段要放在什麼位置由每個段的va欄位來決定。

ph =

(struct proghdr *)(

(uintptr_t)elfhdr + elfhdr->e_phoff)

; eph = ph + elfhdr->e_phnum;

for(

; ph < eph; ph ++

)

資料複製完成後,跳轉到程式的入口點執行。

(

(void(*

)(void))

(elfhdr->e_entry &

0xffffff))

();

程式的入口點e_entry由鏈結檔案中設定。

作業系統複習筆記 二

1.問答題 有乙個檔案f,有a,b兩組程序共享這個檔案,同組的程序可以同時讀檔案f,但當有a組 或b組 的程序在讀檔案f時就不允許b組 或a組 的程序讀,解 定義兩個計數器c1,c2,分別記錄a組和b組中讀檔案的程序數,三個訊號量s1,s2,sab,其中s1用於通知a組程序已經有b組程序在讀檔案f了...

作業系統筆記之二

jiawei243 2018 07 26 23 41 09 309 收藏分類專欄 聽課筆記 作業系統 版權disk 存放os bios 基本i o 處理系統 bootloader 載入os cs ip 0xf000 fff0 cs 段暫存器 ip 指令暫存器 post 加電自檢 尋找顯示卡和執行bi...

作業系統課堂筆記二 作業系統執行環境

作業系統執行機制 中斷異常機制工作原理 系統呼叫機制 系統呼叫實戰 參考舉例 陷入指令 訪管指令 是一條特殊的指令,通過這條指令,可以使使用者程式向作業系統提出各種各樣的請求,例如 int,trap,syscall,sysenter sy it 核心態 使用者態 概念 cpu對系統發生某個事件的一種...