Fiis 2013-2 02 Particiones y Sistemas de Archivos Ok

65
ARQUITECTURA DEL ARQUITECTURA DEL COMPUTADOR Y S. O. COMPUTADOR Y S. O. Mag. Daniel Llamas Montoya [email protected] Lima, 21/09/2013 Maestría en Ingeniería de Sistemas

Transcript of Fiis 2013-2 02 Particiones y Sistemas de Archivos Ok

ARQUITECTURA DEL ARQUITECTURA DEL COMPUTADOR Y S. O.COMPUTADOR Y S. O.

Mag. Daniel Llamas Montoya [email protected] Lima, 21/09/2013

Maestría en Ingeniería de Sistemas

Sistemas de Archivos

Mag. Daniel Llamas Montoya [email protected] Lima, 21/09/2013

Maestría en Ingeniería de Sistemas

Temario :

1) Introducción

2) Para el usuario:

1) Archivos

2) Directorios

3) Implementación:

1) Organización del sistema de archivos

2) Implementación de archivos

3) Administración de espacio en disco

4) Casos ejemplo

1) Windows: NTFS

2) Linux: ext3

Sistemas Operativos: Sistema de Archivos

3ARQUI DEL COMPU Y SO

Introducción :

Sistemas Operativos: Sistema de Archivos

Relativo a la perduración de la información, un Sistema Operativo debe proveer las funcionalidades de:

• Almacenar una cantidad grande de información.• La información debe sobrevivir a la terminación del proceso que la

usa.• Existir la capacidad de que múltiples procesos accedan a la

información de forma concurrente.

Los sistemas de archivos son aquellos que deben proveer estas capacidades al Sistema Operativo. Para su comprensión, 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 manipulación (archivos, directorios, funciones de administración).2.Implementación: como se escriben los datos realmente a la unidad de almacenamiento.

4ARQUI DEL COMPU Y SO

Sistemas Operativos: Sistema de Archivos

S.O.

/home/usuario/archivo.txt

open(“archivo.txt”)

C:\windows\calc.exe

Dispositivo

I/O

Usuario Implementación

5ARQUI DEL COMPU Y SO

Definición – Archivos :

“Mecanismo de abstracción que permite almacenar información en un dispositivo y leerla después (…) de tal modo que el usuario no tenga que enterarse de los detalles de cómo y dónde está almacenada la información, y de cómo funcionan en realidad los discos”

-- A. Tannenbaum

Sistemas Operativos: Sistema de Archivos

Nombre de Archivo.extensión

6ARQUI DEL COMPU Y SO

Definición – Archivos :

Sistemas Operativos: Sistema de Archivos

-El nombre de archivo puede estar restringido a un largo máximo, por ejemplo:- MSDOS: 8 para el nombre, 3 para la extensión- NTFS y ext*: 255 en el total (nombre + extensión)

-La extensión “puede” ser usada para determinar el tipo de archivo:-En sistemas windows determina el contenido del archivo y la aplicación encargada de manejarlo. Aquí se suele tener solo 1 extensión: 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 carácter en el nombre excepto NUL (0), aunque algunos sistemas restringen el conjunto aunque la implementación del sistema de archivos lo soporte.

7ARQUI DEL COMPU Y SO

Definición – Archivos :

Sistemas Operativos: Sistema de Archivos

8ARQUI DEL COMPU Y SO

Definición – Archivos :

Sistemas Operativos: Sistema de Archivos

9ARQUI DEL COMPU Y SO

Estructura - Archivos ://

Sistemas Operativos: Sistema de Archivos

Los archivos internamente pueden ser estructurados o libres. LibresLos archivos son simplemente secuencia de bytes. Permite la mayor versatilidad, dado que cada usuario puede establecer como desea almacenar los datos.EstructuradosLos archivos tienen una organización interna a través de la cual deben ser accedidos los datos. Útil cuando el sistema de archivos maneja siempre los datos en estructuras rígidas, dado que acelera el proceso, pero poco conveniente porque amarra al usuario a dicha estructura.

Sucesión de bytes

Sucesión de registros

F M T

C N O

A

Árbol

10ARQUI DEL COMPU Y SO

Ejecutables - Archivos :

Sistemas Operativos: Sistema de 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:

El número mágico permite al S.O determinar si el ejecutable es válido, comparándolo con el o los valores que tiene el sistema como válido. En NachOS por ejemplo es el binario 0xbadfad.Número Mágico

Tamaño de código

Tamaño de datos

Tamaño de BSS

Tamaño de tabla de símbolos

Punto de ingreso

Tabla de Símbolos

Datos

Enc

abez

ado

(Hea

der) Tamaño en bytes que mide el segmento de código

Tamaño en bytes que mide el segmento de datos embedidos en el ejecutable

Tamaño en bytes que mide el segmento de variables no inicializadas (Ej: int a[1000] )

Tamaño en bytes que tiene la tabla de símbolosPosición del Program Counter al inicio (punto de inicio del programa)

Segmento de código. Contiene las instrucciones que son ejecutadas por la CPU.

