INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS ESTADO DE MÉXICO Disco Duro y Sistemas de Archivos. (o... Cómo manipular el disco y.

1 INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTE...
Author: José Antonio Luna Quintero
0 downloads 2 Views

1 INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS ESTADO DE MÉXICO Disco Duro y Sistemas de Archivos. (o... Cómo manipular el disco y no morir en el intento) Ing. Jose Manuel Franco Dr. Roberto Gómez Cárdenas Recopilado por: María de la Luz Grande Vega 450250 26.02.01

2 Introducción  La mayor parte de los conceptos expresados aquí estan ligados con la arquitectura PC y el sistema operativo DOS.  Es importante tomar en cuenta estos conceptos ya que Linux reposa sobre una arquitectura PC.

3 El Disco Duro  Un disco duro es una superficie plana circular cubierta por un material ferromagnético sensible a los campos magnéticos, además existe un brazo que cuenta con una dispositivo de lectura/escritura llamado cabeza.  El disco gira sobre su eje a velocidad constante, el brazo puede moverse únicamente en una dirección, acercándose o alejándose del centro del disco.  Para grabar información se situa la cabeza en un sitio determinado y se le envia un flujo impulsos eléctricos que representan a una información binaria creando un campo electromagnético que afecta la orientación del material ferromagnétco, conforme el el disco gira.  Para leer información se situa la cabeza en un sitio determinado y se sensa el campo electromagnético bajo la cabeza induciendo un flujo de impulsos electricos que son traducidos a datos binarios.

4 Evolución disco duro

5

6 1024 x 1024 ó bytes? 1 000 000 Kilox 10 3 Megax 10 6 Gigax 10 9 Terax 10 12 Petax 10 15 Exax 10 18 IEC KNUTH 2 10 = kibiKK = large kilobyte 2 20 = mebiMM = large megabyte 2 30 = gibiGG = large gigabyte 2 40 = tebiTT = large terabyte 2 50 = pebiPP = large petabyte 2 60 = exbiEE = large exabyte ¿Cuantos bytes hay en 1 Megabyte? 1G=¿ Prefijos del S.I. : Prefijos binarios:

7 Características  Los discos flexibles están protegidos en una caja con un revestimiento de algodón, para así poder mantenerlos limpios y lo más alejado posible de partículas de polvo, ya que estos son de 10 a 20 veces más grandes que la pista de un disco, lo cual nos puede llevar a perdidas de información  Cuando hablamos de un disco tenemos que hablar de coordenadas. Posicionar las cabezas.  Los discos flexibles de 3 ½ tienen 80 TPI (tracks per inch) lo cual quiere decir que tenemos 80 pistass en cada pulgadas.  Un disco duro es metálico y son varias pistas dispuestas geométricamente. Track -> diskette Cilindros-> disco duro Tracks Cilindros

8 Tracks, cilindros y sectores

9 Cilindro Cabezas Sector 1/escritura Cabeza 0 Cabeza 1 1 34 2  Un disco de 1440 tiene: 18 sectores físicos 80 tracks 2 heads (cabezas)  La numeración de las cabezas empieza desde 0  La numeración de los cilindros empieza desde 0  La numeración de los sectores empieza desde 1

10  El sistema operativo realiza una representación lineal de la información  Hay una transformación fórmulas  BIOS busca cabeza 0 cilindro 0 sector 1 0 1 2 3 4 5 2879 Ultimo sector lógico Cabezas Cilindros Sectores 0 1 2 3 4 5 2879 Sector de arranque 512 bytes LBA

11 CHS vs LBA  CHSCylinder, Head, Sector  LBALinear Block Addressing Coordenadas de disco Se utilizan los sectores lógicos Bloques= 512 Bytes La tabla de particiones nos dice que información se almacena El FLAG de la tabla de particiones es booteable o no booteable Se deben de tener 4 particiones primarias como máximo CHS  No necesita traducir el controlador de disco  De esta forma lo prefiere el BIOS LBA  Simple de manejar  Más fácil para el sistema operativo Las ventajas del CHS y el LBA:

12 El concepto de Volumen  Un volumen es el nombre que DOS le da a una partición.  A un volumen se le asigna una letra para que el Sistema de Archivos pueda tener acceso a el como una entidad independiente  Los volúmenes pueden crearse para optimizar organizar la información o bien para acceder a zonas del disco duro que rebasan la capacidad de acceso del sistema operativo

13 El cluster  La unidad más pequeña a la que se puede tener acceso es el sector (512 bytes).  los sectores son agrupados en clusters o unidades de asignación.  El tamaño del cluster es proporcional al tamaño del volumen del disco:  mayor es el volumen, mayor es el tamaño del cluster  discos duros: clusters desde 4 sector a 64 sectores (en algunos casos hasta 128 sectores)  discos flexibles: 2 sectores (en algunos casos puede ser sólo un sector)  Los sectores que forman cluster están contiguos.  El tamaño del cluster es determinado cuando el volumen del disco es formateado.  A un archivo se le asigna un número entero de clusters

14 Sector, track y cluster

15 Sistema de archivos (File system)  Es el conjunto de estructura lógicas y rutinas de software usadas para controlar acceso a lo almacenado en un disco duro.  Algunos sistemas archivos  File Allocation Table (FAT) 12/16/32 bits. DOS/Win 9x/Win Me  New Technology File System (NTFS). Windows NT/2000/XP  High Performance File System (HPFS). OS/2  BeOS File System (BFS). BeOS  minix, xiafs, extfs, ext2fs, ext3fs, reiserfs, enh-fs. Linux  Hierarchical File System (HFS). MacOS  Sistema de Arhivos en Red (NFS, AFS, Coda, nbd, GFS)  Especiales (tmpfs, swapfs, devfs, procfs, usbfs)  Otros : ISO9660, High Sierra, Rock Ridge, Romeo, Joliet, UDF

16 El sistema de archivos FAT

17 Características FAT  Tabla donde se encuentran información acerca de los clusters.  hay una entrada por cada cluster usado en el disco  se tiene un número por entrada que representa como se usa el cluster  los clusters de un archivo estan encadenados  La tabla se encuentra en el área del disco que sigue al disk boot sector  cada volumen tiene dos copias identicas (una es el respaldo de la otra)

18 Estructura de un sistema de archivos FAT  El Sector de Arranque (Boot Sector)  El FAT (2 o mas tablas idénticas)  El directorio raíz  El área de datos

19 El MBR (Master Boot Record)  Primer sector del disco o sector de arranque principal  En esta área podemos identificar:  El código de booteo:  del byte 1 al 446 (es lo que ejecuta el BIOS)  La tabla de particiones del disco:  lista de las particiones del disco  El número mágico AA55:  byte 511: 55  byte 512: AA  identifica a este sector como un sector de arranque

20 Sector de arranque de un floppy OFFSET 0 1 2 3 4 5 6 7 8 9 A B C D E F *0123456789ABCDEF* 000000 eb3c904d 53444f53 352e3000 02010100 *...MSDOS5.0.....* 000010 02e00040 0bf00900 12000200 00000000 *...@............* 000020 00000000 0000295a 5418264e 4f204e41 *......)ZT..NO NA* 000030 4d452020 20204641 54313220 2020fa33 *ME FAT12.3* 000040 c08ed0bc 007c1607 bb780036 c5371e56 *.....|...x.6.7.V* 000050 1653bf3e 7cb90b00 fcf3a406 1fc645fe *.S..|.........E.* 000060 0f8b0e18 7c884df9 894702c7 073e7cfb *....|.M..G....|.* 000070 cd137279 33c03906 137c7408 8b0e137c *..ry3.9..|t....|* 000080 890e207c a0107cf7 26167c03 061c7c13 *.. |..|...|...|.* 000090 161e7c03 060e7c83 d200a350 7c891652 *..|...|....P|..R* 0000a0 7ca3497c 89164b7c b82000f7 26117c8b *|.I|..K|.....|.* 0000b0 1e0b7c03 c348f7f3 0106497c 83164b7c *..|..H....I|..K|* 0000c0 00bb0005 8b16527c a1507ce8 9200721d *......R|.P|...r.* 0000d0 b001e8ac 0072168b fbb90b00 bee67df3 *.....r........}.* 0000e0 a6750a8d 7f20b90b 00f3a674 18be9e7d *.u........t...}* 0000f0 e85f0033 c0cd165e 1f8f048f 4402cd19 *._.3...^....D...* 000100 585858eb e88b471a 48488a1e 0d7c32ff *XXX...G.HH...|2.*

