You are on page 1of 29

UNIDAD 2

Administracin de procesos y del procesador

PROCESO
El trmino proceso, utilizado a veces como sinnimo de tarea, ha tenido muchas definicione s.

Un programa en ejecucin Una actividad asncrona El espritu animado de un procedimiento El centro de control de un procedimiento La entidad a la que se asignan los procesadores La unidad despachable

PROCESO
Un proceso es tan solo una porcin de un programa que est en ejecucin; esta porcin incluye las instrucciones del proceso y tambin el ambiente de trabajo del proceso mismo.

PROCESO
El ambiente estar formado por los elementos que rodean al proceso: Registros del CPU Variables del programa Valor del contador de instrucciones Pilas de datos, etc.

Diferencia entre Proceso y Programa

Un programa es una entidad pasiva mientras que un proceso es una entidad activa. Un programa es una entidad inanimada que se convierte en una entidad activa llamada proceso cuando el procesador le infunde vida.

CREACION DE PROCESOS
Los cuatro principales sucesos que provocan la creacin de nuevos procesos son: La inicializacin del sistema. La ejecucin por parte de un proceso (en ejecucin) de una llamada al sistema de creacin de un nuevo proceso. La peticin por parte del usuario de la creacin de un nuevo proceso. El inicio de un trabajo en batch.

1. 2.

3.

4.

Tipos de Procesos
Cuando un SO arranca se crean varios procesos:

De superficie (o en primer plano) De fondo (o en segundo plano)

PROCESOS

Si un proceso puede crear uno o ms procesos se le llama padre y a los procesos creados se les llama hijos.
A

TERMINACION DE PROCESOS

El proceso completa su trabajo y termina (voluntariamente) El proceso detecta un error y termina (voluntariamente) El sistema detecta un error fatal del proceso y fuerza su terminacin Otro proceso fuerza la terminacin del proceso

RAZONES PARA LA TERMINACION DE UN PROCESO


Terminacin normal Tiempo lmite excedido Memoria no disponible Violacin de lmites Error de proteccin Error aritmtico Tiempo de espera

Falla de E/S Instruccin invlida Instruccin privilegiada Mal uso de datos Intervencin del operador o de SO Terminacin del padre Solicitud del padre

PCB (Process Control Block)

La forma en que se manifiesta un proceso en un SO es mediante un bloque de control de proceso o un descriptor de proceso.

PCB
Es la entidad que define un proceso al SO, es la ms importante y principal estructura de datos en un SO.

PCB

Esta estructura de datos contiene informacin importante acerca de un proceso, incluyendo: El estado actual del proceso Un identificador nico del proceso Un apuntador hacia el padre del proceso Apuntadores a los hijos del proceso La prioridad del proceso Apuntadores hacia las zonas de memoria del proceso Apuntadores a los recursos asignados al proceso Un rea para salvaguarda de los procesos El procesador en que se est ejecutando el proceso

ESTRUCTURAS DE CONTROL DEL SO

1.
2. 3.

4.

El SO construye y mantiene tablas de informacin sobre cada entidad que maneja. Fundamentalmente mantiene la informacin en 4 categoras: Tablas de Memoria Tablas de E/S Tablas de Archivos Tablas de Procesos

Estados del Proceso

Se dice que un proceso se est ejecutando si tiene asignado el CPU Se dice que un proceso est listo si se encuentra actualmente en memoria y con recursos asignados, slo le falta que se le asigne el CPU Un proceso est bloqueado si est esperando que suceda algn evento antes de proseguir su ejecucin

Transicin de estado de los procesos


despierto

En ejecucin
Bloqueado Despachar Expiracin del tiempo

despierto

Listo

Bloqueado

dormido

Despertar

PROCESOS

La asignacin del procesador al primer proceso de la lista de procesos se llama despacho; sta actividad la realiza una entidad del sistema llamada despachador (dispatcher).

Intervalos de tiempo

Para evitar que un proceso monopolice el sistema, el SO utiliza un reloj de interrupcin por hardware para que las tareas se ejecuten durante un intervalo especfico de tiempo o cuanto (quantum). Si el proceso no libera voluntariamente el CPU antes de que expire el intervalo de tiempo, el reloj genera una interrupcin.

Clases de Interrupciones
Se pueden distinguir dos clases de interrupciones del sistema: Interrupcin : la provoca alguna clase de evento externo e independiente del proceso que corre en ese momento. Interrupcin atrapar : se relaciona con una condicin de error o excepcin generada dentro del proceso que corre en ese momento.

Interrupciones dentro del sistema

Interrupciones SVC Interrupciones de E/S Interrupciones externas Interrupciones de reinicio Interrupciones de verificacin del programa Interrupciones de verificacin de la mquina

Cuando ocurre una interrupcin:


1.

2.

3.

4.

5.

6.

El SO toma el control (el HW pasa el control al SO) El SO guarda el estado del proceso interrumpido (PCB) El SO analiza la interrupcin y transfiere el control a la rutina apropiada para atenderla La rutina del manejador de interrupciones procesa la interrupcin Se restablece el estado del proceso interrumpido (o del siguiente proceso) Se ejecuta en proceso interrumpido (o el siguiente proceso)

MANEJADOR DE INTERRUPCION

Es un programa corto que ejecuta unas cuantas tareas bsicas relacionadas con una interrupcin. Por ejemplo, restablece la bandera o indicador que seala la presencia de una interrupcin.

CAMBIO DE CONTEXTO
Cuando una interrupcin est pendiente, el procesador hace lo siguiente: Guarda el contexto del programa actual que se ejecuta. Establece el CP en la direccin de inicio de un programa manejador de interrupcin.

CAMBIO DE CONTEXTO
Qu informacin contiene el contexto que se guarda? Cualquier informacin que pueda alterarse por la ejecucin del manejador de interrupcin y que se necesitar para reanudar el programa que se interrumpi.

EXCLUSIN MUTUA

Es una manera de asegurar que si un proceso est utilizando una variable compartida ( o archivo) los dems procesos estarn excluidos de hacer uso de esa misma variable.

Definicin
Cada proceso que obtiene acceso a los datos compartidos impide que los otros procesos hagan simultneamente lo mismo. Esto se conoce como exclusin mutua.

SECCIN CRTICA

La parte de un programa donde se accede a la memoria compartida se denomina la regin crtica o seccin crtica.

Exclusin mutua utilizando regiones criticas


A entra en su regin crtica A deja su regin crtica

Proceso A

B intenta entrar en su regin critica

B entra en su regin critica

B deja su regin critica

Proceso B
Proceso B bloqueado T1 T2 T3 T4

Tiempo

Exclusin mutua utilizando regiones crticas


Deben cumplirse 4 condiciones para obtener una solucin satisfactoria: Ningn par de procesos pueden estar simultneamente dentro de sus regiones crticas. No debe hacerse ninguna suposicin sobre la velocidad o el nmero de CPUs. Ningn proceso fuera de su regin crtica puede bloquear a otros procesos. Ningn proceso deber tener que esperar infinitamente para entrar en su regin crtica.

You might also like