Segmento de datos. Contiene datos que están embedidos en el archivo ejecutable que son utilizados por este.

Código

La tabla de símbolos 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 ejecución.

11ARQUI DEL COMPU Y SO

Atributos - Archivos :

Sistemas Operativos: Sistema de Archivos

Los sistemas de archivos guardan, además del nombre del archivo y sus datos, información como fecha, hora, usuario, permisos, etc; los cuales se denominan atributos.

Algunos de los atributos que puede guardar un sistema de archivos son:

Protección Permisos que el dueño del archivo establece sobre el archivo. En linux los permisos básicos se establecen en la terna XXX para el usuario, grupo y otros respectivamente con los valores {0: nada, 1: ejecución, 2: escritura, 4: lectura} que se suman para combinar permisos.

Password Clave de protección del archivo

Dueño Usuario del sistema dueño del archivo

Oculto Bit que indica si el archivo figura en la lista normal de archivos.

Temporal Bit que indica si eliminar el archivo al terminar el proceso que lo creo.

Indicadores de Bloqueo Permiten establecer protecciones sobre parte o todo el archivo para que modificaciones concurrentes de varios procesos se hagan de forma adecuada.

Longitud del registro En archivos con registros, indica el largo de cada registro

Tamaño actual Tamaño actual del archivo en bytes.

12ARQUI DEL COMPU Y SO

Directorios :

Sistemas Operativos: Sistema de Archivos

De manera de poder organizar los archivos, muchos sistemas de archivos tienen directorios o carpetas; los cuales también pueden ser archivos.

De su utilización se derivan los conceptos de:

-Directorio Raíz: aquel que contiene al resto del sistema de archivos. En linux es explicito (/), en windows está escondido detrás de las unidades lógicas (\??\)

-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: ubicación de un archivo o directorio indicando su posición explicitando todos los directorios desde el directorio raíz al elemento. Ej: /usr/local/nachos/code/build.linux/nachos.

-Ruta relativa: ubicación de un archivo o directorio indicando su posición 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 (..).

Est

ilo

Uni

x

/

usr/

home/

local/

share/

jmakuc/

cmolina/

\??\

C:\ D:\

Documents And Settings

Temp

Windows

Videos

mp3

Películas

Est

ilo

Win

dow

s

Las entradas X: se denominan unidades y

representan a particiones de los

discos

13ARQUI DEL COMPU Y SO

Organización del Sist. Archivos - Implementación :

Sistemas Operativos: Sistema de Archivos

En sistemas de archivos de discos, estos deben considerar la estructura básica: particiones o volúmenes.

Disco entero

MBR Partición 1 Partición 2 Partición 3 Partición 4

Partición: división lógica de una unidad de disco, también denominada volúmen en sistemas Windows.

MBR: Master Boot Record o Registro Maestro de Arranque. Es leído y ejecutado por la BIOS al encenderse el computador.

Tabla de Particiones: Contiene la información de donde comienza y termina cada partición en el disco. Cada partición puede tener un sistema de archivos diferente.

Bloque de arranque: primer bloque de cada partición. Contiene la información de cómo 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 partición, se deja el bloque en blanco por provisión.

Físicamente podemos distinguir:

Cilindro: disco físico. Tiene varios cilindros, esta en relación con el número de pistas.Pistas: divisiones concéntricas del disco. Un disco removible de 3.5” tiene en formato simple 18 pistas.Sectores: unidad atómica en la que se divide un disco para acceder a él en múltiplos de esta. Ej: 512 bytesBloques: agrupación 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.

Tabla de particiones

14ARQUI DEL COMPU Y SO

Organización del Sist. Archivos - Implementación:

Sistemas Operativos: Sistema de Archivos

Físicamente se puede distinguir:

Cilindro: disco físico. Ej: 1 diskette tiene 1 cilindro, mientras que un disco duro puede tener varios.Pistas: divisiones concéntricas del disco. Un disco removible de 3.5” tiene en formato simple 18 pistas.Sectores: unidad atómica en la que se divide un disco para acceder a él en múltiplos de esta. Ej: 512bBloques: agrupación 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.

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

15ARQUI DEL COMPU Y SO

Organización del Sist. Archivos - Implementación :

Sistemas Operativos: Sistema de Archivos

En sistemas de archivos de discos, estos deben considerar la estructura básica: particiones o volúmenes.

Disco entero

MBR Partición 1 Partición 2 Partición 3 Partición 4

Cada partición debe contener la información de todos los archivos (y directorios si corresponde) que alberga. Esta

información es almacenada en sectores al inicio del volúmen, cuya estructura varía considerablemente entre

sistemas de archivos, aunque conceptualmente se puede graficar como sigue.

Tabla de particiones

Bloque de arranque Metadatos Archivos y Directorios

El sector de metadatos contiene la información respecto de donde y como están almacenados los archivos en la partición.

Número Mágico que identifica sistema de

archivos que contiene la partición

16ARQUI DEL COMPU Y SO

Implementación de archivos - Implementación :

Sistemas Operativos: Sistema de Archivos

