You are on page 1of 65

ARQUITECTURA DEL COMPUTADOR Y S. O.

Maestra en Ingeniera de Sistemas

Mag. Daniel Llamas Montoya

djllamas9@gmail.com

Lima, 21/09/2013

Sistemas de Archivos

Maestra en Ingeniera de Sistemas

Mag. Daniel Llamas Montoya

djllamas9@gmail.com

Lima, 21/09/2013

Sistemas Operativos: Sistema de Archivos


Temario :
1) Introduccin

2)

Para el usuario:
1) 2) Archivos Directorios Organizacin del sistema de archivos Implementacin de archivos Administracin de espacio en disco Windows: NTFS Linux: ext3
ARQUI DEL COMPU Y SO 3

3)

Implementacin: 1) 2) 3)

4)

Casos ejemplo 1) 2)

Sistemas Operativos: Sistema de Archivos Introduccin :


Relativo a la perduracin de la informacin, un Sistema Operativo debe proveer las funcionalidades de: Almacenar una cantidad grande de informacin. La informacin debe sobrevivir a la terminacin del proceso que la usa. Existir la capacidad de que mltiples procesos accedan a la informacin de forma concurrente. Los sistemas de archivos son aquellos que deben proveer estas capacidades al Sistema Operativo. Para su comprensin, se pueden dividir en 2 partes: 1. Perspectiva del usuario: la forma en que se muestran y estructuran los archivos en cuanto a su uso y manipulacin (archivos, directorios, funciones de administracin). 2. Implementacin: como se escriben los datos realmente a la unidad de almacenamiento.
ARQUI DEL COMPU Y SO 4

Sistemas Operativos: Sistema de Archivos

/home/usuario/archivo.txt
open(archivo.txt) C:\windows\calc.exe
Dispositivo

S.O.

I/O

Usuario

Implementacin

ARQUI DEL COMPU Y SO

Sistemas Operativos: Sistema de Archivos


Definicin Archivos :

Mecanismo de abstraccin que permite almacenar informacin en un dispositivo y leerla despus () de tal modo que el usuario no tenga que enterarse de los detalles de cmo y dnde est almacenada la informacin, y de cmo funcionan en realidad los discos -- A. Tannenbaum

Nombre de Archivo extensin

ARQUI DEL COMPU Y SO

Sistemas Operativos: Sistema de Archivos


Definicin Archivos :
-El nombre de archivo puede estar restringido a un largo mximo, por ejemplo: - MSDOS: 8 para el nombre, 3 para la extensin - NTFS y ext*: 255 en el total (nombre + extensin) -La extensin puede ser usada para determinar el tipo de archivo: -En sistemas windows determina el contenido del archivo y la aplicacin encargada de manejarlo. Aqu se suele tener solo 1 extensin: archivo.zip. -En linux y similares es una ayuda a los usuario para determinar el contenido, pero no es estricto ni establecido por sistema. Aqu se suele tener varias extensiones: archivo.tar.gz -En general se acepta cualquier carcter en el nombre excepto NUL (0), aunque algunos sistemas restringen el conjunto aunque la implementacin del sistema de archivos lo soporte.

ARQUI DEL COMPU Y SO

Sistemas Operativos: Sistema de Archivos


Definicin Archivos :

ARQUI DEL COMPU Y SO

Sistemas Operativos: Sistema de Archivos


Definicin Archivos :

ARQUI DEL COMPU Y SO

Sistemas Operativos: Sistema de Archivos


Estructura - Archivos ://
Los archivos internamente pueden ser estructurados o libres. Libres Los archivos son simplemente secuencia de bytes. Permite la mayor versatilidad, dado que cada usuario puede establecer como desea almacenar los datos. Estructurados Los archivos tienen una organizacin interna a travs de la cual deben ser accedidos los datos. til cuando el sistema de archivos maneja siempre los datos en estructuras rgidas, dado que acelera el proceso, pero poco conveniente porque amarra al usuario a dicha estructura.
F M T

A
Sucesin de bytes Sucesin de registros rbol

ARQUI DEL COMPU Y SO

10

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:
Nmero Mgico
El nmero mgico permite al S.O determinar si el ejecutable es vlido, comparndolo con el o los valores que tiene el sistema como vlido. En NachOS por ejemplo es el binario 0xbadfad.

Encabezado (Header)

Tamao de cdigo Tamao de datos Tamao de BSS Tamao de tabla de smbolos Punto de ingreso

Tamao en bytes que mide el segmento de cdigo Tamao en bytes que mide el segmento de datos embedidos en el ejecutable
Tamao en bytes que mide el segmento de variables no inicializadas (Ej: int a[1000] )

Tamao en bytes que tiene la tabla de smbolos


Posicin del Program Counter al inicio (punto de inicio del programa)

Cdigo

Segmento de cdigo. Contiene las instrucciones que son ejecutadas por la CPU.

Datos

Segmento de datos. Contiene datos que estn embedidos en el archivo ejecutable que son utilizados por este.
La tabla de smbolos es un elemento opcional que sirve al debug de un proceso. Contiene el listado de identificadores del programa (variables, procesos), los cuales permiten depurar un programa en ejecucin. ARQUI DEL COMPU Y SO 11

Tabla de Smbolos

Sistemas Operativos: Sistema de Archivos


Atributos - Archivos :
Los sistemas de archivos guardan, adems del nombre del archivo y sus datos, informacin como fecha, hora, usuario, permisos, etc; los cuales se denominan atributos. Algunos de los atributos que puede guardar un sistema de archivos son:

Proteccin

Permisos que el dueo del archivo establece sobre el archivo. En linux los permisos bsicos se establecen en la terna XXX para el usuario, grupo y otros respectivamente con los valores {0: nada, 1: ejecucin, 2: escritura, 4: lectura} que se suman para combinar permisos. Clave de proteccin del archivo Usuario del sistema dueo del archivo Bit que indica si el archivo figura en la lista normal de archivos. Bit que indica si eliminar el archivo al terminar el proceso que lo creo. Permiten establecer protecciones sobre parte o todo el archivo para que modificaciones concurrentes de varios procesos se hagan de forma adecuada. En archivos con registros, indica el largo de cada registro Tamao actual del archivo en bytes.

Password Dueo Oculto Temporal Indicadores de Bloqueo

Longitud del registro Tamao actual

ARQUI DEL COMPU Y SO

12

Sistemas Operativos: Sistema de Archivos


Directorios :
De manera de poder organizar los archivos, muchos sistemas de archivos tienen directorios o carpetas; los cuales tambin pueden ser archivos.
/

usr/

Estilo Unix

De su utilizacin se derivan los conceptos de:

local/

share/
home/ jmakuc/

-Directorio Raz: aquel que contiene al resto del sistema de archivos. En linux es explicito (/), en windows est escondido detrs de las unidades lgicas (\??\) -Directorio de trabajo: directorio en el cual se esta ejecutando un proceso, como por ejemplo el interprete de comandos. Este se simboliza con un punto (.). -Ruta absoluta: ubicacin de un archivo o directorio indicando su posicin explicitando todos los directorios desde el directorio raz al elemento. Ej: /usr/local/nachos/code/build.linux/nachos. -Ruta relativa: ubicacin de un archivo o directorio indicando su posicin respecto al directorio de trabajo actual. Ej: ../build.linux/nachos -Directorio Padre: aquel en el cual es contenido un directorio. Se simboliza con punto doble (..).

