PDF de programación - Tema 5 - Sistemas de Ficheros

Imágen de pdf Tema 5 - Sistemas de Ficheros

Tema 5 - Sistemas de Ficherosgráfica de visualizaciones

Publicado el 10 de Febrero del 2017
291 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
  • Links de descarga
http://lwp-l.com/pdf2383

Comentarios de: Tema 5 - Sistemas de Ficheros (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad