You are on page 1of 26

Universidad autnoma del estado de Mxico Facultad de contadura y administracin Sistemas operativos I N T R O D U C C I N A L O S S I S T E M A S OPERATIVOS Integrantes del equipo: Rosa

a Alejandra Mora Hernndez Patricia Alejandra Garduo Contreras Brayan Rosales de Len

Noviembre de 2011

CAPITULO 2 Proceso secuencial o proceso es la de una instancia de un programa en ejecucin, incluye cdigo que se ejecuta, registros, contador de programa, reas de memoria y todo para gestionar la ejecucin Un sistema est estructurado en dos niveles fundamentales: el nivel ms bajo corresponde al planificador de procesos se encarga de la gestin del control de procesos, arriba de ese nivel se encuentran todos los dems procesos del sistema tanto de usuario como del propio sistema operativo Una de las funciones del planificador es decidir qu proceso debe de ejecutarse en cada momento y cuando se ha de ejecutar. Intercambia los procesos activos en un instante dado con los que estn preparados para ser ejecutados se conoce como cambio de contexto tiene dos acciones fundamentales Almacenamiento del estado actual del proceso: se guarda la informacin del proceso para cuando se siga con el Restauracin del proceso a ejecutar: se carga todos los registros del nuevo proceso para que se pueda ejecutar Se hacen el menor tiempo posible BLOQUE DE CONTROL DE PROCESOS El planificador conocer de forma detallada el estado de los procesos del sistema, el estado se encuentra almacenado en una estructura de datos que se llama bloque de control de procesos. Los campos con ms frecuencia son: -Identificador del proceso: es de valor numrico que identifica el proceso -Estado del proceso: estado en que se encuentra -Contador del programa: Valor del registro contador del programa que indica la siguiente instruccin a ejecutar -Registros de la CPU: Almacena el valor de todo lo necesario para poder continuar la ejecucin -Prioridad del proceso -Apuntadores a las zonas de memoria reservada al proceso -Informacin contable: informacin variada del proceso Apuntadores a los recursos reservados al proceso -Informacin del estado de E/S del proceso -Informacin de los ficheros abiertos por el proceso -Apuntadores al proceso padre y a los procesos hijo Muchos sistemas operativos proporcionan instrucciones especiales para manejar esta estructura 2.2 Estados de un Proceso Estado en la que se encuentra un proceso dentro de un proceso, ocurre un evento cuando se modifica un estado y a la modificacin que experimenta el estado se le denomina transicin de estado

Tres estados bsicos: En ejecucin: el proceso se est ejecutando de forma efectiva en el procesador Listo: esperando a que el planificador le asigne la CPU Bloqueado: Esta en espera de la ocurrencia de un evento 2.2.1 Transicin entre Estados Cuatro transiciones validas En ejecucin-> bloqueado: Un proceso no puede continuar su ejecucin debe esperar un evento En ejecucin -> listo: El planificador decide que el proceso ha agotado el tiempo de ejecucin Listo-> en ejecucin: El planificador selecciona al proceso para ser cargado y ejecutado Bloqueado->listo: El evento que esperaba el proceso bloqueado se ha producido 2.2.2 Suspensin de un Proceso Es una operacin externa al proceso realizada por el sistema operativo, no puede seguir hasta que es reanudado se lleva a cabo por: -EL sistema est en riesgo de fallo generalizado as puede corregir los errores y reanudarlos -Un proceso que se sospecha que est funcionando mal puede ser suspendido hasta que sea verificado El planificador puede suspender procesos de baja prioridad cuando tiene mucha carga En ejecucin ->suspendido listo: se suspende el proceso actual en ejecucin Listo->suspendido listo: se produce la suspensin del proceso en estado de listo por parte del sistema operativo Bloqueado->suspendido bloqueado: se suspende un proceso que estaba a la espera de un evento Suspendido listo->listo: el proceso es reanudado y pasa a la cola de procesos en espera de ejecucin Suspendido bloqueado->bloqueado: el proceso es reanudado antes del evento que espera Suspendido bloqueado->suspendido listo: el evento que esperaba el proceso se produce 2.3 Operaciones sobre un Proceso Operaciones que ha de proporcionar el sistema operativo Creacin: reserva espacio para las estructuras de informacin y una reserva de recursos mnimos Terminacin: se eliminan las estructuras y se liberan los recursos asignados Suspensin: el proceso se descarga temporalmente Reanudacin: el proceso se incorpora de nuevo al sistema

Bloqueo: el proceso necesita la ocurrencia de un evento para poder continuar su ejecucin Despacho: el proceso selecciona para ejecucin y pasa a la unidad de produces Despertado: el proceso abandona el estado de bloqueo tras producirse un evento que esperaba Comunicacin: conjunto de operaciones facilitan de la comunicacin entre procesos Sincronizacin: conjunto de operaciones necesarias para sincronizar los procesos 2.4 Interrupciones Es un evento producido por el hardware del sistema que altera la secuencia en la cual el procesador ejecuta las instrucciones. Se genera cuando es necesario llamar la atencin del procesador para realizar alguna accin importante se llevan a cabo las siguientes operaciones: 1-. El control pasa al sistema operativo 2-. El sistema operativo almacena el estado completo del proceso interrumpido para poder continuar su ejecucin cundo se sirva de interrupcin 3-. Se analiza la interrupcin producida y se pasa el control a la rutina de servicio correspondiente 4-. Se ejecuta la rutina de servicio 5-. Se restaura el proceso interrumpido 6-. Se ejecuta el siguiente proceso que seleccione el planificador Dos tipos de interrupciones: Interrupciones sncronas: generadas por el proceso en ejecucin, indica al sistema operativo que hay que realizar operaciones que necesitan privilegios que no tiene el usuario, se denominan traps Interrupciones asncronas: generadas por el hardware ante la ocurrencia de un evento que puede no estar relacionado el proceso en ejecucin Las interrupciones tiene la ventaja de que no es necesario que el procesador interrogue a los perifricos para comprobar si necesitan su atencin. Se llama polling 2.4.1 Clases de Interrupciones Hay seis clases de interrupciones representativas del sistema IBM 360-370 SVC-. Llamada al supervisor. Es iniciada por el proceso en ejecucin mediante la instruccin SVC (es una llamada al sistema requiriendo un servicio que no puede realizar el usuario) se intenta proteger al sistema operativo de las acciones del usuario E/S-. Se inician por los dispositivos hardware de entrada o salida Externas-. Causadas por eventos externos, como la expiracin del tiempo del reloj temporizador Reinicio-. Ocurren cuando se pulsa el botn de reinicio o una seal de SIGP por parte de otro procesador