cmolina/ Las entradas X: se denominan unidades y representan a particiones de los discos

\??\

Estilo Windows

C:\
Documents And Settings Temp Windows

D:\
Videos mp3 Pelculas

ARQUI DEL COMPU Y SO

13

Sistemas Operativos: Sistema de Archivos


Organizacin del Sist. Archivos - Implementacin :
En sistemas de archivos de discos, estos deben considerar la estructura bsica: particiones o volmenes. Disco entero

MBR
Tabla de particiones

Particin 1

Particin 2

Particin 3

Particin 4

Particin: divisin lgica de una unidad de disco, tambin denominada volmen en sistemas Windows. MBR: Master Boot Record o Registro Maestro de Arranque. Es ledo y ejecutado por la BIOS al encenderse el computador.

Tabla de Particiones: Contiene la informacin de donde comienza y termina cada particin en el disco. Cada particin puede tener un sistema de archivos diferente.
Bloque de arranque: primer bloque de cada particin. Contiene la informacin de cmo arrancar el Sistema Operativo contenido en ella. Al ejecutarse el MBR, este busca los bloques de arranque para ejecutarlos. Si no existe S.O. en una particin, se deja el bloque en blanco por provisin. Fsicamente podemos distinguir:

Cilindro: disco fsico. Tiene varios cilindros, esta en relacin con el nmero de pistas. Pistas: divisiones concntricas del disco. Un disco removible de 3.5 tiene en formato simple 18 pistas. Sectores: unidad atmica en la que se divide un disco para acceder a l en mltiplos de esta. Ej: 512 bytes Bloques: agrupacin de sectores que realiza el sistema operativo, denominado cluster en sistemas Windows. El acceso al disco que realiza el S.O. se hace en esta unidad. ARQUI DEL COMPU Y SO 14

Sistemas Operativos: Sistema de Archivos


Organizacin del Sist. Archivos - Implementacin:
Fsicamente se puede distinguir: Cilindro: disco fsico. Ej: 1 diskette tiene 1 cilindro, mientras que un disco duro puede tener varios. Pistas: divisiones concntricas del disco. Un disco removible de 3.5 tiene en formato simple 18 pistas. Sectores: unidad atmica en la que se divide un disco para acceder a l en mltiplos de esta. Ej: 512b Bloques: agrupacin de sectores que realiza el sistema operativo, denominado cluster en sistemas Windows. El acceso al disco que realiza el S.O. se hace en esta unidad.

ARQUI DEL COMPU Y SO

15

Fuente: http://maettig.com/?page=Studium/FAT32

Sistemas Operativos: Sistema de Archivos


Organizacin del Sist. Archivos - Implementacin :
En sistemas de archivos de discos, estos deben considerar la estructura bsica: particiones o volmenes. Disco entero

MBR
Tabla de particiones

Particin 1

Particin 2

Particin 3

Particin 4

Cada particin debe contener la informacin de todos los archivos (y directorios si corresponde) que alberga. Esta informacin es almacenada en sectores al inicio del volmen, cuya estructura vara considerablemente entre sistemas de archivos, aunque conceptualmente se puede graficar como sigue.

Bloque de arranque

Metadatos El sector de metadatos contiene la informacin respecto de donde y como estn almacenados los archivos en la particin.

Archivos y Directorios

Nmero Mgico que identifica sistema de archivos que contiene la particin

ARQUI DEL COMPU Y SO

16

Sistemas Operativos: Sistema de Archivos


Implementacin de archivos - Implementacin :
Asignacin Contigua Se entrega espacio continuo en el disco a los archivos. Su ventaja es la implementacin simple y el buen desempeo en lectura. La desventaja es la fragmentacin excesiva y compleja dado que se DEBE escribir cada archivo como un todo cada vez. Si se elimina un archivo se requiere otro de igual tamao para no desperdiciar lugar, o reubicar los archivos para hacer espacio a un archivo ms grande.
Arch. A Arch. B Arch. C Arch.D Arch. A Arch. C Arch.D

Asignacin por Lista Enlazada Los archivos se mantienen como una lista enlazada de bloques en el disco. Permite que un archivo no deba estar contiguo en el disco y elimina la fragmentacin del disco dado que se pueden utilizar todos los bloques. Su mayor problema es el acceso aleatorio, pues el S.O. debe ir buscando nodo por nodo la direccin del siguiente, hasta llegar al que necesita. Por otra parte ahora la cantidad de datos almacenada en un bloque ya no es potencia de 2, complicando el panorama para la implementacin de pgina, por ejemplo.
Bloque 0 Bloque 7 en disco Bloque 1 Bloque 1 en disco Bloque 2 Bloque 5 en disco Bloque 3 Bloque 2 en disco

ARQUI DEL COMPU Y SO

17

Sistemas Operativos: Sistema de Archivos


Implementacin de archivos - Implementacin :
Bloque Fsico Sgte Bloque 5 -1

0
1 2 3 4

Trmino del archivo

5 6 7

2 1

Asignacin por Lista Enlazada empleando tabla en la memoria Toma el apuntador que antes estaba dentro del bloque en disco, y lo traslada a una tabla exclusivamente para ese efecto. De esta forma el bloque se llena de datos y poder acceder aleatoriamente al archivo es ms simple pues no requiere de accesos a disco dado que todos los datos estn juntos en memoria A esto se le conoce como FAT, File Allocation Table.

Inicio del archivo

Atributos del archivo


Bloque de disco Direccin del bloque 0 Direccin del bloque 1 Direccin del bloque 2 Direccin del bloque 3 Direccin del bloque 4 Direccin del bloque 5 Direccin del bloque 6 Direccin del bloque 7 Direccin bloque con ms direcc.

Nodos-i Consiste en asociar a cada archivo una estructura de datos llamada i-node (nodo ndice). Esta estructura contiene las direcciones de los bloques en disco que componen al archivo. La mayor ventaja es que solo es necesario tener en memoria las estructuras de los archivos abiertos, pues estas son las nicas que se necesitan para el acceso aleatorio. Para solucionar el problema de que la cantidad de bloques de un archivo no queda en un solo i-node, se agrega al final de este la posibilidad de enlazar en la ltima posicin a un bloque que contenga ms direcciones (solo direcciones)

ARQUI DEL COMPU Y SO

18

Sistemas Operativos: Sistema de Archivos


Control de bloques libres - Implementacin :
Uno de los problema importantes que debe tratar el sistema de archivos, es la administracin de los bloques libres. Sin importar cual mtodo se emplee, se suelen usar bloques libres del disco para colocar la estructura que los maneja.
Listas Enlazadas Libres Se utiliza una lista enlazada de bloques de disco que contienen nmeros de bloques libres. Se almacenan tantos nmeros como se pueda en cada bloque. Para agilizar el proceso de bsqueda de un bloque libre, se mantiene uno o ms bloques en memoria, dejando el resto en disco. La desventaja es que cuando el bloque esta por llenarse puede provocar muchas operaciones de I/O al buscar otro bloque, producto de una seguidilla de creaciones y eliminaciones de archivos y directorios.
0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 1 387 123 32 33 433 766 7 56 321 3 54 55 56 57 77 9 12 987 976 765 433 654 543 21

