El Kernel de Linux - Process Scheduler

6 - Process Scheduler

[editar]
Tutorial creado por Juan Carlos Inostroza. Extraido de: http://www.tux.cl/articulos.php?id=28
30 de Noviembre de 1999
PC o Process Scheduler (Programador de Procesos) es en realidad el corazón del Sistema Operativo. Sus responsabilidades son:

  • Permitirle a los procesos crear nuevas copias de sí mismos (forking)
  • Determinar qué proceso tendrá acceso a la CPU
  • Recibir interrupciones y desviarlas hacia el subsistema respectivo
  • Enviar mensajes a los procesos de usuario
  • Manejar el reloj de Hardware (Hardware Timer)
  • Liberar recursos cuando un programa los haya desocupado.

El Process Scheduler tambié soporta modulos cargados dinámicamente. Una de las funcionabilidades más importantes de ésto último son el Virtual File System y Network Interface.

También provee dos interfaces. Uno, provee una interface de llamada a sistema limitada que los procesos pueden llamar. Dos, provee una interface para el resto del espacio del Kernel.

En tiempo de booteo, Linux posee sólo un proceso, init(), que a su vez realiza copias de sí mismo a través de llamadas fork(). Cuando un proceso termina, ejecuta la llamada a _exit().

PS ademas posee llamados a señales a través de signal(). Esta llamada permite a un proceso asociar un manejador de funcion (function handler) con una señal en particular. Las señales pueden considerarse como una forma de IPC o intercomunicación de procesos.

Acerca del timer, Linux maneja un timer interno que se inicia cada 10 milisegundos. Esto permite que los procesos se reasignen (Scheduling) cada 10 ms. Esta unidad se llama "clock tick" que sirve para medir la cantidad de ticks que un proceso en particular puede continuar ejecutándose sin forzar su reasignación.

Cada proceso se asigna con un identificador único, llamado Process ID o pid, que es asignado a la lista de procesos o tabla de procesos.

Finalmente, una estructura de modulos es usada para representar los modulos cargados en tiempo de ejecución. Esta estructura posee campos que son usados para implementar una lista de estructura de modulos. Es decir, un campo que apunta a la tabla de símbolos de los módulos y otro con el nombre del módulo.
[editar]

1 opinión

Linux.

Bueno bueno bueno.

Tutoriales relacionados con 'El Kernel de Linux'

Linux es en realidad un Kernel. Una distribución GNU/Linux es la mezcla de software GNU... Más »
Esta es la primerísima edición del Linux en Castellano COMO. La audiencia a la que... Más »
Este documento describe el soporte de sonido para Linux. Enumera el hardware de sonido soportado,... Más »
La compilación del kernel se hace a la manera Debian, es decir, con herramientas propias... Más »
Esta guía no es un documento general de seguridad. Esta guía está específicamente orientada a... Más »

Autor y licencia de 'El Kernel de Linux'


Tutorial de Juan Carlos Inostroza. Extraido de: http://www.tux.cl/articulos.php?id=28 CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.