Вы находитесь на странице: 1из 13

GESTIN DE PROCESOS SISTEMAS OPERATIVOS MONOUSUARIO

PROCESOS INTRODUCCIN
Aunque existen muchas definiciones de lo que se entiende por proceso, la ms utilizada es la de programa en ejecucin. Este concepto, que ser explicado ampliamente, es esencial en la construccin de los sistemas operativos multiprogramados, de manera que sus objetivos principales se pueden expresar como: permitir la creacin y comunicacin entre los procesos y gestionar entre ellos la utilizacin de la UCP y del resto de los recursos del sistema (tales como la memoria y los dispositivos de E/S). El tema trata, en primer lugar, de dar una idea lo ms clara posible de lo que son y representan los procesos en un sistema operativo, de las relaciones que existen entre ellos y de la forma en que pueden especificarse. Se analizan a continuacin los diferentes estados por los que pueden pasar los procesos a lo largo de su ejecucin y las estructuras necesarias para su representacin. Por ltimo, se estudia el planificador de procesos. Se llama as a aquella parte del sistema operativo encargada de asignar los recursos, y en especial la UCP, a los procesos que la solicitan. Se presentan los tres tipos de planificadores que aparecen en un sistema operativo y se describen los algoritmos ms utilizados en la realizacin de los mismos.

RELACIN ENTRE PROCESOS


El sistema operativo debe suministrar los servicios necesarios que permitan el procesamiento concurrente. Bsicamente estos servicios proporcionan los medios para la realizacin de las siguientes actividades: Ejecucin concurrente de los procesos Sincronizacin entre procesos Comunicacin entre procesos

Adems, el SO debe disponer de algoritmos de gestin y planificacin de procesos que se encarguen de las siguientes acciones: Decidir qu proceso se ejecutar o tomar el procesador Llevar cuenta de los estados de los procesos, sus prioridades y toda la restante informacin relevante acerca de ellos.

Dependiendo de la interaccin entre los procesos, stos se clasifican en: independientes cooperativos competitivos

Los procesos independientes no se comunican o sincronizan entre ellos. En un sistema con un slo procesador, los procesos independientes en sentido estricto no existen, ya que todos compiten por la posesin del procesador y posiblemente por la memoria y los dispositivos de E/S. Los procesos cooperativos se comunican y sincronizan sus actividades para realizar una labor comn. Por ejemplo, en el computador a bordo de un avin hay procesos encargados de vigilar el funcionamiento de los motores, actualizar los instrumentos de vuelo, procesar las seales de los instrumentos 1 I.E.S. TIEMPOS MODERNOS ARTURO MARTN ROMERO CURSO 2012/2013

GESTIN DE PROCESOS SISTEMAS OPERATIVOS MONOUSUARIO de navegacin y mantener el rumbo. Todos los procesos cooperan durante el vuelo del avin, lo que puede requerir frecuentes interacciones entre todos ellos. Al compartirse los recursos de un computador todos los procesos compiten entre ellos. El acceso ordenado a estos recursos necesita de la sincronizacn y a veces tambin de la comunicacin entre los procesos.

I.E.S. TIEMPOS MODERNOS ARTURO MARTN ROMERO CURSO 2012/2013

GESTIN DE PROCESOS SISTEMAS OPERATIVOS MONOUSUARIO

ESPECIFICACIN DE LOS PROCESOS


En algunos sistemas operativos, como en los de tiempo compartido, cada programa que se pasa a ejecucin, por ejemplo mediante una orden de "ejecutar" dada por el usuario, se trata como un proceso independiente. Estos procesos generados por el SO se denominan implcitos. Una vez terminada la ejecucin de los mismos, su eliminacin tambin la realiza el propio SO. As mismo el SO proporciona en tiempo real los servicios que son necesarios para que el usuario pueda definir procesos de forma explcita. Los programas acceden a estos servicios realizando llamadas al sistema (system calls). Estas llamadas pueden aparecer incrustadas en el cdigo de un programa de usuario o del propio sistema, en cuyo caso, se asemejan a llamadas a procedimientos o funciones que dan lugar a transferencias de rutinas del SO cuando se invocan en tiempo real. Las llamadas al sistema se realizan tambin, pero de forma indirecta, cuando se dan rdenes al SO a travs de un terminal: la rutina de monitorizacin del terminal (que es a su vez un proceso) se encarga de transformar la orden en llamadas al sistema. De este modo, al comienzo de la ejecucin del programa principal de un usuario se inicia la ejecucin de un proceso. A su vez el proceso podra crear nuevos procesos. En este caso, el proceso que crea otro nuevo se denomina proceso padre (parent process), y el proceso creado se denomina proceso hijo (child process). Una vez creado un proceso hijo, la ejecucin de padre e hijo transcurre de manera concurrente. De esta forma, se puede crear una jerarqua arborescente de procesos, en la que un padre puede tener varios hijos y stos pueden tener otros hijos, etc, pero donde cada hijo slo tiene un padre.

