Sie sind auf Seite 1von 12

PROCESAMIENTO EN LOS SISTEMAS OPERATIVOS Proceso: No hay un acuerdo universal sobre una definicin de proceso, pero s algunas definiciones

aceptadas:

Un programa que se est ejecutando. Una actividad asincrnica. El emplazamiento del control de un procedimiento que est siendo ejecutado. Aquello que se manifiesta por la existencia en el Sistema Operativo de un bloque de control de proceso. Aquella entidad a la cual son asignados los procesadores. La unidad despachable.

Un proceso es una actividad de un cierto tipo, que tiene un programa, entrada, salida y estado. Un solo procesador puede ser compartido entre varios procesos con cierto algoritmo de planificacin, el cual determina cundo detener el trabajo en un proceso y dar servicio a otro distinto. Estados del proceso: Un proceso puede variar entre 3 distintos estados:
o o o

En ejecucin: utiliza la cpu en el instante dado. Listo: ejecutable, se detiene en forma temporal para que se ejecute otro proceso. Bloqueado: no se puede ejecutar debido a la ocurrencia de algn evento externo.

Son posibles cuatro transiciones entre estos estados:

PCB (Process Control Block): Internamente los procesos se almacenan en una lista encadenada en donde cada nodo almacena la informacin anterior. Cada nodo tiene informacin de:

Identificacin nica del proceso.

Prioridad del proceso. Apuntadores para localizar la memoria del proceso. Apuntadores para asignar recursos. rea para preservar registros.

Cuando el Sistema Operativo cambia la atencin de la cpu entre los procesos, utiliza las reas de preservacin del PCB para mantener la informacin que necesita para reiniciar el proceso cuando consiga de nuevo la cpu. Los sistemas que administran los procesos deben poder crear, destruir, suspender, reanudar, cambiar la prioridad, bloquear, despertar y despachar un proceso. Planificacin de Procesos Cuando ms de un proceso es ejecutable desde el punto de vista lgico, el Sistema Operativo debe decidir cul de ellos debe ejecutarse en primer trmino. El Planificador es la porcin del Sistema Operativo que decide y el Algoritmo de Planificacin es el utilizado. Los principales criterios respecto de un buen algoritmo de planificacin son la equidad, la eficacia, el tiempo de respuesta, el tiempo de regreso y el rendimiento: Equidad: Garantizar que cada proceso obtiene su proporcin justa de la cpu Eficacia: Mantener ocupada la cpu el ciento por ciento del tiempo Tiempo de respuesta: Minimizar el tiempo de respuesta para los usuarios interactivos Tiempo de regreso: Minimizar el tiempo que deben esperar los usuarios por lotes (batch) para obtener sus resultados Rendimiento: Maximizar el nmero de tareas procesadas por hora Algunas de estas metas son contradictorias, por ejemplo, minimizar el tiempo de respuesta para los usuarios interactivos significara no ejecutar las tareas batch. Cada proceso es nico e impredecible, es decir que pueden requerir intensivamente operaciones de Entrada / Salida o intensivamente cpu; el planificador del Sistema Operativo no tiene la certeza de cunto tiempo transcurrir hasta que un proceso se bloquee, ya sea por una operacin de Entrada / Salida o por otra razn. Para evitar que un proceso se apropie de la cpu un tiempo excesivo, los equipos poseen un dispositivo que provoca una interrupcin en forma peridica, por ejemplo 60 hz, o sea sesenta veces por segundo. En cada interrupcin del reloj el Sistema Operativo decide si el proceso que se est ejecutando contina o si el proceso agot su tiempo de cpu y debe suspenderse y ceder la cpu a otro proceso. Los principales conceptos relacionados con Planificacin del Procesador son los siguientes:

Planificacin apropiativa: es la estrategia de permitir que procesos ejecutables (desde el punto de vista lgico) sean suspendidos temporalmente. Planificacin no apropiativa: es la estrategia de permitir la ejecucin de un proceso hasta terminar. Planificacin del procesador: determinar cundo deben asignarse los procesadores y a qu procesos, lo cual es responsabilidad del Sistema Operativo.

Las principales caractersticas de la planificacin apropiativa son las siguientes:


