Está en la página 1de 16

PruebaAlien

www.wuolah.com/student/PruebaAlien

3252

Resumen-tema-4.pdf
Resumen tema 4

2º Sistemas Operativos

Grado en Ingeniería Informática

Escuela Técnica Superior de Ingenierías Informática y de


Telecomunicación
Universidad de Granada

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su
totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-2201086

Tema 4 (GESTION DE ARCHIVOS)


(1) Concepto de archivo:
- Un archivo es una colección de información relacionada y almacenada en un dispositivo de
almacenamiento secundario.

Un archivo tiene estas propiedades deseables:


• Existencia a largo plazo: se almacenan en disco y no desaparecen al desconectarse
• Compatibilidad entre procesos: tienen nombre y pueden tener permisos de acceso
• Estructura: Puede tener una estructura interna determinada que sirva para alguna
aplicación, además se pueden organizar en estructuras jerárquicas.

Características:
• Espacio de direcciones lógicas contiguas

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
• Estructura interna (lógica)
◦ Secuencia de bytes: el tipo de archivo determina su estructura.
◦ Secuencia de registros de longitud fija
◦ Secuencia de registros de longitud variable
• Tipos de archivo: regulares, directorios,...
• Formas de acceso: secuencial, aleatorio,…

Atributos (metadatos)
Un archivo tiene los siguientes atributos:
• Nombre
• Tipo: cuando el sistema soporte diferentes tipos
• Localización: donde se encuentra
• Tamaño
• Protección: controla quien puede leer, escribir y ejecutar
• Tiempo, fecha e identidad del usuario: Necesario para la protección, seguridad y
monitorización.

Operaciones sobre archivos


• Gestión: crear, borrar, renombrar, copiar, establecer y obtener atributos
• Procesamiento: abrir y cerrar, leer y escribir

(2) Estructura del sistema de archivos:


Funciones basicas:
• Tener conocimiento de todos los archivos del sistema
• Controlar la compartición y forzar la protección
• Gestionar el espacio (asignación/liberación del espacio en disco)
• Traducir las direcciones lógicas del archivo a direcciones físicas del disco

Un sistema de archivos posee 2 problemas de diseño:


• Definir como debe ver el usuario el sistema de archivos:
◦ definir un archivo y sus atributos
◦ definir las operaciones permitidas sobre un archivos
◦ definir la estructura de directorios
• Definir los algoritmos y estructuras de datos que deben crearse para establecer la
correspondencia entre el sistema de archivos logicos y los dispositivos fisicos de
almacenamiento (donde se almacenan).
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-2201086

La mas representativa es la Organización en niveles (capas)


• Por eficiencia el sistema operativo mantiene una tabla indexada (por descriptor de archivo)
de archivos abiertos.
• Bloque de control de archivos: Estructura con información de un archivo en uso.

Programas de aplicación

Sistema lógico de archivos (maneja estructura de directorio y protección)

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Módulo de organización de archivos (conocer archivos, bloques lógicos y físicos)

Sistema de archivos básicos (órdenes lectura/escritura bloques fisicos)

Control de E/S (manejadores de dispositivos e interrupciones)

Dispositivos

• Manejadores de dispositivo: Están en el más bajo nivel, son los que se comunican
directamente con los dispositivos periféricos o sus controladores.
• Sistema de archivos básicos: Se encargan de colocar los bloques de datos almacenados y el
buffering de dichos bloques en memoria principal.
• Sistema lógico de archivos: permite a los usuarios y a las aplicaciones acceder a los
registros.

(3) Directorios:
Un directorio contiene información sobre los ficheros, incluyendo atributos, ubicación y propiedad.
(Tanto la estructura de directorios como los archivos residen en el almacenamiento secundario)

La organización (lógica) de los directorios debe proporcionar:


• Eficiencia: localizar rápidamente un archivo
• Denominación: Facilidad para los usuarios.
◦ Hacer que usuarios distintos puedan tener el mismo nombre para archivos distintos
◦ Y el mismo archivo pueda tener varios nombres.
• Agrupaciones: Agrupar los archivos de forma lógica según sus propiedades.

¿Has participado ya en el Giveaway? En www.wuolah.com


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-2201086

Casos:
• A un único nivel: (D)
◦ Problema de denominación ___|___
◦ Problema de agrupación | | |
(F) (F) (F)

