La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Implantación del sistema de archivos FAT-32 en el núcleo de Linux

Presentaciones similares


Presentación del tema: "Implantación del sistema de archivos FAT-32 en el núcleo de Linux"— Transcripción de la presentación:

1 Implantación del sistema de archivos FAT-32 en el núcleo de Linux
Tesis presentada por: Luis Carlos Castro Skertchly Para obtener el Título de: Ingeniero en Cibernética y Sistemas Computacionales

2 AGENDA Objetivos Introducción Problemática Sistema de Archivos
UNIX FAT Desarrollo Conclusiones

3 Objetivos Permitir el acceso a GNU/Linux a la información generada por Windows Tener una información más completa de FAT32 Generar un esquema que facilite la creación de sistemas de archivos sobre Linux

4 GNU/Linux Sistema operativo abierto y libre
Libre (Free)  Gratis Código fuente disponible  GNU/GPL Posicionándose fuertemente en la Industria Apoyo y desarrollo de software por parte de la industria computacional: Sun, SAP, HP, IBM, Oracle, Informix, Sybase

5 FAT Sistema de archivos utilizado en los sistemas operativos de Microsoft (MS-DOS, Windows) FAT: File Allocation Table Su nombre lo debe a la estructura que utiliza para asignar espacio en el medio Ha evolucionado desde su aparición con el MS-DOS 1.0

6 FAT32 Incompatible con DOS y Windows NT
Soportado en Windows 95 OSR2, 98, ME y Windows 2000

7 Problemática Convivencia de GNU/Linux y Windows en la misma computadora Falta de documentación en ambas plataformas

8 Conceptos

9 Sistemas de Archivos Mecanismo de abstracción
Forma de organizar información en un medio para tener acceso a ella posteriormente Normalmente es específico de cada sistema operativo Excepciones: ISO-9660

10 Sistemas de archivos Administran la asignación del espacio en el medio (disco, CD) Utilizan una unidad de asignación: Sector (FAT-16) Clúster (BIGDOS) Bloque (UFS)

11 Sistemas de archivos en Unix

12 Estructuras principales
Superbloque Lista de bloques libres Nodos-i Directorios Archivos

13 Superbloque Punto de entrada Datos generales del sistema de archivos
Número mágico (indica si está soportado) Tipo de sistema Estado (“clean” / “no clean”) Tamaño Apuntadores a la lista de bloques libres

14 Lista de bloques libres
Lista ligada de los bloques que no están en uso. Conforme se utilizan se sacan de esta lista. Normalmente se usan los mismos bloques libres para almacenar la lista.

15 Nodo-i Todas las características (excepto el nombre) de un archivo ó directorio están definidas en la estructura llamada nodo-i Contiene la lista de bloques usados por el archivo Se hace referencia a un nodo-i por su número

16 Directorios La asociación entre nodo-i y nombre de archivo se hace en los directorios: nodo-i Nombre 5324 bin 5325 etc 5432 usr 6873 vmlinuz vmlinuz-2.1.0 Ligas (nombres con el mismo nodo-i)

17 Archivos Son una secuencia de bytes agrupadas bajo un nombre.
Hay tres tipos: Archivos regulares Archivos especiales (no ocupan espacio) Bloques,Carácter, Pipe, Socket Directorios

18 Archivos En el nombre no existe el concepto de extensión
Tienen propietarios y permisos

19 Sistemas de archivos FAT

20 Sistemas de archivos FAT
DOS 1.0: FAT tradicional de 12 bits Máximo de 212 sectores direccionables (4,096 sectores)(512 bytes/sector) = 2 MB Nombres de 8+3 caracteres DOS 2.0: FAT tradicional de 16 bits Máximo de 216 sectores direccionables (65,536 sectores)(512 bytes/sector) = 32 MB

21 Sistemas de archivos FAT
DOS 4 introduce BIGDOS Unidad de asignación de tamaño variable (cluster) en potencias de 2 hasta 32,768 bytes Máximo 65,536 clusters (65,536 clusters)(32,768 bytes/cluster) = 2 GB Windows 95 introduce VFAT Soporte a nombres largos Fecha de creación y último acceso