ESTADO DE LOS PROCESOS


Como se ha puesto de manifiesto, el proceso es un elemento dinmico que puede pasar por diferentes estados a lo largo de su existencia. De forma general, un proceso puede encontrarse en un instante determinado en uno de los siguientes estados: Activo Preparado Bloqueado Muerto

La tarea activa es la que est ejecutndose en un instante dado. En el caso de sistemas con un nico procesador, slo puede haber una tarea en dicho estado en cada instante. En el estado de preparado, se encuentran todas las tareas que estn listas para ejecutarse pero que esperan a que el procesador (o uno de ellos en los sistemas multiproceso) quede libre (hay otros procesos ms prioritarios en ejecucin). Las tareas que estn a la espera de que se cumpla alguna condicin y que por lo tanto, no estn preparadas para ejecutarse, se dice que estn en el estado de bloqueado (tambin se pueden denominar como suspendidos); algunos ejemplos de condicin son que se termine una operacin de E/S o que se reciba una seal de sincronizacin. Un proceso est muerto cuando ha terminado su ejecucin o bien el sistema operativo ha detectado un error fatal y lo ha transferido a dicho estado. Tambin es posible que haya entrado en l como resultado de un fallo del propio sistema operativo (cuestin que desgraciadamente suele ocurrir con harta frecuencia en algunos SO).

I.E.S. TIEMPOS MODERNOS ARTURO MARTN ROMERO CURSO 2012/2013

GESTIN DE PROCESOS SISTEMAS OPERATIVOS MONOUSUARIO En algunos sistemas puede darse el caso de que un proceso que deba morir en realidad no lo haga y se mantenga activo (por ejemplo que al morir el padre quede el hijo activo) en este caso se dice que el proceso est zombi. Se denomina estado global del sistema (en un instante determinado), al conjunto de recursos y procesos existentes con sus estados correspondientes. El sistema operativo cambia el estado global del sistema, modificando el estado de los procesos y la asignacin de los recursos, en respuesta a eventos externos o internos. Algunos ejemplos de eventos son las llamadas al sistema operativo (para solicitar un recurso o realizar alguna operacin sobre un proceso) o cualquier interrupcin hardware. El sistema operativo dispone de algoritmos de planificacin y de gestin de los procesos y de los recursos de modo que, considerando como entradas al algoritmo los eventos y el estado global del sistema en un instante, genera un nuevo estado global reasignando los recursos entre los procesos, intentando optimizar el comportamiento del sistema de acuerdo con unos objetivos de diseo.

TRANSICIONES ENTRE ESTADOS


