Está en la página 1de 11

UNIDAD 2.

CONCEPTO DE PROCESO. Un proceso se puede definir como una unidad de actividad que se caracteriza por la ejecucin de una secuencia de instrucciones, y un conjunto de recursos de los sistemas asociados que llevan consigo un seguimiento. Es la abstraccin ms antigua e importante que proporcionan los sistemas operativos, proporcionan la capacidad de operar concurrentemente aunque solo haiga disponible una CPU. Los procesos tienen la capacidad para convertir una CPU en varias CPU virtuales. Gracias ala abstraccin de los procesos la computacin de hoy en da puede existir.

ESTADOS Y TRANSICIONES DE LOS PROCESOS. Un proceso puede pasar por una serie de estados discretos, algunos de ellos son: En ejecucin: El proceso ocupa la CPU actualmente, es decir, se est ejecutando. Listo o preparado: El proceso dispone de todos los recursos para su ejecucin. Bloqueado: Al proceso le falta algn recurso para poder seguir ejecutndose ya sea un dato o un dispositivo.

TRANSICIONES DE LOS PROCESO. Bueno como que le pude entender mejor en esta imagen.

De ejecucin Bloqueado: al iniciar una operacin de E/S, y en el momento de ejecucin nos marca errores. De ejecucin Listo: Cuando al finalizar la ejecucin, la termina correctamente sin errores. De Listo en ejecucin: Cuando se tienen todos los recursos necesarios para su completa ejecucin, sea esta terminado. De Bloqueado Listo: cuando se dispone del recurso necesario para su finalizacin.

PROCESOS LIGEROS ( HILOS O HEBRAS). Es un programa en ejecucin que comparte la imagen de memoria y otras informaciones con otros procesos ligeros como se en la siguiente figura.

La unidad de asignacin de la CPU se conoce como hilo, mientras que a la unidad que posee recursos se le llama proceso. HEBRA: Es una unidad bsica de utilizacin de la CPU consistente en un juego de registros y un espacio de pila. Comparte el cdigo, los datos y los recursos con sus hebras pares. CONCURENCIA Y SECUENCIABILIDAD. Cuando dos o mas procesos llegan al mismo tiempo a ejecutarse, se dice que se ha presentado una concurrencia de procesos. 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 significa que en ocasiones requieren cierta sincronizacin o cooperacin

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 interfiera en las acciones de otro de una forma no adecuada. Aunque nos vamos a fijar 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. Est interesado en el diseo de un sistema operativo como un conjunto de procesos Secunciales cooperantes y en el desarrollo de mecanismos eficientes y fiables 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 fin 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 verifican 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. 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 definiendo 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. Planificacin de alto nivel: Se encarga de llevar procesos de disco a memoria . Seleccionando los trabajos que deben admitirse en el sistema. Tambin se denomina Planificacin de trabajos. Determina a qu trabajos se les va a permitir competir activamente por los recursos del sistema, lo cual se denomina Planificacin 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. Planificacin de nivel intermedio: En algunos casos, en especial cuando el sistema est sobrecargado, el planificador 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. Planificacin 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 planificacin 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 indefinidamente. 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. 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 suficientes cuando se necesitan, pero la utilizacin total de recursos podr ser pobre. Evitar la postergacin indefinida: 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 planificacin 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 planificacin 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 planificacin 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.

CRITERIOS DE PLANIFICACIN -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.

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 FIFO las rfagas se ejecutan sin interrupcin, por tanto, slo es til para entornos batch . Su caracterstica es que cuando se activa el planificador, ste elige la rfaga de menor duracin. Es decir, introduce una nocin de prioridad entre rfagas. Hay que recordar que en los entornos batch se pueden hacer estimaciones del tiempo de ejecucin de los procesos. La ventaja que

presenta este algoritmo sobre el algoritmo FIFO es que minimiza el tiempo de finalizacin 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 planificador es mantener una lista de los procesos listos.

QUEVES MULTI-LEVEL. Un algoritmo de planificacin 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 planificacin. Por ejemplo, pueden emplearse colas distintas para los procesos de primer plano y de segundo plano. La cola de primer plano puede planificarse 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/Obound 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.

También podría gustarte

  • Dist CCD
    Dist CCD
    Documento6 páginas
    Dist CCD
    Asiel Jimenez
    Aún no hay calificaciones
  • Diccionario de Datos
    Diccionario de Datos
    Documento3 páginas
    Diccionario de Datos
    Asiel Jimenez
    Aún no hay calificaciones
  • Dist CCD
    Dist CCD
    Documento6 páginas
    Dist CCD
    Asiel Jimenez
    Aún no hay calificaciones
  • SSH (Medusa)
    SSH (Medusa)
    Documento2 páginas
    SSH (Medusa)
    Asiel Jimenez
    Aún no hay calificaciones
  • Examen 5unidad
    Examen 5unidad
    Documento7 páginas
    Examen 5unidad
    Asiel Jimenez
    Aún no hay calificaciones
  • Entrar A Windows7
    Entrar A Windows7
    Documento5 páginas
    Entrar A Windows7
    Asiel Jimenez
    Aún no hay calificaciones
  • Samba
    Samba
    Documento3 páginas
    Samba
    Asiel Jimenez
    Aún no hay calificaciones
  • Tomcat
    Tomcat
    Documento6 páginas
    Tomcat
    Asiel Jimenez
    Aún no hay calificaciones
  • Tiki Wiki
    Tiki Wiki
    Documento10 páginas
    Tiki Wiki
    Asiel Jimenez
    Aún no hay calificaciones
  • Tutorial de Sub Netting
    Tutorial de Sub Netting
    Documento9 páginas
    Tutorial de Sub Netting
    gustavo_scz_
    Aún no hay calificaciones
  • Entrar A Windows XP
    Entrar A Windows XP
    Documento8 páginas
    Entrar A Windows XP
    Asiel Jimenez
    Aún no hay calificaciones
  • Examen Asiel
    Examen Asiel
    Documento5 páginas
    Examen Asiel
    Asiel Jimenez
    Aún no hay calificaciones
  • Interrupciones de Hardware y Software
    Interrupciones de Hardware y Software
    Documento2 páginas
    Interrupciones de Hardware y Software
    Asiel Jimenez
    Aún no hay calificaciones
  • Interrupciones de Hardware y Software
    Interrupciones de Hardware y Software
    Documento2 páginas
    Interrupciones de Hardware y Software
    Asiel Jimenez
    Aún no hay calificaciones
  • Procesos Init
    Procesos Init
    Documento5 páginas
    Procesos Init
    Asiel Jimenez
    Aún no hay calificaciones
  • Examen Asiel
    Examen Asiel
    Documento5 páginas
    Examen Asiel
    Asiel Jimenez
    Aún no hay calificaciones
  • Los Procesos. Unidad 2
    Los Procesos. Unidad 2
    Documento11 páginas
    Los Procesos. Unidad 2
    Asiel Jimenez
    Aún no hay calificaciones
  • Comandos Básicos para SSH
    Comandos Básicos para SSH
    Documento4 páginas
    Comandos Básicos para SSH
    Asiel Jimenez
    Aún no hay calificaciones