Está en la página 1de 26

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

INSTITUTO TECNOLOGICO SUPERIOR DE LA SIERRA NEGRA DE AJALPAN CARRERA: ING. SISTEMAS COMPUTACIONALES

MATERIA: SISTEMAS OPERATIVOS TEMAS: UNIDAD IIY III

ALUMNO: IGNACIO GARCIA TORRES

CATEDRATICO: ING. MARCO ANTONIO ISIDRO ABRIL

SEPTIMO SEMESTRE

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

UNIDAD 2 Administracin de procesos y del procesador. 2.1 Concepto de proceso.


Puede informalmente entenderse como un programa en ejecucin. Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecucin de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados". El proceso es un programa de gestin por el sistema operativo. Diferencia entre proceso y programa: Un programa no es un proceso, es una entidad pasiva. Mientras que un programa se encuentra en modo pasivo. El proceso trabaja en modo activo. Por ejemplo: Microsoft Word al estar guardado en disco duro, no tiene alguna interaccin con el procesador. En cambio cuando hacemos clic el men de inicio de Windows, convertirnos en proceso aquel programa. Durante su uso el proceso va modificando en ejecucin y, de una forma un poco mas precisa, como la unidad de procesamiento los registro del modelo de programacin de la computadora, de acuerdo a las intrusiones de maquina involucradas. El sistema operativo mantiene por cada proceso una serie de estructuras de informacin que permiten identificar las caractersticas de este, as como los recursos que tiene asignados.

2.2 Estados y transiciones de los procesos


ESTADOS DE LOS PROCESOS Nuevo: Se dice que un proceso est en estado de nuevo cuando apenas se encuentra en proceso de crearse. Listo: El proceso est esperando que se le asigne a un procesador. En ejecucin: Se estn ejecutando instrucciones. En espera: El proceso est esperando que ocurra algn suceso, como por ejemplo, la terminacin de una E/S, para as poder ponerse en marcha. Terminado: Cuando un proceso se ha completado su ejecucin pasa a ser un proceso terminado. TRANSICIONES DE ESTADOS.

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

Cuando un trabajo es admitido se crea un proceso equivalente, y es insertado en la ultima parte de la cola de listos. Cuando un proceso pasa de un estado a otro se dice que hace una transicin de estado. Admitido (Proceso): Nuevo Listo Cuando un proceso se ha creado y se le es permito para competir por la CPU. Despacho (Proceso):Listo En ejecucin La asignacin de la CPU al primer proceso de la lista de listos es llamado despacho y es ejecutado por la entidad de sistema llamada despachador. Mientras que el proceso tenga la CPU se dice que esta en ejecucin. Tiempo excedido (Proceso):En ejecucin Listo Cuando a un proceso se le expira el intervalo de tiempo asignado para estar en ejecucin (CUANTO), hace que este proceso que se hallaba en estado de ejecucin pase al estado de listo e inmediatamente. Bloqueo (Proceso): En ejecucin Bloqueado Si un proceso que se encuentra en estado de ejecucin inicia una operacin de E/s antes que termine su cuanto, el proceso voluntariamente abandona la CPU, es decir, el proceso se bloquea a s mismo.

2.3 Procesos ligeros (Hilos o hebras).


El significado de proceso engloba dos conceptos separados y potencialmente independientes: uno relativo a la propiedad de recursos y otro que hace referencia a la ejecucin. Unidad que posee recursos: A un proceso se le asigna un espacio de memoria y, de tanto en tanto, se le puede asignar otros recursos como dispositivos de E/S o ficheros. Unidad a la que se le asigna el procesador: Un proceso es un flujo de ejecucin (una traza) a travs de uno o ms programas. Esta ejecucin se entremezcla con la de otros procesos. De tal forma, que un proceso tiene un estado (en ejecucin, listo) y una prioridad de expedicin u origen. La unidad planificada y expedida por el sistema operativo es el proceso. Un estado de ejecucin (en ejecucin, listo, bloqueado) Un contexto de procesador, que se salva cuando no est ejecutndose.

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

Una pila de ejecucin. Algn almacenamiento esttico para variables locales. Acceso a la memoria y a los recursos de ese trabajo que comparte con los otros hilos. Los beneficios clave de los hilos se derivan de las implicaciones rendimiento: se tarda menos tiempo en crear un nuevo hilo de proceso que ya existe, en terminarlo, y en hacer un cambio contexto entre hilos de un mismo proceso. Al someter a un mismo proceso a varios flujos de ejecucin mantiene una nica copia en memoria del cdigo, y no varias. del un de se