21 Sector de arranque de un floppy (...cont) 000110 f7e30306 497c1316 4b7cbb00 07b90300 *....I|..K|......* 000120 505251e8 3a0072d8 b001e854 00595a58 *PRQ.:.r....T.YZX* 000130 72bb0501 0083d200 031e0b7c e2e28a2e *r..........|....* 000140 157c8a16 247c8b1e 497ca14b 7cea0000 *.|..$|..I|.K|...* 000150 7000ac0a c07429b4 0ebb0700 cd10ebf2 *p....t).........* 000160 3b16187c 7319f736 187cfec2 88164f7c *;..|s..6.|....O|* 000170 33d2f736 1a7c8816 257ca34d 7cf8c3f9 *3..6.|..%|.M|...* 000180 c3b4028b 164d7cb1 06d2e60a 364f7c8b *.....M|.....6O|.* 000190 ca86e98a 16247c8a 36257ccd 13c30d0a *.....$|.6%|.....* 0001a0 4e6f6e2d 53797374 656d2064 69736b20 *Non-System disk * 0001b0 6f722064 69736b20 6572726f 720d0a52 *or disk error..R* 0001c0 65706c61 63652061 6e642070 72657373 *eplace and press* 0001d0 20616e79 206b6579 20776865 6e207265 * any key when re* 0001e0 6164790d 0a00494f 20202020 20205359 *ady...IO SY* 0001f0 534d5344 4f532020 20535953 000055aa *SMSDOS SYS..U.*

