Collegamento fisico: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
ValterVBot (discussione | contributi)
m Bot: Elimino interlinks
Nessun oggetto della modifica
Riga 3:
In [[informatica]], si dice '''collegamento fisico''' (in [[Lingua inglese|inglese]] ''hard link'') l'associazione del nome di un [[file]] al suo contenuto.
 
Un collegamento fisico fa riferimento ai dati (ovvero il contenuto) di un file, e in ciò si differenzia dai [[Collegamento simbolico|collegamenti simbolici]] e altri tipi di collegamenti che fanno invece riferimento a nomi di file. Un'altra differenza è che il collegamento fisico deve trovarsi sullo stesso [[file system]] che contiene i dati a cui fa riferimento, e che un collegamento fisico non può restare orfano.
 
==Descrizione==
La creazione di un file comporta sempre la simultanea creazione di un collegamento fisico che permetta ai programmi di riferirsi ai dati tramite un nome nel ''[[file system]]''; dati privi di collegamenti fisici non sono accessibili, e a meno che non vi siano altri riferimenti ad essi (come ad esempio nel caso di file in uso da parte di uno o più [[Processo (informatica)|processi]]) lo spazio da loro occupato ritorna a far parte dello spazio disponibile.
 
I file system tipici dei sistemi [[Unix]], [[Unix-like]] ed ''NT-like'' (tutti i sistemi della famiglia Windows NT che condividono il sistema [[NTFS]], quindi non i cosiddetti "9x" come Windows95 ecc) prevedono la possibilità di avere più collegamenti fisici allo stesso file, mentre altri file system prevedono un solo collegamento per file.
 
I sistemi operativi generalmente impediscono di creare più di un collegamento fisico alla stessa [[directory]], per evitare problemi di ambiguità nel risalire la gerarchia di directory e per evitare che si possa includere parte di una gerarchia di directory all'interno di sé stessa (cosa che creerebbe problemi ai programmi che esaminano ricorsivamente il contenuto di un ''file system'', perché potrebbero non terminare mai il loro compito).
 
I file system tipici dei sistemi [[Unix]], [[Unix-like]] ed ''NT-like'' (tutti i sistemi della famiglia Windows NT che condividono il sistema [[NTFS]], quindi non i cosiddetti "9x" come Windows95 ecc) prevedono la possibilità di avere più collegamenti fisici allo stesso file, mentre altri file system prevedono un solo collegamento per file.
==Memorizzazione e funzionamento==
 
===Memorizzazione e funzionamento===
Per ogni file o directory nei sistemi [[Unix]] ed [[Unix-like]], il file system mantiene un identificativo univoco ([[inode]]) ed un conteggio dei collegamenti fisici che vi fanno riferimento. Un collegamento fisico quindi contiene semplicemente il nome ed il riferimento all'inode del file, senza altre informazioni.
 
Line 20 ⟶ 21:
''Per creare'' un hard-link in Windows si fa uso del comando seguente: '''fsutil hardlink create NomeNuovoFile NomeFileEsistente'''
 
=== Alternative ===
Nei sistemi basati su [[Linux]], a partire dalla versione 2.4.0 del [[kernel]] è possibile usare il comando [[mount]] con le opzioni <tt>--bind</tt> o <tt>--rbind</tt> per far apparire una directory o un file in più punti della gerarchia di directory del sistema, di fatto creando l'equivalente di un collegamento fisico che però può essere tra ''file system'' diversi e che può essere anche riferito ad una directory, ma che non è persistente (ovvero va ricreato ad ogni nuovo avvio del sistema).<ref>{{cita web
|url=http://linux.die.net/man/8/mount