Mapas de bits Se crea un mapa donde se representa a cada bloque disponible con 1 bit. Es muy eficiente en espacio dado que utiliza 1 bit en lugar de 1 palabra, excepto cuando el disco esta lleno, caso en el cual la lista es ms pequea. Al igual que la lista, se puede dejar solo una porcin del mapa en memoria y el resto en disco; teniendo una ventaja adicional, puesto que las asignaciones realizadas con el bloque en memoria sern a bloques cercanos, reduciendo el overhead de acceso a disco.

ARQUI DEL COMPU Y SO

19

Sistemas Operativos: Sistema de Archivos


Introduccin - NTFS :
NTFS o New Technology File System, es el sistema de archivos de la lnea NT de los sistema MS Windows. Fue diseado desde cero, pensado para reemplazar a la familia de FAT eliminando todas las limitaciones de este, y pensando en poder extenderlo fcilmente en el futuro.

Conceptualmente NTFS ve todo en el sistema como un archivo, incluyendo a los metadatos. El corazn de tal esquema es la MFT (Master File Table) que contiene la informacin de donde estn los archivos y sus atributos. Aunque esta respaldada en un %, si se daa los datos de todo el volumen se perdern.
Utiliza bitmaps para determinar los bloques (clusters) libres en el disco, e indexa los directorios a travs de rboles B+.

Tamao mximo de volumen Tamao mximo de archivo Terico Tamao mximo de archivo implementacin actual Nmero mximo de archivo Largo nombre de archivo Fechas Compresin de datos Encriptacin de datos

16EiB (Exibibyte 1060) 16EiB 16TiB (Tebibye 1040) 232 1 255 caracteres 01/01/1601 28/05/60056 LZ77 (zip) desde WinNT 3.51 XDES (Win2000), 3DES (WinXP), AES (Win2003)

ARQUI DEL COMPU Y SO

20

Sistemas Operativos: Sistema de Archivos


Name bit byte kilobit Kibibit kilobyte kibibyte megabit Symbol b B kbit / kb KiBit kB KiB MBit / Mb 1 MBit = 1024 KBit 1 1 1 1 Antes de la Estandardicacion bit B kbit kB = = = = 1 bit 8 bit 1024 bit 1024 B = Byte 1 1 1 1 1 1 1

Despues de la Estandarizacion
bit B kBit KiBit kB KiB MBit = = = = = = = 1 bit 8 bit 1000 bit 1024 bit 1000 Byte 1024 Byte 1000 kBit

mebibit
megabyte Mebibyte gigabit gibibit gigabyte gibibyte terabyte tebibyte petabyte pebibyte exabyte exbibyte zettabyte zebibyte yottabyte yobibyte

MiBit / Mib
MB MiBit / MiB GBit / Gb GiBit / Gib GB GiB TB TiB PB PiB EB EiB ZB ZiB YB YiB 1 1 GB TB = = 1024 MB 1024 GB 1 GBit = 1024 MBit 1 MB = 1024 kB

1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Mib
MB MiB GBit Gib GB GiB TB TiB PB PiB EB EiB ZB ZiB YB YiB

=
= = = = = = = = = = = = = = = =

1024 KiBit
1000 kB 1024 KiB 1000 MBit 1024 MiBit 1000 MB 1024 MiB 1000 GB 1024 GiB 1000 TB 1024 TiB 1000 PB 1024 PiB 1000 EB 1024 EiB 1000 ZB 1024 ZiB

1 1
1 1

PB EB
ZB YB

= =
= =

1024 TB 1024 PB
1024 EB 1024 ZB

ARQUI DEL COMPU Y SO

21

Sistemas Operativos: Sistema de Archivos


Esquema General - NTFS :

Partition Boot Record

MFT

Archivos de Sistema

rea de archivos

Ejemplo Esquema particin NTFS

Boot Partition Record En los primeros 8kb se contiene la informacin sobre el volumen (tipo de particin, largo, etc), junto con el bloque de cdigo bsico para iniciar al sistema operativo. Contiene tambien un puntero a la MFT.

MFT Master File Table La Tabla Maestra de archivos contiene el donde y como estn almacenados los archivos, junto con todos los atributos asociados a estos.
Archivos de Sistema Contienen la informacin sobre los datos y operaciones que se realizan sobre el sistema de archivos: espacio libre, log de transaccionalidad, etc.

rea de archivos Donde realmente se almacenan los datos del usuario.

ARQUI DEL COMPU Y SO

22

Sistemas Operativos: Sistema de Archivos


Master File Table - NTFS :
La MFT contiene la informacin sobre todos los archivos dentro del volumen. Mantiene la direccin en disco donde esta el archivo, sus atributos, informacin de cmo securizar los datos, etc. Las primeras 16 posiciones corresponden a entradas a archivos que implementan el sistema de archivos y estn reservadas. Desde la 11 a la 15 no se utilizan y estn para provisin. Desde el #16 en adelante se pueden tener entradas para archivos de usuario.
# 0 1 Filename $MFT $MFTMirr Nombre Master File Table Master File Tabla Mirror Descripcin
Puntero a si mismo para consistencia del modelo. Puntero donde se encuentra el respaldo de la MFT. Solo se respaldan los registros ms importante. En NT3.5 se ubica a la mitad de la particin, en versiones posteriores al final. Archivo de log de transacciones sobre el volumen. Contiene informacin crucial sobre la particin en si: versin NTFS, nombre, etc. Nombres y tipos de los atributos que tendr cada archivo. Puntero a donde parte el directorio raz del sistema. Mapa que muestra los clusters (bloques) disponibles Puntero al segmento que contiene el cdigo de arranque, en el caso de que esta sea una particin activa (booteable)

2 3 4 5 6 7

$LogFile $Volume $AttrDef $ $Bitmap $Boot

Log File Volume Descriptor Attribute Definition Table Root Directory Cluster Allocation Bitmap Volume Boot Code

8
9 10 11

$BadClus
$Secure $UpCase $Extend

Bad Cluster File


Security File Upper Case Table NTFS Extensions

Lista de todos los bloques malos del disco, para no volver a utilizarlos.
Contiene descriptores nicos para cada archivo del volumen Tabla de conversiones maysculas/minsculas en UNICODE. Usado por varias extensiones como quotas, reparse, identif. de objeto, etc.

ARQUI DEL COMPU Y SO

23

Sistemas Operativos: Sistema de Archivos


Master File Table Entry - NTFS :
Al crearse el volumen en el formato, se reserva espacio para que la MFT pueda crecer (alrededor del 12% del disco por defecto). Este espacio aunque esta libre, no es utilizado sino hasta que no queda ms espacio disponible en el disco. En el caso de que la MFT crezca mucho, puede particionarse y colocar una porcin en otro lugar del disco. El tamao de una entrada de la MFT puede variar entre 1.024 y 4.096 bytes, estando de la mano el tamao del cluster. Cada registro de la MFT contiene un encabezado o header que permite identificar la entrada, junto con indicar la cantidad de bytes usados, contador de referencias, etc

