1 / 50

Tema 4: Sistema de Archivos

Tema 4: Sistema de Archivos. Miguel Ramos Soto IES Serra Perenxisa 2008. Aplicaciones. Hardware. El núcleo Linux. sub-sistema E/S. sistema archivos. sistema de procesos. comunicación inter-procesos. seguridad. sub-sistema archivos. sub-sistema de procesos. sub- sistema E/S.

uri
Download Presentation

Tema 4: Sistema de Archivos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Aplicaciones Hardware El núcleo Linux sub-sistema E/S sistema archivos sistema de procesos comunicación inter-procesos seguridad sub-sistema archivos sub-sistema de procesos sub- sistema E/S sub-sistema IPC caché controlador periférico parte física periférico controlador periférico parte física periférico

  3. 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)

  4. 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

  5. Aplicaciones Sistema de Archivos Virtual (VFS) Controlador de periféricos Hardware Sistema archivos virtual subsistema ext2 subsistema sys V subsistema Fat/ntfs subsistema proc Cache

  6. Aplicaciones Sistema de Archivos Virtual (VFS) Control de periféricos E/S y sistema de archivos 1. Lectura Archivo 8. Datos leídos 2. Lectura bloques datos del archivo 7. Liberación del contenido de la caché 3. Bloques datos en la caché Caché 6. Escritura de los bloques de datos en el caché 4. Lectura de los bloques de datos en la caché 5. Lectura de los bloques de datos

  7. El sistema archivos de Linux características

  8. 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

  9. 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

  10. Estructura interna sistema archivos • Vista usuario: arborescencia homogénea • ¿Qué forma tienen los datos y los archivos en el disco duro?

  11. 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

  12. 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

  13. 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)

  14. 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).

  15. 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)

  16. Elementos sistema archivos ext2http://es.wikipedia.org/wiki/Ext2 • Bloque de arranque o boot • Superbloque • Tabla de nodos-i • Bloques de datos

  17. Estructura sistema ext2 Grupo bloques 1 Grupo bloques 2 Bloque de arranque Tabla de nodos-i Bloque de datos ... Super- bloque ... Super- bloque

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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 ...)

  23. 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.

  24. 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.

  25. 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

  26. 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)

  27. Estructura de un nodo-i …. …. …. Tipo archivo 1. Dirección indirecta 2. Dirección indirecta 3. Dirección indirecta directa Propietario Dirección Tamaño archivo Propiedades del archivo Tabla de las direcciones de los bloques de datos Informaciones diversas

  28. 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)

  29. 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)

  30. 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) ···

  31. 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. Bloque de arranque Tabla de nodos-i Bloque de datos ... Super- bloque ... Direc-torio datos

  32. 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

  33. Comandos para la creación y administración del FS • dd • Mkswap, swapon, swapoff • tar. • Gzip • ln

  34. 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

  35. /bin /boot /dev /etc /home /lib /mnt /proc /root /sbin /tmp /usr /var Los directorios Linux

  36. 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

  37. 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

  38. 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

  39. 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

  40. fstab gettydefs group inittab lilo.conf mtab passwd securetty shells termcap ttytype Archivos importantes en /etc

  41. /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

  42. 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

  43. 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

  44. 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

  45. 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

  46. 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

  47. 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)

  48. /usr/X11R6 /usr/bin /usr/doc /usr/etc /usr/games /usr/include /usr/info /usr/lib /usr/local /usr/man /usr/sbin /usr/src Los sub-directorios /usr Contiene conjunto directorios en los cuales Linux almacena datos muy importantes

More Related