You are on page 1of 79

Sistemas Operativos [El sistema de archivos]

M. en C. Sergio Luis Perez


Perez

UAM C UAJIMALPA , M EXICO


, D. F.
Trimestre 13-O

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

1 / 79

Archivos

Archivos I

que permite
Un archivo es un mecanismo de abstraccion
en un dispositivo de almacenamiento y
almacenar informacion

leerla despues.

Es importante distinguir entre archivo fsico y archivo logico.


de bytes almacenados en
Un archivo fsico es una coleccion
algun
dispositivo.

Un archivo logico
es como
un programa visualiza un archivo.
Dicho programa no tiene por que saber donde son escritos o
ledos los datos.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

2 / 79

Archivos

Archivos II
de archivos debe ser transparente para el
La administracion
usuario.
Las reglas para nombrar archivos varan de un sistema a otro.
Algunos sistemas permiten nombres de hasta 255 caracteres de
longitud.
Algunos sistemas de archivos distinguen entre mayusculas
y

minusculas
(Unix-Linux) mientras que otros no (Windows).

Windows 95 y 98 utilizaban el sistema de archivos de MS-DOS, y


las versiones posteriores utilizaban NTFS.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

3 / 79

Archivos

Archivos III
NTFS (New Technology File System) es un sistema de archivos
basado en el sistema de archivos HPFS de IBM/Microsoft usado
en el sistema operativo OS/2.
posee caractersticas del formato de archivos HFS
NTFS tambien

disenado
por Apple.
HPFS (High Performance File System) fue un sistema de archivos
creado especficamente para el OS/2.
El objetivo de HPFS era mejorar las limitaciones del sistema de
archivos FAT.
HPFS fue escrito por Gordon Letwin.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

4 / 79

Archivos

Archivos IV
FAT (file allocation table) es un sistema de archivos desarrollado
el sistema de archivos principal de las
para MS-DOS y, ademas,
ediciones no empresariales de Microsoft Windows.
Los sistemas de archivos suelen considerar dos partes para el
nombre del archivo, ambas separadas por un punto.
La primera parte es el nombre que el usuario desea para el
se utiliza para
archivo y la segunda parte, llamada extension,
ayudar a determinar el tipo de archivo.
convenciones mientras
En Unix los nombres de archivo son solo
que en Windows se suele asociar un significado.
Algunas formas de estructuras archivos son:

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

5 / 79

Archivos

Archivos V
no estructura de
de bytes. Se cuenta con una sucesion
Sucesion
bytes y el SO no sabe y no le interesa el contenido del archivo.
de registros. En este tipo de estructura los archivos son
Sucesion
de registros de longitud fija. En este modo las
una sucesion
operaciones de lectura devuelven un registro y las de escritura
sobreescriben o anexan otro.

Arboles.
El archivo consiste de un arbol
de registros no
necesariamente de la misma longitud.

Que tipos de estructura de arbol


conoce?
Algunos tipos de archivos son:
de usuario. Pueden
Archivos normales. Contienen informacion
ser ASCII o binarios.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

6 / 79

Archivos

Archivos VI
Directorios. Son archivos del sistema que permiten mantener la
estructura del sistema de archivos.
Archivos especiales de caracteres. Sirven para modelar los
dispositivos E/S en serie.
Archivos especiales de bloques. Sirven para modelar discos.

Los archivos ASCII tienen la ventaja de que pueden editarse con