Asignación ContiguaSe entrega espacio continuo en el disco a los archivos. Su ventaja es la implementación simple y el buen desempeño en lectura. La desventaja es la fragmentación 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 tamaño para no desperdiciar lugar, o reubicar los archivos para hacer espacio a un archivo más grande.

Asignación por Lista EnlazadaLos 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 fragmentación 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 dirección 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 implementación de página, por ejemplo.

Arch. A Arch. B Arch. C Arch.D Arch. A Arch. C Arch.D

Bloque 0 Bloque 1 Bloque 2 Bloque 3

Bloque 7 en disco Bloque 1 en disco Bloque 5 en disco Bloque 2 en disco

17ARQUI DEL COMPU Y SO

Implementación de archivos - Implementación :

Sistemas Operativos: Sistema de Archivos

Nodos-iConsiste 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 posición a un bloque que contenga más direcciones (solo direcciones)

Asignación por Lista Enlazada empleando tabla en la memoriaToma 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 más simple pues no requiere de accesos a disco dado que todos los datos están juntos en memoriaA esto se le conoce como FAT, File Allocation Table.

Bloque Físico Sgte Bloque

0

1 5

2 -1

3

4

5 2

6

7 1Inicio del archivo

Término del archivo

Atributos del archivo

Dirección del bloque 0

Dirección del bloque 1

Dirección del bloque 2

Dirección del bloque 3

Dirección del bloque 4

Dirección del bloque 5

Dirección del bloque 6

Dirección del bloque 7

Dirección bloque con más direcc.

Bloque de disco

18ARQUI DEL COMPU Y SO

Control de bloques libres - Implementación :

Sistemas Operativos: Sistema de Archivos

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

más pequeña. Al igual que la lista, se puede dejar solo una porción del

mapa en memoria y el resto en disco; teniendo una ventaja adicional,

puesto que las asignaciones realizadas con el bloque en memoria

serán a bloques cercanos, reduciendo el overhead de acceso a disco.

Uno de los problema importantes que debe tratar el sistema de archivos, es la administración de los bloques libres. Sin importar cual método 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 números de bloques libres. Se almacenan tantos

números como se pueda en cada bloque. Para agilizar el

proceso de búsqueda de un bloque libre, se mantiene uno o

más 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.

387

123

32

33

433

766

7

56

321

3

54

55

56

57

77

9

12

987

976

765

433

654

543

21

0 1 0 0 0

0

00

0 0 1 1 1 10 00 10

0 1 1 0

0 1 1 010 0

10 0

10 0

10 0

10 0

00 10 0

0 1 1

0

0 1

001 1 10 0

00 10 0

0 0 1 1

1 0

0 10 0

1

10 010 0

00 0

0

0

0 10 0 0 11 1 0

19ARQUI DEL COMPU Y SO

Introducción - NTFS :

Sistemas Operativos: Sistema de Archivos

NTFS o New Technology File System, es el sistema de archivos de la línea NT de los sistema MS Windows.

Fue diseñado desde cero, pensado para reemplazar a la familia de FAT eliminando todas las limitaciones de este, y pensando en poder extenderlo fácilmente en el futuro.

Conceptualmente NTFS ve todo en el sistema como un archivo, incluyendo a los metadatos. El corazón de tal esquema es la MFT (Master File Table) que contiene la información de donde están los archivos y sus atributos. Aunque esta respaldada en un %, si se daña los datos de todo el volumen se perderán.

Utiliza bitmaps para determinar los bloques (clusters) libres en el disco, e indexa los directorios a través de árboles B+.

Tamaño máximo de volumen 16EiB (Exibibyte – 1060)

Tamaño máximo de archivo Teórico 16EiB

Tamaño máximo de archivo implementación actual

16TiB (Tebibye – 1040)

Número máximo de archivo 232 – 1

Largo nombre de archivo 255 caracteres

Fechas 01/01/1601 – 28/05/60056

Compresión de datos LZ77 (zip) desde WinNT 3.51

Encriptación de datos XDES (Win2000), 3DES (WinXP), AES (Win2003)

20ARQUI DEL COMPU Y SO

Sistemas Operativos: Sistema de Archivos

21ARQUI DEL COMPU Y SO

Name Symbol Antes de la EstandardicacionDespues de la Estandarizacion

bit b 1 bit = 1 bit 1 bit = 1 bitbyte B 1 B = 8 bit 1 B = 8 bit

kilobit kbit / kb 1 kbit = 1024 bit 1 kBit = 1000 bitKibibit KiBit 1 KiBit = 1024 bit

kilobyte kB 1 kB = 1024 B = Byte 1 kB = 1000 Byte

kibibyte KiB 1 KiB = 1024 Byte

megabit MBit / Mb 1 MBit = 1024 KBit 1 MBit = 1000 kBit

mebibit MiBit / Mib 1 Mib = 1024 KiBit

megabyte MB 1 MB = 1024 kB 1 MB = 1000 kB

Mebibyte MiBit / MiB 1 MiB = 1024 KiB

gigabit GBit / Gb 1 GBit = 1024 MBit 1 GBit = 1000 MBit