22 El sector de arranque de un disco duro. OFFSET 0 1 2 3 4 5 6 7 8 9 A B C D E F *0123456789ABCDEF* 000000 fa33c08e d0bc007c 8bf45007 501ffbfc *.3.....|..P.P...* 000010 bf0006b9 0001f2a5 ea1d0600 00bebe07 *................* 000020 b304803c 80740e80 3c00751c 83c610fe *...

23 Estructura del Sector de Arranque (floppy) JMP XXX 55AA # de sectores Espacio reservado para etiqueta disco (volumen) Información del disco y de su Sistema Operativo Instrucciones a ejecutar Aquí hay un programa e información del disco Sector ya inicializado con un programa que puede cargarse. si el BIOS no lo encuentra despliega un mensaje de error: Disco no usable (Esto no es un disco de arranque) Número de serie Ensamblador Programas.com Código no relocalizable Programa válido en sector de arranque

24 Tabla de particiones Existen otros tipos de particiones que no son parte del sistema operativo pero que tienen información del mismo, como son el IBM Hybernate (el cual guarda el estado o imagen cuando se apaga, laptops), o el COMPAQ Diagnostics. Podemos encontrar otro tipo de particiones con un número entre 0... 255, algunos son: FAT12 FAT16 > 32 M FAT 16 discos menores a 32 M FAT 32 Partición extendida Linux EXT2 Linux SWAP Minix AIX Free BSD Estructura del sector de arranque (disco duro) JMP XXX 55AA xxx

25 La tabla de particiones Bandera Activación Inicio Particion CHS Fin Particion CHS Tipo Partición Inicio LBA Tamaño en sectores bit 7 es la bandera bits 6-0 son cero El tamaño de la bandera es de 1 byte: 0 No arranca 80h Puede arrancar 0bFAT 32 83EXT2 LINUX 82SWAP LINUX 07HPFS / NTFS Número entre 0... 255: 16 bytes Detalles: Si el sector de arranque,FAT o Directorio principal se daña el disco será inservible Si otro sector está dañado, la información de los otros sectores esta disponible A nivel de BIOS se pueden manejar hasta 8 G con CHS, para discos mayores se utiliza el LBA Si CHS tiene 1023 / 255 / 63 entonces el SO utiliza el LBA