Paso a activo: El sistema operativo posee un mdulo, el distribuidor (dispatcher) que se encarga de activar los procesos que estn en el estado preparado de acuerdo con unos criterios determinados (por ejemplo en funcin de sus prioriades). Paso a preparado: Cualquier interrupcin hace que la tarea que est activa en ese instante deje de ejecutarse en favor del sistema operativo que decidir, de entre los procesos que ya estn preparados, cul de ellos tiene que ponerse en el estado activo (pasa a usar el procesador). Por ejempo un proceso activo puede efectuar llamadas al sistema para solicitar servicios de ste, tales como realizar una operacin de E/S, crear o eliminar otro proceso, etc. Como resultado una vez terminado el servicio, el sistema operativo puede devolver el control al proceso que est en ejecucin o transferirlo a uno de los otros estados. El proceso en ejecucin tambin puede volver al estado preparado por la accin del planificador (scheduler) del S.O. sin que medie una llamada al sistema. sta sera la situacin de un sistema de tiempo compartido en el que se hubiera terminado el intervalo de tiempo asignado al proceso en ejecucin o, en otros sistemas, el caso de que pasara al estado de preparado un proceso con una prioridad mayor. En algunos sistemas un proceso puede entrar en el estado preparado al crearse. Si el proceso est en el estado bloqueado, puede pasar al estado preparado si tiene lugar un evento que estuviera esperando para poder proseguir la ejecucin. Es decir, si un proceso est bloqueado, slo puede activarse cuando desaparezca la causa de su bloqueo y esto suceder cuando se ejecute la rutina de interrupcin al final del evento que el proceso est esperando; el proceso pasar a estar preparado. Paso a bloqueado: Un proceso en ejecucin puede pasar a bloqueado si solicita el servicio de un recurso sin cuyos resultados no puede continuar, por ejemplo una operacin de E/S, o bien, si necesita que tenga lugar algn evento para poder continuar. Tambin puede pasar a este estado un proceso al ser creado o, si estando en el estado de preparado, tiene lugar alguna accin determinada, como una llamada al sistema operativo del proceso que est en ejecucin en ese momento para suspenderlo. Paso a muerto: Un proceso pasa al estado muerto cuando finaliza o cuando queda eliminado por otro proceso.

EL BLOQUE DE CONTROL DE PROCESOS (PCB)

I.E.S. TIEMPOS MODERNOS ARTURO MARTN ROMERO CURSO 2012/2013

GESTIN DE PROCESOS SISTEMAS OPERATIVOS MONOUSUARIO El sistema mantiene toda la informacin sobre un proceso en una estructura de datos denominada bloque de control de procesos (PCB). La creacin de un proceso origina la creacin de su PCB que sirve para describirle hasta que se elimina o pasa al estado muerto, estado en el que los procesos no poseen PCB. En el PCB se guarda la informacin que necesita el sistema para controlar al proceso y dar cuenta de sus recursos y toda la que influye en la ejecucin de un programa. Esta informacin depende del sistema operativo un ejemplo puede ser este: El identificador nico del proceso (PID). Identificador del proceso Padre (PPID) El estado del proceso (activo, preparado, bloqueado). La prioridad. El estado hardware (contador de programa, cdigos de condicin, punteros de pila, etc). La informacin para gestionar la memoria (punteros, tablas, registros). La informacin de estado del sistema de E/S (dispositivos de E/S asignados al proceso, lista de archivos abiertos, etc.). La informacin de contabilidad y planificacin.

Cuando el sistema operativo cambia el procesador entre tareas, utiliza una zona del BCP en la que deja toda la informacin necesaria para que se pueda proseguir la ejecucin de la tarea cuando sta retome el procesador. Por ello, no slo se necesita guardar el contador de programa, sino todos aquellos registros que contengan resultados intermedios y cualesquiera otros registros que influyan en la ejecucin, tales como el registro de condicin y los punteros de pila. En la informacin contable, se mantiene la informacin necesaria para permitir que los algoritmos de planificacin del SO puedan conseguir organizar los procesos de modo que se obtenga el mejor comportamiento posible del sistema o lo que es equivalente, el rendimiento ptimo en el uso del procesador (o de los procesadores) del sistema y de los recursos. Informaciones relevantes para este fin son, entre otras, la hora de inicio del proceso, el tiempo real de uso del procesador, el tiempo de espera para conseguir un determinado recurso y el tiempo medio transcurrido desde que el proceso est preparado hasta que consigue el procesador.

OPERACIONES SOBRE PROCESOS


