Diferència entre revisions de la pàgina «Estructura lògica del disc dur»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
Línia 185: Línia 185:
  
  
'''Per reconstruir un arxiu''' anirem a l'espai d'arxius, buscarem el clúster inicial i, a través de la FAT, podrem anar a buscar els diferents clústers consecutius i recuperar els diferents fragments de l'arxiu.
+
'''Per reconstruir un arxiu''' anirem a l'índex d'arxius, buscarem el clúster inicial i, a través de la FAT, podrem anar a buscar els diferents clústers consecutius i recuperar els diferents fragments de l'arxiu.
 
L'arxiu quedarà íntegrament reconstruït a la memòria RAM per ser executat si és un programa (un .exe), o, si es tracta de dades (per exemple, un .txt) descodificat per extreure'n dades o ser modificat.
 
L'arxiu quedarà íntegrament reconstruït a la memòria RAM per ser executat si és un programa (un .exe), o, si es tracta de dades (per exemple, un .txt) descodificat per extreure'n dades o ser modificat.
  

Revisió del 09:40, 2 des 2009

Introducció

L'estructura física del HDD està formada per sectors. Aquesta caracterísica està determinada pel fabricant, controlada pel firmware i no es pot accedir externament.

Sobre aquesta estructura es forma l'estrucutra lògica que ve determinada pel sistema d'arxius del sistema operatiu (FAT, NTFS, UFS, ext2, ext3).

  • FAT: File Alocation Table. Hi ha versions de 16 i 32 bits (MS-DOS i Windows fins el 98).
  • NTFS: NT File System (Windows NT, 2000, XP i posteriors).
  • UFS: Unix File System (Sun Microsystems).
  • ext2, ext3, ext4: Second (Third, Fourth) Extended File System (Linux).
  • XFS (IRIX, Linux). Sistema d'alt rendiment per IRIX de SGI (Silicon Graphics) i que es va incorporar en forma de codi obert a Linux el 2000.
  • ReiserFS (Linux).
  • ISO9660 (CDs).
  • UFS (Universal File System) / ISO 13346: millora del ISO9660 per CDs i DVDs.

La mínima unitat d'informació és el cluster, que dependrà el seu tamany de la grandària de la partició.

Per determinar el tamany del cluster ens trobem en un compromís:


Tamany clúster Avantatges Inconvenients
Gran Més rapidesa d'accés a la informació amb arxius grans Desaprofitament de l'espai.
Petit Espai de disc més aprofitat (sobretot amb arxius petits). Informació més fragmentada (lentitud d'accés a les dades).

Podem veure a la taula següent, els diferents tamanys de clúster segons el sistema d'arxius. Podem apreciar que pel mateix tamany de la partició, els sistemes d'arxius més moderns fan clústers més petits<ref name="ftn1">Font: Joan COMAS, Manel JOAN; "Instalación y mantenimiento de equipos y sistemas informáticos", Altamar, Barcelona 2005.</ref>:


Tamany del clúster segons el tamany de la partició
Tamany de la unitat:
FAT 16
FAT 32
NTFS
7 – 16 MB
2 KB
No suportat
512 bytes
17 – 32 MB
512 bytes
33 – 64 MB
1 KB
512 bytes
65 – 128 MB
2 KB
1 KB
129 – 256 MB
4 KB
2 KB
257 – 512 MB
8 KB
4 KB
513 – 1024 MB
16 KB
1 KB
1 – 2 GB
32 KB
2 KB
2 – 4 GB
64 KB
4 KB
4 – 8 GB
No suportat
8 – 16 GB
8 KB
15 – 32 GB
16 KB
32 GB – 2 TB
No suportat


El MBR (Master Boot Record)

És el primer sector del disc dur i és un cas especial, ja que s'hi emmagatzema:

  • Codi executable d'arranc (codi màquina). Màxim de 446 bytes.
  • Identificador únic del disc dur (opcional).
  • Taula de particions (format IBM). Cada entrada a la taula de particions conté:
    • Sector inicial.
    • Sector final.
    • Identificador de partició.
    • Flags (boot, sistema, etc.)

Aquesta informació totalitza 512 bytes (acostuma a ser el tamany típic dels sectors i, per tant, el tamany mínim dels clusters).

Gestor d'arrancada

El gestor d'arrancada és el programa (molt curt) enmagatzemat al MBR. Cada sistema operatiu té el seu propi.

  • El gestor d'arrancada Windows busca la partició amb la flag de boot activa i va a buscar allà l'executable del Windows. Si no troba cap partició amb flag de boot actiu, no arrencarà.
  • El gestor d'arrencada de Linux (GRUB o l'antic LILO) ens ofereixen un menú d'arrencada per triar quin Sistema Operatiu volem arrencar, incloent el Windows i diverses versions (nuclis o kernels) de Linux.

Hi ha gestors d'arranc comercials com el BootQuest i d'altres que permeten gestionar diverses particions en Windows.


Particions

Una partició és una divisió lògica del disc dur. Aquestes solen mostrar-se pels sistemes operatius com si fossin diverses unitats de disc, però en realitat estan totes al mateix.

