Download Diapositivas

Document related concepts

Sistema de archivos wikipedia , lookup

Desfragmentación wikipedia , lookup

Hierarchical File System wikipedia , lookup

Archivo (informática) wikipedia , lookup

Directorio wikipedia , lookup

Transcript
Sistemas Operativos
Unidad VI
Administración del sistema de
Archivos
Administración del sistema de archivos
Almacenamiento físico de archivos
 Estructura y función del sistema de
archivos
 Propiedades de los archivos
 Operaciones sobre los archivos
 Seguridad y protección de los archivos

Almacenamiento físico de archivos

Archivo


Conjunto de registros, instrucciones de programa o
datos agrupados bajo un nombre y almacenados en
memoria no volátil.
Tecnologías de almacenamiento físico

Medios magnéticos



Medios ópticos



Discos
Cintas
CD R/W
DVD R/W
Memorias flash

Memorias USB
Almacenamiento físico de archivos … (2)

Discos magnéticos



Constituyen la mayor parte del almacenamiento
secundario en el que se mantiene un sistema de
archivos.
Se trata de un plato circular de metal o plástico
recubierto con un material magnético.
La información es grabada y recuperada del disco
mediante una bobina conductora llamada cabeza.
Superficie magnética
Antes del
almacenamiento
las partículas están
dispersas
aleatoriamente
Cabeza de lectura
y escritura
El campo magnético
generado por la cabeza
produce patrones de
partículas en la superficie
Almacenamiento físico de archivos … (3)

Formato físico del disco



Consiste en un conjunto
concéntrico de anillos
llamados pistas.
Las pistas se dividen en
sectores. Unidad de
transferencia de datos 512
bytes
Un conjunto de pistas a las
cuales se puede acceder sin
mover las cabezas forman un
cilindro.
Cilindro
Almacenamiento físico de archivos … (4)


Por razones de rendimiento los sectores
realmente no se numeran de forma
contigua, existe un factor de intercalación.
Cuando los datos se organizan físicamente
en sectores un archivo es considerado
como una serie de cúmulos o bloques de
sectores.


Donde un cúmulo (clúster) es un número fijo de
sectores “contiguos” y es la unidad de disco mas
pequeña que el sistema operativo puede
administrar (un cúmulo puede ser un sector).
El sistema de archivos se basa en la
administración de bloques.

Tamaño grande de bloque equivale a mayor
desperdicio.
Almacenamiento físico de archivos … (5)



Asignar espacio en el disco para los archivos
requiere que el sistema operativo asigne ciertos
bloques para tal fin.
En la asignación del espacio se debe procurar que
el espacio se aproveche de forma eficaz y se
pueda acceder de forma rápida a los archivos
Se utilizan principalmente tres métodos de
asignación:



Contigua
Encadenada
Indexada
Almacenamiento físico de archivos … (6)

Asignación contigua





Cada archivo ocupa un conjunto de bloques contiguos en
el disco, dicho conjunto se asigna al crear el archivo.
La tabla de asignación de archivos contiene el número
de bloque inicial y la longitud en bloques del archivo.
Tiene buenas prestaciones para archivos secuenciales.
Genera fragmentación externa y se dificulta encontrar
espacio para un nuevo archivo.
De vez en cuando se debe compactar para liberar
espacio.
Asignación contigua
antes de compactar
Asignación contigua
después de compactar
Almacenamiento físico de archivos … (7)

Asignación encadenada






La asignación se realiza a nivel de
bloques, Cualquier bloque libre se
puede añadir a la cadena.
Cada bloque contiene un
apuntador al siguiente bloque de la
cadena.
La tabla de asignación de archivos
contiene el número de bloque
inicial y la longitud en bloques del
archivo.
Buenas prestaciones para archivos
secuenciales.
No existe la fragmentación
externa.
No existe el principio de
proximidad lo que puede implicar
múltiples accesos a disco.
Asignación encadenada antes de compactar
Asignación encadenada después de consolidar
Almacenamiento físico de archivos … (8)

Asignación indexada






