Está en la página 1de 9

ITSSNA

Ingenieria en Sistemas Computacionales

ADMINISTRACION DE PROCESOS Y DEL PROCESADOR Concepto de procesos Un proceso se refiere a las instrucciones que ejecutar el microprocesador mientras lee un programa determinado. Esto tambin implica a la memoria reservada y a sus contenidos, el estado de ejecucin en determinado momento, y la informacin que permite al sistema operativo planificar. Un proceso es una instancia de ejecucin de un programa, caracterizado por su contador de programa, su palabra de estado, sus registros del procesador, su segmento de texto, y datos. Estados y transiciones de los procesos Los estados de los procesos son: Vacio Espera Ejecucin

El principal trabajo del procesador es ejecutar las instrucciones de mquina que se encuentran en memoria principal. Estas instrucciones se encuentran en forma de programas. Para que un programa pueda ser ejecutado, el sistema operativo crea un nuevo proceso, y el procesador ejecuta una tras otra las instrucciones del mismo. Procesos ligeros (Hilos o Hebras) --Un hilo es bsicamente una tarea que puede ser ejecutada en paralelo con otra tarea. Permiten dividir un programa en dos o mas tareas que corren simultneamente, por medio de la multiprogramacin. Los distintos hilos de ejecucin comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situacin de autenticacin.

Fermin Alvarez Mendoza

ITSSNA

Ingenieria en Sistemas Computacionales

Diagrama de un procesos: A-El proceso est en ejecucin y necesita algn elemento para poder ejecutarse. Pasa de Ejecucin a bloqueado. B-Es la que pasa del Estado de Ejecucin a activo. A terminado su proceso y pasa a activo para dejar paso a otras aplicaciones. C-La tarea que est en Activo pasa a estar en Ejecucin. D-El proceso pasa de estar bloqueado a estar activo porque ya tiene lo que necesita.

--El proceso sigue en ejecucin mientras al menos uno de sus hilos de ejecucin siga activo. Cuando el proceso finaliza, todos sus hilos de ejecucin tambin han terminado. Asimismo en el momento en el que todos los hilos de ejecucin finalizan, el proceso no existe ms y todos sus recursos son liberados.

Concurrencia y secuenciabilidad La concurrencia puede presentarse en tres contextos diferentes: Mltiples aplicaciones: la multiprogramacin se cre para permitir que el tiempo de procesador de la mquina fuese compartido dinmicamente entre varias aplicaciones activas. Aplicaciones estructuradas: como ampliacin de los principios del diseo modular y la programacin estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes. Estructura del sistema operativo: las mismas ventajas de estructuracin son aplicables a los programadores de sistemas y se ha comprobado que algunos sistemas operativos estn implementados como un conjunto de procesos o hilos.

Fermin Alvarez Mendoza

ITSSNA

Ingenieria en Sistemas Computacionales