• A dos niveles: Hay un directorio maestro y un directorio por cada usuario, (D)
cada usuario tiene una lista simple de ficheros __|__
◦ Nombres de camino / | \
◦ Diferentes usuarios pueden tener archivos con nombres iguales (D) (D) (D)
◦ No hay posibilidad de agrupación / \ / \ / \
F FF FF F

• En árbol: Hay un directorio maestro que tiene distintos usuarios y cada usuario puede tener
subdirectorios y ficheros.

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
◦ Necesita búsquedas más eficientes
◦ Posibilidad de agrupación
◦ Directorio actual (se le asocia a cada usuario su propio directorio de trabajo)
◦ Nombres de camino absolutos y relativos

• En grafo: Permite que los subdirectorios y archivos se comparta entre los distintos usuarios.
Son más flexibles y complejos.

El que está sentado a tu lado no conoce Wuolah, explícaselo


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-2201086

(4) Protección:

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Básicamente consiste en proporcionar un acceso controlado a los archivos.

Tipos de acceso:
• Leer: puede leer el fichero
• Escribir: puede modificar el fichero
• Ejecutar: Puede cargar y ejecutar un programa
• Añadir: Puede añadir datos
• Borrar: Puede borrar el fichero del sistema de archivos
• Listar

Pueden proporcionar acceso a distintas clases de usuario:


• Usuario especial: usuarios individuales designados por el identificador de usuario.
• Grupos de usuarios: conjunto de usuarios que no se definen individuales.
• Publico: Todos los usuarios tienen acceso.

Principal solución a la protección es hacer el acceso dependiente al identificador de usuario.


La lista de acceso de usuarios individuales tiene el problema de la longitud, solución con clases de
usuario (propietario, grupo, público).

Propuesta alternativa asociarle un password con el archivo.


Problemas: recordar a todos y si solo se asocia un password tiene acceso total o ninguno.

(5) Semánticas de consistencia:


Especifican cuando las modificaciones de datos por un usuario se observan por otros usuarios.

• Semántica UNIX: La lectura en un archivo es directamente observable y existe un modo


para que los usuarios compartan el puntero actual de posicionamiento en un archivo.
• Semantica de sesion: La escritura en un archivo no es directamente observable y cuando un
archivo se cierra, los cambios se ven en sesiones posteriores.
• Archivos inmutables: Cuando un archivo se declara como compartido, no se puede
modificar.

(6) Métodos de asignación de espacio CONTIGUO:


Cada archivo ocupa un conjunto de bloques contiguos en disco.

Ventajas:
• Es sencillo solo necesita la localización de comienzo (numero de bloque) y la longitud.
• Y es bueno tanto en el acceso secuencial como el directo.
Desventajas:
• No se conoce inicialmente el tamaño
• Derroche de espacio (fragmentación externa)
• Y los archivos no pueden crecer, a no ser que se realice compactación (ineficiente)
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-2201086

Asignación lógica a física: (bloques de 512 Bytes)

(dirección lógica) / 512 = (cociente) C y (resto) R

Bloque a acceder = C + (directorio de comienzo)


Desplazamiento en el bloque = R

(7) Métodos de asignación de espacio NO CONTIGUO ENLAZADO:


Cada archivo es una lista enlazada de bloques de disco. Los bloques pueden estar dispersos en el
disco.

Ventajas:
• Evita la fragmentación externa
• El archivo puede crecer dinámicamente cuando hay bloques de disco libre (no necesita
compactar)

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
• Solo almacena el puntero al primer bloque del archivo
Desventajas
• El acceso directo es ineficiente (si es secuencial)
• Necesita espacio para los punteros de enlace (Solución: agrupación de bloques)
• Puede haber perdida de punteros (Solución: lista doblemente enlazada)

Asignación lógica a física: (bloques de 512 Bytes y dirección de 1 Byte)

(dirección lógica) / 512 = (cociente) C y (resto) R

Bloque a acceder = C
Desplazamiento en el bloque = R + 1

Tabla de asignación de archivos FAT: Es una variación del método de enlazado (Windows y OS/2)
• Reserva una sección del disco al comienzo de la partición para la FAT
• Contiene una entrada por cada bloque del disco y esta indexada por número de bloque de
disco.
• Es simple y eficiente siempre que este en caché.
• Para localizar un bloque solo se necesita leer la FAT

