Quina diferència hi ha entre la pila de trucades i la cua de tasques?


Resposta 1:

La pila de trucades és una estructura de dades de procés per procés que manté un registre de la cadena de trucades de funcions i de variables locals en qualsevol moment de l’execució. Viu a la pròpia memòria virtual del procés i és una pila, ja que cada trucada de funcions li posa coses i cada retorn de funcions s’elimina. També s'utilitza sovint per avaluar expressions de la funció. En la majoria de les arquitectures modernes creix cap enrere des del final de la memòria virtual cap a les dades estàtiques o acumuladores.

La cua de tasques (o les cues, pot haver-hi més d’una) és una estructura de dades del nucli (és a dir, no accessible al procés ni part de la seva memòria virtual) que combina conjuntament registres de processos que esperen utilitzar el CPU. Pot haver-hi un per cpu per a sistemes multi-cpu separats i / o una cua separada per a cada nivell de prioritat segons el disseny del planificador. És una cua perquè normalment els registres es col·loquen en un extrem i es treuen de l'altre, tot i que de vegades es pot tornar a ordenar si el planificador decideix fer-ho.


Resposta 2:

Una és una pila. L’altre em resulta més conegut com a cua d’esdeveniments. Els darrers passen a la primera; com una pila de paper. Les cues estan per darrera, per acabar; com una línia.

Quan un programa truca a una subrutina, que truca a una subrutina, teniu una pila i els esdeveniments es completen en ordre invers.

Quan una sèrie d'interrupcions s'afegeixen a la cua d'esdeveniments, es donaran servei a l'ordre de recepció.