Jaký je rozdíl mezi hromadou hovorů a frontou úkolů?


Odpověď 1:

Zásobník volání je interní datová struktura pro jednotlivé procesy, která uchovává záznam o řetězci volání funkcí a lokálních proměnných v kterémkoli bodě provádění. Žije ve vlastní virtuální paměti procesu a jedná se o zásobník, protože každé volání funkce na něj vloží věci a každý návrat funkce ji odstraní. Často se používá také při hodnocení výrazů v rámci funkce. Ve většině moderních architektur roste dozadu od konce virtuální paměti směrem k statickým nebo haldy datům.

Fronta úloh (nebo fronty mohou být více než jedna) je datová struktura jádra (tj. Není přístupná procesu a není součástí jeho virtuální paměti), která spojuje dohromady záznamy procesů čekajících na použití procesoru. Pro systémy s více procesory může existovat samostatná jedna na CPU a / nebo samostatná fronta pro každou prioritní úroveň podle návrhu plánovače. Je to fronta, protože záznamy jsou obvykle umístěny na jednom konci a odstraněny na druhém konci, i když to může někdy být změněno, pokud se tak rozhodne plánovač.


Odpověď 2:

Jeden je komín. Druhá je mi známa jako fronta událostí. Útoky jsou poslední, první ven; jako zásobník papíru. Otázky jsou poslední, poslední; jako sestava.

Když program volá podprogram, který volá podprogram, máte zásobník a události jsou dokončeny v obráceném pořadí.

Když se do fronty událostí přidá řada přerušení, obsluhují se v pořadí, v jakém jsou přijata.