gibibit GiBit / Gib 1 Gib = 1024 MiBit

gigabyte GB 1 GB = 1024 MB 1 GB = 1000 MB

gibibyte GiB 1 GiB = 1024 MiB

terabyte TB 1 TB = 1024 GB 1 TB = 1000 GB

tebibyte TiB 1 TiB = 1024 GiBpetabyte PB 1 PB = 1024 TB 1 PB = 1000 TBpebibyte PiB 1 PiB = 1024 TiBexabyte EB 1 EB = 1024 PB 1 EB = 1000 PBexbibyte EiB 1 EiB = 1024 PiBzettabyte ZB 1 ZB = 1024 EB 1 ZB = 1000 EBzebibyte ZiB 1 ZiB = 1024 EiByottabyte YB 1 YB = 1024 ZB 1 YB = 1000 ZByobibyte YiB 1 YiB = 1024 ZiB

Esquema General - NTFS :

Sistemas Operativos: Sistema de Archivos

Ejemplo Esquema partición NTFS

Partition Boot Record

MFTArchivos

de SistemaÁrea de archivos

Boot Partition RecordEn los primeros 8kb se contiene la información sobre el volumen (tipo de partición, largo, etc), junto con el bloque de código básico para iniciar al sistema operativo. Contiene tambien un puntero a la MFT.

MFT – Master File TableLa Tabla Maestra de archivos contiene el donde y como están almacenados los archivos, junto con todos los atributos asociados a estos.

Archivos de SistemaContienen la información sobre los datos y operaciones que se realizan sobre el sistema de archivos: espacio libre, log de transaccionalidad, etc.

Área de archivosDonde realmente se almacenan los datos del usuario.

22ARQUI DEL COMPU Y SO

Master File Table - NTFS :

Sistemas Operativos: Sistema de Archivos

# Filename Nombre Descripción

0 $MFT Master File Table Puntero a si mismo para consistencia del modelo.

1 $MFTMirr Master File Tabla Mirror Puntero donde se encuentra el respaldo de la MFT. Solo se respaldan los registros más importante. En NT3.5 se ubica a la mitad de la partición, en versiones posteriores al final.

2 $LogFile Log File Archivo de log de transacciones sobre el volumen.

3 $Volume Volume Descriptor Contiene información crucial sobre la partición en si: versión NTFS, nombre, etc.

4 $AttrDef Attribute Definition Table Nombres y tipos de los atributos que tendrá cada archivo.

5 $ Root Directory Puntero a donde parte el directorio raíz del sistema.

6 $Bitmap Cluster Allocation Bitmap Mapa que muestra los clusters (bloques) disponibles

7 $Boot Volume Boot Code Puntero al segmento que contiene el código de arranque, en el caso de que esta sea una partición activa (booteable)

8 $BadClus Bad Cluster File Lista de todos los bloques “malos” del disco, para no volver a utilizarlos.

9 $Secure Security File Contiene descriptores únicos para cada archivo del volumen

10 $UpCase Upper Case Table Tabla de conversiones mayúsculas/minúsculas en UNICODE.

11 $Extend NTFS Extensions Usado por varias extensiones como quotas, reparse, identif. de objeto, etc.

La MFT contiene la información sobre todos los archivos dentro del volumen. Mantiene la dirección en disco donde esta el archivo, sus atributos, información de cómo securizar los datos, etc.

Las primeras 16 posiciones corresponden a entradas a archivos que implementan el sistema de archivos y están reservadas. Desde la 11 a la 15 no se utilizan y están para provisión. Desde el #16 en adelante se pueden tener entradas para archivos de usuario.

23ARQUI DEL COMPU Y SO

Master File Table Entry - NTFS :

Sistemas Operativos: Sistema de Archivos

Atributo Descripción

Información estándar Bits indicadores, marcas de hora, etc.

Nombre de archivo En UNICODE

Descriptor de Seguridad Obsoleto. Ver $Extend $Secure

Lista de atributos Ubicación de registros MFT adicionales, si se necesitan

Identificador de Objeto Identificador de archivo de 64bits (teoricamente único en el mundo)

Punto de reanálisis Para montajes y enlaces simbólicos

Nombre de Volumen Nombre de este volumen (usado por $Volumne)

Información de volumen Versión del volumen (usado por $Volume)

Raíz índice Se usa para directorios

Asignación de índice Se usa en directorios muy grandes

Mapa de bits Usado en directorios muy grandes

Flujo utilitario de registro Controla las entradas en $LogFile

Datos Datos de flujo; puede repetirseAtr

ibu

tos

Bás

icos

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 más espacio disponible en el disco. En el caso de que la MFT crezca mucho, puede particionarse y colocar una porción en otro lugar del disco. El tamaño de una entrada de la MFT puede variar entre 1.024 y 4.096 bytes, estando de la mano el tamaño 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 continuación 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

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

24ARQUI DEL COMPU Y SO

Master File Table Entry, Atributos - NTFS :

Sistemas Operativos: Sistema de Archivos