Un ejemplo de aplicacin que podra hacer uso de los hilos es un servidor de ficheros de una red de rea local. Cada vez que llega una solicitud de una operacin sobre un fichero, se puede generar un nuevo hilo para su gestin. El servidor gestiona multitud de solicitudes, por tanto, se pueden crear y destruir muchos hilos en poco tiempo para dar servicio a estas peticiones. Si el servidor es un multiprocesador, se pueden ejecutar varios hilos de un mismo proceso simultneamente y en diferentes procesadores.

Comunicacin inter-proceso del SO. La conmutacin de contexto es ms rpida gracias al extenso compartir de recursos

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

No hay proteccin entre las hebras. Una hebra puede escribir en la pila de otra hebra del mismo proceso. ESTADOS DE LOS PROCESOS LIGEROS

Un proceso ligero puede estar ejecutando, listo o bloqueado.

PARALELISMO Los procesos ligeros permiten paralelizar una aplicacin.

2.4 Concurrencia y secuencialidad.


La concurrencia comprende un gran nmero de cuestiones de diseo, incluyendo la comunicacin entre procesos, comparicin y competencia por los recursos, sincronizacin de la ejecucin de varios procesos y asignacin del tiempo de procesador a los procesos y es fundamental para que existan diseos como Multiprogramacin, Multiproceso y Proceso distribuido Los procesos son concurrentes si existen simultneamente. Cuando dos o ms 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 ms procesos sean concurrentes, es necesario que tengan alguna relacin entre ellos. La concurrencia comprende un gran nmero de cuestiones de diseo, incluyendo la comunicacin entre procesos, comparacin y competencia por los recursos, sincronizacin de la ejecucin de varios procesos y asignacin del tiempo de procesador a los procesos y es fundamental para que existan diseos como Multiprogramacin, Multiproceso y Proceso distribuido.

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

Cuando dos o ms 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 ms procesos sean concurrentes, es necesario que tengan alguna relaciones entre ellos como puede ser la cooperacin para un determinado trabajo o el uso de informacin y recursos compartidos, por ejemplo: en un sistema de un procesador, la multiprogramacin es una condicin necesaria pero no suficiente para que exista concurrencia, ya que los procesos pueden ejecutarse de forma totalmente independiente. Por otro lado en un sistema de varios procesos se puede presentar la concurrencia siempre y cuando las actividades necesiten actuar entre ellos sea para utilizar informacin como para cualquier otra cosa. La concurrencia comprende un gran nmero de cuestiones de diseo, incluyendo la comunicacin entre procesos, comparacin y competencia por los recursos, sincronizacin de la ejecucin de varios procesos y asignacin del tiempo de procesador a los procesos y es fundamental para que existan diseos como Multiprogramacin, Multiproceso y Proceso distribuido.

2.4.1 Exclusin mutua de secciones criticas.


La exclusin mutua es una operacin de control que permite la coordinacin de procesos concurrentes, y que tiene la capacidad de prohibir a los dems procesos realizar una accin cuando un proceso haya obtenido el permiso, el control de la competencia involucra al sistema operativo inevitablemente, porque es el sistema operativo el que asigna los recursos. Adems, los procesos deben ser capaces por s mismos de expresar de algn modo los requisitos de exclusin mutua, como puede ser bloqueando los recursos antes de usarlos. Cualquier servicio o capacidad que d soporte para la exclusin mutua debe cumplir los requisitos siguientes: **Debe cumplirse la exclusin mutua: Solo un proceso, de entre todos los que poseen secciones crticas por el mismo recurso u objeto compartido, debe tener permiso para entrar en ella en un instante dado. ** Un proceso que se interrumpe en una seccin no crtica debe hacerlo sin estorbar a los otros procesos.

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

** Un proceso no debe poder solicitar acceso a una seccin crtica para despus ser demorado indefinidamente; no puede permitirse el interbloqueo o la inanicin. ** Cuando ningn proceso est en su seccin crtica, cualquier proceso que solicite entrar en la suya debe poder hacerlo sin dilacin. ** No se pueden hacer suposiciones sobre la velocidad relativa de los procesos o su nmero. ** Un proceso permanece en su seccin crtica solo por un tiempo finito. Hay varias formas de satisfacer los requisitos de exclusin mutua. Una manera es dejar la responsabilidad a los procesos que deseen ejecutar concurrentemente. La tcnica que se emplea por lo comn 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 seccin crtica). Esto impide que el cdigo de la interrupcin se ejecute en mitad de la seccin crtica.