Verificacin del programa-. Causadas por unos problemas que pueden surgir cuando se ejecutan las instrucciones en cdigo de una maquina de un proceso -Divisin por cero -Desbordamiento por exceso o por defecto en operaciones aritmticas -Cdigo de operacin no valido o desconocido -Acceso a zonas de memoria inexistentes o reservadas entre procesos -Intento de ejecutar instrucciones privilegiadas -Intento de acceso a recursos protegidos -Ejecucin de instrucciones en modo depuracin Verificacin de la maquina-. Se produce cuando el sistema detecta un fallo en el hardware 2.5 El Ncleo del Sistema Operativo El ncleo es la parte central del sistema operativo. Realiza todas las acciones crticas del sistema, reside en memoria de forma continua 2.5.1 Funciones del Ncleo -Gestin de las interrupciones -Gestin de los procesos -Sincronizacin entre procesos -Comunicacin entre procesos -Gestin de la E/S a bajo nivel -Gestin de memoria a bajo nivel -Apoyo a algunas funciones de contabilidad -Apoyo al sistema de archivos a bajo nivel CAPITULO 3 Procesos concurrente asncronos 3.1 Exclusin Mutua Una variable contador compartir por dos procesos en la cual se almacenara el nmero de veces que ocurre el evento, cada vez que se produce uno de los dos procesos captura su ocurrencia e incrementa el contador 3.2 Secciones Crticas

Un proceso accede a datos compartidos modificables se encuentra en su seccin critica, se debe garantizar que ningn otro proceso se encuentre en su seccin critica propia. El acceso a la seccin critica se puede considerar como la reserva de un recurso importante para el sistema, los restos de procesos que deseen acceder deben esperar, hay que evitar que un proceso se pueda bloquear dentro de ella y mantener un control sobre las terminaciones anormales que se encentra dentro de ella 3.3 Primitivas de Exclusin Mutua Significa el punto de vista de garantizar la exclusin mutua en el acceso a la seccin crtica Seccin_residual -. A todo el fragmento de proceso que no necesita acceso exclusivo El par de primitivas entrada_seccion_critica y salida_seccion_critica deben garantizar el acceso exclusivo a la seccin critica actan evitando que haya ms de un proceso ejecutando 3.4 Exclusin Mutua para Dos Procesos 1-. La solucin se ha de llevar a la prctica desde un punto de vista exclusivamente software, cada instruccin de cdigo maquina se ejecuta de forma indivisible, si varios procesadores intentan acceder se secuencia en un orden aleatorio 2-. No se puede hacer ninguna suposicin sobre las velocidades relativas de los procesos asncronos concurrentes 3-. Los procesos que se encuentran fuera de la seccin crtica no deben impedir que otros procesos entren en ella 4-. No se debe postergar indefinidamente la entrada de un proceso a su seccin crtica 3.4.1 Algoritmo de Dekker Se le atribuye al matemtico holands Dekker, el programa combina el uso de variables globales son actualizadas por cada uno de los procesos con el de otra variable que indica un turo de prioridad relativa de los dos procesos. Si ambos procesos piden a la vez acceso a la seccin critica ponen en activo sus indicadores y comprueban si el indicador del otro esta activado Este algoritmo resuelve el problema de exclusin mutua pero es bastante complicado y nunca se usa en la prctica 3.4.2 Algoritmo de Peterson En 1981 Peterson descubri una forma ms simple combina el uso de variables, cada vez que se ejecuta un proceso activa un contador para que un proceso pueda entrar en su seccin crtica basta con que el contador de la otra variable sea falso. Cuando sale de su seccin crtica pone su contador a falso permitiendo que el otro proceso entre en su seccin crtica 3.5 Algoritmo de Lamport Se le conoce tambin como algoritmo de la panadera, un proceso que desee entrar en su seccin critica recibe un numero de orden cuyo valor es mayor que los valores de todos los procesos se establecen turnos que sern atendidos, una vez que recibe el numero se queda esperando hasta que el numero sea el de menor valor entre los de los procesos que aun no han sido atendidos El proceso espera en un bucle de espera activa a que su nmero de orden sea el ms bajo para entrar en su seccin critica, en cada caso que tengan el mismo nmero se sirve el proceso con orden de llegada ms bajo

3.6 La Instruccin TSL Las computadoras que incorporan mltiples procesadores tienen una instruccin llamada test and set Lock (comprobacin y asignacin a cerrojo) TSL lee en un registro el contenido de una direccin de memoria y carga un valor distinto a cero, el hardware garantiza que estas operaciones leer el valor de la palabra y almacenar en la misma son indivisibles (ningn otro procesador puede acceder a la palabra hasta que la instruccin haya terminado). El procesador que ejecuta TSL bloquea la ruta de comunicacin con la memoria para que ningn otro procesador pueda acceder a que la instruccin haya terminado. Para coordinar el acceso a memoria compartida utilizaremos un indicador si vale cero cualquier proceso est autorizado a ponerla a uno usando TLS y acceder al rea de memoria compartida Seguidamente el valor del registro se compara con cero. Si es distinto de cero ello indica que el cerrojo ya estaba echado as que el programa retorna al principio y repite de nuevo la comprobacin 3.7 Semforos Es una variable entera a la que solo se puede acceder mediante dos operaciones wait y signal adems puede ser inicializado a un valor cuando un proceso encuentra un semforo especfico, las modificaciones de ambas operaciones se realizan de forma indivisible El semforo es una espera activa es til para sistemas multiprocesador en sistema monoprocesador es una prdida de tiempo, cuando se encuentra cerrado se bloquea a s mismo, el proceso que se libera Con la implementacin pueden salir valores negativos que indican que hay procesos bloqueados esperando la implementacin de la cola suele ser tipo FIFO 3.8 Contadores de Eventos Otra forma de resolver problemas de exclusin mutua es utilizar contadores de eventos que son un tipo especial de variable sobre que se definen las siguientes operaciones 1-. Avance (E) se utiliza para sealar que ocurrido un evento asociados con el contador de eventos, tiene el efecto de incrementar e en una unida atmicamente 2-.Read (E) devuelve el valor del contador de eventos E, si red devuelve algn numero n entonces al menos han ocurrido n operaciones 3-. Await (E,v)espera que el valor de e alcance o supere a v esto es aceptable si han ocurrido mas de operaciones cuando es finalmente desbloqueado 3.9.1 El Problema del Productor y el Consumidor Tambin se le llama problema del almacenamiento limitado, existe dos procesos uno que produce informacin y otro que la consume ambos se comunican mediante un bfer compartido de capacidad limitada. Hay tres condiciones de competencia que hay que controlar: 1-. El acceso concurrente al bfer, necesario que el productor no sobrescriba un elemento que este leyendo el consumidor y viceversa 2-. El bfer esta completo, si el bfer se complementa el productor deber esperar hasta que el consumidor haya ledo al menos un elemento para poder seguir almacenando informacin en el bfer