Siguiendo la misma filosofía 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 están presentes en el registro inicial del archivo dado que están 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.

25ARQUI DEL COMPU Y SO

Master File Table Entry, Archivos - NTFS :

Sistemas Operativos: Sistema de Archivos

Cuando un archivo es lo suficientemente pequeño, 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 podría tener un solo extent que lo contenga o 3 series de 1kb; así el tamaño del archivo no determina su tamaño en la MFT, sino la cantidad de series que lo componen

Los punteros a datos son referencias directas a secuencias de bloques lógicos 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

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

26ARQUI DEL COMPU Y SO

Master File Table Entry, Directorios - NTFS :

Sistemas Operativos: Sistema de Archivos

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.

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

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 más 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.

27ARQUI DEL COMPU Y SO

Integridad de datos - NTFS :

Sistemas Operativos: Sistema de Archivos

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 transacción, se realizan todas o ninguna en absoluto (Concepto de atomicidad). Este log no asegura la no pérdida de datos del usuario, sino que busca que el modelo siempre este consistente, sin nodos huérfanos ni espacio en disco ocupado clusters sin asignar.

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

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

operación que no esta en el cache, el procedimiento que se realiza

es análogo a un fallo de página, yéndose a buscar el bloque a disco

para su lectura o escritura correspondiente.

Copia 2 Entradas de logCopia 1

Área de reinicio de LFS Área “infinita” de logeo

El Log File Service (LFS), es el nombre del servicio encargado de llevar la bitácora de operaciones.

28ARQUI DEL COMPU Y SO

Integridad de datos, LFS - NTFS :

Sistemas Operativos: Sistema de Archivos

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

Se compone de 2 secciones: Área de reinicio: contiene información 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

• Información de rehacer: como volver a aplicar una suboperación de una transacción commiteada al volumen• Información de deshacer: como hacer rollback a una suboperación de una transacción NO-commiteada al volumen. • Commits de transacciónes

Las acciones que provocan entradas de actualización en el log, deben ser idempotentes. En NTFS son:

- Crear / Borrar un archivo- Extender / Truncar un archivo- Renombrar un archivo- Setear la información del archivo (metadatos)- Cambiar los parametros de seguridad de un archivo

29ARQUI DEL COMPU Y SO

Integridad de datos, LFS - NTFS :

Sistemas Operativos: Sistema de Archivos

Fuente: http://dbserver.kaist.ac.kr/~yjlee/Courses/CS230/ntfs/NTFS-4.html

Se compone de 2 secciones: Área de reinicio: contiene información 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• Información de rehacer: como volver a aplicar una suboperación de una transacción commiteada al volumen• Información de deshacer: como hacer rollback a una suboperación de una transacción NO-commiteada al volumen. • Commits de transacciones

Las acciones que provocan entradas de actualización en el log, deben ser idempotentes. En NTFS son:

- Crear / Borrar un archivo- Extender / Truncar un archivo- Renombrar un archivo- Setear la información del archivo (metadatos)- Cambiar los parámetros de seguridad de un archivo

Entradas de CheckpointIndican al sistema desde donde leer para recuperarse, guardándose 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 páginas sucias, que indican las páginas 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.

30ARQUI DEL COMPU Y SO

Integridad de datos, Recuperación - NTFS :

Sistemas Operativos: Sistema de Archivos

Cuando ocurre una falla que interrumpe la ejecución del sistema operativo, un corte eléctrico por ejemplo, al reiniciarse el sistema, se realizan 3 pasadas por el $LogFile:

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 análisis.-Busca registros de actualización que posiblemente no se hayan escrito a disco y actualiza el cache con ellos.

Pasada de Undo (Deshacer)Deshacer cualquier transacción que no se haya commiteado cuando falló el sistema.-Busca el LSN de la última operación no commiteada de CADA transacción.-Dehace la operación y retrocede al registro anterior de actualización-Flushea los cambios del cache a disco para asegurar la consistencia.

Pasada de Análisis-Búsqueda 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 operación que no haya sido escrita a disco.

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

Características Adicionales - NTFS :

Sistemas Operativos: Sistema de Archivos

Compresión de archivosNTFS implementa un sistema de compresión de datos nativamente. Esto indicando al sistema de archivos que se quiere usar compresión. NTFS toma el archivo en agrupaciones de 16 bloques y aplica compresión, 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 ArchivosNTFS permite el cifrado de los archivos aplicando varios algoritmos enunciados anterior mente, usando una llave pública (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 recuperación 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).

Fuente: http://www.ntfs.com/internals-encrypted-files.htm32ARQUI DEL COMPU Y SO

Características Adicionales - NTFS :

Sistemas Operativos: Sistema de Archivos

Puntos de ReparseoSon 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 petición. El proceso es completamente transparente para el usuario. Utilizado para implementar:

Links Simbólicos: 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 simbólicos, pero para directorios.

Volume Mount Points: idéntico a montar un dispositivo en unix, permite colocar un volumen en cualquier parte de la estructura de archivos, quitando la restricción de las unidades lógicas.