2.4.2 Sincronizacin de procesos en S.C.


Pueden compartir espacios de direcciones o datos a travs de un archivo. Problema a considerar: Como evitar la inconsistencia de los datos compartidos Como acceder a espacios critico de cdigo compartido. Alternativas de sincronizacin Semforos Monitores Paso de mensajes Seccin crtica (definicin) Sean un conjunto de procesos cooperantes. Cada proceso tiene un segmento de cdigo en el cual puede modificar variables comunes, o un archivo, o una tabla. Llamamos seccin crtica (SC) a ese segmento de cdigo.

2.4.2.1 Mecanismo de semforos.


Mecanismo de semforos. El primer gran avance en la resolucin de los problemas de procesos concurrentes lleg en 1965, con el tratado de Dijkstra sobre la cooperacin entre procesos secunciales [DIJK65] Dijkstra estaba interesado en el diseo de un sistema operativo como un conjunto de procesos

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

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. El principio fundamental es el siguiente: Dos o ms procesos pueden cooperar por medio de simples seales, de forma que se pueda obligar a detenerse a un proceso en una posicin determinada hasta que reciba una seal especfica. Cualquier requisito complicado de coor- dinacin puede satisfacerse por medio dela estructura de seales adecuada. Para la sealizacin, se usan variables especiales llamados semforos. Para transmitir una seal por el Semforo s, los procesos ejecutan la primitiva.

2.4.2.2 Mecanismo de monitores.


Sus propuestas tenan pequeas diferencias, que describiremos ms adelante. Un monitor es una coleccin de procedimientos, variables y estructuras de datos que se agrupan en un tipo especial de mdulo o paquete. Los procesos pueden invocar los procedimientos de un monitor en el momento en que deseen, pero no pueden acceder directamente a las estructuras de datos internas del monitor desde procedimientos declarados afuera del monitor. 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. Por lo regular, cuando un proceso invoca un procedimiento demonitor, las primeras instrucciones del procedimiento verifican.

2.4.3 Interbloqueo (DeadLock).


En general, una elevada utilizacin general de recursos y la posibilidad de la operacin paralela de muchos dispositivos de entrada/salida gobernados por procesos concurrentes, contribuyen significativamente a aumentar el potencial de rendimiento de los sistemas multitarea y multiprogramacin. Al mismo tiempo, la concurrencia y la elevada utilizacin de recursos tambin proporcionan las condiciones necesarias y la base para que se produzcan interbloqueos que puedan ir en detrimento del rendimiento del sistema.

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

Un interbloqueo (deadlock) es una situacin en donde un grupo de procesos estn permanentemente bloqueados como consecuencia de que cada proceso ha adquirido un subconjunto de los recursos necesarios para su operacin y esta esperando la liberacin de los restantes recursos mantenidos por otros del mismo grupo, haciendo as imposible que ninguno de los procesos pueda continuar. Circunstancias parecidas suceden a menudo en la vida real, por ejemplo, en una carretera de dos direcciones, en donde se ha construido un puente que por problemas urbansticos o de presupuesto solo deja pasar vehculos en un sentido. Dado este punto crtico en la mencionada carretera, se presentan las siguientes situaciones: Un vehculo llega al puente y no se encuentra ningn otro en sentido contrario. En este caso, cruza haciendo uso del puente y no ocurre nada anormal. Si el paso por el puente es controlado por un semforo en cada lado de manera que 100 metros antes de cada semforo se siten detectores de presencia de vehculos cuya finalidad sea poner en rojo el semforo del sentido contrario ante la presencia de un vehculo, podra suceder que si llegan al mismo tiempo vehculos en los dos sentidos se pongan los dos semforos en rojo impidiendo el paso de vehculos en ambos sentidos. En este caso el camino queda bloqueado, ocurriendo algo similar al interbloqueo de procesos. Si no habiendo semforos, el conductor situado en uno de los extremos es lo suficientemente educado que deja pasar en primer lugar al del otro extremo y antes de terminar de pasar este ltimo aparece por el otro extremo otro vehculo, y as sucesivamente. Puede ocurrir que la educacin del primer conductor haga que no cruce el puente mientras aparezcan vehculos por el otro extremo. Esta situacin podemos compararla con la de postergacin indefinida, que se ver ms adelante.

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

