Ehm! Dunque, ...
domande ad un papà, consulente informatico.
Sito 0.0 - HTML semplice
Home Page -  Chi sono? -  Perché questo sito? -  Elenco Lezioni -  1 ,2 , 3 , 4 , 5 , 6 


Sito 0.0 - Terza Lezione: Indirizzi relativi

I lettori che sanno usare le interfacce a riga di comando (MS-DOS, piuttosto che DOS box di Windows o Terminale di Linux) probabilmente conoscono già i contenuti di questa lezione, per cui se vogliono, possono passare alla successiva,

Premessa:
Un tempo i dispositivi di memoria permanente (nastri, dischi, tamburi) avevano una capacità di memorizzazione notevolmente più ridotta rispetto ai dispositivi attuali. Ad esempio i floppy disk, single side, single density da 5" dell'IBM PC memorizzavano al massimo 160 KByte, l'equivalente di un ottantina di pagine di testo in formato ASCII.
Non c'era necessità di ricorrere ad ulteriori suddivisioni. Il disco era un ambiente unico che ospitava poche decine di file che potevano essere elencati in due o tre schermate.
Con l'introduzione di dischi di più alta capacità si cominciò a porre il problema dell'organizzazione del disco ovvero come fare per facilitare la ricerca di un documento all'interno di un unità che poteva contenere centinaia o migliaia di file, pertanto a partire da  MS-DOS 2.0  si adottò un nuovo filesystem ispirato a quello di UNIX, basato sul concetto di directory  organizzate ad albero.
Indipendentemente dal fatto che si parli di directory, di folder o cartelle, l'organizzazione del filesystem basata sull'albero delle directory è una caratteristica di tutti i sistemi operativi moderni, a partire dagli anni '80, pertanto le successive considerazioni, fatto salvo per alcune postille su cui torneremo, si applicano a tutti i principali sistemi operativi: MS-DOS, Windows, UNIX, Linux, eccetera.

Dal punto di vista pratico l'introduzione del concetto di directory ha comportato una rivoluzione organizzativa paragonabile a quello che si avrebbe, in un'anagrafe, passando un unico grosso armadio pieno di documenti cartacei gettati alla rinfusa ad un moderno classificatore dotato di grossi cassetti all'interno predisposti per ospitare dei faldoni, che a loro volta possono contenere delle cartelline e così via, sino a giungere ai fogli di carta dei singoli documenti.
Supponendo di essere interessati all'atto di nascita di Mario Rossi, nato il 29 febbraio 1980, nel primo contesto (quello dell'armadio unico) saremmo costretti a cercare il documento che ci serve sfogliando uno a uno i documenti impilati in molteplici mucchi, nel secondo basterà aprire il cassetto corrispondente alla lettera "R" del classificatore contenente gli atti di nascita e cercare il faldone "Ro", che conterrà una cartellina "Rossi" all'interno della quale troveremo il documento cercato.
Supponendo che l'archivio dell'anagrafe sia stato informatizzato potrebbe essere sufficiente cercare il documento:

\Atti\Nascita\ Rossi\Rossi_Mario_1980_02_29.doc


I sistemi operativi della Mcrosoft a differenza di UNIX e dei suoi derivati (Linux, OS X, eccetera) conservano ancor oggi una "compatibilità" verso l'organizzazione di CP/M e MS-DOS 1.0, consentendo di fare riferimento al disco. Per cui all'indirizzo precedente potrebbe corrispondere un secondo percorso (path):

C:\Atti\Nascita\ Rossi\Rossi_Mario_1980_02_29.doc


che porta allo stesso documento (file).
Immaginando di avere un unico disco, fatto che ci esenta dalla necessità di far specificare il nome dell'unità (ad esempio C:), ci sono comunque molti modi di far riferimento allo stesso file: il più ovio ma anche il più faticoso è quello di indicare il percorso completo (path) a partire dalla directory principale (root). Ad esempio:

           \Atti\Nascita\ Rossi\Rossi_Mario_1980_02_29.doc

Questa tecnica di indirizzamento viene detta indirizzamento assoluto ed ha il pregio di individuare sempre univocamente al più un file.
In alternativa possiamo ricorrere all'indirizzamento relativo. Per chiarire di cosa si tratti consideriamo l'albero genealogico della famiglia Rossi.


Famiglia Rossi

In questo contesto Mario Rossi può essere indicato come: il nipote di Roberto e Sandra, come il figlio di Giacomo Rossi, oppure come il padre di Gianni Rossi.
Nell'ambito dei filesystem è possibile fornire delle indicazioni simili, basate sui "gradi di parentela", usando una notazione basata sui simboli punto "." e barra ("/" per Linux, "\" per MS-DOS e Windows).
In particolare il simbolo punto "." designa la directory attualmente selezionata (che può essere interpretata come il nodo genitore), il simbolo punto punto ".." indica la directory genitore di "." (il nonno) mentre la barra  evidenzi la relazione genitore/figlio.
Dall'interno della directory  directory Mario_Rossi (il filesystem prevede un solo genitore),
il figlio, Gianni  Rossi, sarà indicato come: ./Gianni_Rossi
Il padre, Giacomo Rossi, sarà indicato come: ../Giacomo_Rossi
Il nonno, Roberto Rossi, sarà indicato come: ../../Roberto_Rossi
La sorella, Mara Rossi, che condivide lo stesso nodo genitore di Mario Rossi, sarà indicata da: ./Mara_Rossi
Il nipote, Marco Gialli, da: ./Marta Rossi/Marco Gialli
E così via.

Da una pagina HTML (Mario Rossi), tutte le pagine della stessa directory  (fratelli) potranno essere riferite usando la notazione relativa:

 href="./fratello.html"
o più semplicemente come:
href="fratello.html" omettendo il punto.


Il file index.html presente nella directory soprastante sarà indicato in modo relativo da href=/../index.html".
Mente il file prova.html, contenuto nella sub-directory figlio della directory corrente sarà indicato da: href="./figlio/prova.html".


Lezione Precedente (2) - Prossima Lezione (4)


Home Page -  Chi sono? -  Perché questo sito? -  Elenco Lezioni -  1 ,2 , 3 , 4 , 5 , 6 

Autore Luigi D. CAPRA - Licenza Creative Commons - Attribuzione 2.5