2011-11-08 9 views
7

Quiero agregar una entrada a la estructura de bloques de control de proceso (task_struct). Digamos una forma de etiquetar algún proceso. Quiero inicializar este campo a 0 para todo el proceso excepto "algunos procesos especiales", más adelante al llamar al sched_setscheduler() Estableceré este indicador para los "procesos especiales".Agregar entrada a task_struct e inicialización al valor predeterminado

¿Alguien tiene una idea de cómo asignar un valor predeterminado a una variable miembro en task_struct?

Respuesta

10

Supongo que está hablando de un núcleo de Linux reciente, porque los detalles de implementación cambian con el tiempo.

Hay dos opciones. El primero: puede establecer el valor de la variable en el init_task global. Vea cómo se hace en el encabezado linux/init_task.h. La segunda opción es agregar código a copy_process, lo cual es posible que desee hacer de todos modos para manejar correctamente la herencia fork() del campo que está agregando.

Cuestiones relacionadas