2.4.3.1 Prevencin.
En las operaciones de un tour de alta aventura, el concepto que es mejor prevenir que lamentar es ms que un dicho; realmente es mejor prevenir un percance que tener que solucionarlo y generalmente sale mucho mas barato al largo plazo tambin. Para prevenir problemas se debe anticiparlos, y para hacer eso se necesita tener suficiente experiencia en la actividad para poder identificar los riesgos. En nuestros aos de estar involucrados en canopy tours, ziplines, tirolesas y aventuras en cuevas, caones y de rapel, hemos experimentado personalmente muchos de las situaciones problemticas que pueden ocurrir y hemos analizado las que han pasado en otros tours y en las actividades similares. Esta experiencia y conocimiento, combinado con nuestra intuicin desarrollada durante aos de operar tours, nos da una comprensin clara de los percances potenciales y nos ha motivado a establecer las polticas y procedimientos para prevenir o reducir el impacto de estas situaciones desagradables. As que al utilizar nuestro Sistema Operativo, usted se aprovechar de nuestra experiencia (y la de otros en la industria) en vez de cometer sus propios errores!

2.4.3.2 Deteccin.
Las estrategias de prevencin del interbloqueo son muy conservadoras; solucionan el problema del interbloqueo limitando el acceso a los recursos e imponiendo restricciones a los procesos. En el lado opuesto, 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. 1. Abandonar todos los procesos bloqueados. Esta es, se crea o no, una de las soluciones ms comunes, si no la ms comn, de las adoptadas en un sistema operativo. 2. Retroceder cada proceso interbloqueo hasta algn punto de control definido previamente y volver a ejecutar todos los procesos. Es necesario que

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

haya disponibles unos mecanismos de retroceso y reinicio en el sistema. El riesgo de esta solucin radica en que puede repetirse el interbloqueo original. Sin embargo, el no determinismo del procesamiento concurrente asegura, en general, que esto no va a pasar. 3. Abandonar sucesivamente los procesos bloqueados hasta que deje de haber interbloqueo.

2.4.3.3 Recuperacin.
Deadlocks 1. Cancelacin de procesos a. Cancelacin de todos los procesos involucrados. Esto resuelve la situacin de Deadlock pero tiene un costo muy alto de reprocesamiento. b. Cancelacin de un proceso por vez hasta resolver la situacin de Deadlock. La ventaja de esto es que el costo de reprocesamiento de la informacin es menor pero cada vez que se cancela un proceso debe ejecutarse el algoritmo de deteccin de deadlock. Los criterios para elegir el candidato a ser cancelado son: por prioridad, por tiempo de uso de CPU, por cantidad de recursos utilizados y por cuantos recursos adicionales habr de utilizar. Recuperacin de un Dead Lock. La nica forma en que el sistema operativo puede recuperarse de un interbloqueo es retirando uno o ms procesos y reclamar sus recursos para que otros procesos puedan terminar. Normalmente varios procesos perdern una parte o la totalidad del trabajo realizado hasta ese momento. Este puede parecer un precio pequeo comparado con dejar que el interbloqueo se complique por varios factores. ** En primer lugar, puede no estar claro que el sistema este bloqueado o no. ** Muchos sistemas tienen medios pobres para suspender un proceso por tiempo indefinido y reanudarlo ms tarde. ** Aun cuando existan medios efectivos de suspensin /reanudacin, con toda seguridad, estos implicarn una sobrecarga, considerable y pueden requerir la atencin de un

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

operador altamente calificado. No siempre se dispone de tales operadores. ** Recuperarse de un interbloqueo de proporciones modestas puede suponer una cantidad razonable de trabajo.

2.5 Niveles, objetivos y criterios de planificacin.


En los sistemas de multiusuario de tiempo compartido, que se combinaban con un fondo de trabajos procesados en lote, el algoritmo era mas complejo. En forma invariable, existan varios usuarios en espera de servicio y podan existir tambin otros trabajos para ser procesados en lote. Incluso en los sistemas puros de tiempo compartido existen con frecuencia los trabajos colaterales, como el sistema de correo electrnico, que a menudo se ejecuta todo el tiempo para enviar o recibir correo o noticias La planificacin 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 cumplimentados por el sistema informtico. Se consideran tres niveles importantes de planificacin, los que se detallan a continuacin: Planificacin de alto nivel: Se encarga de llevar procesos de disco a memoria y viceversa. Seleccionando los trabajos que deben admitirse en el sistema. 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 mas aprisa. 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. 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. Criterios de la planeacin del procesador

