Vous êtes sur la page 1sur 22

GESTION DE PROCESOS

Un proceso es una abstraccin de un programa en ejecucin y es la unidad de trabajo del sistema. Se puede definir a un proceso como un programa en ejecucin. Hemos de tener en cuenta que en el ordenador se ejecutan los programas, y cada programa es divido en procesos que se cargan en memoria y se ejecutan uno tras otro. El sistema operativo es el encargado de hacerlo todo, la carga de los procesos en memoria y la ejecucin de dichos procesos, pues para que se ejecute un programa es necesario que el microprocesador ejecute los procesos de ese programa. El microprocesador no hace las cosas por si solo, es el sistema operativo el que determina que proceso se debe ejecutar y cuanto tiempo debe estar ejecutndose, a todo esto se le denomina gestin de procesos.

Los estados por los que transita un proceso son: Nuevo: El proceso esta siendo creado En Ejecucin: Se estn ejecutando las instrucciones. En espera: El proceso est esperando a que se produzca un suceso Preparado: El proceso est a la espera de que se le asigne a un procesador Terminado: Ha finalizado su ejecucin

En el estado en ejecucin solo puede haber un proceso, sin embargo, varios pueden estar listos o bloqueados. Los procesos no pueden pasar por ellos mismos de listos a ejecucin, es el S.O. el que decide cuando se pasa de listo a ejecutado.

Cada proceso se encuentra representado en el S.O. mediante una estructura denominada Bloque de Control de Procesos o PCB, que contiene toda la informacin que se necesita saber sobre el proceso entre otras cosas debe guardar el estado actual del proceso. Un BCP contiene muchos elementos de informacin asociados con un proceso especfico, entre los que se incluyen:

Estado del proceso: El estado puede ser nuevo, en ejecucin, en espera, etc. Contador de programas: Contiene la direccin de la siguiente instruccin a ejecutar por el proceso. Registro de CPU: Varan en cuanto a nmero y tipo, dependiendo de la arquitectura de la computadora. Incluye acumuladores, registro de ndices, punteros de pila y registros de propsito general. Informacin de planificacin CPU: Incluye prioridad del proceso, apuntadores a colas de planificacin, etc. (Informacin del algoritmo de planificacin). Informacin de gestin de memoria: Incluye informacin acerca del valor de los registros base y limites, las tablas de paginacin o tablas de segmentos, dependiendo del mecanismo de gestin de memoria. Informacin contable: Contiene informacin acerca de la cantidad de CPU y tiempos empleados, los lmites de tiempo asignados, el nmero de trabajo o de proceso. Informacin del estado de E/S: Esta informacin incluye, solicitudes pendientes de E/S, dispositivos de E/S asignados al proceso, etc.

Los hilos son procesos ligeros que se componen de registros, un espacio de pila y un contador de programa. Los hilos comparten su cdigo ejecutable, su pila y los recursos que utiliza. Con el uso de hilos deja de ser necesaria la costosa conmutacin de contexto de uno a otro proceso. Los hilos son especiales para realizar procesamiento paralelo, pero esto incurre en algunos problemas como la consistencia de datos, para lo que se usan distintos mecanismos para solucionarlos como secciones crticas y cerraduras. Los hilos pueden estar a nivel del ncleo del sistema operativo o a nivel de usuario.

La planificacin de procesos tiene como objetivos obtener siempre la mayor productividad, o la mayor cantidad de trabajos realizados en una unidad de tiempo, por Ejemplo: 77 procesos por hora. El concepto de planificacin podra llamarse al conjunto de polticas y mecanismos incorporados al sistema operativo por el que se rige el orden en el que se completa el trabajo que hay que realizar.

Con la planificacin se pretende:

1. Justicia en el reparto de la CPU entre los diferentes usuarios.


2. Evitar la postergacin indefinida de los procesos siempre dentro de la seguridad de las prioridades. 3. Logra la mxima capacidad de ejecucin con el mayor nmero de usuarios interactivos. 4. Se busca el equilibrio del uso de los recursos y de la respuesta de utilizacin. 5. Se pretende poder discriminar procesos de tal manera que se permita dar mayor prioridad a aquellos procesos que tengan asignados recursos claves.

- A alto nivel o de trabajo. Determinar a que trabajos se les va a permitir competir activamente por los recursos del sistema. - A nivel intermedio. Discriminamos a qu procesos se les puede permitir competir por la C.P.U., siempre intentando conseguir el mayor rendimiento del sistema. - A bajo nivel. Determina a que proceso de los que estn listos se le va a asignar la C.P.U. al quedar sta disponible.

Los algoritmos de planificacin deben tener en cuenta una serie de casos: Utilizacin de la C.P.U., queremos que la C.P.U. se mantenga tan ocupada como sea posible. Rendimiento, una medida del trabajo es el nmero de procesos que se completa por unidad de tiempo. Tiempo de Retorno, sera la suma de los periodos transcurridos esperando entrar en la memoria, esperando en la cola de procesos listos, ejecutndose en la C.P.U. y efectuando operaciones de E/S. Tiempo de espera, es el tiempo que el proceso espera en la cola de procesos listos. El tiempo de respuesta, el tiempo transcurrido desde la presentacin de una solicitud hasta que se produce la primera respuesta.