A continuacin vienen una serie de atributos compuestos por un encabezado de atributo y el atributo en si. El primero indica donde parte el atributo y cuando mide, el segundo contiene el valor
Atributo Informacin estndar Nombre de archivo Descriptor de Seguridad Lista de atributos Identificador de Objeto Punto de reanlisis Nombre de Volumen Informacin de volumen Raz ndice Asignacin de ndice Mapa de bits Flujo utilitario de registro Datos Descripcin Bits indicadores, marcas de hora, etc. En UNICODE Obsoleto. Ver $Extend $Secure Ubicacin de registros MFT adicionales, si se necesitan Identificador de archivo de 64bits (teoricamente nico en el mundo) Para montajes y enlaces simblicos Nombre de este volumen (usado por $Volumne) Versin del volumen (usado por $Volume) Se usa para directorios Se usa en directorios muy grandes Usado en directorios muy grandes Controla las entradas en $LogFile Datos de flujo; puede repetirse

Atributos Bsicos

ARQUI DEL COMPU Y SO


Fuente: http://dbserver.kaist.ac.kr/

24

Sistemas Operativos: Sistema de Archivos


Master File Table Entry, Atributos - NTFS :
Siguiendo la misma filosofa de generizar las estructuras de datos, en un archivo todo es un atributo, hasta los datos; los cuales pueden estar almacenados en una entrada de la MFT, en varias o incluso en data runs fuera de la MFT.

Atributos residentes Son aquellos que se encuentran en el registro inicial del archivo y no desbordan fuera de el Atributos no Residentes

Son aquellos que no estn presentes en el registro inicial del archivo dado que estn o en otra entrada de la MFT o en un data run.
Data runs o Extents (extensiones) Conjunto de bloques (2kb 4kb) alocados por NTFS para contener atributos que son muy largos para estar en un registro de la MFT.

ARQUI DEL COMPU Y SO

25

Sistemas Operativos: Sistema de Archivos


Master File Table Entry, Archivos - NTFS :
Cuando un archivo es lo suficientemente pequeo, digamos unos cientos de bytes, este puede ser contenido por completo en la MFT presentando un registro como el siguiente.

Sin embargo es interesante analizar como funciona realmente el sistema de extents y data runs en la practica. En el siguiente ejemplo se tiene un archivo que requiere de 3 Series para poder direccionarse. Una serie o extent es un conjunto contiguo de bloques donde se aloja el archivo, definida por un inicio y largo. De esta forma un archivo 3kb podra tener un solo extent que lo contenga o 3 series de 1kb; as el tamao del archivo no determina su tamao en la MFT, sino la cantidad de series que lo componen

Los punteros a datos son referencias directas a secuencias de bloques lgicos en el disco Cada secuencia, serie o extent; se identifica con 3 partes:

VCN: Virtual Cluster Number, Numero de cluster en el archivo que parte este extent
LCN: Logical Cluster Number Numero del cluster en el disco donde parte este extent Largo: cantidad de cluster que mide este extent

ARQUI DEL COMPU Y SO


Fuente: www.cs.wisc.edu/~bart/537/lecturenotes/s26.html

26

Sistemas Operativos: Sistema de Archivos


Master File Table Entry, Directorios - NTFS :
En NTFS los directorios son archivo, conteniendo la lista de archivos dentro de la carpeta. Al igual que sucede con los archivos, si el ndice es lo suficientemente corto (extent de datos), cabe dentro de la misma MFT.

Cada entrada en el ndice es un par [ Nombre de Archivo, Referencia ], representado en los diagramas solo por el nombre. La referencia corresponde al puntero a la entrada en la MFT para ese archivo. Cada entrada en el ndice es un par [ Nombre de Archivo, Referencia ], representado en los diagramas solo por el nombre. La referencia corresponde al puntero a la entrada en la MFT para ese archivo. Cuando se sobrepasa la cantidad de entradas que el registro MFT puede contener, el ndice de archivos se particiona en extents que contienen ms entradas del ndice. Este particionamiento se realiza creando un rbol-B con los extents como nodos, y las entradas de ndice como valor, ordenando en base al nombre de archivo.

ARQUI DEL COMPU Y SO

27 Fuente: www.cs.wisc.edu/~bart/537/lecturenotes/s26.html

Sistemas Operativos: Sistema de Archivos


Integridad de datos - NTFS :
Las operaciones al sistema de archivos NTFS no son realizadas directamente sobre las estructuras de datos que lo implementan, sino contra un log de operaciones las cuales son luego realizadas en duro. Este log es almacenado en el archivo de sistema $LogFile, y permite mantener la consistencia del sistema de archivo ante falla, dado las operaciones que se realicen en una transaccin, se realizan todas o ninguna en absoluto (Concepto de atomicidad). Este log no asegura la no prdida de datos del usuario, sino que busca que el modelo siempre este consistente, sin nodos hurfanos ni espacio en disco ocupado clusters sin asignar.

El Cache Manager es el subsistema encargado de proporcionar los accesos reales a disco. Este presenta a las capas superiores una memoria virtual que estas pueden acceder. Cuando se realiza una operacin que no esta en el cache, el procedimiento que se realiza es anlogo a un fallo de pgina, yndose a buscar el bloque a disco para su lectura o escritura correspondiente.

El Log File Service (LFS), es el nombre del servicio encargado de llevar la bitcora de operaciones.
rea de reinicio de LFS Copia 1 Copia 2 rea infinita de logeo

Entradas de log
Fuente: http://dbserver.kaist.ac.kr/

ARQUI DEL COMPU Y SO

28

Sistemas Operativos: Sistema de Archivos


Integridad de datos, LFS - NTFS :
Se compone de 2 secciones: rea de reinicio: contiene informacin de contexto rea de logeo: contiene las entradas de log Se encarga de abrir, leer, escribir entradas al archivo de log; as como de limpiar las entradas de log y resetear el punto de inicio.Cada entrada de log tiene un Log Secuence Number como identificador nico. Existen 2 tipos de entradas:

Entradas de Actualizacion Informacin de rehacer: como volver a aplicar una suboperacin de una transaccin commiteada al volumen Informacin de deshacer: como hacer rollback a una suboperacin de una transaccin NO-commiteada al volumen. Commits de transaccines Las acciones que provocan entradas de actualizacin en el log, deben ser idempotentes. En NTFS son: - Crear / Borrar un archivo - Extender / Truncar un archivo - Renombrar un archivo - Setear la informacin del archivo (metadatos) - Cambiar los parametros de seguridad de un archivo

Fuente: http://dbserver.kaist.ac.kr/

ARQUI DEL COMPU Y SO

29

Sistemas Operativos: Sistema de Archivos


Integridad de datos, LFS - NTFS :
Se compone de 2 secciones: rea de reinicio: contiene informacin de contexto rea de logeo: contiene las entradas de log Se encarga de abrir, leer, escribir entradas al archivo de log; as como de limpiar las entradas de log y resetear el punto de inicio. Cada entrada de log tiene un Log Secuence Number como identificador nico.