Equidad

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

Eficacia Tiempo de respuesta Tiempo de regreso Rendimiento

2.6 Tcnicas de administracin del planificador.


En la planificacin a plazo fijo, ciertos trabajos se planifican para ser terminados en un periodo especfico. Estos trabajos tienen un alto valor si se entregan a tiempo y pueden carecer de valor si se entregan despus del lmite. La planificacin a plazo fijo es compleja por muchas razones: * Los usuarios deben proporcionar por adelantado y en forma precisa las necesidades de recursos de su trabajo. Tal informacin rara vez est disponible. * El sistema debe ejecutar el programa de plazo fijo sin una severa degradacin de servicio para los otros usuarios. * El sistema debe planificar cuidadosamente las necesidades de recursos permitiendo un libre trnsito del plazo fijo. Esto puede ser difcil debido a la llegada de programas nuevos con demandas impredecibles. * Si se activan muchos trabajos de plazo fijo, la planificacin puede llegar a ser tan compleja que necesite mtodos de optimizacin sofisticados para asegurar que el plazo fijo se cumpla. * El manejo intenso de recursos requeridos por la planificacin de plazo fijo puede generar una sobrecarga sustancial

2.6.1 FIFO
Planificacin Primero en llegar - Primero en Salir (FIFO). Los procedimientos son despachados de acuerdo al orden de llegada a la cola de listos. Una vez que un proceso tiene el CPU, se ejecuta hasta su terminacin. Esta planificacin es No apropiativa; es justa en el sentido formal, pero algo injusta porque los grandes procesos hacen esperar a trabajos pequeos y, los trabajos sin importancia hacen esperar a los trabajos importantes.

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

2.6.2 SJF Por sus siglas en ingls para Shortest-Job-First(el proceso ms corto primero), se refiere algoritmo de planificacin, en el que cuando se inicia el planificador, basndose en la prioridad de procesos, elige el de menor duracin para ejecutarlo primero.

2.6.3 RR Es un algoritmo de la planificacin por turno circular de fcil implementacin, que consiste en asignarle a un proceso un tiempo de ejecucin llamado cuanto, si este no termina su Ejecucin en el tiempo destinado, se utiliza el Round Robin para asignar los recursos de la CPU a otro proceso. Tambin se utiliza cuando un proceso se bloquea o se ejecuta en un tiempo menor al previsto. A cada se le asigna un quantum de tiempo de no a finalizado ni se ha bloqueado.

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

Queves multi-level. En espaol, colas multinivel, es un algoritmo de planificacin multinivel, el cual divide una con la en colas separadas segn el tipo de proceso que ejecuten. MULTILEVEL FEEDBACK QUEVES: En espaol, colas multinivel realimentadas, es un algoritmo de planificacin, en el cual los procesos pueden desplazarse por las colas para separar procesos con distintas interrupciones de la CPU. En este algoritmo tambin se toma en cuenta, que si un proceso consume mucho tiempo y recursos de la CPU, se mover a una cola de menor prioridad y si espera mucho tiempo se mover a una de mayor prioridad. Un algoritmo de planificacion mediante colas multinivel divide la cola de procesos prepados en varias colas distintas (Figura 5.6). 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. 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. 2.6.4 Queves multi-level. Queves multi-level.Un algoritmo de planificacion mediante 'colas multinivel' divide la cola deprocesos preparados en varias colas

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

distintas. Los procesos se asignanpermanentemente a una cola, generalmente en funcin de alguna propiedad delproceso, como por ejemplo el tamao memoria, la prioridad del proceso o el tipode proceso. Cada cola tiene su propio algoritmo de planificacin. Por ejemplo,pueden emplearse colas distintas para los procesos de primer plano y de segundoplano. La cola de primer plano puede planificarse mediante un algoritmo por

turnos, mientras que para la cola de segundo plano puede emplearse un algoritmoFCFS.