3-. El bfer est vaco, en tal caso el consumidor deber esperar a que el productor escriba nueva informacin Solucin mediante semforos Utiliza tres semforos que controlan cada una de las tres condiciones de competencia, estn implantados de forma que la espera se realiza en el estado bloqueado. Los tres semforos se denominan: Mutex-. Controla el acceso en exclusin mutua al bfer compartido Full-. Indica el nmero de entradas ocupadas por informacin aun no consumida se inicializa en cero, controla que el consumidor espere cuando no hay elementos producidos Empty-. Indica el nmero de entradas libres, se inicializa a n y controla que el productor se bloquee si no tienen elementos libres donde almacenar la informacin que produce Los semforos full y empty controlan en realidad el mismo evento Solucin mediante contadores de eventos Se necesitan dos contadores in que almacenan el nmero de elementos insertados en el bfer compartido y out que almacena el nmero de elementos retirados por el consumidor, cada proceso mantiene un contador mediante una variable local del nmero de elementos que ah producido o consumido La espera se produce en la orden await () en esta instruccin el productor espera a que se libere un elemento del bfer y el consumidos a que se escriba mas informacin. La realizacin del algoritmo permite acceso concurrente al bfer ya que se garantiza que los procesos no accedern al mismo elemento del bfer de forma concurrente 3.9.2 El Problema de la Cena de los Filsofos Planteado por Dijkstra en 1965 modela un caso tpico de competencia por recursos limitados. Cinco filsofos se sientan a la mesa en la cual cada uno tiene un plato de espagueti, entre cada plato de comida hay un tenedor, cada filosofo necesita de los dos tenedores que tiene junto a su plato para poder comer. La vida de un filsofo se divide en periodos en los que piensa y periodos en los que come. Cuando desea comer intenta obtener los tenedores que necesita, si consigue los recursos come cuando ah finalizado de comer suelta los tenedores y continua pensando -Supongamos que cuando un filsofo desea comer levanta primero el tenedor de su izquierda. Entonces lo mantiene hasta que consigue el tenedor de su derecha una vez con los dos come hasta que vuelve a pensar y deja sobre la mesa el mismo orden que los cogi con esta solucin los filsofos toman el tenedor izquierdo se producir un interbloqueo ninguno podra obtener los dos tenedores y ninguno liberara el que tiene cogido -Una nueva estrategia cuando un filosofo toma el tenedor izquierdo comprueba si el derecho est disponible en caso negativo libera el retenido y despus lo intenta con un intervalo de espera y as continua el resultado es la inanicin de todos los procesos -Otra solucin es acceder de forma exclusiva a los tenedores mediante un semforo as garantizamos que no hay interbloqueo ni inanicin, el rendimiento del algoritmo no sera optimo porque solo un filosofo podra comer en cada momento en lugar de dos La solucin optima se basa en tomar los dos tenedores a la vez en caso de que no sea posible el filosofo se bloquea en un semforo a la espera que se liberen los recursos, cuando un filosofo comprueba si los filsofos a su izquierda y a su derecha desean comer. Si alguno de ellos desea comer y puede tener disponibles los tenedores lo despierta

3.9.3 El Problema de los Lectores y los Escritores Problema relacionado con las bases de datos. Se trata de gestionar el acceso concurrente a una informacin en la cual hay dos tipos de procesos: lectores y escritores. Los procesos lectores pueden acceder de forma concurrente ya que no modifican la informacin pero cuando un escritor accede no puede haber ningn otro proceso que acceda de forma concurrente La solucin es para el acceso a la informacin utilizamos un semforo db cualquier escritor que intente acceder debe de ejecutar wait con ello garantizamos el acceso exclusivo de los escritores. Para que los lectores puedan acceder de forma concurrente solo el primer lector realizara wait el resto acceder directamente el ultimo lector que abandona la base de datos es el que libera el recurso ejecutando signal 3.9.4 El Problema del Barbero Dormiln Modela el acceso a un recurso limitado por parte de varios procesos de forma tal que la cola de espera tiene un tamao fijo. En la peluquera hay un barbero y n sillas para que esperen los clientes. El barbero es tan dormiln que cuando no hay clientes se va a dormir inmediatamente. El primer cliente que llega ah de despertar al barbero para que le corte el pelo, si un cliente llega cuando el barbero est ocupado debe esperar en una silla hasta que le toque su turno si todas las sillas estn ocupadas el cliente se va La solucin se asocia un semforo al barbero y otro a los clientes. Se define una variable entera waiting que almacena el nmero de clientes en espera. CAPITULO 4 PLANIFICACIN DE PROCESOS OBJETIVOS DE LA PANIFICACIN Existen diferentes objetivos que se tratan de conseguir con la planificacin. Algunos de los mas relevantes son: Justicia. El algoritmo debe de dar una porcin del tiempo de CPU justa a todos los procesos. Nadie debe acaparar la CPU o quedar sin servicio. Productividad. La productividad es la cantidad de trabajo desarrollada por unidad de tiempo. El objetivo es maximizar la productividad. Este objetico es igual a la optimizacin de la utilizacin del procesador. Tiempo de respuesta aceptable. En sistemas de tiempo compartido es muy importante que todos los usuarios tengan un tiempo de respuesta aceptable. Predecible. El algoritmo debe de obtener resultados de planificacin parecidos sea cual sea la carga del sistema. Costo extra. El tiempo utilizado en la planificacin debe ser el mnimo posible, ya que es tiempo intil para el sistema. Prioridades. En algunas ocasiones se puede establecer un sistema de prioridades en funcin de la importancia de dar servicio a cada trabajo para el sistema completo. Operacin de recursos. Se debe de maximizar el uso de los recursos del sistema. Aplazamiento indefinido. Se debe evitar la inanicin de los procesos. Esto ocurre cuando un proceso no recibe nunca servicio por parte del procesador. Degradacin aceptable. El algoritmo debe de degradar su eficacia de forma suave a medida que sube la carga del sistema, siempre sin que ocurra una cada global.

NIVELES DE PLANIFICACIN La planificacin del sistema de cmputo se puede plantear a tres niveles de ejecucin diferentes.