cualquier editor de texto.
ASCII (American Standard Code for Information Interchange es

un codigo
de caracteres basado en el alfabeto latino, tal como se
moderno y en otras lenguas occidentales.
usa en el ingles

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

7 / 79

Archivos

Archivos VII

El codigo
ASCII se creo en 1963 por el ANSI (American National
Standards Institute).
En 1967 se incluyeron las minusculas
y se redefinieron algunos

codigos
de control, lo que dio pie al US-ASCII.

Los archivos binarios mantienen una estructura que solo


pueden entender los programas que lo usan.
Un archivo binario ejecutable tiene la siguiente estructura:
Encabezado. Se compone de un identificador de archivo
de texto, tamano
de datos, tamano
de los bits
ejecutable, tamano
tamano
de tabla de smbolos y punto de ingreso.
de reubicacion,
Texto.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

8 / 79

Archivos

Archivos VIII

Datos.

Bits de reubicacion.
Tabla de smbolos.

Un archivo binario permanente consiste de los siguiente:

Encabezado. Se compone del nombre del modulo,


la fecha, el
y el tamano.

propietario, la proteccion

Modulos
que lo conforman.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

9 / 79

Archivos

Archivos IX

Tipos de acceso a archivos


Acceso secuencial. Un archivo es accedido leyendo sus bytes
en orden comenzando por el primer byte o registro. Generalmente
se utilizaba cuando el dispositivo de almacenamiento era una

cinta magnetica.
Acceso aleatorio. En este tipo de archivo los bytes o registros
pueden leerse en cualquier orden. Su uso es fundamental en
diversas aplicaciones tales como bases de datos.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

10 / 79

Archivos

Archivos X
Atributos de archivos I

Los atributos de archivo permiten asociar alguna informacion


adicional a los archivos. Algunos atributos de archivo son:
puede tener acceso al archivo.
Indican quien
Proteccion.
Es la clave necesaria para tener acceso al archivo.
Contrasena.
Creador. Es el identificador de la persona que crea el archivo.
Indica el propietario actual.
Dueno.

lectura. 0 para leer/escribir. 1 para solo


Indicador de solo
lectura.
Indicador de oculto. 0 para normal. 1 para no mostrarlo en
listados.
Indicador de sistema. 0 para archivos normales. 1 para archivo
de sistema.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

11 / 79

Archivos

Archivos XI
Atributos de archivos II
Indicador de archivado. 0 para ya respaldado. 1 para
respaldarse.
Indicador de ASCII/binario. 0 para archivo ASCII. 1 para archivo
binario.
acceso secuencial. 1
Indicador de acceso aleatorio. 0 para solo
para acceso aleatorio.
Indicador de temporal. 0 para normal. 1 para borrarlo al terminar
el proceso.
Indicadores de bloqueo. 0 para sin bloqueo. Distinto de cero si
esta bloqueado.
Longitud de registro. Numero
de bytes en un registro.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

12 / 79

Archivos

Archivos XII
Atributos de archivos III
de clave. Distancia a la clave, dentro de cada registro.
Posicion
Longitud de clave. Numero
de bytes en el campo clave.

Fecha y hora en que se creo el archivo.


Hora de creacion.
Hora de ultimo

acceso. Fecha y hora en que se tuvo acceso por


ultima
vez al archivo.

Hora de ultimo

cambio. Fecha y hora en que se modifico por


ultima
vez el archivo.

actual. Numero
Tamano
de bytes en el archivo.

maximo.

Tamano
Numero
de bytes que puede alcanzar el

archivo.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

13 / 79

Archivos

Archivos XIII
Operaciones con archivos I
comunes relacionadas con archivos son:
La llamadas al sistema mas
algunos valores
Create. Se crea un archivo sin datos con solo
iniciales por defecto.
Delete. Elimina el archivo para desocupar el espacio en disco.
Open. Permite abrir un archivo para luego usarlo.
Close. Se utiliza para cerrar el archivo toda vez que se han
terminado los accesos.

Read. Permite leer los datos del archivo desde una posicion
actual.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

14 / 79

Archivos

Archivos XIV
Operaciones con archivos II

Write. Se escriben datos en el archivo a partir de una posicion


actual.
Append. Es una forma restrictiva del write pues solo puede
agregar datos al final del archivo.
Seek. Permite reubicar el apuntador de archivo en algun
punto

especfico de este.
Get attributes. Permite leer los atributos de un archivo.
Set attributes. Permite establecer o modificar los atributos de un
archivo.
Rename. Permite cambiar el nombre de un archivo existente.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

15 / 79

Directorios

Directorios I

Los directorios permiten llevar el control de los archivos.


Algunas formas de organizar el sistema de directorios son:
nivel.
Sistemas de directorios de un solo
Sistemas de directorios de dos niveles.

Sistemas de directorios jerarquicos.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

16 / 79

Directorios

Directorios II
nivel
Sistemas de directorios de un solo
directorio que contiene a todos los archivos.
Consiste de un solo
Generalmente se denomina directorio raz.
de los archivos con
Es un esquema sencillo y permite la ubicacion
rapidez.
Los problemas ocurren cuando se tienen multiples
usuarios para

un solo directorio.
Este esquema no se utiliza en sistemas multiusuario pero podra
utilizarse en un sistema empotrado.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

17 / 79

Directorios

Directorios III
Sistemas de directorios de dos niveles
En este esquema se da a cada usuario un directorio privado.
De este modo se elimina el problema de que varios usuarios
utilicen el mismo dispositivo de almacenamiento.
Este esquema requera que los usuarios utilizaran un nombre de
usuario y password para acceder a sus propios directorios.
Sin embargo es posible ejecutar archivos de otros usuarios (en
otros directorios).
Lo anterior se requiere para poder ejecutar los programas de
usuario que todos desean utilizar.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

18 / 79

Directorios

Directorios IV

Sistemas de directorios jerarquicos


I

Establece un arbol
de directorios tal que cada usuario puede
tener tantos directorios como necesite.
De este modo los usuarios pueden organizar mejor su trabajo.
Casi todos los sistemas de archivos actuales se encuentran
organizados de este modo.
Para especificar los nombres de archivo pueden utilizarse dos

metodos:
nombre de ruta absoluta y nombre de ruta relativa.
El nombre de ruta absoluta considera el camino que debe
seguirse para llegar al archivo desde el directorio raz.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

19 / 79

Directorios

Directorios V

Sistemas de directorios jerarquicos


I
considera el nombre de un
El nombre de ruta relativa solo
archivo sin la ruta desde el directorio raz, siempre y cuando se
encuentre en el directorio de trabajo.
El directorio de trabajo o directorio actual se refiere al
directorio en el que un usuario se encuentra ubicado actualmente.
En Unix el separador para distinguir entre directorios es /
mientras que en Windows el separador comun
es \ aunque
se puede utilizar el de Unix.
tambien
El directorio raz en Unix se denota con /, mientras que en
Windows se debe especificar primero una unidad de
almacenamiento digamos C:.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

20 / 79

Directorios

Directorios VI
Operaciones con directorios I
comunes para administrar directorios son:
La llamadas al sistema mas
Create. Crea un directorio el cual esta casi vaco, pues contiene
por defecto los directorios punto y punto punto.
Delete. Elimina el directorio siempre y cuando este vaco (aunque
contenga los directorios punto y punto punto).
Opendir. Permite abrir un directorio para luego usarlo.
Closedir. Se utiliza para cerrar el directorio.
Readdir. Permite leer la siguiente entrada de un directorio abierto.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

21 / 79

Directorios

Directorios VII

Operaciones con directorios II


Rename. Permite cambiar el nombre de un directorio existente.
Link. Se utiliza para permitir que un archivo pueda aparecer en
de un directorio. Esta llamada requiere de un nombre de
mas
archivo y el nombre de la ruta que se desea ligar al archivo.
se
Unlink. Borra un archivo del sistema de archivos si es que solo
elimina la referencia
encuentra en un directorio, de otro modo solo
del archivo del directorio actual.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

22 / 79

del sistema de archivos


Construccion

del sistema de archivos I


Construccion
El sistema de archivos estara almacenado en el disco.
Si el disco se divide en varias particiones entonces cada una de
ellas tendra su propio sistema de archivos.
El sector 0 del disco se conoce como registro maestro de
arranque MBR (Master Boot Record) y es el que arranca la
computadora.
Al final del MBR se encuentra una tabla de particiones que

contiene las direcciones inicial y final de cada particion.


Que ocurre cuando se enciende la computadora?

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

23 / 79

del sistema de archivos


Construccion

del sistema de archivos II


Construccion
1

El BIOS (Basic Input-Output System) lee el MBR del disco y lo


ejecuta.

activa y lee el primer bloque,


El MBR primero localiza la particion
llamado bloque de arranque, y lo ejecuta.
tambien

Entonces el programa del bloque de arranque carga el SO


Todas las particiones cuentan con un
contenido en esa particion.
bloque de arranque.

de archivos son:
Algunos metodos
para realizar la implementacion
contigua.
Asignacion
por lista enlazada.
Asignacion
por lista enlazada mediante una tabla en memoria.
Asignacion
Estructura de datos de nodo-ndice.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

24 / 79

del sistema de archivos


Construccion

del sistema de archivos III


Construccion
contigua I
Asignacion
Cada archivo es almacenado en una serie contigua de bloques.
Este esquema es sencillo de implementar ya que para saber

se requiere
donde
se encuentran los bloques de un archivo solo
del primer bloque y el tamano.

conocer la direccion

Otra ventaja es que la lectura es muy rapida


pues se necesita solo
un desplazamiento del brazo y luego leer los bloques contiguos.
La desventaja es que al borrar archivos se van creando huecos

en el disco y es necesario realizar una compactacion.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

25 / 79

del sistema de archivos


Construccion

del sistema de archivos IV


Construccion

contigua II
Asignacion
puede ser ayudada al solicitar al usuario el
La compactacion
del archivo que va a crear para ubicarlo en el mejor hueco
tamano

y as evitar hasta donde sea posible la compactacion.


desde el punto de vista del usuario?
Es esta una buena solucion
En que tipo de hardware puede utilizarse el esquema de
contigua sin problemas?
asignacion

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

26 / 79

del sistema de archivos


Construccion

del sistema de archivos V


Construccion
por lista enlazada
Asignacion
Se crea una lista enlazada de bloques para cada archivo.
La primera palabra de cada bloque se utiliza como apuntador al
siguiente bloque del archivo.

de disco.
En este caso no existe perdida
por la fragmentacion
El problema es que el acceso se vuelve pseudo-aleatorio y por
tanto bastante lento.
Otro problema es que los primeros bytes o palabra de cada
que no es propia del
bloque del archivo contiene informacion
archivo.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

27 / 79

del sistema de archivos


Construccion

del sistema de archivos VI


Construccion
por lista enlazada mediante una tabla en memoria
Asignacion
Es igual que el anterior pero en lugar de poner las referencias
junto con el bloque, se utiliza una tabla en memoria.
con una tabla en memoria se conoce
Este tipo de asignacion
como FAT (File Allocation Table).
Dado que la secuencia de referencias de bloques de un archivo
facil
ir a una parte en
se encuentra en memoria, es mas
especfica del archivo.
se almacenara la referencia a la
En el directorio de archivos solo
en la tabla del primer bloque de un archivo.
posicion
La desventaja es que para que esto funcione la tabla debe estar
en memoria siempre.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

28 / 79

del sistema de archivos


Construccion

del sistema de archivos VII


Construccion

Estructura de datos de nodo-ndice


Se utiliza una estructura de datos llamada nodo-ndice los
atributos y direcciones en disco de los bloques de un archivo.
fijo n.
Suele ser de tamano

Si k es el numero
maximo
de archivos que pueden estar abiertos

se requiere n k espacio en
al mismo tiempo entonces solo
memoria.
de n bytes para poder ser
Que hacer si un archivo requiere mas
referenciado?

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

29 / 79

del sistema de archivos


Construccion

del sistema de archivos I


Construccion
Que ocurre con el sistema de archivos cuando se abre un archivo?
Al abrirse un archivo el SO utiliza el nombre proporcionado por el
usuario para localizar la entrada correspondiente en el directorio.
necesaria
Dicha entrada de directorio provee la informacion
para encontrar los bloques de disco.
El objetivo principal del sistema de directorios es establecer una

correspondencia entre el nombre de archivo y la informacion


necesaria para localizar los datos.
Algunos sistemas de archivos guardan todos los atributos de un
archivo junto con la entrada correspondiente en el directorio
(MS-DOS).

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

30 / 79

del sistema de archivos


Construccion

del sistema de archivos II


Construccion
suelen mantener nombres de archivo de longitud fija.
Tambien
mantienen en la entrada del directorio el
Otros sistemas solo
nombre del archivo y la referencia al nodo-ndice (UNIX).

fija en cada entrada de


Otro metodo
es utilizar una porcion
variable.
directorio y una porcion
fija comienza con una longitud de entrada del archivo y
La porcion

continua con una serie de parametros


de longitud fija.
variable es el nombre del archivo y debe terminar con
La porcion
el caracter nulo.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

31 / 79

del sistema de archivos


Construccion

del sistema de archivos III


Construccion
Otra alternativa es que todas las porciones fijas de cada entrada
de directorio se almacenen de forma consecutiva y en otro lugar
los nombres de directorio en una especie de montculo (heap).
es utilizar tablas de dispersion
(hash):
Otra opcion
de la tabla es n.
Supongamos que el tamano
1

Primero, se utiliza algun


criterio para asociar al nombre del archivo
un valor entre 0 y n 1.

Luego, se examina la entrada de la tabla correspondiente al codigo


obtenido.
Si la ranura ya esta usada se construye una lista ligada que para

ah encadenar todas las entradas con el mismo codigo.

Para consultar un archivo se sigue un proceso parecido al


anterior.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

32 / 79

Ejemplos de sistemas de archivos

Ejemplos de sistemas de archivos I


Algunos ejemplos de sistemas de archivos son:
Sistemas de archivos de CD-ROM.
Sistema de archivos de MS-DOS.
Sistema de archivos de Windows 98.
Sistema de archivos de Windows 2000.
Sistema de archivos de UNIX V7.
Sistema de archivos de UNIX.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

33 / 79

Ejemplos de sistemas de archivos

Sistemas de archivos de CD-ROM

Sistemas de archivos de CD-ROM I


Un CD-ROM (Compact Disc - Read Only Memory) es un
prensado disco compacto que contiene los datos de acceso, sin
permisos de escritura.

El CD-ROM estandar
fue creado en 1985 por Sony y Philips.
Los sistemas de archivos de CD-ROM son sencillos pues trabajan
se escribe una vez.
bajo el supuesto de que solo

comun
El estandar
mas
para sistemas de archivos de CD-ROM
es el ISO 9660 y fue establecido en 1998.
Los CD-ROM se componen de una sola espiral continua que
lineal.
contiene los bits en sucesion

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

34 / 79

Ejemplos de sistemas de archivos

Sistemas de archivos de CD-ROM

Sistemas de archivos de CD-ROM II

Los bits de la espiral se dividen en bloques logicos,


llamados
sectores, de 2352 bytes.
de errores y
Algunos de esos bytes se utilizan para la correccion
2048 bytes son utiles.
otros gastos adicionales y solo

y
Cuando se graba musica,
para dejar los espacios entre cancion

lo que ocurre es que se dejan bloques sin grabar.


cancion,
Esto se logra teniendo en cuenta que cierto numero
de bloques

es igual a un segundo.

de los primeros 16 bloques


Bajo el estandar
ISO 9660, la funcion
definidos.
de un CD-ROM no estan

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

35 / 79

Ejemplos de sistemas de archivos

Sistemas de archivos de CD-ROM

Sistemas de archivos de CD-ROM III


Dichos bloques podran utilizarse para crear un disco de arranque.
de dichos bloques, viene el descriptor de volumen
Despues
primario que se compone de:
Identificador del sistema (32 bytes).
Identificador de volumen (32 bytes).
Identificador del productor (128 bytes).
Identificador del preparador de datos (128 bytes).
Archivo de resumen.
Archivo de derechos de autor.
bibliografica.

Informacion

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

36 / 79

Ejemplos de sistemas de archivos

Sistemas de archivos de CD-ROM

Sistemas de archivos de CD-ROM IV


del bloque logico

Tamano
(potencias de 2, como 2048, 4096 y
8192).
Numero
de bloques del CD-ROM.

y de expiracion.

Fechas de creacion
del contenido del directorio raz (donde inicia el
Informacion
sistema de archivos).

directorios constan de un
El directorio raz as como los demas
numero
variable de entradas.

es de longitud variable y se
Cada entrada de directorio tambien
compone de:
Longitud de entrada de directorio (1 byte).

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

37 / 79

Ejemplos de sistemas de archivos

Sistemas de archivos de CD-ROM

Sistemas de archivos de CD-ROM V


Longitud de registro de atributos extendidos (1 byte). Es la
longitud de los atributos extendidos pero suelen ser opcionales.
del bloque
del archivo (8 bytes). Basta con la ubicacion
Ubicacion
para determinar la ubicacion
de todos los
inicial y el tamano
bloques.
del archivo (8 bytes).
Tamano
mes, da, hora,
Fecha y hora (7 bytes). Contiene campos para ano,
se empezaron a
minuto, segundo y uso horario. Dado que los anos
2156 habra problemas, por que?.

contar de 1900, en el ano


Marcadores (1 byte). Contiene bits de significado como: bit de
entrada oculta, bit para distinguir entre archivo y directorio, bit para
habilitar los atributos extendidos, entre otros.
(1 byte).
Intercalacion

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

38 / 79

Ejemplos de sistemas de archivos

Sistemas de archivos de CD-ROM

Sistemas de archivos de CD-ROM VI


Numero

de CD (4 bytes). Permite indicar que corresponde a una


entrada de directorio de un archivo situado en otro CD-ROM.
Nombre del archivo (Longitud variable).
Relleno. Permite que toda entrada de directorio tenga un numero

par de bytes.

Es importante mencionar que cada campo binario se encuentra


codificado dos veces: big endian (Motorola) y little endian (Intel).

Dentro de un directorio las entradas aparecen en orden alfabetico


de las dos primeras que representan el directorio
con excepcion
en s y su padre (como . y .. de Unix).
No hay lmite de archivos por directorio.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

39 / 79

Ejemplos de sistemas de archivos

Sistemas de archivos de CD-ROM

Sistemas de archivos de CD-ROM VII


La profundidad lmite para los directorios a partir de la raz es
ocho.
ISO 9660 define tres niveles de uso:
1

tres para
Nivel 1: Limita el nombre del archivo a 8 caracteres y solo

la extension.

Nivel 2: Permite nombres de archivos de hasta 31 caracteres.

Nivel 3: Igual que el nivel 2 para la parte de nombres pero permite


que un archivo pueda estar dividido en secciones no
necesariamente contiguas.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

40 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de MS-DOS

Sistema de archivos de MS-DOS I

de MS-DOS (MS-DOS 1.0) se limito a un solo


La primera version
directorio.
A partir del MS-DOS 2.0 se permitio que la profundidad de los
directorio fuera arbitraria.
El numero
de archivos o directorios a crear en cada directorio

esta limitado por el espacio en disco.


solo
Uno de los problemas de MS-DOS es que no existe el concepto
puede
de usuario por cada archivo por lo que el que inicie sesion
tener acceso a todos los archivos.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

41 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de MS-DOS

Sistema de archivos de MS-DOS II


de
La entradas de directorio son de 32 bytes pero la informacion
directorio es de longitud variable.
Una entrada de directorio de MS-DOS contiene la siguiente

informacion:
Nombre de archivo (8 bytes).
(3 bytes).
Extension
lectura, bit de respaldo
Atributos (1 byte). Bit de oculto, bit de solo
y bit de archivo de sistema.
Reservado (10 bytes). No se usan.
Hora (2 bytes). Tiene una exactitud de 2 segundos pues 2 bytes
permiten almacenar hasta 65536 valores mientras que el da
solo
tiene 86400 segundos. De modo que para la hora se utilizan 5 bits,
6 para el minuto y 5 para los segundos.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

42 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de MS-DOS

Sistema de archivos de MS-DOS III


Fecha (2 bytes). Se utilizan 5 bits para el da, 4 para el mes y 7
contando a partir de 1980.
para el ano
Numero

del primer bloque (2 bytes).


de archivo (4 bytes). Dado que la cuenta es de bytes se
Tamano
pueden tener archivos hasta de 4GB (en teora).

MS-DOS lleva el control de los bloques de archivo por medio de


de archivos (FAT) en memoria.
una tabla de asignacion
El numero
de primer bloque se utiliza como ndice para consultar

la tabla FAT de 64K entradas.


El sistema de archivos FAT viene en tres versiones para MS-DOS:
FAT-12, FAT-16 y FAT-32.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

43 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de MS-DOS

Sistema de archivos de MS-DOS IV


en
Con FAT-N, N denota el numero
de bits que tiene una direccion

disco, aunque FAT-32 en realidad tiene 28 bits.


En todas las versiones FAT el bloque de disco debe ser un
multiplo
de 512 bytes.

Cuando aparecieron los discos duros se comenzaron a manejar


de bloque de 1, 2 y 4 KB.
tamanos
de bloque de 4 KB se podan tener particiones de
Con tamanos
disco de hasta 16 MB para FAT-12 (212 212 ).
Como MS-DOS reconoca cuatro particiones por unidad de disco
entonces poda utilizarse en discos de hasta 64 MB.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

44 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de MS-DOS

Sistema de archivos de MS-DOS V


maximo

La siguiente tabla muestra el tamano


que puede manejar
MS-DOS para diferentes versiones FAT y tamanos

una particion
de bloque.
de bloque FAT-12 FAT-16
Tamano
FAT-32
0.5 KB
2 MB
1 KB
4 MB
2 KB
8 MB
128 MB
4 KB
16 MB 256 MB
1 TB
8 KB
512 MB
2 TB
16 KB
1024 MB 2 TB
32 KB
2048 MB 2 TB
de Windows 95.
FAT-32 aparecio a partir de la segunda version

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

45 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 98

Sistema de archivos de Windows 98 I


Para que el sistema de archivos de Windows 98 fuera compatible
con Windows 95 y Windows 3, Microsoft decidio mantener un tipo
de estructura de datos compatible con tales versiones.
en
FAT-32 permitio resolver ese problema y se utilizara tambien
Windows ME y NT.
Las entradas de directorio continuaron siendo de 32 bytes pero se
utilizaron los 10 bytes que se tenan reservados anteriormente.
Una entrada de directorio de Windows 98 contiene la siguiente

informacion:
Nombre de archivo (8 bytes).
(3 bytes).
Extension

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

46 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 98

Sistema de archivos de Windows 98 II


Atributos (1 byte).
NT (1 byte). Este campo permite asegurar la compatibilidad con
Windows NT, desplegando los nombres de archivo en el caso
se permitan mayusculas).
correcto (para MS-DOS solo

Seg (1 byte). Es un campo complementario para la fecha y hora de


lo que permite una precision
de hasta 10 ms.
creacion
Fecha y hora (4 bytes).
Ultimo acceso (2 bytes). Almacena la fecha de ultimo acceso
(pero no la hora).
16 bits superiores del bloque inicial (2 bytes) . Con esto se
permite que los numeros
de bloque sean de 32 bits.

Fecha y hora de ultima

escritura (4 bytes).

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

47 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 98

Sistema de archivos de Windows 98 III


16 bits superiores del bloque inicial (2 bytes).
de archivo (4 bytes). Dado que la cuenta es de bytes se
Tamano
pueden tener archivos hasta de 4GB (en teora).

para que se pudieran crear nombres de archivo largos


La solucion
y se mantuviera la compatibilidad con MS-DOS fue asociar a
cada archivo dos nombres.
Uno era el nombre largo que permita caracteres Unicode para la
compatibilidad con Windows NT y el otro corto para la
compatibilidad con MS-DOS.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

48 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 98

Sistema de archivos de Windows 98 IV


Para convertir un nombre largo en un nombre corto se tomaban

los primero seis caracteres validos


del nombre largo y se anexaba
el sufijo N donde N es un numero
consecutivo.

Si el archivo tena un nombre largo y deseaba almacenarse en


MS-DOS entonces se agregaban bloques de entrada que
contenan el resto del nombre del archivo.
Cada bloque adicional al de la entrada principal permita agregar
13 caracteres Unicode del modo siguiente:
Secuencia (1 byte).
5 caracteres (10 bytes).
Atributos (1 byte).

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

49 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 98

Sistema de archivos de Windows 98 V


0 (1 byte).
(1 byte).
Suma de comprobacion
6 caracteres (12 bytes).
0 (2 bytes).
2 caracteres (4 bytes) .

Para que Windows 98 distinguiera entre bloques de entrada y


bloques correspondientes a nombres de archivo largos, se
utilizaba el valor 0 en los atributos.

0 es un valor invalido
para los atributos, por lo que los programas
de MS-DOS viejos ignoran tales bloques.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

50 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 98

Sistema de archivos de Windows 98 VI


Para llevar la cuenta de bloques que componen el nombre largo
se utiliza el primer byte de la entrada (Secuencia).
Puesto que el primer campo de Secuencia es de un byte podra
pensarse en utilizar nombres tan largos como 28 13 caracteres
Unicode.
se utilizan 6 bits de ese byte y de hecho solo
se
Sin embargo solo
permiten nombres de hasta 260 caracteres Unicode.
Los nombres largos se almacenan del siguiente modo:
Se crea el nombre de archivo MS-DOS y correspondera a la ultima

entrada de directorio del archivo.


Al nombre MS-DOS lo precede la primera parte del nombre largo,
que a su vez es precedida por el resto del nombre.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

51 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 98

Sistema de archivos de Windows 98 VII


Al principio de todas las entradas se encontrara la ultima parte del
archivo.

se utiliza para que Windows 98 se de


La suma de comprobacion
cuenta de que el nombre MS-DOS que sigue a un nombre largo
en verdad corresponde a dicha entrada.
crea tantas
FAT-32 tiene la ventaja (sobre FAT-16) de que solo
entradas de archivo como necesite.
no mantiene todas las entradas siempre en memoria,
Ademas
una parte de ellas.
sino solo

Como
se almacenara el nombre largo Este es un nombre
largo?

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

52 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 2000

Sistema de archivos de Windows 2000 I


Windows 2000 reconoce los sistemas de archivos FAT-16, FAT-32
y NTFS.
NTFS fue creado especficamente para Windows NT e
incorporado en Windows 2000.
NTFS utiliza direcciones de disco de 64 bits y puede manejar
particiones de hasta 264 bytes (en teora).
Las caractersticas principales de NTFS son:
limitados a 255 caracteres y se
Los nombres de archivo estan
permite Unicode.
limitadas a 32767
Las rutas completas de un archivo estan
caracteres.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

53 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 2000

Sistema de archivos de Windows 2000 II


Distingue entre mayusculas
y minusculas
(la API Win32 es la que

no reconoce tal diferencia).


Un archivo consiste de multiples
atributos representados mediante

un flujo de bytes.
Todos los archivos contienen algunos flujos cortos y algunos largos.
Ejemplos de flujos cortos son el nombre del archivo y su
identificador de objeto (de 64 bits).
Ejemplos de flujos largos son todos los que contienen los datos del
archivo.

La longitud maxima
de un flujo es 264 bytes.
La apertura de archivos devuelve un identificador (que se utiliza
para leer y escribir el archivo).

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

54 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 2000

Sistema de archivos de Windows 2000 III


La idea del uso de flujos se tomo de Apple Macintosh donde los
archivos tienen dos flujos: la rama de datos y la rama de recursos.
Los flujos de archivo permiten que un archivo pueda utilizarse con
mayor eficiencia.
de texto
Un ejemplo del uso de flujos de archivo es en la edicion
temporal
donde se utilizan dos flujos: uno se utiliza para la version
final.
del archivo (que se esta editando) y el otro para la version
Las llamadas a funciones de la API Win32 para manipular
archivos y directorios son similares a las equivalentes en Unix.
se presentan las principales funciones API Win32:
A continuacion

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

55 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 2000

Sistema de archivos de Windows 2000 IV


Principales funciones de la API Win32 para E/S de archivos
CreateFile. Devuelve un identificador que permite crear o abrir un
archivo.
DeleteFile. Destruye un archivo.
CloseHandle. Cierra un archivo.
ReadFile. Lee los datos de un archivo.
WriteFile. Escribe datos en un archivo.

SetFilePointer. Coloca el apuntador de archivo en una posicion


especfica.
GetFileAttributes. Devuelve las propiedades de archivo.
del archivo para exclusion
mutua.
LockFile. Bloquea una region
del archivo.
UnlockFile. Desbloquea una region

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

56 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 2000

Sistema de archivos de Windows 2000 V


/*Ejemplo de uso de algunas funciones de la API de Windows*/
void copiarArchivo(){
HANDLE original, copia;
DWORD cont;
int s;
char buffer[TAM BUFFER+1];
original = CreateFile(APIWindows.c, GENERIC READ,
0, NULL, OPEN EXISTING, 0, NULL);
copia = CreateFile(APIWindows(copia).c, GENERIC WRITE,
0, NULL, CREATE ALWAYS, FILE ATTRIBUTE NORMAL,
NULL);

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

57 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 2000

Sistema de archivos de Windows 2000 VI

do{
s = ReadFile(original, buffer, TAM BUFFER, &cont, NULL);
printf(s = %d %d\n, s, cont);
if(s && cont > 0)
WriteFile(copia, buffer, cont, &cont, NULL);
}while(s > 0 && cont > 0);
CloseHandle(original);
CloseHandle(copia);
return;
}

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

58 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 2000

Sistema de archivos de Windows 2000 VII


Principales funciones de la API Win32 para administrar directorios
CreateDirectory. Crea un nuevo directorio.
RemoveDirectory. Elimina un directorio siempre y cuando este
vaco.
FindFirstFile. Coloca el apuntador para comenzar a leer las
entradas de un directorio.
FindNextFile. Lee la siguiente entrada de directorio.
MoveFile. Permite cambiar un archivo de directorio.
SetCurrentDirectory. Cambia el directorio de trabajo actual.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

59 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 2000

Sistema de archivos de Windows 2000 VIII

NTFS es un sistema de archivos jerarquico


y mantiene los
conceptos de directorio de trabajo actual, de ruta absoluta y de
ruta relativa.
Cada volumen NTFS se conforma de archivos, directorios, mapas
de bits y otras estructuras de datos.
lineal de bloques
Cada volumen se organiza como una sucesion
que puede variar entre los 512 bytes y 64 KB.
La principal estructura de datos de cada volumen es la tabla
maestra de archivos (MFT: Master File Table).
lineal de registros de tamano
fijo (1 KB)
La MFT es una sucesion
y se compone de 13 elementos:

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

60 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 2000

Sistema de archivos de Windows 2000 IX


1

estandar:

Informacion
contiene los bits indicadores, las marcas
de hora, entre otros.

Nombre de archivo: en formato Unicode y de ser necesario se


duplica para la compatibilidad con MS-DOS.

Descriptor de seguridad: ya no se utiliza este campo.

de registros MFT adicionales.


Lista de atributos: ubicacion

Identificador de objeto: identificador de archivo de 64 bits unico

en este volumen.

Punto de re-analisis:
permite montajes y enlaces simbolicos.

Nombre de volumen: nombre del volumen al que pertenece.

del volumen al que pertenece.


de volumen: version
Informacion

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

61 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 2000

Sistema de archivos de Windows 2000 X


9

Raz ndice: para directorios.

10

de ndice: para directorios grandes.


Asignacion

11

Mapa de bits: para directorios grandes.

12

Flujo unitario de registro: permite llevar el control de las entradas.

13

Datos: datos de flujo.

reservados para archivos de


Los primeros 16 registros MFT estan
metadatos de NTFS.
Cada registro describe un archivo como cualquier otro.
El nombre de estos archivos comienza con $ para denotar que
son archivos de metadatos.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

62 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 2000

Sistema de archivos de Windows 2000 XI


se describen los 16 registros reservados de la
A continuacion
MFT.
1

situados los
$Mft: tabla maestra de archivos. Indica donde estan
bloques del archivo MFT para que el sistema pueda encontrar el
archivo.

$MftMirr: es una copia de respaldo del archivo $Mft.

Permite
$LogFile: es el archivo de registro de recuperacion.
antes de que se realice un cambio
respaldar la informacion
estructural en el sistema de archivos (como borrar o crear
directorios).

acerca del volumen.


$Volume: contiene informacion

de los atributos.
$AttrDef: contiene la definicion

$: es el directorio raz.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

63 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de Windows 2000

Sistema de archivos de Windows 2000 XII


7

$Bitmap: permite llevar el control del espacio utilizado mediante un


mapa de bits.

$Boot: es el archivo cargador de auto-arranque.

$BadClus: indica cuales


son los bloques defectuosos.

10

$Secure: contiene los descriptores de seguridad para todos los


archivos.

11

de mayusculas
$Upcase: es la tabla de conversion
a minusculas.

12

$Extend: es un directorio que contiene archivos para fines


diversos.

reservados para uso


Los ultimos
cuatro bloques de la MFT estan

futuro.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

64 / 79

Ejemplos de sistemas de archivos

Breve historia de Unix

Breve historia de Unix I


a Unix fue el sistema MULTICS
La primera aproximacion
(MULTiplexed Information and Computing Service), creado por
parcialmente por el MIT, GE y los Bell Labs en los 70s.
Luego Ken Thompson de los Bell Labs decidio escribir por su
sencilla de MULTICS en una PDP-7.
cuenta una version
de los Bell Labs)
Brian Kernighan (en ese entonces tambien
de Thompson UNICS (UNiplexed
decidio llamar a la version
cambiara su
Information and Computing Service) que despues
nombre a UNIX.
de un
Denis Ritchie comenzo a colaborar con ellos en la creacion
nuevo UNIX para las PDP-11/20, PDP-11/45 y PDP-11/75.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

65 / 79

Ejemplos de sistemas de archivos

Breve historia de Unix

Breve historia de Unix II


Para no estar re-escribiendo el SO para cada nuevo tipo de

maquina,
Thompson decidio re-escribir Unix en un lenguaje de
alto nivel: B .
Ritchie disenar
a el sucesor de B, el lenguaje C, junto
Despues
con un excelente compilador.
Luego Thompson y Ritchie re-escribiran Unix en lenguaje C.
En 1974 Thompson y Ritchie escribireron un excelente artculo
acerca de Unix y en 1984 recibiran el premio Turing gracias a
eso.
A partir de ese momento se comenzaron a organizar numerosas
reuniones cientficas entorno a Unix.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

66 / 79

Ejemplos de sistemas de archivos

Breve historia de Unix

Breve historia de Unix III


6 de Unix vena el codigo

Con el libro de la version


fuente: 8,200
lneas en C y 900 en ensamblador.
7 fue la primer version
portatil
de Unix, disenada

La version
para
la PDP-11.
7 tena varias mejoras y su codigo

La version
fuente consists de:
18,800 lneas en C y 2,100 en ensamblador.
A mediados de los 80 Unix se usaba ampliamente en
mini-computadoras y estaciones de trabajo.
7 y la
Incluso Microsoft adquirio la licencia de la version

re-escribio vendiendola
como XENIX.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

67 / 79

Ejemplos de sistemas de archivos

Breve historia de Unix

Breve historia de Unix IV


la universidad de Berkeley adquirio la version
6y
Despues,
escribio una mejora considerable del sistema llamada Berkeley
Unix.
Para estandarizar las diferentes versiones de Unix que se iban

desarrollando se decidio hacer el estandar


POSIX (Portable
Operating System unIX).
de
En 1987, Tanenbaum escribio MINIX basado en un diseno
microkernel.
MINIX pretenda proporcionar un mnimo de funcionalidad en el
Kernel.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

68 / 79

Ejemplos de sistemas de archivos

Breve historia de Unix

Breve historia de Unix V


sencillos de entender que las
Los microkernel suelen ser mas
versiones monolticas de los sistemas.
Linus Torvalds,
Luego en 1991, el estudiante Finlandes,
escribio Linux 0.01 en base a Unix.

El codigo
de Linux 0.01 eran: 9,300 lneas en C y 950 en
ensamblador.

En 1994, salio Linux 1.0, con 195,000 lneas de codigo


en C y
menos de 8,000 en ensamblador.

En 1996, salio Linux 120, con 487,000 lneas de codigo


en C y
8,000 en ensamblador.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

69 / 79

Ejemplos de sistemas de archivos

Breve historia de Unix

Breve historia de Unix VI


Linux maneja un modelo de negocio de software libre.
La licencia de Linux fue desarrollada por Richard Stallman,
fundador de Free Software Foundation.
Aunque Linux es gratuito, GPL (Licencia Publica
de GNU)

especifica lo que el usuario puede y no puede hacer al codigo.


Los usuarios pueden usar, copiar, modificar y redistribuirlo.
es que Linux no puede venderse o
La principal restriccion

redistribuirse sin incluir el codigo.


visite www.linux.org.
Para mas informacion

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

70 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de UNIX V7

Sistema de archivos de UNIX V7 I


El sistema de archivos V7 fue empleado en la PDP-11.

El sistema de archivos tiene la estructura de un arbol


que
comienza en el directorio raz.

Este sistema permite agregar enlaces formando una grafica


acclica dirigida.
Los nombres de archivo pueden medir hasta 14 caracteres ASCII
de / y \0.
con excepcion
Una entrada de directorio Unix contiene una entrada para cada
archivo de ese directorio.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

71 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de UNIX V7

Sistema de archivos de UNIX V7 II


16 bytes (2 para el
Cada entrada de directorio contiene solo
numero
del nodo-ndice y 14 para el nombre).

del nodo-ndice limita el numero


El tamano
de archivos a 64 KB.

de algunos atributos
Los nodos-ndice contienen la informacion
como:
del archivo.
El tamano

La hora de creacion.
La hora del ultimo
acceso.

La hora de la ultima
modificacion.

El dueno.
El grupo.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

72 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de UNIX V7

Sistema de archivos de UNIX V7 III


de proteccion.

La informacion
La cuenta del numero
de entradas del directorio.

Los nodos-ndice cuentan con espacio para indicar hasta 10


direcciones de disco donde se encuentra el archivo.
de 10 direcciones entonces se
Si los archivos requieren mas
de un
utiliza una de las direcciones para indicar la direccion
bloque llamado bloque indirecto.

Si dicho bloque no es suficiente entonces se utiliza una direccion


que permite referenciar a un segundo bloque llamado bloque
indirecto doble e incluso hasta un tercer bloque llamado bloque
indirecto triple.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

73 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de UNIX V7

Sistema de archivos de UNIX V7 IV

Figura : Estructura del nodo-ndice de Unix. Tomado de


http://es.wikipedia.org/wiki/Inodo

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

74 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de UNIX V7

Sistema de archivos de UNIX V7 V


Cuando se abre un archivo el sistema de archivos debe tomar el
nombre y localizar los bloques de disco.
de nombres de archivo es el
El algoritmo de localizacion
siguiente:
1

El sistema de archivos localiza el directorio raz.


de localizar pues el nodo-ndice de este se encuentra
Este es facil
en un lugar fijo.

Se comienzan a buscar cada uno de los componentes de la ruta.


de los nodos-ndice en el disco es facil
pues todos
La localizacion
fija en el disco y siempre se conoce su numero.
tienen una posicion

Cuando se llega al archivo deseado se lee el nodo-ndice de este


y
se coloca en la memoria.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

75 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de UNIX V7

Sistema de archivos de UNIX V7 VI

Gracias a que los directorios contienen entradas para los archivos


obtener los numeros
. y .. es facil
de nodo-ndice.

La entrada . tiene el numero


de nodo-ndice del directorio actual y

.. la del directorio padre.


No se requiere manejo especial para los nombres . y .. pues para
el sistema son simplemente nombres ordinarios de archivos.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

76 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de UNIX

Sistema de archivos de UNIX I


entre tipos de archivo (ASCII,
En Unix no se hace distincion
binarios, etc.).
de archivo fue incrementado a 255 caracteres a partir
El tamano
del sistema Berkeley Unix.
En este caso, las extensiones de los archivos pueden tener
cualquier longitud e incluso puede haber varias extensiones para
un mismo archivo.
se llama /.
El directorio raz tambien
Los principales directorios del sistema son:
bin. Contiene los programas binarios.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

77 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de UNIX

Sistema de archivos de UNIX II

dev. Contiene los archivos especiales para los dispositivos de E/S.


etc. Contiene los archivos de sistema diversos.
lib. Contiene las bibliotecas.
usr. Contiene los directorios de usuarios.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

78 / 79

Ejemplos de sistemas de archivos

Sistema de archivos de UNIX

Sistema de archivos de UNIX III


Principales llamadas al sistema en Unix para E/S
create(name, mode): permite crear un archivo nuevo
open(file, how, . . . ): abre un archivo para lectura/escritura.
close(ref name): cierra un archivo abierto.
read(ref name, buffer, nbytes): lee datos de un archivo.
write(ref name, buffer, nbytes): escribe datos en un archivo.
lseek(ref name, offset, whence): posiciona en otro lugar el
apuntador de archivo.
de los atributos.
stat(name, &buf): obtiene la informacion

pipe(&ref name[0]): crea una canalizacion.


fcntl(ref name, cmd, . . . ): para bloqueos.

Sergio Luis Perez


(UAM C UAJIMALPA)

Curso de Sistemas Operativos

79 / 79

You might also like