Multimediaexpo.cz je již 18 let na českém internetu !!
Zavaděč (program)
Z Multimediaexpo.cz
Zavaděč (anglicky loader) je v informatice speciální program, který je typicky součástí jádra operačního systému. Zavaděč je zodpovědný za umístění spouštěného programu do paměti počítače, přípravu na jeho spuštění a jeho následnou aktivaci.
Obsah |
Popis činnosti
Zavaděč zajišťuje načtení spustitelného souboru do uživatelského prostoru nově vznikajícího procesu. V současných systémech musí též nastavit mapu virtuální paměti procesu. Pokud spouštěný program používá dynamické knihovny, zajistí ještě vyvolání dynamického linkeru.[1]
Zavaděč v Linuxu
V operačním systému Linux se používá pro spustitelný soubor formát ELF (dříve se používal a.out). ELF obvykle obsahuje několik sekcí, které musí zavaděč postupně projít a jejich obsah správně interpretovat. Ověří strukturu spustitelného souboru, zjistí jeho formát a vyvolá příslušnou obslužnou rutinu (anglicky handler). Rutina zjistí typ formátu a uvolní prostředky starého procesu. Následně je do paměti namapována spustitelná část souboru, je vytvořen a namapován datový segment (.bss) a halda. Pokud se jedná o program používající dynamické knihovny, je do paměti nahrán též dynamický linker. Na zásobník se zkopíruje se prostředí procesu, argumenty z příkazové řádky, identifikátory procesu (anglicky credentials, tj. PID, PPID, skupina procesů…)[2] a další informace z hlavičky ELF souboru. V tuto chvíli dojde ke skutečnému spuštění připraveného procesu a tím k přesunu do uživatelského prostoru.[3]
Dynamickým linkerem je v Linuxu ld-linux.so
. Je zodpovědný za zavedení (resp. namapování) dynamických knihoven do paměťového prostoru spouštěného procesu a uložení konkrétních adres na místo použitých symbolů (viz sémantická analýza a relokace).[3]
Související články
Reference
- ↑ YOUNGDALE, Eric. The ELF Object File Format by Dissection. Linux Journal [online]. 1995-05-01, roč. 1995, čís. 13 [cit. 2010-05-27]. Dostupné online.
- ↑ Linux process credentials – viz
man 7 credentials
, dostupné též online - ↑ 3,0 3,1 JOHNSON, Richard. Hooking the Linux ELF Loader [online]. iDEFENSE Labs, 2004-09-27, [cit. 2010-05-27]. Dostupné online. (angličtina)
Náklady na energie a provoz naší encyklopedie prudce vzrostly. Potřebujeme vaši podporu... Kolik ?? To je na Vás. Náš FIO účet — 2500575897 / 2010 |
---|
Informace o článku.
Článek je převzat z Wikipedie, otevřené encyklopedie, do které přispívají dobrovolníci z celého světa. |