Visión general de los procesos en Linux

  
 Cada proceso en Linux se describe mediante una estructura de datos task_struct. En Linux, la tarea
(tarea) y el proceso
(proceso) son dos términos idénticos, y task_struct en realidad se llama """ Bloque de control de proceso " es decir, PCB. Task_struct contiene toda la información de un proceso, es el único medio para que el sistema controle el proceso y es el medio más efectivo.
En Linux 2.4, Linux asigna dinámicamente una estructura task_struct para cada proceso recién creado. El número máximo de procesos permitidos por el sistema está determinado por el tamaño de la memoria física que posee la máquina. Por ejemplo, en la arquitectura IA32, una máquina con 512M de memoria puede alcanzar un máximo de 32 K, que es el núcleo antiguo (2.2). La versión anterior ha sido enormemente mejorada.
Linux es compatible con multiprocesador (SMP), por lo que se permiten varias CPU en el sistema. Cuando se usa Linux como un sistema operativo multiprocesador
, el número máximo de CPU permitidas en el sistema es 32. . Obviamente, cuando Linux se usa como un sistema operativo independiente, solo hay una CPU en el sistema. Este libro trata principalmente la situación de un solo procesador.
Similar a otros sistemas operativos, Linux también admite dos procesos: procesos normales y procesos en tiempo real. Los procesos en tiempo real tienen un grado de urgencia que requiere una respuesta muy rápida a los eventos externos, mientras que los procesos normales no. Por lo tanto, el programador debe tratar los dos procesos de manera diferente. Por lo general, el proceso en tiempo real se ejecuta más rápido que el proceso normal. La distinción entre estos dos procesos también se refleja en la estructura de datos task_struct.
En resumen, la estructura de datos task_struct que contiene toda la información del proceso es bastante grande, pero la estructura de datos en sí no es complicada. Podemos dividir todos sus campos según sus funciones de la siguiente manera:
· Estado del proceso

· Información de programación

· Identificadores )

· Información de comunicación del proceso (IPC: Inter_Process Communication)

· Hora y temporizadores

· Información de enlace del proceso (enlaces)

· Información del sistema de archivos (Sistema de archivos)

· Virtual Información de la memoria (memoria virtual)

· Información de administración de la página (página)

· Información del multiprocesador simétrico (SMP)

· Contexto específico del procesador (Contexto específico del procesador)

· Otra información

A continuación describimos en detalle la estructura task_struct.
Copyright © Conocimiento de Windows All Rights Reserved