Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

50
Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008

Transcript of Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Page 1: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Tema 4: Sistema de Archivos

Miguel Ramos Soto

IES Serra Perenxisa 2008

Page 2: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

controlador periféricoparte física periférico

El núcleo LinuxAplicaciones

Hardware

controlador periféricoparte física periférico

sub-sistemaE/S

sistemaarchivos seguridad

sistemade procesos

comunicacióninter-procesos

sub-sistema

E/S

sub-sistemaarchivos

caché

sub-sistemade

procesos

sub-sistemaIPC

Page 3: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

El subsistema de archivos

Garantiza una administración correcta de los archivos y de los derechos de acceso

La administración varia mucho según el tipo de sistema de archivos

Linux adopto el concepto de VFS (Virtual File System)

Page 4: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Acceso estándar archivo en VFS

Principio: todos los módulos de un sistema de archivos, vistos del exterior, presentan las misma rutinas

Es responsabilidad del núcleo de convertir las llamadas de sistemas estándares en las específicas a los archivos

Programador no debe preocuparse del tipo de sistema archivos con el que trabaja

Page 5: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Sistema archivos virtualAplicaciones

Sistema de Archivos Virtual (VFS)

subsistemaext2

subsistemasys V

subsistemaFat/ntfs

subsistemaproc

Cache

Controlador de periféricos

Hardware

Page 6: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

E/S y sistema de archivos

Aplicaciones

Sistema de Archivos Virtual (VFS)

Control de periféricos

3. Bloques datos en la caché

1. Lectura Archivo

2. Lectura bloquesdatos del archivo

5. Lectura de losbloques de datos

6. Escritura de los bloques de datos en el caché

7. Liberación del contenido de la caché

8. Datos leídos

Caché

4. Lectura de los bloques de datos en la caché

Page 7: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

El sistema archivos de Linux

características

Page 8: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Definición sistema archivos

Soporte físico y lógico que le da al usuario una visión del espacio de almacenamiento.

Este espacio es percibido por el usuario como una estructura de árbol, con una raíz única.

El FS de Linux está compuesto por una agregación-integración de unidades:– En uno o varios dispositivos (discos, particiones)– En uno o varios hosts (local y remoto[s])– De una única arquitectura o de varias arquitecturas

diferentes

Page 9: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Definición sistema archivos

Organización de los dispositivos de almacenamiento en Linux con un elemento base (el bloque):– espacio disco duro se expresa en bloques– los bloques son de tamaño fijo pero configurable

(tunning) al crear el FS y cuyo valor es múltiplo de 512 bytes.

– Tunning afecta a velocidad de transferencia a memoria:

Desaprovechamos espacio con bloques grandes Mucho overhead con bloques pequeños

Page 10: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Estructura interna sistema archivos

Vista usuario: arborescencia homogénea ¿Qué forma tienen los datos y los archivos

en el disco duro?

Page 11: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Sistemas archivos reconocidos por Linux

ext2fs: Extended File System ext3fs: Extended File System v.3 (journalised) hpfs: High Performance File System (OS/2) iso9660: sistema ISO 9660 (usado en CD-ROMs) minix: MINIX File System ncpfs: sistema archivos para clientes Novell nfs: Network File System

Page 12: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Sistemas archivos Linux

proc: pseudo sistema de archivos smbfs: Samba File Systems sysv: Sistema archivos del sistema V Unix ufs: Sistema archivos FreeBSD y Solaris umsdos: extensión sistema archivos MS-DOS vfat: Sistema de archivos de Windows95 ... “man mount” nos muestra los tipos posibles de

filesystems actualmente soportados

Page 13: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Mount y Umount

mount : agrega-anexa (monta) un sistema de ficheros en un punto de montado (o directorio) fijado por el usuario que debe existir previamente.

mount [opciones] [tipoFS] dispositivo directorio mount –t iso9660 /dev/cdrom /cd “man mount” para ver todas las opciones Los sistemas de ficheros los vemos a través de