A medida que los procesos entran al sistema se colocan en una cola de trabajos que contiene todos los procesos del sistema. Los procesos que residen en memoria principal y estn preparados y en espera de ejecucin se encuentran en la cola de procesos preparados (lista enlazada, contiene un puntero al primer y ltimo PCB de la lista). Cada PCB incluye un campo de puntero que apunta al siguiente PCB de la cola de procesos preparados. El sistema tambin incluye otras colas como son las colas de dispositivos.

Durante el tiempo de vida, los procesos se mueven entre las diferentes colas de planificacin. El SO como parte de la planificacin debe seleccionar un proceso que se encuentran en las colas. Este proceso se lo realiza a travs de un Planificador. En un sistema de procesamiento por lotes, se enva ms procesos de los que se puede ejecutar de forma inmediata. Estos procesos se guardan en dispositivos de almacenamiento masivo, donde se mantiene para su posterior ejecucin.

La clave de la multiprogramacin es la planificacin. Implica tres tipos de planificacin. Planificadores a largo plazo (Planificador de trabajos).- Decide si se aade al conjunto de programas a ser ejecutados. Planificador a mediano plazo.- Decide si se aade al nmero de procesos que estn total o parcialmente en memoria principal. Planificadores a corto plazo (Planificador del CPU).-Decide cul de los procesos disponibles ejecutar el procesador.

Cuando se produce una interrupcin el sistema tiene que guardar el contexto actual del proceso que se esta ejecutado en la CPU, de modo que se pueda restaurar dicho contexto cuando su procesamiento concluya, suspendiendo el proceso y reanudndolo despus. El tiempo dedicado al cambio de contexto es tiempo desperdiciado. El tiempo empleado para el cambio de contexto depende fundamentalmente del soporte hardware.

Crearlo, darle un nombre o identificador, meterlo en la lista de procesos listos, asignarle una prioridad, crear el PCB y darle los recursos que necesite, etc.. Destruir un proceso, liberndose todos los recursos que tena asignado el proceso. La prioridad del proceso sera la prioridad en el PCB. Cambiarle la prioridad al proceso, modificar la prioridad en el PCB. Bloquear un proceso, pasar de estado activo a bloqueado debido a que tiene que esperar a que suceda un evento. Activar un proceso, cuando termina un evento por el que est esperando un proceso y se encontrase este bloqueado, entonces pasa este a listo. Despachar un proceso, el procesador asigna el primer proceso que se encuentra en la lista de listos, pasando ste de estado listo a activo.

Procesos independientes: Si no pude afectar o verse afectado por los restantes procesos del sistema. Procesos cooperativos: Si puede afectar o verse afectado por otros procesos. Hay varias razones para proporcionar un entorno que permita la cooperacin entre procesos: * Compartir informacin * Acelerar los clculos * Modularidad. * Conveniencia. Los procesos Cooperativos requieren mecanismos de comunicacin interprocesos (IPC). Que les permita intercambiar datos e informacin. Existen dos modelos fundamentales de IPC. 1. Memoria Compartida 2. Paso de mensajes.

La comunicacin interprocesos que emplea memoria compartida requiere que los procesos que se estn comunicando establezcan una regin de memoria compartida. El SO evita que otro proceso pueda ingresar a direcciones de memoria de otro proceso, por cual los procesos cooperativos deben eliminar esta restriccin.

La comunicacin tiene lugar mediante el intercambio de mensajes entre los procesos cooperativos. Proporciona un mecanismo que permite a los procesos comunicarse y sincronizar sus acciones sin compartir el mismo espacio de direcciones. Una facilidad de paso de mensajes proporciona al menos dos operaciones: en vio de mensajes y recepcin de mensajes. Existen mtodos para implementar lgicamente un enlace y las operaciones de envo y recepcin: Comunicacin directa o indirecta. Comunicacin sncrona o asncrona. Almacenamiento en bfer explicito o automtico.

Comunicacin directa: se enva un mensaje de un proceso

a otro cuyos parmetros son nombre de proceso y mensaje. Su sintaxis es: enviar(procesoP,mensaje) y recibir(procesoQ,mensaje) Comunicacin indirecta: el mensaje se enva a un buzn de mensajes. La sintaxis es: enviar(buzn,mensaje) y recibir(buzn,mensaje). Cada proceso tiene un buzn propio y este se puede implementar a travs de un buffer, que puede ser de capacidad cero, capacidad limitada, o capacidad ilimitada. En todos los casos el sistema operativo o el subsistema de comunicacin entre procesos (IPC) deben asegurar la consistencia y la correctitud de los mensajes. Para esto se pueden implementar sumas de verificacin (checksum) o similares.

Al haber procesos concurrentes se deben emplear mecanismos para asegurar la consistencia de los datos. Como ejemplo, supongamos que tenemos 3 procesos concurrentes que quieren modificar un mismo archivo. Si los 3 acceden a este al mismo tiempo el archivo quedar con valores incorrectos. Para resolver problemas como este se ide la seccin crtica, que es el segmento de cdigo que accede a los recursos. Slo puede haber una seccin crtica en ejecucin por vez, as nos aseguramos que los datos quedan consistentes.

Los mensajes intercambiados por los procesos que se estn comunicando residen en una cola temporal, tales colas se pueden implementar de tres maneras: Capacidad Cero: La longitud mxima es de cero; por lo cual no hay ningn mensaje esperando en el enlace. Capacidad Limitada: Tiene una longitud finita n; por lo cual hay n mensajes esperando. Capacidad ilimitada: La longitud es infinita, por lo cual puede haber infinitos mensajes esperando en la cola.

Vous aimerez peut-être aussi