Los SO actuales poseen una serie de funciones cuyo objetivo es el de la manipulacin de los procesos. En general, las operaciones que se pueden hacer sobre un proceso son las siguientes Crear un proceso. Se produce con la orden de ejecucin del programa y suele necesitar varios argumentos, como el nombre y la prioridad del proceso. Aparece en este momento el PCB, que ser insertado en la cola de procesos preparados. Destruir un proceso. Se trata de la orden de eliminacin del proceso con la cual el sistema operativo destruye su PCB. Suspender un proceso. Es una operacin de alta prioridad que paraliza un proceso que puede ser reanudado posteriormente. Suele utilizarse en ocasiones de mal funciona miento o sobrecarga del sistema. Reanudar un proceso. Trata de activar un proceso que ha sido previamente suspendido. Cambiar la prioridad de un proceso. Temporizar la ejecucin de un proceso. Hace que un determinado proceso se ejecute cada cierto tiempo (segundos, minutos, horas ... ) por etapas o de una sola vez, pero transcurrido un perodo de tiempo fijo.

I.E.S. TIEMPOS MODERNOS ARTURO MARTN ROMERO CURSO 2012/2013

GESTIN DE PROCESOS SISTEMAS OPERATIVOS MONOUSUARIO Despertar un proceso. Es una forma de desbloquear un proceso que habr sido bloqueado previamente por temporizacin o cualquier otra causa.

EL PLANIFICADOR DE PROCESOS
Se denomina planificador al software del SO encargado de asignar los recursos de un sistema entre los procesos que los solicitan. Siempre que haya que tomar una decisin, el planificador debe decidir cual de los procesos que compiten por la posesin de un determinado recurso lo recibir. En la definicin, el procesador se considera como un recurso ms del sistema. Fijaremos ahora nuestra atencin en este recurso. Hay dos tipos fundamentales de planificadores que coexisten en un sistema operativo: el planificador a largo plazo (PLP) o planificador de trabajos y el planificador a corto plazo (PCP) o planificador del procesador. El PLP determina qu trabajos se admiten en el sistema para su procesamiento y son, por lo tanto, cargados en la memoria disponible. En los sistemas por lotes normalmente se presentan ms trabajos de los que pueden ser admitidos para una ejecucin inmediata. Estos trabajos se guardan en un dispositivo de almacenamiento para su ejecucin posterior. El PLP se encarga de seleccionar de ese almacenamiento los trabajos que considera ms adecuados llevar a la memoria para su ejecucin, de acuerdo con una cierta poltica de gestin. El PLP es el principal responsable de que se cumplan los criterios de gestin establecidos para la utilizacin global del sistema; para ello debe realizar una mezcla adecuada de trabajos "destinados" al procesador y trabajos "destinados" al sistema de E/S, con el fin de mantener en todo momento un uso adecuado de los recursos. Lo ms usual es definir una funcin de prioridad y asignarle a cada programa un valor para la misma que se actualiza en instantes determinados por el PLP. Las tareas con mayor prioridad se llevan al estado preparado. Entre dos instantes de gestin del PLP los procesos se gestionan por el planificador PCP, ms sencillo que aquel ya que no soporta la sobrecarga del clculo de las prioridades. La funcin esencial del PCP es la de reestablecer el contexto del nuevo proceso que pasa del estado preparado a activo, dejando a tal proceso en el mismo punto de ejecucin ltimo en donde se quedo. Existen sistemas que no tienen algoritmo PLP o ste es mnimo, como es el caso de algunos sistemas de tiempo compartido que se limitan a poner en el estado de preparado cualquier proceso nuevo. En estos sistemas se consigue un comportamiento adecuado con la limitacin del nmero de terminales disponibles o con la autorregulacin de los usuarios, de modo que si el sistema no va muy bien algunos dejaran sus tareas para otro momento. Como norma general se puede afirmar que el PLP slo existe en sistemas que admiten procesamiento por lotes. El PCP selecciona al proceso que pasar al estado activo de entre todos los procesos residentes en memoria que estn en el estado preparado. Como ya se ha indicado, este algoritmo se ejecuta muchas veces entre dos invocaciones al PLP. Su elevada frecuencia de uso hace que el algoritmo suela ser sencillo para evitar gastar mucho tiempo del procesador en su ejecucin. En la prctica este algoritmo se llama, siempre que un evento origina un cambio en el estado general del sistema, para determinar si dicho evento implica un cambio en el proceso que debe pasar al estado activo. Entre los eventos que suelen producir una invocacin al PCP estn: 6 Las seales del reloj del sistema. I.E.S. TIEMPOS MODERNOS ARTURO MARTN ROMERO CURSO 2012/2013

