Tema V - Parte 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 31

Gestion de Archivos

Tema V – Parte 1
Sistemas Operativos I
Sistema de archivos

El sistema de archivos o sistema de ficheros (en inglés: "filesystem") es el


componente del sistema operativo encargado de administrar y facilitar el
uso de las memorias periféricas, ya sean secundarias o terciarias.
Sus principales funciones son la asignación de espacio a los archivos, la
administración del espacio libre y del acceso a los datos resguardados.
Estructuran la información guardada en un dispositivo de
almacenamiento de datos o unidad de almacenamiento (normalmente
un disco duro de una computadora), que luego será representada ya sea
textual o gráficamente utilizando un gestor de archivos.
La mayoría de los sistemas operativos manejan su propio sistema de
archivos.
Los sistemas de archivos tradicionales proveen métodos para crear, mover,
renombrar y eliminar tanto archivos como directorios, pero carecen de
métodos para crear, por ejemplo, enlaces adicionales a un directorio o
archivo (enlace duro en Unix) o renombrar enlaces padres (".." en Unix).
El acceso seguro a sistemas de archivos básicos puede estar basado en
los esquemas de lista de control de acceso (access control list, ACL) o
capacidades.
Las ACL hace décadas que demostraron ser inseguras, por lo que los
sistemas operativos experimentales utilizan el acceso por capacidades.
Los sistemas operativos comerciales todavía funcionan con listas de
control de acceso.
Visión del
usuario
Visión lógica:
Archivos
Directorios
Sistemas de archivos y particiones
Visión física:
Bloques o bytes ubicados en dispositivos

Sistemas
operativos: una
visión aplicada
4
© J. Carretero, F.
García, P. de
Miguel, F. Pérez
Función
principal

El SF establece una correspondencia entre los archivos y los dispositivos


lógicos.

Sistemas
operativos: una
visión aplicada
5
© J. Carretero, F.
García, P. de
Miguel, F. Pérez
Características para el
usuario

Almacenamiento permanente de información. No desaparecen aunque


se apague el computador.
Conjunto de información estructurada de forma lógica según criterios de
aplicación.
Nombres lógicos y estructurados.
No están ligados al ciclo de vida de una aplicación particular.
Abstraen los dispositivos de almacenamiento físico.
Se acceden a través de llamadas al sistema operativo o de bibliotecas de
utilidades.

Sistemas
operativos: una
visión aplicada
6
© J. Carretero, F.
García, P. de
Miguel, F. Pérez
7
Interfaz del sistema de archivos

Concepto de archivo/fichero
Métodos de acceso
Directorios
Protección
8
Necesidad de gestionar el
almacenamiento no volátil
Característica fundamental del medio de
almacenamiento: NO VOLATILIDAD
Variedad de medios donde almacenar
información: discos magnéticos, cintas
magnéticas, discos ópticos, etc...
Ventaja
Permite elegir el medio más adecuado en función de las
necesidades particulares: cantidad de información a
almacenar, velocidad de acceso, fiabilidad, etc...
Desventaja
Requiere conocer las particularidades de cada medio
9
Concepto de archivo
Definiciones
Un almacén persistente de información accesible
mediante un nombre
Es una abstracción cómoda del almacenamiento
secundario (tipo abstracto de datos):
Oculta la realidad física del almacenamiento (cintas,
discos, etc...)
Sirve para organizar la información como lo hacemos las
personas
10
Concepto de archivo

En general un archivo es una secuencia de bits cuyo significado el


creador y usuario define

SISTEMA DE ARCHIVOS: conjunto de módulos del SO que se encargan de


la gestión de la información (archivos)
11
Atributos de archivo

Aparte de su contenido, todo archivo tiene atributos


que lo describen:
Nombre (cadena de caracteres)
Tipo de archivo (necesario en sistemas que reconocen distintos
tipos)
Ubicación en el dispositivo
Tamaño
Información de protección
Fechas, horas e identificación del usuario
12
Directorios

Los atributos de los archivos deben guardarse en


alguna estructura: DIRECTORIO O TABLA DE
CONTENIDOS
Los directorios al igual que los archivos deben ser no
volátiles se almacenan en disco
Deben traerse a memoria cuando se necesitan
13
Operaciones sobre archivos

ARCHIVO: TAD = ATRIBUTOS + OPERACIONES

