Vous êtes sur la page 1sur 14

Planificacin de Trabajos

Cuando hay ms de un proceso que est en condiciones de ejecutarse en la CPU, se debe escoger alguno. El encargado de tomar esa decisin es el planificador del sistema operativo y el algoritmo que usa se llama algoritmo de planificacin.

Qu es un proceso?
Un proceso puede informalmente entenderse como un programa en ejecucin. ejecucin Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecucin de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados"

Debemos saber que...


Cada proceso tiene su contador de programa, registros y variables, aislados de otros procesos, incluso siendo el mismo programa en ejecucin 2 veces. Cundo este ltimo caso sucede, el sistema operativo usa la misma regin de memoria de cdigo, debido a que dicho cdigo no cambiar, a menos que se ejecute una versin distinta del programa.

Diagrama De Estados De Un Proceso

EJECUCIN: El proceso est empleando la cpu,est ejecutndose.Pueden haber tantos procesos ejecutndose como procesadores existan,por tanto, si el sistema dispone de un nico procesador, nicamente puede haber un proceso ejecutndose a la vez. LISTO: El proceso no est ejecutndose pero es candidato a pasar a estado de ejecucin. Es el planificador el que, en base a un criterio de planificacin, decide qu proceso selecciona de la lista de procesos preparados para pasar a estado activo. BLOQUEADO: el proceso est pendiente de un evento externo que le ha hecho bloquear, tales como una operacin de lectura/escritura, la espera de finalizacin de un proceso hijo,...El dispositivo/hecho externo "avisa" al S.O. cuando ha terminado la accin que realizaba mediante una INTERRUPCIN, dejando el S.O. lo que est haciendo para atender a esta ltima. Tras esto, el S.O. comprueba cuales son los procesos que fueron bloqueados por ese evento externo, cambindolos al estado de preparado.

Bloque de Control De Un Proceso:


Es un registro especial donde el sistema operativo agrupa toda la informacin que necesita conocer respecto a un proceso particular. Cada vez que se crea un proceso el sistema operativo crea el BCP correspondiente para que sirva como descripcin en tiempo de ejecucin durante toda la vida del proceso.

Informacin almacenada por el BCP:

Identificador del proceso (Process Identificator -PID-, de sus siglas en Ingls). Estado del proceso. Por ej. listo, en espera, bloqueado. Contador de Programa: Direccin de la prxima instruccin a ejecutar. Valores de registro de CPU. Se utilizan tambin en el cambio de contexto. Espacio de direcciones de memoria. Prioridad en caso de utilizarse dicho algoritmo para planificacin de CPU. Lista de recursos asignados . Estadsticas del proceso. Datos del propietario (owner). Permisos asignados. Signals pendientes de ser servidos.

Objetivos del Algoritmo de Planificacin:


Justicia: Asegurarse que todos los procesos tengan su turno de CPU. Eficiencia: Mantener la CPU ocupada todo el tiempo. Tiempo de respuesta: Minimizar el tiempo de respuesta de los usuarios interactivos. Rendimiento o productividad: Maximizar el nmero de trabajos terminados por hora. Tiempo de espera: Minimizar el tiempo medio de espera (en la cola de listos) de los procesos.

- Una complicacin adicional que hay que tener presente es que cada proceso es nico e impredecible. - Algunos son procesos limitados por E/S, es decir, pierden la mayor parte del tiempo esperando por E/S; otros son procesos limitados por CPU, es decir, requieren principalmente tiempo de CPU. - En cualquier caso, todos los procesos alternan entre una fase de ejecucin de CPU y otra de espera por E/S. Aunque la duracin de las fases de CPU es impredecible y vara mucho entre un proceso y otro.

Cuando hay que PLANIFICAR?


Una decisin de planificacin puede o debe tomarse cuando ocurre cualquiera de las siguientes transiciones entre estados de un proceso: EJECUTANDO a BLOQUEADO. EJECUTANDO a TERMINADO. EJECUTANDO a LISTO. BLOQUEADO a LISTO.

Tipos de Planificacin:
En los casos 1 y 2, necesariamente hay que escoger un nuevo proceso, pero en los casos 3 y 4 podra no tomarse ninguna decisin de planificacin, y dejar que contine ejecutando el mismo proceso que estaba ejecutando. En ese caso, se habla de planificacin noexpropiadora. Si en cambio se toma una decisin de planificacin en los casos 3 y 4, entonces se habla de planificacin expropiadora.

ALGORITMOS DE PLANIFICACIN:
Primero en Entrar Primero en Salir (FIFO):
1. Cuando se tiene que elegir a qu proceso asignar la CPU se escoge al que llevara ms tiempo listo. El proceso se mantiene en la CPU hasta que se bloquea voluntariamente. 2. La ventaja de este algoritmo es su fcil implementacin, sin embargo, no es vlido para entornos interactivos ya que un proceso de mucho clculo de CPU hace aumentar el tiempo de espera de los dems procesos . 3. Para implementar el algoritmo slo se necesita mantener una cola con los procesos listos ordenada por tiempo de llegada. Cuando un proceso pasa de bloqueado a listo se sita el ltimo de la cola.

RR: Round Robin


1. Este es uno de los algoritmos ms antiguos, sencillos y equitativos en el reparto de la CPU entre los procesos, muy vlido para entornos de tiempo compartido. 2. Cada proceso tiene asignado un intervalo de tiempo de ejecucin, llamado quantum. Si el proceso agota su quantum de tiempo, se elige a otro proceso para ocupar la CPU. 3. Si el proceso se bloquea o termina antes de agotar su quantum tambin se alterna el uso de la CPU. El round robin es muy fcil de implementar.

Prioridad al ms corto (SJF, Short Job First)


1. Asocia a cada proceso la longitud de la siguiente rfaga de CPU de ese proceso. 2. Cuando la cpu queda disponible se la asigna al proceso cuya siguiente rfaga de cpu sea mas corta. 3. Si existe un empate entre la duracin de dos procesos se utiliza la planificacin fifo,es decir,entrar a ejecutarse en cpu el que ms tiempo lleve esperando. 4. La ventaja de este algoritmo es su fcil implementacin mientras que su mayor desventaja es que un proceso de mucho tiempo de clculo de cpu hace aumentar el tiempo de espera de los dems procesos.

Sistemas Operativos con Multiprocesador


Un sistema operativo multiproceso o multitarea es aquel que permite ejecutar varios procesos de forma concurrente, la razn es porque actualmente nuestras CPUs slo pueden ejecutar un proceso cada vez. La nica forma de que se ejecuten de forma simultnea varios procesos es tener varias CPUs (ya sea en una mquina o en varias, en un sistema distribuido). La magia de un sistema operativo multiproceso reside en la operacin llamada cambio de contexto. Esta operacin contexto consiste en quitar a un proceso de la CPU, ejecutar otro proceso y volver a colocar el primero sin que se entere de nada.

Vous aimerez peut-être aussi