Soporte para archivos DispersosNTFS soporta la opción de manejar “Sparse Files”, que son archivos con una gran porción de su contenido en cero. Al setear que el archivo es disperso, NTFS intenta de “comprimir” los lugares en blanco para ahorrar espacio.

33ARQUI DEL COMPU Y SO

Sistemas de archivos Linux :

Sistemas Operativos: Sistema de Archivos

El sistema de archivos ext2, utilizados como estándar 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:

Tamaño máx. FS: 64Mb Tamaño máx. Archivo: 64Mb Nombre de archivo: 16 caracteres

El funcionamiento aun así, es en su esencia idéntico. 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 más que una extensión de Ext2 para proveer journaling y otras funcionalidades al FS.

Tamaño máx. de volumen

16TiB (Tebibyte – 1040)

Tamaño máx. de archivo 2TiB (Tebibyte – 1040)

Número máx. de archivos 218

Fechas 14/12/1901 – 18/01/2038

Compresión de datos Con parche e2compr(bzip, gzip, lz)

Encriptación de datos No

ext2Tamaño máx. de volumen 2 - 32TiB (Tebibyte – 1040)

Tamaño máx. de archivo 16GiB – 2TiB

Número máx. de archivos variable

Fechas 14/12/1901 – 18/01/2038

Compresión de datos No

Encriptación de datos No

ext3

34ARQUI DEL COMPU Y SO

Virtual File System - LinuxFS :

Sistemas Operativos: Sistema de Archivos

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 común para todos los sistemas de archivos que puedan existir en

la máquina, 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 operación trae los bloques contiguos si

no implica gasto extra de recursos. Por otra parte se tiene la

escritura asíncrona que permite juntar una cantidad de datos

aceptable antes de hacer el acceso real a disco, aumentando así el

performance del sistema de archivos.

Fuente: http://e2fsprogs.sourceforge.net/ext2intro.html35ARQUI DEL COMPU Y SO

Estructura Ext2 - LinuxFS :

Sistemas Operativos: Sistema de Archivos

Dado que Ext3 es solo una extensión 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 restricción de 4 particiones como en los sistemas windows. De hecho es muy común ver estaciones linux con 6 o más particiones que separan físicamente datos que lógicamente tienen contextos diferentes.

En Ext2, cada partición se divide en Grupos de Bloques de tamaño fijo e idéntico seteable al crear el sistema de archivos.

Cada uno de estos bloques contiene información 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 replicación de la información.

Boot Record

Partición 0 Partición 1 Partición 2

BootBlock

Grupo 0 Grupo 1 Grupo 2

SuperBloque

Descrip.De

Grupos

Bitmap de

Bloques

Bitmap de

i-nodes

Tabla de

i-nodes

Datos Y

Directorios

Disco

Partición

GrupoRedundancia de metadatos en cada grupo

36ARQUI DEL COMPU Y SO

Superbloque Ext2 - LinuxFS :

Sistemas Operativos: Sistema de Archivos

El superbloque es la estructura que contiene la información sobre la partición 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 más importantes) entre otros.

Aunque el superbloque se escribe de forma redundante, sólo se utiliza aquel que esta en el bloque 0. Cuando este se daña, se busca otro superbloque en el disco para reemplazarlo.

El numero mágico le permite a ext2 reconocer la estructura como válida. Útil en el caso de búsqueda 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 revisión permite al sistemas de archivos determinar cuales características están 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 después de sobrepasado el número máximo de montajes sin revisión. Como parámetro adicional también puede almacenar un tiempo máximo entre checkeos para forzar la revisión 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 también guarda el estado de cada volumen y el comportamiento al detectar errores, el cual puede ser:

- continuar la ejecución normal- remontar el volumen como read-only - Lanzar Kernel Panic.

37ARQUI DEL COMPU Y SO

Descriptor de grupo Ext2 - LinuxFS :

Sistemas Operativos: Sistema de Archivos

El Descriptor de grupo (Group Descriptor) contiene la estructuras que controlan la asignación de bloques dentro de un grupo. Estas al igual que el superbloque, están replicadas en cada grupo de bloques, justo después del superbloque, permitiendo así su recuperación 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 están disponibles. Asimismo, existe un mapa de bits de i-nodes que permite saber cuales entradas en la tabla de i-nodes están 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 más descriptores como provisión para futuras extensiónes.

38ARQUI DEL COMPU Y SO

i-node Ext2 - LinuxFS :

Sistemas Operativos: Sistema de Archivos

Los nodos-i o inodes son las estructuras que mantienen los metadatos de un archivo como nombre, ubicación en el disco, etc. Estos componen la Tabla de inodes que tiene tantas entradas como diga el parámetro cantidad inodes del superbloque.

Cada inode guarda el dueño del archivo, el modo linux del archivo (permisos, sticky bits, etc), el tamaño en bytes, el tiempo del último acceso, tiempo de la última modificación tanto para el inodo como para los datos.

El punto más importante del inode, son los punteros a los bloques de datos que compondrán el archivo o directorio.

El inode mismo contiene 15 entradas de dirección de bloques del largo de la arquitectura (ej: 32 bits) que apuntan a bloques con datos:

