第一章 核心模組 elf檔案

2021-07-24 14:29:22 字數 693 閱讀 6047

1.核心模組的檔案格式elf

elf分為三部分:頭部elf header ,中間section, 尾部section header table

(1).elf header部分   大小52位元組

e_type 表明檔案型別,驅動值為1

e_shoff 表明section header table部分在檔案中的偏移量

e_shentsize 表明section header table部分中每個entry的大小

e_shnum  表明entry的數量

e_shstrndx

(2).section部分

elf檔案主體,位於檔案檢視中間部分的乙個連續區域。但模組被核心載入時,會根據各自屬性被重新分配到新的記憶體區域

(3) section header table部分

e_entry

entry point address: 0x8048320

入口位址,規定elf程式的入口虛擬位址,作業系統在載入完成該程式後,從這個位址開始執行程序的指令。可重定位檔案一般沒有入口位址,則這個值為0

對這個欄位的理解不知道對不對,以後自己回頭驗證下。這個位址是個虛擬位址,所以不同模組可以有相同的address,在執行的時候他會對映到相同的虛擬位址上,但從虛擬位址對映到實體地址的時候,會由於分頁機制,把他們對映到不同的實體地址上(有可能相同)。所以不同的模組,這個位址相同也是沒關係的

第一章 Linux核心簡介

unix 中所有的東西都被當作檔案對待。unix 核心和相關的系統工具軟體是用 c 語言編寫而成。unix 程序建立非常迅速,並且有乙個非常獨特的 fork 系統呼叫。linux 是非商業化的產品,它使用 gnu 的 general public license gpl 第二版本作為限制條款。執行於...

第一章 Linux核心簡介

1.linux是類unix系統,但他不是unix。儘管linux借鑑了unix的許多設計並且實現了unix的api 由posix標準和其他single unix specification定義的 但linux沒有像其他unix變種那樣直接使用unix的原始碼。2.linux系統的基礎是核心 c庫 工...

python第一章筆記 第一章 基礎

參與除法的兩個數中有乙個數為浮點數,結果也為浮點數 如 1.0 2,1 2.0,1.0 2.0 python print 1.0 2 結果 0.5 print 1 2.0 結果 0.5 print 1.0 2.0 結果 0.5 整數 整數,計算結果的小數部分被截除,只保留整數部分 不會四捨五入 如 ...