Articulo de referencia

Bloque de control de tareas

El Bloque de Control de Tareas ( TCB ) es una estructura de datos que contiene el estado de una tarea [ a ] en, por ejemplo, OS/360 y sucesores en la arquitectura IBM System/360...

El Bloque de Control de Tareas ( TCB ) es una estructura de datos que contiene el estado de una tarea [ a ] en, por ejemplo, OS/360 y sucesores en la arquitectura IBM System/360 y sucesores.

El TCB en OS/360 y sucesores

En OS/360 , OS/VS1 , SVS , MVS/370 , MVS/XA , MVS/ESA , OS/390 y z/OS , el TCB [ 1 ] [ 2 ] [ 3 ] : 311–321 contiene, entre otros datos, indicadores de no despachabilidad y los registros generales y de punto flotante para una tarea que actualmente no está asignada a una CPU.

Un TCB proporciona un ancla para una lista enlazada de otros bloques de solicitud relacionados [ 3 ] : 269–301 (RB); el RB enlazado superior para un TCB contiene la palabra de estado del programa (PSW) cuando la tarea no está asignada a una CPU.

Cuando el despachador del programa de control selecciona un TCB para ser despachado, carga los registros del TCB y carga el PSW desde el RB superior del TCB, despachando así la unidad de trabajo.

Bloques de solicitud

OS/360 tiene los siguientes tipos de bloques de solicitud

Bloque de solicitud de interrupción [ 3 ] : 281–284
Un IRB se utiliza para manejar una salida asíncrona. [ b ]
Bloque de solicitud de programa [ 3 ] : 285–287
Un PRB representa un módulo invocado con una macro ATTACH, una macro LINK o una salida síncrona. [ c ]
Bloque de solicitud de interrupción del sistema [ 3 ] : 289–291
Un SIRB se utiliza para ejecutar código de recuperación de errores de E/S.
Bloques de solicitud del supervisor [ 3 ] : 293–301
Un SVRB representa la ejecución de una rutina SVC de tipo 2, tipo 3 o tipo 4.

Un RB contiene varios campos, entre ellos un PSW antiguo, registros generales antiguos, un PSW y un contador de espera.

Despacho

El Despachador es una rutina en el núcleo que selecciona el trabajo que se va a despachar. Selecciona la tarea de mayor prioridad que:

  1. No se está ejecutando en otra CPU.
  2. No tiene ninguna bandera de no despacho establecida.
  3. Tiene un corredor de primera categoría con un tiempo de espera de cero.

El sistema mantiene un par [ d ] de punteros TCB conocidos como TCB antiguo y TCB nuevo. Un puntero TCB nuevo de cero hace que el despachador busque una tarea elegible.

Cuando el despachador encuentra una tarea elegible, establece los punteros TCB antiguo y nuevo, carga los registros del TCB y carga el PSW desde el RB superior.

Si el despachador no encuentra trabajo que cumpla los requisitos, entra en una espera habilitada.

Historia

Con la introducción de MVS/370 y los sistemas sucesores, se introdujo un entorno completamente nuevo: el Bloque de Solicitud de Servicio (SRB), que generalmente tiene una prioridad más alta que cualquier Bloque de Control de Tareas y, de hecho, que a su vez tiene dos prioridades distintas: un SRB Global (prioridad sobre todos los SRB y TCB del espacio de direcciones local) y un SRB Local (prioridad solo sobre los TCB del espacio de direcciones local); y el despachador de MVS debe administrar todo esto con absoluta coherencia en hasta dos procesadores (MVS/370) y hasta dieciséis procesadores (sistemas sucesores).

Véase también

Notas

  1. Aproximadamente análogo a un hilo ensistemas operativos tipo UNIX .
  2. Una rutina asíncrona para manejar una excepción, un evento de temporizador u otra señal.
  3. Rutina de devolución de llamada sin privilegios.
  4. En 65MP hay un par para cada CPU; en MVS hay punteros para cada espacio de direcciones.

Referencias

  1. Sistema operativo IBM System/360 - Supervisor de tareas fijas - Número de programa 360S-CI-505 (PDF) . Lógica del programa (Tercera  edición). Febrero de 1967. Y28-6612-2.
  2. Sistema operativo IBM System/360 - Supervisor MVT (PDF) . Lógica de programas (octava edición). Mayo de 1973. GY28-6659-7 . Consultado el 14 de marzo de 2022 . 
  3. 1 2 3 4 5 6 Sistema operativo IBM System/360: Bloques de control del sistema - Versión 21.7 del sistema operativo (PDF) . Biblioteca de referencia de sistemas (Décima edición). IBM. Abril de 1973. GC28-6628-9 . Consultado el 12 de junio de 2022 .