¿Los subprocesos y procesos tienen acumulaciones independientes? Si la respuesta es sí, ¿cuál es la diferencia entre ellos? ¡Gracias de antemano!¿Cuál es la diferencia entre la pila de un subproceso y la pila de un proceso?
Respuesta
Los procesos no tienen una pila. Los hilos lo hacen Un proceso suele ser un espacio de direcciones, algunos recursos y uno o más subprocesos. Los hilos ejecutan el código real del proceso para que cada uno tenga su propia pila.
El artículo de la wiki en pilas contiene más información http://en.wikipedia.org/wiki/Call_stack
Por lo que sé (y corrígeme si me equivoco), cada proceso se le da su propio espacio de memoria, que contiene 3 segmentos: el segement de texto (es decir, el programa), el segmento de datos (hasta donde sé que es para variables globales y estáticas), el segmento de pila que contiene una cantidad de cosas como variables locales, los parámetros de las funciones, la dirección a la que debe regresar una función.
Cada proceso puede tener uno o más subprocesos. Los subprocesos del proceso comparten el espacio de memoria del proceso, no "poseen" recuerdos propios, esto los hace fáciles de crear y terminar.
Recapitulemos: el proceso tiene su propia pila, el hilo no tiene su propia pila.
Si me equivoco acerca de esto, siéntete libre de corregirme.
En realidad, el libro de Mr.Tanenbaum "operating systems" cubre este problema.
- 1. ¿Cuál es la diferencia entre la pila del kernel y la pila del usuario?
- 2. Cuál es la diferencia entre un subproceso y un controlador
- 3. ¿Cuál es la diferencia entre un subproceso de trabajo y un subproceso de E/S?
- 4. ¿Cuál es la diferencia entre una falla de segmentación y un desbordamiento de pila?
- 5. ¿cuál es la diferencia básica entre la pila y la cola?
- 6. ¿Cuál es la diferencia principal entre un vector y una pila?
- 7. ¿cuál es la diferencia entre la pila de software y el sistema operativo? ¿Por qué Android no es un sistema operativo sino una pila de software?
- 8. ¿Cuál es la diferencia entre la pulverización de montón, desbordamiento de pila, desbordamiento de montón?
- 9. Pila de tareas y actividades: ¿cuál es la diferencia entre ambos?
- 10. Pila Caminar un proceso depurado
- 11. La pila .NET vs pila de Windows
- 12. Obtener la pila detrás de un proceso en ejecución
- 13. ¿Cuál es la mejor pila Java SIP?
- 14. ¿Cuál es la diferencia entre Call Stack y Stack Trace?
- 15. ¿Cuál es la diferencia entre un controlador y un servicio?
- 16. ¿Cuál es la diferencia entre un ayudante y un parcial?
- 17. ¿Cuál es la diferencia entre un algoritmo y un método
- 18. ¿Cuál es la diferencia entre un "nonce" y un "GUID"?
- 19. ¿Cuál es la diferencia entre un JavaBean y un POJO?
- 20. ¿Cuál es la diferencia entre un lenguaje y un marco?
- 21. ¿Cuál es la diferencia entre usar el grupo de subprocesos y un subproceso normal?
- 22. ¿Cuál es la diferencia entre un predicado y un funcionador?
- 23. ¿Cuál es la diferencia entre un árbol y un directorio?
- 24. ¿Cuál es la diferencia entre un vector y un vértice?
- 25. ¿Cuál es la diferencia entre un método y un selector?
- 26. ¿Cuál es la diferencia entre un nanokernel y un exokernel?
- 27. ¿Cuál es la diferencia entre un HashMap y un TreeMap?
- 28. ¿Cuál es la diferencia entre un REPL y un intérprete?
- 29. ¿Cuál es la diferencia entre un IORef y un MVar?
- 30. Establezca el tamaño de la pila con setrlimit() y provoque un desbordamiento de la pila/segfault