En un sistema multiprogramado con un nico procesador, los procesos se intercalan en el tiempo aparentando una ejecucin simultnea. Aunque no se logra un procesamiento paralelo y produce una sobrecarga en los intercambios de procesos, la ejecucin intercalada produce beneficios en la eficiencia del procesamiento y en la estructuracin de los programas. La intercalacin y la superposicin pueden contemplarse como ejemplos de procesamiento concurrente en un sistema monoprocesador, los problemas son consecuencia de la velocidad de ejecucin de los procesos que no pueden predecirse y depende de las actividades de otros procesos, de la forma en que el sistema operativo trata las interrupciones surgen las siguientes dificultades: Independientemente del tipo de interaccion existente entre los distintos procesos activos, en un sistema con multiprogramacion estos comparten un conjunto de elementos que deben ser accedidos de forma controlada para evitar situaciones de inconsistencia. Estos elementos compartidos ya sean dispositivos de E/S o zonas de memoria comunes son considerados como criticos y la parte del programa que los utiliza se conoce como region o seccion critica. Es muy importante que solo un programa pueda acceder a su seccion crtica en un momento determinado. Por esta razon, el SO debe ofrecer mecanismos que hagan posible una correcta sincronizacion de los distintos procesos activos en los accesos a los recursos que comparten. El uso de variables compartidas es una forma sencilla y habitual de comunicacion entre procesos interactivos. Cuando un conjunto de procesos tiene acceso a un espacio comun de direcciones, se pueden utilizar variables compartidas para una serie de cometidos como, por ejemplo, indicadores de sealizacion o contadores. Exclusin mutua de secciones criticas Slo un proceso, de todos los que poseen secciones crticas por el mismo recurso compartido, debe tener permiso para entrar en ella en un momento dado. Un proceso que se interrumpe en una seccin no crtica debe hacerlo sin interferir con los otros procesos. Un proceso no debe poder solicitar acceso a una seccin crtica para despus ser demorado indefinidamente, no puede permitirse el interbloqueo o la inanicin. Si ningn proceso est en su seccin crtica, cualquier proceso que solicite entrar en la suya debe poder hacerlo sin demora. No se debe suponer sobre la velocidad relativa de los procesos o el nmero de procesadores. Un proceso permanece en su seccin crtica por un tiempo finito. Una manera de satisfacer los requisitos de exclusin mutua es dejar la responsabilidad a los procesos que deseen ejecutar concurrentemente. Tanto si son programas del sistema como de aplicacin, los procesos deben coordinarse unos con otros para cumplir la exclusin mutua, sin ayuda del lenguaje de programacin o del sistema operativo. Consiste en que un solo proceso excluye temporalmente a todos los dems para usar un recurso compartido de forma que garantice la integridad del sistema Los algoritmos de exclusin mutua se usan en programacin para evitar que fragmentos de cdigo conocidos como secciones crticas sean accedidas al mismo tiempo a recursos que no deben ser compartidos

Fermin Alvarez Mendoza

ITSSNA

Ingenieria en Sistemas Computacionales

La tcnica que se emplea para conseguir la exclusin mutua es inhabilitar las interrupciones durante el conjunto de instrucciones ms pequeo que impedir la corrupcin de la estructura compartida La mayora de los mtodos de exclusin mutua clsicos intentan reducir la espera activa mediante las colas y cambios de contexto

Sincronizacin de procesos en S.C. Mecanismo de semforos. Un semforo es un algoritmo de control de procesos diseada para sincronizar dos o ms procesos, de modo que su ejecucin se realice de forma ordenada y sin conflictos entre ellos. Los semforos pueden ser usados para diferentes propsitos, entre ellos: Implementar cierres de exclusin mutua o locks. Eliminar Barreras Permitir a un mximo de N threads, acceder a un recurso, inicializando el semforo en N. Se utilizan dos variables comunes para realizar el cdigo. La operacin P Se denomina "wait" o "espera" Wait.- Pregunta a los procesos si su contador es > = que cero, en caso de no ser as, los decrementa. El proceso que cambia en este caso a negativo (1) desde la cola de procesos Listos a ser ejecutados es el que automticamente toma el control del procesador. Los semforos slo permiten tres operaciones sobre ellos: Espera. Seal. Inicializar. wait (variable) begin while (variable)>=0 do {esperar} variable=variable-1 end signal (variable) begin variable=variable+1 end Los semforos slo permiten tres operaciones sobre ellos: Espera. Seal. Inicializar. wait (variable) begin while (variable)>=0 do {esperar} variable=variable-1 end

Fermin Alvarez Mendoza

ITSSNA

Ingenieria en Sistemas Computacionales

