159
Sistemas Operativos Administración de Dispositivos SO-C28

Sistemas Operativos

Embed Size (px)

DESCRIPTION

Sistemas Operativos

Citation preview

  • Sistemas OperativosAdministracin de DispositivosSO-C28

  • Sistema de E/SEl control de los dispositivos de E/S es uno de los aspectos principales en todo diseo de un SO.

    Dada la amplia variedad de dispositivos, en funcin y velocidad, se necesitan diversos mtodos para controlarlos

    Estos mtodos forman el Subsistema de E/S del kernel. Estos mtodos separan la complejidad de controlar dispositivos E/S del resto del kernel.

  • Conflictos

    La tecnologa de los dispositivos de E/S muestran tendencia a dos conflictosIncremento en la estandarizacin de hardware y softwareIncremento de una amplia variedad de dispositivos de E/S

    Para englobar los detalles y rarezas de los diferentes dispositivos, el kernel de un S.O. est estructurado para utilizar mdulos manejador-dispositivo (device-driver)

    Los manejadores de dispositivos presentan una interfaz uniforme de acceso al dispositivo al subsistema de E/S, de las misma manera que las llamadas al sistema proveen una interfaz estndar entre la aplicacin y el S.O.

  • Hardware de E/SEl hardware que opera el SO se puede clasificarDispositivos de almacenamientoDispositivos de transmisinDispositivos de interfaz-hombre

    Un dispositivo se comunica con un sistema computacional enviando seales a travs de un cable o el aire.

    El dispositivo se comunica con la computadora por medio de un punto de conexin (puerto)

  • Conceptos BusSi uno o ms dispositivos usan un conjunto comn de cables, la conexin es llamada bus

    Un bus es un conjunto de cables y un protocolo rgido que especifica el conjunto de mensajes que pueden ser enviados por el cable

  • BusLos buses son muy utilizados en las arquitecturas de computadorasPCIBus de expansinSCSI bus

    Un controlador es una coleccin de dispositivos electrnicos que operan un puerto, un bus o un dispositivo

    Un controlador de puerto serial es un controlador de dispositivo simpleEs un chip en la computadora que controla las seales en los cables de un puerto serial

  • Bus tpico de una PC

  • Controladores En contraste, un controlador de bus SCSI no es simple

    Esto es por que el protocolo SCSI es complejo. El controlador de bus de SCSI frecuentemente se implementa como una tarjeta de circuitos separada (adaptador de host) que se conecta a la computadora

    Tpicamente contiene un procesador, microcdigo y memoria privada que permiten procesar los mensajes SCSI

  • Interaccin con el procesador

    Cmo puede el procesador enviar comandos y datos a un controlador para lograr la transferencia de E/S?La respuesta corta es que el controlador tiene uno o ms registros para datos y seales de control

    El procesador se comunica con el controlador leyendo y escribiendo patrones de bits en esos registros

    Una manera en que ocurre esta comunicacin es por medio del uso especial de instrucciones de E/S que especifican la transferencia de un byte o palabra a una direccin de puerto de E/S

  • CPU-E/SLas instrucciones de E/S activan las lneas de bus para seleccionar el dispositivo correcto y mover informacin dentro o fuera del registro del dispositivo

    Alternativamente, el controlador de dispositivo puede soportar correspondencia de memoria de E/S (memory-mapped I/O)En este caso, los registro de control del dispositivo son asociados dentro del espacio de direcciones del procesadorEntonces el CPU ejecuta peticiones de E/S utilizando instrucciones estndar de transferencia de datos para leer y escribir a los registros del controlador de dispositivo

  • Memory mapped I/O

    Algunos sistemas utilizan ambos esquemasPC usan instrucciones E/S para controlar algunos dispositivos y memory-mapped I/O para controlar otros

    Ejemplo, el controlador de grficos tiene puertos de E/S para operaciones de control bsicas, pero el controlador tiene una regin de memory-mapped mayor para mantener los contenidos de las pantallas

    El proceso enva la salida a la pantalla al escribir los datos en la regin de memory-mapped. El controlador genera las imgenes de la pantalla basado en el contenido de esta memoria

  • Puerto de E/SUn puerto de entrada/salida consiste generalmente de 4 registros llamadosEstado, control, entrada de datos y salida de datos

    Registro de estadoContiene bits que pueden ser ledos por el host. Estos bits indican el estado del puerto, por ejemplo, si el comando actual se ha completado, si un byte est disponible para lectura del registro de entrada de datos y si ha habido un error

  • Puerto de E/SRegistro del controlEl registro de control puede ser escrito por el host para iniciar un comando o para cambiar el modo de un dispositivoPor ejemplo, un cierto bit en el registro de control de un puerto serial escoge entre comunicacin full duplex o half duplex , otro bit estable el chequeo de paridad, establece la velocidad, etc.

    Registro de entradaEl registro de entrada de datos es ledo por el host para obtener la entrada de informacin

    Registro de salidaEs escrito por el host para enviar informacin de salida

  • RepasoSistema de E/SConjunto de mtodos y funciones para controlar los diversos dispositivos de E/SManejador de dispositivoHardware de e/sBusPuertoControladorInteraccin con el procesadorRegistros del controladorControlador soporta memory-mapped

  • Encuesta (Polling)El protocolo completo para la interaccin entre CPU y controlador puede ser complejo, pero la fase inicial (saludo) es simple

    EjemploSuponga que dos bits se utilizan para coordinar la relacin productor-consumidor entre el controlador y el CPU

    El controlador indica su estado por medio del bit ocupado en el registro de estado. Entonces el controlador establece el bit ocupado cuando est ejecutando un comando y lo limpia cuando est listo para el siguiente comando

    El CPU sealiza sus comandos va el bit comando-listo en el registro del comando. El CPU establece este bit cuando un comando est listo para ejecutarse por el controlador

  • Ejemplo (cont) El CPU lee continuamente el bit ocupado hasta que se limpia

    El CPU establece el bit de escritura en el registro de comando y escribe un byte en el registro de salida de datos

    El CPU establece el bit de comando-listo

    Cuando el controlador nota que el bit comando-listo est en 1, establece su bit ocupado

    El controlador lee el registro de comando y atiende el comando write. Lee el registro de salida de datos para obtener el byte y realiza la operacin E/S al dispositivo

    El controlador limpia el bit de comando-listo, limpia el bit de error y el registro de estado para indicar que el dispositivo de E/S opera exitosamente y limpia el bit ocupado para indicar que ha finalizado

  • InterrupcinLa operacin bsica de encuesta es eficiente, si el controlador y el dispositivos son rpidosPero ineficiente cuando se intenta repetidamente

    En este caso es ms eficiente preparar al controlador de hardware para notificar al CPU cuando el dispositivo est listo para el servicio

    Al mecanismo de hardware que permite a un dispositivo notificar al CPU es llamado interrupcin

  • InterrupcinEl mecanismo bsico de interrupcin funciona de la siguiente maneraEl hardware de CPU tiene un medio (cable) llamado la lnea de peticin de interrupcin la cual es sensada por el CPU despus de cada ejecucin de instruccinCuando el CPU detecta que un controlador ha emitido un seal en la lnea de peticin de interrupcin, el CPU guarda cierta informacin del estado y salta a la rutina del manejador de interrupciones en una direccin fsica de la memoria

  • InterrupcinEl manejador de interrupciones determina qu ocasion la interrupcin, realiza el procesamiento necesario y ejecuta una instruccin para regresar de la interrupcin y devolver al CPU al estado de ejecucin en el que se encontraba.

    Decimos que un controlador de dispositivo crea una interrupcin al enviar una seal en la lnea de peticin de interrupcin

    El CPU cacha la interrupcin y dispara al manejador de interrupciones

  • Ciclo de E/S guiado por interrupciones

  • Interrupciones En los S.O. modernos se necesitan caractersticas del manejo de interrupciones ms sofisticadasEj. Se necesita la capacidad de retardar una interrupcin durante un procesamiento crticoSe necesita una forma eficiente de activar el manejador de interrupciones apropiado para un dispositivo, sin encuestar a todos los dispositivos para saber cul gener la interrupcinSe necesitan interrupciones de multiniveles, para que el S.O. pueda distinguir entre interrupciones de alta y baja prioridad y pueda responder con diferentes grados de urgencia

    En el hardware moderno, estas caractersticas se proporcionan por medio del CPU y por un hardware controlador de interrupciones

  • Interrupciones La mayora de los CPU tiene dos lneas de peticiones de interrupciones

    Una es interrupcin no ocultable (nonmaskable), reservada para eventos como por ej. errores de memoria no recuperables

    Ocultable (maskable), puede ser apagada por el procesador antes de ejecutar secuencias de instrucciones crticas que no debe ser interrumpidasLas interrupciones ocultables son utilizadas por los controladores de dispositivos para solicitar un servicio

  • Interrupciones El mecanismo de la interrupcin toma una direccin -un nmero que selecciona (indica) una rutina especfica de manejo de interrupcin- de un conjunto pequeo

    En la mayora de las arquitecturas est direccin es un corrimiento en una tabla llamada el vector de interrupciones

    Este vector contiene las direcciones de memoria de manejadores de interrupciones especializados

    El propsito de un vector de interrupciones es reducir la necesidad de un solo manejador de interrupciones que busque de todas las fuentes posibles de interrupciones para determinar cul necesita servicio

  • InterrupcionesEn la prctica, sin embargo, las computadoras tiene ms dispositivos (y por lo tanto manejadores de interrupciones) que elementos de direcciones en el vector de interrupciones

    Una manera comn de resolver este problema es utilizar la tcnica de encadenamiento de interrupciones, en la cual cada elemento del vector de interrupciones apunta al inicio de una lista de manejadores de interrupciones

    Cuando se genera una interrupcin, los manejadores en la lista correspondiente se llaman uno por uno, hasta que se encuentra a uno que puede servir la peticin

  • Tabla de vectores de eventos de Intel

  • Prioridad en las interrupcionesEl mecanismo de interrupciones implementa un esquema con niveles de prioridades de interrupciones

    Este mecanismo permite al CPU retrasar el manejo de las interrupciones de prioridad baja sin apagar todas las interrupciones (lnea ocultable) y esto hace posible a una interrupcin de prioridad alta preempt la ejecucin de una interrupcin de prioridad baja

  • RepasoMecanismos de comunicacin entre el CPU y el dispositivo de E/SEncuesta (Polling)InterrupcionesLnea de peticin de interrupcionesOcultables y No ocultablesManejador de interrupcionesCaractersticas deseables (Controlador de Interrupciones)Retardo de algunas interrupcionesIdentificacin eficiente de quin genera la interrupcinPrioridades entre interrupcionesVector de interrupcionesContiene las direcciones de los manejadores de interrupcionesNiveles de prioridad

  • Interfaz de E/SCada dispositivos de E/S es accedido a travs de un conjunto estandarizado de funciones (interfaz)

    Las diferencias son englobadas en mdulos del kernel llamados manejadores de dispositivo (device driver)

    Los manejadores de dispositivos estn diseado especficamente para cada dispositivo

  • Estructura de E/S de kernel

  • Capa de manejador de dispositivoEl propsito de la capa de manejadores de dispositivos es ocultar las diferencias entre los controladores de dispositivo del subsistema de E/S del kernel

    As las llamadas al sistema de E/S encapsulan el comportamiento de los dispositivos en unas cuantas clases que ocultan las diferencias de hardware a las aplicaciones.

    De esta manera se simplifica la tarea del desarrollador de S.O. Tambin se beneficia a los desarrolladores de hardware ya que disean nuevos dispositivos que son compatibles con una interfaz controladora existente o escriben los manejadores de dispositivos que son la interfaz de un nuevo hardware hacia los S.O.

  • Capa de manejador de dispositivoDe esta manera, nuevos perifricos se pueden integrar a una computadora sin tener que esperar a que el desarrollador de S.O. desarrolle el cdigo de soporte

    El problema es que cada SO tiene sus propios estndares para la interfaz manejadora de dispositivos

    En consecuencia un dispositivo puede tener mltiples manejadores, por ejemplo, manejadores para MS-DOS, Win9X, WINNT, etc.

  • Caractersticas de los dispositivos de E/SFlujo de carcter o bloque. Un dispositivo de flujo de carcter transfiere bytes uno a unoMientras que un dispositivo de bloque enva bloques de bytes como una unidad

    Acceso secuencial o aleatorio. Un dispositivo secuencial transfiere informacin en un orden fijo determinado por el dispositivoMientras que el usuario de un dispositivo de acceso aleatorio puede indicar al dispositivo buscar en cualquier ubicacin de almacenamiento disponible

  • Caractersticas de los dispositivos de E/SSncrono o asncrono.Un dispositivo sncrono es aquel que realiza transferencia de datos con tiempos de respuesta predecibles. Un dispositivo asncrono muestra tiempos de respuesta irregulares o impredecibles

    Compartido o dedicadoUn dispositivo compartido puede ser utilizado concurrentemente por varios procesos o hilosUn dispositivo dedicado no

  • Caractersticas de los dispositivos de E/S

    Velocidad de operacinEl rango de velocidad de un dispositivo vara de un cuantos bytes por segundo a unos cuantos gigabytes por segundo

    Lectura escritura, solo lectura o solo escrituraAlgunos dispositivos realizan tanto lectura como escritura, pero otros solo soportan informacin en una sola accin

  • Caractersticas de los dispositivos de E/S

  • Subsistema de E/S del kernelEl kernel ofrece muchos servicios relacionados con E/S

    El subsistema de E/S del kernel provee los servicios ms comunesCalendarizacinBufferingCachingSpoolingReservaciones de dispositivoControl de errores

  • Calendarizacin E/SCalendarizar un conjunto de peticiones de E/S significa determinar un buen orden para ejecutarlas

    La calendarizacin mejora el rendimiento global del sistemaPermite el acceso compartido a los dispositivos entre los procesosReduce el tiempo promedio de espera para completar una operacin de E/S

    Ejemplo:Suponga que el brazo de un disco esta cerca del inicio y tres aplicaciones quieren leer del discoLa aplicacin 1 solicita informacin cerca del final del disco, la 2 pide informacin al principio del disco y la 3 pide informacin de en medio del disco

  • Calendarizacin E/SLos desarrolladores de S.O. implementan la calendarizacin al establecer una cola de peticiones por cada dispositivo

    El calendarizador de E/S rearregla el orden de las colas para mejorar la eficiencia global y el tiempo promedio de espera

    Entonces una forma de que el subsistema de E/S mejora la eficiencia es calendarizando las operaciones de E/S.

    Otra forma es utilizando espacio de almacenamiento en memoria o disco con tcnicas como buffering, caching y spooling

  • BufferingUn bfer es un rea de memoria que almacena datos mientras son transferidos entre dos dispositivos o entre un dispositivo y una aplicacin

    Buffering se debe a tres razonesTratar el problema de la diferencia de velocidad entre un productor y un consumidor de datosEj. Suponga que un modem recibe un archivo para guardarlo en disco. El modem un mucho ms lento que el disco. Entonces se crea un buffer en memoria para almacenar los bytes recibidos por el mdem

  • Buffering Doble bufferDado que el disco no escribe instantneamente y el mdem necesita un lugar para seguir guardando la informacin que recibe entonces se utilizan dos buffers

    Para adaptar dispositivos que tienen diferentes tamaos de datos por transmitirEj. En redes de computadoras se utilizan bfer para almacenar paquetes pequeos que forman parte de uno mayor

    Para dar soporte de copias semnticas (respaldos de buffer) a las aplicaciones de E/S

  • CachingCache es un regin de memoria rpida que mantiene copias de datos.

    La diferencia entre buffer y cach es que un buffer puede mantener la nica copia existente de un dato mientras que la cach por definicin solo mantiene una copia en un medio de almacenamiento ms rpido de un dato que reside en otra parte

    No obstante que cache y buffer son funciones distintas, a veces una misma regin de memoria se puede utilizar para ambos propsitos

  • SpoolingUn spool es un bfer que mantiene informacin dirigida a un dispositivo

    Ej. Una impresora solo puede imprimir un trabajo a la vez, no obstante las aplicaciones desean poder imprimir concurrentemente pero sin obtener una impresin mezclada

    El S.O. soluciona este problema interceptando todas las salidas para la impresora

    Cada salida de una aplicacin es spooled en un archivo de disco. Cuando una aplicacin termina de imprimir, el sistema de spool enva el archivo correspondiente de spool para imprimir a la impresora

  • Reservacin de dispositivoOtra manera de lidiar con el acceso concurrente a los dispositivos es proporcionar facilidades explcitas de coordinacin

    Entonces los S.O. proporcionan soporte para un acceso exclusivo al dispositivoPermiten a un proceso asignar un dispositivo en ocio y liberar un dispositivo cuando ya no es utilizadoOtros limitan al dispositivo a manejar solamente un trabajo a la vezOtros proporcionan funciones que permiten a los procesos coordinar el acceso exclusivo entre ellos mismos

  • Control de erroresDispositivos y transferencias de E/S pueden fallar por muchas razones, ya sea temporales o permanentes

    Los S.O. frecuentemente manejan de manera eficiente las fallas temporalesSobrecarga de la red resend()Falla de lectura de disco retry()

    Desafortunadamente, si un componente importante sufre una falla permanente es muy probable que el S.O. no se recupere

  • RepasoInterfaz de E/SCapa de manejadores de dispositivos

    Caractersticas de los dispositivos de E/SFlujo o caracter, acceso secuencial o aleatorio, sncrono o asncrono, compartido o dedicado, velocidad de operacin, lectura-escritura, solo lectura o solo escritura.

    Subsistema de entrada/salidaCalendarizacin, Buffering, Caching, Spooling, Reservaciones de dispositivo, Control de errores

  • Reservacin de dispositivoOtra manera de lidiar con el acceso concurrente a los dispositivos es proporcionar facilidades explcitas de coordinacin

    Entonces los S.O. proporcionan soporte para un acceso exclusivo al dispositivoPermiten a un proceso asignar un dispositivo en ocio y liberar un dispositivo cuando ya no es utilizadoOtros limitan al dispositivo a manejar solamente un trabajo a la vezOtros proporcionan funciones que permiten a los procesos coordinar el acceso exclusivo entre ellos mismos

  • Control de erroresDispositivos y transferencias de E/S pueden fallar por muchas razones, ya sea temporales o permanentes

    Los S.O. frecuentemente manejan de manera eficiente las fallas temporalesSobrecarga de la red resend()Falla de lectura de disco retry()

    Desafortunadamente, si un componente importante sufre una falla permanente es muy probable que el S.O. no se recupere

  • Estructura de Almacenamiento

  • Estructura de almacenamiento

    El sistema de archivos puede ser visto lgicamente en diferente niveles

    En uno de estos niveles se encuentras los algoritmos de calendarizacin de disco, formateo de disco, manejo de los sectores de arranque, bloques daados y espacio de swapeo.

  • Estructura de disco

    Los discos proporcionan la mayor parte de almacenamiento secundario hoy en da.

    Antes lo fueron las cintas magnticas pero el acceso era mucho ms lento. Es por esto que las cintas son utilizadas como respaldo, para almacenar informacin muy poco utilizada

    Las unidades de discos modernos son vistos como un arreglo unidimensional de bloques lgicos, donde un bloque lgico es la unidad ms pequea de transferencia. El tamao comn de un bloque es de 512B

  • Estructura de discoNo obstante, algunos discos pueden ser formateados a bajo nivel para escoger un tamao de bloque diferente como por ejemplo 1024B.

    Los bloques lgicos de un arreglo unidimensional son arreglados en sectores del disco de manera secuencial.Sector 0 es el primer sector en la primera pista (track) del cilindro ms externo

    El direccionamiento contina con el resto de las pistas de ese cilindro y luego contina con los cilindros internosUtilizando esta secuencia, se puede convertir, en teora, un nmero lgico de bloque en una direccin de disco que consiste de un nmero de cilindro, un nmero de pista dentro de ese cilindro y un nmero de sector dentro de esa pista

  • Estructura de discoEn la prctica es difcil realizar este traduccinLa mayora de los discos tiene sectores defectuosos, pero el direccionamiento (correspondencia) oculta esto utilizando otros sectores dispersos

    El nmero de sectores por pista no es constante en todos las unidades. Por Ej. Unidades que utilizan CLV (Constant Lineal Velocity) la densidad de bits por pista es uniforme. Mientras ms lejana este la pista del centro mayor es su longitud y mayor nmero de sectores contiene.Mientras nos movemos de las pistas externas hacia las internas disminuye el nmero de los sectores por pistaLa unidad incrementa su velocidad de rotacin conforme la cabeza se mueve hacia el centro del disco, para mantener la misma tasa de transferencia de informacin

  • Estructura de disco

    De manera alternativa, la velocidad de rotacin del disco puede permanecer constante y la densidad de los bits decrementar de las pistas interiores hacia las exterioresEste mtodo es utilizado en los discos duros y se conoce como CAV (Constant Angular Velocitiy)

  • Disco magntico

  • Calendarizacin del discoUna de las responsabilidades del S.O. es utilizar el hardware de manera eficienteCuando se trata de discos esto implica tener un tiempo de acceso rpido y ancho de banda bueno

    El tiempo de acceso tiene dos componentesTiempo de bsqueda. Es el tiempo que le toma al brazo del disco mover la cabeza hacia el cilindro que contiene el sector deseadoLa latencia de rotacin. El tiempo de espera adicional para que el disco rote el sector deseado hacia la cabeza del disco

  • Calendarizacin del discoEl ancho de banda es el total de bytes transferidos entre el tiempo total que transcurre desde la primera peticin hasta que se realiza la ltima transferencia

    Se pueden mejorar tanto el tiempo de acceso como el ancho de banda mediante la calendarizacin de las peticiones de E/S en un buen orden

  • Calendarizacin FCFSEs la forma ms sencilla de calendarizacin

    Este algoritmo es justo pero generalmente no proporciona el servicio ms rpido

    Considere, por ej., una cola de disco con las peticiones de E/S para los bloques en los cilindros98,183,37,122,14,124,65,67

    Si inicialmente la cabeza del disco est en el cilindro 53 entonces se mover al cilindro 98, 183, 37, 122, para un total del 640 cilindros

  • Calendarizacin FCFS

  • Calendarizacin SSTFEntonces, parece razonable servir las peticiones que estn ms cerca de la posicin actual de la cabeza

    Sobre esta suposicin trabaja Shortest-Seek-Time First (SSTF)

    Este algoritmo selecciona la peticin que tiene el menor tiempo de bsqueda de la posicin actual

    Con este esquema, en nuestro ejemplo se termina con un movimiento total de 236 cilindros

  • Calendarizacin SSTF

  • Calendarizacin SCANEn este algoritmo el brazo de disco empieza en un extremos del disco y se mueve hacia el otro extremo

    Va sirviendo las peticiones conforme alcanza los diferentes cilindros hasta que llega al extremo final

    Al llegar, el movimiento de la cabeza de disco es revertido y continua sirviendo las peticiones

    La cabeza de disco continuamente escanea conforme se mueve hacia delante y hacia atrs

  • Calendarizacin SCAN

  • Calendarizacin C-SCANCalendarizacin Circular SCAN

    Es un algoritmo diseado para proporcionar un tiempo de espera uniforme

    La idea es en lugar de atender de ltimo el otro extremo (SCAN) se empieza por ellos en el extremo opuesto (crculo)

    Entonces cuando el brazo alcanza el final del disco, entonces empieza por el principio de nuevo

  • Calendarizacin C-SCAN

  • Calendarizacin LOOK y C-LOOK

  • Sistemas OperativosSO-C32

  • *Deadlock (Bloqueos)La implementacin de semforos con una cola de espera puede resultar en una espera mutua indefinida

    Cuando ocurre esta espera mutua se dice que los procesos estn bloqueados (deadlocked)P0P1wait(S);wait(Q);wait(Q);wait(S); signal(S);signal(Q);signal(Q)signal(S);

  • *StarvationSe dice que un conjunto de procesos est en un estado de bloqueo cuando cada proceso en el conjunto espera un evento que solo puede ser causado por otros proceso en el mismo conjunto

    Un problema relacionado con el bloqueo es la inanicin (starvation), es decir, cuando los procesos esperan indefinidamente dentro de un semforo

  • *BloqueoCuando varios procesos compiten por un nmero finito de recursos, puede surgir una situacin en la que un proceso solicite un recurso y ste no se encuentre disponible en ese momento, en cuyo caso el proceso pasar a un estado de espera.

    Tal vez suceda que algunos procesos en espera nunca cambien nuevamente su estado, debido a que los recursos que han solicitado estn retenidos por otros procesos tambin en espera.

    Esta situacin se denomina bloqueo mutuo.

  • *BloqueoUn proceso debe solicitar un recurso antes de usarlo y liberarlo despus de usarlo.

    Un proceso puede solicitar tantos recursos como requiera para llevar a cabo su tarea asignada.

    Obviamente, el nmero de recursos solicitados no puede exceder el nmero total de recursos disponibles en el sistema.

    En otras palabras, un proceso no puede solicitar tres impresoras si el sistema slo tiene dos. Si se hace tal solicitud, ser rechazada

  • *Ejemplo de BloqueoPara ilustrar un estado de bloqueo mutuo, consideramos un sistema que tiene tres unidades de cinta.

    Suponga que existen tres procesos, cada uno reteniendo a una de estas unidades de cintas. Si cada proceso ahora solicita otra unidad de cinta, los tres procesos estarn en un estado de bloqueo mutuo.

    Cada uno est esperando al evento tape drive is released (unidad de cinta est liberada), el cual slo puede ser ocasionado por uno de los otros procesos que estn en espera.

  • *BloqueosLos bloqueos mutuos son indeseables

    Los procesos nunca terminan de ejecutarse y los recursos del sistema estn inmovilizados

    Impiden que otros trabajos puedan incluso iniciar.

  • *BloqueosUna situacin de bloqueo mutuo puede surgir si se presentan simultneamente las siguientes cuatro condiciones en un sistema:Exclusin mutuaRetencin y esperaNo apropiacinEspera circular

  • *Condiciones para bloqueoExclusin mutua. Al menos un recurso debe estar retenido en un modo no compartido; es decir, slo un proceso a la vez puede usar el recurso. Si otro proceso solicita dicho recurso, el proceso solicitante debe esperar hasta que el recurso haya sido liberado.

    Retencin y espera. Debe existir un proceso que est reteniendo por lo menos un recurso y est esperando adquirir recursos adicionales que en ese momento estn siendo retenidos por otros procesos.

  • *Condiciones para bloqueoNo apropiacin. Los recursos no pueden ser apropiados; es decir, un recurso slo puede ser liberado voluntariamente por el proceso que lo est reteniendo, una vez que dicho proceso ha completado su tarea.

    Espera circular. Debe existir un conjunto de procesos en espera, tal que P0 est esperando un recurso que est retenido por P1, P1 y estos esperen por un recurso retenido por P2,..., Pn-1 espere un recurso retenido por Pn, Pn est esperando un recurso retenido por P0

  • Modelado del bloqueoRGrafos de asignacin de recursos

    Retencin Peticin Bloqueo MutuoABS

  • Estrategias para bloqueo mutuoSe emplean cuatro estrategias para el manejo del bloqueo mutuo:

    No hacer nada.Deteccin y recuperacinEvitar por medio de la asignacin de los recursosPrevencin (negando alguna de las cuatro condiciones)

  • Estrategias para bloqueo mutuo1. No hacer nada.

    El Algoritmo del avestruzAsumir que el problema no existe.Determinar que tan frecuente ocurre y que tan grave es un bloqueo mutuo.

  • Estrategias para bloqueo mutuo2. Deteccin y recuperacin

    El sistema vigila las peticiones y liberaciones de los recursos y se determina si contiene un ciclo.Si encuentra un ciclo, se termina uno de los proceso del ciclo.Si no se rompe el ciclo, se contina as hasta que no exista el bloqueo. Una variacin es: determinar si hay bloqueo durante un tiempo al trmino del tiempo se eliminan los procesos bloqueados, rompiendo el ciclo.

  • Estrategias para bloqueo mutuo3. Prevencin del bloqueo mutuo

    Imponer restricciones para que el bloqueo no se pueda dar. Si no se satisface alguna de las 4 condiciones, el bloqueo no se dar.Exclusin mutua. Si no se asigna un recurso en forma exclusiva.Retencin y espera: Se pide que todos los procesos indiquen los recursos que van a usar antes de empezar. O, para obtener un recurso, deber devolver los que tiene asignados. No expropiacin. Quitar el recurso.Eliminar la espera circular. Para obtener un recurso debe devolver los que tiene. O, numerar los recursos para obtenerlos en orden ascendente.

  • Estrategias para bloqueo mutuo4. Evitar los bloqueosEstados seguros.Se asigna el recurso, si el estado asegura que alguno de los procesos podr terminar.

    El algoritmo del banquero.Recursos existentes (E)Recursos disponibles (D)Recursos Asignados (A)Los recursos se van asignando a los procesos si la asignacin no lleva a un estado inseguro.

  • Estrategias para bloqueo mutuoEstados:Disponibles 10 Sol Max Asig1 Asig2 Asig3A 0 6 1 1 1 B 0 5 1 3 2 C 0 4 2 2 2 D 0 7 2 2 4Asignados NecesariosA 3 0 1 1 1 1 0 0 E (6342) B 0 1 0 0 0 1 1 2 A (5322) C 1 1 1 0 3 1 0 0 D (1020) D 1 1 0 1 0 0 1 0 E 0 0 0 0 2 1 1 0

  • Sistemas OperativosAdministracin de InformacinClase 32

  • Administracin de la InformacinSistema de Archivos

  • Concepto de archivo

    Para la mayora de los usuarios el sistema de archivos es la parte ms visible de un SO.

    El sistema de archivos consiste deColeccin de archivos. Almacenan informacin relacionadaEstructura de directorio. Organiza y provee informacin sobre todos los archivos del sistemaParticiones. Separan fsica o lgicamente colecciones de archivos

  • Concepto de archivo

    Los sistemas de cmputo pueden almacenar informacin en diferentes mediosEl SO entonces debe proporcionar una vista lgica uniforme del almacenamiento de la informacin

    El SO abstrae las propiedades fsicas de los dispositivos de almacenamiento para definir una unidad lgica de almacenamiento llamado archivo.

    El SO establece correspondencia entre los archivos y los dispositivos.

  • ArchivoUn archivo es una coleccin de informacin relacionada con un nombre y que es almacenada en memoria secundaria

    Desde el punto de vista del usuario un archivo es la pieza ms pequea de almacenamiento secundario lgicoLos datos no pueden ser escrito a memoria secundaria a menos que estn dentro de un archivo

    En general un archivo es una secuencia de bits, bytes, lneas o registros y el significados de stos lo define el creador del archivo y el usuario

  • Estructura de un archivoUn archivo posee una cierta estructura definida de acuerdo a su tipoUn archivo de texto es una secuencia de caracteres organizados en lneas y posiblemente en pginasUn archivo fuente es una secuencia de subrutinas y funciones (texto secuencial)Un archivo objeto es una secuencia de bytes organizados bloques entendibles para el creador de enlaces (linker) del sistema.Un archivo ejecutable es una serie de secciones de cdigo que el cargador puede traer a la memoria y ejecutar

  • Atributos de un archivoUn archivo posee ciertos atributos que varan entre SO pero tpicamente sonNombre. El nombre de archivo utilizado para la conveniencia de sus usuarios y mediante el cual es referido el archivo.Identificador. Es una etiqueta, normalmente un nmero que identifica al archivo dentro del sistema de archivos. No entendible por el usuarioTipo. Esta informacin es necesaria para aquellos sistemas que permiten diferentes tipos de archivos.Ubicacin. Es un apuntador al dispositivo y a la ubicacin del archivo en ese dispositivo.Tamao. Es el tamao actual del archivo en bytes, palabras o bloques.Proteccin. Informacin de control de acceso que determina quin puede leer, escribir, ejecutar, etc.Hora, fecha e identificacin del usuario. Informacin que se mantiene para la creacin, ltima modificacin y ltima apertura.

  • Atributos de un archivoLa informacin sobre todos los archivos se mantiene en la estructura de directorio que tambin reside en la memoria secundaria

    Un registro de directorio consiste del nombre de un archivo y un identificador nico.

    El identificador localiza los otros atributos del archivo.

  • Operaciones de los archivosUn archivo es un tipo de dato abstracto.

    El SO provee de llamadas al sistema para crear, escribir, leer, mover, eliminar y truncar archivos.

    Otras operaciones comunes son: anexar nueva informacin al final de un archivo y renombrar un archivo

    Estas operaciones bsicas se pueden combinar para realizar otras operaciones sobre archivos

  • Operaciones de los archivos

    La mayora de las operaciones involucran la bsqueda en el directorio del registro asociado al nombre del archivo

    Para evitar esta constante bsqueda, muchos sistemas requieren de que se ejecute la llamada al sistema open antes de que el archivo empiece a utilizarse activamente

    El SO mantiene una pequea tabla que contiene informacin de todos los archivos abiertos, llamada tabla de archivos abiertos.

    Cuando se requiere de una operacin en un archivo, se especifica al archivo por medio del ndice de esta tabla y ya no se requiere de la bsqueda. Cuando ya no se utiliza al archivo entonces se cierra y el SO elimina su registro de la tabla

  • Operaciones de los archivosAlgunos sistemas abren implcitamente el archivo cuando se llama la primera vez. Se cierra automticamente cuando termina el proceso que lo abri.La mayora requiere que el programador explcitamente abra el archivo antes de usarlo.

    La llamada al sistema open toma el nombre del archivo y busca en el directorio y agrega el registro a la tabla de archivos abiertos

    La llamada al sistema open tambin puede recibir informacin de control de acceso. Este control es cotejado con los permisos del archivo

    Si la peticin es vlida, se abre el archivo, la llamada regresa un apuntador al registro de la tabla de archivos abiertos. Este apuntador y no el nombre del archivo es el que se utiliza en la operaciones de E/S

  • Operaciones en archivosEn sistemas tipo linux, diferentes usuarios pueden acceder a un mismo archivo abierto al mismo tiempoPara esto el SO utiliza dos niveles de tablas internasUna tabla por procesoUna tabla para todo el sistema

    La tabla para el proceso mantiene todos los archivos que un proceso ha abierto. Se almacena informacin con relacin al uso que el proceso hace del archivo.

    La tabla para todo el sistema contiene informacin independiente del proceso, p. ej.: la ubicacin del archivo en el disco, fechas de acceso, tamao de archivo. Cada registro de la tabla para el proceso apunta al registro correspondiente en la tabla para todo el sistema

  • Operaciones en archivosNormalmente, la tabla de archivos abiertos tambin contiene un contador abierto asociado a un archivo

    Este contador indica el nmero de procesos que han abierto el mismo archivo

    Cada operacin close decrementa el contador y cuando alcanza el 0 entonces el archivo ya no est en uso

    Entonces se remueve el registro de ese archivo se remueve de la tabla de archivos abiertos

  • Informacin asociada a un archivo abiertoApuntador de archivo.En sistemas que no incluyen un corrimiento como parte de las llamadas al sistema read y write, el sistema debe mantener la ltima ubicacin de lectura-escritura por medio de un apuntador posicin-actual-del archivo.Este apuntador es nico para cada proceso operando en el archivo y por lo tanto debe mantenerse separado de los atributos del archivo en el disco

    Contador abierto de archivoConforme los archivos se cierran, los SO deben actualizar sus registros de la tabla de archivos abiertosDebido a que varios procesos pueden abrir un archivo, el sistema debe esperar a que se cierre por completo el archivo antes de remover su registro en la tabla de archivos abiertos.

  • Informacin asociada a un archivo abiertoUbicacin del archivo en el discoLa mayora de las operaciones en archivos requieren que el sistema modifique datos en ellos. La informacin necesaria para localizar el archivo en el disco se mantiene en memoria para evitar leerla del disco para cada operacin

    Derechos de accesoCada proceso abre un archivo en cierto modo de acceso.Esta informacin se almacena en la tabla por proceso de tal manera el SO puede permitir o negar peticiones de E/S subsecuentes.

  • Tipos de archivosCuando se desarrolla o disea un SO se debe considerar si debe reconocer y dar soporte a tipos de archivos

    Si un SO reconoce un tipo de archivo puede operar sobre el archivo de una manera razonable

    Una tcnica comn para implementar tipos de archivos es incluir el tipo de archivo como parte del nombre.

  • Tipos de archivosEntonces el nombre de un archivo se divide en dos partes separadas de un carcter especialEl nombreLa extensin

    El usuario y el SO pueden decir slo con el nombre de qu tipo de archivo se trata.

    An cuando el SO slo distinga unos cuantos tipos de archivo (por sus extensiones) las aplicaciones pueden reconocer las extensiones en las que estn interesadasNo obstante el SO no soporta dichas extensiones

  • Tipos de archivosEn el SO Macintosh cada archivo tiene un tipo.

    Tambin cada archivo contiene el nombre del programa que lo creEste atributo es establecido por el SO cuando se ejecuta la llamada al sistema create, entonces s es implementado y soportado por el sistema

    De esta manera cuando se abre el archivo se puede llamar a la aplicacin que la cre para acelerar el trabajo.

  • Tipos de archivos

  • Sistemas OperativosClase 33

  • RepasoSistema de ArchivosColeccin de archivosEstructura de directorioParticiones

    ArchivoEstructuraAtributos. Nombre, identificador, tipo, ubicacin, tamao, proteccinOperaciones. Crear, escribir, leer, mover, truncar

    Archivos abiertosTabla de archivos abiertosPor procesoDel sistemaContador abiertoApuntador de archivoUbicacin en memoria secundariaDerechos de acceso

  • Mtodos de accesoCuando se utiliza la informacin almacenada en los archivos sta debe ser accedida y despus cargada a la memoria

    Este acceso puede hacerse de diferente maneras

    Algunos sistemas soportan una sola forma de acceder a un archivo, pero algunos otros soportan diferentes maneras de hacerloEscoger el correcto para una aplicacin

  • Acceso secuencialEste es el mtodo de acceso ms simple

    La informacin en el archivo se procesa en orden, registro tras registroEste mtodo de acceso es muy comn

    La mayora de las operaciones en un archivo son read y writeRead. Lee la siguiente porcin del archivo y avanza automticamente el apuntador de archivo quien lleva el registro de la ubicacin de E/SWrite. Agrega al final del archivo y se mueve al nuevo final del archivo

    El acceso secuencial esta basado en el modelo de cinta de un archivo y funciona bien tanto en dispositivos de acceso secuencial como de acceso aleatorio

  • Acceso directoOtro mtodo de acceso al contenido de un archivo es el acceso directo o acceso relativo

    Un archivo est hecho de registros lgicos de longitud fija que permiten a los programas leer y escribir registros rpidamente sin algn orden en particular

    Para el acceso directo, el archivo es visto como una secuencia numerada de registros o bloquesPermite la lectura y escritura arbitraria de bloques

  • Acceso directoLos archivos de acceso directo son ideales para el acceso inmediato a grandes cantidades de informacinEj. Las bases de datos son de este tipo

    Con el acceso directo, las operaciones sobre archivos deben ser modificados para incluir el nmero de bloque como un parmetroEntonces se tiene read n donde n es el nmero de bloque, en lugar de read next.Otra manera es dejar read next y write next y agregar la operacin position file to n (la posicin en el archivo)

  • Acceso directo

    El nmero de bloque proporcionado por el usuario al SO normalmente es un nmero de bloque relativo

    Un nmero de bloque relativo es un ndice con relacin al inicio del archivoEntonces el primer bloque relativo es el 0, el siguiente es 1

    El uso de nmeros de bloque relativos permite al SO decidir dnde el archivo debe ser almacenado (problema de asignacin) y ayuda a evitar que el usuario acceda a porciones del sistema de archivos que no le pertenezca

  • ndices de accesoSe pueden construir otros mtodos basado en el acceso aleatorio

    Estos mtodos implican la construccin de un ndice del archivoEl ndice apunta a los diferentes bloques del archivo

    Para buscar un registro del archivo se busca primero en el ndice y se utiliza el apuntador para acceder directamente al archivo

  • Ejemplo de ndices

  • ndices de accesoCon archivos muy grandes el archivo ndice puede ser muy grande para mantenerse en memoria

    Una solucin es crear un ndice para el archivo ndiceEl ndice primario contiene apuntadores a los archivos del ndice secundario, los cuales a su vez apuntan a los datos

  • Estructura de directorioLos sistemas de archivos pueden ser muy grandes y para administrar toda esa informacin es necesario organizarlos

    En primer lugar los discos se pueden dividir en particiones (minidiscos o volmenes)

    Normalmente un disco tiene al menos una particin, la cual es una estructura de bajo nivel en donde residen los archivos y directorios

    Algunas veces se crean varias particiones en un solo disco y otras veces los sistemas permiten crear particiones ms grandes que un slo disco

  • Estructura de directorioEntonces, el usuario solo necesita conocer la estructura lgica de archivo y del directorio

    En consecuencia las particiones pueden ser vistas como discos virtuales

    Adems, para ayudar en la organizacin, las particiones mantienen informacin de los archivos que contieneEsta informacin se mantiene en los registros del directorio de dispositivo o la tabla de contenidos del volumen

  • Organizacin de un Sistema de Archivos

  • Estructura de directorioEl directorio de dispositivo (o simplemente directorio) registra informacin de todos los archivos en esa particinNombreTipoDireccin Longitud ActualLongitud Mximaltimo accesoltima actualizacinID del propietarioInformacin de proteccin

    El directorio puede ser visto como una tabla de smbolos que traduce el nombre de archivo en registros de directorios

  • Operaciones en los directorios

    Bsqueda de archivoCreacin de archivosEliminacin de archivoListado de directorioRenombrar archivosRecorrido del sistema de archivo

  • *Estructura de directorioEl directorio de dispositivo (o simplemente directorio) registra informacin de todos los archivos en esa particinNombreTipoDireccin Longitud ActualLongitud Mximaltimo accesoltima actualizacinID del propietarioInformacin de proteccin

    El directorio puede ser visto como una tabla de smbolos que traduce el nombre de archivo en registros directorios

  • *Montando sistemas de archivosDe la misma manera que un archivo debe ser abierto antes de usarlo, un sistema de archivos debe ser montado antes de ser utilizado por los procesos del sistema

    Especficamente, la estructura de directorio puede ser construida considerando particiones mltiples, las cuales deben estar montadas para hacerlas disponibles dentro del espacio de nombres del sistema de archivos

    El procedimiento de montaje es directo, se le proporciona al S.O. el nombre del dispositivo y la ubicacin dentro de la estructura de archivo en la cual se agrega el sistema de archivos (punto de montaje)

  • *Punto de montajeNormalmente un punto de montaje es un directorio vaco en el cual se agregar el sistema de archivo montado

    Despus el S.O. verifica que el dispositivo contenga un sistema de archivos vlidoEsto se logra preguntndole al manejador de dispositivo que lea el directorio del dispositivo y verificando que el directorio tenga el formato esperado

    Por ltimo, el SO apunta en su estructura de directorio que un sistema de archivos fue montado en el punto de montaje especificado

  • *Montaje de Sistema de archivo

  • *Compartir archivosUna caracterstica deseable en un sistema de archivos es que el SO permita compartirlosEl usuario no debe estar conciente de las dificultades que esto representa

    La problemtica empieza en SO multiusuarios y el compartir archivos

    Una vez que se logra esto, el reto es extender el compartir archivos entre diferentes sistemas de archivos, incluyendo sistemas remotos

  • *Compartir archivosSO multiusuariosEl SO debe permitir a los usuarios tener acceso a los archivos de otros usuarios por defecto o requiere que el usuario explcitamente d acceso a sus archivosPara implementar el compartimento y la proteccin la mayora de los SO han evolucionado desarrollado los conceptos de propietario y grupoLos SO implementan los atributos del propietario manejado una lista de nombres de usuario y los asocia a los identificadores de usuario

  • *Compartir archivos

    Sistemas de archivos remotosCon el uso de las redes de computadoras un recursos obvio para compartir es la informacin

    Existen diferente maneras de transferir informacin en forma de archivosFTP (File Transfer Protocol)DFS (Distributed File Systems)Permiten montar sistemas de archivos remotos en sistemas locales

  • *Estructura del sistema de archivosUn sistema de archivos tiene dos consideraciones en el diseoDefinir la apariencia del sistema de archivos para el usuarioArchivos, Atributos de archivos, operaciones sobre un archivo

    Crear algoritmos y estructuras de datos que establecen las correspondencias entre el sistema de archivos lgico a los dispositivos de almacenamiento secundario

  • *Estructura del sistema de archivos

  • *Estructura del sistema de archivosControl de E/S.Consiste de los manejadores de dispositivos y de interrupciones para transferir informacin entre la memoria principal y el disco

    Un manejador de dispositivo puede verse como una traductor, cuya entrada son comandos de alto nivel y sus salidas son instrucciones de hardware de bajo nivel especficas que son utilizadas por el controlador de hardware.

  • *Estructura del sistema de archivosSistema de archivos bsicoNecesita solamente generar comandos genricos para el manejador de dispositivo apropiado para leer o escribir bloques fsicos en el disco

    Mdulo de organizacin de archivosManeja archivos y sus bloques lgicos y fsicos.Conociendo el tipo de asignacin de archivos y la ubicacin del mismo, traduce direcciones de bloques lgicos a direcciones de bloques fsicos para que el sistema bsico de archivos pueda transferir.Incluye un manejador de espacio libre, que lleva un registro de los bloques no asignados y proporciona stos al mdulo de organizacin de archivos cuando se lo solicita.

  • *Estructura del sistema de archivosSistema de archivos lgicoManeja informacin de informacin (metadatos)Incluye todo de la estructura del sistema de archivos excluyendo el contenido.Administra la estructura de directorio para proporcionar la informacin necesaria al mdulo de organizacin de archivos.Mantiene la estructura del archivo por medio de los bloques de control de archivo (FCB)ste contiene informacin acerca del archivo, incluyendo la del propietario, permisos y ubicacin del contenido del archivo.Es responsable de la proteccin y la seguridad.

  • *Implementacin del sistema de archivosSe utilizan diferentes estructuras en disco y en memoria para implementar un sistema de archivos.stas pueden varias de sistema a sistema pero existen algunos principios generales.

    En disco, el sistema de archivos puede contener informacin acerca de cmo iniciar un SO almacenado, el nmero totales de bloques, el nmero y la ubicacin de bloques libres, la estructura de directorio.

  • *Estructuras en discoBloque de control de arranque.Obtiene informacin necesaria para que el sistema pueda iniciar un SO de esta particinSi el disco no contiene un SO este bloque puede estar vaco.Este bloque normalmente se ubica en el primer bloque de una particinEn UFS se le llama el bloque de inicioEn NTFS se le llama el sector de arranque de la particin

  • *Estructuras en discoBloque de control de la particinContiene detalles de la particin, ej. El nmero de bloques en la particin, el tamao de los bloques, contador y apuntador de bloques libres, contador y apuntador de FCBEn UFS se le llama superbloqueEn NTFS se le llama Tabla de Archivo Maestra

    La estructura de directorios se utiliza para organizar archivos

    Un FCB es necesario tambin.En UFS se le llama inodeEn NTFS esta informacin se almacena en la Tabla de Archivo Maestra

  • *Estructuras en memoriaLa informacin en memoria se utiliza tanto para la administracin del sistema de archivos como para la mejora del rendimiento va cach. Las estructuras pueden ser:

    Tabla de particiones.Que contiene informacin acerca de cada particin que ha sido montada

    Estructura de directoriosQue mantiene la informacin de directorios recientemente accedidos

  • *Estructuras en memoriaTabla de archivos abiertos de todo el sistemaContiene una copia del FCB de cada archivo abierto

    Tabla de archivos abiertos del procesoContiene un apuntador al registro apropiado en la tabla de archivos abiertos de todo el sistema

  • *Implementacin del directorioExisten dos mtodos principales para implementar un directorioListas linealesTablas hash

    Es importante conocer ambos mtodos ya que tienen un efecto importante en la eficiencia, funcionamiento y confiabilidad de un sistema de archivos

  • *Listas linealesEste es el mtodo ms sencillo. Consiste en utilizar un arreglo lineal de nombres de archivos con apuntadores a bloques de datos

    Una lista lineal de registros de un directorio necesita de una bsqueda lineal para encontrar un registro particular

    Este mtodo es simple de programar pero consume mucho tiempo en sus bsquedas

    Para crear un archivo debemos buscar en la lista primero para ver que no existaEntonces se crea un nuevo registro

    Para eliminar un registro sucede lo mismo

  • *Tablas hashOtra estructura de datos que ha sido utilizada para implementar un directorio es una tabla hash

    En este mtodo una lista lineal almacena los registro del directorio y la tabla hash toma un valor generado del nombre del archivo y regresa un apuntador al registro de ese archivo en la lista

    Se deben prever las colisiones, ya que dos nombres de archivos pueden apuntar al mismo registro

    El problema principal con las tablas hash son su tamao y la dependencia de la funcin hash

  • *Mtodos de asignacinCmo asignar espacio a los archivos de tal manera que el espacio en disco sea utilizado eficientemente y adems los archivos puedan accederse rpidamente

    Son tres mtodos de asignacin que estn en amplio usoContiguaEnlazadaIndizada

  • *Asignacin contiguaEste mtodo requiere que cada archivo ocupe un conjunto contiguo de bloques en el disco

    Las direcciones en el disco definen un arreglo lineal. Con este arreglo y asumiendo que un solo proceso accede al disco, leer el bloque b y luego el bloque b+1 no requiere el desplazamiento de la cabeza lectora

    Se requiere del movimiento cuando se desea leer del ltimo sector de un cilindro al primer sector del siguiente cilindroEntonces el nmero de movimientos de bsquedas requerido para acceder a archivos asignados continuamente es mnimo

  • *Asignacin contiguaLa asignacin contigua de un archivo est definida por la direccin inicial de disco y la longitud (nmero de bloques)Si el archivo tiene un longitud de n bloques y comienza en la direccin b entonces el archivo ocupa b, b+1, b+2. ,b+n-1

    Los registros del directorio para cada archivo indican la direccin del bloque inicial y la longitud del rea asignada a ese archivo

    Tanto el acceso secuencial como aleatorio pueden ser implementados con asignacin contigua

  • *Asignacin contigua

  • *Asignacin contiguaEste mtodo tiene algunos problemasEncontrar espacio para un archivo nuevoEs necesaria la utilizacin de un administrador de espacio libre

    El problema de la asignacin de espacio de disco contiguo es una aplicacin del problema genrico de la asignacin de memoria dinmicaMejor ajuste y primer ajuste

    Sufre de fragmentacin externa

    Cmo saber el espacio inicial requerido para un archivo

  • *Asignacin enlazadaSoluciona los problemas de la asignacin contigua

    Cada archivo es una lista enlazada de bloques de discoLos bloques pueden estar dispersos por todo el disco

    El directorio contiene un apuntador al primer y ltimo bloque del archivo

    Cada bloque contiene un apuntador el siguiente bloqueEstos apuntadores no estn disponibles para el usuarioEntonces si cada bloque es de 512bytes y el apuntador requiere 4 bytes el usuario ve bloques de 508 bytes

  • *Asignacin enlazadaPara crear un archivo se crea un nuevo registro en el directorioCada registro del directorio tiene un apuntador al primer bloque del disco del archivoEste apuntador se inicializar a nulo para indicar un archivo vaco. El tamao del archivo se establece a 0

    Escribir en el archivo causa que se busque un bloque libre para ser asignado por medio del sistema manejador de espacio libre

    Para leer el archivo se van leyendo la informacin siguiendo los apuntadores de bloque en bloque

  • *Asignacin enlazada

    No existe fragmentacin externa y cualquier bloque libre puede ser utilizado para satisfacer una peticin.

    El tamao del archivo no necesita establecerse cuando ste se crea

    El archivo puede continuar creciendo mientras existan bloques libresEn consecuencia no es necesario compactar

  • *Asignacin enlazadaDesventajasEl principal problema es que slo puede ser utilizado efectivamente en archivos de acceso secuencialPara encontrar el i-simo bloque de un archivo debemos empezar por el inicio y seguir los apuntadoras hasta llegar al bloque i.Cada acceso a un apuntador requiere la lectura del disco y a veces la bsqueda del bloque

    Otra desventaja es el espacio requerido para los apuntadoresSi un apuntador requiere 4bytes de un bloque de 512 un porcentaje del disco se utiliza slo para apuntadores y no para informacin

  • *Asignacin enlazadaUna solucin a este problema es formar grupos de bloques llamados clusters y asignar clusters en lugar de bloquesLos apuntadores ocupan un espacio todava mucho menorAdems permite que la correspondencia de espacio lgico a fsico sea simpleMejora el rendimiento total del disco (menor tiempo de bsqueda) El costo es la fragmentacin interna

    DesventajasQu pasa si se pierde o daa un apuntador.Un error en el SO o una falla fsica del disco

  • *FAT

  • *Asignacin indizadaAsignacin enlazada resuelveFragmentacin externa, declaracin de tamaosProblema con el acceso directo

    Asignacin indizada resuelve el problema de acceso directo tomando todos los apuntadores y almacenndolos en un solo bloque: el bloque ndice

    Cada archivo tiene su propio bloque ndice, el cual es un arreglo de direcciones de bloques de discoEl registro i-simo del bloque ndice apunta al bloque i-simo del archivo

    El directorio contiene la direccin del bloque ndice

  • *Asignacin indizadaPara leer el bloque i-simo se utiliza el apuntador en el i-simo registro del bloque ndice para encontrar el bloque deseado

    Cuando se crea un archivo todos los apuntadores del bloque ndice son puestos a nulo

    Cuando se escribe el primer i-simo bloque, se debe obtener un bloque libre del manejador de espacio libre y su direccin se pone en el i-simo registro del bloque ndice

    Este mtodo soporta el acceso directo sin sufrir de fragmentacin externa

  • *Asignacin indizada

  • *Asignacin indizadaNo obstante, la asignacin indizada destina espacio de disco a los apuntadores y esta sobrecarga suele ser mayor que en asignacin enlazadaUn archivo con dos o tres bloques

    Este lleva a preguntar qu tan grande debe ser el bloque ndiceSe desea que ste sea tan pequeo como sea posible

    Sin embargo si es muy pequeo probablemente no tenga espacio suficiente para todos los apuntadores de un archivo grandeEsquema de enlazado, ndice multinivel, esquema combinado

  • *Esquema de enlazadoEl bloque ndice normalmente est en un bloque de discoPuede ser ledo y escrito sin problema

    Para permitir archivos grandes se enlazan varios bloques ndices

    Ej.Un bloque ndice puede contener el encabezado con el nombre del archivo y un conjunto de las primeras 100 direcciones de bloques. La siguiente direccin es nulo (archivo pequeo) o apunta a otro bloque ndice (archivo grande)

  • *ndice multinivelUna variante de la representacin enlazada es usar en un primer nivel un bloque que apunte a un conjunto de bloques ndices en un segundo nivel

    Para acceder a un bloque el SO utiliza el ndice de primer nivel para encontrar el bloque ndice de segundo nivel y utiliza ste para encontrar la informacin.

    Este esquema puede continuar a ms niveles segn el tamao del archivo

  • *Esquema combinadoinode de Unix (UFS)

  • *Proteccin de archivosCuando se almacena informacin en un sistema se debe procurarConfiabilidad y proteccin

    ConfiabilidadEn S.O. va en el sentido de evitar daos fsicosSe logra creando copias de archivos, ya sea de manera automtica y/o peridica.

  • *Tipos de accesoLa proteccin es el resultado natural de permitir el acceso a los archivosSe requiere de un acceso controlado

    Los mecanismos de proteccin proporcionan acceso controlado limitando los tipos de accesos a archivos que pueden hacerse

    Se pueden controlar diferentes operacionesLeer, escribir, ejecutar, agregar, eliminar, listar, renombrar, copiar, editar

  • *Control de acceso

    La manera ms comn de tratar el problema de la proteccin es controlar el acceso segn el usuarioEsto se logra utilizando una lista de control de acceso

    La ventaja es que permite metodologas complejas de acceso

    Su principal desventaja es el tamao que puede adquirir la lista

  • *Control de accesoPropietarioQuien crea el archivo

    GrupoGrupo de usuarios que comparten el archivo y necesitan el mismo tipo de acceso

    Universo (otros)Todos los dems usuarios en el sistema

  • *ejemploModos de acceso: read, write, executeTres clases de usuarioRWXa) owner access 71 1 1 RWXb) group access 6 1 1 0RWXc) public access1 0 0 1

    ***************************************************************************************************************************************************************