Asignación indexada con porciones de bloques
Resuelve muchos de los
inconvenientes de las asignaciones
contigua y encadenada.
La tabla de asignación de archivos
contiene el número de bloque índice
de un nivel por cada archivo.
El bloque indexado contiene una
entrada (registro) por cada porción
asignada al archivo.
Asignación indexada con porciones de tamaño variable
La asignación puede realizarse
mediante bloques de tamaño fijo o
porciones de tamaño variable.
La consolidación reduce el tamaño
del índice.
Esta es la forma más utilizada en la
asignación de archivos.
Estructura y función del sistema de
archivos


Para ofrecer un acceso
eficiente y cómodo al disco, el
sistema operativo impone en
él un sistema de archivos.
Generalmente el sistema de
archivos esta compuesto de
varios niveles.

Cada nivel de diseño aprovecha
las funciones de los niveles
inferiores para crear nuevas
funciones que se usarán en
niveles superiores
Sistema de archivos en niveles
Programas de aplicación
Sistema lógico de archivos
Módulo de organización de archivos
Sistema básico de archivos
Control de E/S
Dispositivos
Estructura y función del sistema de archivos
…(2)

Control de E/S


Sistema básico de archivos


Envía comandos genéricos al controlador de dispositivo
apropiado para leer y escribir bloques físicos en el disco.
Módulo de organización de archivos



Esta compuesto por los controladores del dispositivo y rutinas
de tratamiento de interrupción para transferir información
entre la memoria principal y el sistema de disco.
Tiene conocimiento de los archivos y sus bloques físicos y
lógicos.
También incluye el gestor de espacio libre, el cual controla
bloques no asignados y asigna bloques cuando se requiere.
Sistema lógico de archivos


Gestiona la información de metadatos, los cuales incluyen toda
la estructura del sistema de archivos, excepto los propios
datos.
Gestiona la estructura de directorios, propietarios, permisos,
ubicación protección y seguridad.
Estructura y función del sistema de archivos
…(3)

Los objetivos que se sugieren para un sistema de
gestión de archivos son:







Satisfacer las necesidades de gestión de datos y
requisitos del usuario.
Garantizar, hasta donde sea posible, que los datos del
archivo son válidos.
Optimizar el rendimiento en términos de productividad
(sistema) y en términos del tiempo de respuesta
(usuario).
Proporcionar soporte de E/S a una variedad de tipos de
dispositivos de almacenamiento.
Minimizar o eliminar la potencial pérdida de datos.
Proporcionar un conjunto estándar de rutinas de
interfaces de E/S a los procesos
Proporcionar soporte de E/S a múltiples usuarios.
Estructura y función del sistema de archivos
…(4)

Las funciones del sistema de archivos son:






Identificar y localizar el archivo seleccionado.
Utilizar un directorio para describir la
localización de todos los archivos más sus
atributos.
En un sistema compartido debe describir el
control de acceso para los usuarios.
Bloquear el acceso a los archivos
Asignar a los archivos bloques libres
Manejar el espacio libre para la disponibilidad
de bloques
Estructura y función del sistema de archivos
…(5)

Funciones del sistema de archivos durante un
ciclo de instrucción básico.
Estructura
del archivo
Gestión de
directorios
Método
de acceso
Registros
Bloques físicos en
buffers de memoria
principal
Gestión de
bloques
Programas y
comandos de
usuario
Operación,
nombre de
archivo
Funciones de
manipulación
de archivos
Bloques físicos en
el almacenamiento
secundario (disco)
Planificación
de disco
E/S
Asignación
de archivos
Control de
acceso de
usuario
Gestión de
almacenamiento
libre
Estructura y función del sistema de archivos
…(6)


La estructura y funciones particulares del sistema de archivos
dependerá del sistema operativo que se este utilizando.
Previo a la instalación del sistema de archivos es necesario dividir
física o lógicamente los discos en particiones o volúmenes.


Una partición es una porción del disco a la que se le dota de una
identidad propia y que puede ser manipulada por el sistema operativo
como una entidad lógica independiente.
Una vez creadas las particiones el sistema operativo debe crear
las estructuras de los sistemas de archivos dentro de esas
particiones.
Estructura y función del sistema de archivos
…(7)

Al crear un sistema de archivos en una partición de un
disco, se crea una entidad lógica autocontenida con:





Espacio para la información de carga del sistema operativo
La descripción de su estructura
Descriptores de archivos
Información del estado de ocupación de los bloques del
sistema de archivos
Bloques de datos y directorios
Partición
Boot (Sector de arranque)
FAT, nodos-i, descriptores físicos de archivos, etc
Agrupaciones asignadas a los directorios
Agrupaciones asignadas a los archivos
Estructura y función del sistema de archivos
…(8)

Estructura del sistema de archivos en Unix

Bloque de boot


Superbloque



Describe el estado del sistema de archivos.
Contiene información acerca del tamaño actual, total de archivos a contener,
que espacio queda libre, etc.
Lista de nodos índice (inodes)


Se localiza típicamente en el primer sector y contiene el código de arranque.
Se trata de un pequeño programa que se encarga de buscar el sistema
operativo para cargarlo en memoria principal.
Esta lista tiene una entrada por cada archivo, donde se guarda una
descripción del mismo; localización del archivo en disco, propietario,
permisos de acceso, fecha de actualización etc.
Bloque de datos


Ocupa el resto del sistema de archivos.
Esta zona es donde se encuentra situado el contenido de los archivos a que
hacen referencia los inodes.
Sistema de archivos Unix
Boot
Superbloque
Lista de inodes
Bloque de datos (Archivos y Directorios)
Estructura y función del sistema de archivos
…(9)

Tarea:

Investigar sobre la estructura y
funcionamiento de los siguientes sistemas de
archivos:





FAT, FAT16, FAT32
Ext2, Ext3, Ext4
ReiserFS
NTFS
Incluir:


Cómo se realiza la asignación de ficheros en Unix
Estructuras de ficheros en NTFS
Propiedades de los archivos


Desde el punto de vista del usuario, una de las
partes más importantes de un sistema operativo
es el sistema de archivos.
El sistema de archivos permite crear archivos con
las siguientes propiedades deseables:

Existencia a largo plazo


Compartible entre procesos


Almacenamiento en disco u otra tecnología de
almacenamiento secundario permanente.
Los archivos tienen nombres y permisos de acceso
asociados para controlar la compartición.
Estructura


Dependiendo del sistema de archivos, los archivos pueden
tener una estructura interna conveniente a las aplicaciones.
Los archivos se pueden organizar en estructuras
jerárquicas o más complejas.
Propiedades de los archivos … (2)

Términos relacionados con los archivos

Campo





Registro




Es el elemento básico de los datos.
Contiene un único valor (pj. Apellido, fecha, temperatura, etc.)
Tiene un tipo y longitud asociados
Dependiendo del diseño del archivo su longitud puede ser fija o
variable.
Es una colección de campos relacionados que pueden tratarse
como una unidad.
Dependiendo del diseño del archivo pueden ser de longitud fija o
variable.
Puede ser de longitud variable si uno de sus campos lo es o
también si el número de sus campos varía.
Archivo



Es una colección de campos similares.
Es tratado como una entidad única por parte de los usuarios o
aplicaciones.
Se referencian a través de un nombre.
Propiedades de los archivos … (3)

Estructura de archivos


Organización lógica de los registros determinados por la
forma en la que se acceden.
La organización de archivos dependerá de:

Tiempo de acceso corto
 En procesamiento por lotes no necesario a nivel de registro.

Facilidad de actualización
 No necesaria en CD-ROM

Economía de almacenamiento
 Mínima redundancia de datos
 Sin embargo la redundancia incrementa la velocidad de
acceso.


Mantenimiento sencillo
Fiablididad
Propiedades de los archivos … (4)

Existen diversas formas de organizar los
registros de un archivo, las cinco que se
consideran fundamentales son:





La pila
El archivo
El archivo
El archivo
El archivo
secuencial
secuencial indexado
indexado
de acceso directo o hash
Propiedades de los archivos … (5)

La pila






La forma menos complicada de
organización.
Los datos se almacenan en el orden
en que llegan.
Los registros pueden tener diferentes
campos o similares campos en
diferentes órdenes.
Cada campo debe ser
autodescriptivo, incluyendo el
nombre del campo y el valor
La longitud se conoce por defecto, se
indica mediante un delimitador o se
incluye en un subcampo.
El acceso a los registros se hace
mediante búsqueda exhaustiva.
Archivo tipo pila
Registros de tamaño variable
Orden cronológico
Propiedades de los archivos … (6)