Planificacin a alto nivel. Tambin se le denomina planificacin a largo plazo o de tareas. En este nivel se decide que usuarios o tareas van a entrar a competir por la CPU. y Planificacin a medio nivel. Tambin denominada a medio plazo. En este nivel se decide sobre los procesos que estn compitiendo por la CPU. Cuando la carga crece, algunos procesos son suspendidos temporalmente, cuando se estabiliza, se reanudan los procesos que fueron suspendidos. y Planificacin a bajo nivel. Tambin se le denomina planificacin corto plazo o planificacin de procesos. En este punto el planificador trabaja con los procesos en espera de ser servidos. La frecuencia con la que acta cada planificador es inversa a su nivel. La planificacin de tareas solo acta cuando han de admitirse nuevas tareas en el sistema, mientras que la planificacin a nivel de procesos tiene que ejecutarse cada vez que se asigna un nuevo proceso para ser servido. y CRITERIOS DE PLANIFICACIN Para comparar el rendimiento de los diversos algoritmos existen muchos criterios, aunque los que se consideran ms importantes son los siguientes: y y y Utilizacin de la CPU. Se medir la utilizacin de la CPU como porcentaje de tiempo que est ocupada de forma til. En los sistemas reales la ocupacin oscila entre los 40% y el 90%. Productividad. Se suele definir como el nmero de trabajos que se completan por unidad de tiempo. Es un criterio que depende mucho del sistema. Tiempo de retorno (tr). este es el criterio ms importante desde el punto de vista del proceso. Es el tiempo transcurrido desde que el proceso comienza su ejecucin hasta que se sirve. Incluye el tiempo de ejecucin efectiva, el tiempo de espera, tiempos de E/S, etc. Tiempo de espera (tw). el problema del criterio del tiempo de retorno es que incluye muchos factores que no dependen del algoritmo de planificacin. Incluye nicamente el tiempo que el proceso est esperando a ser servido. Su objetivo es minimizar el tiempo medio de espera. Tiempo de respuesta. En un sistema interactivo es muy importante mantener un dialogo constante con el usuario. Es un criterio tener en cuenta el tiempo que tarda el proceso en dar los primeros resultados, aunque luego el proceso tarde ms en completarse.

ALGORITMOS DE PLANIFICACIN La base de la multiprogramacin de un sistema est en la naturaleza de la ejecucin de un proceso. La ejecucin de un proceso se inicia con la rfaga de instrucciones (rfaga de CPU). Un proceso siempre es desalojado de la CPU cuando est en espera de un evento. La posibilidad de desalojo de un proceso durante una rfaga de CPU da lugar a dos clases bsicas de algoritmos de planificacin: - Apropiativos. Un algoritmo es apropiativo cuando existe la posibilidad de que la planificador desplace de la CPU aun proceso durante la rfaga de CPU. Su coste es mayor ya que incrementa el nmero de cambios de contexto. - No Apropiativos. Un algoritmo es no apropiativo cuando un proceso que ejecuta no es desplazado hasta que se complete su rfaga de CPU. Este tipo de algoritmo puede dar lugar a que un proceso intensivo en la CPU acapare el procesador en detrimento de los dems procesos del sistema. Los procesos en espera de servicio se organizan en una cola de espera. El planificador selecciona el siguiente proceso de la cola y lo ejecuta. El algoritmo de planificacin es el que indica el orden de los procesos en la cola. PLANIFICACIN FCFS Este algoritmo se conoce como servicio por orden de llegada. Cada proceso que llega al sistema se aade al final de la cola de proceso. El planificador toma los procesos de la cola por orden. y Tiempo medio de espera muy alto. El tiempo medio de espera es superior al de la mayora de los algoritmos de planificacin. Ejemplo:

Suponiendo que el orden de llegada es el que se muestra en la tabla los procesos sern servidos en ese mismo orden.

PLANIFICACIN SJF Esta planificacin se conoce como primero el trabajo ms breve. Consiste en asociar a cada trabajo la duracin de su rfaga de CPU, y ejecutar en cada momento el proceso que tiene un tiempo de servicio ms pequeo.

Este algoritmo garantiza un tiempo de espera medio mnimo. Sin embargo este algoritmo tiene dos problemas muy importantes que dificultan su implantacin: - Penalizacin excesiva de los trabajos largos. Un trabajo largo puede tardar largo tiempo en servirse, e incluso no servirse nunca si constantemente llegan nuevos trabajos ms cortos al sistema. - El problema ms importante es el conocimiento del tiempo de ejecucin de cada trabajo. Dado que no se puede obtener o estimar este tiempo, el algoritmo no se aplica en la prctica. El algoritmo SJF es no apropiativo. Una vez que se ha comenzado el servicio de un proceso, este proceso termina su

ejecucin aunque llegue a la cola de trabajos un proceso ms corto. Existe una versin apropiativa del algoritmo denominada primero el de menor tiempo restante (SRTF). En este caso si un proceso llega a la cola con un tiempo estimado de servicio menor que el trabajo en el procesador, este ltimo es desalojado para planificar el proceso que acaba de llegar.

PLANIFICACION POR PRIORIDADES En este tipo de planificacin se asocia una prioridad, p, a cada proceso. En cada instante el planificador selecciona el proceso con mayor prioridad. En caso de procesos con la misma prioridad, se utiliza el algoritmo FCFS. El algoritmo SJF es un caso particular de planificacin por prioridad en la cual al prioridad es igual a la inversa del tiempo estimado del servicio, p=1/t.

La prioridad de cada proceso se puede determinar internamente, de acuerdo con parmetros propios, como requerimientos de memoria, longitud estimada de la rfaga de CPU, etc.; o externamente mediante criterios generales referentes a la importancia del proceso o del usuario. El algoritmo se puede implantar tambin de forma apropiativa. En ese caso, si llega al sistema un proceso de mayor prioridad del que se encuentra ejecutando, se desaloja dicho proceso y se asigna al proceso recin llegado. El problema ms importante de este tipo de algoritmo es el bloqueo indefinido o inanicin. Una tcnica utilizada para evitar la inanicin es el envejecimiento. Esta tcnica consiste en aumentar progresivamente la prioridad de los procesos.

PLANIFICACIN CIRCULAR Este algoritmo de planificacin, conocido por RR, est diseado especialmente para sistemas de tiempo compartido. Se define un intervalo de tiempo denominado cuanto, cuya duracin vara segn el sistema. La cola de procesos se estructura como una cola circular el planificador la recorre asignando un cuanto de tiempo a cada proceso. La organizacin de la cola es FIFO. Este algoritmo tiene un tiempo de espera relativamente grande. Sin embargo garantiza un reparto de la CPU entre todos los usuarios y arroja tiempos de respuesta buenos. Ejemplo:

Con un cuanto de 4 unidades el resultado se muestra de la siguiente forma:

PLANIFICACION MULTINIVEL En muchos sistemas, los procesos se pueden clasificar en grupos con necesidades e importancias diferentes. No se pueden tratar igual los procesos en primer plano que los procesos que se ejecutan en modo desatendido. Por esta razn se organizan las colas multinivel de procesos. Cada cola se puede planificar un algoritmo diferente. Un ejemplo puede ser la siguiente estructura multinivel, en cinco colas: 1. Procesos del sistema (FCFS no apropiativo) 2. Procesos interactivos (RR) 3. Procesos interactivos de edicin (RR) 4. Procesos en modo desatendido (FCFS) 5. Procesos de baja prioridad (FCFS) La apropiacin puede ser absoluta y apropiativa en las colas de mayor prioridad. En el esquema de planificacin multinivel se puede incluir la realimentacin. Este esquemas de colas es ms general aunque tambin el mas complicado. Existen cinco parmetros necesarios para que el modelo de colas multinivel quede definido: y Numero de colas y Algoritmo de planificacin de cada cola y Criterio para asignar a un trabajo que llega al sistema una cola determinada y Criterio para que un proceso pase a una cola de mayor prioridad y Criterio para que un proceso pase a una cola de menor prioridad PLANIFICACION EN SISTEMAS MULTIPROCESADOR En general podemos encontrar dos casos muy diferentes: y y Sistemas heterogneos. Cada procesador es diferente. En este caso cada procesador que llega al sistema ha de ejecutarse en un procesador especfico, lo que facilita mucho el trabajo de planificacin. Sistemas homogneos. En este caso existe la posibilidad de compartir la carga de trabajo. Todos los procesadores toman la carga de una nica cola.