Entradas de Actualizacion Informacin de rehacer: como volver a aplicar una suboperacin de una transaccin commiteada al volumen Informacin de deshacer: como hacer rollback a una suboperacin de una transaccin NO-commiteada al volumen. Commits de transacciones
Las acciones que provocan entradas de actualizacin en el log, deben ser idempotentes. En NTFS son: - Crear / Borrar un archivo - Extender / Truncar un archivo - Renombrar un archivo - Setear la informacin del archivo (metadatos) - Cambiar los parmetros de seguridad de un archivo

Entradas de Checkpoint Indican al sistema desde donde leer para recuperarse, guardndose el LSN de la ltima entrada checkpoint se guarda en el rea de restart.
2 tablas son escritas a disco justo antes del checkpoint: Tabla de Transacciones que contiene las tx no commiteadas, junto con el LSN del ltimo registro escrito en el log para cada tx. Tabla de pginas sucias, que indican las pginas en cache que contienen modificaciones que posiblemente no han sido escritas, junto con los LSN de estos. Al flushear el archivo de log a disco, el cache manager graba todos los datos y entradas del log a disco. Se reseta el inicio del archivo al punto actual.

ARQUI DEL COMPU Y SO 30 Fuente: http://dbserver.kaist.ac.kr/~yjlee/Courses/CS230/ntfs/NTFS-4.html

Sistemas Operativos: Sistema de Archivos


Integridad de datos, Recuperacin - NTFS :
Cuando ocurre una falla que interrumpe la ejecucin del sistema operativo, un corte elctrico por ejemplo, al reiniciarse el sistema, se realizan 3 pasadas por el $LogFile:

Pasada de Anlisis
-Bsqueda del LSN desde donde partir la Pasada de Rehacer -Copia las tablas de transacciones y dirty pages a memoria -Se escanea de principio a fin en busca de entradas para actualizar las tablas de transacciones y dirty pages. -Se escanean las tablas para determinar el LSN del ltimo registro de una operacin que no haya sido escrita a disco.

Pasada de Redo (Rehacer)


Se hace para actualizar el cache con las modificaciones al volumen que ocurrieron justo antes de la falla -Se busca en registro con el LSN determinado en la pasada de anlisis. -Busca registros de actualizacin que posiblemente no se hayan escrito a disco y actualiza el cache con ellos.

Pasada de Undo (Deshacer)


Deshacer cualquier transaccin que no se haya commiteado cuando fall el sistema. -Busca el LSN de la ltima operacin no commiteada de CADA transaccin. -Dehace la operacin y retrocede al registro anterior de actualizacin -Flushea los cambios del cache a disco para asegurar la consistencia.

ARQUI DEL COMPU Y SO 31 Fuente: http://dbserver.kaist.ac.kr/~yjlee/Courses/CS230/ntfs/NTFS-4.html

Sistemas Operativos: Sistema de Archivos


Caractersticas Adicionales - NTFS :
Compresin de archivos NTFS implementa un sistema de compresin de datos nativamente. Esto indicando al sistema de archivos que se quiere usar compresin. NTFS toma el archivo en agrupaciones de 16 bloques y aplica compresin, si el resultado ocupa 15 bloques o menos, se comprime ese grupo (independientemente del resto). Al momento de querer acceder a un bloque comprimido, no hay forma de hacerlo directamente, se debe primero descomprimir el grupo donde esta para poder acceder a l.

Cifrado de Archivos NTFS permite el cifrado de los archivos aplicando varios algoritmos enunciados anterior mente, usando una llave pblica (para cifrar) y una privada (para descifrar), al momento de escribir y al momento de leer respectivamente. El cifrado se hace combinando la llave privada con un numero aleatorio de sistema, de manera de obtener 2 llaves: una para la recuperacin de los datos con la llave privada del usuario encriptador (Data Decryption Field DDF) y otra para que otros usuarios autorizados (incluido el Administrador) puedan desencriptar el contenido (Dara Recovery Field DRF).

ARQUI DEL COMPU Y SO

32 Fuente: http://www.ntfs.com/internals-encrypted-files.htm

Sistemas Operativos: Sistema de Archivos


Caractersticas Adicionales - NTFS :
Puntos de Reparseo Son marcas aplicadas a archivos (dado que todo en NTFS es un archivo), que permite extender las funcionalidades del sistema de archivo, asociando un manejador al acceso del objeto en disco que reparsea la peticin. El proceso es completamente transparente para el usuario. Utilizado para implementar: Links Simblicos: reapuntamiento a un archivo. Aqu se lo que se hace es hacer que el reparse vaya a buscar a otra entrada de la MFT los datos del archivo. Junction Points: idem a links simblicos, pero para directorios. Volume Mount Points: idntico a montar un dispositivo en unix, permite colocar un volumen en cualquier parte de la estructura de archivos, quitando la restriccin de las unidades lgicas.

Soporte para archivos Dispersos NTFS soporta la opcin de manejar Sparse Files, que son archivos con una gran porcin de su contenido en cero. Al setear que el archivo es disperso, NTFS intenta de comprimir los lugares en blanco para ahorrar espacio.

ARQUI DEL COMPU Y SO

33

Sistemas Operativos: Sistema de Archivos


Sistemas de archivos Linux :
El sistema de archivos ext2, utilizados como estndar en los sistemas Linux, derivan del sistema de archivos de Minix. Se crea para poder solucionar las limitaciones que presentaba el sistema de archivos Minix:

Tamao mx. FS: 64Mb

Tamao mx. Archivo: 64Mb

Nombre de archivo: 16 caracteres

El funcionamiento aun as, es en su esencia idntico. Utiliza nodos-i para mantener los metadatos del archivo, mapas de bits para mantener los bloques de datos e i-nodes libres. Ext3 no es ms que una extensin de Ext2 para proveer journaling y otras funcionalidades al FS.

ext2
Tamao mx. de volumen Tamao mx. de archivo Nmero mx. de archivos Fechas Compresin de datos 16TiB (Tebibyte 1040) 2TiB (Tebibyte 1040) 218 14/12/1901 18/01/2038 Con parche e2compr (bzip, gzip, lz)

ext3
Tamao mx. de volumen Tamao mx. de archivo Nmero mx. de archivos Fechas Compresin de datos 2 - 32TiB (Tebibyte 1040) 16GiB 2TiB variable 14/12/1901 18/01/2038 No

Encriptacin de datos

No

Encriptacin de datos

No

ARQUI DEL COMPU Y SO

34

Sistemas Operativos: Sistema de Archivos


Virtual File System - LinuxFS :
Cuando se hizo necesario implementar un segundo sistema de archivos a Linux, que inicialmente solo soportaba el sistema de archivos Minix, se decidi colocar una capa intermedia entre el sistema de archivos real y las syscalls de usuario, de manera de hacer transparente el uso.