Es til cuando los procesos de alta prioridad requieren atencin rpida. Es importante para garantizar buenos tiempos de respuesta en sistemas interactivos de tiempo compartido. Tiene su costo en recursos, ya que el intercambio de contexto implica sobrecarga y adems requiere mantener muchos procesos en el almacenamiento principal, en espera de la cpu, lo que tambin implica sobrecarga.

Las principales caractersticas de la planificacin no apropiativa son las siguientes:


Significa que los trabajos largos hacen esperar a los trabajos cortos. Logra ms equidad en el tratamiento de los procesos. Logra hacer ms predecibles los tiempos de respuesta puesto que los trabajos nuevos de prioridad alta no pueden desplazar a los trabajos en espera.

El diseo de un mecanismo apropiativo hace necesario considerar las arbitrariedades de casi cualquier esquema de prioridades, en razn de que muchas veces las propias prioridades no son asignadas de forma significativa. El mecanismo debera ser sencillo pero efectivo y significativo. Niveles de Planificacin del Procesador Se consideran tres niveles importantes de planificacin, los que se detallan a continuacin:

Planificacin de alto nivel: o Tambin se denomina Planificacin de trabajos. o Determina a qu trabajos se les va a permitir competir activamente por los recursos del sistema, lo cual se denomina Planificacin de admisin. Planificacin de nivel intermedio: o Determina a qu procesos se les puede permitir competir por la cpu. o Responde a fluctuaciones a corto plazo en la carga del sistema y efecta suspensiones y activaciones (reanudaciones) de procesos. o Debe ayudar a alcanzar ciertas metas en el rendimiento total del sistema. Planificacin de bajo nivel: o Determina a qu proceso listo se le asigna la cpu cuando esta queda disponible y asigna la cpu al mismo, es decir que despacha la cpu al proceso. o La efecta el Despachador del Sistema Operativo, el que opera muchas veces por segundo y reside siempre en el almacenamiento primario.

Los distintos Sistemas Operativos utilizan varias Polticas de Planificacin, que se instrumentan mediante Mecanismos de Planificacin. Tipos de Planificacin Planificacin a Plazo Fijo Ciertos trabajos se planifican para ser terminados en un tiempo especfico o plazo fijo. Es una planificacin compleja debido a los siguientes factores:

El usuario debe suministrar anticipadamente una lista precisa de recursos necesarios para el proceso, pero generalmente no se dispone de dicha informacin. La ejecucin del trabajo de plazo fijo no debe producir una grave degradacin del servicio a otros usuarios. El sistema debe planificar cuidadosamente sus necesidades de recursos hasta el plazo fijo, lo que se puede complicar con las demandas de recursos de nuevos procesos que ingresen al sistema. La concurrencia de varios procesos de plazo fijo (activos a la vez) puede requerir mtodos sofisticados de optimizacin. La administracin intensiva de recursos puede generar una considerable sobrecarga adicional. Planificacin Garantizada

Se establecen compromisos de desempeo con el proceso del usuario, por ejemplo, si existen n procesos en el sistema, el proceso del usuario recibir cerca del 1 / n de la potencia de la cpu. El sistema debe tener un registro del tiempo de cpu que cada proceso ha tenido desde su entrada al sistema y del tiempo transcurrido desde esa entrada. Con los datos anteriores y el registro de procesos en curso de ejecucin, el sistema calcula y determina qu procesos estn ms alejados por defecto de la relacin 1 / n prometida y prioriza los procesos que han recibido menos cpu de la prometida.

Planificacin del Primero en Entrar Primero en Salir (FIFO)


FCFS (First Come First Served)

Es muy simple, los procesos se despachan de acuerdo con su tiempo de llegada a la cola de listos. Una vez que el proceso obtiene la cpu, se ejecuta hasta terminar, ya que es una disciplina no apropiativa. Puede ocasionar que procesos largos hagan esperar a procesos cortos y que procesos no importantes hagan esperar a procesos importantes. Es ms predecible que otros esquemas. No puede garantizar buenos tiempos de respuesta interactivos. Suele utilizarse integrado a otros esquemas, por ejemplo, de la siguiente manera:

Los procesos se despachan con algn esquema de prioridad. Los procesos con igual prioridad se despachan FIFO.