dispositivos (/dev/...) o de recursos remotos (IP:/directorio para NFS ó //recurso para SAMBA)

Page 14: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Mount y Umount

Umount : operación inversa:desmonta un sistema de ficheros del directorio fijado.

umount [dispositivo] [directorio] umount /dev/cdrom /cd La operación “umount” es necesaria antes de

retirar el medio (diskette p.e.) de la unidad, excepto con Supermount.

El montado/desmontado sólo puede hacerlo en un principio el superusuario (root o administrador).

Page 15: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Fichero de configuración: fstab

/etc/fstab: tabla de filesystems a ser montados en el sistema.

[dispositivo] [punto_montado] [tipo] [opciones] /dev/cdrom /cd iso9660 user, noauto Procesado durante el arranque, con “mount –a”

que recorre secuencialmente el archivo Nos abrevia los montajes: “mount [dispositivo]” Montajes remotos via NFS (UNIX o NFSServers)

y SAMBA (NetBios-LanManager)

Page 16: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Elementos sistema archivos ext2http://es.wikipedia.org/wiki/Ext2

Bloque de arranque o boot Superbloque Tabla de nodos-i Bloques de datos

Page 17: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Estructura sistema ext2

Bloquede

arranque

Super-bloque ... Tabla

denodos-i

Bloquede

datos

Super-bloque

Grupo bloques 1 Grupo bloques 2

...

Page 18: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

El bloque de boot

Se ubica en el bloque cero de todos los sistemas de archivos.

Contiene el programa que permite lanzar e inicializar todo el sistema

Ningún programa usuario tiene acceso

Page 19: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

El grupo de bloques

El superbloque La lista de descripción de los grupos de

bloques La imagen de los bloques La imagen de los nodos-i La tabla de los nodos-i Los bloques de datos

Page 20: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Datos importantes en el Superbloque

Tamaño total del sistema de archivos, en bloques o nodos-i

Nombre del sistema de archivos Número de bloques libres del sistema Número de bloques reservados a nodos-I Número de nodos-I libres Dirección del primer bloque de datos libre en la lista Tamaño de un bloque de datos Tamaño de la lista de inodos

Page 21: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Datos importantes en el Superbloque (II)

Hora de la última modificación del sistema archivos

Hora integración (montaje) del sistema Número de versión del sistema Hora de la última verificación del sistema

Page 22: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Operaciones con el Superbloque

Cada operación de E/S consulta al Superbloque Suele estar en memoria principal (buffer cache) Las actualizaciones se hacen en memoria y

periódicamente se actualizan a disco (y al cerrar el sistema). Un demonio realiza esta operación y controla la consistencia.

Contiene la información “administrativa” de cada FS (unidad o partición o recurso remoto o ...)

Page 23: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

La tabla de nodos-i

Compuesto por un conjunto de nodos-i, del mismo tamaño

Un nodo-i puede estar almacenado:– como nodo-I en el disco duro– cargado en memoria para su tratamiento

Cada inodo describe todas las características de un único archivo, directorio, socket, link ...

En el arranque se suele traer parte de esta lista a memoria principal para agilizar la E/S.

Page 24: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

La tabla de nodos-i

Operación similar al Superbloque (en memoria con volcados periódicos a disco)

El inodo contiene información administrativa del fichero.

Una escritura en fichero implica una escritura en su inodo y en el/los bloques de datos implicados.

Page 25: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Algunos datos de los nodos-i Permisos de acceso al archivo Identificador –número- usuario propietario Tamaño, en bytes, del archivo Acceso

– hora del último acceso– hora de la última modificación – hora de la creación de nodo-i– hora de la última supresión del nodo-i

Identificador –número- del grupo del propietario

Page 26: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Número de enlaces Semáforos del nodo-I derechos de acceso tipo de archivo:

– archivo clásico– directorio– archivo periférico– archivo FIFO– referencia (ejemplo enlace simbólico)

tabla de punteros de dirección a los bloques que componen el archivo (simples, dobles y triples)

Page 27: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Propiedades del archivo

Informacionesdiversas

Tabla de las direccionesde los bloques de datos

Estructura de un nodo-iT

ipo

arch

ivo

Pro

piet

ario

Tam

año

arch

ivo

Dir

ecci

óndi

rect

a

1. D

irec

ción

ind

irec

ta2.

Dir

ecci

ón i

ndir

ecta

3. D

irec

ción

ind

irec

ta

…. …. ….

Page 28: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.
Page 29: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Punteros del inodo Se trata de una estructura flexible, para indexar los

bloques que forman parte de un cierto archivo. Cada inodo tiene los siguientes punteros a bloques de

datos:– 10 punteros directos (a 10 bloques de datos)– 1 puntero indirectos simple ( a otro bloque con 256 punteros

a bloque de datos = 256 bloques de datos)– 1 puntero indirecto doble (a bloque con 256 punteros que

apunta a 256 bloques con punteros a 256 bloques de datos = 256*256 bloques de datos)

– 1 puntero indirecto triple (=256^3 bloques de datos) Bloques direccionables totales= 10+256+256^2+256^3 Ej. Tamaño bloque 1024bytes(1k) -> 16Gbytes

direccionables (para un solo fichero)

Page 30: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Bloques de datos

Contienen una parte de la información –el contenido real- del fichero del que forman parte

Pueden contener también punteros indirectos o directorios (bloque de datos normal interpretado de manera especial por el fs)

Page 31: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Estructura interna de un directorio

Un bloque de datos con entradas– Nº de inodo + nombre de fichero

En ext2fs tiene tamaño variable (hasta 256 bytes) Inodo (4 bytes) Tamaño de la

entrada (1byte)Longitud del nombre (1byte)

Nombre archivo (250 bytes)

Inodo (4 bytes) Tamaño de la entrada (1byte)

Longitud del nombre (1byte)

Nombre archivo (250 bytes)

···

Page 32: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Estructura interna de un directorio

La estructura del FS queda ligada:– Un inodo apunta a uno o varios bloques de datos– Un bloque de datos apunta –o no- a otros bloques de datos– Un inodo puede apuntar a un directorio– Un directorio, a su vez, apunta a ficheros a través de su inodo.

Bloquede

arranque

Super-bloque ...Tabla

denodos-i

Bloquede

datos

datos ...Direc-torio

Page 33: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Comandos para la creación y administración del FS

Usar “man <comando>” para obtener una descripción detallada y las opciones y parámetros que se deben usar.– Fdformat: formato a bajo nivel de la unidad

– Mke2fs: creación de la estructura ext2fs en una unidad

– Badblocks: busca bloques erroneos en una unidad

– E2fsck: comprueba integridad de un fs ext2fs.

– Debugfs: depurador del sistema de ficheros

– Tune2fs: configura parámetros de un fs.

– Dumpe2fs: muestra información sobre un fs

Page 34: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Comandos para la creación y administración del FS

– dd

– Mkswap, swapon, swapoff

– tar.

– Gzip

– ln

Page 35: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Estructura directorios Linux La distribución de Linux no ha transformado

en mucho la arborescencia Existe un estándar de sistema de archivos

(FSSTND: File System Standard) Las distribuciones Linux más importates y

algunos Unix respetan este estándar http://es.tldp.org/Estandares/fsstnd12.html

Page 36: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Los directorios Linux

/bin /boot /dev /etc /home /lib /mnt

/proc /root /sbin /tmp /usr /var

Page 37: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.
Page 38: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Archivos arranque: /boot

Al inicio del sistema el programa de “booteo” analizará el directorio /boot

Entre los objetos buscados esta el archivo map, a través del cual LILO determinará el lugar del núcleo en el disco duro

Sin esta información LILO no puede cargar el kernel en memoria principal

Page 39: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Los comandos en /bin

Los comandos más importantes están almacenados en este directorio

Ejemplo: ls, who, ps etc. Menos importantes: /usr/bin El colocar un comando en un directorio o en

otro es una elección perfectamente arbitraria Se justificaba en la época de discos duros

rápidos y caros, contra los lentos y baratos

Page 40: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Los periféricos /dev

Todos los controladores (drivers) de periféricos son accedidos a través archivos de periféricos

Son interfaces con los controladores de periféricos y no contienen nada

Dos tipos: caracteres y bloques No tienen lo que se podría llamar un tamaño

Page 41: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Los archivos configuración /etc

Archivos de configuración Antiguos sistemas: comandos administración FSSTD dice que solo archivos configuración En algunos casos existe directorio /etc/rc.d, que

contiene scripts usados en el booteo Se pueden almacenar archivos que serán

copiados automáticamente en el directorio personal de un nuevo usuario

Page 42: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Archivos importantes en /etc

fstab gettydefs group inittab lilo.conf

mtab passwd securetty shells termcap ttytype

Page 43: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

/home

Directorio personal de los usuarios Ventajas:

– usuario se beneficia de su propio sistema de archivos– pocos derechos de escritura le son atribuidos

Una vez que los usuarios tienen definido su lugar en un sistema archivos, es posible definir las limites de zonas de memoria (quotas)– un usuario no podrá monopolizar toda la memoria

Page 44: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Las bibliotecas compartidas de /lib

Linux ofrece la posibilidad de utilizar las bibliotecas de funciones comunes

Las bibliotecas compartidas indispensables al arranque se encuentran aquí

Otras bibliotecas se encuentran en /usr/lib

Page 45: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

El directorio /proc

Es un pseudo-sistema de archivos Todos los archivos de este directorio no ocupan espacio

en el disco Se trata de construcciones lógicas en memoria Apuntan hacia programas en memoria principal que leen

información sin depositarla en el disco duro Contiene archivos que permiten

– leer la configuración actual del sistema – informarse acerca de los procesos en ejecución

Page 46: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Los comandos admon de /sbin Los archivos más importantes para iniciar Linux se

encuentran en /etc y /sbin Contiene comandos para administrar Linux Se pueden distinguir tres dominios claves:

– los comandos de sistema generales: init, swapon, getty, swapoff, mkswap, etc

– los comandos de arranque y detención del sistema: shudown, fastboot, fasthalt, reboot, etc

– los comandos que administran el espacio del disco duro: fsck, e2fsck, mkfs, mke2fs, fdisk, etc

Page 47: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Los archivos temporales de /tmp

Mucho software necesita un espacio temporal de almacenamiento

Por ejemplo: editores, compiladores, etc Directorio accesible a todo mundo en

lectura/escritura

Page 48: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Las variables del directorio /var

FSSTND hace diferencia entre zonas en las que los usuarios solo pueden leer y las que solo pueden escribir

Los datos de usuario son divididos en – /usr: datos que los usuarios solo pueden leer– /var: datos que los usuarios pueden leer/escribir

Usuario común no sabe que algunos comandos crean datos bajo su nombre, ejemplo: man

Page 49: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

La impresión es otro ejemplo, la tarea es provisoriamente almacenada en los sub-directorios: /var/spool/lpd.

Otros dominios en los cuales son creados archivos y tratados a nombre del usuario:– el lanzamiento por calendarización a intervalos

regulares de comandos y de scripts (comandos at y cron)

– la transmisión de informaciones (mail)– el contar con un registro de conexiones o

contabilidad (p.e. archivos .log)

Page 50: Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.

Los sub-directorios /usr

/usr/X11R6 /usr/bin /usr/doc /usr/etc /usr/games /usr/include

/usr/info /usr/lib /usr/local /usr/man /usr/sbin /usr/src

Contiene conjunto directorios en los cuales Linux almacena datos muy importantes