El VFS (Virtual File System) permite al usuario tener al usuario una API comn para todos los sistemas de archivos que puedan existir en la mquina, e interactuar con estos de forma transparente sin tener que conocer las particularidades de cada uno. Dado que en un solo disco pueden existir muchos sistemas de archivos, se coloca un Buffer Cache entre los sistemas y los controladores de disco. Esto permite al sistema operativo implementar cosas como la lectura adelantada, que al accederse un bloque de disco, en la misma operacin trae los bloques contiguos si no implica gasto extra de recursos. Por otra parte se tiene la escritura asncrona que permite juntar una cantidad de datos aceptable antes de hacer el acceso real a disco, aumentando as el performance del sistema de archivos.

ARQUI DEL COMPU Y SO

35 Fuente: http://e2fsprogs.sourceforge.net/ext2intro.html

Sistemas Operativos: Sistema de Archivos


Estructura Ext2 - LinuxFS :
Dado que Ext3 es solo una extensin para proporcionar nuevas funcionalidades a ext2, describiremos la arquitectura de este ltimo para comprender como se estructuran ambos sistemas de archivos.

En los sistemas de archivos linux no existe la restriccin de 4 particiones como en los sistemas windows. De hecho es muy comn ver estaciones linux con 6 o ms particiones que separan fsicamente datos que lgicamente tienen contextos diferentes.

Boot Record

Particin 0

Particin 1

Particin 2

Disco

En Ext2, cada particin se divide en Grupos de Bloques de tamao fijo e idntico seteable al crear el sistema de archivos.

Boot Block

Grupo 0

Grupo 1

Grupo 2

Cada uno de estos bloques contiene informacin redundante sobre los metadatos cruciales para la integridad del sistema de archivos como lo es el superbloque y los descriptores de grupo.
De esta forma Ext2 busca proporcionar robustez al sistema de archivos sin tener que implementar transacciones, dado el alto nivel de replicacin de la informacin.
Super Bloque Descrip. De Grupos Bitmap de Bloques Bitmap de i-nodes Tabla de i-nodes

Particin

Datos Y Directorios

Redundancia de metadatos en cada grupo

Grupo 36

ARQUI DEL COMPU Y SO

Sistemas Operativos: Sistema de Archivos


Superbloque Ext2 - LinuxFS :
El superbloque es la estructura que contiene la informacin sobre la particin misma, y esta replicado en cada grupo de bloques para protegerlo contra fallos en el sistema de archivos. Este contiene la cantidad de bloques por grupo y nodos-i por grupo (datos ms importantes) entre otros. Aunque el superbloque se escribe de forma redundante, slo se utiliza aquel que esta en el bloque 0. Cuando este se daa, se busca otro superbloque en el disco para reemplazarlo.
El numero mgico le permite a ext2 reconocer la estructura como vlida. til en el caso de bsqueda de un superbloque de reemplazo. Se lleva el conteo de la cantidad de inodes y bloques del grupo, asi como la cantidad libre de estos. El nivel de revisin permite al sistemas de archivos determinar cuales caractersticas estn implementadas en el presente volumen. Ante la falla de sistema que se agota el espacio en disco, se reservan bloques al superusuario, para que este pueda trabajar corrigiendo el error. Por otra parte, el sistema lleva la cuenta de cuantas veces se ha montado el sistema de archivos, para forzar el checkeo del mismo despus de sobrepasado el nmero mximo de montajes sin revisin. Como parmetro adicional tambin puede almacenar un tiempo mximo entre checkeos para forzar la revisin luego de un periodo de tiempo independientes de los montajes. El puntero al primer bloque de datos indica donde parten los bloques que almacenan realmente los archivos y directorios. Ext2 tambin guarda el estado de cada volumen y el comportamiento al detectar errores, el cual puede ser: - continuar la ejecucin normal - remontar el volumen como read-only - Lanzar Kernel Panic.

ARQUI DEL COMPU Y SO

37

Sistemas Operativos: Sistema de Archivos


Descriptor de grupo Ext2 - LinuxFS :
El Descriptor de grupo (Group Descriptor) contiene la estructuras que controlan la asignacin de bloques dentro de un grupo. Estas al igual que el superbloque, estn replicadas en cada grupo de bloques, justo despus del superbloque, permitiendo as su recuperacin ante una falla del sistema de archivos.

Para manejar los bloques libres de datos del grupo, se utiliza un mapa de bits de los bloques, que indica cuales estn disponibles. Asimismo, existe un mapa de bits de i-nodes que permite saber cuales entradas en la tabla de i-nodes estn libres.
Se lleva conteo de la cantidad de bloques libres, inodes libres y directorios que existen en este grupo. Al final, existe espacio libre en la estructura para poder agregar ms descriptores como provisin para futuras extensines.

ARQUI DEL COMPU Y SO

38

Sistemas Operativos: Sistema de Archivos


i-node Ext2 - LinuxFS :
Los nodos-i o inodes son las estructuras que mantienen los metadatos de un archivo como nombre, ubicacin en el disco, etc. Estos componen la Tabla de inodes que tiene tantas entradas como diga el parmetro cantidad inodes del superbloque.

Cada inode guarda el dueo del archivo, el modo linux del archivo (permisos, sticky bits, etc), el tamao en bytes, el tiempo del ltimo acceso, tiempo de la ltima modificacin tanto para el inodo como para los datos. El punto ms importante del inode, son los punteros a los bloques de datos que compondrn el archivo o directorio. El inode mismo contiene 15 entradas de direccin de bloques del largo de la arquitectura (ej: 32 bits) que apuntan a bloques con datos: -Los primeros 12 bloques referencian directamente bloques donde estn los datos en disco - Los 3 ltimos son punteros indirectos que permiten agregar mas direcciones de bloque al archivo: - 1 puntero a bloques indirectos: la direccin de un bloque que contiene tantos punteros a bloques de datos como quepan en un bloque de disco. - 1 puntero a bloques indirectos dobles: la direccin de un bloque donde estn direcciones de bloques que contienen direcciones de bloques de datos - 1 puntero a bloques indirectos triples: idem, con un nivel ms.

ARQUI DEL COMPU Y SO

39

Sistemas Operativos: Sistema de Archivos


i-node Ext2 - LinuxFS :
El inode mismo contiene 15 entradas de direccin de bloques del largo de la arquitectura (ej: 32 bits) que apuntan a bloques con datos:

-Los primeros 12 bloques referencian directamente bloques donde estn los datos en disco - Los 3 ltimos son punteros indirectos que permiten agregar mas direcciones de bloque al archivo: - 1 puntero a bloques indirectos: la direccin de un bloque que contiene tantos punteros a bloques de datos como quepan en un bloque de disco. - 1 puntero a bloques indirectos dobles: la direccin de un bloque, donde estn direcciones de bloques que contienen direcciones de bloques de datos - 1 puntero a bloques indirectos triples: idem, con un nivel ms Dada esta estructura, se tienen los 16 millones de bloques direccionados, el tamao mximo de los archivos esta dado por el tamao de bloque dado en el formato del sistema de archivos.

ARQUI DEL COMPU Y SO 40 Fuente: http://pics.computerbase.de/lexikon/20358/500px-I-Node-Struktur.jpg

Todo en Unix son archivos


