Spouštění programů
Transkript
Spouštění programů Mgr. Josef Horálek Spouštění programů = Po vytvoření procesu obvykle následuje spouštění programu = K tomu slouží systémové volání execve(), který lze použít přímo a nebo využít řadu pomocných funkcí, které nám poskytuje standardní knihovna, které toto volání obalují případně zjednodušují jeho použití Josef Jan Horálek FIM Univerzita Hradec Králové | Spouštění programů Jak jádro spouští program = Scénář je následující: Otevření souboru s programem Výběr procesoru pro start Kontrola a nastavení oprávnění Načtení hlavičky programu Zkopírování parametrů (argumenty programu a proměnné prostředí) = Vyhledání odpovídajícího handleru podle hlavičky = Zavolání handleru k vlastnímu spuštění = Pokud něco selhalo, úklid a vrácení výsledku programu = = = = = Josef Jan Horálek FIM Univerzita Hradec Králové | Spouštění programů Spouštění binárních programů typu ELF = = = = = = = = = = Kontrola formátu Zjištění ELF interpretu Otevření souboru interpretu Kontrola konzistence souboru Úklid po předchozím programu Namapování nového programu do paměti Příprava pro spuštění nového programu Zavedení interpretu Příprava tabulek formátu EFL Předání kontroly interpretu Josef Jan Horálek FIM Univerzita Hradec Králové | Spouštění programů Handler binfmt_misc = Jde o velmi univerzální handler, umí detekovat různé formáty a nakládat s nimi odpovídajícím způsobem. = Pomocí něho můžeme spouštět např. : = Javovské třídy (prostřednictvím JVM) = Programy pro jiný OS (např. windows) = Různé dokumenty, obrázky, zvukové soubory Josef Jan Horálek FIM Univerzita Hradec Králové | Spouštění programů Handler binfmt_misc = Celá funkce je podobná jako u handleru pro skripty (tedy tak, že se spustí něco jiného a tomu se předá daný soubor), rozdíl je však v tom, jak se sekundárně spouštěný program vybírá. = Handler je implementován tak, že se navenek tváří jako speciální souborový systém – ten se musí před použitím připojit – obvykle /proc/sys/fs/binfmt_misc Josef Jan Horálek FIM Univerzita Hradec Králové | Spouštění programů Spouštěcí domény = Linux umožňuje spouštět i programy, které byly zkompilovány pro jiný operační systém splňující standard POSIX. = Jádro obsahuje mechanismus, který umisťuje programy pro určitý OS do tzv. spouštěcí domény (execution domain). Každá doména má v jádřa svoji strukturu exec_domain. Obsahující informace potřebné pro úspěšné spuštění z této domény jako je ahndelr pro systémová volání, mapování signálů, chyb, socketů atd. Josef Jan Horálek FIM Univerzita Hradec Králové | Spouštění programů Děkuji za pozornost…
Podobné dokumenty
Procesor
Procesor se při práci hodně zahřívá a proto musí být chlazen.
Na procesor se umisťuje chladič procesoru.
Chladič se skládá z pasivní části (žebrování) a aktivní (větráček).
Síťové rozhraní.
většina portů z /etc/services je používána pomocí socketů
např. telnet, ftp, rlogin, ...
VÝUKOVÝ MATERIÁL
(paměť, místo na disku, vyhrazený čas procesoru a podobně).
• Garbage collector – automatický odstraňovač dynamicky
alokovaného prostoru dále již nepoužívaných objektů.
• Registr – paměť o malé vel...
Grafická uživatelská rozhraní
GUI - Graphical User Interface
umožňuje snadno a pohodlně ovládat počítač a dobře se
orientovat v informacích
původně pouze CLI (Command Line Interface) - ovládání
pomocí příkazové řádky
z...
eshaperr - 3DReshaper
Odevzdávejte a sdílejte výsledky vašich projektů s prohlížečem
3DReshaper, který je k dispozici zdarma na www.3dreshaper.com!