EVALUACIN DE ALGORITMOS Evaluar de forma precisa cual es el mejor algoritmo conlleva dos tareas fundamentales: 1. Decidir qu criterios se van a tener en consideracin y en qu medida 2. Intentar obtener que algoritmo optimiza los criterios escogidos Los mtodos ms usados son: y Modelo de colas. Es una tcnica estadstica que intenta encontrar una solucin analtica a los criterios como el tiempo de proceso. y Modelo determinista. Se obtienen los valores de tiempos correspondientes a una carga especfica del sistema. y Simulacin. Se produce mediante un programa de simulacin los principales elementos del sistema de cmputo. Se crea una variable que representa el reloj del sistema. y Implantacin. La forma ms exacta consiste en programar el algoritmo y utilizarlo en un sistema real. CAPITULO 5 Sistema de archivos La unidad de almacenamiento bsica con la que trabaja cualquier sistema operativo es el archivo, que es una secuencia de bytes que se almacena en el disco. Surge por 3 motivos 1. Almacenar gran cantidad de informacin 2. La informacin debe ser permanente, cuando el proceso concluye no debe desaparecer

3. Acceso concurrente de varios procesos a la informacin almacenada Archivos Es una secuencia de bytes que se almacena en el disco. La estructura de un archiv 1. nombre.- para identificar cada archivo dentro del sistema se le asigna un nombre nico. Los archivos se sitan en el mismo lugar deben tener nombre diferentes, al tipo de archivo se le denomina extensin 2. estructura Es la organizacin interna de la informacin dentro del archivo. Algunos sistemas definen estructuras mnimas de organizacin del archivo denominadas registros 3, tipo Hace referencia a la informacin y estructura del archivo. Los S.O tienen varios tipos diferentes de archivos. UNIX presenta los siguientes tipos: y y y y Regulares: archivos que contienen informacin del usuario Directorios: archivos que contienen informacin referente a la localizacin de otros archivos Especiales: archivos que se utilizan para el intercambio de informacin con los dispositivos E/S FIFO archivos con estructura especial para la comunicacin entre los procesos

4. Atributos Son la serie de propiedades que informa sobre algunos aspectos adicionales. Proteccin: informa sobre que usuarios tienen acceso al archivo y de qu tipo Propietario: informa sobre que usuario es el propietario del archivo Tamao: tamao del archivo Tiempos: se suele almacenar los tiempos de creacin, de ltima modificacin y ltima actualizacin 5. Operaciones cualquier S.O proporciona una serie de operaciones bsicas sobre archivos y y CREATE, DELETE, OPEN, CLOSE, WRITE, entre otros READ (los datos requeridos se han de leer del archivo y colocarse en la memoria, se utiliza una zona de almacenamiento temporal: bfer) SEEK (localiza el punto de lectura o escritura en cualquier parte del archivo. Solo se permite en archivos de acceso directo) GET/SET ATTRIBUTES (Permiten la obtencin / modificacin de los atributos de un archivo)

Directorios Es una lista de archivos que a su vez pueden ser otros directorios. Cada archivo pertenece a un directorio. El root es donde nacen todos los dems, creando una estructura de rbol invertido. Los directorios se almacenan como archivos estndares que contienen listas de otros archivos Asignacin de espacio para archivos y directorios Un archivo es para el S.O una serie de bloques ordenados que almacenan informacin. Existen 3 objetivos fundamentales. VELOCIDAD: El acceso al archivo sea lo ms rpido posible. El sistema se har ms lento cuando sean necesarios ms accesos al disco para leer la informacin ESPACIO: Aprovechamiento del espacio, no debe existir huecos en el disco SEGURIDAD: el sistema siempre est sujeto a fallos, tanto hw como sw, hay que procurar que cuando haya un error se vea afectada la menor cantidad de informacin posible

Tipos ms comunes de organizacin de los archivos 1. Asignacion adyacente Es el esquema ms sencillo, cada archivo se almacena en un conjunto de bloques adyacentes en el disco. En el directorio basta registrar ninguna estructura adicional para la asignacin de espacio. S.O Amoeba, diseado para equipos muy ponentes. Ventajas Tipo de asignacin ms rpido La lectura secuencial completa se puede realizar en una sola operacin Para un acceso directo basta con hacer dos lecturas (en la 1 se lee la direccin y ya despus se sabe en qu bloques se encuentra la informacin) Desventajas Difcil de implantar(es necesario conocer a prioridad el tamao del archivo) Fragmentacin externa del disco.- los espacios de pequeo tamao que quedan entre archivos se desperdician

Para decidir la forma en que se asignan los huecos a los archivos existen 3 tcnicas fundamentales Mejor ajuste (Best Fit,BF); Asigna el fichero al hueco en el que mayor encaje el fichero. Este mtodo deja los huecos ms pequeos Primer ajuste (First Fir, FF) Asigna el fichero al primer hueco en el que encaje, presenta su rapidez, ya que no hay que examinar todos los espacios del fichero Peor ajuste (Worst Fit, WF) Asigna el fichero al hueco que deje un fragmento mas grande. Trata de evitar as huecos muy pequeos que no se puedan utilizar

2. Asignacin mediante lista enlazada La secuencia de bloques se mantiene como una lista simplemente enlazada, la primera palabra de cada bloque del archivo es el ndice al siguiente bloque en el disco. Ventajas No hay fragmentacin externo, todos los bloques del disco son aprovechados No se necesita espacio adicional para estructuras que almacenen listas de bloques Es muy seguro Desventajas Lento en el acceso directo. Para leer informacin es necesario acceder a todos los anteriores para seguir la cadena asignada El tamao de la informacin en cada bloque ya no es una potencia de 2.

3. Asignacin mediante una tabla de localizacin Las desventajas del problema anterior se pueden atenuar se toma el ndice de cada bloque y se traslada a un vector donde se almacenan juntos; es decir eliminarlo de la estructura de datos secuenciales que se usa. El SO MSDOS reserva espacio en el disco para la tabla de asignacin a la que llama FAT (File Allocation Table). El sistema mantiene dos copias de la FAT para evitar la prdida de la informacin en caso de fallo de un bloque de la FAT original Ventajas No hay fragmentacin externa, todos los bloques del disco son aprovechados En accesos directos es ms rpido, pero solo si se mantiene una tabla de localizacin en memoria 4. Asignacin mediante nodos ndice Este mtodo consiste en asociar a cada archivo un registro, denominado nodo ndice o nodo i, almacena atributos del archivo y la secuencia de bloques. S.O. UNIX. Ventajas En ficheros pequeos la velocidad de acceso es muy alta Si hay un fallo en el bloque un nodo-i este slo afecta a un archivo Desventajas El acceso a los bloques finales en un archivo grande puede ser que contiene muy lento. Desventajas Si la tabla no se almacena en memoria el acceso puede ser muy lento. Vulnerable a fallos en el disco