Sistema de archivos sencillo y fcil de usar.

Archivo = una secuencia de bytes


El sistema no impone estructura alguna sobre los archivos ni asigna significado a su contenido. El significado de los bytes depende nicamente de los programas que interpretan el archivo.
ARQUI DEL COMPU Y SO 41

Comandos tiles
od - Octal dump (Vaciado octal)
opcin c (interpreta bytes como caracteres) opcin b (muestra los bytes como nmeros octales) opcin x (muestra los bytes como nmeros hexadecimales)

file Indica los tipos de archivo (en base a suposiciones de


acuerdo a su contenido) du (Disk Usage) Fue diseado para indicar cunto espacio del disco est ocupado por los archivos de un directorio (incluyendo todos sus directorios).
opcin a (all) Despliega todos los archivos ARQUI DEL COMPU Y SO que hay en un directorio.42

Caracteres Especiales
La mayora de los Sistemas UNIX utiliza el Sistema ASCII para la representacin de Caracteres. \n \b 012 010 Newline (Nueva lnea) Backspace (Retroceso)

\r

015

Retorno de Carro

No existe un caracter especial Fin de Archivo. El UNIX identifica el

final de un archivo cuando ya no encuentra datos en l.


ARQUI DEL COMPU Y SO 43

El Directorio de Trabajo
El Directorio de Trabajo es un atributo de un proceso, no de

una persona ni de un programa.


Si un proceso crea un proceso hijo, este hereda el directorio de trabajo de su padre. Pero si despus el hijo cambia a un nuevo directorio de trabajo, el padre no es afectado (su directorio de trabajo permanece igual sin importa qu haga el

hijo).
ARQUI DEL COMPU Y SO 44

Ms sobre Directorios
Independientemente del tratamiento particular que le da el Kernel a los directorios, estos residen como archivos ordinarios dentro del sistema de archivos.
Pueden ser leidos como archivos ordinarios, pero no se les puede crear, o escribir en ellos como tales (El ncleo se reserva esta tarea para conservar

la integridad de la informacin de los mismos).


El formato de un archivo de directorio es una combinacin de datos binarios y de texto. Cada entrada del directorio consiste en 16 bytes:
Los dos primeros bytes indican donde se encuentra la informacin administrativa del archivo. Los ltimos 14 guardan el nombre del archivo rellenado con caracteres ASCII nulos (valor 0)
ARQUI DEL COMPU Y SO 45

Introduccin a los Permisos


Cada archivo tiene permisos asociados con l, los cules indican qu puede hacerse con el archivo y quin puede hacerlo. Si bien un usuario inicia sesin mediante su nombre, el sistema reconoce al usuario por medio de un nmero conocido como uid. El Unix permite que distintos usuarios tengan el mismo uid lo cul los hace indistinguibles para el sistema (Situacin indeseable desde un

punto de vista de seguridad)


Adems de un uid se le asigna al usuario un identificador de grupo (group-id) El sistema de archivos determina lo que el usuario puede hacer mediante los permisos otorgados a su uid y group-id
ARQUI DEL COMPU Y SO 46

/etc/passwd
El Archivo de contraseas. Es un archivo de texto ordinario que contiene toda la informacin de inicio de sesin de cada usuario.

Los campos del /etc/passwd se encuentran separados por :


identificador de inicio Contrasea encriptada uid group-id varios Home Directory

Shell
El Archivo /etc/group contiene los nombres de grupos y sus identificadores, y define a los usuarios miembros de los grupos.
ARQUI DEL COMPU Y SO 47

Contraseas
La contrasea del /etc/passwd se encuentra encriptada para evitar que pueda ser visualizada por cualquier usuario del sistema. El proceso de encriptacin es de 1 va. Este sistema permite pasar de la forma original a la forma codificada pero no viceversa. Durante el proceso de login, la contrasea ingresada por el usuario es encriptada y comparada con la contrasea encriptada residente en el archivo /etc/passwd. Si ambas coinciden se permite el ingreso de sesin. Para lograr mayor seguridad, algunos sistemas UNIX contienen las contraseas en otros archivos (Por ejemplo: /etc/shadow)
ARQUI DEL COMPU Y SO 48

Permisos
Existen 3 tipos de permisos para cada archivo: leer (Read) Examinar el contenido del archivo escribir (Write) Cambiar su contenido

ejecutar (eXecute) Ejecutarlo como un programa


Estos permisos se pueden aplicar en forma independiente a: El administrador del archivo (Owner) El grupo del usuario del archivo (Group) Los invitados (World or Others) Ejemplos: -rw-rw-r- -rwxrwxr-x 1 root 1 root 5115 6348 80 Aug 30 19:40 mar 29 2013 prueba.txt /bin/who

drwxrwxr-x 3 carlos

Sep 12 06:11 .
49

ARQUI DEL COMPU Y SO

Permisos
Idea que resuelve varios problemas de seguridad.

Los atributos de un archivo se pueden modificar, para el


administrador, usuario e invitado. El usuario toma prestada la identificacin del administrador del archivo mientras se ejecuta el comando. Sin embargo es un concepto potencialmente peligroso. Qu pasara con un archivo cuyo dueo fuera root con permisos rwxrwxrwx ?

ARQUI DEL COMPU Y SO

50

Permisos en directorios
Si bien los permisos en los directorios funcionan de manera diferente, la idea bsica es la misma:
r El usuario puede leer el directorio, por lo que,por ejemplo, puede ver que archivos hay en l por medio de ls)

w El usuario puede crear y borrar archivos en este directorio (De hecho el


usuario puede escribir sobre el archivo del directorio). Los permisos para borrar archivos son independientes del archivo mismo. Si el usuario tiene permisos de escritura sobre el directorio puede borrar archivos de l , an los archivos estn protegidos contra escritura. x Determina si puede accederse o no a un archivo en l. si se crea un directorio con permisos x significa que los usuarios pueden acceder a cualquier archivo que conozcan en el directorio, pero no pueden ejecutar ls sobre l.
ARQUI DEL COMPU Y SO 51

El comando chmod
Permite el cambio de los permisos sobre los archivos. Posee dos formas para especificar los permisos:
Forma Octal Se asignan 3 dgitos. El primer dgito indica los permisos asignados al dueo, el segundo al grupo, y el tercero al reso.

Los dgitos especifican los permisos sumando simultneamente 4 para


lectura, 2 para escritura y 1 para ejecucin. Forma Simblica Permite activar o desactivar permisos puntuales mediante + y

Solo los dueos de los archivos pueden cambiar sus permisos. Utilice man chmod para una descripcin completa de este comando.
ARQUI DEL COMPU Y SO 52

Aclaraciones sobre Privacidad


No es posible garantizar con los permisos la completa

privacidad de la informacin de los usuarios ya que los


superusuarios (Usuario root) pueden leer o modificar cualquier archivo del sistema.

Si los usuarios requieren mayor privacidad puede utilizar el


comando crypt . Este comando encripta un archivo, Modifica el contenido del mismo de tal forma que sea incomprensible para

cualquier usuario que pueda ver su contenido.

ARQUI DEL COMPU Y SO

53