GESTIN DE PROCESOS SISTEMAS OPERATIVOS MONOUSUARIO Las interrupciones. La finalizacin de las operaciones de E/S. Las llamadas al sistema operativo. La activacin de programas interactivos.

En algunos sistemas al PCP tambin se le denomina distribuidor (dspatcher), sin embargo, en otros se reserva este nombre a aquella parte del PCP encargada en exclusiva de realizar las gestiones oportunas para pasar el procesador a la tarea seleccionada para su ejecucin. ste es el sentido que se utilizar para el trmino en todo lo que sigue. DISCO DURO O UNIDAD DE ALMACENAMIENTO SECUNDARIA
FIN DE E/S

NONATO

PREPARADO INTERCAMBIAD O CONCLUIDO

PLP

BLOQUEADO INTERCAMBIADO
CANCELADO O ERROR FIN DE E/S

CANCELADO O ERROR FIN, CANCELADO O ERROR

PMP

PMP

PREPARADO PCP

ACTIVO
E/S

MEMORIA PRINCIPAL

BLOQUEADO

Algunos sistemas introducen un planificador de nivel intermedio denominado planificador a medio plazo (PMP). Este tipo de planificador se basa en el hecho de que a veces es conveniente llevar a la memoria secundaria un proceso que ha sido suspendido en su ejecucin por algn evento, lo que permite liberar la memoria principal para otros procesos que estn en disposicin de ejecutarse. Otro motivo para llevar un proceso suspendido a la memoria secundaria es el de conseguir una mezcla adecuada de procesos destinados al procesador y procesos destinados al sistema de E/S. El proceso de salvar una tarea suspendida en la memoria secundaria se denomina intercambio (swapping). El PMP slo se encuentra en aquellos sistemas operativos que utilizan esta tcnica de gestin de la memoria.

POLTICAS DE PLANIFICACIN DE PROCESOS EN SISTEMAS MULTIPROGRAMADOS


El objetivo de las estrategias es conseguir la mayor eficiencia, es decir, se debe tratar de conseguir que el uso de la CPU sea el mximo posible. Entre otros, los objetivos de una buena poltica de planificacin son: Mayor uso CPU. Mayor Throuput (rendimiento). Menor tiempo de retorno del proceso: Tiempo transcurrido desde que el proceso entra en estado de procesos preparados hasta que finaliza su ejecucin. Menor tiempo de espera, en estado de procesos preparados. Menor tiempo de respuesta: transcurrido desde que entra en la cola de procesos preparados hasta que se le cede la CPU por primera vez. I.E.S. TIEMPOS MODERNOS ARTURO MARTN ROMERO CURSO 2012/2013

GESTIN DE PROCESOS SISTEMAS OPERATIVOS MONOUSUARIO

Vamos a ver algunas polticas que se pueden aplicar. Una de las caractersticas que las van a definir es la apropiacin. As tendremos: Polticas apropiativas: Son aquellas que producen un cambio de proceso con cada cambio de contesto, esto es, el proceso que se encuentre activo puede ser temporalmente suspendido y permitir que otro proceso se apropie del procesador. Este sistema lo utilizan las polticas de tiempo real y tiempo compartido Polticas no apropiativas: Son aquellas en las que un proceso no abandona el procesador hasta su finalizacin. Se utilizan en procesos por lotes.

Primero en llegar, primero en ser servido (FCFS: First Come, First Served)
En esta poltica de planificacin el procesador ejecuta cada proceso hasta que termina; por tanto, los procesos que entren en cola de procesos preparados permanecern encolados en el orden en que lleguen hasta que les toque su ejecucin. Este mtodo se conoce tambin como "El primero en entrar, primero en salir" (First In, First Out: FIFO). Se trata de una poltica muy simple y sencilla de llevar a la prctica, pero muy pobre en cuanto a su comportamiento. El ndice de servicio mejora cuanto ms largos son los procesos. Es decir, los procesos cortos que entren en el sistema despus de uno o varios largos tendrn que esperar un perodo de tiempo relativamente largo hasta su ejecucin. La cantidad de tiempo de espera de cada proceso depende del nmero de procesos que se encuentren en cola en el momento de su peticin de ejecucin y del tiempo que cada uno de ellos tenga en uso al procesador, y es independiente de las necesidades de ejecucin del propio proceso. Las caractersticas de esta poltica son: No apropiativa. Justa, aunque los procesos largos hacen esperar mucho a los cortos. Es una poltica predecible. El tiempo medio de servicio es muy variable en funcin del nmero de procesos y su duracin.