El archivo secuencial


La forma más común de estructurar
archivos
Utiliza un formato fijo para los registros



Solo se almacenan los valores de los
campos; el nombre y la longitud de cada
campo son atributos de la estructura del
archivo.
Normalmente uno de los campos es el
campo clave



Todos de igual tamaño, compuestos por el
mismo número de campos de longitud fija
en un orden específico.
Identifica de forma única al registro
La secuencia de los registros es según la
clave
Típicamente la organización lógica encaja
con la organización física.
Archivo secuencial
Propiedades de los archivos … (7)

El archivo secuencial indexado

Mantiene las características clave del
archivo secuencial


Añade dos características



Registros en secuencia basándose en un
campo clave.
Un índice que da soporte al acceso
aleatorio
Un archivo de desbordamiento
En un nivel de indexación

El índice esta formado por un archivo
secuencial simple.
 En cada registro dos campos: la clave y
el apuntador al archivo principal.

Para encontrar un campo específico se
busca el índice que contenga la clave
anterior más próxima a la del campo
deseado, después la búsqueda continúa
en el archivo principal.
Archivo secuencial indexado
Propiedades de los archivos … (8)

Ejemplo de archivo secuencial indexado … (1)
Propiedades de los archivos … (9)

Ejemplo de archivo secuencial indexado … (2)
Propiedades de los archivos … (10)

Ejemplo de archivo secuencial indexado … (3)
Propiedades de los archivos … (11)

Ejemplo de archivo secuencial indexado … (4)
Propiedades de los archivos … (12)

El archivo indexado

Se utilizan dos tipos de índice





Un índice exhaustivo que contiene una
entrada por cada registro del archivo
principal.
Un índice parcial que contiene entradas
a registros donde el campo de interés
existe.
Se dispone de un índice por cada tipo
de campo de búsqueda.
Los registros pueden ser de longitud
variable y se acceden solo a través de
sus índices.
Cuando se añade un registro al archivo
principal, todos los archivos índice
deben actualizarse.
Archivo indexado
Propiedades de los archivos … (13)

El archivo de acceso directo o hash





Explota la capacidad de los discos para acceder
directamente a cualquier bloque de una dirección
conocida.
Se requiere de una clave para cada registro
No existe el concepto de ordenación secuencial, se hace
uso de una tabla hash sobre un valor clave.
Hace uso de un archivo de desbordamiento.
Posible Algoritmo de inserción

Asociar al elemento una etiqueta n entre 0 y m – 1
 Donde m es el número de entradas y n el número de
elemento.



Usar n como índice de la tabla hash
Si la entrada n está vacía, almacenar el elemento
Si esta ocupada, almacenar el elemento en un área de
desbordamiento, creando una lista de elementos con la
misma etiqueta.
Propiedades de los archivos … (14)

Ejemplo de archivo hash
Propiedades de los archivos … (15)

Ejemplo de archivo hash ... (2)
Propiedades de los archivos … (16)


De forma “externa” un archivo puede estar
organizado en una estructura jerárquica llamada
directorio.
Directorio



Es un archivo que pertenece al sistema operativo y que
es accedido a través de diversas rutinas de gestión de
archivos.
Permite al usuario abstraerse de la ubicación física de
los archivos visualizando solo la ubicación lógica.
Las dos estructuras lógicas más utilizadas son:


Árbol jerárquico
Grafo acíclico
Propiedades de los archivos … (17)

Estructura de directorios de tipo árbol jerárquico






Se parte de un directorio raíz
Los nodos del árbol son subdirectorios que a su vez
contienen otros subdirectorios o archivos.
Las hojas del árbol son los archivos.
Existe un camino (path) único para cada archivo.
Permite a los usuarios definir su propia estructura de
directorios.
Se relaciona con los conceptos de:



Ruta absoluta
Ruta relativa
Directorio actual
Propiedades de los archivos … (18)

Estructura de directorios de tipo
grafo acíclico