Comparticin de archivos Es frecuente que varios usuarios deban compartir la informacin de algunos ficheros. La opcin es hacer varias copias diferentes del archivo, pero genera un desperdicio en el disco. Otra solucin es compartir la informacin es te presente en varios directorios de usuarios diferentes. Esto se logra mediante un enlace. Una vez creado el enlace se comporta como un archivo estndar. Administracin del espacio La administracin del espacio genera varios problemas que hay que resolver Tamao de bloque; el bloque es la unidad de asignacin mnima de informacin. Significa que siempre que se acceda al disco se leer o se escribir un bloque completo. (Fragmentacin interna; perdida de espacio al final del fichero, debida a que el ltimo bloque no est completo) en la eleccin de tamao de bloque hay que tener dos factores 1; Un bloque de tamao grande acelerar la lectura, pero desperdicia mucho espacio 2; Un bloque de pequeo tamao desperdiciara menos espacio, pero el acceso ser ms lento Registro de los bloques libres Con una tabla de localizacin de los bloques libres. S.O MSDOS. En el resto de los sistemas existen dos posibilidades 1; Lista de bloques; se crea una lista ligada de bloques libres en el fichero, cada bloque contiene los nmeros de los bloques libres y ultimo valor el siguiente bloque de la lista (No busca los bloques libres, si el disco no est muy lleno ocupa bastante espacio) 2; Mapa de bits; se crea un mapa de bits en el cual se asigna un bit a cada bloque. El valor de cada bit indica si el bloque se encuentra disponible o no. Este sistema ocupa menos espacio y se puede mantener en memoria. Confiabilidad del sistema de archivos La informacin del sistema de archivos es lo ms importante que existe en un sistema en un sistema de computacin. Sectores defectuosos: todos los discos presentan sectores defectuosos, que no son utilizables. Ninguna informacin se debe de escribir en ella. La solucin es un controlador del disco para almacenar una lista de sectores defectuosos Copias de seguridad; Realizar copias de seguridad peridicas para garantizar la recuperacin de la mayor parte de la informacin en el peor de los casos Consistencia: un sistema es consistente cuando todas sus estructuras son coherentes entre s.

Mecanismos de proteccin Seguridad es un sistema informtico hace referencia a todos los aspectos relacionados con el mantenimiento de la informacin sin prdida ni accesos autorizados. Los mtodos que se aplican para resolver el segundo de estos problemas se denominan mecanismos de proteccin Dominios de proteccin Es un sistema hay muchos recursos que necesitan proteccin, archivos, segmentos de memoria, terminales, procesos, semforos, etc. En MULTICS existan un total de 64 dominios que se le denominan anillos Dominio; conjunto de pares (objeto y derecho) Lista de control de acceso Una forma de implantar esta matriz es almacenarla por columnas, guardando solo aquellas que son nulas. Consiste en almacenarlos junto con cada objeto una lista de los dominios que tienen acceso al objeto u sus derechos. Un dominio que no aparezca en la lista no tiene derechos sobre el objeto. Esta lista se le llama lista de control de acceso (ACL3) Lista de posibilidades La segunda forma de almacenar la matriz de dominios es por filas. A cada proceso se le asocia una lista con los objetos a los que puede acceder y los derechos que tienen sobre ellos, cada elemento es una lista posibilidad. Utilizan una arquitectura marcada (cada palabra tiene marcado un bit de memoria) El sistema de archivos de UNIX El sistema de ficheros de UNIX se caracteriza por: Estructura jerrquica en forma de rbol invertido. Todos los sistemas contiene un primer nodo denominado root que se designa / Convierte una sucesin de bytes en una sucesin de bloques en disco Operaciones bsicas a nivel de usuario: creacin, borrado, apertura, cierre, lectura, escritura y posicionamiento Proteccin a la informacin Tratamiento de dispositivos perifricos como ficheros La estructura de ficheros consta de cuatro componentes 1; BLOQUEO DE BOTADO; Ocupa el inicio del sistema de ficheros 2; SUPER BLOQUEO; Describe el estado del sistema de ficheros 3; LISTA DE NODOS INDICE; contiene todos los nodos ndice del sistema 4. BLOQUES DE DATOS; Contiene la informacin real de los ficheros

El sper bloque Contiene la informacin necesaria para caracterizar todo el sistema de archivos y para gestionar el espacio de almacenamiento libre. Los campos que contienen: tamao total del sistema de archivos, numero de bloques libres, ndice al siguiente bloque en la lista de bloques libres, tamao total de la lista de nodos ndice, numer de nodos ndice, lista de nodos ndice libres. Cuando UNIX accede a un sistema de archivos mantiene siempre una copia en memora del sper bloque correspondiente, se le conoce como in-core El nodo i Cada archivo en UNIX se identifica completamente por una estructura de informacin denomina nodo i. Tipo de archivo. Si el campo contiene un cero, esto indica que el nodo i esta libre. Existen 4 tipos e ficheros en UNIX 1. Regular; archivo del usuario (cualquier tipo de informacin que el usuario almacene) 2. Directorio; contiene listas de ficheros o de otros directorios 3. Especial; especifican dispositivos 4. FIFO; Se suelen llamar pipes. Ficheros especiales para la comunicacin entre procesos Directorios EN UNIX tiene estructura de grafo aciclico dirigido. Esta estructura viene dada por la organizacin en directorios. Cada directorio contiene una lista de archivos, los directorios se almacenan como ficheros regulares Lectura: indica la posibilidad de obtener un listado de los ficheros y subdirectorios que contiene Escritura: indica la posibilidad de aadir y eliminar ficheros y subdirectorios de el Ejecucin; posibilidad de buscar archivos en el directorio

CAPITULO 6 ORGANIZACIN Y GESTION DE LA MEMORIA PRINCIPAL Los programas y datos tienen que estar en memoria principal para ser ejecutaos o hacer referencia a ellos. Los programas y datos que no se necesitan en un instante determinado pueden guardar en el almacenamiento secundario hasta que se necesiten y se transfieran al almacenamiento principal Memoria cache: es un almacenamiento a alta velocidad, mucho ms rpida que la memoria principal. Estrategias para la administracin del almacenamiento 1.- Estrategias de obtencin; Determinar cundo debe obtenerse la siguiente parte del programa o datos que se van a transferir desde el almacenamiento secundario al primario,