Round-Robin (RR)
Esta poltica, cuya traduccin podra ser asignacin cclica o planificacin en rueda, es una mejora de la FCFS. Trata de ser ms justa en cuanto a la respuesta tanto de los procesos cortos como de los largos. Consiste en conceder a cada proceso en ejecucin un determinado perodo de tiempo denominado quantum transcurrido el cual, si el proceso no ha terminado, se le devuelve al final de la cola de procesos preparados, concedindose el procesador al siguiente proceso. Si un proceso finaliza durante su quantum, inmediatamente se le concede el procesador a otro proceso, al que se le asigna el quantum completo. Esta interrupcin peridica contina hasta que el proceso termine su ejecucin, formando una rueda de procesos que sern ejecutados cclicamente hasta que terminen. La gestin de la cola de procesos preparados se puede realizar de muy diversas maneras, siendo las ms comunes la FIFO o por prioridades, donde los procesos se ordenan segn su prioridad.

I.E.S. TIEMPOS MODERNOS ARTURO MARTN ROMERO CURSO 2012/2013

GESTIN DE PROCESOS SISTEMAS OPERATIVOS MONOUSUARIO Variando el quantum lograremos tener diferentes comportamientos de esta poltica, de tal forma que si es mayor que el tiempo que necesita para su ejecucin el proceso ms largo, se convertira en una poltica FCFS. En cambio, si se aproxima a cero, la sobrecarga del sistema ser muy grande puesto que la mayor parte del tiempo se consumira en cambios de contexto. El tamao ptimo del quantum depende de: El tipo de sistema. Las cargas que vaya a soportar el sistema. El nmero de procesos en el sistema y su tipo.

Las caractersticas de esta poltica de planificacin son: Apropiativa. Baja sobrecarga si el cambio de contexto es eficiente y los procesos siempre estn en la memoria principal. Es la poltica ms utilizada para sistemas de tiempo compartido. Ofrece un ndice de servicio uniforme para todos los procesos.

El siguiente proceso, el ms corto (SJN: Shortest Job Next)


Hemos visto que la poltica RR mantiene constante el ndice de servicio de los procesos cortos basndose en la apropiacin del procesador. El mtodo SJN es una poltica de planificacin no apropiativa que trata de cubrir los mismos objetivos que la RR. Esta poltica toma de la cola de procesos preparados el que necesite menos tiempo de ejecucin para realizar su trabajo. Para ello debe saber el tiempo de procesador que necesita cada proceso, lo cual no es tarea nada fcil, pero posible a travs de diversos mtodos como pueden ser la informacin suministrada por el propio usuario, por el propio programa, basndose en la historia anterior (heurstica), etc. El tiempo de servicio en esta poltica es bueno para los procesos cortos, saliendo perjudicados los procesos largos. Las caractersticas de esta poltica de planificacin son las siguientes: No apropiativa El tiempo de espera aumenta de acuerdo con la longitud de los procesos, pero el tiempo medio de espera con respecto a otras polticas es ptimo. Es poco predecible. No es justa con los procesos largos Buen tiempo de servicio. Resulta difcil de poner en prctica por los datos que necesita para realizarse la planificacin.

Prximo proceso, el de tiempo restante ms corto (SRT: Shortest Remaining Time)


La poltica SRT es una mezcla de los dos mtodos anteriores y trata de obtener las ventajas de ambos. Para ello esta tcnica cambia el proceso que est en ejecucin cuando se ejecuta un proceso (paso del planificador de largo plazo al de corto plazo), con una exigencia de tiempo de ejecucin total menor que el que se est ejecutando en el procesador. El valor del tiempo de respuesta medio de los procesos largos mejora con respecto a SJN. 9 I.E.S. TIEMPOS MODERNOS ARTURO MARTN ROMERO CURSO 2012/2013