OPERACIONES TIPICAS:
Creación / Destrucción
Lectura / Escritura
Situarse dentro del archivo (por posición o por clave)
Cambiar atributos
14
Operaciones sobre archivos

La mayor parte de las operaciones implican buscar la


entrada en el directorio asociada al archivo
Mejora: operaciones para abrir y cerrar archivos
Tabla de archivos abiertos
Indice, puntero o descriptor de fichero
Operación apertura de un fichero
Entorno multiusuario ?
15
Tipos y estructuras de archivos
La información guardada puede ser de
muchos tipos
Técnica común para implementar los tipos de
archivos es incluir el tipo como parte del
nombre del archivo (extensión)
Según el tipo de archivo estructura
interna
Todos los S.O. deben reconocer al menos
una estructura : la de un ARCHIVO
EJECUTABLE
Métodos de acceso
16
Algunos SO ofrecen un solo método de acceso mientras que
otros ofrecen diferentes métodos de acceso

ACCESO SECUENCIAL
Se basa en un modelo de archivo de cinta

ACCESO DIRECTO o RELATIVO


Se basa en el modelo de archivo de disco

ACCESO INDEXADO
Requiere de estructuras adicionales: tablas de indices
17
Directorios
■ Sistema de Archivos Miles de archivos
■ ¿Cómo los organizamos?
■ Particiones/Minidiscos/Volúmenes
■ Directorio de dispositivo ,Tabla de Contenido del Volumen o
simplementeDirectorio
18
Operaciones sobre directorios
■ Buscar un archivo por nombre
■ Crear archivos
■ Borrar Archivos
■ Renombrar archivos
■ Listar el directorio
■ Recorrer el sistema de ficheros
19
Organización de directorios
■ Único nivel (espacio plano)
■ Dos niveles
■ Arbóreo
■ Grafo acíclico (enlaces)
■ Grafo general (enlaces sin restricciones)
20
Directorio de nivel único
■ Estructura de directorio más sencilla: todos los archivos
se guardan en el mismo directorio

■ Problemas:
■ Conflictos de nombres (al aumentar el numero de ficheros)
■ Mala organización en sistemas multiusuario
■ El tiempo de búsqueda tiende a aumentar
21
Directorio de dos niveles
■ Desventaja principal de la estructura de nivel único
confusión de nombres entre diferentes usuarios
■ Solución natural un directorio por usuario
22
Directorio de dos niveles
■ Se resuelve el problema de conflictos de nombres
(entre diferentes usuarios)
■ Problema: compartir información (algunos sistemas
impiden el acceso a los directorios de otros usuarios)
■ Aparece el concepto de ruta (path )
■ Archivos de sistema usuario especial
23
Directorio con estructura de árbol
■ Directorio de dos niveles árbol de dos niveles
■ Generalización árbol de altura arbitraria
(subdirectorios)
24
Directorio con estructura de árbol
■ Se reducen al mínimo los conflictos de nombres
■ Directorio archivo que se trata de manera especial

■ Los nombres de los archivos son rutas sobre el árbol


de directorios:rutas absolutas o relativas
■ Aparece el concepto de “directorio de trabajo ”
■ Política a seguir para la eliminación de directorios
■ C
“ aminos de búsqueda ” (facilita el hecho de que
varios usuarios quieran compartir ficheros)
25
Directorios en grafo acíclico
■ La estructura de árbol dificulta compartir archivos o
directorios
■ Se puede generalizar el esquema de directorio con
estructura de árbol permitiendo a los directorios tener
subdirectorios y archivos compartidos, sin ciclos
26
Directorios en grafo acíclico
■ ¿Cómo se puede implementar?
■ Duplicar la información (complica la consistencia)
■ Nueva entrada de directorio: ENLACE o LINK (es un puntero a
otro archivo o directorio)

■ Estructura de directorios de grafo acíclico es más


flexible que un árbol sencillo pero más compleja
■ Un mismo archivo podría tener diferentes nombres de camino
absoluto -> Copias de seguridad dobles???
■ Eliminación ¿ Cuándo puede liberarse o reutilizarse el
espacio asignado a un archivo compartido ?
27
Directorios en grafo acíclico
28
Organización de directorios: resumen
Directorio doble nivel ■ Caso particular
Usuarios pueden crear ■ Directorio grafo acíclico
subdirectorios
■ Requieren el uso de
Directorio estructura árbol algoritmos que detecten
Links ciclos en grafos (problema:
costoso en tiempo)

