fare thread e processi entrambi hanno pile indipendenti? Se la risposta è sì, qual è la differenza tra loro? Grazie in anticipo!Qual è la differenza tra lo stack di un filo e lo stack di un processo
risposta
I processi non hanno uno stack. Le discussioni fanno. Un processo è in genere uno spazio di indirizzi, alcune risorse e uno o più thread. I thread eseguono il codice effettivo del processo in modo che ciascuno abbia il proprio stack.
L'articolo wiki sulle pile ha più informazioni http://en.wikipedia.org/wiki/Call_stack
Da quello che so (e correggetemi se sbaglio), ogni processo è dato proprio spazio di memoria, che contiene 3 segmenti: il testo segement (cioè il programma), il segmento di dati (per quanto ne so è per le variabili globali e statiche), il segmento di stack che contiene una serie di cose come variabili locali, parametri le funzioni, l'indirizzo che un functioin dovrebbe tornare.
Ogni processo può avere uno o più fili. le discussioni del processo condividono lo spazio di memoria del processo, non "possiede" i ricordi di loro, questo li rende facili da creare e per terminare.
Ricapitolando: il processo ha il proprio stack, il thread non ha il proprio stack.
Se mi sbaglio su questo non esitate a correggermi.
realtà del libro "sistemi operativi" del Mr.Tanenbaum copre questo problema.