GESTIN DE PROCESOS SISTEMAS OPERATIVOS MONOUSUARIO Presenta un excelente ndice de servicio y el tiempo de espera es bastante corto para la mayora de los procesos. SRT consigue una buena eficiencia ya que logra que la lista de procesos preparados sea lo ms corta posible. Las caractersticas de esta poltica de planificacin son las siguientes: Apropiativa. El tiempo de espera aumenta de acuerdo con la longitud de los procesos, pero el tiempo medio de espera con respecto a otras polticas es ptimo. Es poco predecible. Puede ser injusta, ya que un proceso corto puede echar a un proceso largo que est haciendo uso del procesador Presenta una mayor sobrecarga. Excelente tiempo medio de servicio. Resulta difcil de poner en prctica por los datos que necesita para realizarse la planificacin. Es muy eficiente

Prioridad
En esta poltica se asocia a cada proceso una prioridad, de manera que el procesador se asigna al proceso de mayor prioridad. Las prioridades pueden ser definidas interna o externamente. En el primer caso, el sistema operativo se basa en una serie de informaciones medibles para el clculo y asignacin de dichas prioridades (tiempo necesitado de procesador, necesidad de memoria, etc) El principal problema de esta poltica es el bloque o postergacin indefinida, ya que un proceso de baja prioridad puede estar esperando su turno indefinidamente. Para evitarlo se suele utilizar lo que se denomina envejecimiento de las prioridades, que aumenta gradualmente las prioridades de los procesos que estn a la espera de utilizar el procesador. Cualquier algoritmo basado en esta poltica puede ser apropiativo o no apropiativo. En el primer caso, un proceso puede ser retirado del procesador si aparece otro de mayor prioridad en la cola de procesos preparados. PROBLEMA N1.- Polticas de Planificacin de Procesos
Decide cual sera la poltica de planificacin ms eficiente y apropiada para la gestin de la siguiente cola de procesos (menor tiempo promedio en espera en el estado de preparado): FCFS (First Came, First Served), SJN (Shortest Job Next) o RR (Round Robin) con un quantum=4. N de Proceso P1 P2 P3 P4 Instante de llegada de la solicitud 0 1 3 5 Tiempo estimativo de uso de CPU 6 14 12 8

En que situacin se producira ms sobrecarga del sistema debido a los cambios de contexto necesarios para el cambio de ejecucin de un proceso a otro?

10

I.E.S. TIEMPOS MODERNOS ARTURO MARTN ROMERO CURSO 2012/2013

GESTIN DE PROCESOS SISTEMAS OPERATIVOS MONOUSUARIO

PROBLEMA N2.- Polticas de Planificacin de Procesos


Decide cual sera la poltica de planificacin ms eficiente y apropiada para la gestin de la siguiente cola de procesos (menor tiempo promedio en espera en el estado de preparado): FCFS (First Came, First Served), SJN (Shortest Job Next) o RR (Round Robin) con un quantum=5. N de Proceso P1 P2 P3 P4 Instante de llegada de la solicitud 0 2 2 3 Tiempo estimativo de uso de CPU 18 12 20 8

En que situacin se producira ms sobrecarga del sistema debido a los cambios de contexto necesarios para el cambio de ejecucin de un proceso a otro?

PROBLEMA N3.- Polticas de Planificacin de Procesos


Si nos encontramos en un sistema en red, donde se hace uso de una poltica de planificacin de procesos de tiempo compartido (RR), con un quantum=6, con una cola de procesos como la que se muestra a continuacin, decide cual sera la mejor opcin, si aumentar o disminuir el quantum, a realizar por el planificador de procesos para mejorar la eficiencia del sistema, teniendo en cuenta para ello, que lo deseable es que el tiempo promedio en espera en el estado de preparado sea el menor posible. (Propuesta: Para saberlo te aconsejo que hagas las cuentas para un quantum de 2, de 6 y de 10 por ejemplo.) N de Proceso P1 P2 P3 P4 Instante de llegada de la solicitud 0 1 1 2 Tiempo estimativo de uso de CPU 22 9 16 34

En que situacin se producira ms sobrecarga del sistema debido a los cambios de contexto necesarios para el cambio de ejecucin de un proceso a otro?