2.6.5 Multi-level feedback queves. Segn Tanenbaum y Woodhull (1997) En colas multinivel realimentadas los trabajos pueden moverse dentro de distintas colas. La idea es separar procesos con distintos tipos de interrupciones de la CPU. Si un trabajo consume mucho tiempo de CPU, ser movido a una cola con menor prioridad. En forma similar, si un proceso espera demasiado tiempo en una cola de baja prioridad, lo moveremos a una cola de mayor prioridad. En general un planificador de este tipo est definido por los siguientes parmetros: 1. El nmero de colas. 2. El tipo de algoritmo de

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

planificacin de cada cola. 3. Un mtodo de determinacin de cuando mover un trabajo a una cola de mayor prioridad. 4. Un mtodo de determinacin de cuando mover un trabajo a una cola de menor prioridad. 5. Un mtodo de determinacin de a qu cola se enviar un trabajo cuando necesita servicio.

UNIDAD 3 ADMINISTRACION DE MEMORIAS


3.1 Poltica y filosofa. La memoria principal puede ser considerada como un arreglo lineal de localidades de almacenamiento de un byte de tamao. Cada localidad de almacenamiento tiene asignada una direccin que la identifica. Una de las funciones bsicas que debe implementar un SO es la Administracin de la Memoria para tener un control sobre los lugares donde estn almacenados los datos y procesos que actualmente se estn utilizando. Sea cual sea es esquema de organizacin del almacenamiento que se adopte para un sistema especifico es necesario decidir que estrategias se deben utilizar para obtener un rendimiento optimo 3.2 Memoria real.
La memoria real o principal es en donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos. Por lo general esta memoria es de mayor costo que la memoria secundaria, pero el acceso a la informacion contenida en ella es de mas rapido acceso.

Solo la memoria cache es mas rapida que la principal, pero su costo es a su vez mayor. Cuando no existe memoria virtual no hay diferenciacion entre el espacio de direcciones y la memoria real; el espacio de direcciones que puede ser usado en los programas tiene identico tamano al espacio de memoria real posible. Si se utiliza memoria virtual, el espacio de direcciones disponibles para los programas es aquel determinado por el tamano de la memoria virtual implementada y no el espacio de direcciones provisto por la memoria real disponible (el espacio de la memoria virtual sera mayor que el de la memoria real).

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

La organizacin y administracin de la memoria principal, memoria primaria o memoria real de un sistema ha sido y es uno de los factores mas importantes en el diseo de los S. O. (Ver la figura 3.2.1) Los trminos memoria y almacenamiento se consideran equivalentes. Los programas y datos deben estar en el almacenamiento principal para:

Poderlos ejecutar. Referenciarlos directamente

3.2.1 Administracin de almacenamiento. Cmo se maneja la administracin de almacenamiento? Para que un sistema informtico sea comodo para los usuarios, el sistema operativo proporciona una esta lgica y uniforme del sistema de almacenamiento de la informacin.. El sistema operativo abstrae las propiedades fsicas de los dispositivos de almacenamiento y define una unidad de almacenamiento lgico, el archivo. El sistema operativo asigna los archivos a los soportes fsicos y accede a dichos archivos a travs de los dispositivos de almacenamiento.
Almacenamiento del sistema de archivos

La gestin de archivos es uno de los componentes ms visibles de un sistema operativo. Las computadores pueden almacenar la informacin en diferentes tipos de medios fsicos. Los discos magnticos, discos pticos y cintas magnticas son habituales. .

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

Cada uno de estos medios tiene sus propias caractersticas y organizacin fisica.Cada medio se controla mediante un dispositivo, tal como una unidad de disco o una cinta, que tambin tiene sus propias caractersticas distintivas Estas propiedades incluyen la velocidad de acceso, la capacidad, la velocidad de transferencia de datos y el mtodo de acceso (secuencial o aleatorio). 3.2.2 Jerarqua. Los programas y datos tienen que estar en la memoria principal para poder ejecutarseo ser referenciados. Los programas y datos que no son necesarios de inmediato pueden mantenerse en el almacenamiento secundario. El almacenamiento principal es mas costoso y menor que el secundario pero de acceso mas rpido. Los sistemas con varios niveles de almacenamiento requieren destinar recursos para administrar el movimiento de programas y datos entre niveles. Un nivel adicional es el cache o memoria de alta velocidad, que posee las siguientes caractersticas:

Es ms rpida y costosa que la memoria principal. Impone al sistema un nivel mas de traspaso: o Los programas son traspasados de la memoria principal al cache antes de su ejecucin. Los programas en la memoria cache ejecutan mucho mas rpido que en la memoria principal. Al utilizar memoria cache se espera que: o La sobrecarga que supone el traspaso de programas de un nivel de memoria a otro sea mucho menor que la mejora en el rendimiento obtenida por la posibilidad de una ejecucin mucho mas rpida en la cache.

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

3.2.3 Estrategia de administracin de memoria. Estn dirigidas a la obtencin del mejor uso posible del recurso del almacenamiento principal. Se dividen en las siguientes categoras:

Estrategias de bsqueda: o Estrategias de bsqueda por demanda. o Estrategias de busqueda anticipada. Estrategias de colocacin. Estrategias de reposicin.

Las estrategias de busqueda estn relacionadas con el hecho de cuando obtener el siguiente fragmento de programa o de datos para su insercin en la memoria principal. En la busqueda por demanda el siguiente fragmento de programa o de datos se carga al almacenamiento principal cuando algn programa en ejecucin lo referencia. Se considera que la busqueda anticipada puede producir un mejor rendimiento del sistema. Las estrategias de colocacin estn relacionadas con la determinacin del lugar de la memoria donde se colocara (cargara) un programa nuevo. Las estrategias de reposicin estn relacionadas con la determinacin de que fragmento de programa o de datos desplazar para dar lugar a los programas nuevos 3.2.4 Asignacin contigua v.s. no contigua. Qu es la administracin contigua y no contigua? En la asignacin contigua cada programa ocupa un bloque contiguo y sencillo de localizaciones de almacenamiento. Asignacin contigua de almacenamiento de un solo usuario Se consideran S. O. que ya poseen desarrollado el Multiprogramacin de particin fija, particin variable, con intercambio

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

3.1.1 de almacenamiento. 3.2 Organizacin de memoria virtual.


La memoria real o principal es en donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos. Por lo general esta memoria es de mayor costo que la memoria secundaria, pero el acceso a la informacion contenida en ella es de mas rapido acceso. Solo la memoria cache es mas rapida que la principal, pero su costo es a su vez mayor. Cuando no existe memoria virtual no hay diferenciacion entre el espacio de direcciones y la memoria real; el espacio de direcciones que puede ser usado en los programas tiene identico tamano al espacio de memoria real posible. Si se utiliza memoria virtual, el espacio de direcciones disponibles para los programas es aquel determinado por el tamano de la memoria virtual implementada y no el espacio de direcciones provisto por la memoria real disponible (el espacio de la memoria virtual sera mayor que el de la memoria real).

3.2.1 Evaluacin de las organizaciones de almacenamiento.


Organizacin del Almacenamiento de Niveles Mltiples

Se deben proporcionar los medios para retener programas y datos en un gran almacenamiento auxiliar para: (Roberto Escalona Garca - 2004)

Permitir que el espacio de direcciones virtuales de un usuario sea mayor que el espacio de direcciones reales.

Soportar multiprogramacin de forma efectiva en un sistema con muchos usuarios que compartan el almacenamiento real.

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

Se utiliza un esquema de almacenamiento de dos niveles:

Primer nivel: almacenamiento real :


o

En l se ejecutan los procesos y en l deben estar los datos para que un proceso pueda referirse a ellos.

Segundo nivel: almacenamiento auxiliar, secundario o adicional :


o

Generalmente consta de discos de gran capacidad que pueden mantener los programas y datos que no caben al mismo tiempo en el ms limitado almacenamiento real.

3.3.2 Paginacin.
Los sistemas de paginacin de memoria dividen los programas en pequeas partes o pginas. Del mismo modo, la memoria es dividida en trozos del mismo tamao que las pginas llamados marcos de pgina. De esta forma, la cantidad de memoria desperdiciada por un proceso es el final de su ltima pgina, lo que minimiza la fragmentacin interna y evita la externa. (Roberto Escalona Garca - 2004)

En un momento cualquiera, la memoria se encuentra ocupada con pginas de diferentes procesos, mientras que algunos marcos estn disponibles para su uso. El sistema operativo mantiene una lista de estos ltimos marcos, y una tabla por cada proceso, donde consta en qu marco se encuentra cada pgina del proceso. De esta forma, las pginas de un proceso pueden no estar contiguamente ubicadas en memoria, y pueden intercalarse con las pginas de otros procesos.

3.2.2 Segmentacin.
En los sistemas de segmentacin un programa y sus datos pueden ocupar varios bloques separados de almacenamiento real. (Roberto Escalona Garca - 2004)

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

