PROCESOS

Un proceso puede informalmente entenderse como un programa en ejecución. Formalmente un proceso es: Una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de recursos de los sistemas asociados.

–          Un sistema operativo ejecuta una variedad de programas:

  • Sistemas por lotes. Trabajos.
  • Sistemas de tiempo compartido. Programas de usuario o tareas.

–          Definición: un programa en ejecución con el entorno asociado/unidad de procesamiento gestionada por el SO.

–          Un proceso Incluye:

  • Un contador de programa.
  • Pila.
  • Sección de datos, código.

–          Programa: ente pasivo.

–          Proceso: ente activo.

TRAZAS DE LOS PROCESOS

Listado de la secuencia de instrucciones que se ejecutan para un proceso.

MODELO SIMPLIFICADO DE UN PROCESO

–          Un proceso puede estar en dos estados:

  • Corriendo.
  • No corriendo.

ESTADO DE LOS PROCESOS:

En la medida que se ejecuta un proceso su estado se modifica.

–          Nuevo: El proceso se está creando.

–          Corriendo: Las instrucciones están ejecutándose.

–          Esperando/Bloqueado: El proceso está a la espera de la ocurrencia de algún evento.

–          Listo: El proceso está esperando a ser asignado al procesador.

–          Terminado: El proceso ha terminado su ejecución.

OTRO DIAGRAMA DE TRANSICIÓN DE ESTADO DE LOS PROCESOS, MÁS COMPLEJO QUE LOS ANTERIORES.

DIAGRAMA DE TRANSICIÓN DE ESTADO DE LOS PROCESOS EN UNIX V

OPERACIONES SOBRE LOS PROCESOS

–          Crear: nombre, BCP (Bloque de control de procesos), Tabla (estructuras de datos del proceso), recursos, prioridad, Jerárquico/ no jerárquico (Generador o no generador de nuevos procesos).

–          Destruir: eliminarlo del sistema.

  • Eliminación calmada.
  • Eliminación desaforada.

–          Suspender: paraliza.

  • Falla.
  • Pausa.
  • Congestión.

–          Retardar: duérmase por un tiempo. Por ejemplo 2min.

–          Abortar: Terminar.

–          Leer atributos.

–          Reanudar.

–          Cambiar Prioridad.

–          Bloquear E/S: espera propia del proceso

–          Despertar / Desbloqueo.

–          Despachar: transición que pasa de listo a ser atendido por el procesador.

–          Temporizar: Ejecución programada. Ejemplo Inicia en 2min.

Estructura general de las tablas de control del SO

Bloque de control de procesos (PCB)

Descriptor del proceso para SO en la tabla de procesos, información asociada con cada proceso.

–          Identificación del proceso (PID).

–          Identificación del proceso, Afinidad.

–          Estado del proceso (flags).

–          Identificación de usuario, grupo.

–          Contador de programa.

–          Apuntador a proceso padre.

–          Apuntadores a procesos hijos.

–          Registros visibles de la CPU (cisc 8-32 risc >100)

–          Información de planificación de la CPU (prioridad).

–          Información de Admon de la memoria (datos, instrucciones).

–          Información contable.

–          Información de estado E/S.

–          Localiza, identificador, estado padre, hijos, prioridad, memoria, estadísticas, recursos en uso, privilegios, hora inicio.

La CPU cambia de proceso a proceso

–          Cuando la CPU cambia a otro proceso, el sistema debe guardar el estado del proceso anterior y carga el estado guardado del nuevo proceso.

–          La conmutación de contexto es trabajo extra, el sistema no realiza trabajo útil mientras conmuta, depende en gran medida del apoyo del hw.

–          Cuando un proceso está ejecutando su estado reside en los registros del computador.

–          Cuando un proceso no se está ejecutando, su estado reside en el BCP.

Planificadores

–          El planificador de corto plazo o planificador de CPU selecciona que proceso debe ser ejecutado enseguida y se le asigna la CPU.

–          Planificador de mediano plazo: intermedio.

–          El planificado de largo plazo o planificado de trabajos: selecciona que procesos debe ser traídos a la cola de listos, es solicitado con poca frecuencia (segs, minutos) => puede ser lento.

–          El planificador de largo plazo controla el grado de multiprogramación.

–          Los procesos pueden ser descritos como:

  • Procesos limitados por E/S. Consumen más tiempo realizando operaciones de E/S como cálculos, que causan muchas ráfagas cortas a la CPU.
  • Procesos limitados por CPU. Consumen más tiempo realizando cálculos, emplean pocas ráfagas fuertes a la CPU.

Representación de la planificación de procesos

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s