signal (variable) begin variable=variable+1 end Mecanismo de monitores. El monitor del sistema es la herramienta que permite ver el estado del sistema. Esta herramienta permite generar grficos a tiempo real del estado de funcionamiento de los diversos componentes del sistema, as como hacer un seguimiento de estos componentes, obteniendo informes e incluso lanzando aplicaciones en respuesta a determinadas condiciones. Los elementos de monitorizacin que permite crear el monitor del sistema son de cuatro tipos: grficos, alertas, registros e informes. Un monitor encapsula el cdigo relativo a un recurso compartido en un solo mdulo de programa: -Mantenimiento ms simple. -Menos errores de programacin. Un monitor es una estructura formada por una cabecera que los identifica, un conjunto de variables globales a todos los procedimientos del monitor, un conjunto de procedimientos y un bloque de inicializacin, el cual se ejecuta una nica vez, cuando se crea el monitor. { nombre { variables globales accesibles desde todos los procedimientos { procedimiento A { procedimiento B { { inicializacin (solo se ejecuta una vez)

Interbloqueo (DeadLock) Los procesos no son ejecutados constantemente desde que se inician hasta que son finalizados. Un proceso puede estar identificado con tres estados diferentes: leyendo (ready), ejecutando (running) o bloqueado (blocked). En el estado de lectura, un proceso est parado, concediendo que otro proceso sea ejecutado; en el estado de ejecucin, un proceso est utilizando algn recurso; y en el estado de bloqueo, el proceso est parado y no se ejecutar mientras algo lo restaure. Prevencin. La estrategia de prevencin consiste, a grandes rasgos, en disear un sistema de manera que est excluida a priori la posibilidad de interbloqueo.
Fermin Alvarez Mendoza

ITSSNA

Ingenieria en Sistemas Computacionales

Deteccin. Las estrategias de deteccin de interbloqueos no limitan el acceso a los recursos ni restringen las acciones de los procesos como ocurra con las estrategias de prevencin de interbloqueos, mediante las estrategias de deteccin de interbloqueos se concedern los recursos que los procesos necesitan siempre que sea posible. Niveles, objetivos y criterios de planificacin. La planificacion hace referencia a un conjunto de politicas y mecanismos incorporados al sistema operativo que gobiernan el orden en que se ejecutan los trabajos que deben ser cumplementados por el sistema informatico. Objetivo de la Planificacion El objetivo principal de la planificacion es optimizar el rendimiento del sistema y proporcionar un buen servicio a todos los procesos que se encuentren en el. La planificacion cubre los siguientes objetivos:

Justicia Maxima capacidad de ejecucion Maximo numero de usuarios interactivos Predecibilidad Minimizacion de la sobrecarga Equilibrio en el uso de recursos Seguridad de las prioridades Evitar la postergacion indefinida

Criterios de planificacion Para realizar los objetivos de la planificacion, la planificacin debe considerar lo siguiente:

La limitacion de un proceso a las operaciones de Entrada / Salida La limitacion de un proceso a la cpu Si un proceso es por lote (batch) o interactivo ?Que urgencia tiene una respuesta rapida? La prioridad de un proceso Frecuentemente un proceso genera fallos (carencias) de pagina: o Probablemente los procesos que generan pocos fallos de pagina hayan acumulado sus conjuntos de trabajo en el almacenamiento principal. o Los procesos que experimentan gran cantidad de fallos de pagina aun no han establecido sus conjuntos de trabajo. o Un criterio indica favorecer a los procesos que han establecido sus conjuntos de trabajo.

Fermin Alvarez Mendoza

ITSSNA
o

Ingenieria en Sistemas Computacionales

Otro criterio indica favorecer a los procesos con una tasa alta de fallos de pagina ya que rapidamente generaran una peticion de Entrada / Salida. Frecuentemente un proceso ha sido apropiado por otro de mas alta prioridad, lo cual significa lo siguiente: o A menudo los procesos apropiados deben recibir un tratamiento menos favorable. o Cada vez que el Sistema Operativo asume la sobrecarga para hacer ejecutar este proceso, el corto tiempo de ejecucion antes de la apropiacion no justifica la sobrecarga de hacer ejecutar al proceso en primer lugar. Cuanto tiempo de ejecucion real ha recibido el proceso?

Tcnicas de administracin del planificador FIFO Los procesos se despachan de acuerdo con su tiempo de llegada a la cola de procesos listos. Cuando un proceso tiene la CPU, se ejecuta hasta terminar. Es junto en el sentido formal, pero algo injusta en cuanto a que los trabajos largos hacen esperar a los cortos y los trabajos sin importancia hacen esperar a los importantes. FIFO ofrece variaciones relativamente pequenas en los tiempos de respuesta y por lo tanto es mas predecible que los otros esquemas. Este es un algoritmo que no usa apropiacion, y que consiste en atender a los procesos por estricto orden de llegada a la lista de procesos listos. Cada proceso se ejecuta hasta que termina, o hasta que hace una llamada bloqueante (de E/S). Las caracteristicas principales de este algoritmo son las siguientes:

No es apropiativa. Es justa, aunque los procesos largos hacen esperar mucho a los cortos. Es una politica predecible. El tiempo promedio de servicio es muy variable ya que esta en funcion del numero de procesos y la duracion promedio que tenga.

SJF El algoritmo de planificacion con seleccion del trabajo mas corto (SJF, shortest job-first). Este algoritmo asocia con cada proceso la duracion de la siguiente rafaga de CPU del proceso. Cuando la CPU esta disponible, se asigna al proceso que tiene la siguiente rafaga de CPU mas corta. Si las siguientes rafagas de CPU de dos procesos son iguales, se usa la planificacion FCFS para romper el empate. El de algoritmo de la siguiente rafaga de CPU mas corta, ya que la planificacion depende de la duracion de la siguiente rafaga de CPU de un proceso, en lugar de depender de su duracion total.

Fermin Alvarez Mendoza

ITSSNA

Ingenieria en Sistemas Computacionales

RR Es un sistema apropiativo. Cada proceso recibe una fraccion de tiempo de procesamiento o quanto para su ejecucion, de manera que cuando se esta ejecutando y excede el tiempo que se le ha concedido, se genera una interrupcion de reloj, mediante la cual la ejecucion del proceso se detiene y se coloca al proceso al final de la cola de procesos listos para su posterior ejecucion, seleccionandose a continuacion un nuevo proceso de la cola para su ejecucion. Si un proceso finaliza su ejecucion antes de que termine el tiempo que se le ha asignado, este cede el control, seleccionandose un nuevo proceso de la cola para su ejecucion. Con el Round Robind, cuando un proceso inicia una operacion de E/S, este es penalizado respecto de los procesos que no realizan E/S. Los procesos se despachan en FIFO y disponen de una cantidad limitada de tiempo de cpu, llamada division 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. Queves multi-level Es la que se ha desarrollado para aquellas situaciones en las que los procesos pueden clasificarse facilmente en grupos diferentes. Por ejemplo, una clasificacion habitual consiste en diferenciar entre procesos de primer plano (interactivos) y procesos de segundo plano (por lotes). Estos dos tipos de procesos tienen requisitos diferentes de tiempo de respuesta y, por tanto, pueden tener distintas necesidades de planificacion. Ademas, los procesos de primer plano pueden tener prioridad (definida externamente) sobre los procesos de segundo plano. Un algoritmo de planificacion mediante colas multinivel divide la cola de procesos prepados en varias colas distintas. Los procesos se asignan permanentemente a una cola, generalmente en funcion de alguna propiedad del proceso, como por ejemplo el tamano memoria, la prioridad del proceso o el tipo de proceso. Cada cola tiene su propio algoritmo de planificacion.

Multi-level feedback queves Cuando se usa el algoritmo de planificacion mediante colas multinivel, los procesos se asignan de forma permanente a una cola cuando entran en el sistema. Por ejemplo, si hay colas diferentes para los procesos de primer y segundo plano, los procesos no se mueven de una cola a otra, dado que no pueden cambiar su naturaleza de proceso de primer o segundo plano. Esta

Fermin Alvarez Mendoza

ITSSNA

Ingenieria en Sistemas Computacionales

configuracion presenta la ventaja de una baja carga de trabajo de planificacion, pero resulta poco flexible. El algoritmo de planificacion mediante colas multinivel realimentadas permite mover un proceso de una cola a otra. La idea es separar los procesos en funcion de las caracteristicas de sus rafagas de CPU. Si un proceso utiliza demasiado tiempo de CPU, se pasa a una a de prioridad mas baja. Este esquema deja los procesos limitados por E/S y los procesos interactivos en las colas de prioridad mas alta. Ademas, un proceso que este esperando demasiado tiempo en una cola de baja prioridad puede pasarse a una cola de prioridad mas alta. Este mecanismo de envejecimiento evita el bloqueo indefinido.

Fermin Alvarez Mendoza

También podría gustarte