i-Nodos
Estructura del sistema que almacena informacin administrativa de los archivos. Por ejemplo:
Fecha de ltima modificacin Fecha de ltima utilizacin (Ejecucin o lectura)

Fecha de ltima modificacin al I-nodo (Por ejemplo para un


cambio de permisos) Permisos

Longitud del archivo


Regin del disco donde se encuentra almacenado el archivo
ARQUI DEL COMPU Y SO 54

i-nodos (Cont.)
Los i-nodos son los archivos. Lo nico que hace la jerarqua de directorios es proporcionar nombres adecuados a los archivos. El identificador interno es el i-number (el nmero del i-nodo) Los 2 primeros bytes para cada archivo dentro del archivo del directorio indican el nmero del i-nodo correspondiente a ese archivo.

Un nombre de archivo en un directorio es un enlace (link o liga)


que une un nombre en la jerarqua de directorios al archivo real (indicado por el i-nodo). El mismo nmero-i puede aparecer en ms de un directorio dando lugar a los llamados links

ARQUI DEL COMPU Y SO

55

Links o Ligas
El comando ln permite la creacin de links. Esto permite crear dos nombres para un mismo archivo, para que este pueda aparecer en dos directorios diferentes.

Dos links a un archivo apuntan al mismo nodo-i por lo que en


cada uno de sus directorios contendrn el mismo i-number. El comando rm en realidad no borra nodos-i sino que borra entradas del directorio a sus links. Slo cuando el ltimo link es eliminado, entonces el sistema borra el nodo-i, y en consecuencia los datos.

ARQUI DEL COMPU Y SO

56

Dispositivos
El Unix abstrae a todos los perifricos (discos, unidades de Cd, impresoras, terminales, etc.) como archivos.

Los archivos de dispositivos residen en el directorio /dev


Por ejemplo en lugar de tener rutinas especiales para tratar a una diskettera, existe un archivo /dev/fd0 Dentro del Kernel todas las referencias a ese archivo se traducen en los comandos de Hardware necesarios para acceder a la diskettera. Por ejemplo, una programa que lee el archivo /dev/fd0 en realidad leer el contenido del diskette montado en esa unidad.
Existen dos tipos de dispositivos:
Dispositivos de Caractres, y Dispositivos de bloque.
ARQUI DEL COMPU Y SO 57

Dispositivos
Ejemplos de algunos archivos de dispositivos
hda lp0 tty (Disco duro a) (Impresora de lneas 0) (Terminales)

/dev/null Archivo especial para descarte.

ARQUI DEL COMPU Y SO

58

Ejercicios
2.1. Cree un archivo de texto llamado ejemplo mediante el vi y luego analice la informacin brindada por los siguientes comandos: $ cat ejemplo $ od c ejemplo $ od cb ejemplo $ file ejemplo 2.2. Ejecute el siguiente comando y analice sus resultados: $ file /bin /bin/vi /usr/src/cmd/vi.c /usr/man/man1.vi.1 2.3. Analice el siguiente comando. Cul es la diferencia en su resultado? $ du /etc $cd /etc; du; 2.4. Podra sugerir un comando para encontrar el archivo find mediante el uso del comando du. 2.5. Analice el comando od cb / Qu significa el resultado?

ARQUI DEL COMPU Y SO

59

Ejercicios
2.6. Investigue que opcin de ls debera utilizar para permitir que ls l . muestre informacin acerca de un directorio en lugar de informacin de los archivos contenidos en dicho directorio 2.7. Para que sirve el comando newgrp? 2.8. Intente el siguiente comando: $date > . Qu ocurre?Porqu? 2.9. Para que sirven las opciones c y u del comando ls? Con qu criterio ordena la opcin t?Cmo se podr modificar este criterio? 2.10. Analice para que sirve la opcin i de ls. 2.11. a) Transformar los siguientes permisos a Octales: rwxr-xr-x r-xr--r-- rw-r----- r-x--x--x b) Transformar los siguientes permisos octales en simblicos: 644 755 610 631 777 700 4755 c) Fijar, en modo simblico, los permisos de test.out en modo 754. d) Fijar, en modo Octal, los permisos de test.out en modo rwxr-x--x.

ARQUI DEL COMPU Y SO

60

Ejercicios

-rwsr-xr-x -rw-rw-r--rw-r--r--rwxr-xr-x -rwxr--r-drwxrwxrwt drwxr-xr-x drwxrwx--x drwxrwxr-x drwxr-xr-x

1 victor docentes 1 victor docentes 1 victor docentes 1 victor docentes 1 victor docentes 2 victor soporte 2 victor soporte 2 victor soporte 2 victor soporte 2 diego docentes

29024 ene 1 16:29 2300 may 18 09:37 5895 may 15 12:08 29024 ene 1 16:29 29024 ene 1 16:29 1024 may 1 17:23 1024 oct 16 1998 1024 may 11 7:29 1024 jul 7 6:54 1024 jun 17 19:35

ejecuta prueba.txt index.htm borratodo leer practicos navegador cashflow redes procedimientos

ARQUI DEL COMPU Y SO

61

Ejercicios
Dada la salida del comando ls y suponiendo que el usuario diego, del grupo docentes, tiene acceso al presente listado. Indicar: a) Archivos de los que puede mostrar su contenido. b) Archivos que puede ejecutar como programa. c) Archivos en los que puede modificar contenido. d) Subdirectorios en los que puede ingresar. e) Subdirectorios en que puede grabar. f) Subdirectorios en los que puede borrar archivos que no sean de l. g) Subdirectorios en los que puede ejecutar programas contenidos en ellos.
ARQUI DEL COMPU Y SO 62

Ejercicios (cont)
2.13. Fijar los permisos del directorio dirnotas de modo que todos lo puedan leer y recorrer, pero slo el dueo pueda modificar sus archivos: a) en modo simblico; b) en modo Octal 2.14 Modificar para que el grupo tambin pueda modificar archivos 2.15. Ejecute ls l /etc/passwd . Analice los permisos del archivo. Quin es el dueo del archivo?

2.16. Si el archivo de contraseas slo tiene permiso de escritura para el dueo


(root) cmo es posible que el comando passwd ejecutado por cualquier usuario permita cambiar la contrasea, y por lo tanto, cambiar el contenido de /etc/passwd 2.17. Investigue el comando umask. Modifique su .profile para que todos los archivos que cree slo tengan permiso de lectura y escritura para usted.
ARQUI DEL COMPU Y SO 63

Ejercicios (cont)
2.18. Indique dnde muestra el comando ls l informacin acerca de los links que posee un archivo 2.19. Al utilizar el comando mv para mover el archivo de un directorio a otro. Son los datos los que se mueven? Qu informacin interna piensa usted que se modifica? 2.20. Visualice los dispositivos existentes en /dev con el comando ls l /dev

Puede determinar cules dispositivos son de caracter y cules de bloque?


2.21. Trasldese al directorio /usr/bin y ejecute ls F . Identifique dos vnculos y 5 archivos binarios. 2.22. Averige dnde se encuentran las contraseas en su sistema.

ARQUI DEL COMPU Y SO

64

Fin de la Conferencia

You might also like