Problema: pérdida de punteros(doble copia de la FAT).

(8) Métodos de asignación de espacio NO CONTIGUO INDEXADO:


Todos los punteros a los bloques están juntos en una localización concreta (bloque indice)
El directorio tiene la localización al bloque indice y cada archivo tiene asociado su propio bloque
indice.
Para leer el i-ésimo bloque buscamos el puntero en a i-ésima entrada del bloque índice.

Ventajas:
• Tiene buen acceso directo
• No produce fragmentación externa
Desventajas:
• Puede desperdiciar espacio de memoria en los bloques índices
• El tamaño del bloque índice. Solución:
◦ bloques indices enlazados

Esto es un recordatorio de Wuolah: ERES UN CRACK.


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-2201086

◦ bloques indices multinivel (Problema: el acceso a disco es necesario para recuperar la


dirección del bloque para cada nivel de indexación) (Solución: mantener algunos
bloques índices en memoria principal.
◦ Esquema combinado (Unix)

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
¿Cuando usar cada uno?

Contiguo → cuando modifica infrecuentemente y acceso con frecuencia de forma aleatoria.


Enlazado → cuando modifica frecuentemente y el acceso en su totalidad con cierta frecuencia.

Indexado → cuando modifica frecuentemente y accede de forma aleatoria y frecuentemente.

(9) Gestión de espacio libre


El sistema mantiene una lista de los bloques que están libres (Lista de espacio libre), la FAT no
necesita ningún método.

Las diferentes implementaciones:


• Mapa o Vector de bits: Es un vector formado por 1 bit por cada bloque de disco donde 0
indica que el bloque esta libre y 1 que esta ocupado.

Ventajas:
 Fácil de encontrar uno o varios bloques libre
 Fácil de tener archivos en bloques contiguos
Desventaja:
 Ineficiente si no se mantiene en memoria principal

¿Qué estará pasando en Twitter? Síguenos: @Wuolah


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-2201086

• Lista enlazada: Enlaza todos los bloques libres del disco, guardando un puntero al primer
bloque en un lugar concreto.

Ventajas:
 No derrocha espacio ya que no necesita una tabla de asignación en disco, sino lo que
guarda es un puntero al inicio.
Desventajas:
 Es ineficiente, puesto que después de un cierto uso el disco queda bastante
fragmentado.

• Lista enlazada con agrupación: Cada bloque de la lista almacena n-1 direcciones de
bloques libres.
Ventaja: Obtener muchas direcciones de bloques libres es rápido.
• Cuenta: Cada entrada de la lista es una dirección de bloque libre y un contador del numero
de bloques libres que le sigue.

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
(10) Implementación de directorios
Hay 2 formas:
• Lista lineal: Es sencillo de programar, consume tiempo en la creacion, busqueda,…, si no
se utiliza una cache software (Hoy en día se utiliza este).
• Tabla hash: disminuye el tiempo de busqueda, pero el tamaño es fijo, depende la funcion
del tamaño de la tabla y necesita previsión para colisiones.

Guarda el numero de i-nodo -->

(11) Implementación de archivos compartidos (o enlace)


Hay 2 tipos:
• Enlaces simbólicos: Crea una nueva entrada al directorio, indicando que es de tipo enlace y
se almacena el camino de acceso absoluto o relativo del archivo.
• Enlaces absolutos (o duros): Crea una nueva entrada al directorio y se copia la dirección de
la estructura de datos con la información del archivo. (Problema al borrar los enlaces,
solución un contador de enlaces)

Normalmente el contador mínimo tiene 2 enlaces.

(12) Recuperación
Hay distintas formas:
• Comprobador de consistencia: compara los datos de la lectura de directorios con los
bloques de datos en disco y trata cualquier inconsistencia.
• Usar programas del sistema para realizar copias de seguridad: copia los datos de disco a
otros dispositivos y de recuperación de los archivos perdidos.

(13) Estructura del disco


La información se referencia por una dirección formada por:
• Unidad
• Superficie o cara
• pista
• sector

Aquí no, pero en Instagram ponemos memes: @Wuolah_apuntes


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-2201086

(14) Planificación de disco


El SO puede mejorar el tiempo medio de servicio del disco. Una petición se atiende en 3 fases:
• Posicionamiento de la cabeza en la pista o cilindro
• Latencia: espera a que pase e bloque deseado
• Transferencia de los datos entre la memoria principal y el disco

Tiempo total de servicio = (tiempo posicionamiento) + (tiempo latencia) + (tiempo transferencia)

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Información necesaria para una petición:
• Si la operación es de entrada o salida
• La dirección de bloque
• La dirección d memoria a donde o desde donde copiar los datos a transferir
• La cantidad de información a transferir

Existen distintos algoritmos de planificación:


• FCFS (FIFO)
• SSTF: La petición cuyo tiempo de posicionamiento sea más corto
• SCAN: La cabeza recorre el disco desde el principio al final y viceversa
• LOOK: Se mueve hacia una dirección si hay peticiones pendientes
• C-SCAN y C-LOOK: Suponen que la lista de bloques es circular, cuando llega al final,
comienza de nuevo al principio, diferencia C-LOOK llega hasta el final de la petición más
lejos y empieza en la petición mas cercana.

Ejemplo:
Cola de peticiones (números de pistas) 98, 183, 37, 122, 14, 124, 65, 67. Inicialmente la cabeza está
en la pista 53:
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-2201086

Selección de un algoritmo de planificación:

Esto depende del numero y tipo de peticiones a realizar.

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
• con asignación contigua: peticiones que reducen el tiempo de posicionamiento
• con asignación no contigua (enlazado o indexado): mayor aprovechamiento de disco pero
mayor tiempo de posicionamiento

(15) Gestión de disco


Formateo del disco:
• Fisico: Pone los sectores por pista
• Lógico: Escribe la información de el SO necesita para conocer y mantener los contenidos
del disco (un directorio vacio, FAT, …).

El bloque de arranque para inicializar el sistema está localizado por bootstrap.


Es necesario tener metodos para detectar y manejar bloques dañados.

La FAT tendrá tantos bloques, como bloques de datos haya.

Aquí no puedes quejarte, pero puedes hacerlo en Twitter: @Wuolah


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-2201086

(16) Gestión del espacio de intercambio


La memoria virtual requiere el uso del disco como extensión de la memoria principal, su uso
depende de los algoritmos de gestión de memoria del SO:
• Intercambio de procesos complejos
• Paginación de paginas de procesos

Algunos Sistemas Operativos permiten el uso de múltiples espacio de intercambio.


Hay 2 formas de asignar el espacio de intercambio:
• En el propio sistema de archivos (Fácil de implementar pero ineficiente)
• Y en una partición independiente: No utiliza estructura de directorios ni sistema de
archivos, utiliza sus propios algoritmos (eficiente), pero aumenta las necesidades de espacio
en disco (fragmentación interna)

(17) Eficiencia y seguridad de disco

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Técnica de entrelmezclamiento de disco:
• Un grupo de discos se trata como una unidad, cada bloque está formado por subbloques que
están almacenados cada uno en un disco diferente.
• Los discos realizan el posicionamiento y transfieren sus bloques en paralelo decrementando
el tiempo de transferencia del bloque.

RAID(Redundant Array of Independent Disks):


• Mejora el rendimiento y la seguridad
• Organizaciones:
◦ Sombra (Shawdowing): mantiene duplicados de cada disco
◦ Paridad entremezclada de bloques: los datos se escriben en cada disco del array en un
bloque y se tiene un bloque extra de paridad en otro disco (los datos dañados de un disco
se obtienen a partir de los datos del resto de disco)

(18) Subsitema de archivos Unix


I-nodo: representación interna de un archivo, un archivo tiene asociado un i-nodo aun que tenga
distintos nombres (enlaces)

Estructuras de datos en memoria principal relacionadas con los archivos:

ESTRUCTURAS GLOBALES
• Tabla de i-nodos: el núcleo lee del sistema de archivos el i-nodo donde se opera.
• Tabla de archivos: mantiene información del puntero de lectura/escritura y los permisos de
acceso del proceso al archivo.
ESTRUCTURA LOCAL A CADA PROCESO
• Tabla de descriptores de archivos: Identifica los archivos abiertos por el proceso.

(19) Estructura en disco del sistema de archivos


Un sistema de archivos es una secuencia de bloques lógicos con la siguiente estructura (s5fs):
• Bloque de arranque: primer sector, puede contener código de arranque para inicializar el
SO.
• Superbloque: estado del sistema de archivos
• Lista de i-nodos: tamaño estático especificado en la configuración del sistema de archivos
• Bloques de datos: para archivos y para administración

¿Qué estará pasando en Instagram? Síguenos: @Wuolah_apuntes


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-2201086

Un i-nodo contiene:
• Identificador del propietario del archivo: GID, UID
• Tipo de archivo: regular, directorio, …
• Permisis de acceso
• Tiempos de acceso: última modificación, acceso, etc
• Contador de enlaces
• Tabla de contenidos para las direcciones de los datos en disco del archivo
• Tamaño

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
A demás el nucleo mantiene en la tabla de i-nodos no solo el contenido del i-nodo sino ademas el
estado del i-nodo en memoria (si esta bloqueado, preparado, desbloqueado,…)

(20) Contenido de un i-nodo de la tabla de i-nodos


• Numero de dispositivos lógocos del sistema de archivos que contiene.
• Numero de i-nodo
• Punteros a otros i-nodos en memoria (se usa una estructura hash para enlazar los i-nodos
cuya clave de acceso se basa en el número de dispositivo lógico y el número de i-nodo.
Existe una lista de i-nodos libres)
• Contador de referencias (numero de referencias actuales del i-nodo, solo esta en la lista de i-
nodos libres si el contador es 0)

(21) Tabla de archivos y Tabla de descriptores de archivos


(Tablas de control de acceso a los archivos)
Tabla de archivos (contiene):
• puntero al i-nodo correspondiente a la tabla de i-nodos
• puntero de lectura/escritura
• permisos de acceso
• modo de apertura del archivo
• contador de entradas de las tablas de descriptores de archivos asociados con esta entrada

Tabla de descriptores de archivos (contiene):


• Puntero a la entrada de la tabla de archivos correspondiente.

(22) Algoritmos de bajo nivel del S.A.

alloc y free: Le asigna o libera una entrada en la lista de bloques.


ialloc e ifree: Le asigna o libera una entrada en la lista de inodos.

Actualmente se utiliza la cache para almacenar metadatos.

¿Has participado ya en el Giveaway? En www.wuolah.com


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-2201086

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
(23) Contenido del superbloque

• Tamaño del sistema de archivos


• Numero de bloques libres en el sistema de archivos
• Una lista de bloques libres y un indice al siguiente bloque libre de la lista
• Tamaño de la lista de i-nodos
• Numero de i-nodos libres en el sistema
• Una lista de i-nodos libres y un indice al siguiente i-nodo libre de la lista
• Además, cuando esta está en memoria tiene:
◦ Campos de bloqueos para las listas de bloques e i-nodos libres
◦ Y un campo que indica si ha modificado el superbloque

(24) Problemas de s5fs


• Solo una copia del bloque (menor fiabilidad)
• Los i-nodos se asignan aleatoriamente (varios accesos para archivos en un mismo
directorio)
• El i-nodo no se asocia de ninguna forma a sus bloques de datos
• la asignación de bloques de datos no es optima, salvo inicialmente (después de crear el
sistema de archivos)
• El tamaño de bloque es de 1 a 4 KB
• Limite en el numero de i-nodos (2 Bytes) y en el nombre de archivos (14 caracteres)
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-2201086

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
(25) FFS Fast File System

La partición esta dividida en uno o más grupos consecutivos de cilindros, la información del
superbloque se divide en:
• Superbloque FFS: numero, tamaño y localización de grupos de cilindros, tamaño de
bloque, numero total de i-nodos y bloques.
• Cada grupo de cilindros tiene su propia lista de i-nodos y bloques libres.

Cada grupo de cilindros tiene una copia duplicada del superbloque, el tamaño minimo es de 4 KB
(no se necesita el tercer nivel de indexación en el i-nodo.
El bloque se puede dividir en fragmentos direccionables y asignables, de los cuales solo los bloques
directos del i-nodo pueden tener fragmentos.

Y entradas variables en directorios y enlaces simbólicos.

El que está sentado a tu lado no conoce Wuolah, explícaselo


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-2201086

Esto es un recordatorio de Wuolah: ERES UN CRACK.


Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.

También podría gustarte