11

I.E.S. TIEMPOS MODERNOS ARTURO MARTN ROMERO CURSO 2012/2013

GESTIN DE PROCESOS SISTEMAS OPERATIVOS MONOUSUARIO

RELACIONES ENTRE PROCESOS MULTIPROGRAMADOS

EN

SISTEMAS

MULTIPROCESO

En los sistemas multiproceso y en los sistemas multiprogramados (en este caso considerando procesadores virtuales) nos vamos a encontrar con varios procesos que intentan conseguir acceso a los recursos de forma simultnea. Esto podr producirse por dos causas: Varios procesos independientes. Un proceso dividido en subprocesos.

En cualquiera de los dos casos, pero sobre todo en el segundo, adems de controlar el acceso concurrente a los recursos debern tenerse en cuenta las relaciones y comunicaciones que los procesos establecen entre s. En ocasiones, un proceso deber partir de un punto al que se llega cuando otro ha realizado sus funciones o ha liberado un recurso. Cuando ocurre eso, debern presentarse soluciones para conseguir la sincronizacin entre los diferentes procesos. Los sistemas operativos, para dar el control de los recursos suelen utilizar unos sistemas conocidos como condiciones de carrera. En ellos el primer proceso que llega al recurso toma control sobre l. Cuando un proceso debe acceder a un recurso, comprueba si est ocupado por otro. En ese caso el proceso se duerme hasta que el otro proceso lo libera. En ese momento, el proceso que libera el recurso manda la seal de despertar, los procesos dormidos la escuchan, se despiertan e intentan de nuevo acceder al recurso. El que lo consigue lanza una seal de "dormir" para que los que no han llegado a tiempo se esperen. Un problema que podemos encontrarnos es que puede llegarse a un bloqueo de forma sencilla. Por ejemplo, si el proceso que ha tomado control del recurso lo libera antes de que otro entre en la fase de "dormido", su seal de "despertar" no ser oda, de esa manera el otro proceso puede quedarse dormido de forma indefinida. De la misma manera puede llegarse a un interbloqueo en el que dos procesos quedan bloqueados entre s. El interbloqueo es una situacin que los sistemas operativos deben evitar. Para implementar las condiciones de carrera podemos usar estos mtodos:

Semforos
Buscan regular el acceso a los recursos generando una variable (semforo) para cada uno de los recursos. Este semforo tomar diferentes valores para indicar si est libre u ocupado. Existen dos tipos de semforos: binarios: toman valores 0 (recurso libre) y 1 (recurso ocupado). generales: toman valores mayores que cero, permiten un mayor control sobre el recurso (por ejemplo saber cuantos procesos esperan a que quede liberado)

Sobre los semforos se permiten las siguientes operaciones:

12

I.E.S. TIEMPOS MODERNOS ARTURO MARTN ROMERO CURSO 2012/2013

GESTIN DE PROCESOS SISTEMAS OPERATIVOS MONOUSUARIO wait(s): incrementa el valor de s (semforo) signal(s): decrementa el valor de s initial(s,valor): inicializar el semforo a un valor determinado (no est presente en todos los sistemas)

Las aplicaciones para las que se usan son: Exclusin mutua: cuando un proceso toma el control de un recurso y que nadie ms pueda usarlo (quedan excluidos). Se implementa con las lneas: wait(s) toma control del recurso, si est ocupado, esprate a que quede libre seccin crtica operaciones que deben realizarse sobre el recurso de forma exclusiva signal(s) libera el recurso Sincronizacin entre procesos: cuando un proceso debe esperar a que otro termine.

Monitores
En este caso los procesos no acceden directamente a los recursos ni los gestionan directamente mediante semforos. Lo que se hace es acceder a una serie de procedimientos dados (monitor). En el monitor se encontrarn todos los algoritmos necesarios para gestionar el recurso, es decir decidir que procesos accedern al recurso y todos los sistemas necesarios para ello. Con esto se consigue que la programacin de acceso a los recursos sea ms estructurada.

13

I.E.S. TIEMPOS MODERNOS ARTURO MARTN ROMERO CURSO 2012/2013

Вам также может понравиться