26 Ejemplo tabla particiones 0. 1. 2. 3. 4. 5. 6. 7. 8.9.A.B. C.D.E.F. DL DH CL CH TB DH CL CH LBA..... SIZE.... 80 01 01 00 06 0e be 94 3e000000 0c610900 1st entry 00 00 81 95 05 0e fe 7d 4a610900 724e0300 2nd entry 00 00 00 00 00 00 00 00 00000000 00000000 3rd entry 00 00 00 00 00 00 00 00 00000000 00000000 4th entry  La primera partición, una partición DOS FAT empieza en CHS 0H,1H,1H (LBA 3EH) y termina en CHS 294h, Eh, 3Eh con un tamaño de 9610Ch sectores  La segunda partición, una partición extendida, empieza en CHS 295h, 0h, 1h (LBA 9614Ah) y termina en CHS 37Dh, Eh, 3Eh con un tamaño de 34E72h sectores

27 La tabla de asignación de archivos (File Aallocation Table)  Despues del MBR sigue la tabla de asignación de archivos (FAT)  Generalmente hay dos tablas, una es de respaldo  Consiste de una tabla de números  tiene 65,536 entradas  cada entrada contiene información acerca de un cluster en forma de un número. FAT 1Directorio Boot sector AA55 boot code tabla de particiones FAT 2Directorio zona de datos

28 Los posibles valores de los clusters

29 Ejemplo 000 001 002 003 004 005 006 007 008 009 00a 00b 00c 00d 00e 00f 001

30 El tamaño de FAT  Cada cluster tiene una entrada en la FAT, el tamaño del área de FAT depende del tamaño del disco.  cada entrada en el FAT ocupa 16 bits  Considermos un disco de 160 MB  El tamaño máximo del FAT es de 128KB,  16 archivos, 2 bytes c/u: 65,536x2 = 131,072 bytes (128 KB)  Hay 40,400 clusters, ya que la partición es de 160 MB  Se tienen dos FATs:  40,400 x 2 bytes  esto nos da un total de 161,600 y eso ocupará 316 sectors

31 El Directorio  Es la última área administrativa en el disco.  Siempre hay 512 entradas de archivos en el directorio  es del mismo tamaño para todos los discos duros.  La estructurra del directorio consiste de un número de entradas de directorio.  cada entrada ocupa 32 bytes  las entradas son identicas ya sea que esten en el directorio raíz o en algun subdirectorio  contienen información como:  el nombre del archivo (en el formato 8.3)  tamaño del archivo en bytes  fecha y hora de la última revisión

32 Estructura del directorio  Los 32 bytes estan agrupados en secciones  válido para todas las secciones, ya sea que se trate de archivos o directorios (directorio raíz y subdirectorios)  Se cuenta con el número del primer cluster  importante ya que a partir de eso empieza a buscar al archivo  el primer cluster es leido de la entrada del directorio, los siguientes números de clusters son leídos del FAT  En discos duros formateados como FAT16 el directorio raíz ocipa 512 entradas, las cuales son de 32 bytes cada una.  entonces ocupa 16 KB

33 El área de datos  El resto del disco alberga la parte más importante, el área de datos, donde todos los archivos y sub directorios son almacenados.  El área de datos es la parte más grande del disco  Los sectores del área de datos estan conjuntados en clusters.  Como se dijo antes, el máximo número de clusters para datos es 2 16 =65,535  Si el disco duro es de 160 Mb:  se tienen 40,400 clusters de 8 sectores cada uno

34 Completando el cuadro: 160Mb

35 Un ejemplo de relación tabla particiones y FAT

36 Particiones primarias, extendidas y lógicas  Las reglas que determinan como pueden ser usadas las particiones datan del origen de la PC y continuan igual hoy en día.  Un disco duro puede contar con un máximo de cuatro particiones  algunas veces son llamadas particiones primarias  limitación debido a la forma en que el MBR esta especificado  Solo una partición puede designarse como activa.  esta partición será la que será usada para el arranque del el sistema.  Una de las particiones puede ser designada como una partición extendida (extended DOS partition)  esta partición puede ser subdividido en varias particiones lógicas

37 La partición extendida de DOS  Funciona como un contenedor para las particiones DOS, a excepción del primer (primaria) volumen.  La estructura que fue usada en el diseño original (que impone el límite de cuatro particiones) era muy estricta.  A: 1er. disco flexible B: 2do. disco flexible C: disco duro D: unidad lógica  El sistema de extensión de DOS permite tener hasta 24 particiones de disco en un solo sistema