22 Estructura de un disco FAT
Boot Sector OEM ID: MSWIN4.1 Sectores por cluster Media descriptor Sectores por FAT Total de sectores Etiqueta Número de serie Código de arranque Boot Sector FAT FAT IO SYS á.. MSDOS SYS ò.. COMMAND COM Q.⌡... EMERGENCIA ( ÖV.▲...... NDD EXE ômG.ë..... DE EXE DISKTOOLEXE æmG FORMAT COM Ä.πZ.. FDISK EXE Ñ.fs.. PARTINFODAT V.▲...... Direct. Raiz Direct. Raiz Ú├☺RSh `•3█ïL♥ÃE◙ ëM◘ïD♂=Ç v▼Q©Ç ÄÓ© pÄÞ♫•┤ÇRèD☻*d☻â· u♣ZZÚd☺ï╩Þç A;Ðu◄dz u♦┤ÇÙ◘☻D☻*d☻ÙÕYRïÐ╣◙ SPRQ ©☺ èD↓═‼3└èD↓═‼3└Hu²YZX[Iu¦♫▼¥╝ ¼ ◙└t○┤♫╗• ═►Ù‗Ù■♪◙Disk I/O error♪◙ [Zè╚2Ý┴ß○♥┘t♥Úo î└♣ ►Ä└┤ÇÚc SÞ= s !ï┌ÐÛ£♥┌dï↨Ør♠üÔ ☼Ù♥┴Û♦ü·°☼r↔║  Ù ë▬¥♀3Ýf☼ÀÝf☼Àõî▲╝§Þ5↑fh fØï▄Ïw ☻3└ÄÞÄ└j0☼í·☼☺▬¿§☼☺▲░§¥║↔ÃD☻h ¥Â↔ Datos Datos

23 VFAT: Atributos adicionales
Desp. 00H 08H 0BH 0CH 0DH 0EH 10H 12H 14H 16H 18H 1AH 1CH Descripción Nombre Extensión Atributo Mayúsculas./Minúsculas Hora de creación (ms) Hora de creación Fecha de creación Fecha del último acceso Reservado Hora de modificación Fecha de modificación Clúster inicial Tamaño 8 3 1 2 4 Formato ASCII Codificado en bits (Windows NT) Byte Palabra codificada Sin uso, en ceros Palabra Entero Desp. 00H 08H 0BH 0CH 0DH 0EH 10H 12H 14H 16H 18H 1AH 1CH Descripción Nombre Extensión Atributo Reservado Hora Fecha Clúster inicial Tamaño 8 3 1 2 4 Formato ASCII Codificado en bits Sin uso, en ceros Palabra codificada Palabra Entero

24 Ejemplo de nombre largo
Uso de las estructuras existentes para guardar el nombre largo Se oculta mediante los atributos V,H,R,S Compatible con versiones anteriores de FAT

25 FAT-32 Aparece con Windows 95 OSR2 Características:
32 bits para numerar los clusters (24 bits reales) Directorio raíz en cadena de clusters ordinaria El número de cluster mide 4 bytes (32 bits) Límite teórico de 512 GB:

26 Sistema de Archivos Virtual en Linux (VFS)
Desarrollo Sistema de Archivos Virtual en Linux (VFS)

27 Virtual Filesystem (VFS)
Interfaz entre el sistema de archivos real y el kernel, que oculta los detalles de implementación de un sistema de archivos Se establece que el sistema de archivos trabaja por medio de nodos-i

28 Virtual Filesystem (VFS)

29 Modelo de diseño Objetos del sistema de archivos: Superbloque Nodo-i
Mantiene datos globales del sistema de archivos Encargado de leer y escribir los nodos-i Nodo-i Crear y borra las entradas en los directorios Sólo Se trunca a ceros cuando es archivo Archivos Abrir, cerrar, posicionarse, leer, escribir

30 Modelo VFS vs. FAT VFS Trabaja con bloques
Presupone la existencia de nodos-i Contempla propietarios y permisos FAT Trabaja con clusters Carece del concepto del nodo-i No soporta propietarios ni permisos

31 Posición relativa y absoluta
Asignación en FAT (archivo fragmentado): Asignación física en disco:

32 Clusters vs. bloques Dada la posición de lect./escr. se obtiene el cluster: Conversión de clusters a sectores: cluster = fat32_get_cluster(inode, file_cluster); sector = (cluster – 2) * sectores por cluster + primer sector de datos + offset;

33 Nodos-i en FAT El nodo-i identifica a cada archivo de manera individual e inequívoca En FAT un archivo está representado por su nombre Asociar el nombre a un número: Coordenadas donde está almacenado ese nombre Registros de 32 bits  16 posiciones posibles 16 = 24 Sólo se necesitan 4 bits para definirla (un dígito hexa)

34 Nodos-i en FAT i_ino = (sector << 4) | ((pos & (SECTOR_SIZE – 1))) >> 4

35 Directorios “.” y “..” El directorio “.” es una alias al directorio de trabajo, por lo tanto tiene el mismo número de nodo-i. El directorio “..” es un alias al directorio padre del directorio de trabajo.

36 Directorio “.” y “..” if (name[0] == '.' && len == 1)
ino = inode->i_ino;

37 Conclusiones

38 Conclusiones Es posible desarrollar sistemas de archivos no propios de Linux. Acceder a la información de sistemas de archivos de terceros. Uso de técnicas de ingeniería inversa. Implementación independiente de FAT32. FAT-32 con características diseño mas elegante que sus antecesores. Facilitar nuevos proyectos gracias a la documentación generada.

39 Trabajo a futuro Usar “shortcuts” de Windows como ligas
Herramientas de respaldo en modo “a prueba de fallos” de Windows 9x Editor de disco para FAT-32 Montar sistemas de archivos Linux desde Windows

40 Preguntas


Descargar ppt "Implantación del sistema de archivos FAT-32 en el núcleo de Linux"

Presentaciones similares


Anuncios Google