A) Por demanda; consiste en que la siguiente parte de programa se trasfiere al almacenamiento principal cuando un programa en ejecucin hace referencia a ella. B) Anticipada; consiste en realizar las transferencias desde memoria secundaria antes de que el programa en cuestin las referencie. 2. Estrategias de Colocacin; Estn relacionadas con la determinacin de la parte de almacenamiento principal donde se colocar un programa entrante (primer ajuste, mejor ajuste y peor ajuste) 3. Estrategias de reemplazo; relacionadas con la determinacin de que parte del programa o de los datos se debe desalojar para dejar espacio a los programas estantes ASIGNACION DE ALMACENAMIENTO CONTIGUO Y NO CONTIGUO Un programa se divide en varios bloques o segmentos que se pueden colocar en memoria principal en fragmentos que no necesitan ser adyacentes. Para el S.O es ms difcil controlar la asignacin del almacenamiento no contiguo. Organizacin y gestin de la memoria real Los primeros sistemas de computo permitan que solo una persona a la vez utilizara la maquina. Todos los recursos de la maquina estaban a disposicin del usuario. Cada usuario escriba todo el cdigo necesario para realizar una accin especfica. El tamao de los programas estaba limitado por la cantidad de memoria principal, pero es posible ejecutar programas ms grandes que este almacenamiento utilizando superposiciones (Ofrecen al programador una forma de ampliar el almacenamiento principal limitado) Proteccin en los sistemas de usuario nico En los sistemas de asignacin de almacenamiento contiguo para un solo usuario, este ltimo tiene un control absoluto sobre todo el almacenamiento principal. La memora se divide en una parte en la que residen las rutinas del sistema operativo. La proteccin en este tipo de sistemas se realiza con un registro de lmites nico integrado en la CPU Multiprogramacin con particiones fijas En los sistemas de multiprogramacin varios usuarios compiten por los recursos del sistema. El trabajo que est esperando la terminacin de una operacin E/s ceder la CPU a otro trabajo que est listo para realizar clculos. As pueden ejecutarse simultneamente las operaciones de E/S. Para aprovechar al mximo las ventajas es necesario que varios trabajos residan al mismo tiempo en el almacenamiento principal del computador. Requiere de mucha ms memoria que un sistema de un solo usuario Multiprogramacin con particiones fijas; traduccin y carga absolutas Los primeros sistemas de multiprogramacin utilizaban la multiprogramacin con particiones fijas; el almacenamiento se divida en particiones de tamao fijo. En cada particin se poda tener un solo trabajo, la CPU conmutaba rpidamente entre los usuarios para crear la ilusin de simultaneidad

Multiprogramacin con particiones fijas; traduccin y carga con reubicacin Los compiladores, ensambladores y cargadores con reubicacin sirven para producir programas reubicables que se pueden ejecutar en cualquier particin disponible que sea suficientemente grande para contenerlos. Este esquema elimina parte del desperdician de espacio inherente a la multiprogramacin con carga y traduccin absolutas, Proteccin en los sistemas con multiprogramacin La proteccin se logra con varios registros de lmites, con dos registros se pueden establecen los limites superior e inferos de la particin de un usuario o se puede indicar el lmite inferior y la longitud de la regin Fragmentacin en la multiprogramacin con particiones fijas Se presenta en todos los sistemas de cmputo, sea cual sea la organizacin de su almacenamiento. La fragmentacin ocurre porque los trabajos de los usuarios no llenan por completo las particiones designadas o porque una particin se queda sin utilizar por ser demasiado pequea para contener un trabajo en espera Multiprogramacin con particiones variables Los programas ocupen tanto espacio como no necesiten, no se imponen limites fijos, se dar a los trabajos todo el almacenamiento que queda disponible, no se hacen suposiciones sobre el tamao de los trabajos, no hay desperdicios pues la particin de un trabajo tiene exactamente el tamao del programa, se nota el desperdicio hasta que los trabajos terminan ya que dejan huecos de almacenamiento principal. Otros trabajos pueden ocupar esos huecos, los huecos restantes se hacen ms pequeos Condensacin de huecos Cuando termina un trabajo en un sistema de multiprogramacin con particiones variables, se comprueba se el almacenamiento liberado colinda con otras reas libres de almacenamiento. El proceso de fusionar dos huecos adyacentes en uno solo ms grande recibe el nombre de condensacin de huecos. Se pueden recuperar los bloques contiguos Compactacin de almacenamiento Es un sistema de multiprogramacin con particiones variables suelen resultar insuficiente y con frecuencia los huecos individuales distribuidos a lo largo del almacenamiento principal, ningn hueco individual es lo bastante grande para contenerlo .implica trastadas todas las reas ocupadas del almacenamiento a algn externo de la memoria principal. Deja un nico hueco de almacenamiento libre contiguo Estrategias de colocacin en almacenamiento Sirven para determinar en qu lugar de la memoria principal se van a colocar los programas y datos estantes. 1. Estrategia del mejor ajuste Un trabajo que entre en el sistema se colocara en el hueco de almacenamiento principal en el que quepa mejor y que quede menor cantidad de espacio sin utilizar

2. Estrategias del primer ajuste: Un trabajo que entre en el sistema se colocara en el hueco de almacenamiento principal en el primer hueco disponible, lo bastante grande como para contenerlo 3. Estrategia de peor ajuste Un trabajo que entre en el sistema se colocara en el hueco donde peor se ajusta es decir en el ms grande posible. Organizacin y gestin del almacenamiento virtual Las direcciones a las que hace referencia un proceso en ejecucin se conocen como direcciones virtuales. Las direcciones disponibles en el almacenamiento a las que puede referirse un proceso se denomina espacio de direcciones virtuales. El intervalo de direcciones reales disponibles en un sistema informtico se llama espacio de direcciones reales. Aunque los procesos solo hacen referencia a direcciones virtuales deben ejecutarse en el almacenamiento real Paginacin Una direccin virtual es un sistema de paginacin es un par ordenado (p, d) p # de pagina del almacenamiento virtual y d es el desplazamiento dentro de la pagina. Un proceso puede ejecutarse si su pgina activa se encuentra en el almacenamiento primario. Las pginas se transfieren del almacenamiento secundario al primario y se colocan dentro de bloques llamados marcos de pgina que tienen el mismo tamao que las pginas entrantes. Tanto la direccin virtual que se traduce como la direccin base de la tabla de correspondencia de pginas se conservan en registros de alta velocidad en el procesador de control, de manera que las operaciones en las que participan pueden realizarse con rapidez dentro de un solo ciclo de ejecucin de instrucciones Traduccin de direcciones en paginacin por correspondencia asociativa Una forma de acelerar la traduccin dinmica de direcciones es colocar toda la tabla de correspondencia de pginas dentro de un almacenamiento asociativo, accesible por contenido, el cual tiene ciclos de un orden de magnitud ms rpidos que los del almacenamiento primario. Un programa en ejecucin hace referencia a una direccin virtual v= (p, d). Traduccin de direcciones en paginacin por correspondencia combinada asociativa/ directa Esta tcnica utiliza un almacenamiento asociativo capaz de contener solo un pequeo porcentaje de la tabla de correspondencia de pginas de un proceso (esto se denomina bfer de traduccin de bsqueda rpida, TLB). Las entradas de pginas mantenidas en ese bfer correspondiente. El mapa de correspondencia de paginas asociativo parcial no necesita ser grande para lograr un funcionamiento aceptable Comparticin en sistemas de paginacin En sistemas de multiprogramacin, en especial los de tiempo compartido, es comn que muchos usuarios ejecuten los mismos programas. Si se asignan copias a cada usuario se desperdiciara mucho espacio en memoria

