什麼是載入器(Loader)

將可執行檔讀入記憶體,依權限配置各個部分,並在堆疊上準備好引數等資料後啟動程式的作業系統功能。

日文名稱: ローダ

「載入器(Loader)」出現在1領域的5道練習題中(連結器與載入器與執行檔格式等)。

這個名詞所屬的領域: 連結器與載入器與執行檔格式

練習載入器(Loader)的題目

啟動程式時(Linux的execve等),作業系統的載入器所進行的事項,下列何者正確?

  1. A讀取原始碼,當場編譯後再執行
  2. B依照執行檔的程式標頭,將各部分配置到記憶體,並在堆疊上準備引數等,再從入口位址開始執行
  3. C先將執行檔的所有符號名稱顯示在畫面上再執行
查看答案與解析

正確答案:B. 依照執行檔的程式標頭,將各部分配置到記憶體,並在堆疊上準備引數等,再從入口位址開始執行

載入器會讀取執行檔的標頭,將程式標頭所記載的各部分(區段,segment)附上讀取、寫入、執行的權限,對應到虛擬位址空間。接著準備BSS用的0值區域與堆疊,並將命令列引數與環境變數推入堆疊。若是動態連結,就從動態連結器開始,否則從執行檔的入口位址開始執行。

解析中的「載入器(Loader)」

出現「載入器(Loader)」的題目(5題)

  1. 啟動程式時(Linux的execve等),作業系統的載入器所進行的事項,下列何者正確?
  2. 關於Linux等系統常用的ELF格式檔案,下列何者正確?
  3. 關於.bss區段的特徵,下列何者正確?
  4. 關於嵌入式開發中使用的連結器腳本(linker script)的功用,下列何者正確?
  5. 關於ELF檔案中的「區段(section)」與「段(segment)」的差異,下列何者正確?

相關名詞

ELF(可執行與可連結格式) 連結器(Linker) 動態連結(Dynamic linking) 動態連結器(Dynamic linker) 連結器指令檔(Linker script) 微控制器 中斷 重定位(Relocation) 目的檔(Object file) 共享函式庫(Shared library)

前往名詞解釋列表