Enllaç dur

De Viquipèdia
Dreceres ràpides: navegació, cerca

En computació, un enllaç dur o enllaç físic (en anglès, hard link ) és una referència o punter a un fitxer (a la dada físic) en un sistema de fitxers.

El nom associat a un fitxer és simplement una etiqueta emmagatzemada en una estructura de directori que referència el sistema operatiu al sistema de fitxers. Per la qual cosa, més d'un nom pot ser associat a aquest fitxer. Quan s'accedeix a través de diferents noms, qualsevol canvi fet afectarà el mateix fitxer. Els enllaços durs només poden referenciar dades que existeixen en el mateix sistema de fitxers. En la majoria dels sistemes de fitxers, tots els fitxers són enllaços durs.

Encara que es diguin de diferent forma, tant els enllaços durs com l'fitxer original (enllaç original) ofereixen la mateixa funcionalitat. En modificar les dades apuntats per qualsevol d'ells, es canvien les dades reals emmagatzemades en disc, quedant modificats per a tots per igual. En crear-los, per la seva naturalesa, els enllaços durs només poden apuntar a dades que estiguin en el mateix sistema de fitxers que l'fitxer (enllaç) a partir del qual es creuen, en ser en realitat una còpia de la mateixa referència a dades físiques però apuntada per una altra etiqueta.

Cada enllaç dur aplica uns permisos d'accés a les dades referenciats. La creació d'enllaços durs addicionals permet crear enllaços amb diferents permisos o propietaris per accedir a les mateixes dades. D'aquesta manera, per exemple, un enllaç pot permetre accés d'escriptura, mentre que un altre ofereixi només de lectura, podent crear diferents combinacions per a diferents grups o usuaris. Així mateix, en ser indistingibles dels fitxers, es poden utilitzar enllaços durs per oferir accés a dades des d'entorns chroot sense necessitat de duplicar les dades en disc.

El procés d'eliminació d'un enllaç, desvincula un nom de les dades reals. Les dades encara estaran accessibles mentre quedi algun enllaç. Quan s'elimina l'últim enllaç dur, l'espai que ocupaven les dades es considera disponible. Existeix un procediment de recuperació de fitxers esborrats, que permet la reconstrucció d'un enllaç a dades que ja no estiguin associats amb un nom. No obstant això aquest procés no està disponible en tots els sistemes i sovint no és segur que funcioni.

Comptador d'enllaços[modifica | modifica el codi]

En la majoria dels sistemes de fitxers que permetin enllaços durs, s'emmagatzema un valor sencer amb cada secció física de les dades. Aquest nombre enter representa el nombre total dels enllaços durs que apunten a les dades. Quan es crea un nou enllaç, aquest valor augmenta en un. Quan es treu un enllaç, el valor disminueix en un. El manteniment d'aquest valor ajuda als usuaris a prevenir les pèrdues de dades. És també la manera més simple perquè el sistema controli l'ús del disc dur, doncs quan el valor és zero indica que l'espai aquesta lliure i els valors diferents a zero indiquen que l'espai està en ús.

Exemple[modifica | modifica el codi]

Una il·lustració del concepte enllaç dur.

A la figura a la dreta hi ha dos enllaços durs, anomenats « Enllaç 1.txt " i " Enllaç 2.txt ». Tots dos enllaços apunten a les mateixes dades físiques. Si el nom de fitxer « Enllaç 1.txt » s'obre en un processador de text, es modifica i es guarda, aquests canvis seran visibles fins i tot en el fitxer « Enllaç 2.txt ». Igual que si féssim els canvis en « Enllaç 2.txt » serien visibles des de l'altre fitxer. Això és a causa que apunten a les mateixes dades.

Es poden crear enllaços extra per a les mateixes dades físiques. L'usuari només necessita especificar el nom d'algun enllaç dur existent, el sistema operatiu s'encarrega que apunti a localització física exacta de les dades.

Si un dels enllaços es lleva (per exemple, amb el comandament de Unix rm ), les dades segueixen sent accessibles des de qualsevol altre enllaç existent. Si tots els enllaços es treuen i cap procés té l'fitxer obert, l'espai ocupat per les dades es considera disponible, permetent que sigui reutilitzat en el futur per altres fitxers. Aquest procediment permet suprimir fitxers oberts sense afectar el procés que els utilitza, una acció que seria impossible en un sistema de fitxers amb una relació 1-1 entre les entrades en la guia i les dades.

Vegeu també[modifica | modifica el codi]

Nota[modifica | modifica el codi]