La solucin es compartir las pginas, pero se debe de controlar con mucho cuidado para evitar que un proceso modifique los datos que est utilizando otro proceso, los programas se dividen en reas separadas de procesamiento y datos. Los procedimientos no modificables se llaman procedimientos puros o procedimientos reentrantes estos datos se pueden compartir, mientras que los modificables no. Compartir reduce la cantidad de almacenamiento primario necesaria para la ejecucin eficiente de un grupo de procesos Segmentacin En los sistemas de almacenamiento virtual con segmentacin, una direccin virtual es un par ordenado v=(s, d) donde s es el numero de segmento en almacenamiento virtual en el que se encuentra el elemento al que se hace referencia y d es el desplazamiento. Un proceso solo se puede ejecutar si su segmento activo se encuentra en el almacenamiento primario Control de accesos en los sistemas con segmentacin Una de cualidades de un sistema con segmentacin es el cuidadoso control de acceso que puede realizarse, lo cual se logra asignando a cada proceso ciertos derechos de acceso a cada segmento y de hecho, denegando por completo el acceso a muchos segmentos Lectura (R) este segmento se puede leer Escritura (W)- este segmento se pude modificar Ejecucin (E)- este segmento se puede ejecutar Adicin (A) se puede agregar informacin al final de este segmento En un sistema con estos cuatro tipos de control de acceso, s pueden crear 16 nodos de acceso diferentes permitiendo o denegando cada uno de los tipos Sistemas con paginacin/ segmentacin Los sistemas que combinan paginacin y segmentacin ofrecen ventajas de ambas tcnicas, los segmentos tienen un tamao mltiplo de pginas, no es necesario que todas estn en el almacenamiento primario a la vez. Las direcciones son tridimensionales y una direccin de almacenamiento virtual v, es un triple ordenado v=(s, p, d) Estrategias de obtencin de pginas Paginas por demanda Las pginas de un proceso deben cargarse por demanda, no se debe de transferir ninguna pgina del almacenamiento secundario al primario, hasta que un proceso haga explcitamente referencia a ella Desventajas Un proceso debe a cumular sus pginas una por una a medida que se hace referencia a una nueva pgina, el proceso debe esperar hasta que esa pgina se transfiera a memoria principal

Paginacin anticipada El sistema operativo intenta predecir que paginas necesitara un proceso y entonces las cargas en memoria cuando haya espacio disponible. Mientras que el proceso se ejecuta con sus pginas actuales, el sistema carga nuevas pginas, que estarn disponibles cuando las requiera el proceso VAX /VMS aprovechan la localidad espacial transfiriendo al almacenamiento principal bloques de paginas contiguas Estrategias de remplazo de paginas El principio de optimalizad establece que para obtener un rendimiento optimo, la pagina que se debe de reemplazar es aquella que tardara ms tiempo en volver a ser utilizada. 1. Estrategia de reemplazo de paginas aleatorio; tiene un gasto muy pequeo, y no discrimine a ningn usuario, consiste en elegir al azar las paginas que van a ser reemplazadas es una tcnica muy sencilla 2. Estrategia de reemplaz primera en entrar primera en salir (FIFO); se registra el momento en que la pagina entro en la pgina principal, conforme van llegando y sacando el final de la cola cuando hay que reemplazar 3. Estrategia de reemplazo de la menos recientemente utilizada (LRU); se basa en la heurstica de la localidad, si una pgina lleva mucho tiempo sin utilizarse, es poco probable que vaya a ser utilizada en un futuro reciente. cuando hay que reemplazar una pgina se selecciona la pgina del final de la lista. 4. Estrategia de reemplazo de la menos frecuentemente utilizada (LFU); lo que ms importa es la intensidad con la que se ha empleado cada pgina; la pagina por reemplazar es aquella que se ha usado con menos frecuencia o a la que se le ha hecho menos referencia 5. Estrategia de reemplazo de la no utilizada recientemente (NUR); se basa en que no es probable que se usen pronto las paginas no usadas recientemente, por lo que pueden remplazarse por paginas entrantes 6. Modificaciones de FIFO: reemplazo de pginas por reloj ; pone las paginas en una lista circular, hay un puntero a la lista que se desplaza alrededor de ella como las manecillas del reloj, cuando un bit de referencia vale cero pasa al siguiente elemento de la lista 7. reemplazo de pginas con segunda oportunidad; se examina el bit de referencia a la ltima pgina de la lista. Si el bit vale o la reemplaza, si vale 1 la lleva al final de la lista considerndola una pgina nueva

Localidad La localidad se manifiesta tanto en el tiempo como en el espacio LOCALIDAD TEMPORAL; Se refiere a que es probable a que las posiciones de memoria a las que ha hecho referencia recientemente se vuelven a referenciar en un futuro cercano

LOCALIDAD ESPACIAL: son las referencias a memoria, suelen estar concentradas en una zona determinada de manera que, una vez que se ha hecho referenca a posiciones cercanas a esta CONJUNTO DE TRABAJO Es una coleccin de paginas de un proceso a las que se hace referencia de forma muy activa . para ejecutar un programa de forma eficiente, hay qye tener en memoria principal su conjunto de trabajo , para evitar una hiperpaginacion (trashing) debida a que el programa tendria que estar realizado continuamente operaciones de intrecambio con ela lmacenamiento secundario. La hipernapaginacion se evita poniendo el 50% de las paginas de un proceso. REMPLAZO D PGINAS POR FRECUENCIA DE FALLOS DE PAGINA Los procesos que fallan constantemente pueden estar hiperpaginando porque tienen muy pocos marcos de pagina y no pueden mantener su conjunto de trabajo en memoria primaria. ,los procesos que casi nunca fallan pueden tener demasiados marcos de pagina signando y estan impidiendo el progreso de otros procesos en e sistema . lo ideal es que los procesos operen entre ambos extremos El algoritmo de frecuencia de fallos de pagina ajusta el conjunto de paginas residentes de un proceso basandose en la frecuencia con la que el proceo presenta fallos de pagina, registra el tiempo transcurrido, entre el ultimo fallo de pagina y el actual.

You might also like