Los bloques:

No necesitan ser de igual tamao. Los bloques separados no necesitan ser adyacentes. Deben estar compuestos de posiciones contiguas de almacenamiento.

Se complica la proteccin de bloques de memoria de un proceso de usuario. Es ms difcil limitar el rango de acceso de cualquier programa [1997, Deitel].

3.2.3 Sistemas de paginacin segmentacin.


En los sistemas de segmentacin un programa y sus datos pueden ocupar varios bloques separados de almacenamiento real. (Roberto Escalona Garca - 2004) Los bloques:

No necesitan ser de igual tamao. Los bloques separados no necesitan ser adyacentes. Deben estar compuestos de posiciones contiguas de almacenamiento.

Se complica la proteccin de bloques de memoria de un proceso de usuario. Es ms difcil limitar el rango de acceso de cualquier programa [1997, Deitel].

3.3 Administracin de memoria virtual.


Los sistemas de administracin de memoria se pueden clasificar en dos tipos. Los que desplazan los procesos de la memoria principal al disco y viceversa durante la ejecucin (intercambio y paginacin) y aquellos que no. Monopogramacin sin intercambio o paginacin.

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

Es en forma secuencial pues solo se tiene un objeto en memoria en cada instante, el usuario carga toda la memoria con un programa, esto implica que cada proceso debe contener controladores de dispositivo para cada uno de los dispositivos E/S que utilice. ( Ralph M. Stair,2000) Multiprogramacin y uso de la memoria. La multiprogramacin facilita la programacin de una aplicacin al dividirla en dos o mas procesos. La mayora de los procesos tardan cierto tiempo en la espera de datos de dispositivos E/S. ( Ralph M. Stair,2000) Un modelo para el uso y aprovechamiento de la CPU es el modelo probabilstico dado por la frmula :

3.3.1Tcnicas de remplazo de pginas.

Algoritmo De Reemplazo De Paginas De La Segunda Oportunidad de pgina y el manejador debe obtener un marco libre. Algoritmo de Reemplazo de Paginas de la Segunda Oportunidad Una modificacin sencilla de FIFO que evita... Tecnicas De Reemplazo De Paginas reemplazar es aquella que tardar ms tiempo en ser utilizada. Esta estrategia ptima de reemplazo se denomina OPT o MIN. El problema de este mtodo es que necesita...

Paginacin por demanda. 3.3.1 Paginacin anticipada.


En la paginacion anticipada, el sistema operativo intenta predecir las paginas que necesitara un proceso y entonces carga dichas cuando hay espacio disponible. Mientras el proceso se ejecuta con sus paginas actuales, el sistema carga las demas paginas que estaran disponibles cuando las requiera el proceso.

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

El S. O. intenta predecir las paginas que un proceso va a necesitar y a continuacion precarga estas paginas cuando hay espacio disponible Mientras el proceso ejecuta sus paginas actuales, el sistema carga paginas nuevas que estaran disponibles cuando el proceso las pida, debido a ello, el tiempo de ejecucion de un proceso se puede reducir

3.3.2 Liberacin de pgina.


Asignar bloques de pginas tiende a fragmentar la memoria al dividir los bloques grandes para conseguir bloques ms pequeos. El cdigo de liberacin de pginas recombina pginas en bloques de mayor tamao siempre que es posible.

De hecho, el tamao de bloque de pgina es importante pues facilita la recombinacin enbloques grandes.

Siempre que se libera un bloque de pginas, se comprueba si est libre el bloque adyacente de igual tamao. Si es as, se combina con el bloque de pginas recin liberado para formar un bloque nuevo de tamao doble. Cada vez que dos bloques de pginas se recombinan en uno mayor, el algoritmo de liberacin intenta volver a recombinarlo en otro an mayor. De esta forma, los bloques de pginas libres son tan grandes como la utilizacin de la memoria permita.

ITSSNA

IGNACIO GARCIA TORRES

SISTEMAS OPERATIVO

Un proceso usuario puede emitir una liberacin voluntaria de pgina para liberar el marco de pgina cuando ya no necesitara esa pgina

Se puede eliminar el desperdicio y acelerar la ejecucin.

El inconveniente es que la incorporacin de mandatos de liberacin de pginas dentro de los programas de usuarios puede ser peligroso y retrasar el desarrollo de aplicaciones.

También podría gustarte