Permite que un archivo o subdirectorio
puedan estar en directorios distintos.
Para lograr compartir archivos o
subdirectorios se utilizan dos tipos de
enlaces

Físico (duro)
 Apuntador a un archivo o directorio,
cuya entrada de directorio tiene el
mismo descriptor de archivo que el
archivo enlazado.

Simbólico (suave)
 Un nuevo archivo cuyo contenido es el
nombre del archivo enlazado
Propiedades de los archivos … (19)

Un archivo también se caracteriza por tener distintos
atributos, entre ellos están:

Nombre



Identificador único


Información de control de acceso (contraseña, dueño, creador,
etc.)
Tamaño del archivo


Apuntadores a los dispositivos y a los bloques dentro de estos
Protección


Útil en sistemas que soportan múltiples tipos de archivo
(ejecutables y datos)
Mapa del archivo


Número que utiliza el sistema operativo para manejar el
archivo.
Tipo de archivo


Identificador del archivo en formato comprensible para el
usuario y es definido por su creador.
Algunos SO imponen ciertas restricciones.
Número de bytes en el archivo, máximo tamaño posible, etc.
Información de control del archivo

Indica si esta oculto, si es del sistema, normal, etc.
Operaciones sobre los archivos

Llamadas fundamentales sobre archivos al sistema










Crear
Borrar
Abrir
Cerrar
Leer
Escribir
Posicionar
Obtener atributos
Renombrar
Llamadas fundamentales sobre directorios al sistema






Crear
Borrar
Cambiar
Mostrar
Enlazar
Desenlazar
Seguridad y protección de los archivos

Protección



Se trata de un problema estrictamente interno
Gestiona la forma de controlar el acceso a los programas
y datos almacenados en un sistema
Seguridad


Considera el entorno externo en el cual opera el sistema
Abarca, entre otros:





Causas externas
Fallos en los equipos
Errores de programación
Errores humanos en su utilización
Ataques intencionados
Seguridad y protección de los archivos … (2)



Un sistema es seguro si sus recursos son utilizados y
accedidos como se espera en todas sus circunstancias.
Existe un problema si se intenta saltar la protección de los
recursos.
Al diseñar un sistema se tienen que considerar varios
aspectos:





Suponer un diseño público
Por defecto toda comprobación conlleva a una denegación
Dar a los procesos privilegios mínimos
Sistema de protección fácil de utilizar
Requisitos de seguridad:



Confidencialidad
Integridad
Disponibilidad de la información
Seguridad y protección de los archivos … (3)

Las violaciones de seguridad pueden ser:


Accidentales
Intencionadas




Lectura no autorizada a datos (viola la confidencialidad)
Modificación no autorizada (viola la integridad)
Destrucción (viola la disponibilidad)
Las medidas de seguridad se clasifican en tres
niveles:

Físico


Humano


El lugar donde se encuentra el sistema debe estar
protegido físicamente.
Autorización cuidadosa de los usuarios
Sistema Operativo

Identificación de programas, procesos y usuarios.
Seguridad y protección de los archivos … (4)

Contraseñas (passwords)

Generadas por el sistema


Seleccionadas por el usuario


Fáciles de adivinar
Se puede conocer



Difíciles de recordar
Teniendo información del usuario o conociéndolo
Intentar todas las posibles combinaciones de letras y números.
Los archivos de password pueden ser:


Privados: acceso denegado a los usuarios
Públicos: se permite acceso pero esta cifrado.
Seguridad y protección de los archivos … (5)

Clasificación de las amenazas por software:
Seguridad y protección de los archivos … (6)

Trampilla



Bomba lógica


Punto de entrada no documentado dentro de un
programa.
Utilizado para conceder accesos sin necesidad de
identificación.
Introducida en un programa que cuando se dan ciertas
condiciones en el sistema, ejecuta alguna función no
autorizada.
Caballo de Troya


Rutina secreta e indocumentada introducida en un
programa aparentemente útil.
Su ejecución se da sin conocimiento del usuario pero
accionado por este o por algún tipo de automatización.
Seguridad y protección de los archivos … (7)

Virus



Bacteria


