/ / "Co je to" přišlo na stohu, "co je to" se vrátil: abstraktní základ reality

"Co je to" přišlo na stohu, "co je to" se vrátil: abstraktní základ reality

Možná v některých budoucích výpočetních obchodechzapomenou na nuly a ty, a procesory nebudou pracovat s bajty a slovy, ale zatím vše je reprezentováno binárním světem a žije podle jeho pravidel. Jaký je stack a kde je aplikován - s největší pravděpodobností bude zcela jasné. Dokonce i na počátku svého vzhledu byl první procesor registrován a logika jeho práce potřebovala paměť. V důsledku implementace jednoduchých nápadů se stoh "co to je" de facto stal "tak nezbytným".

Funkce, procesor, binární logika

Procesor spravuje paměť a implementuje logikucyklické provedení kódu. Program je jedna nebo řada funkcí, které představují sekvenci operací: vyberte něco, udělejte to, vložte něco tam. Operační systém je také zodpovědnějším kódem: je pověřen prováděním a sledováním dalších programů.

Funkce (nezávislý prvek algoritmu) je vlastně pouze sekvence binárních operací. Program se liší od funkce v tom, že se sám implementuje a koordinuje další části kódu.

Tento algoritmus je navržen tak, aby byl vytvořen ve forměsekvence jednotlivých nezávislých prvků. Každý z nich provádí vlastní (obvykle pouze jednu) funkci - je to praktické pro ladění, graficky, prakticky. Takové programování umožňuje zjednodušit vývojový proces, vytvářet knihovny algoritmů a používat je v jiných projektech.

Přenos a zpětná správa

Program zavolá funkci a předá jidata, očekává výsledek. Takže provedení další části kódu je iniciováno zvnějšku, takže návrat kontroly musí být proveden na další operaci po volání. Tento mechanismus zajišťuje pořadí provádění kódu a dosažení výsledku programu jako celku.

Kód je načten do paměti a postupněse provádí. Chcete-li volat funkci (další část kódu), použije se zásobník. Co to je? Paměť (a ukazatel na ni), který se liší od obvyklého, že každý další prvek je umístěn nad předchozím. Proto proto, abychom dostali všechny níže, musíte vzít a vyřešit vše, co je nad ním. Ukazatel vždy ukazuje na aktuální pozici v zásobníku.

Stack, co to je

Zpáteční adresa je zpočátku adresa zásobníkupo operačním hovoru. Poté jsou zde umístěna všechna data nezbytná pro vyvolanou funkci. Volaná funkce vybírá data, zpracovává je, generuje výsledek a vrátí kontrolu posledního prvku zásobníku. Příkaz: "stack it" přenese ukazatel na předchozí a zvolený "to" jde do zpracování.

Registry AX, BX, CX, DX, EX se staly jakousisymboly éry počátku informačního období, ale SP a SS jsou jeho hlavním talismanem. Jak se zásobník používá při programování? Příklady minulosti se nestanou architektonickými památkami počátku doby. Hromada se dostala do binárního světa spolu se slovy "funkce" a "rekurze" a zmizela do obecné logiky vývoje programovací praxe.

Podáváte data, abyste se rozhodli, co máte dělat

Stohovací mechanismus umožňuje více hovorůrůzné části kódu, včetně rekurze: samotné volání funkce. Existují přirozená omezení: velikost paměti pro zásobník a kód musí být dostatečná. Pokud je program správný, pak jeho provedení bude stabilní, přenos / návrat kontroly - přesný.

Jaký je zásobník a kde se používá?

Stoh je vyplněn, protože desky spadnou do hromady,který je poslán k obsluze stolu. Osud talířů, tedy jejich plnění, se rozhoduje na místě, kde se přenáší. Podle logiky interakce příkaz "stack what it is" dává předem dohodnutý daný mezi tím, kdo volal a ten, kterého povolal. Po dokončení procesu je důležité vrátit kontrolu na adresu vedle odesílání zásobníku do tabulky.

Velmi jednoduchá a efektivní logika. To, co je na stole, protože je rozhodnuto - to funguje, jak to jde s nálezy - své znepokojení nad tím, co tabulka vyšle balík dat - její péče, hlavní věc je, aby se vždy vrátit řízení na další výzvu pro operaci. Funkce může nazývat jen tehdy, pokud to připouští rekurzi, ale rekurze je možné pouze v případě, že údaje spadají do komína.

Základní abstrakce

Když se základní a praktické stává základemprakticky slibný, můžete se důvodně spoléhat na objektivitu a dlouhou životnost tohoto druhu. Stack cymbálů dal život zásobníku a zásobník poskytl práci procesorů, operačních systémů, programů, funkcí a rozsahu vysokých technologií obecně.

Použijte zásobník v příkladech programování

Klasický případ, kdy se jednoduché stalo základem,ale vzácný případ, kdy lze odhadnout bez prázdných argumentů o syntaxi, sémantikách, programovacích mechanismech a prioritách v boji o jazyky pro přežití.

Variabilní, stejně jako paměťová buňka azůstalo to dodnes, teprve teď se myšlenky na to změnily. S jistotou procházeli ohněm přísné typizace, nyní říkají: něco může být cokoli a vezme si něco ve skutečné paměti, protože to vůbec není vůbec důležité.

Přiřazení, stav, smyčka, blok ...se v sémantickém plánu mnohem méně změnily, ale syntaxe již dávno byla irelevantní. Boj programovacích jazyků za ideály nedal šanci vyhrát jeden z nich. Nástroj (kompilátor / interpret / shell) musí jednoduše pracovat, být stabilní a plně funkční a jak a co psát / používat je péče programátora, nikoli autor jazyka.

Stack získal nový význam v tomto globálním prostředírozvoj myšlenek a technologií. Proměnné ve formě, ve které jsou vhodné, vrstvené na sobě navzájem, a algoritmy a operátory jsou zahrnuty do sebe. Často slyšíte o zásobníku protokolů, když člověk poskytuje práci jiné.

Stack, funkčnost a rekurze nejsou vůbec synonymem, ale dokonale se doplňují a umožňují vytvářet jedinečné možnosti pro prezentaci a zpracování informací.

Přečtěte si více: