todos Tengo alguna pregunta sobre tareas en Linux, sé que todas las tareas que se encuentran actualmente en el estado TASK_RUNNING
están en la estructura de datos llamada runqueue
, pero ¿qué ocurre con las tareas que están esperando algún evento (estados que no son TASK_RUNNING, para ejemplo uno que está esperando la entrada del teclado). ¿Tengo alguna otra estructura de datos para tales tareas o solo general list of tasks
? gracias de antemano por cualquier explicación¿Dónde se almacenan los procesos kernel que no se están ejecutando?
Respuesta
Los procesos en un estado TASK_INTERRUPTIBLE
o TASK_UNINTERRUPTIBLE
se subdividen en diferentes clases, cada una de las cuales corresponde a un evento específico. En este estado, el estado del proceso no proporciona suficiente información para recuperar el descriptor del proceso rápidamente, por lo que se utiliza otra lista de procesos llamada wait_queue
. Wait_queue implementa esperas condicionales en eventos. Un proceso que espera un evento específico se coloca en la cola de espera adecuada.
Las colas de espera se implementan como listas cíclicas cuyos elementos incluyen punteros para procesar los descriptores . Cada elemento de una lista cola de espera es de tipo wait_queue:
struct wait_queue {
struct task_struct * task;
struct wait_queue * next;
};
colas de espera se utilizan para permitir que los procesos que esperar a que un evento en particular que se produzca - tales como la espera de la entrada desde un teclado.
- 1. ¿Dónde se almacenan los archivos evtx archivados?
- 2. ¿Dónde se almacenan los "Certificados" en Firefox?
- 3. ¿Dónde se almacenan los mensajes flash?
- 4. ¿Dónde se almacenan los ivars sintetizados?
- 5. ¿Dónde se almacenan los objetos temporales?
- 6. ¿Dónde se almacenan los metadatos del puntero?
- 7. ¿Dónde se almacenan los módulos de python?
- 8. jps no devuelve ningún resultado incluso cuando los procesos java se están ejecutando
- 9. ¿Dónde se almacenan las macros?
- 10. iPhone: ¿Dónde se almacenan NSUserDefaults?
- 11. ¿Dónde se almacenan las propiedades. Configuración predeterminada?
- 12. ¿Dónde se almacenan los métodos en la memoria?
- 13. ¿Dónde se almacenan los bloques CMS estáticos de Magento?
- 14. ¿Dónde se almacenan los archivos de logcat de Android?
- 15. ¿Dónde se almacenan los volcados centrales en Mac?
- 16. ¿Dónde se almacenan los paquetes del sistema Java?
- 17. ¿Dónde se almacenan los atributos de Java HttpSession?
- 18. Cómo | ¿Dónde se almacenan las variables cerradas?
- 19. ¿Dónde se almacenan los valores de DataValueField para CheckBoxList?
- 20. ¿Dónde se almacenan las imágenes dentro de los programas?
- 21. ¿Cómo cambiar dónde se almacenan los repositorios de Subversion?
- 22. ¿dónde se almacenan los marcadores de sincronización de Google Chrome?
- 23. ¿Dónde se almacenan las compras de InAPP?
- 24. ¿Dónde se almacenan los datos enviados por UDP?
- 25. ¿Dónde se almacenan las preferencias compartidas?
- 26. ¿Dónde se almacenan las reseñas de producto de magento 1.5?
- 27. Determinando si los efectos de JQuery aún se están ejecutando
- 28. ¿Cuántas instancias del CLR se están ejecutando?
- 29. ¿Cómo puedo ver qué procesos se están ejecutando en un servidor ubuntu remoto y matarlos?
- 30. ¿Por qué los procesos asincrónicos no se llaman sincrónicos?