Código incrustado en un programa que hace que se
inserte una copia de si mismo en uno o más programas.
Puede hacer cualquier cosa permitida al código que
infecta.
Programa que consume recursos del sistema mediante
su reproducción
Gusanos



Programa que se reproduce y envía copias de si mismo
por la red.
No suele causar más daños que consumo de recursos.
Explotan fallos de seguridad de los sistemas operativos.
Seguridad y protección de los archivos … (8)

Técnicas para mejorar la seguridad

Monitorización de amenazas



Comprobar si se intenta violar la seguridad
Buscar patrones de actividad sospechosa
Auditorías en bitácoras

Los registros de las bitácoras sirven para
 Determinar cuándo y cómo ocurrió el problema y el daño producido.
 Recuperarse del ataque
 Desarrollar nuevos mecanismos de seguridad

Exploración periódica del sistema para detectar






Claves cortas o fáciles
Programas no autorizados en rutas del sistema
Tiempos prolongados de ejecución de procesos
Permisos de archivos y directorios del sistema
Cambios de tamaño en los programas de sistema
Proteger los datos mediante encriptación

Sobre todo la información transmitida por red y Listas de
passwords.
Seguridad y protección de los archivos … (9)

Protección:

Un sistema puede verse como una
colección de procesos y objetos ya sea
de hardware o software

Cada objeto tiene
 Nombre único para identificarlo
 Conjunto de operaciones a realizar con él
 Ejemplos: un archivo se puede leer, escribir,
ejecutar, un semáforo tiene operaciones wait
y signal

La protección debe garantizar cada
objeto es accedido correctamente y
solo por aquellos procesos que lo
tienen permitido
Seguridad y protección de los archivos …
(10)

Dominio de protección

Define un conjunto de objetos con sus derechos de
accesos.



Derechos de acceso = permiso para realizar una operación
sobre un objeto
Los dominios pueden solaparse
Un proceso se ejecuta dentro de un dominio, la
asociación proceso-dominio puede ser


Estática si el conjunto de objetos disponible para un
proceso es fijo durante la vida del proceso.
Dinámica si se permite el cambio de dominio durante la
ejecución de un proceso.
Seguridad y protección de los archivos …
(11)

Matriz de acceso


Modelo que provee del mecanismo apropiado para el
control de acceso.
Elementos




Filas: dominios
Columnas: objetos
Celdas: derechos de acceso
Ejemplos:
Seguridad y protección de los archivos …
(12)

Matriz de acceso …

Se pueden incluir los dominios como objetos para indicar
el cambio entre dominios

Implementación




Tabla global
Listas de accesos para objetos
Listas de capacidades para dominios
Cerrojo llave
Seguridad y protección de los archivos …
(13)

Tabla global


Conjunto ordenado de triples <dominio, objeto, conjunto_derechos>
Ventaja:


Desventajas:



Método robusto y potente
Poco práctico en sistemas reales, la matriz sería enorme
Ineficiente ya que la mayoría de las entradas estarían vacías.
Listas de acceso (ACL)



Se trata de una descomposición en columnas de la matriz.
Asocia a cada lista una lista ordenada de pares <dominio, conjunto de
derechos>
Ventaja:


Desventaja


Se puede abreviar con comodines lo que minimiza el espacio de
almacenamiento
Coste de exploración de lista por cada acceso
Ejemplos:


Archivo1: {(D1, [Leer, Escribir]), (D2, [Leer])}; Archivo2: {(D2, [Leer,
Escribir]), (D3, [Escribir])}
Archivo4: {([*,profesores], [leer, escribir]), ([*,alumnos], [leer])}
Seguridad y protección de los archivos …
(14)

Listas de capacidades





Se trata de una descomposición en filas
de la matriz
Asocia a cada dominio una lista
ordenada de <objeto,
conjunto_derechos>
Cada elemento se denomina capacidad
El sistema operativo debe gestionar la
lista para evitar huecos de seguridad
Cerrojo-llave


Cada objeto tiene una lista de patrones
de bits únicos (cerrojos), y cada
dominio otra lista (llaves)
Un proceso en un dominio puede
acceder a un objeto si tiene la llave que
corresponde con uno de los cerrojos del
objeto