Hi ha 2 tipus de particions:

  • Particions primàries
    • Permeten arranc (boot) del sistema operatiu.
    • Només hi poden haver 4 com a màxim.
    • Una d'aquestes particions pot ser una partició "extesa", capaç de contenir diverses unitats lògiques.
  • Particions lògiques
    • Han d'anar dintre de la partició extesa.
    • Hi pot haver un nombre il·limitat.
    • No poden contenir un sistema operatiu
    • Solen utilitzar-se per contenir
      • Dades
      • Espais temporals d'emmagatzemament (/tmp)
      • Memòria virtual (swap en Linux).


Sistema d'arxius FAT

FAT significa File Allocation Table i va ser creat per Microsoft per ser utiltizat al MS-DOS i els Windows fins la versió 98 (NT, 2000 i XP ja utilitzen el NTFS). Està en desús però encara es pot trobar en màquines antigues amb aquests sistemes operatius o en disquets i algunes unitats Flash. L'estudiarem més en detall que els altres perquè ens permetrà entendre com funciona un sistema d'arxius sense entrar en la complexitat dels més moderns.

El sistema FAT s'estructura de la següent manera:

Sector d'arranc
(MBR)
FAT (1a còpia) FAT (2a còpia) Directori arrel Arxius i directoris
(índex)

Cada entrada de la taula conté:

  • Un 0 (zero) si està lliure.
  • EOF (End Of File, un caràcter especial) que indica final de l'arxiu.
  • Si conté un número, aquest apunta al següent clúster del fitxer.

Tenim 2 còpies de la FAT per motius de seguretat. Si per algun motiu es corromp la informació de la primera taula (per exemple, per un error d'escriptura), es pot recuperar de la segona còpia. És molt estrany (però no impossible) que hi hagi errors a les 2 còpies.


La FAT o File Allocation Table és una taula que controla la disposició dels arxius sobre els clústers del disc dur. El número que acompanya el sistema FAT indica el nombre d'entrades per sectors que conté la taula. Així, tindrem:

  • FAT 12 2^12 = 4096 clústers
  • FAT 16 2^16 = 65536 clústers
  • FAT 32 (Cas especial, només s'utilitzen 28) 2^28 = 268.435.456 clústers


A l'espai d'arxius i directoris s'emmagatzema la següent informació:

  • Nom d'arxiu o directori (carpeta).
  • Un byte d'atributs d'arxiu. Pel FAT tenim r (read-only), h (hidden), s (system) i a (archive).
  • Dates i hores de creació, accés i modificació.
  • Clúster de inici de l'arxiu o directori.
  • Tamany de l'arxiu o directori.


Per reconstruir un arxiu anirem a l'índex d'arxius, buscarem el clúster inicial i, a través de la FAT, podrem anar a buscar els diferents clústers consecutius i recuperar els diferents fragments de l'arxiu. L'arxiu quedarà íntegrament reconstruït a la memòria RAM per ser executat si és un programa (un .exe), o, si es tracta de dades (per exemple, un .txt) descodificat per extreure'n dades o ser modificat.

Sistema d'arxius NTFS

NT File System de Microsoft. Va sortir pel Windows NT (versió per servidors, paral·lela al Windows 3.x) i millora les prestacions del FAT:

  • Journaling: seguretat en la recuperació de dades enfront a fallades en els sistema d'axius. Per dur-ho a terme es té un registre (journal) de les transaccions dels arxius. En cas defallada, aquest registre permet desfer els canvis i recuperar les dades com al principi.
  • Control d'accés als arxius i directoris: (permisos i usuaris).
  • Capacitat per treballar amb unitats de gran tamany: Fins 2 TB.
  • Millor aprofitament de l'espai de disc: clústers menors que en FAT.
  • Noms llargs per arxius i carpetes.

Altres característiques addicionals:

  • Compressió d'arxius i carpetes (redueix rendiment de la CPU).
  • Encriptació: només l'usuari podrà llegir els seus directoris (redueix rendiment).
  • Quotes de disc (només en Windows Server).


Els sistemes Windows (FAT i NTFS) assignen una lletra a cada unitat del sistema.

  • A: floppy disk de 5,25"
  • B: floppy disk de 3,5"
  • C: disc dur de sistema
  • D: i endavant (E:, F:, etc.): s'assigna a les diverses unitats o particions dels discs durs restants (de dades) i per dispositius com CDs i DVDs.

Sistemes d'arxius ext2, ext3 i ext4 (Linux)

Es llegeixen:

  • ext2: Second Extended Filesystem
  • ext3: Third Extended Filesystem
  • ext4: Fourth Extended Filesystem


Característiques del ext3:

  • Tamany màxim de disc dur: 4 TB.
  • Noms d'arxiu i directori de fins a 255 caràcters.
  • Tamany de bloc variable ("bloc" equival al concepte de clúster).
  • Journaling: com s'ha explicat en el NTFS.


La disposició de les diferents unitats (muntatge) en Linux es fa a través de la comanda mount i de l'arxiu de configuració /etc/fstab. Exemple d'un fstab:

/dev/hdb5     /             ext3       defaults     1    1
/dev/hdc      /mnt/cdrom    iso9660    noauto       0    0
/dev/fd0      /mnt/floppy   auto       noauto       0    0

TODO list

  • Lletres d'unitat (MSDOS) i /dev/sd..
  • Fragmentació
  • Muntatge de les unitats



<references/>