Planificacin de Asignacin en Rueda (RR: Round Robin) Los procesos se despachan en FIFO y disponen de una cantidad limitada de tiempo de cpu, llamada divisin de tiempo o cuanto. Si un proceso no termina antes de expirar su tiempo de cpu ocurren las siguientes acciones: 1. La cpu es apropiada. 2. La cpu es otorgada al siguiente proceso en espera. 3. El proceso apropiado es situado al final de la lista de listos. Es efectiva en ambientes de tiempo compartido. La sobrecarga de la apropiacin se mantiene baja mediante mecanismos eficientes de intercambio de contexto y con suficiente memoria principal para los procesos. Tamao del Cuanto o Quantum La determinacin del tamao del cuanto es decisiva para la operacin efectiva de un sistema computacional [7, Deitel].

Los interrogantes son: cuanto pequeo o grande?, cuanto fijo o variable? y cuanto igual para todos los procesos de usuarios o determinado por separado para cada uno de ellos?. Si el cuanto se hace muy grande, cada proceso recibe todo el tiempo necesario para llegar a su terminacin, por lo cual la asignacin en rueda (RR) degenera en FIFO. Si el cuanto se hace muy pequeo, la sobrecarga del intercambio de contexto se convierte en un factor dominante y el rendimiento del sistema se degrada, puesto que la mayor parte del tiempo de cpu se invierte en el intercambio del procesador (cambio de contexto) y los procesos de usuario disponen de muy poco tiempo de cpu. El cuanto debe ser lo suficientemente grande como para permitir que la gran mayora de las peticiones interactivas requieran de menos tiempo que la duracin del cuanto, es decir que el tiempo transcurrido desde el otorgamiento de la cpu a un proceso hasta que genera una peticin de Entrada / Salida debe ser menor que el cuanto establecido, de esta forma, ocurrida la peticin la cpu pasa a otro proceso y como el cuanto es mayor que el tiempo transcurrido hasta la peticin de Entrada / Salida, los procesos trabajan al mximo de velocidad, se minimiza la sobrecarga de apropiacin y se maximiza la utilizacin de la Entrada / Salida. El cuanto ptimo vara de un sistema a otro y con la carga, siendo un valor de referencia 100 mseg (cien milisegundos). Planificacin del Trabajo Ms Corto Primero (SJF) Es una disciplina no apropiativa y por lo tanto no recomendable en ambientes de tiempo compartido. El proceso en espera con el menor tiempo estimado de ejecucin hasta su terminacin es el siguiente en ejecutarse. Los tiempos promedio de espera son menores que con FIFO. Los tiempos de espera son menos predecibles que en FIFO. Favorece a los procesos cortos en detrimento de los largos. Tiende a reducir el nmero de procesos en espera y el nmero de procesos que esperan detrs de procesos largos. Requiere un conocimiento preciso del tiempo de ejecucin de un proceso, lo que generalmente se desconoce. Se pueden estimar los tiempos en base a series de valores anteriores. Planificacin del Tiempo Restante Ms Corto (SRT) Es la contraparte apropiativa del SJF. Es til en sistemas de tiempo compartido.

El proceso con el tiempo estimado de ejecucin menor para nalizar es el siguiente en ser ejecutado. Un proceso en ejecucin puede ser apropiado por un nuevo proceso con un tiempo estimado de ejecucin menor. Tiene mayor sobrecarga que la planificacin SJF. Debe mantener un registro del tiempo de servicio transcurrido del proceso en ejecucin, lo que aumenta la sobrecarga. Los trabajos largos tienen un promedio y una varianza de los tiempos de espera an mayor que en SJF. La apropiacin de un proceso a punto de terminar por otro de menor duracin recin llegado podra significar un mayor tiempo de cambio de contexto (administracin del procesador) que el tiempo de finalizacin del primero. Al disearse los Sistemas Operativos se debe considerar cuidadosamente la sobrecarga de los mecanismos de administracin de recursos comparndola con los beneficios esperados. Planificacin el Siguiente con Relacin de Respuesta Mxima (HRN) Corrige algunas de las debilidades del SJF, tales como el exceso de perjuicio hacia los procesos (trabajos) largos y el exceso de favoritismo hacia los nuevos trabajos cortos. Es una disciplina no apropiativa. La prioridad de cada proceso est en funcin no slo del tiempo de servicio del trabajo, sino que tambin influye la cantidad de tiempo que el trabajo ha estado esperando ser servido. Cuando un proceso ha obtenido la cpu, corre hasta terminar. Las prioridades, que son dinmicas, se calculan segn la siguiente frmula, donde pr es la prioridad, te es el tiempo de espera y ts es el tiempo de servicio:

Planificacin por Prioridad Considera factores externos al proceso [23, Tanenbaum]. Las ideas centrales son que cada proceso tiene asociada una prioridad y que el proceso ejecutable con mxima prioridad es el que tiene el permiso de ejecucin.

Los procesos de alta prioridad podran ejecutar indefinidamente, ya que el planificador del sistema puede disminuir la prioridad del proceso en ejecucin en cada interrupcin del reloj. Las prioridades tambin pueden ser asignadas dinmicamente por el sistema para lograr ciertas metas relacionadas con el procesador o la Entrada / Salida. Los procesos limitados por la Entrada / Salida (requerimientos intensivos de Entrada / Salida) ocupan mucho de su tiempo en espera de operaciones de Entrada / Salida, por lo tanto:

Deben tener prioridad para usar la cpu y efectuar la siguiente peticin de Entrada / Salida, ya que se ejecutar (la operacin de Entrada / Salida) en paralelo con otro proceso que utilice la cpu. Si deben esperar mucho tiempo a la cpu estarn ocupando memoria por un tiempo innecesario.

Un algoritmo sencillo consiste en establecer que la prioridad sea 1 / f, donde f es la fraccin del ltimo cuanto utilizado por el proceso. Un proceso que utilice 2 mseg (dos milisegundos) de su cuanto de 100 mseg (cien milisegundos) tendr prioridad 50 (cincuenta). Un proceso que se ejecut 50 mseg antes del bloqueo tendr prioridad 2. Un proceso que utiliz todo el cuanto tendr prioridad 1. Frecuentemente los procesos se agrupan en Clases de Prioridad, en cuyo caso se utiliza la Planificacin con Prioridades entre las clases y con Round Robin (RR) dentro de cada clase. Si las prioridades no se reajustan en algn momento, los procesos de las clases de prioridad mnima podran demorarse indefinidamente. Colas de Retroalimentacin de Niveles Mltiples Proporcionan una estructura para lograr los siguientes objetivos:

Favorecer trabajos cortos. Favorecer trabajos limitados por la Entrada / Salida para optimizar el uso de los dispositivos de Entrada / Salida. Determinar la naturaleza de un trabajo lo ms rpido posible y planificar el trabajo (proceso) en consecuencia.

Un nuevo proceso entra en la red de lnea de espera al final de la cola superior. Se mueve por esta cola FIFO hasta obtener la cpu. Si el trabajo termina o abandona la cpu para esperar por la terminacin de una operacin de Entrada / Salida o la terminacin de algn otro suceso, el trabajo abandona la red de lnea de espera. Si su cuanto expira antes de abandonar la cpu voluntariamente, el proceso se coloca en la parte trasera de la cola del siguiente nivel inferior.

El trabajo recibe servicio al llegar a la cabeza de esta cola si la primera est vaca. Mientras el proceso contine consumiendo totalmente su cuanto en cada nivel, continuar movindose hacia el final de las colas inferiores. Generalmente hay una cola en la parte ms profunda a travs de la cual el proceso circula en asignacin de rueda hasta que termina. Existen esquemas en los que el cuanto otorgado al proceso aumenta a medida que el proceso se mueve hacia las colas de los niveles inferiores, en tal caso, cuanto ms tiempo haya estado el proceso en la red de lnea de espera, mayor ser su cuanto cada vez que obtiene la cpu y no podr obtener la cpu muy a menudo debido a la mayor prioridad de los procesos de las colas superiores. Un proceso situado en una cola dada no podr ser ejecutado hasta que las colas de los niveles superiores estn vacas. Un proceso en ejecucin es apropiado por un proceso que llegue a una cola superior. Es un mecanismo adaptable, es decir que se adapta a cargas variables.
Comunicacin entre procesos.Hay dos tipos de procesos: los independientes que no afectan ni pueden ser afectados por ningn otro proceso y los cooperativos que afectan y pueden ser afectados por algn otro proceso del sistema operativo. Los procesos con frecuencia precisan comunicarse entre si, Para esto existen ciertos contratiempos que debieron ser superados. Para prevenir este problema en las situaciones en la que interviene cualquier recurso compartido se debe impedir que mas de un proceso haga uso del recurso compartido al mismo tiempo. Lo que se necesita es exclusin mutua, La parte del programa que accesa la memoria compartida se le llama seccin crtica. Para tener una solucin adecuada los procesos deben cumplir estos cuatro puntos: Nunca dos procesos pueden encontrarse simultneamente en sus secciones crticas. No se hacen suposiciones acerca de las velocidades relativas de los procesos o del numero de CPU. Ningn proceso suspendido fuera de la seccin crtica debe bloquear a otros procesos. Nunca un proceso debe querer entrar en forma arbitraria en su seccin crtica. Algoritmos de Soluciona al Problema de Seccin Critica

