Publicado el 10 de Febrero del 2017
628 visualizaciones desde el 10 de Febrero del 2017
1,6 MB
74 paginas
Tema 5
Sistemas de Ficheros
Sistemas Operativos
Tema 5 Sistemas de Ficheros p. 1
˝ndice
1. Introduccin (Tanenbaum [C6.Introduccin])
2. Ficheros (Tanenbaum [C6.1])
3. Directorios (Tanenbaum [C6.2])
4. Implementacin del sistema de cheros (Tanenbaum [C6.3])
5. Sistemas de cheros en Linux (Tanenbaum [C10.6])
6. Sistemas de cheros en Windows 2000 (Tanenbaum [C11.7])
Tema 5 Sistemas de Ficheros p. 2
1. Introduccin
El almacenamiento secundario es necesario para:
Almacenar gran cantidad de datos
Almacenar datos persistentes (vÆlidos entre
sesiones)
Compartir datos (si la proteccin de la memoria no
lo permite)
Los dispositivos de almacenamiento secundario
pueden ser muy distintos ) El S.O. debe proporcionar
una interfaz sencilla para acceder a dichos dispositivos
Solucin: sistema de cheros, basado en cheros y
directorios
Primero veremos el sistema de cheros desde el ^ del
usuario y, despuØs, desde el ^ del S.O. (implemen.)
Tema 5 Sistemas de Ficheros p. 3
˝ndice
2. Ficheros (Tanenbaum [C6.1])
2.1. Concepto de chero
2.2. Estructura de un chero. Tipos de cheros
2.3. Acceso a un chero
2.4. Atributos de un chero
2.5. Operaciones con cheros
2.6. Ficheros proyectados en memoria
2.7. SemÆnticas de comparticin Carretero[C8.2.5]
Tema 5 Sistemas de Ficheros p. 4
2. Ficheros: concepto y estructura
Un chero es la unidad lgica de almacenamiento y se
identica mediante un nombre (estructurado o no)
Son posibles varias estructuras:
secuencia de bytes (la mÆs genØrica)
secuencia de registros
Ærbol
1 Byte
1 Registro
Buho
Gallina
Pony
Cabra
Cerdo
Cordero
Gato
León
Perro
Rata
Vaca
Zorro
Gusano
Hormiga
Ibis
(a)
(b)
(c)
Tema 5 Sistemas de Ficheros p. 5
2. Tipos de cheros y accesos
Tipos de cheros
Ficheros normales o regulares (ASCII o binarios)
Directorios
Ficheros especiales
de caracteres
Ficheros especiales
de bloques
Número mágico
Tamaño del código
Tamaño de los datos
Tamaño del BSS
Tamaño tabla símbolos
Punto de entrada
Módulo
objeto
Cabecera
a
r
e
c
e
b
a
C
Nombre del
módulo
Fecha
Propietario
Protección
Tamaño
Acceso:
Secuencial
Aleatorio
16 Bits
Banderas
Código
Datos
Bits de
reasignación
Tabla de
símbolos
(a)
Cabecera
Módulo
objeto
Cabecera
Módulo
objeto
(b)
(a) Fichero ejecutable (b) Biblioteca
Tema 5 Sistemas de Ficheros p. 6
2.4 Atributos de un chero
Campo
Signicado
Proteccin
Contraseæa
Creador
Propietario
Bandera «slo lectura»
Bandera de ocultacin
Bandera de sistema
Bandera de biblioteca
Bandera ASCII/binario
Bandera de acceso aleatorio
Bandera temporal
Bandera de cerradura
Longitud de registro
Posicin de la clave
Longitud de la clave
Tiempo de creacin
Tiempo del œltimo acceso
Tiempo de la œltima modicacin Fecha y hora de la œltima modicacin del chero
Tamaæo actual
Tamaæo mÆximo
QuiØn debe tener acceso y de quØ forma
Contraseæa necesaria para tener acceso al chero
Identicador de la persona que cre el chero
Propietario actual
0 Lectura/escritura, 1 para lectura exclusivamente
0 normal, 1 para no exhibirse en listas
0 chero normal, 1 chero del sistema
0 ya se ha respaldado, 1 necesita respaldo
0 chero en ASCII, 1 chero en binario
0 slo acceso secuencial, 1 acceso aleatorio
0 normal, 1 eliminar al terminar el proceso
0 no bloqueado, 6= 0 bloqueado
Nœmero de bytes en un registro
Ajuste de la clave dentro de cada registro
Nœmero de bytes en el campo clave
Fecha y hora de creacin del chero
Fecha y hora del œltimo acceso al chero
Nœmero de bytes en el chero
Tamaæo mÆximo al que puede crecer el chero
Tema 5 Sistemas de Ficheros p. 7
2.5 Operaciones con cheros
Create: crea un chero vaco
Delete: elimina un chero
Open: abre un chero para operar con Øl
Close: cierra un chero abierto
Read/Write: lee/escribe datos de/en un chero
Append: escribe datos al nal del chero
Seek: especica el punto de lectura/escritura de datos en un
chero de acceso aleatorio
Get/Set attributes: obtiene/establece los atributos asociados
a un chero
Rename: cambia el nombre de un chero en un directorio
Truncate: elimina el contenido de un chero a partir de una
posicin dada
Tema 5 Sistemas de Ficheros p. 8
2.6 Ficheros proyectados en memoria
Es otra forma de acceder a un chero (sin operaciones read,
write, etc.)
Consiste en hacer corresponder una zona del espacio de
direcciones de un proceso con un chero
Dos nuevas funciones: mmap (crea la correspondencia) y
munmap (la elimina)
Se accede al chero como se accede a la mem. principal
%,-,/05E3,8
5E
7.;4
92, 5E
7.;4
#
#
46:0
,7.
46:0 ,7.
,5,/020247,
O/4
,948.43;,473.,
,94883;,473.,
7.;4!740.9,/4
!,
7.;4
46:0
46:0
46:0
46:0
46:0
Tema 5 Sistemas de Ficheros p. 9
2.6 Ficheros proyectados en memoria (II)
La tØcnica se adapta bien a la memoria virtual:
En paginacin: las pÆginas de una zona de memoria se
corresponden con el chero
Fallo de pÆgina ) leer pÆgina del chero
Reemplazo de pÆgina ) escribir modicaciones en chero
En segmentacin: un segmento se corresponde con el chero
Problemas de la proyeccin de cheros en memoria:
¿Se conoce el tamaæo exacto de un chero proyectado en
memoria o su tamaæo es mœltiplo del tamaæo de pÆgina?
¿QuØ pasa si el chero a proyectar es mayor que el tamaæo
mÆximo de segmento o mayor que el tamaæo mÆximo de la
memoria virtual?
¿QuØ pasa si un proceso proyecta un chero y otro proceso
accede a Øl mediante operaciones ordinarias (read,
write,. . . )?
Tema 5 Sistemas de Ficheros p. 10
2.7 SemÆnticas de comparticin
Puede ocurrir que dos o mÆs procesos usen el mismo
chero y uno de ellos escriba en Øl. ¿CuÆndo verÆn los
cambios el resto de procesos?:
SemÆntica Unix: inmediatamente
Problema: si varios procesos escriben sobre la
misma porcin del chero, el resultado nal se
desconoce
Solucin: Unix ofrece mecanismos para que un
proceso pueda bloquear todo el chero o parte de
Øl, y as poder hacer cambios de forma exclusiva
Tema 5 Sistemas de Ficheros p. 11
2.7 SemÆnticas de comparticin (II)
SemÆntica de sesin: cuando el proceso que modica el
chero lo cierre o explcitamente indique que se debe
actualizar
Las modicaciones slo son visibles para «sesiones»
posteriores del chero (siendo una «sesin» el conjunto
de operaciones que se realizan entre una operacin
«open» y la correspondiente operacin «close»)
El proceso que modica el chero tiene su propia copia
del chero, llamada «versin»
Problema: cuando varios procesos modican un mismo
chero, cada uno tiene su propia versin (posiblemente
obsoleta) del chero. Al nal, ¿quØ copia es la vÆlida?
Solucin: mecanismos de sincronizacin entre procesos
proporcionados por el S.O. (por ejemplo, para impedir que
2 o mÆs procesos modiquen a la vez el chero o para
mezclar el contenido de los mismos)
Tema 5 Sistemas de Ficheros p. 12
2.7 SemÆnticas de comparticin (III)
SemÆntica de cheros inmutables: nunca
Para escribir algo en un chero es necesario crear
uno nuevo y escribir en Øl los datos
El nuevo chero tendrÆ un nuevo nombre (salvo que
se borre el anterior)
Se puede utilizar una tØcnica de «copia en
escritura» para optimizar la implementacin
Tema 5 Sistemas de Ficheros p. 13
˝ndice
3. Directorios (Tanenbaum [C6.2])
3.1. Sistemas jerÆrquicos de directorios
3.2. Nombre de la ruta de acceso
3.3. Operaciones con directorios
Tema 5 Sistemas de Ficheros p. 14
3.1 Directorios
Suelen ser cheros que almacenan informacin sobre
otros cheros (nombre, atributos, etc.)
Son posibles distintas organizaciones:
Directorio œnico
Sistema jerÆrquico de directorios
Un directorio por usuario
Tema 5 Sistemas de Ficheros p. 15
3.2 Nombre de la ruta de acceso
Los SS.OO. con un sistema jerÆrquico de directorios suelen tener
dos formas bÆsicas para indicar la ruta de acceso o nombre de un
chero:
Ruta absoluta:
Especica el camino desde el directorio raz hasta el chero
El primer carÆcter de la ruta es el separador («/» en Unix, «n»
en Windows). Ejemplo: /usr/bin/mozilla
Ruta relativa:
Asociada al concepto de directorio actual o de trabajo
No empieza por el carÆcter separador y dependen del
directorio actual. Ejemplo: bin/mozilla si el directorio
actual es /usr
Dos directorios especiales:
Directorio «.»: directorio actual
Directorio «..»: directorio padre
Tema 5 Sistemas de Ficheros p. 16
3.3 Operaciones con directorios
Operaciones posibles:
Create: crea un directorio vaco
Delete: borra un directorio vaco
Opendir: abre un directorio para operar con Øl
Closedir: cierra un directorio abierto
Readdir: lee una entrada del directorio
Rename: cambia de nombre a un directorio
Link: crea un enlace fsico para un chero existente
Unlink: elimina un enlace fsico (o el cher
Comentarios de: Tema 5 - Sistemas de Ficheros (0)
No hay comentarios