38 La tabla de partición extendida  La información de la partición extendida esta contenida en la tabla de particiones del MBR  La tabla del MBR contiene una liga a una tabla de partición extendida.  La tabla contiene información acerca de la primera partición y una liga a la siguiente tabla de partición extendida que describe la siguiente partición en el disco  las tablas de particiones extendidas están ligadas en una cadena que empieza en el tabla de particiones del MBR

39 ejemplos sistemas  Partición simple con Windows PC  todo el espacio en disco en una sola partición usando alguno de los sistemas FAT.  esta máquina solo tiene una partición primaria FAT y nada mas  los otros tres slots para particiones estan vácios.  Particiones Multiples Windows PC  se tienen dos particiones  una es una partición primaria DOS ( drive C: )  la otra es una partición de extensión DOS  dentro de esta partición el resto de los drives lógicos son creados  si tuviera tres volumenes lógicos estos estarían asignados por las letras D, E y F y se encontarían dentro de la partición extendida.

40 Mas ejemplos  Varios sistema operativos en una PC  Un ordenador con varios sistemas operativos puede usar una partición primaria para hasta cuatro sistemas de archivos  se pueden combinar diferentes particiones con diferentes sistemas operativos  por ejemplo se puede tener una partición primaria DOS, una partición extendida DOS y una partición Linux

41  El master boot record (MBR) tiene 4 particiones.  Si se necesitan más, lo que hacemos es marcar la última partición como una partición extendida 0x05.  Para DOS puede haber como máximo 24 Unidades lógicas (letras A, B, C.. Z) Ejemplo: Particiones extendidas Ejemplo de particiones: 0: Win 1: OS2 2: Linux 3: Ext Swap Linux FAT32 0x05 0x82 MBR Ext=Tipo 5 El cual apunta a todo el espacio libre que queda Apuntador a otra tabla de particiones 55AA (Igual que la primera) Sólo va a tener 2 entradas, inicio, fin y tipo, un 0 en caso de que no haya más y un 0x5 si hay otra partición SWAP de Linux 0x0b 0x07 0x83 Tabla de particiones del MBR 0x0b

42 Algunos comentarios sobre particiones  En linux no existe el concepto de Unidades lógicas  Las 4 primeras particiones del primer disco IDE se nombran:  /dev/hda1  /dev/hda2  /dev/hda3  /dev/hda4  si, por ejemplo,la partición extendida aloja tres particiones estas se denotan en linux por /dev/hda5, /dev/hda6 y /dev/hda7 respectivamente  En terminos de como se usa el disco solo hay dos una diferencias entre una partición primaria y una extendida:  Una partición primaria puede activiarse como booteable (activa) mientras que una partición lógica no.  Por cada partición extra que se use, existe una tabla de particiones en la que el primer registro contiene la información de la partición y el segundo registro es un apuntador a la siguiente tabla de particiones o está vació si se trata de la última partición.

43  Para que un sistema operativo se pueda inicializar, la partición que contenga el archivo de inicio debe marcarse como activa.  En los computadores Intel x- 86, la partición activa es una partición primaria que contiene los archivos de arranque del sistema.  La partición activa está ubicada en el disco duro al que el computador accede cuando se inicializa.  Si se tiene instalado más de un sistema operativo, y este otro sistema operativo se encuentra instalado en una partición diferente a la que se encuentra marcada como activa, sólo hay que marcar la partición correspondiente como activa.

44 Marcando la partición como activa  Solo particiones primarias pueden ser usadas para bootear el sistema operativo.  solo una puede ser booteable, de otra forma el MBR no sabra a que código de booteo (de los diferentes volumenes) le debe pasar el control  DOS llama a la partición booteable como la partición activa  Si se particiona un nuevo disco duro y se crea una partición primaria DOS, usando la utilidad FDISK, pero se le olvida activar la partición primaria:  BIOS no podra bootear el sistema operativo  Esto puede provocar un error del estilo: No boot device available  Algunos BIOS despliegan mensajes más cripticos:  AMI BIOSes son conocidas por el mensaje: “NO ROM BASIC- SYSTEM HALTED cuando no se puede encontrar un dispositivo de arranque.