-Los primeros 12 bloques referencian directamente bloques donde están 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 dirección 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 dirección de un bloque donde están direcciones de bloques que contienen direcciones de bloques de datos- 1 puntero a bloques indirectos triples: idem, con un nivel más.

39ARQUI DEL COMPU Y SO

i-node Ext2 - LinuxFS :

Sistemas Operativos: Sistema de Archivos

El inode mismo contiene 15 entradas de dirección de bloques del largo de la arquitectura (ej: 32 bits) que apuntan a bloques con datos:

Fuente: http://pics.computerbase.de/lexikon/20358/500px-I-Node-Struktur.jpg

-Los primeros 12 bloques referencian directamente bloques donde están 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 dirección 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 dirección de un bloque, donde están direcciones de bloques que contienen direcciones de bloques de datos

- 1 puntero a bloques indirectos triples: idem, con un nivel más

Dada esta estructura, se tienen los 16 millones de bloques direccionados, el tamaño máximo de los archivos esta dado por el tamaño de bloque dado en el formato del sistema de archivos.

40ARQUI DEL COMPU Y SO

Todo en Unix son archivos

Sistema de archivos sencillo y fácil 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.

41ARQUI DEL COMPU Y SO

Comandos útiles

od - Octal dump (Vaciado octal) opción –c (interpreta bytes como caracteres)

opción –b (muestra los bytes como números octales)

opción –x (muestra los bytes como números hexadecimales)

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

acuerdo a su contenido)

du – (Disk Usage) Fue diseñado para indicar cuánto espacio del

disco está ocupado por los archivos de un directorio (incluyendo

todos sus directorios). opción –a (all) Despliega todos los archivos que hay en un directorio.42ARQUI DEL COMPU Y SO

Caracteres Especiales La mayoría de los Sistemas UNIX utiliza el Sistema ASCII para la

representación de Caracteres.

\n 012 Newline (Nueva línea)

\b 010 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.

43ARQUI DEL COMPU Y SO

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 después 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).

44ARQUI DEL COMPU Y SO

Más 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 núcleo se reserva esta tarea para conservar la

integridad de la información de los mismos).

El formato de un “archivo” de directorio es una combinación de datos binarios y

de texto. Cada entrada del directorio consiste en 16 bytes: Los dos primeros bytes indican donde se encuentra la información administrativa del

archivo.

Los últimos 14 guardan el nombre del archivo rellenado con caracteres ASCII nulos

(valor 0)

45ARQUI DEL COMPU Y SO

Introducción a los Permisos

Cada archivo tiene permisos asociados con él, los cuáles indican qué

puede hacerse con el archivo y quién puede hacerlo.

Si bien un usuario inicia sesión mediante su nombre, el sistema

reconoce al usuario por medio de un número conocido como uid.

El Unix permite que distintos usuarios tengan el mismo uid lo cuál los

hace indistinguibles para el sistema (Situación indeseable desde un

punto de vista de seguridad)

Además 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

46ARQUI DEL COMPU Y SO

/etc/passwd

El “Archivo de contraseñas”. Es un archivo de texto ordinario que contiene toda la

información de inicio de sesión de cada usuario.

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

identificador de inicio

Contraseña 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.

47ARQUI DEL COMPU Y SO

Contraseñas

La contraseña del /etc/passwd se encuentra encriptada para evitar que

pueda ser visualizada por cualquier usuario del sistema. El proceso de

encriptación es de 1 vía. Este sistema permite pasar de la forma original a

la forma codificada pero no viceversa. Durante el proceso de login, la contraseña ingresada por el usuario es

encriptada y comparada con la contraseña encriptada residente en el

archivo /etc/passwd. Si ambas coinciden se permite el ingreso de sesión. Para lograr mayor seguridad, algunos sistemas UNIX contienen las

contraseñas en otros archivos (Por ejemplo: /etc/shadow)

48ARQUI DEL COMPU Y SO

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- - 1 root 5115 Aug 30 19:40 prueba.txt

-rwxrwxr-x 1 root 6348 mar 29 2013 /bin/who

drwxrwxr-x 3 carlos 80 Sep 12 06:11 .

49ARQUI 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 identificación del

administrador del archivo mientras se ejecuta el comando.

Sin embargo es un concepto potencialmente peligroso.

¿Qué pasaría con un archivo cuyo dueño fuera root con

permisos –rwxrwxrwx ?

50ARQUI DEL COMPU Y SO

Permisos en directorios Si bien los permisos en los directorios funcionan de manera diferente, la

idea básica 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 ,

aún los archivos estén 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.

51ARQUI DEL COMPU Y SO

El comando chmod

Permite el cambio de los permisos sobre los archivos.

Posee dos formas para especificar los permisos: Forma Octal

Se asignan 3 dígitos. El primer dígito indica los permisos asignados al dueño,

el segundo al grupo, y el tercero al reso.

Los dígitos especifican los permisos sumando simultáneamente 4 para lectura,

2 para escritura y 1 para ejecución.

Forma Simbólica