Directorio estructura grafo general


■ Problemas
■ Evitar búsquedas repetidas
■ Liberación de espacio al eliminar
un archivo
■ Recolector de basuras (“Garbage
Colection”)
■ Consume mucho tiempo y por
ello pocas veces se intenta
Sistemas Operativos: Sistema de Archivos

Ejecutables - Archivos ://


La estructura de los archivos ejecutables varia dependiendo del sistema en el que sea
compilado y linkeado el programa.
Una estructura ejemplo de un archivo ejecutable puede ser:

El número mágico permite al S.O determinar si el ejecutable es válido, comparándolo con


Número Mágico el o los valores que tiene el sistema como válido. En NachOS por ejemplo es el binario
0xbadfad.
Encabezado (Header)

Tamaño de código Tamaño en bytes que mide el segmento de código

Tamaño de datos Tamaño en bytes que mide el segmento de datos embedidos en el ejecutable

Tamaño de BSS Tamaño en bytes que mide el segmento de variables no inicializadas (Ej: int a[1000] )
Tamaño de tabla de Tamaño en bytes que tiene la tabla de símbolos
símbolos
Punto de ingreso Posición del Program Counter al inicio (punto de inicio del programa)

Segmento de código. Contiene las instrucciones que son ejecutadas por la CPU.
Código

Segmento de datos. Contiene datos que están embedidos en el archivo ejecutable que
Datos son utilizados por este.

La tabla de símbolos es un elemento opcional que sirve al debug de un proceso.


Tabla de Símbolos Contiene el listado de identificadores del programa (variables, procesos), los cuales
permiten depurar un programa en ejecución.
Sistemas Operativos: Sistema de Archivos

Atributos - Archivos ://

Los sistemas de archivos guardan, además del nombre del archivo y sus datos,
información como fecha, hora, usuario, permisos, etc; los cuales se denominan
atributos.

Algunos de los atributos que puede guardar un sistema de archivos son:

Protección Permisos que el dueño del archivo establece sobre el archivo.


En linux los permisos básicos se establecen en la terna XXX para el usuario,
grupo y otros respectivamente con los valores {0: nada, 1: ejecución,
2: escritura, 4: lectura} que se suman para combinar permisos.
Password Clave de protección del archivo

Dueño Usuario del sistema dueño del archivo

Oculto Bit que indica si el archivo figura en la lista normal de archivos.

Temporal Bit que indica si eliminar el archivo al terminar el proceso que lo creo.

Indicadores de Bloqueo Permiten establecer protecciones sobre parte o todo el archivo para que
modificaciones concurrentes de varios procesos se hagan de forma
adecuada.
Longitud del registro En archivos con registros, indica el largo de cada registro

Tamaño actual Tamaño actual del archivo en bytes.


Sistemas Operativos: Sistema de Archivos

Directorios ://

De manera de poder organizar los archivos,


muchos sistemas de archivos tienen /
directorios o carpetas; los cuales también
pueden ser archivos. usr
/

Estilo Unix
De su utilización se derivan los conceptos local/
de: share/

home/
- Directorio Raíz: aquel que contiene al resto del sistema
de archivos. En linux es explicito (/), en windows está jmakuc/
escondido detrás de las unidades lógicas (\??\)
cmolina/

- Directorio de trabajo: directorio en el cual se esta Las entradas X: se


ejecutando un proceso, como por ejemplo el interprete denominan
de comandos. Este se simboliza con un punto (.). unidades y
\??\ representan a
- Ruta absoluta: ubicación de un archivo o directorio particiones de los
discos
indicando su posición explicitando todos los directorios

Estilo Windows
desde el directorio raíz al elemento. Ej: /usr/local/
nachos/code/build.linux/nachos. C:\ D:\

- Ruta relativa: ubicación de un archivo o directorio Documents And Settings Videos


indicando su posición respecto al directorio de trabajo
actual. Temp mp3
Ej: ../build.linux/nachos
Windows Películas

- Directorio Padre: aquel en el cual es contenido un


directorio. Se simboliza con punto doble (..).

También podría gustarte