Překrytí (programování) - Overlay (programming) - Wikipedia
V obecném smyslu pro výpočet překrytí znamená „proces převodu a blok programového kódu nebo jiných dat do hlavní paměť, nahrazení toho, co je již uloženo ".[1] Překrytí je a programování metoda, která umožňuje, aby programy byly větší než počítače hlavní paměť.[2] An vestavěný systém by normálně použil překryvné obrázky z důvodu omezení fyzická paměť, který je vnitřní paměť pro systém na čipu a nedostatek virtuální paměť zařízení.
Používání
Sestavení překryvného programu zahrnuje ruční rozdělení programu na samostatný kód objektu volané bloky překryvy stanoveno v a stromová struktura. Sourozenec segmenty, ty na stejné úrovni hloubky, sdílejí stejnou paměť, tzv překryvná oblast nebo cílový region. Správce překrytí, buď součást operační systém nebo část programu překrytí, načte požadované překrytí z externí paměť v případě potřeby do cílového regionu. Často linkery poskytnout podporu pro překryvy.[3]
Příklad
Následující příklad ukazuje ovládací příkazy, které instruují OS / 360 Editor propojení k propojení překryvného programu, odsazený pro zobrazení struktury (názvy segmentů jsou libovolné):
ZAHRNUTÍ SYSLIB (MOD1) ZAHRNUTÍ SYSLIB (MOD2) PŘEHRÁVÁNÍ ZAHRNUJE SYSLIB (MOD3) PŘEHRÁVÁNÍ AA ZAHRNUJE SYSLIB (MOD4) ZAHRNUTÍ SYSLIB (MOD5) PŘEHRÁVÁNÍ AB ZAHRNUJE SYSLIB (MOD6) PŘEHRÁVÁNÍ B ZAHRNUJE SYSLIB (MOD7)
+ -------------- + | Kořenový segment | | MOD1, MOD2 | + -------------- + | + ---------- + ---------- + | | + ------------- + + ------------- + | Překrytí A | | Překrytí B | | MOD3 | | MOD7 | + ------------- + + ------------- + | + -------- + -------- + | | + ------------- + + ------------- + | Překryvná AA | | Překrytí AB | | MOD4, MOD5 | | MOD6 | + ------------- + + ------------- +
Tyto příkazy definují strom skládající se z trvale rezidentního segmentu, který se nazývá vykořenit, a dvě překrytí A a B, která se načtou po skončení MOD2. Samotná vrstva A se skládá ze dvou segmentů vrstvy, AA a AB. V době provádění překryvy A a B budou obě využívat stejná paměťová umístění; AA a AB budou po skončení MOD3 využívat obě stejná místa.
Všechny segmenty mezi kořenem a daným segmentem překrytí se nazývají a cesta.
Aplikace
Od roku 2015[Aktualizace], většina obchodních aplikací je určena pro provoz na platformách s virtuální paměť. Vývojář na takové platformě může navrhnout program, jako by omezení paměti neexistovalo, pokud program neexistuje pracovní sada překračuje dostupnou fyzickou paměť. A co je nejdůležitější, architekt se může soustředit na vyřešený problém bez dalších obtíží s designem nutit zpracování do kroků omezených velikostí překrytí. Návrhář tedy může používat programovací jazyky vyšší úrovně, které neumožňují programátorovi velkou kontrolu nad velikostí (např. Jáva, C ++, Pokec ).
Překryvné vrstvy zůstávají ve vestavěných systémech užitečné.[4] Některé levné procesory používané v vestavěné systémy neposkytují a jednotka správy paměti (MMU). Kromě toho je mnoho vestavěných systémů reálný čas systémy a překryvy poskytují rozhodnější dobu odezvy než stránkování. Například Raketoplán Primární systémový software pro avioniku (PASS) používá naprogramované překryvy.[5]
I na platformách s virtuální pamětí softwarové komponenty jako kodeky možná oddělené až do bodu, kdy mohou být naloženo a zasunuto podle potřeby.
Historické použití
V domácí počítač éra překryvy byly populární, protože operační systém a mnoho počítačových systémů, na kterých běžel, postrádal virtuální paměť a podle současných standardů měl velmi málo RAM: původní IBM PC měl mezi 16K a 64K, v závislosti na konfiguraci. Překryvy byly populární technikou v Commodore BASIC načíst grafické obrazovky. Aby bylo možné zjistit, kdy již bylo překrytí načteno, a proměnná příznaku lze použít.[2]
„Několik linkerů systému DOS v 80. letech podporovalo [překryvy] v podobě téměř totožné s formou používanou před 25 lety na sálových počítačích.“[4] Binární soubory obsahující překrytí paměti měla de facto standardní příponu, .OVL. Tento typ souboru mimo jiné používal WordStar, dBase a Umožnit Softwarový balíček pro kancelářskou automatizaci DOS od Enable Software, Inc.. The GFA BASIC kompilátor byl schopen produkovat soubory .OVL.
Viz také
Reference
- ^ „Oxfordské slovníky“. 2015-11-26.
- ^ A b Butterfield, Jim (červen 1986). "Část 4: Překrytí". Načítání a propojení programů Commodore. Vypočítat!. str. 74.
To vám umožní spouštět programy, které jsou ve skutečnosti mnohem větší než množství paměti v počítači.
- ^ „Dokumentace GNU Linker: Popis překrytí“. 2008-06-03.
- ^ A b Levine, John R. (2000). Linkery a nakladače. Nakladatelé Morgan Kaufmann. str. 177. ISBN 1-55860-496-0. [1]
- ^ „Hodnocení procesů vývoje softwaru pro let raketoplány“. Citováno 2012-10-29.
externí odkazy
- IBM OS Linking Editor and Loader (PDF). Release 21. IBM Corporation. Březen 1972 [leden 1972]. str. 244. GC28-6538.