Procesamiento en sistemas operativos populares:

Solaris
El manejo de procesos en Solaris es por prioridad y round robin. En algunas versiones se maneja tambin un ajuste dinmico de la prioridad de acuerdo al tiempo que los procesos han esperado y al tiempo que ya

han usado el CPU. El sistema provee facilidades para crear pipes entre procesos, contabilizar el uso de CPU por proceso y una pila comn para todos los procesos cuando necesitan estarse ejecutando en modo privilegiado (cuando hicieron una llamada al sistema). Solaris permite que un proceso haga una copia de s mismo por medio de la llamada fork, lo cual es muy til cuando se realizan trabajos paralelos o concurrentes; tambin se proveen facilidades para el envo de mensajes entre procesos. Recientemente Sun Microsystems, AT&T, IBM, Hewlett Packard y otros fabricantes de computadoras llegaron a un acuerdo para usar un paquete llamado ToolTalk para crear aplicaciones que usen un mismo mtodo de intercambio de mensajes. Windows 2000 Por lo general en Windows se utiliza una poltica de planificacin: Round Robin. La desventaja principal es que cambia los procesos en ejecucin con demasiada frecuencia. Lo que supone una pequea prdida de tiempo. Adems Las prioridades en W2K se organizan en dos bandas o clases: tiempo real y variable. Cada una de estas bandas consta de 16 niveles de PRIORIDAD. Los hilos que requieren atencin inmediata estn en clase de tiempo real, que incluye funciones como comunicaciones tareas de tiempo real. En general, puesto que W2K utiliza un planificador preferente con prioridades, los hilos con prioridades de tiempo real tienen preferencia sobre los otros hilos. En un monoprocesador, cuando un hilo cuya prioridad es mayor que la del que se ejecuta en ese momento pasa a estar Listo, el hilo de menor prioridad es expulsado y se asigna el procesador al de mayor prioridad. En la clase de prioridad de tiempo real, todos los tienen una prioridad fija que no cambia nunca. Hay una cola FIFO en cada nivel de prioridad, pero un proceso puede emigrar a una de las otras colas dentro de la clase de prioridad variable. Sin embargo un hilo de prioridad no puede promocionarse a ningn otro nivel de la clase de tiempo real. Windows (Otras versiones)
El manejo de procesos de Windows se debe bsicamente al uso de bibliotecas de enlace dinmico (DLL's) que son bibliotecas de uso general para la gran mayora de los programas cargados en el sistema, lo que mejora considerablemente la administracin de memoria y aumenta la productividad al reutilizar cdigo.

Linux Puede haber a la vez en el sistema procesos con distinta poltica de planificacin establecida. En realidad cada proceso se puede planificar de varias maneras, las polticas de planificacin de un proceso se pueden cambiar en tiempo de ejecucin. Linux est basado en la planificacin tradicional de Unix aadiendo 2 clases de prioridad para procesos de tiempo real flexibles. Las clases de planificacin de Linux son las siguientes: SCHED_OTHER : Es la planificacin clsica de UNIX. No es aplicable a tiempo real. Examina las prioridades dinmicas (calculadas como combinacin de las especificadas por el usuario y las calculadas por el sistema). Los procesos que llevan ms tiempo en el sistema van perdiendo prioridad. SCHED_FIFO : El sistema FIFO o FCFS (First to Come is First Served).Los procesos esperan en cola y se ejecutan secuencialmente. Se sigue calculando un cuantum de tiempo para el proceso, generalmente no se usa porque con esta planificacin no se fuerza al proceso a abandonar la CPU. Se usa en procesos de tiempo real.

MANEJO DE INTERRUPCIONES EN LOS SISTEMAS OPERATIVOS

Una interrupcin es un evento que altera la secuencia en que el procesador ejecuta las instrucciones; es un hecho generado por el hardware del computador. Cuando ocurre una interrupcin, el Sistema Operativo:

Obtiene el control. Salva el estado del proceso interrumpido, generalmente en su bloque de control de procesos. Analiza la interrupcin. Transfiere el control a la rutina apropiada para la manipulacin de la interrupcin.

Una interrupcin puede ser iniciada por un proceso en estado de ejecucin o por un evento que puede o no estar relacionado con un proceso en ejecucin. Generalmente las interrupciones se pueden clasificar por tipos segn el siguiente detalle:

SVC (llamada al supervisor): es una peticin generada por el usuario para un servicio particular del sistema, por ejemplo, realizacin de Entrada / Salida u obtencin de ms memoria. Entrada / Salida: son iniciadas por el hardware de Entrada / Salida, indicando a la cpu que ha cambiado el estado de un canal o dispositivo, por ejemplo, finalizacin de Entrada / Salida u ocurrencia de un error. Externas: son causadas por distintos eventos, por ejemplo, expiracin de un cuanto en un reloj de interrupcin o recepcin de una seal de otro procesador en un sistema multiprocesador. De reinicio: ocurren al presionar la tecla de reinicio o cuando llega una instruccin de reinicio de otro procesador en un sistema multiprocesador. De verificacin de programa: son causadas por errores producidos durante la ejecucin de procesos, por ejemplo: o Un intento de dividir por cero. o Un intento de un proceso de usuario de ejecutar una instruccin privilegiada. o Un intento de ejecutar un cdigo de operacin invlido. De verificacin de mquina: son ocasionadas por un mal funcionamiento del hardware.

El Sistema Operativo incluye rutinas llamadas Manipuladores de Interrupciones (IH) para procesar cada tipo diferente de interrupcin. Cuando se produce una interrupcin el Sistema Operativo efecta las siguientes acciones:

Salva el estado del proceso interrumpido. Dirige el control al manipulador de interrupciones adecuado. Se aplica la tcnica de Cambio de Contexto .

Los Sistemas Operativos instrumentan informacin de control que puede aparecer como las Palabras de Estado de Programa (PSW), las cuales controlan el orden de ejecucin de las instrucciones y contienen informacin sobre el estado del proceso. Existen tres tipos de PSW, que son la actual, la nueva y la vieja. La PSW Actual almacena la direccin de la prxima instruccin que ser ejecutada e indica los tipos de instrucciones actualmente habilitadas e inhabilitadas. En un sistema uniprocesador existe:

Solo una PSW actual. Seis PSW nuevas (una para cada tipo de interrupcin). Seis PSW viejas (una para cada tipo de interrupcin).

La PSW nueva para un tipo de interrupcin dado contiene la direccin en el hardware donde reside el manipulador de interrupciones para este tipo especfico. Cuando ocurre una interrupcin para la cual el procesador no est inhabilitado, ocurren las siguientes acciones:

El hardware cambia las PSW en los casos siguientes: o Al almacenar la PSW actual en la PSW vieja, para este tipo de interrupcin. o Al almacenar la PSW nueva en la PSW actual, para este tipo de interrupcin. Luego de este intercambio de PSW: o La PSW actual contiene la direccin del manipulador de interrupcin adecuado. o El manipulador de interrupciones procesa la interrupcin. o Luego de procesar la interrupcin, la cpu es enviada al: Proceso que estaba en ejecucin en el momento de la interrupcin, o al Proceso de listo de ms alta prioridad. o La accin precedente depende de si el proceso de interrupcin es: Apropiativo: obtiene la cpu solo si no hay procesos de listos. No apropiativo: obtiene de nuevo la cpu.

Manejo de interrupciones en sistemas operativos popuares:

Das könnte Ihnen auch gefallen