Permite activar o desactivar permisos puntuales mediante + y –

Solo los dueños de los archivos pueden cambiar sus permisos.

Utilice man chmod para una descripción completa de este comando.

52ARQUI DEL COMPU Y SO

Aclaraciones sobre Privacidad

No es posible garantizar con los permisos la completa

privacidad de la información 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.

53ARQUI DEL COMPU Y SO

i-Nodos

Estructura del sistema que almacena información

administrativa de los archivos. Por ejemplo:Fecha de última modificación

Fecha de última utilización (Ejecución o lectura)

Fecha de última modificación al I-nodo (Por ejemplo para un

cambio de permisos)

Permisos

Longitud del archivo

Región del disco donde se encuentra almacenado el archivo

54ARQUI DEL COMPU Y SO

i-nodos (Cont.)

Los i-nodos “son” los archivos. Lo único que hace la jerarquía de

directorios es proporcionar nombres adecuados a los “archivos”.

El identificador interno es el i-number (el número del i-nodo)

Los 2 primeros bytes para cada archivo dentro del “archivo” del

directorio indican el número 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 jerarquía de directorios al archivo real

(indicado por el i-nodo). El mismo número-i puede aparecer en

más de un directorio dando lugar a los llamados links

55ARQUI DEL COMPU Y SO

Links o Ligas

El comando ln permite la creación 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 contendrán el mismo i-number.

El comando rm en realidad no borra nodos-i sino que borra

entradas del directorio a sus links. Sólo cuando el último link

es eliminado, entonces el sistema borra el nodo-i, y en

consecuencia los datos.

56ARQUI DEL COMPU Y SO

Dispositivos

El Unix abstrae a todos los periféricos (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 Caractéres, y Dispositivos de bloque.

57ARQUI DEL COMPU Y SO

Dispositivos

Ejemplos de algunos archivos de dispositivoshda (Disco duro a) lp0 (Impresora de líneas 0) tty (Terminales)

/dev/null Archivo especial para descarte.

58ARQUI DEL COMPU Y SO

Ejercicios

2.1. Cree un archivo de texto llamado “ejemplo” mediante el vi y luego analice la información 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. ¿Cuál es la diferencia en su resultado?$ du /etc $cd /etc; du;

2.4. Podría 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?

59ARQUI DEL COMPU Y SO

Ejercicios2.6. Investigue que opción de ls debería utilizar para permitir que ls –l . muestre

información acerca de un directorio en lugar de información 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

opción –t?¿Cómo se podrá modificar este criterio?2.10. Analice para que sirve la opción –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 simbólicos: 644 755 610 631 777 700 4755

c) Fijar, en modo simbólico, los permisos de test.out en modo 754. d) Fijar, en modo Octal, los permisos de test.out en modo rwxr-x--x.

60ARQUI DEL COMPU Y SO

Ejercicios

-rwsr-xr-x 1 victor docentes 29024 ene 1 16:29 ejecuta -rw-rw-r-- 1 victor docentes 2300 may 18 09:37 prueba.txt -rw-r--r-- 1 victor docentes 5895 may 15 12:08 index.htm -rwxr-xr-x 1 victor docentes 29024 ene 1 16:29 borratodo -rwxr--r-- 1 victor docentes 29024 ene 1 16:29 leer drwxrwxrwt 2 victor soporte 1024 may 1 17:23 practicos drwxr-xr-x 2 victor soporte 1024 oct 16 1998 navegador drwxrwx--x 2 victor soporte 1024 may 11 7:29 cashflow drwxrwxr-x 2 victor soporte 1024 jul 7 6:54 redes drwxr-xr-x 2 diego docentes 1024 jun 17 19:35 procedimientos

61ARQUI DEL COMPU Y SO

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.

62ARQUI DEL COMPU Y SO

Ejercicios (cont)

2.13. Fijar los permisos del directorio dirnotas de modo que todos lo puedan leer y

recorrer, pero sólo el dueño pueda modificar sus archivos:

a) en modo simbólico; b) en modo Octal

2.14 Modificar para que el grupo también pueda modificar archivos

2.15. Ejecute ls –l /etc/passwd . Analice los permisos del archivo. ¿Quién es el

dueño del archivo?

2.16. Si el archivo de contraseñas sólo tiene permiso de escritura para el dueño

(root) cómo es posible que el comando passwd ejecutado por cualquier

usuario permita cambiar la contraseña, 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 sólo tengan permiso de lectura y escritura para usted.

63ARQUI DEL COMPU Y SO

Ejercicios (cont)

2.18. Indique dónde muestra el comando ls –l información 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é información interna piensa usted que se

modifica?

2.20. Visualice los dispositivos existentes en /dev con el comando ls –l /dev

¿Puede determinar cuáles dispositivos son de caracter y cuáles de bloque?

2.21. Trasládese al directorio /usr/bin y ejecute ls –F . Identifique dos vínculos y 5

archivos binarios.

2.22. Averigüe dónde se encuentran las contraseñas en su sistema.

64ARQUI DEL COMPU Y SO

Fin de la Conferencia