Publicado el 3 de Mayo del 2019
466 visualizaciones desde el 3 de Mayo del 2019
350,5 KB
45 paginas
Creado hace 17a (01/01/2007)
SISTEMAS OPERATIVOS:
SISTEMAS DE FICHEROS
Directorios
Objetivos
2
¨ Conocer los conceptos de fichero y directorio así
como sus características.
¨ Utilizar los servicios de gestión de Ficheros y
directorios ofrecidos por el sistema operativo.
¨ Comprender la estructura de un sistema de ficheros.
¨ Comprender los mecanismos en los que se apoya un
servidor de ficheros y aplicarlos a ejercicios
sencillos.
Sistemas Operativos - Directorios
Contenido
3
¨ Directorios.
¨ Alternativas de estructura.
¨ Interpretación de nombres.
¨ Manipulación de directorios.
Sistemas Operativos - Directorios
Organización de ficheros
4
¨ Un sistema de ficheros puede almacenar gran
cantidad de ficheros.
¨ Se necesita algún mecanismo para organizar y
localizar los ficheros.
¨ Extensiones: Organización por tipo de fichero.
¨ Directorio: Metáfora de la carpeta con documentos.
Sistemas Operativos - Directorios
Concepto de directorio
5
¨ Directorio: Objeto que relaciona de forma unívoca un nombre
de usuario de fichero con su descriptor interno.
¨ Organizan y proporcionan información sobre la estructuración
de los sistemas de ficheros.
¨ Un directorio tiene entrada por cada fichero que alberga.
¨ Información de la entrada:
¤ Descriptor interno del fichero.
¤ Posiblemente, algunos atributos del fichero.
Sistemas Operativos - Directorios
Ejemplo: Explorador de Windows
6
Sistemas Operativos - Directorios
Directorios: visión lógica
7
¨ Esquema jerárquico.
¨ Cuando se abre un fichero el SO busca el nombre en la
estructura de directorios.
¨ Operaciones sobre un directorio:
¤ Crear (insertar) y borrar (eliminar) directorios.
¤ Abrir y cerrar directorios.
¤ Renombrar directorios.
¤ Leer entradas de un directorio.
¨ La organización jerárquica de un directorio
¤ Simplifica el nombrado de ficheros (nombres únicos)
¤ Proporciona una gestión de la distribución => agrupar
ficheros de forma lógica (mismo usuario, misma aplicación)
Sistemas Operativos - Directorios
Contenido
8
¨ Directorios.
¨ Alternativas de estructura.
¨ Interpretación de nombres.
¨ Manipulación de directorios.
Sistemas Operativos - Directorios
Alternativas de estructura
9
¨ Directorio de un único nivel.
¨ Directorio de dos niveles.
¨ Directorio con estructura de árbol.
¨ Directorio con estructura de grafo acíclico.
¨ Directorio con forma de grafo generalizado.
Sistemas Operativos - Directorios
Directorio de un nivel
10
¨ Un único directorio para todos los usuarios.
¨ Problemas con el nombrado de los ficheros.
¤ Alta probabilidad de coincidencia de nombres.
carta.doc
listado.xls
notas.txt
foto.jpg
Sistemas Operativos - Directorios
Directorio de dos niveles
11
¨ Un directorio por cada usuario.
¨ Camino de acceso automático o manual
¨ El mismo nombre de fichero para varios usuarios
¨ Búsqueda eficiente, pero problemas de agrupación
daniel
carlos
carta.doc
listado.xls
notas.txt
foto.jpg
foto.jpg
foto.jpg
Sistemas Operativos - Directorios
Directorio con estructura de árbol
12
¨ Búsqueda eficiente y agrupación
¨ Nombres relativos y absolutos -> directorio de trabajo
tmp
home
...
Directorio
raíz
...
usr
marivi miguel
...
elvira
datos
lista.c
claves
test
agenda
claves
bin
include
mail
stdio.h
buzon
correo
agenda
mio.o
Sistemas Operativos - Directorios
sh
rm
vi
Directorio con estructura de árbol
13
¨ Los nombres absolutos contienen todo el camino
¨ Los nombres relativos parten del directorio de trabajo o
actual
¨ Cambio de directorio:
cd /spell/mail/prog
cd prog
¨ Borrar un fichero: rm <nombre-fichero>
¨ Crear un subdirectorio: mkdir <nombre_dir>
¨ Ejemplo:
cd /spell/mail
mkdir count
ls /spell/mail/count
¨ Borrar un subdirectorio: rm -r mail
Sistemas Operativos - Directorios
Directorio de grafo acíclico
14
¨ Tienen ficheros y subdirectorios compartidos
¨ Este concepto no es visible para el usuario en
Windows.
tmp
home
...
Directorio
raíz
...
usr
marivi miguel
...
elvira
datos
lista.c
claves
test
agenda
claves
bin
include
mail
stdio.h
buzon
correo
agenda
claves
sh
rm
vi
Sistemas Operativos - Directorios
Directorio de grafo acíclico
15
¨ link: Un fichero con varios nombres -> control de enlaces
¤ un único fichero con contador enlaces en descriptor (e. Físicos)
¤ ficheros nuevos con el nombre destino dentro (e. simbólicos)
¨ Borrado de enlaces:
¤ a) decrementar contador; si 0 borrar fichero
¤ b) recorrer los enlaces y borrar todos
¤ c) borrar únicamente el enlace y dejar los demás
¨ Problema grave: existencia de bucles en el árbol. Soluciones:
¤ Permitir sólo enlaces a ficheros, no subdirectorios
¤ Algoritmo de búsqueda de bucle cuando se hace un enlace
¨ Limitación de implementación en UNIX: sólo enlaces físicos dentro del mismo
sistema de ficheros.
Sistemas Operativos - Directorios
Estructura de los directorios
16
¨ Tanto la estructura del directorio como los ficheros
residen en discos.
¨ Alternativas de implementación de directorios:
¤ Utilizar bloques especiales con la información del
directorio.
¤ Utilizar un fichero cuyo contenido es el directorio.
¨ Información en un directorio: nombre, tipo, dirección,
longitud máxima y actual, tiempos de acceso y
modificación, dueño, etc.
¤ En caso de usar un fichero la mayoría son metadatos
de dicho fichero.
Sistemas Operativos - Directorios
Estructura de directorio: Alternativas
17
¨ Directorios para ficheros contiguos.
¤ Asumen que todos los ficheros se almacenan con asignación
contigua.
¨ Directorios para ficheros enlazados.
¤ Asumen que todos los ficheros se almacenan con asignación
no contigua y los bloques se representan como una lista
enlazada.
¨ Directorios para ficheros indexados.
¤ Asumen que todos los ficheros se almacenan con asignación
no contigua y los bloques o extents se representan mediante
una estructura indexada
Sistemas Operativos - Directorios
Directorio para ficheros contiguos
18
¨ Entrada de directorio:
¤ Atributos del fichero en entrada de directorio.
¤ Identificador del primer bloque del fichero.
¤ Tamaño del fichero.
¨ Ejemplo: Formato ISO-9660 de CD-ROM
Ubicación
Fecha
Nombre
Longitud
Tamaño
Sistemas Operativos - Directorios
Directorio para ficheros enlazados
19
¨ Entrada de directorio:
¤ Atributos de fichero.
¤ Número del primer bloque.
¤ Tamaño del fichero.
¨ Ejemplo: FAT
Tipo
Hora Fecha
Tamaño
Nombre
Atributos
Nro Primer
bloque
Sistemas Operativos - Directorios
Directorio para ficheros indexados
20
¨ Alternativa más usada.
¨ Entrada de directorio:
¤ Nombre.
¤ Identificador de metadatos de fichero (nodo-i, entrada
MFT, …).
Id nodo-i
Nombre
Sistemas Operativos - Directorios
Directorios para ficheros indexados
21
¨ Ventajas:
¤ No hay que modificar el directorio para cambiar los
atributos de un fichero.
¤ No hay que modificar el directorio cuando un fichero
cambia de longitud.
¤ Un nodo-i puede representar un directorio o un fichero.
n Sencillez en la construcción de sistemas jerárquicos.
¤ La longitud de los nombres no está predeterminada.
¤ Fácil creación de sinónimos para el nombre de un
fichero.
Sistemas Operativos - Directorios
Organización del directorio
22
¨ Eficiencia: localizar un fichero rápidamente
¨ Nombrado: conveniente y sencillo para los usuarios
¤ Dos usuarios pueden tener el mismo nombre para ficheros
distintos
¤ Los mismos ficheros pueden tener nombres distintos
¤ Nombres de longitud variable
¨ Agrupación: agrupación lógica de los ficheros según sus
propiedades (por ejemplo: programas Pascal, juegos, etc.)
¨ Estructurado: operaciones claramente definidas y ocultación
¨ Sencillez: la entrada de directorio debe ser lo más sencilla
posible.
Sistemas Operativos - Directorios
Nombres jerárquicos
23
¨ Nombre absoluto: especificación del nombre respecto a
la raíz (/ en LINUX, \ en Windows).
¨ Nombre relativo: especificación del nombre respecto a
un directorio distinto del raíz
¤ Ejemplo: (Estamos en /users/) miguel/claves
¤ Relativos al dir. de trabajo o actual: aquel en el se está al
indicar el nombre relativo. En Linux se obtiene con pwd
¨ Directorios especiales:
¤ . Directorio de trabajo. Ejemplo: cp / users/miguel/claves .
¤ .. Directorio padre. Ejemplo: ls ..
¤ Directorio HOME: el directorio base del usuario
Sistemas Operativos - Directorios
Contenido
24
¨ Directorios.
¨ Alternativas de estructura.
¨ Interpretación de nombres.
¨ Manipulación de directorios.
Sistemas Operativos - Directorios
Interpretación de nombres en UNIX
25
¨ Cada directorio se almacena como un fichero con paras
<número de i-nodo, nombre de fichero>.
¨ Inicialmente en memoria el directorio /.
¨ ¿Cuantos bloques de disco ocupa un directorio?
¤ Depende del número de ficheros en el directorio y de la
longitud de los nombres.
¨ La búsqueda en un directorio es secuencial.
Sistemas Operativos - Directorios
Interpretación de nombres en UNIX
26
¨ Localizar el i-nodo del fichero /users/daniel/notas.txt.
El recorrido de cada directorio puede implicar
más de una lectura a disco.
.
..
carlos
daniel
80
2
88
121
.
..
proy
notas.txt
88
80
21
33
Daniel 10.0
.
..
tmp
users
bin
2
2
25
80
37
lectura
i-nodo 2
i-nodo 80
i-nodo 121
i-nodo 33
Sistemas Operativos - Directorios
Jerarquía de directorios
27
¨ ¿Árbol único de directorios?
¨ Ventajas: imagen única del sistema y ocultan el tipo de
¨ Desventajas: complican la traducción de nombres,
problemas para enlaces físicos entre ficheros
Sistemas Operativos - Directorios
¤ Por dispositivo lógico en Windows (c:\users\miguel\claves,
¤ Para todo el sistema en UNIX (/users/miguel/claves,
¨ Hacen falta servicios para construir la jerarquía:
j:\pepe\tmp, ...)
/pepe/tmp, ...).
mount y umount.
¤ mount /dev/hda /users
¤ umount
Comentarios de: Sistemas operativos: Sistemas de ficheros - Directorios (0)
No hay comentarios