Practico_PAD3501_Semana2

Anuncio
Escuela de Informática y Telecomunicaciones
SEMANA N° 2
NOMBRE EXPERIENCIA: Sistema de archivos de LINUX y distribuciones
UNIDAD DE APRENDIZAJE:
I.
Objetivo
Que el alumno tenga una idea general de las características y funcionalidades del sistema de
archivos de LINUX, de la estructura de directorios de LINUX y de sus tipos de archivos.
II.
Conocimientos previos
La mayoría de los usuarios consideran la información almacenada en un sistema LINUX como una
colección de archivos y directorios, en gran medida independientes de los dispositivos o medios
particulares. Un administrador debe contemplar estos archivos y directorios como un conjunto de
SISTEMAS DE ARCHIVOS que están conectados a los medios de almacenamiento.
Cuando usted recibe su computadora, los discos rígidos están ya probablemente formateados en
sectores direccionables denominados BLOQUES, que son usualmente de 512 o 1024 bytes de
tamaño. Una vez instalado el Sistema LINUX, los discos se dividen en secciones o PARTICIONES,
cada una de las cuales contiene un cierto número de estos BLOQUES. Cada SISTEMA DE
ARCHIVOS está asignado a una de estas particiones como el área en donde está almacenada la
información para ese SISTEMA DE ARCHIVOS.
La interfaz para cada partición de disco se hace a través de archivos especiales de dispositivo en
el directorio /dev. Un dispositivo físico puede contener uno o más SISTEMAS DE ARCHIVOS.
Resumiendo, un SISTEMA DE ARCHIVOS corresponde a los métodos y estructuras de datos que
un sistema operativo utiliza para mantener la “pista” de los archivos sobre un disco o partición; esto
es, la manera en que los archivos son organizados en el disco.
Un SISTEMA DE ARCHIVOS es también definido como una estructura completa de directorios que
incluye un directorio raíz, y todos los archivos y directorios que “cuelgan” bajo esa raíz.
El SISTEMA DE ARCHIVOS cuenta con las siguientes características:
Una estructura jerárquica arborescente, en donde el nodo principal es el directorio llamado raíz
(representado por "/") y cada uno de los niveles del árbol representa directorios.
Consistencia en el manejo de archivos.
Protección para los datos de los archivos.
Manejo de los dispositivos periféricos como archivos.
III.
Requerimientos técnicos
Para esta actividad basta con un PC con LINUX y acceso a Internet por alumno o en
grupo de máximo dos alumnos por PC.
1
Escuela de Informática y Telecomunicaciones
IV.
Desarrollo de la Actividad
La siguiente actividad está centrada en la profundización de los conceptos generales y
estructura del sistema de archivos de LINUX, de la estructura de directorios de LINUX y
de los tipos de archivos de LINUX.
Ud. deberá profundizar acerca de las características del sistema de archivos de LINUX, la
estructura genérica de un sistema de archivos en sistemas tipo UNIX/LINUX, la relación
entre archivos, i-nodes, i-list y directorios, los tipos de sistemas de archivos de LINUX, la
estructura de directorios de LINUX, y los tipos de archivo en LINUX, entre otras.
Algunas de las preguntas y/o actividades planteadas pueden responderse con la
documentación ofrecida en el material teórico de la asignatura, otras, sin embargo,
requieren que Ud. Investigue, para esto último será usual que se le ofrezcan links a
páginas web, esquemas o dibujos, diagramas, tablas, documentación complementaria,
etc.
SISTEMAS DE ARCHIVOS UNIX/LINUX
1.-
¿Cuáles son las ventajas de mantener SISTEMAS DE ARCHIVOS tales como los
que mantiene UNIX y LINUX?
2.-
¿Cuáles son las características del SISTEMA DE ARCHIVOS de LINUX?
2
Escuela de Informática y Telecomunicaciones
Estructura de un SISTEMA DE ARCHIVOS UNIX/LINUX
La estructura del SISTEMA DE ARCHIVOS en un sistema tipo UNIX/LINUX consiste en un bloque
de boot o de arranque, el super-bloque, una lista de i-nodes o i-list y el bloque de datos.
Bloque
Bloque de arranque
Descripción
El primer bloque (bloque 0) de un sistema de archivos está
reservado al programa de carga inicial (utilizado para contener
acerca del procedimiento de arranque si el sistema de archivos se
utiliza para la carga inicial). Naturalmente puede contener cualquier
cosa que se quiera colocar allí. El bloque 0 no tiene significado
dentro del sistema de archivos. La información efectiva del sistema
de archivos comienza realmente en el bloque 1 del dispositivo.
El Super-bloque
El bloque 1 de un sistema de archivos es el denominado "superbloque". Contiene la información más importante acerca del
sistema de archivos, tal como el tamaño en bloques, el nombre del
sistema de archivos, el número de bloques reservados a i-nodes, la
lista de i-nodes libres, y el comienzo de la cadena de bloques
libres.
i-nodes
A continuación del super-bloque viene una serie de bloques que
contiene i-nodes. El número de bloques de i-nodes varía
dependiendo del número total de bloques que haya en el sistema
de archivos. El número de i-nodes está especificado en el superbloque. Hay un i-node por cada directorio y por cada archivo del
sistema de archivos. Si un i-node está asignado, contiene una
descripción de un directorio o de un archivo de los pertenecientes
al sistema de archivos.
Bloques de datos
El resto del dispositivo lógico son todos bloques de datos. Los
bloques de datos contienen los datos realmente almacenados en
los directorios y archivos. También hay bloques de datos que sirven
como bloques indirectos y contiene números de bloque de archivos
extensos.
3.-
¿Qué información contiene el super-bloque de un sistema de archivos
UNIX/LINUX?
3
Escuela de Informática y Telecomunicaciones
4.-
¿Cuándo cobra importancia el bloque de boot o de arranque de un SISTEMA DE
ARCHIVOS UNIX/LINUX? Explique brevemente.
Archivos, i-nodes, i-list y directorios
Un archivo en un sistema UNIX/LINUX se describe mediante un objeto denominado "i-node". Por
cada archivo existe un i-node único que lo describe y que contiene punteros a los bloques que
comprende dicho archivo.
El i-node contiene información sobre los derechos de acceso (permisos) al archivo, el número de
enlaces, fecha de creación, fecha de modificación, identificación del dueño, y alguna otra
información. Las diez primeras entradas son números de bloque referidos a los bloques que
contienen los datos efectivos del archivo.
En la siguiente figura se muestra la estructura de un i-node en el SISTEMA DE ARCHIVOS ext2:
En resumen, un i-node contiene toda la información acerca de un archivo, excepto el nombre de
éste. El nombre del archivo es almacenado en el directorio, junto con el número del i-node. Así,
una entrada en el directorio consiste de un nombre de archivo y el número de i-node que
representa a dicho archivo.
La siguiente figura sintetiza la relación entre archivos, i-nodes y directorios, entre otros:
4
Escuela de Informática y Telecomunicaciones
El i-node contiene los números de varios bloques de datos, los cuales son usados para almacenar
los datos del archivo. Existe espacio solo para unos cuantos números de bloques de datos, sin
embargo, si es necesario disponer de más números de bloques, más espacio para punteros a otros
bloques de datos es asignado dinámicamente. Estos bloques asignados dinámicamente son
denominados bloques indirectos.
5.-
Digamos que el directorio /home/alumno contiene un archivo llamado tarea. Explique la
relación entre el directorio /home/alumno y el archivo tarea de dicho directorio, en términos
de su número de i-node correspondiente.
6.-
¿Tienen los “archivos ocultos” (por ejemplo, .bash_profile) diferentes sistemas de
numeración de i-nodes que los archivos normales?
5
Escuela de Informática y Telecomunicaciones
7.-
Explique, breve y justificadamente, la relación entre un archivo, su i-node, el directorio que
contiene dicho archivo, la i-list y el i-number, de acuerdo con la figura presentada
anteriormente.
8.-
Los SISTEMAS DE ARCHIVOS se encuentran sujetos a desajustes debido a muchas
causas. Nombre algunos de los problemas que podrían ocasionar desajustes en los
SISTEMAS DE ARCHIVOS de UNIX/LINUX.
Los SISTEMAS DE ARCHIVOS EXTENDED de LINUX
Después de la integración del VFS (VIRTUAL FILE SYSTEM) en el kernel, un nuevo sistema de
archivos llamado "Extended File System" fue implementado en Abril de 1992 y agregado a LINUX
0.96c. Este nuevo sistema de archivos remueve las 2 grandes limitaciones de MINIX: Máximo
tamaño fue de 2 Gigabyte y el máximo nombre del archivo fue de 255 caracteres.
Veamos algunas características de ext2:
El ext2 tiene un tamaño de i-nodo fijo entre 1 y 4K, independientemente del tamaño de la
partición. El tamaño del i-nodo se selecciona al crear el sistema de archivos y es seleccionable
por el usuario.
El ext2 tiene una unidad similar al cluster, llamada bloque, y que es, por lo general de 1K,
especificable por el usuario e independiente del tamaño de la partición, lo cual asegura un
buen aprovechamiento del espacio libre con archivos pequeños.
El ext2 no usa una FAT, sino una tabla de i-nodos distribuidos en un número determinable de
grupos a través de la superficie, lo cual permite balancear la distribución de los bloques de
archivos en la superficie a través de dichos grupos para asegurar la mínima fragmentación.
6
Escuela de Informática y Telecomunicaciones
El ext2 tiene un límite máximo de 4GB de archivo, pero no limita el tamaño máximo de la
partición a 4GB, como es el caso de la FAT.
El ext2 tiene soporte para detección de un sistema de archivos desmontado incorrectamente
cuando el sistema se apaga de forma errónea, y capacidad para autorecuperarlo en caso de
fallo accidental.
De manera natural, en noviembre del 2001 aparece ext3 con el objeto de reemplazar a ext2 y
proporcionar mejoras significativas, en efecto, básicamente, el sistema de ficheros ext3 es una
versión mejorada de ext2. Las mejoras introducidas proporcionan las siguientes ventajas:
Disponibilidad - Tras un corte eléctrico o una caída inesperada del sistema (también se
denomina cierre no limpio del sistema), se debe comprobar con el programa e2fsck cada
sistema de ficheros ext2 montado en la máquina para ver si es consistente. El proceso de
comprobación lleva mucho tiempo y puede prolongar el tiempo de arranque del sistema de un
modo significativo, especialmente si hay grandes volúmenes que contienen un elevado número
de ficheros. Durante este proceso, no se puede acceder a los datos de los volúmenes. Con la
característica journaling del sistema de ficheros ext3 ya no es necesario realizar este tipo de
comprobación en el sistema de ficheros después de un cierre no limpio del sistema. En el
sistema ext3, únicamente se realiza una comprobación de consistencia en los casos puntuales
en los que se producen determinados errores de hardware, como, por ejemplo, fallos en el
disco duro. El tiempo empleado para recuperar un sistema de ficheros ext3 tras un cierre no
limpio del sistema no depende del tamaño del sistema de ficheros ni del número de ficheros,
sino del tamaño del "journal" (diario) utilizado para mantener la consistencia en el sistema. Por
defecto, la recuperación del tamaño del "journal" tarda alrededor de un segundo, según la
velocidad del hardware.
Integridad de los datos - El sistema de ficheros ext3 proporciona una integridad superior de los
datos si se produce un cierre no limpio del sistema. El sistema de ficheros ext3 le permite
seleccionar el tipo y el nivel de protección de los datos. Por defecto, es usual que el nivel de
consistencia de los datos sea elevado en relación con el estado del sistema de ficheros.
Velocidad - El sistema de ficheros ext3, aparte de permitir escribir datos más de una vez, en la
mayoría de los casos tiene un rendimiento superior al que proporciona ext2 porque los
"journals" de ext3 optimizan el movimiento de los cabezales de los discos duros. Se pueden
seleccionar tres modos de journaling para optimizar la velocidad, pero, como contrapartida, la
integridad de los datos se verá afectada.
Fácil transición - La migración de ext2 a ext3 es muy sencilla y se pueden aprovechar las
ventajas de un sólido sistema de ficheros con journaling sin tener que volver a dar formato al
sistema. Consulte la la sección de nombre Conversión al sistema de ficheros ext3 para obtener
más información sobre cómo realizar esta tarea.
9.-
¿Qué diferencia notable tiene ext2 y MINIX?
7
Escuela de Informática y Telecomunicaciones
10.-
¿Cuáles son las principales diferencias y semejanzas entre ext2 y ext3?
11.-
¿Cuál es la capacidad máxima de un archivo con el formato ext2?
Tipos de archivos en LINUX
Existen varios tipos de archivos en LINUX:
Archivos ordinarios - Son los más comunes, son los que almacenan datos, es decir, puede
ser un programa, un archivo de texto, código fuente o cualquier cosa que pueda guardarse en
cualquier lugar. El kernel soporta acceso secuencial y aleatorio en todos estos archivos.
Directorios – Los directorios tienen en común con los archivos ordinarios en que también
contienen datos, sólo que en este caso el dato es una lista de otros archivos.
Archivos especiales – Los archivos especiales o de dispositivos se identifican porque cada
uno tiene un número de dispositivo mayor y uno menor (major and minor device number). El
número mayor identifica al manejador del dispositivo que necesita el kernel para acceder al
dispositivo. El número menor significa un parámetro dependiente del manejador del dispositivo
usado típicamente para diferenciar entre diversos tipos de dispositivos soportados por el
manejador, o distintos modos de operación. Utilizan un i-node pero no bloques de datos.
Representan dispositivos en los que se pueden leer o escribir cantidades arbitrarias de datos.
Incluyen sistemas de archivos, puertos seriales, puertos paralelos, terminales y cintas.
También se les conoce como "raw devices" debido a que no manipulan la I/O. Los discos duros
y flexibles pueden ser accedidos de esta manera. Podemos ver archivos de este tipo en el
directorio /dev.
Entubamientos (FIFO) - Son aquellos que permiten la comunicación entre dos procesos
ejecutándose en el mismo nodo. Los entubamientos pueden ser creados con el comando
mknod y eliminados con el comando rm.
8
Escuela de Informática y Telecomunicaciones
Ligas Duras - en realidad una liga no es un archivo, es un nombre adicional para otro archivo.
Cada archivo tiene al menos una liga, usualmente el nombre bajo el cual fue originalmente
creado. Cuando se hace una nueva liga hacia un archivo, un alias para este archivo es creado.
Una liga es indistinguible del archivo al cual está ligado; LINUX mantiene el conteo de la
cantidad de ligas que apuntan hacia un archivo en particular y no libera el espacio que ocupa el
archivo hasta que la última liga es eliminada. La liga dura es una conexión directa entre
archivos, por lo que ésta no puede existir a través de distintos sistemas de archivos.
Ligas Simbólicas - son archivos que simplemente contienen el nombre de otro archivo.
Cuando el kernel trata de abrir o pasar a través de la liga, su atención es directamente hacia el
archivo que la liga simbólica apunta en vez de abrir la liga simbólica en sí. La diferencia entre
las ligas, es que las duras son una referencia directa, mientras las simbólicas son una
referencia a través de un archivo, las simbólicas son el archivo en sí, por lo tanto, tienen un
propio dueño y permisos.
Sockets - son conexiones entre procesos que les permiten comunicarse de una manera más
rápida y fácil. Existen varios tipos de sockets en UNIX/LINUX, muchos de los cuales involucran
el uso de la red. Los sockets son locales a un modo en particular y son referenciados a través
de un objeto en el sistema de archivo en vez de un puerto en la red. Los archivos de sockets
son visibles a los demás procesos como entradas en el directorio, estas entradas no pueden
ser leídas o escritas por procesos que no estén involucrados en la conexión del socket.
12.-
Establecer una comparativa entre ligas duras y ligas simbólicas.
13.-
¿En qué difieren las ligas de los archivos normales?. Cite un ejemplo.
9
Escuela de Informática y Telecomunicaciones
14.-
¿En qué difieren los directorios de los archivos normales?. Cite un ejemplo.
V.
Resumen
Con esta experiencia aprendiste acerca de las características del sistema de archivos
de los sistemas de tipo UNIX/LINUX.
Aprendiste acerca de la estructura de los sistemas de archivos de UNIX/LINUX.
aprendiste acerca de las características básicas de los sistemas de archivos extended
de LINUX.
Por último, aprendiste acerca de los tipos de archivos soportados en LINUX.
10
Descargar