Está en la página 1de 11

ADMINISTRACION DE PROCESOS Y DEL PROCESADOR

PROCESO Decimos que el concepto central de cualquier Sistema Operativo es el de proceso: una abstraccin de un programa en ejecucin tambin llamadatarea. Un programa, es un conjunto de instrucciones que pueden ser ejecutadas por el procesador, cuando este programa se ejecuta de manera individual en el procesador, se le conoce como proceso o tarea. ESTADOS Y TRANSICION DE LOS PROCESOS 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. En un entorno de multiprogramacin, el procesador intercalar la ejecucin de instrucciones de varios programas que se encuentran en memoria. El sistema operativo es el responsable de determinar las pautas de intercalado y asignacin de recursos a cada proceso. Aunque cada proceso se una entidad independiente, con su propio contador de programa y estado interno, los procesos a menudo necesitan interactuar con otros procesos. Un proceso podra generar ciertas salidas que otro proceso utilizan como entradas, en el comando de Shell. Cuando un proceso se bloquea, lo que hace porque le es imposible continuar lgicamente, casi siempre porque esta separando entradas que todava no estn disponibles, tambin puede ser que un programa que conceptualmente esta listo y en condiciones de ejecutarse sea detenido porque el sistema operativo ha decidido asignar la CPU a otro proceso durante un tiempo. Estas dos condiciones son totalmente distintas, en el primer caso, la suspensin es inherente al problema (no es posible procesar la lnea de comandos del usuarios antes de que este la teclee). En el segundo caso, se trata de un tecnicismo del sistema (no hay suciente: CPU para darle a cada proceso su propio procesador privado 1.- Ejecutndose(usando realmente la CPU en este instante). 2.- Listo (se puede ejecutar, pero se suspendi temporalmente para dejar

Calle (trabajo) CP (trab.) Ciud. (trab.) Prov. (trab.) Pas (trabajo)

T Telfono (trabajo)

F Telfono/fax (trabajo)

W URL (trabajo)

ADMINISTRACION DE PROCESOS Y DEL PROCESADOR

que otro proceso se ejecute). 3.-Bloqueo(no puede ejecutarse en tanto no ocurra algn evento externo). Puede haber cuatro transiciones entre estos tres estados, como se muestra: La transaccin 1 ocurre cuando un proceso descubre que no puede continuar. En algunos sistemas el proceso debe ejecutar una llamada al sistema, block, para pasar al estado bloquead La transicin 2 ocurre cuando el planicador decide que el proceso en ejecucin ya se ejecuto durante suciente tiempo y es ahora de dejar que otros procesos tengan algo de tiempo de CPU djdjdj La transicin 3 ocurre cuando todos los dems procesos han disfrutado de una porcin justa y es hora de que el primer proceso reciba otra vez la CPU para ejecutarse. La transicin 4 ocurre cuando acontece el suceso externo que un procesos estaba esperando (como la llegada de la entrada). Sin ningn otro proceso se esta ejecutando en este instante, se dispara de inmediato la transicin 3 y el proceso comienza a ejecutarse.

PROCESOS LIGEROS: HILOS O HEBRAS Un proceso ligero, o thread, es un programa en ejecucin (ujo de ejecucin) que comparte la imagen de memoria y otras informaciones con otros procesos ligeros. un proceso puede contener un solo ujo de ejecucin, como ocurre en los procesos clsicos, o mas de un ujo de ejecucin (procesos ligeros). un proceso ligero se dene como una funcin cuya ejecucin se puede lanzar en paralelo con otras. El hilo de ejecucin primario, o proceso ligero primario, corresponde a la funcin main. Cada proceso ligero tiene informaciones que le son propias y que no comparte con otros procesos ligeros. Las informaciones propias se reeren fundamentalmente al contexto de ejecucion, pudindose destacar las siguientes:

Contador de programa. Pila. Registros.


Pgina 2

OMAR ALFREDO GALICIA HERRERA

ADMINISTRACION DE PROCESOS Y DEL PROCESADOR

Estado del proceso ligero (ejecutando, listo o bloqueado).

Todos los procesos ligeros de un mismo proceso comparten la informacin del mismo. En concreto, comparten:

Espacio de memoria. Variables globales. Archivos abiertos. Procesos hijos. Temporizadores. Seales y semforos. Contabilidad.

Todos los procesos ligeros de un mismo proceso comparten el mismo espacio de direcciones de memoria, que incluye el cdigo, los datos y las pilas de los diferentes procesos ligeros. Esto hace que no exista proteccin de memoria entre los procesos ligeros de un mismo proceso, algo que si ocurre con los procesos convencionales.

CONCURRENCIA Y SECUNCIABILIDAD

Los procesos son concurrentes si existen simultneamente. Los procesos concurrentes pueden funcionar en forma totalmente independiente unos de otros, o pueden ser asncronos, lo cual signica que en ocasiones requieren cierta sincronizacin o cooperacin Cuando dos o mas procesos llegan al mismo tiempo a ejecutarse, se dice que se ha presentado una concurrencia de procesos. Es importante mencionar que para que dos o mas procesos sean concurrentes , es necesario que tengan alguna relacion entre ellos como puede ser la cooperacion para un determinado trabajo o el uso de informacion o recursos compartidos, por ejemplo: en un sistema de un procesador , la multiprogramacion es una condicion necesaria pero no suciente para que exista concurrencia, ya que los procesos pueden ejecutarse de forma totalmente independiente.
Pgina 3

OMAR ALFREDO GALICIA HERRERA

ADMINISTRACION DE PROCESOS Y DEL PROCESADOR

Por otro lado en un sistema de varios procesos se puede presentar la concurrencia siempre y cuando las actividades necesiten actuar entre si ya sea para utilizar informacion en comun o para cualquier otra cosa.

NIVELES OBJETIVOS Y CRITERIOS DE PLANIFICACIN

La planicacin hace referencia a un conjunto de polticas y mecanismos incorporados al sistema operativo que gobiernan el orden en que se ejecutan los trabajos que deben ser complementados por el sistema informtico. El objetivo principal de la planicacion es optimizar el rendimiento del sistema y proporcionar un buen servicio a todos los procesos que se encuentren en el. En general, la planicacion trata de cubrir los siguientes objetivos:

Justicia. La planicacion debe ser lo mas justa posible con todos los procesos, sin favorecer a unos y perjudicar a otros. Maxima capacidad de ejecucion. Debe dar un servicio eciente para que todos los trabajos se realicen lo mas rapidamente posible. Maximo numero de usuarios interactivos. En los sistemas de tiempo compartido se tratara de que puedan estar trabajando el mayor numero de usuarios al mismo tiempo. Predecibilidad. La planicacion debe realizarse de tal forma que en todo momento pueda saberse como sera su ejecucion. Minimizacion de la sobrecarga. La computadora debe tener poca sobrecarga ya que esta afecta directamente al rendimiento nal del sistema: a menor sobrecarga mayor velocidad de proceso. Equilibrio en el uso de recursos. Para obtener un mayor rendimiento en el uso de los recursos y que estos esten ocupados equitativamente el mayor tiempo posible. Seguridad de las prioridades. Si un proceso tiene mayor prioridad que otro, este debe ejecutarse mas rapidamente. Evitar la postergacion indenida. Esto se logra aumentando la prioridad de un proceso mientras espere por un recurso.

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR.


Pgina 4

OMAR ALFREDO GALICIA HERRERA

ADMINISTRACION DE PROCESOS Y DEL PROCESADOR

Se reeren a los diferentes algoritmos que puede utilizar el planicador para asignar recursos del procesador para la ejecucin de procesos en base al tipo de proceso, tiempo de ejecucin, prioridad, etc. Hay dos tipos de tcnicas de administracin, los algoritmos apropiativos, en los que un proceso se ejecuta hasta que termina o hasta que este se bloquea, y los no apropiativos, en los que un proceso en ejecucin puede interrumpirse y pasarse a una cola de procesos listos que se est ejecutando puede ser interrumpido y pasado a cola de listos si el sistema operativo lo considera prudente. Entre los algoritmos apropiativos est: RoundRobin (planicacin por turno circular).Entre los algoritmos no apropiativos est: FCFS(primero en llegar primero en atender).Entre los algoritmos que pueden ser apropiativos y no apropiativos en base a distintas condiciones estn: SJF y prioridades (colas multinivel y colas multinivel realimentadas)

EXCLUCION MUTUA DE SECCIONES CRTICAS. El mtodo ms sencillo de comunicacin entre los procesos de un programa concurrente es el uso comn de unas variables de datos. Esta forma tan sencilla de comunicacin puede llevar, no obstante, a errores en el programa ya que el acceso concurrente puede hacer que la accin de un proceso interera en las acciones de otro de una forma no adecuada. Aunque nos vamos a jar en variables de datos, todo lo que sigue seria valido con cualquier otro recurso del sistema que solo pueda ser utilizado por un proceso a la vez.

SINCRONIZACIN DE PROCESOS EN S.C.

MECANISMO DE SEMAFOROS. Los mecanismos de semforos fueron el primer gran avance en la resolucin de los problemas de procesos concurrentes.
Pgina 5

OMAR ALFREDO GALICIA HERRERA

ADMINISTRACION DE PROCESOS Y DEL PROCESADOR

Est interesado en el diseo de un sistema operativo como un conjunto de procesos Secunciales cooperantes y en el desarrollo de mecanismos ecientes y ables para dar soporte a la cooperacin. Los procesos de usuario podrn utilizar estos mecanismos en tanto que el procesador y el sistema operativo los hagan disponibles.

MECANISMO DE MONITORES. A n de facilitar la escritura de programas correctos, Hoare (1974) y BrinchHansen (1975) propusieron una primitiva de sincronizacin de nivel ms alto llamada monitor. Un monitor es una coleccin de procedimientos, variables y estructuras de datos que se agrupan en un tipo especial de mdulo o paquete. Los monitores poseen una propiedad especial que los hace tiles para lograr la exclusin mutua: slo un proceso puede estar activo en un monitor en un momento dado. Los monitores son una construccin de lenguaje de programacin, as que el compilador sabe que son especiales y puede manejar las llamadas a procedimientos de monitor de una forma diferente a como maneja otras llamadas a procedimientos. Cuando un proceso invoca un procedimiento de monitor, las primeras instrucciones del procedimiento verican si hay algn otro proceso activo en ese momento dentro del monitor.

INTERBLOQUEO DeadLock

Es el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros.

Pgina 6

OMAR ALFREDO GALICIA HERRERA

ADMINISTRACION DE PROCESOS Y DEL PROCESADOR

El interbloqueo se produce si cada proceso retiene un recurso y solicita el otro. Puede parecer que es un error de programacin en lugar de un error del diseo del sistema operativo. PREVENCION. Los mtodos para prevenir el interbloqueo son de dos tipos. Los mtodos indirectos consisten en impedir la aparicin de alguna de las tres condiciones necesarias, antes mencionadas. Los mtodos directos consisten en evitar la aparicin del crculo vicioso de espera. DETENCION. Las estrategias de deteccin del interbloqueo no limitan el acceso a los recursos ni restringen las acciones de los procesos. Con deteccin del interbloqueo, se concedern los recursos que los procesos necesiten siempre que sea posible. El sistema operativo ejecuta un algoritmo que permite detectar la condicin de crculo vicioso de espera. Puede emplearse cualquier algoritmo de deteccin de ciclos en grafos dirigidos. Circulo vicioso. La condicin del crculo vicioso de espera puede prevenirse deniendo una ordenacin lineal de los tipos de recursos. Si a un proceso se le han asignado recursos de tipo R, entonces slo podr realizar peticiones posteriores sobre los recursos de los tipos siguientes a R en la ordenacin. RECUPERACIN. Un sistema que pretenda recuperarse del interbloqueo, debe invocar a un algoritmo de deteccin cuando lo considere oportuno. Tambin existe lo que es la recuperacin manual esta forma de recuperacin consiste en avisarle al administrador o al operador del sistema que se a presentado un interbloqueo.

NIVELES, OBJETIVOS Y CRITERIOS DE PLANIFICACIN. NIVELES DE LA PLANIFICACION.


Pgina 7

OMAR ALFREDO GALICIA HERRERA

ADMINISTRACION DE PROCESOS Y DEL PROCESADOR

Planicacin de alto nivel: Se encarga de llevar procesos de disco a memoria . Seleccionando los trabajos que deben admitirse en el sistema. Tambin se denomina Planicacin de trabajos. Determina a qu trabajos se les va a permitir competir activamente por los recursos del sistema, lo cual se denomina Planicacin de admisin. Administrar todos los recursos del sistema excepto el CPU. Mantiene las colas de procesos bloqueados y suspendidos. Controla la creacin de procesos. Maneja el nivel de multiprogramacin. Planicacin de nivel intermedio: En algunos casos, en especial cuando el sistema est sobrecargado, el planicador de nivel medio encuentra ventajoso retirar trabajos activos de la memoria para reducir el grado de multiprogramacin, y por lo tanto, permitir que los trabajos se completen ms aprisa. Este subadministrador controla los trabajos que se intercambian hacia fuera y de regreso. Determina a qu procesos se les puede permitir competir por la cpu. Efecta suspensiones y activaciones (reanudaciones) de procesos. Planicacin de bajo nivel: Se encarga de pasar de un proceso a otro en memoria principal. Determinando a cul proceso listo se le asignar el CPU cuando ste se encuentra disponible. Tambin 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. OBJETIVOS DE LA PLANIFICACION. Los objetivos de la planicacin del procesador son los siguientes e involucran a los conceptos detallados seguidamente: Ser justa: Todos los procesos son tratados de igual manera. Ningn proceso es postergado indenidamente. Maximizar la capacidad de ejecucin: Maximizar el nmero de procesos servidos por unidad de tiempo. Maximizar el nmero de usuarios interactivos que reciban unos tiempos de respuesta aceptables: En un mximo de unos segundos.

Pgina 8

OMAR ALFREDO GALICIA HERRERA

ADMINISTRACION DE PROCESOS Y DEL PROCESADOR

Ser predecible: Un trabajo dado debe ejecutarse aproximadamente en la misma cantidad de tiempo independientemente de la carga del sistema. Minimizar la sobrecarga: No suele considerarse un objetivo muy importante. Equilibrar el uso de recursos: Favorecer a los procesos que utilizarn recursos infrautilizados. Equilibrar respuesta y utilizacin: La mejor manera de garantizar buenos tiempos de respuesta es disponer de los recursos sucientes cuando se necesitan, pero la utilizacin total de recursos podr ser pobre. Evitar la postergacin indenida: Se utiliza la estrategia del envejecimiento .Mientras un proceso espera por un recurso su prioridad debe aumentar, as la prioridad llegar a ser tan alta que el proceso recibir el recurso esperado. Asegurar la prioridad: Los mecanismos de planicacin deben favorecer a los procesos con prioridades ms altas. Dar preferencia a los procesos que mantienen recursos claves: Un proceso de baja prioridad podra mantener un recurso clave, que puede ser requerido por un proceso de ms alta prioridad. Si el recurso es no apreciativo, el mecanismo de planicacin debe otorgar al proceso un tratamiento mejor del que le correspondera normalmente, puesto que es necesario liberar rpidamente el recurso clave. Dar mejor tratamiento a los procesos que muestren un comportamiento deseable: Un ejemplo de comportamiento deseable es una tasa baja de paginacin. Degradarse suavemente con cargas pesadas: Un mecanismo de planicacin no debe colapsar con el peso de una exigente carga del sistema. Se debe evitar una carga excesiva mediante las siguientes acciones: No permitiendo que se creen nuevos procesos cuando la carga ya es pesada. Dando servicio a la carga ms pesada al proporcionar un nivel moderadamente reducido de servicio a todos los procesos.

Pgina 9

OMAR ALFREDO GALICIA HERRERA

ADMINISTRACION DE PROCESOS Y DEL PROCESADOR

CRITERIOS DE PLANIFICACIN -Equidad Garantizar que cada proceso obtiene su proporcin justa de la CPU. -Ecacia 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.

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR. FIFO 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. 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. 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. SJF Al igual que en el algoritmo FIFOlas rfagas se ejecutan sin interrupcin, por tanto, slo es til para entornos batch. Su caracterstica es que cuando se activa el planicador, ste elige la rfaga de menor duracin. Es decir, introduce una nocin de prioridad entre rfagas. Hay que recordar que en los entornos batchse pueden hacer estimaciones del tiempo de ejecucin de los procesos. La ventaja que presenta este
Pgina 10

OMAR ALFREDO GALICIA HERRERA

ADMINISTRACION DE PROCESOS Y DEL PROCESADOR

algoritmo sobre el algoritmo FIFO es que minimiza el tiempo de nalizacin promedio. RR 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. Cada proceso tiene asignado un intervalo de tiempo de ejecucin, llamado cuantum o cunto. Si el proceso agota su cuantum de tiempo, se elige a otro proceso para ocupar la CPU. Si el proceso se bloquea o termina antes de agotar su cuantum tambin se alterna el uso de la CPU. El round robn es muy fcil de implementar. Todo lo que necesita el planicador es mantener una lista de los procesos listos. QUEVES MULTI-LEVEL. Un algoritmo de planicacin mediante colas multinivel divide la cola de procesos preparados en varias colas distintas. Los procesos se asignan permanentemente a una cola, generalmente en funcin de alguna propiedad del proceso, como por ejemplo el tamao memoria, la prioridad del proceso o el tipo de proceso. Cada cola tiene su propio algoritmo de planicacin. Por ejemplo, pueden emplearse colas distintas para los procesos de primer plano y de segundo plano. La cola de primer plano puede planicarse mediante un algoritmo por turnos, mientras que para la cola de segundo plano puede emplearse un algoritmo FCFS. MULTI-LEVEL FEEDBACK QUEVES. Se diferencia con el anterior en que procesos pueden cambiar de cola (nivel). Se basa en categorizar los procesos segn el uso de CPU que tengan. La cola de mayor prioridad ser la de los procesos I/O-bound y la de menor la de procesos con alto CPU-bound. De esta forma, se garantiza que los procesos con poco uso de procesador tengan mayor prioridad, y los que consumen mucho procesador tendrn baja prioridad. Los procesos, segn el consumo de CPU que hagan, sern promovidos a una cola de mayor prioridad o rebajados a una de menor prioridad.

Pgina 11

OMAR ALFREDO GALICIA HERRERA