diff options
author | Gabor Kovesdan <gabor@FreeBSD.org> | 2012-08-21 13:06:28 +0000 |
---|---|---|
committer | Gabor Kovesdan <gabor@FreeBSD.org> | 2012-08-21 13:06:28 +0000 |
commit | 56f11610378ad1a24a014f8474dd5c72402ad2ab (patch) | |
tree | d782d5665334a7564552d1d819d86c9f367b3e42 /it_IT.ISO8859-15/articles | |
parent | 41385ac952b244b1e1f29be5c1d451c947543e56 (diff) | |
download | doc-56f11610378ad1a24a014f8474dd5c72402ad2ab.tar.gz doc-56f11610378ad1a24a014f8474dd5c72402ad2ab.zip |
- Expand character entities in the Italian documentation
Approved by: doceng (implicit)
Notes
Notes:
svn path=/projects/sgml2xml/; revision=39409
Diffstat (limited to 'it_IT.ISO8859-15/articles')
-rw-r--r-- | it_IT.ISO8859-15/articles/committers-guide/article.sgml | 396 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/euro/article.sgml | 64 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/explaining-bsd/article.sgml | 218 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/filtering-bridges/article.sgml | 194 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/multi-os/article.sgml | 226 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/new-users/article.sgml | 238 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/vm-design/article.sgml | 520 |
7 files changed, 928 insertions, 928 deletions
diff --git a/it_IT.ISO8859-15/articles/committers-guide/article.sgml b/it_IT.ISO8859-15/articles/committers-guide/article.sgml index f163a583df..09b509e65c 100644 --- a/it_IT.ISO8859-15/articles/committers-guide/article.sgml +++ b/it_IT.ISO8859-15/articles/committers-guide/article.sgml @@ -52,9 +52,9 @@ <releaseinfo>$FreeBSD$</releaseinfo> <abstract> - <para>Questo documento fornisce informazioni per la comunità dei + <para>Questo documento fornisce informazioni per la comunità dei committer di FreeBSD. Tutti i nuovi committer dovrebbero leggere - questo documento prima di iniziare, e i committer già esistenti + questo documento prima di iniziare, e i committer già esistenti sono fortemente incoraggiati a riguardarselo di tanto in tanto.</para> &trans.it.alex; @@ -91,7 +91,7 @@ <row> <entry><emphasis>&a.cvsadm; Principali</emphasis></entry> - <entry>&a.peter; e &a.markm;, così come &a.joe; e &a.marcus; + <entry>&a.peter; e &a.markm;, così come &a.joe; e &a.marcus; per i <filename>ports/</filename></entry> </row> @@ -128,16 +128,16 @@ </tgroup> </informaltable> - <para>È richiesto l'uso di &man.ssh.1; o &man.telnet.1; con + <para>È richiesto l'uso di &man.ssh.1; o &man.telnet.1; con Kerberos 5 per connettersi agli host del progetto. Per &man.ssh.1; - è permesso solo il protocollo 2. - Questi sono generalmente più sicuri che un semplice &man.telnet.1; + è permesso solo il protocollo 2. + Questi sono generalmente più sicuri che un semplice &man.telnet.1; o &man.rlogin.1; visto che la negoziazione delle credenziali - avverrà sempre in modo cifrato. - Tutto il traffico è cifrato di default - con &man.ssh.1;. Insieme a programmi di utilità come + avverrà sempre in modo cifrato. + Tutto il traffico è cifrato di default + con &man.ssh.1;. Insieme a programmi di utilità come &man.ssh-agent.1; e &man.scp.1;, anch'essi disponibili, &man.ssh.1; - è di gran lunga più conveniente. Se non sai nulla di + è di gran lunga più conveniente. Se non sai nulla di &man.ssh.1;, guarda la <xref linkend="ssh.guide"/>.</para> </sect1> @@ -147,14 +147,14 @@ <para>Il repository CVS di FreeBSD ha un numero di componenti che, se combinati, supportano i sorgenti di base del sistema operativo, la documentazione, l'infrastruttura dei port delle applicazioni di terze - parti, e vari programmi di utilità. Quando vengono assegnati i bit + parti, e vari programmi di utilità. Quando vengono assegnati i bit di commit di FreeBSD, vengono specificate le aree dell'albero dove il bit - può essere usato. Solitamente, le aree associate a un bit + può essere usato. Solitamente, le aree associate a un bit corrispondono a quelle di chi ha autorizzato l'assegnamento del bit di - commit. Ulteriori aree di autorità possono essere aggiunte in - seguito: se occorrerà, il committer dovrà seguire le + commit. Ulteriori aree di autorità possono essere aggiunte in + seguito: se occorrerà, il committer dovrà seguire le normali procedure di allocazione del bit di commit per quell'area - dell'albero, chiedendo l'approvazione all'entità appropriata e + dell'albero, chiedendo l'approvazione all'entità appropriata e possibilmente prendendo un mentore per quell'area per un po' di tempo.</para> @@ -197,13 +197,13 @@ </informaltable> <para>I bit di commit assegnati prima dello sviluppo della nozione di aree - di autorità possono essere usati in molte parti dell'albero. + di autorità possono essere usati in molte parti dell'albero. Tuttavia, il buon senso dice che un committer che non ha mai lavorato precedentemente in un'area dell'albero chieda una revisione del proprio lavoro prima di effettuare il commit, chieda l'approvazione del responsabile appropriato, e/o lavori d'accordo con un mentore. Dato che le regole sulla manutenzione del codice differiscono a seconda dell'area - dell'albero, questo è per il bene del committer che lavora in + dell'albero, questo è per il bene del committer che lavora in un'area poco familiare tanto quanto per gli altri che lavorano sull'albero.</para> @@ -212,7 +212,7 @@ dall'area dell'albero in cui stanno lavorando.</para> <sect2> - <title>Regolamento dell'attività del <filename>doc/</filename> + <title>Regolamento dell'attività del <filename>doc/</filename> committer in <filename>src/</filename></title> <itemizedlist> @@ -227,24 +227,24 @@ <listitem> <para>I doc committer possono effettuare commit riguardanti piccole modifiche e correzioni ai sorgenti, come correzioni per la - compilazione, piccole funzionalità, ecc., con un + compilazione, piccole funzionalità, ecc., con un <quote>Approved by</quote> di un src committer.</para> </listitem> <listitem> <para>I doc committer possono cercare di ottenere il commit bit sui - src acquisendo un mentore, che proporrà il doc committer al - core. Una volta approvato, verrà aggiunto al file - <filename>access</filename> ed inizierà il normale periodo + src acquisendo un mentore, che proporrà il doc committer al + core. Una volta approvato, verrà aggiunto al file + <filename>access</filename> ed inizierà il normale periodo sotto la guida del mentore, che implica l'aggiunta di <quote>Approved by</quote> per un certo periodo.</para> </listitem> <listitem> - <para><quote>Approved by</quote> può essere usato solamente - se l'approvazione è di un src committer senza mentore — + <para><quote>Approved by</quote> può essere usato solamente + se l'approvazione è di un src committer senza mentore — i committer ancora sotto la guida di un mentore possono fornire al - più un <quote>Reviewed by</quote> ma non un + più un <quote>Reviewed by</quote> ma non un <quote>Approved by</quote>.</para> </listitem> </itemizedlist> @@ -254,7 +254,7 @@ <sect1 id="cvs.operations"> <title>Operazioni sul CVS</title> - <para>Si assume che tu abbia già familiarità con le operazioni + <para>Si assume che tu abbia già familiarità con le operazioni di base di CVS.</para> <para>I &a.cvsadm; sono i <quote>proprietari</quote> del repository CVS e @@ -268,7 +268,7 @@ interessano l'intero albero CVS—non solo un'area specifica—puoi contattare i &a.cvsadm;. <emphasis>Non</emphasis> contattare i &a.cvsadm; per copie di repository o altre cose che possono - gestire i team più specifici.</para> + gestire i team più specifici.</para> <para>Gli unici che hanno il permesso di manipolare direttamente i bit del repository sono i @@ -307,7 +307,7 @@ </itemizedlist> </note> - <para>L'albero CVS è attualmente diviso in quattro repository + <para>L'albero CVS è attualmente diviso in quattro repository differenti, ovvero <literal>doc</literal>, <literal>ports</literal>, <literal>projects</literal> e <literal>src</literal>. Questi vengono ricomposti sotto un unico <literal>CVSROOT</literal> quando vengono @@ -317,14 +317,14 @@ <note> <para>Nota che il modulo <literal>www</literal> che contiene i sorgenti del <ulink url="http://www.FreeBSD.org">sito web di FreeBSD</ulink> - è contenuto all'interno del repository + è contenuto all'interno del repository <literal>doc</literal>.</para> </note> <para>I repository CVS sono ospitati sulle macchine repository. Attualmente, ognuno dei repository elencati qui sopra risiede sulla stessa macchina fisica, <hostid role="hostname">ncvs.FreeBSD.org</hostid>, ma - per permettere la possibilità di averne ognuno su una macchina + per permettere la possibilità di averne ognuno su una macchina diversa in futuro, ci sono diversi nomi di host che i committer dovrebbero utilizzare. Inoltre, ogni repository risiede in una directory differente. La seguente tabella racchiude la situazione.</para> @@ -386,7 +386,7 @@ quindi effettuando le appropriate operazioni di check-out/check-in. Molti committer definiscono degli alias che si espandono nella corretta invocazione di <application>cvs</application> per il repository - appropriato. Per esempio, un utente di &man.tcsh.1; può aggiungere + appropriato. Per esempio, un utente di &man.tcsh.1; può aggiungere le seguenti righe al suo <filename>.cshrc</filename> per questo scopo:</para> @@ -395,7 +395,7 @@ alias pcvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@pcvs.FreeBSD.o alias projcvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@projcvs.FreeBSD.org:/home/projcvs alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.org:/home/ncvs</programlisting> - <para>In questo modo è possibile fare tutte le operazioni di + <para>In questo modo è possibile fare tutte le operazioni di CVS localmente ed usare <command><replaceable>X</replaceable>cvs commit</command> per effettuare il commit sull'albero CVS ufficiale. Se desideri aggiungere qualcosa di totalmente nuovo (ad esempio dei @@ -407,17 +407,17 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <para>Per favore <emphasis>non</emphasis> usare <command>cvs checkout</command> o <command>update</command> con la macchina con il repository ufficiale impostata come CVS Root per tenere aggiornato il - tuo albero dei sorgenti. CVS da remoto non è ottimizzato per la + tuo albero dei sorgenti. CVS da remoto non è ottimizzato per la distribuzione via rete e richiede un grande sovraccarico di lavoro e di amministrazione sul lato server. Utilizza il nostro metodo di distribuzione avanzato <command>cvsup</command> per ottenere i bit del repository, ed esegui solamente l'operazione di <command>commit</command> sull'host con il repository. - Forniamo un'estesa rete di mirror cvsup per questo scopo, così + Forniamo un'estesa rete di mirror cvsup per questo scopo, così come diamo accesso al <hostid>cvsup-master</hostid> se hai veramente bisogno di essere aggiornato alle ultime modifiche. Il <hostid>cvsup-master</hostid> ha la potenza necessaria a gestire - questa cosa, il repository principale no. &a.kuriyama; è a capo + questa cosa, il repository principale no. &a.kuriyama; è a capo del <hostid>cvsup-master</hostid>.</para> </note> @@ -426,9 +426,9 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o allora va effettuata una copia nel repository piuttosto che usare <command>add</command> e <command>delete</command> di CVS. In una copia nel repository, un <link linkend="conventions">CVS Meister</link> - copierà il/i file nei loro nuovi nomi e/o locazioni e ti - avviserà ad operazione avvenuta. Lo scopo di una copia del - repository è di preservare la cronologia dei cambiamenti del file, + copierà il/i file nei loro nuovi nomi e/o locazioni e ti + avviserà ad operazione avvenuta. Lo scopo di una copia del + repository è di preservare la cronologia dei cambiamenti del file, o i log. Noi del FreeBSD Project diamo molta importanza alla cronologia dei cambiamenti che CVS fornisce al progetto.</para> @@ -450,8 +450,8 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <screen>&prompt.user; <userinput>cvs checkout shazam</userinput></screen> <para>Questo estrae una copia del modulo <filename>shazam</filename>. Se - non c'è alcun modulo <filename>shazam</filename> nel file dei - moduli, cercherà allora una directory di primo livello chiamata + non c'è alcun modulo <filename>shazam</filename> nel file dei + moduli, cercherà allora una directory di primo livello chiamata <filename>shazam</filename>.</para> <table frame="none"> @@ -500,8 +500,8 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <para>Ora hai una directory chiamata <filename>miscfs</filename> con le sottodirectory <filename>CVS</filename>, <filename>deadfs</filename>, <filename>devfs</filename>, e - così via. Una di queste (<filename>linprocfs</filename>) - è vuota.</para> + così via. Una di queste (<filename>linprocfs</filename>) + è vuota.</para> </listitem> <listitem> @@ -525,8 +525,8 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <para>Ora hai una directory chiamata <filename>miscfs</filename> con le sottodirectory <filename>CVS</filename>, <filename>deadfs</filename>, <filename>devfs</filename>... ma nota - che non c'è nessuna sottodirectory - <filename>linprocfs</filename>, perché non contiene alcun + che non c'è nessuna sottodirectory + <filename>linprocfs</filename>, perché non contiene alcun file.</para> </listitem> @@ -542,7 +542,7 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o </listitem> <listitem> - <para>Estrai il modulo <filename>miscfs</filename> com'è nel + <para>Estrai il modulo <filename>miscfs</filename> com'è nel ramo 4.X:</para> <screen>&prompt.user; <userinput>cvs co -rRELENG_4 miscfs</userinput></screen> @@ -585,7 +585,7 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <filename>CVS</filename>.</para> <para>Gli argomenti di <option>-D</option> e <option>-r</option> - sono fissi, che vuol dire che cvs se li ricorderà in seguito, + sono fissi, che vuol dire che cvs se li ricorderà in seguito, ad esempio quando farai un <command>cvs update</command>.</para> </listitem> @@ -597,7 +597,7 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <para>Questo visualizza lo stato del file <filename>shazam</filename> o di ogni file nella directory <filename>shazam</filename>. Per ogni - file, lo stato è uno fra:</para> + file, lo stato è uno fra:</para> <informaltable frame="none" pgwide="1"> <tgroup cols="2"> @@ -605,28 +605,28 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <row> <entry>Up-to-date</entry> - <entry>Il file à aggiornato e non è stato + <entry>Il file à aggiornato e non è stato modificato.</entry> </row> <row> <entry>Needs Patch</entry> - <entry>Il file non è stato modificato, ma c'è una + <entry>Il file non è stato modificato, ma c'è una nuova versione nel repository.</entry> </row> <row> <entry>Locally Modified</entry> - <entry>Il file è aggiornato, ma è stato + <entry>Il file è aggiornato, ma è stato modificato.</entry> </row> <row> <entry>Needs Merge</entry> - <entry>Il file è stato modificato, e c'è una nuova + <entry>Il file è stato modificato, e c'è una nuova versione nel repository.</entry> </row> @@ -634,7 +634,7 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <entry>File had conflicts on merge</entry> <entry>Ci sono stati conflitti l'ultima volta che il file - è stato aggiornato, e non sono ancora stati + è stato aggiornato, e non sono ancora stati risolti.</entry> </row> </tbody> @@ -642,8 +642,8 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o </informaltable> <para>Vedrai anche la versione e la data locale, il numero dell'ultima - versione appropriata (<quote>ultima appropriata</quote> perché - se hai una data, un tag o un ramo fissati, può non essere + versione appropriata (<quote>ultima appropriata</quote> perché + se hai una data, un tag o un ramo fissati, può non essere l'ultima versione), e i tag, le date o le opzioni applicate.</para> </listitem> @@ -690,7 +690,7 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <para>Se hai estratto un modulo con <option>-r</option> o <option>-D</option>, l'esecuzione di <command>cvs update</command> con un argomento differente di <option>-r</option> o - <option>-D</option> o con <option>-A</option> selezionerà un + <option>-D</option> o con <option>-A</option> selezionerà un nuovo ramo, una nuova versione o una nuova data. L'opzione <option>-A</option> elimina tutti i tag, le date o le versioni fissate mentre <option>-r</option> e <option>-D</option> ne @@ -698,9 +698,9 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <para>Teoricamente, specificando <literal>HEAD</literal> come argomento di <option>-r</option> avrai lo stesso risultato di - <option>-A</option>, ma è solo in teoria.</para> + <option>-A</option>, ma è solo in teoria.</para> - <para>L'opzione <option>-d</option> è utile se:</para> + <para>L'opzione <option>-d</option> è utile se:</para> <itemizedlist> <listitem> @@ -721,7 +721,7 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <para><emphasis>Osserva l'output di <command>cvs update</command> con cura</emphasis>. La lettera all'inizio di ogni file indica cosa - è stato fatto su di esso:</para> + è stato fatto su di esso:</para> <informaltable frame="none" pgwide="1"> <tgroup cols="2"> @@ -729,34 +729,34 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <row> <entry><literal>U</literal></entry> - <entry>Il file è stato aggiornato senza problemi.</entry> + <entry>Il file è stato aggiornato senza problemi.</entry> </row> <row> <entry><literal>P</literal></entry> - <entry>Il file è stato aggiornato senza problemi (vedrai + <entry>Il file è stato aggiornato senza problemi (vedrai questo solo quando lavorerai su un repository remoto).</entry> </row> <row> <entry><literal>M</literal></entry> - <entry>Il file è stato modificato, ed è stato + <entry>Il file è stato modificato, ed è stato fuso senza conflitti.</entry> </row> <row> <entry><literal>C</literal></entry> - <entry>Il file è stato modificato, ed è stato + <entry>Il file è stato modificato, ed è stato fuso con dei conflitti.</entry> </row> </tbody> </tgroup> </informaltable> - <para>La fusione è ciò che avviene quando estrai una copia + <para>La fusione è ciò che avviene quando estrai una copia di qualche codice sorgente, lo modifichi, quindi qualcun altro effettua il commit di un'altra modifica, e tu esegui <command>cvs update</command>. CVS nota che tu hai fatto dei cambiamenti locali, e @@ -766,20 +766,20 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o saranno problemi (sebbene il risultato possa non essere sintatticamente o semanticamente corretto).</para> - <para>CVS stamperà una <literal>M</literal> davanti ad ogni file - modificato localmente anche se non c'è una nuova versione nel - repository, quindi <command>cvs update</command> è adatto + <para>CVS stamperà una <literal>M</literal> davanti ad ogni file + modificato localmente anche se non c'è una nuova versione nel + repository, quindi <command>cvs update</command> è adatto per avere un resoconto di quello che hai cambiato in locale.</para> <para>Se appare una <literal>C</literal>, allora le tue modifiche sono in conflitto con i cambiamenti presenti nel repository (le modifiche - sono sulle stesse righe, o righe vicine, o hai cambiato così - tanto il file locale che <command>cvs</command> non è in grado + sono sulle stesse righe, o righe vicine, o hai cambiato così + tanto il file locale che <command>cvs</command> non è in grado di applicare le modifiche al repository). Dovrai allora andare a modificare il file a mano e risolvere i conflitti; questi saranno evidenziati da righe di simboli <literal><</literal>, <literal>=</literal> e <literal>></literal>. Per ogni conflitto, - ci sarà una linea di demarcazione formata da sette + ci sarà una linea di demarcazione formata da sette <literal><</literal> e il nome del file, seguita da una porzione di quello che il tuo file locale conteneva, seguita da una riga di separazione con sette <literal>=</literal>, seguita dalla porzione @@ -787,17 +787,17 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o riga di separazione con sette <literal>></literal> e il numero di versione che stai aggiornando.</para> - <para>L'opzione <option>-j</option> è un po' voodoo. Aggiorna + <para>L'opzione <option>-j</option> è un po' voodoo. Aggiorna il file locale alla versione specificata come se avessi usato <option>-r</option>, ma non cambia il numero di versione o il ramo - registrato del file locale. Non è realmente utile tranne - quando usata due volte, nel qual caso fonderà le modifiche + registrato del file locale. Non è realmente utile tranne + quando usata due volte, nel qual caso fonderà le modifiche tra le due versioni specificate nella copia su cui stai lavorando.</para> <para>Per esempio, supponiamo che ti abbia effettuato il commit di una modifica a <filename>shazam/shazam.c</filename> in &os.current; e che - più tardi tu voglia effettuare l'MFC. Le modifiche che vuoi + più tardi tu voglia effettuare l'MFC. Le modifiche che vuoi fondere sono nella versione 1.15:</para> <itemizedlist> @@ -863,13 +863,13 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o </table> <para>Vorrai sempre utilizzare <option>-u</option>, visto che le diff - unificate sono molto più semplici da leggere rispetto a quasi + unificate sono molto più semplici da leggere rispetto a quasi tutti gli altri formati (in alcune circostanze, le diff contestuali generate con l'opzione <option>-c</option> possono essere meglio, ma - sono molto più voluminose). Una diff unificata consiste di una + sono molto più voluminose). Una diff unificata consiste di una serie di parti. Ogni parte inizia con una riga con due caratteri <literal>@</literal> e specifica dove si trovano le differenze nel - file e su quante linee si estendono. Questa è seguita da un + file e su quante linee si estendono. Questa è seguita da un certo numero di righe; alcune (precedute da uno spazio) fanno parte del contesto; altre (precedute da un <literal>-</literal>) sono quelle eliminate e altre ancora (precedute da un <literal>+</literal>) sono @@ -891,10 +891,10 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <screen>&prompt.user; <userinput>cvs log shazam</userinput></screen> - <para>Se <filename>shazam</filename> è un file, questo - stamperà un'<emphasis>intestazione</emphasis> con le + <para>Se <filename>shazam</filename> è un file, questo + stamperà un'<emphasis>intestazione</emphasis> con le informazioni sul file, come la locazione nel repository dove il file - è salvato, a quale versione è l'<literal>HEAD</literal> + è salvato, a quale versione è l'<literal>HEAD</literal> per questo file, in quali rami si trova il file, e qualsiasi tag valido per questo file. Quindi, per ogni versione del file, viene stampato un messaggio di log. Questo include la data e l'ora del @@ -902,7 +902,7 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o tolte, e alla fine il messaggio di log che il committer ha scritto quando ha inviato la modifica.</para> - <para>Se <filename>shazam</filename> è una directory, allora le + <para>Se <filename>shazam</filename> è una directory, allora le informazioni di log descritte sopra vengono stampate a turno per ogni file presente nella directory. A meno che tu abbia dato l'opzione <option>-l</option> a <command>log</command>, vengono stampati anche @@ -910,17 +910,17 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o maniera ricorsiva.</para> <para>Usa il comando <command>log</command> per vedere la storia di uno - o più file, come è salvata nel repository CVS. Puoi + o più file, come è salvata nel repository CVS. Puoi anche usarlo per vedere il messaggio di log di una versione specifica, se aggiungi <option>-r<replaceable>ver</replaceable></option> al comando <command>log</command>:</para> <screen>&prompt.user; <userinput>cvs log -r1.2 shazam</userinput></screen> - <para>Questo stamperà solamente il messaggio di log per la + <para>Questo stamperà solamente il messaggio di log per la versione <literal>1.2</literal> del file <filename>shazam</filename> - se è un file, oppure i messaggi di log per le versioni 1.2 di - ogni file sotto <filename>shazam</filename> se è una + se è un file, oppure i messaggi di log per le versioni 1.2 di + ogni file sotto <filename>shazam</filename> se è una directory.</para> </listitem> @@ -928,7 +928,7 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <para>Guarda chi ha fatto cosa con il comando <command>annotate</command>. Questo comando visualizza ogni riga del file o dei file specificati, insieme all'utente che ha modificato - più recentemente quella riga.</para> + più recentemente quella riga.</para> <screen>&prompt.user; <userinput>cvs annotate shazam</userinput></screen> </listitem> @@ -941,7 +941,7 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <para>In modo analogo, puoi aggiungere nuove directory creandole e poi utilizzando <command>cvs add</command> su di esse. Nota che non - c'è bisogno di usare il commit sulle directory.</para> + c'è bisogno di usare il commit sulle directory.</para> </listitem> <listitem> @@ -971,7 +971,7 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <entry><option>-m<replaceable>msg</replaceable></option></entry> <entry>Specifica un messaggio di commit sulla riga di comando - anziché invocare un editor.</entry> + anziché invocare un editor.</entry> </row> </tbody> </tgroup> @@ -981,36 +981,36 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o fuori informazioni importanti dal messaggio di commit.</para> <para>Buoni messaggi di commit sono importanti. Dicono agli altri - perché hai fatto le modifiche che hai fatto, non solo qui ed - ora, ma per mesi o anni quando qualcuno si chiederà - perché dei pezzi di codice all'apparenza illogici o - inefficienti sono entrati nel file sorgente. È inoltre un + perché hai fatto le modifiche che hai fatto, non solo qui ed + ora, ma per mesi o anni quando qualcuno si chiederà + perché dei pezzi di codice all'apparenza illogici o + inefficienti sono entrati nel file sorgente. È inoltre un aiuto inestimabile per decidere su quali modifiche va effettuato l'MFC e su quali no.</para> <para>I messaggi di commit devono essere chiari, concisi, e fornire - un ragionevole sommario per dare un'indicazione di cosa è stato - cambiato e perché.</para> + un ragionevole sommario per dare un'indicazione di cosa è stato + cambiato e perché.</para> <para>I messaggi di commit devono fornire abbastanza informazioni - affinché una terza parte possa decidere se la modifica è + affinché una terza parte possa decidere se la modifica è rilevante per lei e se debba leggere la modifica stessa.</para> - <para>Evita di effettuare il commit di più modifiche scollegate + <para>Evita di effettuare il commit di più modifiche scollegate in una volta sola. Questo rende difficile la fusione, e inoltre rende - più complicato determinare quale modifica è colpevole + più complicato determinare quale modifica è colpevole se salta fuori un bug.</para> <para>Evita di effettuare il commit di correzioni di stile o di - spaziatura insieme a correzioni di funzionalità. Questo rende - difficile la fusione, e inoltre rende più complicato capire - quali modifiche alle funzionalità sono state fatte. Nel caso - di file di documentazione, può rendere il lavoro dei gruppi - di traduzione più complicato, visto che diventa difficile per + spaziatura insieme a correzioni di funzionalità. Questo rende + difficile la fusione, e inoltre rende più complicato capire + quali modifiche alle funzionalità sono state fatte. Nel caso + di file di documentazione, può rendere il lavoro dei gruppi + di traduzione più complicato, visto che diventa difficile per loro determinare esattamente quali modifiche al contenuto vanno tradotte.</para> - <para>Evita di effettuare il commit di cambiamenti a più file + <para>Evita di effettuare il commit di cambiamenti a più file con un unico messaggio generico o vago. Invece, effettua il commit di un file alla volta (o di piccoli gruppi di file correlati) con un messaggio di commit appropriato.</para> @@ -1033,7 +1033,7 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <para>Inoltre, devi SEMPRE specificare esplicitamente sulla riga di comando su quali file deve essere effettuato il commit, in modo da non toccare incidentalmente altri file non voluti - <command>cvs - commit</command> senza argomenti effettuerà il commit di ogni + commit</command> senza argomenti effettuerà il commit di ogni modifica nella directory corrente ed ogni sottodirectory.</para> </listitem> </orderedlist> @@ -1042,7 +1042,7 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o <orderedlist> <listitem> - <para>Puoi inserire le opzioni più comunemente usate nel tuo + <para>Puoi inserire le opzioni più comunemente usate nel tuo <filename>~/.cvsrc</filename>, come in questo caso:</para> <programlisting>cvs -z3 @@ -1055,7 +1055,7 @@ checkout -P</programlisting> <itemizedlist> <listitem> <para>usa sempre il livello di compressione 3 quando si parla con un - server remoto. Questo è un salvavita quando si lavora su + server remoto. Questo è un salvavita quando si lavora su una connessione lenta.</para> </listitem> @@ -1080,7 +1080,7 @@ checkout -P</programlisting> <listitem> <para>Usa lo script <command>cdiff</command> di Eivind Eklund per - visualizzare le diff unificate. È un wrapper per &man.less.1; + visualizzare le diff unificate. È un wrapper per &man.less.1; che aggiunge i codici colore ANSI per far risaltare le intestazioni delle sezioni, le righe rimosse e quelle aggiunte; il contesto rimane invariato. Inoltre espande i tab correttamente (i tab spesso appaiono @@ -1106,34 +1106,34 @@ checkout -P</programlisting> </listitem> <listitem> - <para>CVS è vecchio, arcano, complesso e buggato, e a volte + <para>CVS è vecchio, arcano, complesso e buggato, e a volte esibisce comportamenti non deterministici che qualcuno sostiene siano - la prova che CVS non sia niente di più di una manifestazione - Newtoniana di una entità ultradimensionale sensibile. - Non è umanamente possibile conoscere ogni dettaglio di CVS, + la prova che CVS non sia niente di più di una manifestazione + Newtoniana di una entità ultradimensionale sensibile. + Non è umanamente possibile conoscere ogni dettaglio di CVS, quindi non essere dispiaciuto di chiedere aiuto all'Intelligenza Artificiale (&a.cvsadm;).</para> </listitem> <listitem> <para>Non lasciare il comando <command>cvs commit</command> nella - modalità di inserimento del messaggio di commit per troppo - tempo (più di 2–3 minuti). Questo blocca la directory in - cui stai lavorando ed impedirà ad altri sviluppatori di + modalità di inserimento del messaggio di commit per troppo + tempo (più di 2–3 minuti). Questo blocca la directory in + cui stai lavorando ed impedirà ad altri sviluppatori di effettuare commit nella stessa directory. Se devi digitare un messaggio di commit lungo, scrivilo prima di eseguire <command>cvs commit</command> e inseriscilo successivamente oppure salvalo in un file prima di effettuare il commit ed usa l'opzione <option>-F</option> di CVS per leggere il messaggio di commit da - quel file, cioè:</para> + quel file, cioè:</para> <screen>&prompt.user; <userinput>vi logmsg</userinput> &prompt.user; <userinput>cvs ci -F logmsg shazam</userinput></screen> - <para>Questo è il metodo più veloce per passare un + <para>Questo è il metodo più veloce per passare un messaggio di commit a CVS ma devi stare attento quando modifichi - il file <filename>logmsg</filename> prima del commit, perché - CVS non ti darà la possibilità di modificare il + il file <filename>logmsg</filename> prima del commit, perché + CVS non ti darà la possibilità di modificare il messaggio quando effettuerai realmente il commit.</para> </listitem> </orderedlist> @@ -1150,11 +1150,11 @@ checkout -P</programlisting> <para>Aggiungi la tua entity di autore in <filename>doc/en_US.ISO8859-1/share/sgml/authors.ent</filename>; questo dovrebbe essere fatto per prima cosa, visto che l'omissione - di questo commit farà in modo che i prossimi commit + di questo commit farà in modo che i prossimi commit romperanno la compilazione del ramo doc/.</para> - <para>Questo è un compito relativamente semplice, ma rimane una - buona prima prova delle tue abilità con CVS.</para> + <para>Questo è un compito relativamente semplice, ma rimane una + buona prima prova delle tue abilità con CVS.</para> </listitem> <listitem> @@ -1184,11 +1184,11 @@ checkout -P</programlisting> per maggiori informazioni.</para> <note> - <para>È importante avere una chiave PGP/GnuPG aggiornata nel - Manuale, visto che potrà essere richiesta per + <para>È importante avere una chiave PGP/GnuPG aggiornata nel + Manuale, visto che potrà essere richiesta per l'identificazione del committer, ad esempio dai &a.admins; per il recupero dell'account. Un portachiavi completo degli utenti - <hostid role="domainname">FreeBSD.org</hostid> è disponibile + <hostid role="domainname">FreeBSD.org</hostid> è disponibile su <ulink url="&url.base;/doc/pgpkeyring.txt">http://www.FreeBSD.org/doc/pgpkeyring.txt</ulink>.</para> </note> @@ -1205,7 +1205,7 @@ checkout -P</programlisting> </listitem> <listitem> - <para>Presentati agli altri committer, altrimenti nessuno avrà + <para>Presentati agli altri committer, altrimenti nessuno avrà idea di chi tu sia o di cosa ti occupi. Non devi scrivere una biografia completa, basta un paragrafo o due su chi sei e su quello di cui hai intenzione di occuparti come committer di FreeBSD. @@ -1215,10 +1215,10 @@ checkout -P</programlisting> <listitem> <para>Loggati su <hostid>hub.FreeBSD.org</hostid> e crea un file <filename>/var/forward/<replaceable>utente</replaceable></filename> - (dove <replaceable>utente</replaceable> è il tuo nome utente) + (dove <replaceable>utente</replaceable> è il tuo nome utente) contenente l'indirizzo e-mail dove vuoi che i messaggi indirizzati a <replaceable>tuonomeutente</replaceable>@FreeBSD.org siano inoltrati. - Questo include tutti i messaggi di commit così come ogni altro + Questo include tutti i messaggi di commit così come ogni altro messaggio inviato alla &a.committers; e alla &a.developers;. Caselle di posta veramente grandi che hanno preso residenza fissa su <hostid>hub</hostid> spesso vengono <quote>accidentalmente</quote> @@ -1229,7 +1229,7 @@ checkout -P</programlisting> arriva ai server di posta centrali che processano le mailing list, i server front-end fanno alcuni controlli e non fanno passare alcuni messaggi in base a questi controlli. Al momento l'unico controllo - attivo è la verifica sulla correttezza delle informazioni DNS + attivo è la verifica sulla correttezza delle informazioni DNS dell'host che si connette, ma questo potrebbe cambiare. Alcune persone accusano questi controlli di respingere email valide. Se vuoi disabilitare questi controlli per la tua email puoi creare @@ -1246,9 +1246,9 @@ checkout -P</programlisting> </itemizedlist> <para>Tutti i nuovi committer hanno un mentore assegnato a loro per i primi - mesi. Il tuo mentore è responsabile di insegnarti le regole e le + mesi. Il tuo mentore è responsabile di insegnarti le regole e le convenzioni del progetto e guidare i tuoi primi passi nella - comunità dei committer. È anche personalmente responsabile + comunità dei committer. È anche personalmente responsabile delle tue azioni durante questo periodo iniziale. Fino a quando il tuo mentore non decide (e lo annuncia con un commit forzato su <filename>access</filename>) che sei diventato pratico e pronto per @@ -1295,7 +1295,7 @@ SUCH DAMAGE.</programlisting> <para>Il progetto &os; scoraggia fortemente la cosiddetta clausola pubblicitaria nel nuovo codice. A causa del grande numero di contributi al progetto &os;, osservare questa clausola per molti - fornitori commerciali è diventato difficile. Se hai codice + fornitori commerciali è diventato difficile. Se hai codice nell'albero con la clausola pubblicitaria, pensa a rimuoverla. In pratica, considera di usare la licenza qui sopra per il tuo codice.</para> @@ -1303,7 +1303,7 @@ SUCH DAMAGE.</programlisting> <para>Il progetto &os; scoraggia completamente nuove licenze e variazioni sulle licenze standard. Nuove licenze richiedono l'approvazione di <email>core@FreeBSD.org</email> per risiedere nel repository principale. - Più licenze differenti vengono usate nell'albero, più + Più licenze differenti vengono usate nell'albero, più problemi possono essere causati a chi desidera utilizzare questo codice, tipicamente da conseguenze non previste di una licenza strutturata male.</para> @@ -1312,25 +1312,25 @@ SUCH DAMAGE.</programlisting> <sect1 id="developer.relations"> <title>Relazioni tra Sviluppatori</title> - <para>Se stai lavorando direttamente sul tuo codice o su codice che è - già stabilito essere di tua responsabilità, allora - c'è probabilmente poca necessità di confrontarsi con altri + <para>Se stai lavorando direttamente sul tuo codice o su codice che è + già stabilito essere di tua responsabilità, allora + c'è probabilmente poca necessità di confrontarsi con altri committer prima di effettuare un commit. Se vedi un bug in un'area del - sistema che è chiaramente orfana (e ce n'è qualcuna di + sistema che è chiaramente orfana (e ce n'è qualcuna di queste aree, per nostra vergogna), agisci allo stesso modo. Se, tuttavia, - stai per modificare qualcosa che è chiaramente mantenuto - attivamente da qualcun'altro (ed è solo guardando la mailing list - <literal>cvs-committers</literal> che puoi veramente sapere cosa è - e cosa non è) allora invia le modifiche a lui, come avresti + stai per modificare qualcosa che è chiaramente mantenuto + attivamente da qualcun'altro (ed è solo guardando la mailing list + <literal>cvs-committers</literal> che puoi veramente sapere cosa è + e cosa non è) allora invia le modifiche a lui, come avresti fatto prima di diventare committer. Per i port, dovresti contattare il <makevar>MAINTAINER</makevar> specificato nel <filename>Makefile</filename>. Per altre parti del repository, se non sei sicuro di chi possa essere il maintainer attivo, potrebbe essere utile scorrere l'output di <command>cvs log</command> per vedere chi ha effettuato delle modifiche in passato. &a.fenner; ha scritto un utile - script di shell che può aiutare a determinare chi sia il + script di shell che può aiutare a determinare chi sia il maintainer attivo. Questo elenca ogni persona che ha effettuato commit - su un file specifico con il numero di commit che ha fatto. Può + su un file specifico con il numero di commit che ha fatto. Può essere trovato su <hostid>freefall</hostid> in <filename>~fenner/bin/whodid</filename>. Se alle tue richieste non corrisponde una risposta o se il committer in altro modo dimostra uno @@ -1339,22 +1339,22 @@ SUCH DAMAGE.</programlisting> <para>Se non sei sicuro di un commit per qualunque motivo, fallo revisionare da <literal>-hackers</literal> prima di effettuare il commit. Meglio - che sia criticato lì piuttosto che quando è parte del + che sia criticato lì piuttosto che quando è parte del repository CVS. Se ti capita di effettuare un commit che provoca controversie, potresti voler considerare l'annullamento delle modifiche - finché il problema sia chiarito. Ricorda – con CVS possiamo + finché il problema sia chiarito. Ricorda – con CVS possiamo sempre tornare indietro.</para> - <para>Non mettere in dubbio le intenzioni di qualcuno che non è + <para>Non mettere in dubbio le intenzioni di qualcuno che non è d'accordo con te. Se vedono una soluzione differente dalla tua per un - problema, o anche un problema diverso, non è perché sono - stupidi, perché hanno una dubbia origine, o perché stanno + problema, o anche un problema diverso, non è perché sono + stupidi, perché hanno una dubbia origine, o perché stanno cercando di distruggere il tuo duro lavoro, la tua immagine personale, o - FreeBSD, ma semplicemente perché hanno una visione differente del - mondo. La diversità è una buona cosa.</para> + FreeBSD, ma semplicemente perché hanno una visione differente del + mondo. La diversità è una buona cosa.</para> <para>Dissenti onestamente. Argomenta la tua posizione con i suoi meriti, - sii onesto sui difetti che può avere, e sii disponibile a guardare + sii onesto sui difetti che può avere, e sii disponibile a guardare le loro soluzioni, o anche le loro visioni del problema, con mente aperta.</para> @@ -1365,9 +1365,9 @@ SUCH DAMAGE.</programlisting> avanti.</para> <para>Chiedi aiuto. Cerca (e dai) revisioni dagli altri. Uno delle cose - in cui dovrebbe eccellere il software open source è il numero di - occhi che lo scrutano; questo non è vero se nessuno - revisionerà il codice.</para> + in cui dovrebbe eccellere il software open source è il numero di + occhi che lo scrutano; questo non è vero se nessuno + revisionerà il codice.</para> </sect1> <sect1 id="gnats"> @@ -1378,13 +1378,13 @@ SUCH DAMAGE.</programlisting> <command>edit-pr <replaceable>numero-pr</replaceable></command> su <hostid>freefall</hostid> quando effettui il commit di una correzione o di un suggerimento trovato in un PR <application>GNATS</application> per - chiuderlo. È inoltre considerato gentile se trovi il tempo di + chiuderlo. È inoltre considerato gentile se trovi il tempo di chiudere ogni PR associato al tuo commit, se esistono. Puoi anche usare &man.send-pr.1; tu stesso per proporre qualsiasi cambiamento che pensi debba essere fatto, a seguito di una maggiore revisione da parte di altre persone.</para> - <para>Puoi trovare di più su <application>GNATS</application> + <para>Puoi trovare di più su <application>GNATS</application> su:</para> <itemizedlist> @@ -1413,9 +1413,9 @@ SUCH DAMAGE.</programlisting> <title>Utilizzo di un albero GNATS locale</title> <step> - <para>Se non stai già scaricando l'albero GNATS, aggiungi questa + <para>Se non stai già scaricando l'albero GNATS, aggiungi questa riga al tuo <filename>supfile</filename>, e riesegui &man.cvsup.1;. - Nota che siccome GNATS non è sotto + Nota che siccome GNATS non è sotto il controllo di CVS non ha tag, quindi se lo stai aggiungendo al tuo <filename>supfile</filename> esistente deve apparire prima di ogni voce <quote>tag=</quote> dato che queste rimangono attive una volta @@ -1423,7 +1423,7 @@ SUCH DAMAGE.</programlisting> <programlisting>gnats release=current prefix=/usr</programlisting> - <para>Questo metterà l'albero GNATS di FreeBSD in + <para>Questo metterà l'albero GNATS di FreeBSD in <filename>/usr/gnats</filename>. Puoi usare un file <emphasis>refuse</emphasis> per controllare quali categorie ricevere. Per esempio, per ricevere solo i PR <literal>docs</literal>, metti @@ -1437,13 +1437,13 @@ SUCH DAMAGE.</programlisting> <programlisting>gnats/[a-ce-z]*</programlisting> <para>Il resto di questi esempi assume che tu abbia scaricato solo la - categoria <literal>docs</literal>. Modificali quando è + categoria <literal>docs</literal>. Modificali quando è necessario, a seconda delle categorie che tieni in sincronia.</para> </step> <step> <para>Installa il port GNATS da - <filename>ports/databases/gnats</filename>. Questo metterà le + <filename>ports/databases/gnats</filename>. Questo metterà le varie directory GNATS sotto <filename>$PREFIX/share/gnats</filename>.</para> </step> @@ -1461,10 +1461,10 @@ SUCH DAMAGE.</programlisting> <step> <para>Aggiorna il file <filename>categories</filename> di GNATS con - queste categorie. Il file è + queste categorie. Il file è <filename>$PREFIX/share/gnats/gnats-db/gnats-adm/categories</filename>.</para> - <programlisting># Questa categoria è obbligatoria + <programlisting># Questa categoria è obbligatoria pending:Categoria per i PR errati:gnats-admin: # # Categorie di FreeBSD @@ -1502,12 +1502,12 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <note> <para>Questa procedura funziona solo per permetterti di visualizzare ed interrogare i PR localmente. Per modificarli o chiuderli dovrai ancora - loggarti su <hostid>freefall</hostid> e farlo da lì.</para> + loggarti su <hostid>freefall</hostid> e farlo da lì.</para> </note> </sect1> <sect1 id="people"> - <title>Chi è Chi</title> + <title>Chi è Chi</title> <para>Oltre ai meister del repository, ci sono altri membri e team del FreeBSD Project che probabilmente arriverai a conoscere nel tuo ruolo di @@ -1519,12 +1519,12 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <term>&a.jhb;</term> <listitem> - <para>John è il manager dell'SMPng Project, e ha - autorità sulla progettazione architetturale e + <para>John è il manager dell'SMPng Project, e ha + autorità sulla progettazione architetturale e sull'implementazione del passaggio a un sistema di threading e - locking del kernel a grana fine. È anche l'autore + locking del kernel a grana fine. È anche l'autore dell'SMPng Architecture Document. Se stai lavorando sullo stesso - sistema, coordinati con John. Puoi imparare di più + sistema, coordinati con John. Puoi imparare di più sull'SMPng Project dalla sua home page: <ulink url="http://www.FreeBSD.org/smp/"></ulink></para> </listitem> @@ -1543,11 +1543,11 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <term>&a.doceng;</term> <listitem> - <para>doceng è il gruppo responsabile dell'infrastruttura + <para>doceng è il gruppo responsabile dell'infrastruttura per la realizzazione della documentazione, approva i nuovi committer della documentazione, e assicura che il sito web di FreeBSD e la documentazione sul sito FTP siano aggiornati rispetto all'albero - CVS. Non è un organo di risoluzione dei conflitti. + CVS. Non è un organo di risoluzione dei conflitti. La maggior parte delle discussioni relative alla documentazione prendono posto sulla &a.doc;. Maggiori dettagli riguardanti il team doceng possono essere trovati nel suo <ulink @@ -1563,7 +1563,7 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <term>&a.ru;</term> <listitem> - <para>Ruslan è Mister &man.mdoc.7;. Se stai scrivendo una + <para>Ruslan è Mister &man.mdoc.7;. Se stai scrivendo una pagina man e hai bisogno di qualche suggerimento sulla struttura, o sul linguaggio di markup, chiedi a Ruslan.</para> </listitem> @@ -1573,8 +1573,8 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <term>&a.bde;</term> <listitem> - <para>Bruce è lo Style Police-Meister. Quando fai un commit - che poteva essere fatto meglio, Bruce sarà lì a + <para>Bruce è lo Style Police-Meister. Quando fai un commit + che poteva essere fatto meglio, Bruce sarà lì a dirtelo. Ringrazia che qualcuno lo sia. Bruce conosce anche molto bene gli standard applicabili a FreeBSD.</para> </listitem> @@ -1596,7 +1596,7 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <term>&a.dg;</term> <listitem> - <para>David è il supervisore del sistema VM. Se hai in mente + <para>David è il supervisore del sistema VM. Se hai in mente una modifica al sistema VM, coordinala con David.</para> </listitem> </varlistentry> @@ -1624,17 +1624,17 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <term>&a.hrs;</term> <listitem> - <para>Questi sono i membri del &a.re;. Questo team è + <para>Questi sono i membri del &a.re;. Questo team è responsabile di decidere i tempi delle release e controllare il processo di release. Durante i periodi di congelamento del - codice, gli ingegneri di release hanno l'autorità finale su + codice, gli ingegneri di release hanno l'autorità finale su tutte le modifiche al sistema per quel ramo di cui si sta preparando - la release. Se c'è qualcosa che vuoi sia fuso da + la release. Se c'è qualcosa che vuoi sia fuso da &os.current; a &os.stable; (qualsiasi valore queste possano avere in un dato momento), queste sono le persone con cui devi parlare.</para> - <para>Hiroki è anche l'autore della documentazione di + <para>Hiroki è anche l'autore della documentazione di release (<filename>src/release/doc/*</filename>). Se effettui il commit di una modifica che pensi sia degna di menzione nelle note di release, assicurati che lo sappia. Meglio ancora, inviagli @@ -1646,7 +1646,7 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <term>&a.benno;</term> <listitem> - <para>Benno è il maintainer ufficiale del port per + <para>Benno è il maintainer ufficiale del port per &powerpc;.</para> </listitem> </varlistentry> @@ -1664,7 +1664,7 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <term>&a.nectar;</term> <listitem> - <para>Jacques è il <ulink url="&url.base;/security/">FreeBSD + <para>Jacques è il <ulink url="&url.base;/security/">FreeBSD Security Officer</ulink> e supervisiona il &a.security-officer;.</para> </listitem> @@ -1676,8 +1676,8 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <listitem> <para>Se hai bisogno di consigli sulle oscure parti interne delle reti o non sei sicuro di qualche eventuale modifica al sottosistema di - rete che hai in mente, Garrett è qualcuno con cui parlare. - Garret è inoltre molto esperto sui vari standard applicabili + rete che hai in mente, Garrett è qualcuno con cui parlare. + Garret è inoltre molto esperto sui vari standard applicabili a FreeBSD.</para> </listitem> </varlistentry> @@ -1686,7 +1686,7 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <term>&a.committers;</term> <listitem> - <para>cvs-committers è l'entità che CVS usa per inviarti + <para>cvs-committers è l'entità che CVS usa per inviarti tutti i messaggi di commit. Non devi <emphasis>mai</emphasis> inviare email direttamente a questa lista. Puoi solamente rispondere a questa lista quando i messaggi sono brevi e @@ -1699,23 +1699,23 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <listitem> <para>Tutti i committer sono iscritti a -developers. Questa lista - è stata creata per essere un forum sulle questioni della - <quote>comunità</quote> dei committer. Esempi sono le + è stata creata per essere un forum sulle questioni della + <quote>comunità</quote> dei committer. Esempi sono le votazioni per il Core, annunci, ecc. Questa lista - <emphasis>non</emphasis> è intesa come posto per la revisione + <emphasis>non</emphasis> è intesa come posto per la revisione del codice o come rimpiazzo della &a.arch; o della &a.audit;. Infatti usarla in questo modo urta il FreeBSD Project dato che - dà l'impressione di una lista privata dove vengono prese le - decisioni generali che influenzano tutta la comunità che usa + dà l'impressione di una lista privata dove vengono prese le + decisioni generali che influenzano tutta la comunità che usa FreeBSD senza essere rese <quote>pubbliche</quote>. Ultimo, ma non per importanza <emphasis>mai e poi mai invia un messaggio alla &a.developers; mettendo in CC:/BCC: un'altra lista FreeBSD</emphasis>. Mai e poi mai invia un messaggio su un'altra mailing list mettendo - in CC:/BCC: la &a.developers;. Fare questo può diminuire + in CC:/BCC: la &a.developers;. Fare questo può diminuire enormemente i benefici di questa lista. Inoltre, non pubblicare o inoltrare mai email inviate alla &a.developers;. L'atto di inviare - un messaggio alla &a.developers; anziché a una lista + un messaggio alla &a.developers; anziché a una lista pubblica significa che le informazioni contenute non sono ad uso pubblico.</para> </listitem> @@ -1728,7 +1728,7 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <procedure> <step> - <para>Se stai usando FreeBSD 4.0 o successivo, OpenSSH è incluso + <para>Se stai usando FreeBSD 4.0 o successivo, OpenSSH è incluso nel sistema base. Se stai usando una release precedente, aggiorna ed installa uno dei port di SSH. In generale, probabilmente vorrai prendere OpenSSH dal port <filename @@ -1742,7 +1742,7 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <step> <para>Se non vuoi digitare la tua password ogni volta che usi &man.ssh.1;, e usi chiavi RSA o DSA per autenticarti, - &man.ssh-agent.1; è lì per la tua comodità. + &man.ssh-agent.1; è lì per la tua comodità. Se vuoi usare &man.ssh-agent.1;, assicurati di eseguirlo prima di utilizzare altre applicazioni. Gli utenti X, per esempio, solitamente fanno questo dal loro file <filename>.xsession</filename> o @@ -1768,11 +1768,11 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> </procedure> <para>Ora dovresti essere in grado di usare &man.ssh-add.1; per autenticarti - una volta a sessione. Ti verrà richiesta la pass phrase della tua - chiave privata, e quindi verrà salvata nel tuo agente di - autenticazione (&man.ssh-agent.1;). Se non vuoi più avere la tua + una volta a sessione. Ti verrà richiesta la pass phrase della tua + chiave privata, e quindi verrà salvata nel tuo agente di + autenticazione (&man.ssh-agent.1;). Se non vuoi più avere la tua chiave salvata nell'agente, l'esecuzione di <command>ssh-add -d</command> - la rimuoverà.</para> + la rimuoverà.</para> <para>Verifica facendo qualcosa come <command>ssh freefall.FreeBSD.org ls /usr</command>.</para> @@ -1806,7 +1806,7 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <para>Sfortunatamente, non ci sono molti benefici derivanti dall'essere un committer. Il riconoscimento di essere un progettista di software - competente è probabilmente l'unica cosa che sarà di tuo + competente è probabilmente l'unica cosa che sarà di tuo vantaggio a lungo termine. Ciononostante, ci sono comunque alcuni benefici:</para> @@ -1822,10 +1822,10 @@ docs:Bug di Documentazione:freebsd-doc:</programlisting> <replaceable>yourusername</replaceable>@FreeBSD.org freefall.FreeBSD.org</command>. Nota: devi specificare <hostid>freefall.FreeBSD.org</hostid> sulla riga di comando si - <command>cvpasswd</command> anche se il server attuale è + <command>cvpasswd</command> anche se il server attuale è <hostid>cvsup-master</hostid>. L'accesso al <hostid>cvsup-master</hostid> non dovrebbe essere abusato visto che - è una macchina carica di lavoro.</para> + è una macchina carica di lavoro.</para> </listitem> </varlistentry> diff --git a/it_IT.ISO8859-15/articles/euro/article.sgml b/it_IT.ISO8859-15/articles/euro/article.sgml index 2f2c07c9a9..3ca0e77bb9 100644 --- a/it_IT.ISO8859-15/articles/euro/article.sgml +++ b/it_IT.ISO8859-15/articles/euro/article.sgml @@ -47,10 +47,10 @@ <releaseinfo>$FreeBSD$</releaseinfo> <abstract> - <para>Questo documento cercherà di aiutarvi ad usare il nuovo + <para>Questo documento cercherà di aiutarvi ad usare il nuovo simbolo dell'<keycap>Euro</keycap> presente sulla vostra nuova tastiera comprata all'inizio del 2002 per l'avvento della nuova valuta comune. - Inizieremo dalle parti più importanti come essere in grado di + Inizieremo dalle parti più importanti come essere in grado di visualizzare correttamente il simbolo in console. Le sezioni successive tratteranno la configurazione di specifici programmi come <application>X11</application>.</para> @@ -67,7 +67,7 @@ <sect1> <title>L'Euro in 5 minuti</title> - <para>Se avete già familiarità con la + <para>Se avete già familiarità con la <ulink url="&url.books.handbook;/l10n.html">localization</ulink> come descritta nel Manuale di <systemitem class="osname">FreeBSD</systemitem> potreste essere interessanti solamente alle seguenti informazioni che @@ -78,8 +78,8 @@ <term>ISO8859-15</term> <listitem> - <para>Questa è una versione leggermente modificata della - più comune mappa caratteri ISO8859-1. + <para>Questa è una versione leggermente modificata della + più comune mappa caratteri ISO8859-1. Include il simbolo dell'Euro. Usata per le variabili d'ambiente <envar>LANG</envar> e <envar>LC_CTYPE</envar>.</para> </listitem> @@ -138,17 +138,17 @@ <para>Nelle sezioni seguenti ci riferiremo spesso a <emphasis>ISO8859-15</emphasis>. - Questa è la notazione standard a partire da + Questa è la notazione standard a partire da <systemitem class="osname">FreeBSD</systemitem> 4.5. - Nelle versioni più vecchie la notazione standard era invece + Nelle versioni più vecchie la notazione standard era invece <emphasis>ISO_8859-15</emphasis> oppure <emphasis>DIS_8859-15</emphasis>.</para> <para>Se state usando una versione di - <systemitem class="osname">FreeBSD</systemitem> più vecchia, + <systemitem class="osname">FreeBSD</systemitem> più vecchia, assicuratevi di guardare in <filename>/usr/share/locale/</filename> per scoprire quale notazione - è in uso nel vostro sistema.</para> + è in uso nel vostro sistema.</para> </sect1> <sect1 id="console"> @@ -165,14 +165,14 @@ font8x14="iso15-8x14.fnt" font8x8="iso15-8x8.fnt"</programlisting> - <para>Questo imposterà effettivamente il font ISO8859-15 conosciuto - anche come Latin-9. ISO8859-15 è una variazione di ISO8859-1. + <para>Questo imposterà effettivamente il font ISO8859-15 conosciuto + anche come Latin-9. ISO8859-15 è una variazione di ISO8859-1. Potete notare la differenza tra i due esaminando il simbolo dell'Euro: - il suo valore decimale è 164. Nell'ISO8859-1 noterete un - cerchietto con quattro piccoli segnetti agli angoli. Questo è + il suo valore decimale è 164. Nell'ISO8859-1 noterete un + cerchietto con quattro piccoli segnetti agli angoli. Questo è spesso chiamato <quote>simbolo universale di valuta</quote>. Nell'ISO8859-15, invece del cerchietto, avrete il simbolo dell'Euro. - Per il resto i font sono più o meno identici.</para> + Per il resto i font sono più o meno identici.</para> <warning> <para>Al momento della stesura di questo articolo l'unico font @@ -184,22 +184,22 @@ font8x8="iso15-8x8.fnt"</programlisting> <note> <para>Impostando questo font alcune applicazioni da console avranno un aspetto <quote>rovinato</quote>. - Questo è dovuto al fatto che esse si + Questo è dovuto al fatto che esse si aspettano di trovare un diverso set di font/caratteri come per esempio - l'ANSI 850. Un tipico esempio è + l'ANSI 850. Un tipico esempio è <application>sysinstall</application>. Comunque questo non dovrebbe essere un problema nella maggior parte dei casi.</para> </note> <para>Il vostro prossimo passo dovrebbe essere o riavviare il vostro - sistema affinché i cambiamenti abbiano effetto oppure + sistema affinché i cambiamenti abbiano effetto oppure (manualmente) effettuare le modifiche nello stesso modo in cui avverrebbero all'avvio:</para> <screen>&prompt.user; <userinput>vidcontrol -f <replaceable>iso15-8x16.fnt</replaceable></userinput></screen> - <para>Per controllare se il font è stato impostato eseguite il + <para>Per controllare se il font è stato impostato eseguite il seguente piccolo script <command><anchor id="awk-test"/>awk</command>:</para> @@ -216,7 +216,7 @@ BEGIN { <sect2> <title>Configurare la vostra tastiera per l'Euro</title> - <para>La maggior parte delle mappe di tastiera dovrebbe essere già + <para>La maggior parte delle mappe di tastiera dovrebbe essere già correttamente impostata. Per esempio, se avete una tastiera italiana e vi funzionano le lettere accentate, potete tranquillamente saltare questa sezione visto che la tastiera mappa correttamente la @@ -225,20 +225,20 @@ BEGIN { <keycap>Alt Gr</keycap> <keycap>e</keycap> </keycombo>) al valore decimale 164. - Se avete problemi la cosa migliore è controllare i file in + Se avete problemi la cosa migliore è controllare i file in <filename>/usr/share/syscons/keymaps/*.kbd</filename>. - Il formato dei file delle mappe di tastiera è descritto in - &man.keyboard.4;. &man.kbdcontrol.1; può essere usato per + Il formato dei file delle mappe di tastiera è descritto in + &man.keyboard.4;. &man.kbdcontrol.1; può essere usato per caricare una mappa personalizzata.</para> - <para>Una volta che è stata trovata la corretta mappa di tastiera, + <para>Una volta che è stata trovata la corretta mappa di tastiera, dovete aggiungerla a <filename>/etc/rc.conf</filename> con la linea:</para> <programlisting>keymap="<replaceable>it.iso</replaceable>" # o un'altra mappa</programlisting> <para>Come spiegato in precedenza, questo passo probabilmente lo avete - già fatto al momento dell'installazione (con + già fatto al momento dell'installazione (con <application>sysinstall</application>). In caso contrario, riavviate oppure caricate la nuova mappa con &man.kbdcontrol.1;.</para> @@ -265,7 +265,7 @@ BEGIN { &man.readline.3;, la quale a sua volta utilizza la variabile d'ambiente <envar>LC_CTYPE</envar>. <envar>LC_CTYPE</envar> deve essere impostata prima che la shell sia completamente operativa. - Fortunatamente è sufficiente aggiungere la linea:</para> + Fortunatamente è sufficiente aggiungere la linea:</para> <programlisting>export LC_CTYPE=<replaceable>it_IT</replaceable>.ISO8859-15</programlisting> @@ -279,7 +279,7 @@ BEGIN { <replaceable>it_IT</replaceable> deve essere sostituito con la vostra lingua. Poi, sloggatevi e riloggatevi nuovamente, e verificate che il tasto Euro funzioni. - Già così la maggior parte delle applicazioni console + Già così la maggior parte delle applicazioni console dovrebbe funzionare correttamente col tasto Euro. Ulteriori configurazioni per programmi speciali come <application>pine</application> potrebbero essere comunque @@ -287,7 +287,7 @@ BEGIN { <note> <para>Un'alternativa alla modifica di <filename>.login</filename> e - <filename>.bash_profile</filename> è quella di impostare le + <filename>.bash_profile</filename> è quella di impostare le variabili d'ambiente tramite &man.login.conf.5;. Questo approccio ha il vantaggio di assegnare classi di login a determinati utenti (esempio, utenti Francesi, utenti Tedeschi, ecc.) @@ -306,7 +306,7 @@ BEGIN { <programlisting>Option "XkbLayout" "<replaceable>it</replaceable>(euro)"</programlisting> <para>Come sempre, rimpiazzate <replaceable>it</replaceable> con la - vostra lingua. Così facendo la tastiera dovrebbe essere + vostra lingua. Così facendo la tastiera dovrebbe essere configurata correttamente. Come in console, deve essere scelto il font adatto. Per le applicazioni <application>KDE</application> andate in <application>KDE control center</application> -> @@ -315,12 +315,12 @@ BEGIN { Simili modifiche si devono effettuare per <application>kmail</application> e altre applicazioni.</para> - <para>Un'altra buona idea è modificare i vostri file + <para>Un'altra buona idea è modificare i vostri file <filename>fonts.alias</filename>. In particolar modo il font <literal>fixed</literal> dovrebbe essere modificato per usare la giusta mappa caratteri. Il file <filename>/usr/X11R6/lib/X11/fonts/misc/fonts.alias</filename> - dell'autore è mostrato come esempio:</para> + dell'autore è mostrato come esempio:</para> <programlisting>! $Xorg: fonts.alias,v 1.3 2000/08/21 16:42:31 coskrey Exp $ fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15 @@ -329,8 +329,8 @@ variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15 <para>Come in console, applicazioni speciali hanno ancora i font ISO8859-1 configurati nei loro rispettivi database &man.xrdb.1;. - Un esempio importante è <application>xterm</application>. - Come regola generale è sufficiente cambiare il corrispondente file + Un esempio importante è <application>xterm</application>. + Come regola generale è sufficiente cambiare il corrispondente file di configurazione in <filename>/usr/X11R6/lib/X11/app-defaults</filename> e aggiungere il font corretto. Ecco come fare per diff --git a/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml b/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml index ec0768fb05..b3f518a05f 100644 --- a/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml +++ b/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml @@ -42,36 +42,36 @@ <releaseinfo>$FreeBSD$</releaseinfo> <abstract> - <para>Nel mondo open source, la parola <quote>Linux</quote> è quasi + <para>Nel mondo open source, la parola <quote>Linux</quote> è quasi sinonimo di <quote>Sistema Operativo</quote>, ma non si tratta del solo sistema operativo &unix; open source. Secondo l'<ulink url="http://www.leb.net/hzo/ioscount/data/r.9904.txt">Internet Operating System Counter</ulink>, ad Aprile del 1999 il 31.3% delle macchine connesse in rete ha in esecuzione Linux. Il 14.6% fa girare BSD &unix;. - Alcuni dei più grandi operatori del web, come <ulink + Alcuni dei più grandi operatori del web, come <ulink url="http://www.yahoo.com/">Yahoo!</ulink>, usano BSD. Il server - FTP più affollato del mondo nel 1999 (ora defunto), <ulink + FTP più affollato del mondo nel 1999 (ora defunto), <ulink url="ftp://ftp.cdrom.com/">ftp.cdrom.com</ulink>, usa BSD per - trasferire 1.4 TB di dati al giorno. Chiaramente questo non è - un mercato di nicchia: BSD è un segreto ben mantenuto.</para> + trasferire 1.4 TB di dati al giorno. Chiaramente questo non è + un mercato di nicchia: BSD è un segreto ben mantenuto.</para> - <para>Dunque, qual è il segreto? Perché BSD non è + <para>Dunque, qual è il segreto? Perché BSD non è conosciuto meglio? Questo documento risponde a questa e ad altre domande.</para> <para>In questo documento, le differenze tra BSD e Linux verranno - evidenziate <emphasis>così</emphasis>.</para> + evidenziate <emphasis>così</emphasis>.</para> &trans.it.surrender; </abstract> </articleinfo> <sect1 id="what-is-bsd"> - <title>Cos'è BSD?</title> + <title>Cos'è BSD?</title> - <para>BSD sta per <quote>Berkeley Software Distribution</quote>. È - il nome delle distribuzioni di codice sorgente dell'Università + <para>BSD sta per <quote>Berkeley Software Distribution</quote>. È + il nome delle distribuzioni di codice sorgente dell'Università della California, Berkeley, che erano originariamente estensioni al sistema operativo &unix; del settore Ricerca della AT&T. Molti progetti open source di sistemi operativi sono basati @@ -94,12 +94,12 @@ <listitem> <para>La libreria C, le API di base per il sistema.</para> - <para><emphasis>La libreria C BSD è basata su codice proveniente + <para><emphasis>La libreria C BSD è basata su codice proveniente da Berkeley, non dal progetto GNU.</emphasis></para> </listitem> <listitem> - <para>Utilità come shell, file manager, compilatori e + <para>Utilità come shell, file manager, compilatori e linker.</para> <para><emphasis>Alcune delle applicazioni derivano dal @@ -113,13 +113,13 @@ BSD viene mantenuto da uno dei due progetti separati, il <ulink url="http://www.XFree86.org/">progetto &xfree86;</ulink> e il <ulink url="http://www.X.org/">progetto X.Org</ulink>. - Questo è lo stesso codice usato da Linux. BSD in genere non + Questo è lo stesso codice usato da Linux. BSD in genere non specifica un <quote>desktop grafico</quote> come GNOME o KDE, anche se questi sono disponibili.</para> </listitem> <listitem> - <para>Molti altri programmi ed utilità.</para> + <para>Molti altri programmi ed utilità.</para> </listitem> </itemizedlist> </sect1> @@ -128,41 +128,41 @@ <title>Cosa, un vero &unix;?</title> <para>I sistemi operativi BSD non sono cloni, ma derivati open source - del sistema operativo &unix; dell'AT&T Research, che è anche + del sistema operativo &unix; dell'AT&T Research, che è anche l'antenato del moderno &unix; System V. Questo potrebbe sorprendere. - Come è potuto accadere questo, se la AT&T non ha mai rilasciato + Come è potuto accadere questo, se la AT&T non ha mai rilasciato il suo codice come open source?</para> - <para>È vero che lo &unix; AT&T non è open source, e nel - senso del copyright BSD in definitiva <emphasis>non è</emphasis> + <para>È vero che lo &unix; AT&T non è open source, e nel + senso del copyright BSD in definitiva <emphasis>non è</emphasis> &unix;, ma d'altro canto l'AT&T ha importato sorgenti da altri progetti, in maniera rilevante dal Computer Sciences Research Group - dell'Università della California a Berkeley, CA. Iniziato nel + dell'Università della California a Berkeley, CA. Iniziato nel 1976, il CSRG ha iniziato a rilasciare nastri con il loro software, chiamandolo <emphasis>Berkeley Software Distribution</emphasis> o <emphasis>BSD</emphasis>.</para> <para>Le versioni iniziali di BSD consistevano principalmente di programmi - utente, ma questo cambiò drammaticamente quando il CSRG + utente, ma questo cambiò drammaticamente quando il CSRG sottoscrisse un contratto con la Defense Advanced Projects Research Agency (DARPA) per migliorare i protocolli di comunicazione della loro rete, ARPANET. I nuovi protocolli furono conosciuti come <emphasis>Internet Protocols</emphasis>, e in seguito come <emphasis>TCP/IP</emphasis>, ai nomi dei protocolli - più importanti. La prima implementazione distribuita in maniera + più importanti. La prima implementazione distribuita in maniera estesa fu parte di 4.2BSD, nel 1982.</para> <para>Nel corso degli '80, sorsero un certo numero di compagnie che producevano workstation. Molti preferirono usare &unix; su licenza piuttosto che sviluppare da soli un nuovo sistema operativo. - In particolare, la Sun Microsystems rilicenziò &unix; ed - implementò una versione commerciale di 4.2BSD, che chiamò + In particolare, la Sun Microsystems rilicenziò &unix; ed + implementò una versione commerciale di 4.2BSD, che chiamò SunOS. Quando alla AT&T stessa fu permesso di vendere &unix; commercialmente, cominciarono con una implementazione ridotta all'osso nota come System III, presto seguita da System V. Il codice fondamentale di System V non comprendeva la parte di rete, dunque tutte le implementazioni includevano software addizionale tratto - da BSD, incluso il software legato al TCP/IP, ma anche utilità come + da BSD, incluso il software legato al TCP/IP, ma anche utilità come la shell <emphasis>csh</emphasis> e l'editor <emphasis>vi</emphasis>. Complessivamente, questi miglioramenti furono conosciuti come le <emphasis>Estensioni Berkeley</emphasis>.</para> @@ -172,17 +172,17 @@ si stava esaurendo, e se ne stava per affrontare la chiusura. Alcuni membri del gruppo decisero di rilasciare il codice BSD, che era Open Source, senza il codice proprietario della AT&T. - Ciò accadde infine con il <emphasis>Networking Tape 2</emphasis>, + Ciò accadde infine con il <emphasis>Networking Tape 2</emphasis>, in genere noto come <emphasis>Net/2</emphasis>. Net/2 non era un sistema operativo completo: mancava circa il 20% del codice del kernel. Uno dei membri del CSRG, William F. Jolitz, scrisse il codice rimanente e lo - rilasciò all'inizio del 1992 come <emphasis>386BSD</emphasis>. - Allo stesso tempo, un altro gruppo di ex membri del CSRG formò una + rilasciò all'inizio del 1992 come <emphasis>386BSD</emphasis>. + Allo stesso tempo, un altro gruppo di ex membri del CSRG formò una compagnia chiamata <ulink url="http://www.bsdi.com/">Berkeley Software - Design Inc.</ulink> e rilasciò una versione beta di un sistema + Design Inc.</ulink> e rilasciò una versione beta di un sistema operativo chiamato <ulink url="http://www.bsdi.com/">BSD/386</ulink>, che era basato sugli stessi sorgenti. Il nome del sistema operativo - è cambiato di recente in BSD/OS.</para> + è cambiato di recente in BSD/OS.</para> <para>386BSD non divenne mai un sistema operativo stabile. Invece, due altri progetti se ne distaccarono nel 1993: @@ -190,46 +190,46 @@ <ulink url="&url.base;/index.html">FreeBSD</ulink>. I due progetti presero inizialmente direzioni divergenti, a causa della differente pazienza nell'attendere miglioramenti a - 386BSD: la gente di NetBSD cominciò all'inizio dell'anno, + 386BSD: la gente di NetBSD cominciò all'inizio dell'anno, e la prima versione di FreeBSD non fu pronta fino alla fine dell'anno. Nel frattempo, i codici erano diventati abbastanza differenti da renderne difficile la fusione. Inoltre, i progetti avevano obiettivi differenti, come vedremo in seguito. Nel 1996, - <ulink url="http://www.OpenBSD.org/">OpenBSD</ulink> si ramificò + <ulink url="http://www.OpenBSD.org/">OpenBSD</ulink> si ramificò da NetBSD, e nel 2003, <ulink url="http://www.dragonflybsd.org/">DragonFlyBSD</ulink> si - ramificò da FreeBSD.</para> + ramificò da FreeBSD.</para> </sect1> <sect1 id="why-is-bsd-not-better-known"> - <title>Perché BSD non è più conosciuto?</title> + <title>Perché BSD non è più conosciuto?</title> - <para>Per un certo numero di ragioni, BSD è relativamente + <para>Per un certo numero di ragioni, BSD è relativamente sconosciuto:</para> <orderedlist> <listitem> - <para>Gli sviluppatori BSD sono spesso più interessati - a ripulire il loro codice che a fagli pubblicità.</para> + <para>Gli sviluppatori BSD sono spesso più interessati + a ripulire il loro codice che a fagli pubblicità.</para> </listitem> <listitem> - <para>Molta della popolarità di Linux è dovuta a fattori + <para>Molta della popolarità di Linux è dovuta a fattori esterni al progetto Linux, come la stampa, e le compagnie formate per fornire servizi relativi a Linux. Fino a poco tempo fa, la varie versioni di BSD open source non avevano tali spinte.</para> </listitem> <listitem> - <para>Gli sviluppatori BSD tendono ad avere più esperienza + <para>Gli sviluppatori BSD tendono ad avere più esperienza di quelli di Linux, ed hanno meno interesse nel rendere il sistema facile da usare. - I nuovi arrivati tendono a sentirsi più a loro agio con + I nuovi arrivati tendono a sentirsi più a loro agio con Linux.</para> </listitem> <listitem> - <para>Nel 1992, l'AT&T citò in giudizio + <para>Nel 1992, l'AT&T citò in giudizio <ulink url="http://www.bsdi.com/">BSDI</ulink>, il produttore di BSD/386, sostenendo che il prodotto conteneva codice sotto copyright della AT&T. Il caso fu risolto in @@ -248,10 +248,10 @@ </listitem> <listitem> - <para>C'è una certa percezione che il progetto BSD sia + <para>C'è una certa percezione che il progetto BSD sia frammentato e belligerante. Il <ulink url="http://interactive.wsj.com/bin/login?Tag=/&URI=/archive/retrieve.cgi%253Fid%253DSB952470579348918651.djm&">Wall - Street Journal</ulink> parlò di + Street Journal</ulink> parlò di <quote>balcanizzazione</quote> dei progetti BSD. Come per l'azione legale, questa percezione si basa principalmente su vecchie storie.</para> @@ -262,8 +262,8 @@ <sect1 id="comparing-bsd-and-linux"> <title>Paragone tra BSD e Linux</title> - <para>Dunque qual'è l'effettiva differenza tra, diciamo, Debian - Linux e FreeBSD? Per l'utente medio, la differenza è + <para>Dunque qual'è l'effettiva differenza tra, diciamo, Debian + Linux e FreeBSD? Per l'utente medio, la differenza è sorprendentemente piccola: entrambi sono sistemi operativi tipo &unix;. Entrambi vengono sviluppati da progetti non commerciali (questo non si applica a molte altre distribuzioni di Linux, ovviamente). Nella sezione @@ -275,8 +275,8 @@ <sect2> <title>Chi possiede BSD?</title> - <para>Nessuna persona o società possiede BSD. Esso è creato - e distribuito da una comunità di persone con grande preparazione + <para>Nessuna persona o società possiede BSD. Esso è creato + e distribuito da una comunità di persone con grande preparazione tecnica e voglia di fare che contribuiscono da tutto il mondo. Alcuni dei componenti di BSD sono progetti open source a se stanti gestiti da diversi responsabili.</para> @@ -301,9 +301,9 @@ <itemizedlist> <listitem> <para>I <firstterm>contributor</firstterm> scrivono codice o - documentazione. Non gli è permesso di effettuare il commit + documentazione. Non gli è permesso di effettuare il commit (aggiungere codice) direttamente all'albero dei sorgenti. - Affinché il loro codice sia incluso nel sistema, esso + Affinché il loro codice sia incluso nel sistema, esso deve essere rivisto e controllato da uno sviluppatore registrato, noto come <emphasis>committer</emphasis>.</para> </listitem> @@ -312,24 +312,24 @@ <para>I <firstterm>committer</firstterm> sono sviluppatori con accesso in scrittura all'albero dei sorgenti. Per poter divenire un committer, un individuo deve dimostrare - abilità nell'area nella quale è attivo.</para> + abilità nell'area nella quale è attivo.</para> <para> - È a discrezione del committer la volontà di + È a discrezione del committer la volontà di confrontarsi con qualcuno prima di effettuare cambiamenti. In - generale, un committer con esperienza può effettuare + generale, un committer con esperienza può effettuare cambiamenti che sono ovviamente corretti senza interrogare nessuno. - Ad esempio, un committer del progetto di documentazione può + Ad esempio, un committer del progetto di documentazione può correggere errori tipografici o grammaticali senza un confronto con altri. D'altro canto, dagli sviluppatori che stanno per effettuare cambiamenti profondi o complessi ci si aspetta che sottopongano i cambiamenti a revisione prima di renderli effettivi. In casi estremi, un membro del core team, con una funzione simile a un Capo - Architetto, può ordinare che i cambiamenti siano rimossi + Architetto, può ordinare che i cambiamenti siano rimossi dall'albero, un processo noto come <firstterm>marcia indietro</firstterm>. Tutti i committer ricevono una lettera che descrive ogni - modifica individuale, dunque non è possibile effettuare un + modifica individuale, dunque non è possibile effettuare un commit segretamente.</para> </listitem> @@ -337,11 +337,11 @@ <para>Il <firstterm>Core Team</firstterm>. FreeBSD e NetBSD hanno ognuno un core team che gestisce il progetto. I core team si sono modificati nel corso del progetto, ed i loro - ruoli non sempre sono ben definiti. Non è necessario essere - uno sviluppatore per far parte del core team, anche se è - normale che sia così. Le regole + ruoli non sempre sono ben definiti. Non è necessario essere + uno sviluppatore per far parte del core team, anche se è + normale che sia così. Le regole per il core team variano da un progetto ad un altro, ma in - generale chi ne fa parte ha più autorità + generale chi ne fa parte ha più autorità nell'indirizzamento del progetto rispetto agli altri membri.</para> </listitem> </itemizedlist> @@ -351,15 +351,15 @@ <orderedlist> <listitem> <para>Nessuna persona controlla il contenuto del sistema. In - pratica, questa differenza è sopravvalutata, poiché - il Capo Architetto può richiedere che il codice sia + pratica, questa differenza è sopravvalutata, poiché + il Capo Architetto può richiedere che il codice sia rimosso, ed anche nel progetto Linux viene permesso a molte persone di effettuare cambiamenti.</para> </listitem> <listitem> - <para>D'altra parte, <emphasis>c'è</emphasis> un deposito - centrale, un punto singolo dove è possibile trovare i + <para>D'altra parte, <emphasis>c'è</emphasis> un deposito + centrale, un punto singolo dove è possibile trovare i sorgenti dell'intero sistema, incluse tutte le vecchie versioni.</para> </listitem> @@ -367,7 +367,7 @@ <listitem> <para>I progetti BSD mantengono l'intero <quote>Sistema Operativo</quote>, non solo il kernel. Questa distinzione - è utile solo marginalmente: né BSD né Linux + è utile solo marginalmente: né BSD né Linux sono utili senza applicazioni. Le applicazioni usate su BSD sono spesso le stesse usate su Linux.</para> </listitem> @@ -375,10 +375,10 @@ <listitem> <para>Come risultato di un mantenimento formalizzato di un singolo CVS per l'albero dei sorgenti, lo sviluppo di BSD - è chiaro, ed è possibile accedere ad ogni versione del + è chiaro, ed è possibile accedere ad ogni versione del sistema dal numero di release o dalla data. Il CVS permette anche aggiornamenti incrementali del sistema: ad - esempio, il repository di FreeBSD viene aggiornato più o meno + esempio, il repository di FreeBSD viene aggiornato più o meno 100 volte al giorno. La maggior parte dei cambiamenti sono piccoli.</para> </listitem> @@ -395,7 +395,7 @@ <orderedlist> <listitem> - <para>la versione di sviluppo del sistema è chiamata + <para>la versione di sviluppo del sistema è chiamata <firstterm>CURRENT</firstterm>. FreeBSD assegna un numero alla CURRENT, ad esempio FreeBSD 5.0-CURRENT. NetBSD usa uno schema di denominazione leggermente differente @@ -411,8 +411,8 @@ progetti fanno uscire una versione <firstterm>RELEASE</firstterm> del sistema, disponibile su CD-ROM e come libero download da siti FTP, ad esempio OpenBSD 2.6-RELEASE o NetBSD 1.4-RELEASE. - La versione RELEASE è intesa per gli utenti finali ed - è la versione normale del sistema. NetBSD fornisce anche + La versione RELEASE è intesa per gli utenti finali ed + è la versione normale del sistema. NetBSD fornisce anche <emphasis>patch release</emphasis>, versioni con solo piccole correzioni, con una terza cifra, ad esempio NetBSD 1.4.2.</para> </listitem> @@ -431,10 +431,10 @@ differenti: la versione stabile e la versione di sviluppo. Le versioni stabili hanno un numero di versione pari, come 2.0, 2.2 o 2.4. Le versioni di sviluppo hanno numero di versione dispari, come - 2.1, 2.3 o 2.5. In ogni caso, il numero è seguito da un + 2.1, 2.3 o 2.5. In ogni caso, il numero è seguito da un ulteriore numero che indica la versione esatta. Inoltre, ogni - venditore aggiunge i suoi programmi utente o le sue utilità, - dunque anche il nome della distribuzione è importante. Ogni + venditore aggiunge i suoi programmi utente o le sue utilità, + dunque anche il nome della distribuzione è importante. Ogni venditore di distribuzione assegna anche un numero di versione alla distribuzione, dunque una descrizione completa dovrebbe essere una cosa del tipo <quote>TurboLinux 6.0 con kernel @@ -450,27 +450,27 @@ divergenze tra i codici dei programmi utente dei vari progetti di quante ce ne siano in Linux.</para> - <para>È difficile catalogare gli obiettivi di ogni progetto: + <para>È difficile catalogare gli obiettivi di ogni progetto: le differenze sono molto soggettive. Di base,</para> <itemizedlist> <listitem> - <para>FreeBSD punta alle alte prestazioni e alla facilità d'uso - per l'utente finale, ed è molto usato dai fornitori di + <para>FreeBSD punta alle alte prestazioni e alla facilità d'uso + per l'utente finale, ed è molto usato dai fornitori di contenuti web. Funziona su diverse piattaforme, inclusi i sistemi basati su i386 (<quote>PC</quote>), i sistemi basati sui processori AMD a 64-bit, i sistemi basati su &ultrasparc;, i sistemi basati su processori Alpha della Compaq e i sistemi basati sulle specifiche - NEC PC-98. Il progetto FreeBSD ha nettamente più utenti degli + NEC PC-98. Il progetto FreeBSD ha nettamente più utenti degli altri.</para> </listitem> <listitem> - <para>NetBSD punta alla massima portabilità: <quote>of course + <para>NetBSD punta alla massima portabilità: <quote>of course it runs NetBSD</quote>, ovviamente ci gira NetBSD. Funziona su macchine che vanno dai palmtop ai grossi - server, ed è anche stato usato dalla NASA in alcune missioni - spaziali. È una scelta particolarmente buona per il vecchio + server, ed è anche stato usato dalla NASA in alcune missioni + spaziali. È una scelta particolarmente buona per il vecchio hardware non Intel.</para> </listitem> @@ -485,10 +485,10 @@ </listitem> <listitem> - <para>DragonFlyBSD punta ad alte prestazioni e scalabilità sotto + <para>DragonFlyBSD punta ad alte prestazioni e scalabilità sotto qualsiasi sistema dal singolo sistema mono-processore al sistema massicciamente clasterizzato. DragonFlyBSD ha diversi obbiettivi a - lungo termine, anche se è concentrato nel fornire un'infrastruttura + lungo termine, anche se è concentrato nel fornire un'infrastruttura SMP facile da capire, mantenere e sviluppare.</para> </listitem> </itemizedlist> @@ -498,24 +498,24 @@ <itemizedlist> <listitem> - <para>BSD/OS fu il pù antico dei derivati di 4.4BSD. + <para>BSD/OS fu il pù antico dei derivati di 4.4BSD. Non fu open source, anche se le licenze per il codice sorgente erano disponibili ad un costo relativamente basso. Per molti aspetti assomiglia a FreeBSD. Due anni dopo l'acquisizione di BSDi da parte di Wind River Systems, BSD/OS non riuscii a sopravvivere come prodotto indipendete. Supporto e codice sorgente sono ancora disponibili da Wind River, - anche se tutto il nuovo sviluppo è concentrato sul + anche se tutto il nuovo sviluppo è concentrato sul sistema operativo embedded VxWorks.</para> </listitem> <listitem> <para><ulink url="http://www.apple.com/macosx/server/">&macos; - X</ulink> è l'ultima versione del sistema operativo per + X</ulink> è l'ultima versione del sistema operativo per la linea &macintosh; della <ulink url="http://www.apple.com/">Apple Computer Inc.</ulink>. L'anima BSD &unix; di questo sistema operativo, <ulink - url="http://developer.apple.com/darwin/">Darwin</ulink>, è + url="http://developer.apple.com/darwin/">Darwin</ulink>, è disponibile come un sistema operativo open source completamente funzionante per computer x86 e PPC. Il sistema grafico Aqua/Quartz e molti altri aspetti proprietari di &macos; X rimangono comunque @@ -528,37 +528,37 @@ <sect2> <title>Come differisce la licenza BSD dalla GNU Public?</title> - <para>Linux è disponibile con licenza <ulink + <para>Linux è disponibile con licenza <ulink url="http://www.fsf.org/copyleft/gpl.html">GNU General Public - License</ulink> (GPL), che è pensata per eliminare il software + License</ulink> (GPL), che è pensata per eliminare il software closed source. In particolare, ogni lavoro derivante da un prodotto rilasciato sotto GPL deve essere fornito anche con il codice sorgente, se richiesto. Al contrario, la <ulink url="http://www.opensource.org/licenses/bsd-license.html">licenza - BSD</ulink> è meno restrittiva: le distribuzioni dei soli - binari sono permesse. Ciò è particolarmente attraente per + BSD</ulink> è meno restrittiva: le distribuzioni dei soli + binari sono permesse. Ciò è particolarmente attraente per le applicazioni embedded.</para> </sect2> <sect2> <title>Cos'altro dovrei sapere?</title> - <para>Poiché sono disponibili meno applicazioni per BSD che per + <para>Poiché sono disponibili meno applicazioni per BSD che per Linux, gli sviluppatori BSD hanno creato un pacchetto di - compatibilità con Linux, che permette ai programmi per Linux di + compatibilità con Linux, che permette ai programmi per Linux di funzionare su BSD. Il pacchetto include sia modifiche al kernel, in modo da permettere l'esecuzione corretta di chiamate di sistema - Linux, che file di compatibilità, come la libreria C. Non - c'è una differenza notevole nella velocità di esecuzione + Linux, che file di compatibilità, come la libreria C. Non + c'è una differenza notevole nella velocità di esecuzione tra una applicazione in esecuzione su una macchina Linux ed una applicazione in esecuzione su una macchina BSD con pari caratteristiche.</para> - <para>La natura <quote>tutto da una sola fonte</quote> di BSD fa sì - che gli aggiornamenti siano molto più semplici da gestire + <para>La natura <quote>tutto da una sola fonte</quote> di BSD fa sì + che gli aggiornamenti siano molto più semplici da gestire rispetto alla maggior parte dei casi in Linux. BSD gestisce gli aggiornamenti della versione di libreria fornendo moduli di - compatibilità per le versioni precedenti, dunque è + compatibilità per le versioni precedenti, dunque è possibile eseguire binari di parecchi anni prima senza problemi.</para> </sect2> @@ -568,49 +568,49 @@ <para>Cosa significa tutto questo in pratica? Chi dovrebbe usare BSD, chi dovrebbe usare Linux?</para> - <para>Questa è una domanda molto difficile a cui rispondere. Qui + <para>Questa è una domanda molto difficile a cui rispondere. Qui ci sono alcune linee guida:</para> <itemizedlist> <listitem> - <para><quote>Se non è rotto, non aggiustarlo</quote>: se usi - già un sistema operativo open source, e ne sei soddisfatto, - probabilmente non c'è ragione di cambiare.</para> + <para><quote>Se non è rotto, non aggiustarlo</quote>: se usi + già un sistema operativo open source, e ne sei soddisfatto, + probabilmente non c'è ragione di cambiare.</para> </listitem> <listitem> <para>I sistemi BSD, in particolare FreeBSD, possono avere prestazioni notevolmente migliori di Linux. Ma questo non avviene in tutti i - campi. In molti casi, c'è una differenza minima nelle - prestazioni. In alcuni casi, Linux può comportarsi meglio di + campi. In molti casi, c'è una differenza minima nelle + prestazioni. In alcuni casi, Linux può comportarsi meglio di FreeBSD.</para> </listitem> <listitem> <para>In generale, i sistemi BSD hanno una reputazione migliore di - affidabilità, principalmente come risultato di una base di - codice più maturo.</para> + affidabilità, principalmente come risultato di una base di + codice più maturo.</para> </listitem> <listitem> <para>I progetti BSD hanno una reputazione migliore per quanto - concerne qualità e completezza della loro documentazione. + concerne qualità e completezza della loro documentazione. I diversi progetti di documentazione mirano a fornire attivamente documentazione aggiornata, in molte lingue, e coprendo tutti gli aspetti del sistema.</para> </listitem> <listitem> - <para>La licenza BSD può essere più attraente della + <para>La licenza BSD può essere più attraente della GPL.</para> </listitem> <listitem> - <para>BSD può eseguire la maggior parte dei binari Linux, - mentre Linux non può eseguire i binari BSD. Molte + <para>BSD può eseguire la maggior parte dei binari Linux, + mentre Linux non può eseguire i binari BSD. Molte implementazioni di BSD possono anche eseguire i binari di altri - sistemi di tipo &unix;. Come risultato, BSD può - rappresentare un percorso di migrazione più semplice da + sistemi di tipo &unix;. Come risultato, BSD può + rappresentare un percorso di migrazione più semplice da altri sistemi rispetto a Linux.</para> </listitem> </itemizedlist> diff --git a/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml b/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml index d6f5a5ebf0..abe0c2d1a8 100644 --- a/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml +++ b/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml @@ -40,76 +40,76 @@ <releaseinfo>$FreeBSD$</releaseinfo> <abstract> - <para>Spesso è utile dividere una rete fisica (come una Ethernet) + <para>Spesso è utile dividere una rete fisica (come una Ethernet) in due segmenti separati, senza dover creare sottoreti e usare un router per collegarli assieme. Il dispositivo che collega due reti insieme in - questo modo è chiamato bridge. Un sistema FreeBSD con due - interfacce di rete è sufficiente per raggiungere lo scopo.</para> + questo modo è chiamato bridge. Un sistema FreeBSD con due + interfacce di rete è sufficiente per raggiungere lo scopo.</para> <para>Un bridge funziona individuando gli indirizzi del livello <acronym>MAC</acronym> (indirizzi Ethernet) dei dispositivi collegati ad ognuna delle sue interfacce di rete e inoltrando il traffico tra le due reti solo se il mittente e il destinatario si trovano su segmenti - differenti. Sotto molti punti di vista un brigde è simile a uno + differenti. Sotto molti punti di vista un brigde è simile a uno switch Ethernet con solo due porte.</para> </abstract> </articleinfo> <sect1 id="filtering-bridges-why"> - <title>Perché usare un filtering bridge?</title> + <title>Perché usare un filtering bridge?</title> - <para>Sempre più frequentemente, grazie all'abbassamento dei costi + <para>Sempre più frequentemente, grazie all'abbassamento dei costi delle connessioni a banda larga (xDSL) e a causa della riduzione del - numero di indirizzi IPv4 disponibili, molte società si ritrovano + numero di indirizzi IPv4 disponibili, molte società si ritrovano collegate ad Internet 24 ore su 24 e con un numero esiguo (a volte nemmeno una potenza di 2) di indirizzi IP. In situazioni come queste spesso - è desiderabile avere un firewall che regoli i permessi di ingresso + è desiderabile avere un firewall che regoli i permessi di ingresso e uscita per il traffico da e verso Internet, ma una soluzione basata - sulle funzionalità di packet filtering dei router può non + sulle funzionalità di packet filtering dei router può non essere applicabile, vuoi per problemi di suddivisione delle sottoreti, - vuoi perché il router è di proprietà del fornitore di - accesso (<acronym>ISP</acronym>), vuoi perché il router non - supporta tali funzionalità. È in questi casi che l'utilizzo + vuoi perché il router è di proprietà del fornitore di + accesso (<acronym>ISP</acronym>), vuoi perché il router non + supporta tali funzionalità. È in questi casi che l'utilizzo di un filtering bridge diventa altamente consigliato.</para> - <para>Un firewall basato su bridge può essere configurato e inserito + <para>Un firewall basato su bridge può essere configurato e inserito direttamente tra il router xDSL e il vostro hub/switch Ethernet senza alcun problema di assegnazione di indirizzi IP.</para> <note> - <para>La traduzione italiana di <quote>firewall</quote> è + <para>La traduzione italiana di <quote>firewall</quote> è <quote>muro anti incendio</quote>, <emphasis>non</emphasis> <quote>muro di fuoco</quote> come molti pensano. Nel corso - dell'articolo, comunque, manterrò i termini tecnici nella loro + dell'articolo, comunque, manterrò i termini tecnici nella loro lingua originale in modo da non creare confusione o - ambiguità.</para> + ambiguità.</para> </note> </sect1> <sect1 id="filtering-bridges-how"> <title>Metodi d'installazione</title> - <para>Aggiungere le funzionalità di bridge a una macchina FreeBSD non - è difficile. Dalla release 4.5 è possibile caricare tali - funzionalità come moduli anziché dover ricompilare il + <para>Aggiungere le funzionalità di bridge a una macchina FreeBSD non + è difficile. Dalla release 4.5 è possibile caricare tali + funzionalità come moduli anziché dover ricompilare il kernel, semplificando di gran lunga la procedura. Nelle prossime - sottosezioni spiegherò entrambi i metodi di installazione.</para> + sottosezioni spiegherò entrambi i metodi di installazione.</para> <important> <para><emphasis>Non</emphasis> seguite entrambe le istruzioni: le procedure sono <emphasis>a esclusione</emphasis>. Scegliete l'alternativa che meglio si adatta alle vostre esigenze e - capacità.</para> + capacità.</para> </important> - <para>Prima di continuare è necessario assicurarsi di avere almeno - due schede di rete Ethernet che supportino la modalità promiscua + <para>Prima di continuare è necessario assicurarsi di avere almeno + due schede di rete Ethernet che supportino la modalità promiscua sia in ricezione che in trasmissione, difatti devono essere in grado di inviare pacchetti Ethernet con qualunque indirizzo, non solo il loro. Inoltre, per avere un buon rendimento, le schede dovrebbero essere di tipo PCI bus mastering. Le scelte migliori sono ancora le Intel ðerexpress; Pro seguite dalle &tm.3com; 3c9xx subito dopo. Per - comodità nella configurazione del firewall può essere + comodità nella configurazione del firewall può essere utile avere due schede di marche differenti (che usino drivers differenti) in modo da distinguere chiaramente quale interfaccia sia collegata al router e quale alla rete interna.</para> @@ -117,7 +117,7 @@ <sect2 id="filtering-bridges-kernel"> <title>Configurazione del Kernel</title> - <para>Così avete deciso di utilizzare il più vecchio e + <para>Così avete deciso di utilizzare il più vecchio e collaudato metodo di installazione. Per prima cosa bisogna aggiungere le seguenti righe al file di configurazione del kernel:</para> @@ -130,7 +130,7 @@ options IPFIREWALL_VERBOSE</programlisting> seconda il firewall e la terza le funzioni di logging del firewall. </para> - <para>Adesso è necessario compilare e installare il nuovo kernel. + <para>Adesso è necessario compilare e installare il nuovo kernel. Si possono trovare le istruzioni nella sezione <ulink url="&url.books.handbook;/kernelconfig-building.html"> Building and Installing a Custom Kernel</ulink> dell'handbook.</para> @@ -139,16 +139,16 @@ options IPFIREWALL_VERBOSE</programlisting> <sect2 id="filtering-bridges-modules"> <title>Caricamento dei Moduli</title> - <para>Se avete deciso di usare il nuovo e più semplice metodo di - installazione, l'unica cosa da fare è aggiungere la seguente riga + <para>Se avete deciso di usare il nuovo e più semplice metodo di + installazione, l'unica cosa da fare è aggiungere la seguente riga al file <filename>/boot/loader.conf</filename>:</para> <programlisting>bridge_load="YES"</programlisting> - <para>In questo modo all'avvio della macchina verrà caricato + <para>In questo modo all'avvio della macchina verrà caricato insieme al kernel anche il modulo <filename>bridge.ko</filename>. Non - è necessario invece aggiungere una riga per il modulo - <filename>ipfw.ko</filename> in quanto verrà caricato in + è necessario invece aggiungere una riga per il modulo + <filename>ipfw.ko</filename> in quanto verrà caricato in automatico dallo script <filename>/etc/rc.network</filename> dopo aver seguito i passi della prossima sezione.</para> </sect2> @@ -160,11 +160,11 @@ options IPFIREWALL_VERBOSE</programlisting> <para>Prima di riavviare per caricare il nuovo kernel o i moduli richiesti (a seconda del metodo che avete scelto in precedenza), bisogna effettuare alcune modifiche al file <filename>/etc/rc.conf</filename>. La regola di - default del firewall è di rifiutare tutti i pacchetti IP. Per - iniziare attiviamo il firewall in modalità <option>open</option>, + default del firewall è di rifiutare tutti i pacchetti IP. Per + iniziare attiviamo il firewall in modalità <option>open</option>, in modo da verificare il suo funzionamento senza alcun problema di filtraggio pacchetti (nel caso stiate eseguendo questa procedura da - remoto, tale accorgimento vi consentirà di non rimanere + remoto, tale accorgimento vi consentirà di non rimanere erroneamente tagliati fuori dalla rete). Inserite queste linee nel file <filename>/etc/rc.conf</filename>:</para> @@ -174,25 +174,25 @@ firewall_quiet="YES" firewall_logging="YES"</programlisting> <para>La prima riga serve ad attivare il firewall (e a caricare il modulo - <filename>ipfw.ko</filename> nel caso non fosse già compilato nel - kernel), la seconda a impostarlo in modalità + <filename>ipfw.ko</filename> nel caso non fosse già compilato nel + kernel), la seconda a impostarlo in modalità <option>open</option> (come descritto nel file <filename>/etc/rc.firewall</filename>), la terza a non visualizzare il caricamento delle regole e la quarta ad abilitare il supporto per il logging.</para> <para>Per quanto riguarda la configurazione delle interfacce di rete, il - metodo più utilizzato è quello di assegnare un IP a solo una + metodo più utilizzato è quello di assegnare un IP a solo una delle schede di rete, ma il bridge funziona egualmente anche se entrambe o nessuna delle interfacce ha IP settati. In quest'ultimo caso (IP-less) la - macchina bridge sarà ancora più nascosta in quanto - inaccessibile dalla rete: per configurarla occorrerà quindi entrare + macchina bridge sarà ancora più nascosta in quanto + inaccessibile dalla rete: per configurarla occorrerà quindi entrare da console o tramite una terza interfaccia di rete separata dal bridge. A volte all'avvio della macchina qualche programma richiede di accedere alla - rete, per esempio per una risoluzione di dominio: in questo caso è + rete, per esempio per una risoluzione di dominio: in questo caso è necessario assegnare un IP all'interfaccia esterna (quella collegata a Internet, dove risiede il server <acronym>DNS</acronym>), visto che il - bridge verrà attivato alla fine della procedura di avvio. Questo + bridge verrà attivato alla fine della procedura di avvio. Questo vuol dire che l'interfaccia <devicename>fxp0</devicename> (nel nostro caso) deve essere menzionata nella sezione ifconfig del file <filename>/etc/rc.conf</filename>, mentre la <devicename>xl0</devicename> @@ -200,26 +200,26 @@ firewall_logging="YES"</programlisting> che durante la procedura di avvio non si debba accedere a servizi presenti su entrambi i segmenti Ethernet.</para> - <para>C'è un'altra cosa importante da sapere. Quando si utilizza IP - sopra Ethernet ci sono due protocolli Ethernet in uso: uno è IP, - l'altro è <acronym>ARP</acronym>. <acronym>ARP</acronym> permette + <para>C'è un'altra cosa importante da sapere. Quando si utilizza IP + sopra Ethernet ci sono due protocolli Ethernet in uso: uno è IP, + l'altro è <acronym>ARP</acronym>. <acronym>ARP</acronym> permette la conversione dell'indirizzo IP di una macchina nel suo indirizzo - Ethernet (livello <acronym>MAC</acronym>). Affinché due macchine - separate dal bridge riescano a comunicare tra loro è necessario che + Ethernet (livello <acronym>MAC</acronym>). Affinché due macchine + separate dal bridge riescano a comunicare tra loro è necessario che il bridge lasci passare i pacchetti <acronym>ARP</acronym>. Tale - protocollo non fa parte del livello IP, visto che è presente solo + protocollo non fa parte del livello IP, visto che è presente solo con IP sopra Ethernet. Il firewall di FreeBSD agisce esclusivamente sul livello IP e quindi tutti i pacchetti non IP (compreso <acronym>ARP</acronym>) verranno inoltrati senza essere filtrati, anche se - il firewall è configurato per non lasciar passare nulla.</para> + il firewall è configurato per non lasciar passare nulla.</para> - <para>Ora è arrivato il momento di riavviare la macchina e usarla + <para>Ora è arrivato il momento di riavviare la macchina e usarla come in precedenza: appariranno dei nuovi messaggi riguardo al bridge e al - firewall, ma il bridge non sarà attivato e il firewall, essendo in - modalità <option>open</option>, non impedirà nessuna + firewall, ma il bridge non sarà attivato e il firewall, essendo in + modalità <option>open</option>, non impedirà nessuna operazione.</para> - <para>Se ci dovessero essere dei problemi, è il caso di scoprire ora + <para>Se ci dovessero essere dei problemi, è il caso di scoprire ora da cosa derivino e risolverli prima di continuare.</para> </sect1> @@ -247,8 +247,8 @@ firewall_logging="YES"</programlisting> <para>A questo punto dovrebbe essere possibile inserire la macchina tra due gruppi di host senza che venga compromessa qualsiasi - possibilità di comunicazione tra di loro. Se è così, - il prossimo passo è quello di aggiungere le parti + possibilità di comunicazione tra di loro. Se è così, + il prossimo passo è quello di aggiungere le parti <literal>net.link.ether.bridge.<replaceable>[blah]</replaceable>=<replaceable>[blah]</replaceable></literal> di queste righe al file <filename>/etc/sysctl.conf</filename>, in modo che vengano eseguite all'avvio della macchina.</para> @@ -257,19 +257,19 @@ firewall_logging="YES"</programlisting> <sect1 id="filtering-bridges-ipfirewall"> <title>Configurazione del Firewall</title> - <para>Ora è arrivato il momento di creare il proprio file con le + <para>Ora è arrivato il momento di creare il proprio file con le regole per il firewall, in modo da rendere sicura la rete interna. - Ci sono delle complicazioni nel fare questo, perché non tutte le - funzionalità del firewall sono disponibili sui pacchetti inoltrati - dal bridge. Inoltre, c'è una differenza tra i pacchetti che stanno + Ci sono delle complicazioni nel fare questo, perché non tutte le + funzionalità del firewall sono disponibili sui pacchetti inoltrati + dal bridge. Inoltre, c'è una differenza tra i pacchetti che stanno per essere inoltrati dal bridge e quelli indirizzati alla macchina locale. In generale, i pacchetti che entrano nel bridge vengono processati dal firewall solo una volta, non due come al solito; infatti vengono filtrati solo in ingresso, quindi qualsiasi regola che usi <option>out</option> - oppure <option>xmit</option> non verrà mai eseguita. Personalmente - uso <option>in via</option> che è una sintassi più antica, + oppure <option>xmit</option> non verrà mai eseguita. Personalmente + uso <option>in via</option> che è una sintassi più antica, ma che ha un senso quando la si legge. - Un'altra limitazione è che si possono usare solo i comandi + Un'altra limitazione è che si possono usare solo i comandi <option>pass</option> e <option>drop</option> per i pacchetti filtrati dal bridge. Cose avanzate come <option>divert</option>, <option>forward</option> o <option>reject</option> non sono disponibili. @@ -277,37 +277,37 @@ firewall_logging="YES"</programlisting> e verso la macchina bridge stessa (sempre che le sia stato assegnato un IP).</para> - <para>Nuovo in FreeBSD 4.0 è il concetto di stateful filtering. - Questo è un grande miglioramento per il traffico + <para>Nuovo in FreeBSD 4.0 è il concetto di stateful filtering. + Questo è un grande miglioramento per il traffico <acronym>UDP</acronym>, che consiste tipicamente di una richiesta in uscita, seguita a breve termine da una risposta con la stessa coppia di indirizzi IP e numeri di porta (ma con mittente e destinatario invertiti, ovviamente). Per i firewall che non supportano il mantenimento di stato, - non c'è modo di gestire questo breve scambio di dati come una - sessione unica. Ma con un firewall che può + non c'è modo di gestire questo breve scambio di dati come una + sessione unica. Ma con un firewall che può <quote>ricordarsi</quote> di un pacchetto <acronym>UDP</acronym> in uscita e permette una risposta nei minuti successivi, gestire i - servizi <acronym>UDP</acronym> è semplice. - L'esempio seguente mostra come fare. La stessa cosa è + servizi <acronym>UDP</acronym> è semplice. + L'esempio seguente mostra come fare. La stessa cosa è possibile farla con i pacchetti <acronym>TCP</acronym>. Questo permette di evitare qualche tipo di attacco denial of service e altri sporchi trucchi, ma tipicamente fa anche crescere velocemente la tabella di stato.</para> <para>Vediamo un esempio di configurazione. Bisogna notare che all'inizio - del file <filename>/etc/rc.firewall</filename> ci sono già delle + del file <filename>/etc/rc.firewall</filename> ci sono già delle regole standard per l'interfaccia di loopback - <devicename>lo0</devicename>, quindi non ce ne occuperemo più ora. + <devicename>lo0</devicename>, quindi non ce ne occuperemo più ora. Le regole personalizzate andrebbero messe in un file a parte (per esempio <filename>/etc/rc.firewall.local</filename>) e caricate all'avvio modificando la riga del file <filename>/etc/rc.conf</filename> dove era - stata definita la modalità <option>open</option> con:</para> + stata definita la modalità <option>open</option> con:</para> <programlisting>firewall_type="/etc/rc.firewall.local"</programlisting> <important> <para>Bisogna specificare il path <emphasis>completo</emphasis> - del file, altrimenti non verrà caricato con il rischio di + del file, altrimenti non verrà caricato con il rischio di rimanere tagliati fuori dalla rete.</para> </important> @@ -316,7 +316,7 @@ firewall_logging="YES"</programlisting> <devicename>xl0</devicename> verso l'interno (<acronym>LAN</acronym>). La macchina bridge ha assegnato l'IP <hostid role="ipaddr">1.2.3.4</hostid> - (è impossibile che il vostro <acronym>ISP</acronym> vi assegni un + (è impossibile che il vostro <acronym>ISP</acronym> vi assegni un indirizzo simile a questo, ma per l'esempio va bene).</para> <programlisting># Le connessioni di cui abbiamo mantenuto lo stato vengono fatte passare subito @@ -328,7 +328,7 @@ add drop all from 172.16.0.0/12 to any in via fxp0 add drop all from 192.168.0.0/16 to any in via fxp0 # Permette alla macchina bridge di connettersi con chi vuole -# (se la macchina è IP-less non includere questi comandi) +# (se la macchina è IP-less non includere questi comandi) add pass tcp from 1.2.3.4 to any setup keep-state add pass udp from 1.2.3.4 to any keep-state add pass ip from 1.2.3.4 to any @@ -346,7 +346,7 @@ add pass tcp from any to relay 25 in via fxp0 setup keep-state # Permette i trasferimenti di zona solo dal name server secondario [dns2.nic.it] add pass tcp from 193.205.245.8 to ns 53 in via fxp0 setup keep-state # Lascia passare i controlli ident: -# è meglio che aspettare che vadano in timeout +# è meglio che aspettare che vadano in timeout add pass tcp from any to any 113 in via fxp0 setup keep-state # Permette connessioni nel range di "quarantena". add pass tcp from any to any 49152-65535 in via fxp0 setup keep-state @@ -364,7 +364,7 @@ add pass icmp from any to any icmptypes 8 keep-state add pass icmp from any to any icmptypes 3 add pass icmp from any to any icmptypes 11 -# Tutto il resto è sospetto +# Tutto il resto è sospetto add drop log all from any to any</programlisting> <para>Coloro che hanno configurato un firewall in precedenza potrebbero aver @@ -374,52 +374,52 @@ add drop log all from any to any</programlisting> <programlisting>add deny all from 1.2.3.4/8 to any in via fxp0</programlisting> <para>Ovvero, non far entrare dall'esterno pacchetti che affermano di venire - dalla rete interna. Questa è una cosa che solitamente viene fatta + dalla rete interna. Questa è una cosa che solitamente viene fatta per essere sicuri che qualcuno non provi a eludere il packet filter, generando falsi pacchetti che sembrano venire dall'interno. Il problema - è che c'è <emphasis>almeno</emphasis> un host - sull'interfaccia esterna che non si può ignorare: il router. - Solitamente, però, gli <acronym>ISP</acronym> eseguono il controllo + è che c'è <emphasis>almeno</emphasis> un host + sull'interfaccia esterna che non si può ignorare: il router. + Solitamente, però, gli <acronym>ISP</acronym> eseguono il controllo anti-spoof sui loro router e quindi non ce ne dobbiamo preoccupare.</para> <para>L'ultima riga sembra un duplicato della regola di default, ovvero non far passare nulla che non sia stato specificatamente permesso. In - verità c'è una differenza: tutto il traffico sospetto - verrà loggato.</para> + verità c'è una differenza: tutto il traffico sospetto + verrà loggato.</para> <para>Ci sono due regole per permettere il traffico <acronym>SMTP</acronym> e <acronym>DNS</acronym> verso il mail server e il name server, se ne avete. Ovviamente l'intero set di regole deve essere personalizzato - per le proprie esigenze, questo non è altro che uno specifico - esempio (il formato delle regole è spiegato dettagliatamente nella - man page &man.ipfw.8;). Bisogna notare che, affinché + per le proprie esigenze, questo non è altro che uno specifico + esempio (il formato delle regole è spiegato dettagliatamente nella + man page &man.ipfw.8;). Bisogna notare che, affinché <quote>relay</quote> e <quote>ns</quote> siano interpretati correttamente, la risoluzione dei nomi deve funzionare - <emphasis>prima</emphasis> che il bridge sia attivato. Questo è un + <emphasis>prima</emphasis> che il bridge sia attivato. Questo è un chiaro esempio che dimostra l'importanza di settare l'IP sulla corretta - scheda di rete. In alternativa è possibile specificare - direttamente l'indirizzo IP anziché il nome host (cosa necessaria - se la macchina è IP-less).</para> + scheda di rete. In alternativa è possibile specificare + direttamente l'indirizzo IP anziché il nome host (cosa necessaria + se la macchina è IP-less).</para> <para>Le persone che sono solite configurare un firewall probabilmente avranno sempre usato una regola <option>reset</option> o <option>forward</option> per i pacchetti ident (porta 113 <acronym>TCP</acronym>). Sfortunatamente, questa non - è una scelta applicabile con il bridge, quindi la cosa migliore - è lasciarli passare fino alla destinazione. Finché la + è una scelta applicabile con il bridge, quindi la cosa migliore + è lasciarli passare fino alla destinazione. Finché la macchina di destinazione non ha un demone ident attivo, questa tecnica - è relativamente sicura. L'alternativa è proibire le + è relativamente sicura. L'alternativa è proibire le connessioni sulla porta 113, creando qualche problema con servizi tipo <acronym>IRC</acronym> (le richieste ident devono andare in timeout).</para> - <para>L'unica altra cosa un po' particolare che potete aver notato è - che c'è una regola per lasciar comunicare la macchina bridge e - un'altra per gli host della rete interna. Ricordate che questo è + <para>L'unica altra cosa un po' particolare che potete aver notato è + che c'è una regola per lasciar comunicare la macchina bridge e + un'altra per gli host della rete interna. Ricordate che questo è dovuto al fatto che i due tipi di traffico prendono percorsi differenti attraverso il kernel e di conseguenza anche dentro il packet filter. La - rete interna passerà attraverso il bridge, mentre la macchina - locale userà il normale stack IP per le connessioni. Perciò + rete interna passerà attraverso il bridge, mentre la macchina + locale userà il normale stack IP per le connessioni. Perciò due regole per gestire due casi differenti. Le regole <literal>in via <devicename>fxp0</devicename></literal> funzionano in entrambi i casi. In generale, se usate regole <option>in via</option> attraverso il @@ -435,7 +435,7 @@ add drop log all from any to any</programlisting> in lingua inglese, a cura di Nick Sayer e Steve Peterson.</para> <para>Un grosso ringraziamento va a Luigi Rizzo per l'implementazione - delle funzionalità di bridging in FreeBSD e per il tempo che mi ha + delle funzionalità di bridging in FreeBSD e per il tempo che mi ha dedicato rispondendo ad alcune mie domande a riguardo.</para> </sect1> </article> diff --git a/it_IT.ISO8859-15/articles/multi-os/article.sgml b/it_IT.ISO8859-15/articles/multi-os/article.sgml index d54b29df06..d62ca1628b 100644 --- a/it_IT.ISO8859-15/articles/multi-os/article.sgml +++ b/it_IT.ISO8859-15/articles/multi-os/article.sgml @@ -57,25 +57,25 @@ <sect1> <title>Introduzione</title> - <para>Molta gente non può far convivere questi sistemi operativi + <para>Molta gente non può far convivere questi sistemi operativi senza avere a disposizione un hard disk di grosse dimensioni, - perciò sono state incluse informazioni speciali sui drive EIDE - di grosse dimensioni. Poiché ci sono così tante + perciò sono state incluse informazioni speciali sui drive EIDE + di grosse dimensioni. Poiché ci sono così tante combinazioni di possibili sistemi operativi e configurazioni di hard disk, - la <xref linkend="ch5"/> potrebbe esserti di aiuto più + la <xref linkend="ch5"/> potrebbe esserti di aiuto più di altre. Contiene descrizioni di specifiche configurazioni che usano molteplici sistemi operativi.</para> - <para>Questo documento assume che tu abbia già fatto posto sul tuo + <para>Questo documento assume che tu abbia già fatto posto sul tuo hard disk per un altro sistema operativo. Ogni volta che ripartizioni il tuo hard disk, corri il rischio di distruggere e quindi perdere i dati sulle partizioni originali. In ogni caso, - se il tuo hard disk è completamente occupato dal DOS, potresti + se il tuo hard disk è completamente occupato dal DOS, potresti usare FIPS (incluso nel CDROM di FreeBSD nella directory <filename class="directory">\TOOLS</filename> oppure via <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools/">ftp</ulink>). Ti permette di ripartizionare il tuo hard disk senza distruggere i - dati già contenuti. C'è anche un programma commerciale + dati già contenuti. C'è anche un programma commerciale chiamato <application>&partitionmagic;</application>, che ti permette di ridimensionare e cancellare partizioni senza conseguenze.</para> </sect1> @@ -85,15 +85,15 @@ <para>Si tratta solo di brevi descrizioni dei diversi boot manager che potresti trovare. A seconda del tuo computer, potresti trovare - utile usarne più di uno sullo stesso sistema.</para> + utile usarne più di uno sullo stesso sistema.</para> <variablelist> <varlistentry> <term>Boot Easy</term> <listitem> - <para>Questo è il boot manager standard fornito con FreeBSD. - Ha la possibilità di far partire qualsiasi cosa, incluso BSD, + <para>Questo è il boot manager standard fornito con FreeBSD. + Ha la possibilità di far partire qualsiasi cosa, incluso BSD, &os2; (HPFS), &windows; 95 (FAT e FAT32), e Linux. Le partizioni vengono scelte con i tasti funzione (F1-F12).</para> </listitem> @@ -105,15 +105,15 @@ <listitem> <para>Questo fa partire FAT, FAT32, HPFS, FFS (FreeBSD), ed EXT2 (Linux). Le partizioni vengono scelte usando i tasti freccia. - L'&os2; Boot Manager è + L'&os2; Boot Manager è l'unico ad usare una propria partizione separata, diversamente dagli altri, che usano il master boot record (MBR). Di conseguenza, deve essere installato prima del 1024esimo cilindro per evitare - problemi di avvio. Può far partire Linux usando LILO quando - questo è parte del settore di avvio, non dell'MBR. + problemi di avvio. Può far partire Linux usando LILO quando + questo è parte del settore di avvio, non dell'MBR. Leggi gli <ulink url="http://www.linuxresources.com/LDP/HOWTO/HOWTO-INDEX.html">HOWTO - di Linux</ulink> sul World Wide Web per avere più + di Linux</ulink> sul World Wide Web per avere più informazioni su come far partire Linux con il boot manager di &os2;.</para> </listitem> @@ -123,12 +123,12 @@ <term>OS-BS</term> <listitem> - <para>Questa è un'alternativa a Boot Easy. Ti dà - più controllo sul processo di avvio, con la - possibilità di impostare la partizione di default da cui + <para>Questa è un'alternativa a Boot Easy. Ti dà + più controllo sul processo di avvio, con la + possibilità di impostare la partizione di default da cui partire e il timeout di avvio. La versione beta di questo programma ti permette di avviare - scegliendo il sistema operativo con i tasti freccia. È + scegliendo il sistema operativo con i tasti freccia. È incluso nel cd di FreeBSD nella directory <filename>\TOOLS</filename> oppure via <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools/">ftp</ulink>.</para> @@ -139,7 +139,7 @@ <term>LILO, o LInux LOader</term> <listitem> - <para>Questo è un boot manager limitato. Farà partire + <para>Questo è un boot manager limitato. Farà partire FreeBSD, sebbene siano necessari alcuni accorgimenti e sistemazioni nel file di configurazione.</para> </listitem> @@ -149,11 +149,11 @@ <note id="fat32"> <title>A proposito di FAT32</title> - <para>FAT32 è il rimpiazzo al file system FAT incluso nella Release + <para>FAT32 è il rimpiazzo al file system FAT incluso nella Release Beta SR2 di Microsoft, che dovrebbe essere installata con &windows; 95 a partire dalla fine del 1996. Converte il normale file system FAT e ti permette di usare cluster di - dimensioni più piccole per hard disk di dimensioni maggiori. + dimensioni più piccole per hard disk di dimensioni maggiori. Inoltre FAT32 modifica il settore di avvio tradizionale e la tabella di allocazione, rendendola incompatibile con alcuni Boot Manager.</para> @@ -185,24 +185,24 @@ <para>Parto dalla partizione &ms-dos; o dal dischetto di avvio di &windows; 95 che contiene l'utility <filename>FDISK.EXE</filename> e creo una piccola partizione primaria da 50 MB - (35-40 per &windows; 95, più un po' di spazio per respirare) - sul primo disco. Creo anche una partizione più grande sul + (35-40 per &windows; 95, più un po' di spazio per respirare) + sul primo disco. Creo anche una partizione più grande sul secondo hard disk per le applicazioni di &windows; e per i dati.</para> </step> <step> - <para>Faccio ripartire ed installo &windows; 95 (più facile a + <para>Faccio ripartire ed installo &windows; 95 (più facile a dirsi che a farsi) sulla partizione <filename>C:</filename>.</para> </step> <step> - <para>La prossima cosa che farò sarà installare Linux. + <para>La prossima cosa che farò sarà installare Linux. Non sono sicuro per le altre distribuzioni, ma la <ulink url="http://www.slackware.com">Slackware</ulink> include LILO (guarda la <xref linkend="ch2"/>). Quando ripartiziono il mio hard disk con l'<command>fdisk</command> di Linux, - metterò tutto ciò che riguarda Linux sul primo hard + metterò tutto ciò che riguarda Linux sul primo hard disk (probabilmente 300 MB per una partizione di root decente e un po' di spazio di swap).</para> </step> @@ -218,13 +218,13 @@ <para>La parte rimanente di hard disk va a FreeBSD. Assicurati anche che la <quote>slice</quote> root di FreeBSD non vada oltre il 1024esimo cilindro. (Il 1024esimo - cilindro è circa intorno ai 528 MB in un disco ipotetico, - il mio, di 720 MB). Userò il resto dell'hard disk + cilindro è circa intorno ai 528 MB in un disco ipotetico, + il mio, di 720 MB). Userò il resto dell'hard disk (circa 270 MB) per <filename class="directory">/usr</filename> e <filename class="directory">/</filename>. Il resto del secondo hard disk (la grandezza varia a seconda di quanto spazio ho lasciato agli applicativi e ai dati per &windows; - quando ho creato la partizione nel primo passo) può + quando ho creato la partizione nel primo passo) può essere usata per <filename class="directory">/usr/src</filename> e per lo spazio di swap.</para> </step> @@ -267,15 +267,15 @@ Press Esc to continue <step> <para>Installazione di FreeBSD. Assicurati di avviare il computer con il primo hard disk configurato con <quote>NORMAL</quote> nel BIOS. - Se non è così, dovrai settare la vera geometria - del disco all'avvio (per arrivare a fare ciò, fai partire + Se non è così, dovrai settare la vera geometria + del disco all'avvio (per arrivare a fare ciò, fai partire &windows; 95 e consulta Microsoft Diagnostics (<filename>MSD.EXE</filename>), o controlla il BIOS) con il parametro <literal>hd0=1416,16,63</literal> dove <replaceable> - 1416</replaceable> è il numero di cilindri sull'hard disk, - <replaceable>16</replaceable> è il numero di testine per + 1416</replaceable> è il numero di cilindri sull'hard disk, + <replaceable>16</replaceable> è il numero di testine per traccia, o <quote>heads per track</quote>, e - <replaceable>63</replaceable> è il numero di settori per + <replaceable>63</replaceable> è il numero di settori per traccia sul drive.</para> </step> @@ -287,7 +287,7 @@ Press Esc to continue <step> <para>Al riavvio, Boot Easy dovrebbe riconoscere le tre partizioni - avviabili, cioè quella DOS (ovvero &windows; 95), Linux, e + avviabili, cioè quella DOS (ovvero &windows; 95), Linux, e BSD (FreeBSD).</para> </step> </procedure> @@ -298,33 +298,33 @@ Press Esc to continue <para>Molti sistemi operativi sono molto pignoli su come e dove devono essere messi sull'hard disk. &windows; 95 deve essere sulla prima - partizione primaria sul primo hard disk. &os2; fa eccezione. Può + partizione primaria sul primo hard disk. &os2; fa eccezione. Può essere installato in una partizione primaria o estesa sul primo o sul secondo hard disk. Se non sei sicuro, mantieni la parte avviabile di partizione sotto il 1024esimo cilindro.</para> <para>Se installi &windows; 95 su un sistema BSD esistente, questo - <quote>distruggerà</quote> l'MBR, e dovrai reinstallare il boot - manager precedente. Boot Easy può essere reinstallato usando + <quote>distruggerà</quote> l'MBR, e dovrai reinstallare il boot + manager precedente. Boot Easy può essere reinstallato usando l'utility <filename>BOOTINST.EXE</filename> inclusa nella directory <filename class="directory">\TOOLS</filename> sul cdrom, oppure via <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools/"> ftp</ulink>. Puoi anche ricominciare l'installazione e andare all'editor delle - partizioni. Da lì, marcare la partizione di FreeBSD come + partizioni. Da lì, marcare la partizione di FreeBSD come avviabile, scegliere Boot Manager, e quindi digitare W per scrivere le informazioni nell'MBR. Puoi ora riavviare, e Boot Easy dovrebbe riconoscere &windows; 95 e DOS.</para> - <para>Ricordati che &os2; può leggere partizioni FAT e HPFS, ma non - FFS (FreeBSD) o EXT2 (Linux). Diversamente &windows; 95 può + <para>Ricordati che &os2; può leggere partizioni FAT e HPFS, ma non + FFS (FreeBSD) o EXT2 (Linux). Diversamente &windows; 95 può leggere e scrivere solo su FAT o FAT32 (guarda la <xref linkend="ch2"/>). - FreeBSD può leggere gran parte degli altri file system, ma al - momento non può leggere partizioni HPFS. Linux può leggere - partizioni HPFS, ma non può scrivervi. Versioni recenti del kernel + FreeBSD può leggere gran parte degli altri file system, ma al + momento non può leggere partizioni HPFS. Linux può leggere + partizioni HPFS, ma non può scrivervi. Versioni recenti del kernel di Linux (2.x) possono leggere e scrivere su partizioni di &windows; 95 di - tipo VFAT (VFAT è ciò che permette a &windows; 95 di avere - i nomi di file lunghi - è molto simile alla FAT). - Linux può leggere e scrivere sulla maggior parte dei file system. + tipo VFAT (VFAT è ciò che permette a &windows; 95 di avere + i nomi di file lunghi - è molto simile alla FAT). + Linux può leggere e scrivere sulla maggior parte dei file system. Capito? Lo spero...</para> </sect1> @@ -336,9 +336,9 @@ Press Esc to continue <para>FreeBSD + &windows; 95: Se hai installato FreeBSD dopo &windows; 95, dovresti vedere <literal>DOS</literal> nel menu di Boot Easy. Questo - è &windows; 95. Se hai installato &windows; 95 dopo FreeBSD, leggi + è &windows; 95. Se hai installato &windows; 95 dopo FreeBSD, leggi la <xref linkend="ch4"/> sopra. - Fin quando il tuo hard disk non ha più di 1024 cilindri, non + Fin quando il tuo hard disk non ha più di 1024 cilindri, non dovrebbero esserci problemi. Se una partizione va oltre il 1024esimo cilindro, e hai messaggi di errore come <errorname>invalid system disk</errorname> sotto @@ -353,8 +353,8 @@ Press Esc to continue tua partizione FreeBSD e farla partire).</para> <para>FreeBSD + &os2; + &windows; 95: Nulla di nuovo qui. Il boot manager - di &os2; può far partire tutti questi sistemi operativi, - cosicché non dovrebbero esserci problemi.</para> + di &os2; può far partire tutti questi sistemi operativi, + cosicché non dovrebbero esserci problemi.</para> <para>FreeBSD + Linux: Puoi usare Boot Easy per far partire tutti e due i sistemi operativi.</para> @@ -369,7 +369,7 @@ Press Esc to continue <para>Ci sono molti <ulink url="http://www.linuxresources.com/LDP/HOWTO/HOWTO-INDEX.html">HOW-TO su Linux</ulink> che trattano come affrontare il problema di avere - più sistemi operativi sullo stesso hard disk.</para> + più sistemi operativi sullo stesso hard disk.</para> <para>Il <ulink url="http://www.linuxresources.com/LDP/HOWTO/mini/Linux+DOS+Win95+OS2.html">Linux+DOS+Win95+OS2 @@ -379,7 +379,7 @@ Press Esc to continue mini-HOWTO</ulink> potrebbe essere anch'esso interessante. Anche il <ulink url="http://www.in.net/~jkatz/win95/Linux-HOWTO.html">Linux-HOWTO</ulink> - è di grande aiuto.</para> + è di grande aiuto.</para> <para>L'<ulink url="http://www.tburke.net/info/ntldr/ntldr_hacking_guide.htm">&windowsnt; @@ -405,11 +405,11 @@ Press Esc to continue <email>rhh@ct.picker.com</email>)</emphasis></para> <para>Questa sezione prova a fornire abbastanza informazioni di base - sugli hard disk e sul processo di avvio così da - essere poi capaci di determinare le cause dei problemi più + sugli hard disk e sul processo di avvio così da + essere poi capaci di determinare le cause dei problemi più frequenti che potreste affrontare al momento dell'installazione e della - configurazione di più sistemi operativi. Inizia con un - linguaggio semplice, così potresti voler scorrere la pagina fino a + configurazione di più sistemi operativi. Inizia con un + linguaggio semplice, così potresti voler scorrere la pagina fino a quando non ti sembri difficile e cominciare quindi da quel punto a leggere.</para> @@ -418,7 +418,7 @@ Press Esc to continue <para>Sono generalmente usati tre termini fondamentali per descrivere l'allocazione dei dati sull'hard disk: Cylinders (Cilindri), Heads - (Testine), e Sectors (Settori). Non è particolarmente importante + (Testine), e Sectors (Settori). Non è particolarmente importante sapere esattamente cosa significano questi termini e quale sia il loro compito specifico, ma interessa sapere che, insieme, identificano dove si trovano fisicamente i dati sull'hard disk.</para> @@ -430,7 +430,7 @@ Press Esc to continue fisica del disco dell'hard disk. Ci sono generalmente 512 byte per settore, e 63 settori per traccia, mentre il numero di cilindri e testine varia a seconda del tipo di hard disk. - In questo modo puoi trovare la quantità di dati che il disco + In questo modo puoi trovare la quantità di dati che il disco potrebbe contenere semplicemente calcolando:</para> <informalexample> @@ -439,7 +439,7 @@ Press Esc to continue </informalexample> <para>Per esempio, sul mio Western Digital AC31600 EIDE, questo - è:</para> + è:</para> <informalexample> <para>(3148 cilindri) × (16 testine) × (63 @@ -448,31 +448,31 @@ Press Esc to continue <para>che sarebbe 1,624,670,208 byte, o circa 1.6 Giga.</para> - <para>Puoi scoprire la geometria fisica del disco (cioè il numero + <para>Puoi scoprire la geometria fisica del disco (cioè il numero di cilindri, testine, e il fattore settori/tracciati) del tuo hard disk usando ATAID o altri programmi reperibili su Internet. Probabilmente il - tuo hard disk ti è stato venduto con queste informazioni. + tuo hard disk ti è stato venduto con queste informazioni. Comunque stai attento: se stai usando l'opzione LBA del BIOS (vedi la <xref linkend="limits"/>), non puoi usare un qualsiasi programma per - conoscere la geometria fisica. Questo perché molti programmi (ad + conoscere la geometria fisica. Questo perché molti programmi (ad esempio <filename>MSD.EXE</filename> o l'fdisk di FreeBSD) non identificano la geometria fisica del disco, fanno invece riferimento alla <firstterm>geometria traslata</firstterm> (Numeri virtuali usando - LBA). Continua a leggere per saperne di più.</para> + LBA). Continua a leggere per saperne di più.</para> <para>Un altro aspetto interessante di questi termini. Dati 3 numeri—un numero di cilindri, un numero di testine, e un numero - di settori per tracciato—si può identificare uno specifico + di settori per tracciato—si può identificare uno specifico settore assoluto (un blocco di 512 byte di dati) sull'hard disk. I cilindri e le testine sono numerati partendo da 0, e i settori sono numerati partendo da 1.</para> - <para>Per quelli che sono interessati a dettagli più tecnici, + <para>Per quelli che sono interessati a dettagli più tecnici, informazioni sulla geometria dei dischi, settori di avvio, BIOS, e - altro, possono trovare grandi quantità di informazioni in + altro, possono trovare grandi quantità di informazioni in Internet. Basta fare una ricerca con Lycos, Yahoo e altri digitando <literal>boot sector</literal> o <literal>master boot record</literal>. - Tra le numerose informazioni utili che si possono trovare c'è il + Tra le numerose informazioni utili che si possono trovare c'è il pacchetto di documentazione <citetitle>How It Works</citetitle> (in italiano <quote>Come Funziona</quote>) di Hale Landis. Guarda la <xref linkend="sources"/> per alcuni puntatori a questo @@ -488,10 +488,10 @@ Press Esc to continue <para>Sul primo settore del tuo disco (Cyl 0, Head 0, Sector 1) risiede il Master Boot Record (MBR). Questo contiene una mappa del tuo disco. Identifica fino a 4 <firstterm>partizioni</firstterm>, ciascuna delle - quali è uno spazio, una parte, di quel disco. FreeBSD chiama + quali è uno spazio, una parte, di quel disco. FreeBSD chiama queste partizioni <firstterm>slices</firstterm> per evitare confusione con le sue partizioni, di cui ora non parleremo. - Ciascuna partizione può contenere un sistema operativo + Ciascuna partizione può contenere un sistema operativo diverso.</para> <para>Ogni elemento che rappresenta una partizione presente nell'MBR ha un @@ -500,7 +500,7 @@ Press Esc to continue Cylinder/Head/Sector</firstterm>. Il Partition ID mostra di che tipo di partizione si tratta (di che sistema operativo) e i valori di inizio/fine dicono dove questa si trova. La <xref linkend="tbl-pid"/> - mostra una lista di partition ID più comuni.</para> + mostra una lista di partition ID più comuni.</para> <table id="tbl-pid"> <title>Partition ID</title> @@ -561,8 +561,8 @@ Press Esc to continue </table> <para>Nota che non tutte le partizioni sono avviabili (per esempio quelle - DOS estese). Alcune lo sono, altre no. Ciò che rende una - partizione avviabile è la configurazione del <firstterm>Partition + DOS estese). Alcune lo sono, altre no. Ciò che rende una + partizione avviabile è la configurazione del <firstterm>Partition Boot Sector</firstterm> che si trova all'inizio di ciascuna partizione.</para> @@ -574,20 +574,20 @@ Press Esc to continue tuo sistema. Questo guarda la tavola delle partizioni dell'MBR corrispondente alla partizione che hai scelto, usa l'informazione sullo Start Cylinder/Head/Sector per quella partizione, carica il Partition - Boot Sector per quella partizione, e sli dà il controllo. + Boot Sector per quella partizione, e sli dà il controllo. Quel settore di avvio per la partizione contiene abbastanza informazioni per cominciare a caricare il sistema operativo di quella partizione.</para> - <para>Un particolare che abbiamo sorvolato e che è importante + <para>Un particolare che abbiamo sorvolato e che è importante conoscere. Tutti gli hard disk hanno l'MBR. Ad ogni modo, quello - importante è quello del disco che viene rilevato per primo dal - BIOS. Se hai solo hard disk IDE, è il primo disco IDE - (cioè il disco primario del controller primario). + importante è quello del disco che viene rilevato per primo dal + BIOS. Se hai solo hard disk IDE, è il primo disco IDE + (cioè il disco primario del controller primario). Stessa cosa per i sistemi SCSI. Se hai sia SCSI che IDE invece, i dischi IDE vengono riconosciuti per primi dal - BIOS, quindi il primo disco IDE è quello che viene riconosciuto - per primo. Il boot manager che installerai si troverà quindi + BIOS, quindi il primo disco IDE è quello che viene riconosciuto + per primo. Il boot manager che installerai si troverà quindi sull'MBR del primo disco riconosciuto come descritto.</para> </sect2> @@ -602,17 +602,17 @@ Press Esc to continue BIOS</title> <para>La prima parte del processo di avvio viene effettuata attraverso - il BIOS, (se questo è un termine nuovo per te, il BIOS è + il BIOS, (se questo è un termine nuovo per te, il BIOS è un chip contenente del software presente sulla scheda madre che contiene il codice di avviamento per il computer). Quindi, questa - prima parte del processo è soggetta alle limitazioni + prima parte del processo è soggetta alle limitazioni dell'interfaccia del BIOS.</para> <para>L'interfaccia BIOS usata per leggere gli hard disk in questo momento (INT 13H, Subfunction 2) alloca 10 bit per il Cylinder Number, 8 bit per l'Head Number, e 6 bit per il Sector Number. Questo porta gli utenti ad essere sottoposti a dei limiti (per esempio i boot - manager installati nell'MBR così come i loader installati nei + manager installati nell'MBR così come i loader installati nei Boot Sector) che ora vediamo:</para> <itemizedlist> @@ -625,19 +625,19 @@ Press Esc to continue </listitem> <listitem> - <para>64 settori/traccia, massimo (in realtà 63, - <literal>0</literal> non è disponibile)</para> + <para>64 settori/traccia, massimo (in realtà 63, + <literal>0</literal> non è disponibile)</para> </listitem> </itemizedlist> <para>Ora, hard disk grossi hanno molti cilindri, ma non molte testine, quindi invariabilmente con grandi hard disk il numero di cilindri - sarà più alto di 1024. A causa di questo e della + sarà più alto di 1024. A causa di questo e della situazione dell'interfaccia BIOS, non puoi far partire un sistema operativo da qualsiasi punto del disco. Il codice di avvio (il boot manager e il loader del sistema operativo devono essere nei settori di avvio di tutte le partizioni avviabili) deve risiedere entro il limite - dei 1024 cilindri. In pratica, se il tuo hard disk è generico + dei 1024 cilindri. In pratica, se il tuo hard disk è generico e contiene 16 testine, questo si tramuta in:</para> <informalexample> @@ -645,28 +645,28 @@ Press Esc to continue settori/traccia × 512 byte/settore</para> </informalexample> - <para>che è intorno al summenzionato limite dei 528MB.</para> + <para>che è intorno al summenzionato limite dei 528MB.</para> - <para>Qui è dove entra in gioco l'LBA (Logical Block Addressing, + <para>Qui è dove entra in gioco l'LBA (Logical Block Addressing, Indirizzamento Logico dei Blocchi) del BIOS. L'LBA del BIOS fornisce all'utente delle API del BIOS accesso ai cilindri fisici oltre al 1024esimo attraverso l'interfaccia BIOS ridefinendo un cilindro. Quindi, rimappa cilindri e testine, facendo sembrare al BIOS che il - computer contenga meno cilindri e più testine di quanto in - realtà non ne abbia. + computer contenga meno cilindri e più testine di quanto in + realtà non ne abbia. In altre parole, si avvantaggia del fatto che gli hard disk hanno relativamente poche testine e molti cilindri semplicemente bilanciando tra cilindri e testine facendo in modo che tutti e due i numeri rimangano sotto la soglia (1024 cilindri, 256 testine).</para> - <para>Con l'LBA del BIOS, la limitazione agli hard disk è + <para>Con l'LBA del BIOS, la limitazione agli hard disk è virtualmente eliminata (beh, spostata ad 8 Gigabyte). Se hai un BIOS che supporta l'LBA, puoi mettere FreeBSD o qualsiasi altro OS in qualsiasi parte tu voglia senza toccare il limite dei 1024 cilindri.</para> <para>Per usare ancora l'esempio del mio Western Digital da 1.6 - Giga, la sua geometria fisica è:</para> + Giga, la sua geometria fisica è:</para> <informalexample> <para>(3148 cilindri, 16 testine, 63 settori/traccia, 512 @@ -691,10 +691,10 @@ Press Esc to continue <title>Boot Manager e Allocazione del Disco</title> <para>Un altro punto di cui tener conto al momento al momento - dell'installazione di un boot manager, è quello di ricordarsi - di allocare spazio per il tuo boot manager. È meglio aver + dell'installazione di un boot manager, è quello di ricordarsi + di allocare spazio per il tuo boot manager. È meglio aver presente fin da subito questo problema, per non accorgersene troppo - tardi e dover quindi reinstallare uno o più sistemi + tardi e dover quindi reinstallare uno o più sistemi operativi.</para> <para>Se hai seguito il discorso nella <xref linkend="booting"/> a @@ -704,36 +704,36 @@ Press Esc to continue Bene, alcuni boot manager sono abbastanza piccoli da risiedere nel Master Boot Sector (Cilindro 0, Testina 0, Settore 0) insieme alla tabella delle partizioni. Alcuni invece hanno bisogno di un po' di - spazio in più e si estendono su alcuni settori oltre il Master + spazio in più e si estendono su alcuni settori oltre il Master Boot Sector nella traccia del Cilindro 0 Testina 0, dato che questa - è tipicamente libera.</para> + è tipicamente libera.</para> <para>Ecco qui. Alcuni sistemi operativi (incluso FreeBSD) fanno in modo che le loro partizioni possano cominciare subito dopo il Master - Boot Sector, cioè al cilindro 0, testina 0, settore 2 se vuoi. + Boot Sector, cioè al cilindro 0, testina 0, settore 2 se vuoi. Infatti, se dai al sysinstall di FreeBSD un disco con una parte - iniziale vuota oppure un disco vuoto, quello è il punto da cui - comincerà la partizione FreeBSD di default (o almeno lo ha + iniziale vuota oppure un disco vuoto, quello è il punto da cui + comincerà la partizione FreeBSD di default (o almeno lo ha fatto quando sono caduto in questa trappola). Poi quando vai ad - installare il tuo boot manager, se è uno che occupa alcuni - settori oltre all'MBR, andrà a sovrascrivere la parte iniziale + installare il tuo boot manager, se è uno che occupa alcuni + settori oltre all'MBR, andrà a sovrascrivere la parte iniziale dei dati della prima partizione. Nel caso di FreeBSD, questo sovrascrive il label del disco, e fa in modo da rendere non avviabile la partizione di FreeBSD.</para> - <para>Il modo più semplice per eliminare questo problema (e - lasciarti la flessibilità di provare in seguito differenti boot - manager) è quello di lasciare sempre la prima traccia del tuo + <para>Il modo più semplice per eliminare questo problema (e + lasciarti la flessibilità di provare in seguito differenti boot + manager) è quello di lasciare sempre la prima traccia del tuo hard disk completamente libera quando partizioni il tuo hard disk. - Ciò significa lasciare libero lo spazio tra il cilindro 0, + Ciò significa lasciare libero lo spazio tra il cilindro 0, testina 0, settore 2 fino a cilindro 0, testina 0, settore 63, e cominciare la prima partizione sul cilindro 0, testina 1, settore 1. - Per ciò che vale, quando crei una partizione DOS all'inizio del + Per ciò che vale, quando crei una partizione DOS all'inizio del tuo hard disk, il DOS lascia sempre questo spazio libero di default - (ecco perché molti boot manager presumono che sia libero). + (ecco perché molti boot manager presumono che sia libero). Quindi creare una partizione DOS all'inizio del disco toglie questi problemi tutti insieme. Mi piace fare da solo, creando una partizione - DOS da 1 mega all'inizio, perché questo evita che cambino le + DOS da 1 mega all'inizio, perché questo evita che cambino le lettere dei drive DOS quando ripartiziono in seguito.</para> <para>Come riferimento, i seguenti boot manager usano il Master Boot @@ -771,9 +771,9 @@ Press Esc to continue <title>Cosa fare se il tuo computer non parte?</title> <para>In alcuni momenti quando installi dei boot manager, potresti - lasciare l'MBR in uno stato in cui il computer non riesce più a - partire. Questo è spiacevole, ma possibile quando si utilizza - FDISK su di un boot manager già installato.</para> + lasciare l'MBR in uno stato in cui il computer non riesce più a + partire. Questo è spiacevole, ma possibile quando si utilizza + FDISK su di un boot manager già installato.</para> <para>Se hai una partizione DOS avviabile sul tuo hard disk, puoi partire da un floppy DOS, e poi eseguire il comando:</para> diff --git a/it_IT.ISO8859-15/articles/new-users/article.sgml b/it_IT.ISO8859-15/articles/new-users/article.sgml index c85b24467f..229a731f7d 100644 --- a/it_IT.ISO8859-15/articles/new-users/article.sgml +++ b/it_IT.ISO8859-15/articles/new-users/article.sgml @@ -14,7 +14,7 @@ <article lang="it"> <articleinfo> - <title>Per chi è alle Prime Armi sia con FreeBSD che con + <title>Per chi è alle Prime Armi sia con FreeBSD che con &unix;</title> <authorgroup> @@ -44,9 +44,9 @@ <abstract> <para>Congratulazioni per aver installato FreeBSD! Questa introduzione - é per chi é alle prime armi con FreeBSD - <emphasis>e</emphasis> &unix;—perciò comincia dalle basi. - Stai certamente usando la versione 2.0.5 o una più recente di + é per chi é alle prime armi con FreeBSD + <emphasis>e</emphasis> &unix;—perciò comincia dalle basi. + Stai certamente usando la versione 2.0.5 o una più recente di &os; distribuita da &os;.org, il tuo sistema ha (per il momento) un solo utente (te stesso)—e sei probabilmente abbastanza bravo con DOS/&windows; o &os2;.</para> @@ -61,10 +61,10 @@ <para>Entra (quando vedi <prompt>login:</prompt>) come l'utente che hai creato durante l'installazione oppure come <username>root</username>. (La tua installazione di FreeBSD dovrebbe - già avere un account di <username>root</username>; che può + già avere un account di <username>root</username>; che può andare ovunque e fare qualsiasi cosa, anche cancellare file essenziali, - perciò stai attento!) I simboli &prompt.user; e &prompt.root; - che incontrerai più avanti simboleggiano il prompt (i tuoi + perciò stai attento!) I simboli &prompt.user; e &prompt.root; + che incontrerai più avanti simboleggiano il prompt (i tuoi potrebbero essere differenti), dove &prompt.user; indica un utente ordinario e &prompt.root; indica <username>root</username>.</para> @@ -75,9 +75,9 @@ <screen>&prompt.root; <userinput>exit</userinput></screen> </informalexample> - <para>tante volte quanto serve. Sì, premi + <para>tante volte quanto serve. Sì, premi <keysym>invio</keysym> dopo ogni comando, e ricordati che &unix; fa - distinzione tra maiuscole e minuscole—perciò + distinzione tra maiuscole e minuscole—perciò <command>exit</command>, non <command>EXIT</command>.</para> <para>Per spegnere il computer digita</para> @@ -101,8 +101,8 @@ <para>Puoi anche riavviarlo premendo <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Canc</keycap></keycombo>. Lasciagli un po' di tempo per compiere il suo lavoro. Questo equivale a - <command>/sbin/reboot</command> nelle versioni più recenti di - FreeBSD ed è molto meglio che premere il bottone di reset. + <command>/sbin/reboot</command> nelle versioni più recenti di + FreeBSD ed è molto meglio che premere il bottone di reset. Non vorrai mica reinstallare tutto da capo, vero?</para> </sect1> @@ -137,33 +137,33 @@ <screen>Login group is ``jack''. Invite jack into other groups: <userinput>wheel</userinput></screen> </informalexample> - <para>Questo ti permetterà di entrare come l'utente + <para>Questo ti permetterà di entrare come l'utente <username>jack</username> e usare il comando &man.su.1; per diventare <username>root</username>. A quel punto non sarai - più preso in giro per essere entrato direttamente come + più preso in giro per essere entrato direttamente come <username>root</username>.</para> <para>Puoi uscire da <command>adduser</command> in qualsiasi momento premendo <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo>, - e alla fine avrai l'opportunità di approvare il nuovo utente oppure + e alla fine avrai l'opportunità di approvare il nuovo utente oppure premere <keycap>n</keycap> per non farlo. Potresti voler creare un - secondo utente cosicché quando andrai a modificare i file + secondo utente cosicché quando andrai a modificare i file di <username>jack</username> avrai un'ancora di salvezza in caso qualcosa vada male.</para> <para>Una volta fatto questo, usa <command>exit</command> per tornare al prompt di login ed entrare come <username>jack</username>. - In generale è meglio cercare di lavorare da utente normale + In generale è meglio cercare di lavorare da utente normale in modo da non avere il potere—e il rischio—di <username>root</username>.</para> - <para>Se hai già creato un utente e vuoi che quell'utente sia in + <para>Se hai già creato un utente e vuoi che quell'utente sia in grado di usare <command>su</command> per diventare <username>root</username>, puoi entrare come <username>root</username> e modificare il file <filename>/etc/group</filename>, aggiungendo <username>jack</username> alla prima linea (il gruppo <groupname>wheel</groupname>). Ma prima devi fare pratica con - &man.vi.1;, l'editor di testo—oppure usa il più semplice + &man.vi.1;, l'editor di testo—oppure usa il più semplice &man.ee.1;, installato sulle recenti versioni di FreeBSD.</para> <para>Per cancellare un utente, usa il comando @@ -229,7 +229,7 @@ <term><command>ls <option>-a</option></command></term> <listitem> - <para>Mostra una lista dei file nascosti, cioè con un + <para>Mostra una lista dei file nascosti, cioè con un <quote>punto</quote> davanti al nome, insieme agli altri. Se sei <username>root</username>, i file <quote>puntati</quote> vengono mostrati anche senza l'opzione <option>-a</option>.</para> @@ -248,7 +248,7 @@ nella directory home dell'utente collegato in quel momento—per esempio, <filename>/usr/home/jack</filename>. Prova <command>cd <parameter>/cdrom</parameter></command>, e poi - <command>ls</command>, per scoprire se il tuo CDROM è + <command>ls</command>, per scoprire se il tuo CDROM è montato e funziona.</para> </listitem> </varlistentry> @@ -271,7 +271,7 @@ <listitem> <para>Mostra <replaceable>nomefile</replaceable> sullo schermo. - Se è troppo lungo e ne puoi vedere solo la fine, + Se è troppo lungo e ne puoi vedere solo la fine, premi <keycap>BlocScorr</keycap> e usa <keycap>freccia-su</keycap> per muoverti in alto; puoi usare <keycap>BlocScorr</keycap> anche con le pagine man. Premi ancora @@ -288,7 +288,7 @@ <para>Noterai degli alias in <filename>.cshrc</filename> per alcuni dei comandi <command>ls</command> (sono molto convenienti). Puoi creare degli altri alias modificando - <filename>.cshrc</filename>. Puoi far sì che questi alias + <filename>.cshrc</filename>. Puoi far sì che questi alias diventino disponibili a tutti gli utenti mettendoli nel file di configurazione generale di <command>csh</command>, <filename>/etc/csh.cshrc</filename>.</para> @@ -298,7 +298,7 @@ <title>Ottenere Aiuto e Informazioni</title> <para>Ecco alcune risorse utili per ottenere aiuto. - <replaceable>Testo</replaceable> è qualcosa che puoi + <replaceable>Testo</replaceable> è qualcosa che puoi digitare a tuo piacere—normalmente si tratta di un comando o del nome di un file.</para> @@ -308,7 +308,7 @@ <replaceable>testo</replaceable></command></term> <listitem> - <para>Tutto ciò che contiene la stringa + <para>Tutto ciò che contiene la stringa <replaceable>testo</replaceable> nel <database>database whatis</database>.</para> </listitem> @@ -321,7 +321,7 @@ <listitem> <para>Mostra la pagina man di <replaceable>testo</replaceable>, la maggior risorsa di documentazione per i sistemi Un*x. - <command>man <parameter>ls</parameter></command> ti dirà + <command>man <parameter>ls</parameter></command> ti dirà tutti i modi possibili per usare il comando <command>ls</command>. Premi <keycap>Invio</keycap> per muoverti nel testo, <keycombo><keycap>Ctrl</keycap><keycap>B</keycap></keycombo> @@ -394,8 +394,8 @@ <para>Per caso alcuni di questi comandi non funzionano correttamente? Sia &man.locate.1;, sia &man.whatis.1; dipendono da un database che viene ricostruito settimanalmente. Se la tua macchina - non sarà lasciata accesa per il fine settimana (usando FreeBSD), - può darsi che tu voglia usare i comandi per la manutenzione + non sarà lasciata accesa per il fine settimana (usando FreeBSD), + può darsi che tu voglia usare i comandi per la manutenzione giornaliera, settimanale, e mensile ogni tanto. Falli partire come <username>root</username> e lascia loro il tempo di finire il lavoro prima di farne partire un altro.</para> @@ -412,7 +412,7 @@ <para>Se ti stufi di aspettare, premi <keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo> per avere un'altra <firstterm>console virtuale</firstterm>, e poterti loggare - nuovamente. Dopotutto è un sistema multi-utente, e multi-tasking. + nuovamente. Dopotutto è un sistema multi-utente, e multi-tasking. Probabilmente questi comandi produrranno dei messaggi sullo schermo quando lavorano; puoi digitare <command>clear</command> per pulire lo schermo. @@ -423,11 +423,11 @@ <para>Usare tali comandi fa parte dell'amministrazione di sistema—e come utente singolo di un sistema &unix;, sei tu l'amministratore del sistema. Praticamente l'unica cosa - per la quale è necessario che tu sia <username>root</username> - è l'amministrazione. Queste responsabilità non vengono + per la quale è necessario che tu sia <username>root</username> + è l'amministrazione. Queste responsabilità non vengono trattate bene nemmeno in quei grossi libri su &unix;, che sembrano dedicare troppo spazio all'uso dei menu nei windows manager. Potresti - voler leggere uno dei più interessanti libri sull'amministrazione + voler leggere uno dei più interessanti libri sull'amministrazione di sistema, come <citetitle>UNIX System Administration Handbook</citetitle> di Evi Nemeth et.al. (Prentice-Hall, 1995, ISBN 0-13-15051-7)—la seconda edizione con la copertina rossa; @@ -442,9 +442,9 @@ <para>Per poter configurare il tuo sistema, devi modificare dei file. Molti di questi saranno in <filename>/etc</filename>; e avrai bisogno del comando <command>su</command> per diventare <username>root</username> - e poter così modificarli. Puoi usare il semplice editor - <command>ee</command>, ma alla lunga risulta più utile imparare - <command>vi</command>. C'é un eccellente tutorial su + e poter così modificarli. Puoi usare il semplice editor + <command>ee</command>, ma alla lunga risulta più utile imparare + <command>vi</command>. C'é un eccellente tutorial su <command>vi</command> in <filename>/usr/src/contrib/nvi/docs/tutorial</filename> se hai installato i sorgenti di sistema.</para> @@ -458,11 +458,11 @@ <screen>&prompt.root; <userinput>cp rc.conf rc.conf.orig</userinput></screen> </informalexample> - <para>Questo copierà <filename>rc.conf</filename> in + <para>Questo copierà <filename>rc.conf</filename> in <filename>rc.conf.orig</filename>, e potrai successivamente copiare <filename>rc.conf.orig</filename> in <filename>rc.conf</filename> per tornare all'originale. Ma ancora meglio - sarà spostare (rinominare) il file per poi ricopiarlo con il nome + sarà spostare (rinominare) il file per poi ricopiarlo con il nome originale:</para> <informalexample> @@ -470,7 +470,7 @@ &prompt.root; <userinput>cp rc.conf.orig rc.conf</userinput></screen> </informalexample> - <para>perché il comando <command>mv</command> mantiene + <para>perché il comando <command>mv</command> mantiene la data e il proprietario originali del file. Puoi ora modificare <filename>rc.conf</filename>. Se vuoi tornare all'originale, potresti fare <userinput>mv rc.conf rc.conf.myedit</userinput> @@ -491,7 +491,7 @@ <para>Muoviti nel testo con i tasti freccia. <keycap>Esc</keycap> mette <command>vi</command> - in modalità comando. Ecco qui alcuni dei comandi:</para> + in modalità comando. Ecco qui alcuni dei comandi:</para> <variablelist> <varlistentry> @@ -529,7 +529,7 @@ <para>Quando digiti <command>i</command> o <command>a</command>, puoi inserire del testo. <command>Esc</command> ti riporta in - modalità comando dove puoi digitare</para> + modalità comando dove puoi digitare</para> <variablelist> <varlistentry> @@ -581,7 +581,7 @@ <listitem> <para>per andare alla riga <replaceable>n</replaceable> del - file, dove <replaceable>n</replaceable> è un numero</para> + file, dove <replaceable>n</replaceable> è un numero</para> </listitem> </varlistentry> @@ -608,13 +608,13 @@ home creando un nuovo file digitando <command>vi <replaceable>nomefile</replaceable></command> e aggiungendo e cancellando del testo, salvando il file, e riaprendolo di nuovo. - <command>vi</command> è pieno di sorprese perché è - abbastanza complesso, e ti capiterà di digitare un comando che - farà di sicuro qualcosa che non ti aspetti. (Alcune persone - preferiscono <command>vi</command>—è più potente + <command>vi</command> è pieno di sorprese perché è + abbastanza complesso, e ti capiterà di digitare un comando che + farà di sicuro qualcosa che non ti aspetti. (Alcune persone + preferiscono <command>vi</command>—è più potente dell'EDIT del DOS—scopri il comando <command>:r</command>) - Usa <keycap>Esc</keycap> una o più volte per essere sicuro di - essere in modalità comando e continua da lì quando hai dei + Usa <keycap>Esc</keycap> una o più volte per essere sicuro di + essere in modalità comando e continua da lì quando hai dei problemi, salva spesso con <command>:w</command>, e usa <command>:q!</command> per uscire e ricominciare (dal tuo ultimo <command>:w</command>) quando ne hai bisogno.</para> @@ -623,7 +623,7 @@ <filename>/etc</filename>, <command>su</command> per diventare <username>root</username>, <command>vi</command> per modificare il file <filename>/etc/group</filename>, e aggiungere un utente al gruppo - <groupname>wheel</groupname> cosicché possa avere privilegi di + <groupname>wheel</groupname> cosicché possa avere privilegi di <username>root</username>. Aggiungi solo una virgola e il nome di login dell'utente alla fine della prima riga del file, premi <keycap>Esc</keycap>, e usa <command>:wq</command> per salvare @@ -634,7 +634,7 @@ <sect1> <title>Stampa di File da DOS</title> - <para>A questo punto la tua stampante non funzionerà ancora sotto + <para>A questo punto la tua stampante non funzionerà ancora sotto FreeBSD, ecco quindi un sistema per creare un file da una pagina man, metterlo su un floppy, e quindi stamparlo da DOS. Supponiamo che tu voglia leggere attentamente come cambiare i permessi sui file (abbastanza @@ -645,7 +645,7 @@ <screen>&prompt.user; <userinput>man chmod | col -b > chmod.txt</userinput></screen> </informalexample> - <para>toglierà gli elementi di formattazione e manderà il + <para>toglierà gli elementi di formattazione e manderà il tutto sul file <filename>chmod.txt</filename> al posto di mostrare il contenuto sullo schermo. Ora metti un dischetto formattato DOS nel lettore, digita <command>su</command> per diventare @@ -657,7 +657,7 @@ <para>per montare il floppy su <filename>/mnt</filename>.</para> - <para>Ora (non hai più bisogno di essere <username>root</username>, + <para>Ora (non hai più bisogno di essere <username>root</username>, e puoi digitare <command>exit</command> per tornare ad essere l'utente <username>jack</username>) puoi andare nella directory in cui hai creato <filename>chmod.txt</filename> e copiare il file sul floppy @@ -679,11 +679,11 @@ </informalexample> <para>e copiare <filename>dmesg.txt</filename> sul floppy. - <command>/sbin/dmesg</command> è il file di log di avvio, ed - è importante comprenderlo perché ti mostra cosa ha trovato + <command>/sbin/dmesg</command> è il file di log di avvio, ed + è importante comprenderlo perché ti mostra cosa ha trovato FreeBSD all'avvio. Se poni delle domande sulla &a.questions; o su un gruppo USENET—del tipo <quote>FreeBSD non trova il mio drive - per i nastri, che cosa faccio?</quote>—la gente vorrà + per i nastri, che cosa faccio?</quote>—la gente vorrà sapere cosa mostra il tuo <command>dmesg</command>.</para> <para>Ora devi smontare il floppy (da <username>root</username>) per poter @@ -699,22 +699,22 @@ il file debba essere salvato, e stampa come faresti da DOS o &windows;. Spera che funzioni! Le pagine man vengono meglio se stampate con il comando DOS <command>print</command>. (Copiare i file - da FreeBSD su una partizione DOS montata è ancora in alcuni casi + da FreeBSD su una partizione DOS montata è ancora in alcuni casi rischioso.)</para> <para>Far funzionare la stampante sotto FreeBSD consiste nel creare un opportuno elemento in <filename>/etc/printcap</filename> e creare una directory di spool corrispondente in - <filename>/var/spool/output</filename>. Se la tua stampante è su - <hardware>lpt0</hardware> (ciò che DOS chiama + <filename>/var/spool/output</filename>. Se la tua stampante è su + <hardware>lpt0</hardware> (ciò che DOS chiama <hardware>LPT1</hardware>), devi solo andare in <filename>/var/spool/output</filename> e (da <username>root</username>) creare la directory <filename>lpd</filename> digitando: <command>mkdir - lpd</command>, se non è già presente. A quel punto la + lpd</command>, se non è già presente. A quel punto la stampante dovrebbe rispondere quando il sistema parte, e <command>lp</command> o <command>lpr</command> dovrebbero mandare un - file alla stampante. Che il file venga stampato o meno è solo - questione di configurazione, che è discussa nel <ulink + file alla stampante. Che il file venga stampato o meno è solo + questione di configurazione, che è discussa nel <ulink url="&url.books.handbook;/index.html">Manuale di FreeBSD</ulink>.</para> </sect1> @@ -736,7 +736,7 @@ <listitem> <para>mostra i processi in esecuzione. <command>ps ax</command> - è una forma contratta.</para> + è una forma contratta.</para> </listitem> </varlistentry> @@ -799,11 +799,11 @@ <parameter>"<replaceable>nomefile</replaceable>"</parameter> (che dovrebbe essere tra virgolette). Se dici a <command>find</command> di cercare in <filename>/</filename> - anziché <filename>/usr</filename> cercherà il/i file su + anziché <filename>/usr</filename> cercherà il/i file su tutti i file system montati, inclusi i CDROM e le partizioni DOS.</para> <para>Un libro eccellente che tratta i comandi e le utility di &unix; - è <citetitle>Unix for the Impatient</citetitle> di Abrahams & + è <citetitle>Unix for the Impatient</citetitle> di Abrahams & Larson (2nd ed., Addison-Wesley, 1996). Ci sono anche un sacco di informazioni su &unix; su Internet.</para> </sect1> @@ -812,19 +812,19 @@ <title>Prossimi Passi</title> <para>Dovresti ora avere gli strumenti necessari per girare nel sistema e - modificare i file, così da poter rendere tutto funzionante. Ci - sono un sacco di informazioni nel Manuale di FreeBSD (che è + modificare i file, così da poter rendere tutto funzionante. Ci + sono un sacco di informazioni nel Manuale di FreeBSD (che è probabilmente sul tuo disco rigido) e sul <ulink url="&url.base;/it/index.html">sito web di FreeBSD</ulink>. Una - grande scelta di package e port è presente sul CDROM così + grande scelta di package e port è presente sul CDROM così come sul sito web. Il manuale ti spiega come usarli (prendi il package se esiste, con <command>pkg_add /cdrom/packages/All/<replaceable>nomepackage</replaceable></command>, - dove <replaceable>nomepackage</replaceable> è il nome del file del + dove <replaceable>nomepackage</replaceable> è il nome del file del package). Il CDROM ha una lista di package e di port con delle brevi descrizioni in <filename>cdrom/packages/index</filename>, <filename>cdrom/packages/index.txt</filename>, e - <filename>cdrom/ports/index</filename>, e con descrizioni più ampie + <filename>cdrom/ports/index</filename>, e con descrizioni più ampie in <filename>/cdrom/ports/*/*/pkg/DESCR</filename>, dove <literal>*</literal> rappresenta rispettivamente sottodirectory di tipi di programmi e nomi di programmi.</para> @@ -834,9 +834,9 @@ funziona normalmente:</para> <para>Trova il port che vuoi, supponiamo <command>kermit</command>. - Ci sarà una directory per lui sul CDROM. Copia la + Ci sarà una directory per lui sul CDROM. Copia la sottodirectory in <filename>/usr/local</filename> (un buon posto - perché il software che aggiungi sia disponibile a tutti gli utenti) + perché il software che aggiungi sia disponibile a tutti gli utenti) con:</para> <informalexample> @@ -852,9 +852,9 @@ usando <command>mkdir</command>. Poi controlla <filename>/cdrom/ports/distfiles</filename> cercando un file con il nome che indica che si tratta del port esatto. Copia quel file in - <filename>/usr/ports/distfiles</filename>; nelle versioni più - recenti puoi saltare questo passo, perché FreeBSD lo farà - per te. Nel caso di <command>kermit</command>, non c'è nessun + <filename>/usr/ports/distfiles</filename>; nelle versioni più + recenti puoi saltare questo passo, perché FreeBSD lo farà + per te. Nel caso di <command>kermit</command>, non c'è nessun distfile.</para> <para>Quindi entra con <command>cd</command> nella sottodirectory di @@ -865,10 +865,10 @@ <screen>&prompt.root; <userinput>make all install</userinput></screen> </informalexample> - <para>Durante questo processo il port userà FTP per scaricare + <para>Durante questo processo il port userà FTP per scaricare i file compressi che non ha trovato sul CDROM o in <filename>/usr/ports/distfiles</filename>. Se la tua connessione - non funziona ancora e non c'è nessun file per il port in + non funziona ancora e non c'è nessun file per il port in <filename>/cdrom/ports/distfiles</filename>, dovrai recuperare il distfile usando un'altra macchina e poi copiarlo in <filename>/usr/ports/distfiles</filename> da un dischetto o dalla @@ -876,23 +876,23 @@ <command>cat</command> o <command>more</command> oppure <command>view</command>) per scoprire dove andare (il sito principale di distribuzione) per trovare il file e conoscere il suo nome. Il nome - verrà troncato quando scaricato da DOS, e dopo averlo trasferito + verrà troncato quando scaricato da DOS, e dopo averlo trasferito in <filename>/usr/ports/distfiles</filename> dovrai rinominarlo (usando il comando <command>mv</command>) nel suo - nome originale cosicché possa essere trovato. (Usa il + nome originale cosicché possa essere trovato. (Usa il trasferimento di file binario!) Quindi torna in <filename>/usr/local/kermit</filename>, trova la directory contenente <filename>Makefile</filename>, e digita <command>make all install</command>.</para> - <para>Un'altra cosa che può succedere quando si installa un port o un - package è che questi abbiano bisogno di un altro programma. Se + <para>Un'altra cosa che può succedere quando si installa un port o un + package è che questi abbiano bisogno di un altro programma. Se l'installazione si ferma con un messaggio <errorname>can't find unzip</errorname> o simile, potresti dover installare il package o il port di unzip prima di proseguire.</para> <para>Una volta installato, digita <command>rehash</command> per far - sì che FreeBSD rilegga i file contenuti nel path e sappia quali + sì che FreeBSD rilegga i file contenuti nel path e sappia quali sono presenti. (Se trovi un sacco di messaggi <errorname>path not found</errorname> quando usi <command>whereis</command> o which, dovresti @@ -901,20 +901,20 @@ L'elenco dei path in &unix; fa la stessa cosa che fa in DOS, tranne che la directory corrente (di default) non si trova nel path per ragioni di sicurezza; se il comando - che vuoi eseguire è nella directory in cui ti trovi, devi digitare + che vuoi eseguire è nella directory in cui ti trovi, devi digitare <filename>./</filename> prima del nome del comando; niente spazio dopo la barra.)</para> - <para>Potresti volere la versione più recente di &netscape; + <para>Potresti volere la versione più recente di &netscape; dal loro <ulink url="ftp://ftp.netscape.com/">sito FTP</ulink>. - (&netscape; necessita dell'X Window System.) Ora c'é una versione - per FreeBSD, quindi dà un'occhiata in giro. Usa solo + (&netscape; necessita dell'X Window System.) Ora c'é una versione + per FreeBSD, quindi dà un'occhiata in giro. Usa solo <command>gunzip <replaceable>nomefile</replaceable></command> e <command>tar xvf <replaceable>nomefile</replaceable></command> sul file, sposta il binario in <filename>/usr/local/bin</filename> o qualche altro posto in cui vengono tenuti i binari, esegui <command>rehash</command>, e quindi aggiungi le seguenti linee a <filename>.cshrc</filename> in tutte - le directory home degli utenti oppure (più semplicemente) in + le directory home degli utenti oppure (più semplicemente) in <filename>/etc/csh.cshrc</filename>, il file di configurazione globale di <command>csh</command>:</para> @@ -926,11 +926,11 @@ setenv XNLSPATH /usr/X11R6/lib/X11/nls</programlisting> <para>Questo assume che il file <filename>XKeysymDB</filename> e la directory <filename>nls</filename> siano in <filename>/usr/X11R6/lib/X11</filename>; se non lo sono, trovale - e mettile lì.</para> + e mettile lì.</para> <para>Se hai originariamente installato &netscape; dal CDROM (o via FTP), non sostituire <filename>/usr/local/bin/netscape</filename> - con il nuovo binario di netscape; questo è solo uno script di shell + con il nuovo binario di netscape; questo è solo uno script di shell che imposta le variabili di ambiente per te. Rinomina invece il nuovo binario in <filename>netscape.bin</filename> e rimpiazza il vecchio binario, che dovrebbe essere @@ -940,9 +940,9 @@ setenv XNLSPATH /usr/X11R6/lib/X11/nls</programlisting> <sect1> <title>Il tuo Ambiente di Lavoro</title> - <para>La shell è la parte più importante del tuo ambiente - di lavoro. In DOS, la shell è solitamente command.com. La shell - è ciò che interpreta i comandi che digiti sulla linea di + <para>La shell è la parte più importante del tuo ambiente + di lavoro. In DOS, la shell è solitamente command.com. La shell + è ciò che interpreta i comandi che digiti sulla linea di comando, e quindi comunica con il resto del sistema operativo. Puoi anche scrivere script di shell, che sono come i file batch di DOS: una serie di comandi che devono essere eseguiti senza il tuo @@ -950,19 +950,19 @@ setenv XNLSPATH /usr/X11R6/lib/X11/nls</programlisting> <para>Due shell vengono normalmente installate con FreeBSD: <command>csh</command> e <command>sh</command>. - <command>csh</command> è buona per lavoro da linea di comando, ma + <command>csh</command> è buona per lavoro da linea di comando, ma gli script dovrebbero essere scritti usando <command>sh</command> (o <command>bash</command>). Puoi scoprire che shell hai digitando <command>echo $SHELL</command>.</para> - <para><command>csh</command> è una buona shell, ma - <command>tcsh</command> fa tutto ciò che <command>csh</command> + <para><command>csh</command> è una buona shell, ma + <command>tcsh</command> fa tutto ciò che <command>csh</command> fa e anche altro. Ti permette di richiamare i comandi usando le frecce e ti permette di modificarli. Ha l'auto-completamento dei nomi di file con tab (<command>csh</command> usa <keycap>Esc</keycap>), e ti permette di tornare alla directory in cui eri digitando - <command>cd -</command>. È anche più semplice alterare il - prompt con <command>tcsh</command>. Ti rende la vita più + <command>cd -</command>. È anche più semplice alterare il + prompt con <command>tcsh</command>. Ti rende la vita più facile.</para> <para>Ecco tre semplici passi per installare una nuova shell:</para> @@ -993,15 +993,15 @@ setenv XNLSPATH /usr/X11R6/lib/X11/nls</programlisting> </procedure> <note> - <para>Può essere pericoloso cambiare la shell di + <para>Può essere pericoloso cambiare la shell di <username>root</username> in qualcosa di diverso da - <command>sh</command> o <command>csh</command> su versioni più + <command>sh</command> o <command>csh</command> su versioni più recenti di FreeBSD e di &unix;; potresti non avere una shell - funzionante se il sistema entra in modalità singolo utente. - La soluzione è usare <command>su -m</command> per diventare - <username>root</username>, che ti dà <command>tcsh</command> come - shell di <username>root</username>, poiché la shell è - parte del tuo ambiente. Puoi rendere tutto ciò permanente + funzionante se il sistema entra in modalità singolo utente. + La soluzione è usare <command>su -m</command> per diventare + <username>root</username>, che ti dà <command>tcsh</command> come + shell di <username>root</username>, poiché la shell è + parte del tuo ambiente. Puoi rendere tutto ciò permanente aggiungendo al tuo <filename>.tcshrc</filename> un alias con:</para> <programlisting>alias su su -m</programlisting> </note> @@ -1009,7 +1009,7 @@ setenv XNLSPATH /usr/X11R6/lib/X11/nls</programlisting> <para>Quando <command>tcsh</command> parte, legge i file <filename>/etc/csh.cshrc</filename> e <filename>/etc/csh.login</filename>, come farebbe - <command>csh</command>. Leggerà anche il file + <command>csh</command>. Leggerà anche il file <filename>.login</filename> nella tua directory home ed anche <filename>.cshrc</filename>, a meno che tu non abbia un file <filename>.tcshrc</filename>. Puoi crearlo copiando @@ -1018,7 +1018,7 @@ setenv XNLSPATH /usr/X11R6/lib/X11/nls</programlisting> <para>Ora che hai installato <command>tcsh</command>, puoi sistemare il tuo prompt. Puoi trovare i dettagli nella pagina man di <command>tcsh</command>, ma ecco qui una linea da mettere nel tuo - <filename>.tcshrc</filename> che ti dirà quanti comandi hai + <filename>.tcshrc</filename> che ti dirà quanti comandi hai digitato, che ore sono, e in che directory ti trovi. Produce anche un <literal>></literal> se sei un utente normale e un <literal>#</literal> se sei <username>root</username>, @@ -1027,19 +1027,19 @@ setenv XNLSPATH /usr/X11R6/lib/X11/nls</programlisting> <para>set prompt = "%h %t %~ %# "</para> <para>Questa dovrebbe andare nella stessa posizione della linea di - prompt corrente se ce n'è una, o sotto "if($?prompt) then" in caso - contrario. Commenta la vecchia riga; così potrai tornare a quella + prompt corrente se ce n'è una, o sotto "if($?prompt) then" in caso + contrario. Commenta la vecchia riga; così potrai tornare a quella vecchia se la preferirai. Non dimenticare gli spazi e le virgolette. Puoi far rileggere <filename>.tcshrc</filename> digitando <command>source .tcshrc</command>.</para> <para>Puoi avere una lista delle variabili di sistema che sono state impostate digitando <command>env</command> al prompt. - Il risultato ti mostrerà il tuo editor di default, il pager, e il + Il risultato ti mostrerà il tuo editor di default, il pager, e il tipo di terminale, tra le altre possibili variabili. Un comando utile se ti connetti al sistema da una postazione remota e non riesci ad - eseguire un programma perché il terminale non ne è capace - è <command>setenv TERM vt100</command>.</para> + eseguire un programma perché il terminale non ne è capace + è <command>setenv TERM vt100</command>.</para> </sect1> <sect1> @@ -1050,28 +1050,28 @@ setenv XNLSPATH /usr/X11R6/lib/X11/nls</programlisting> inseriscine un altro, e montalo con <command>/sbin/mount_cd9660 /dev/cd0a /cdrom</command> assumendo che <hardware>cd0a</hardware> sia il nome di dispositivo del tuo lettore di - CDROM. La versione più recente di FreeBSD ti permette di montare + CDROM. La versione più recente di FreeBSD ti permette di montare il CDROM solo con <command>/sbin/mount /cdrom</command>.</para> <para>Usare il <quote>live file system</quote>—il secondo cd del set - di FreeBSD—è - utile se hai poco spazio a disposizione. Ciò che si trova + di FreeBSD—è + utile se hai poco spazio a disposizione. Ciò che si trova sul live file system cambia da release a release. Potresti provare ad eseguire dei giochi dal CDROM. Questo comporta l'uso di <command>lndir</command>, che viene installato con l'X Window - System, per dire ai programmi dove trovare i file necessari, poiché + System, per dire ai programmi dove trovare i file necessari, poiché questi si trovano nel file system <filename>/cdrom</filename> - anziché <filename>/usr</filename> e le sue - sottodirectory, che è dove dovrebbero essere. Leggi - <command>man lndir</command> per avere più informazioni.</para> + anziché <filename>/usr</filename> e le sue + sottodirectory, che è dove dovrebbero essere. Leggi + <command>man lndir</command> per avere più informazioni.</para> </sect1> <sect1> <title>I Commenti sono Benvenuti</title> - <para>Se usi questa guida, sarei interessata a sapere dove non è - chiara, ciò che è stato tralasciato e che vorresti venisse - incluso, e sapere se tutto ciò è stato utile. I miei + <para>Se usi questa guida, sarei interessata a sapere dove non è + chiara, ciò che è stato tralasciato e che vorresti venisse + incluso, e sapere se tutto ciò è stato utile. I miei ringraziamenti vanno a Eugene W. Stark, professore di informatica a SUNY-Stony Brook, e John Fieber per i suoi utili commenti.</para> @@ -1079,7 +1079,7 @@ setenv XNLSPATH /usr/X11R6/lib/X11/nls</programlisting> <para>Per questioni legate alla traduzione, o se avete commenti da poter esprimere solo in italiano, non esitate a contattarmi. Come per l'autrice - originale, ogni genere di commenti è ben accetto.</para> + originale, ogni genere di commenti è ben accetto.</para> <para>Massimiliano Stucchi, <email>stucchi@willystudios.com</email></para> </sect1> diff --git a/it_IT.ISO8859-15/articles/vm-design/article.sgml b/it_IT.ISO8859-15/articles/vm-design/article.sgml index a257c50064..7c84119535 100644 --- a/it_IT.ISO8859-15/articles/vm-design/article.sgml +++ b/it_IT.ISO8859-15/articles/vm-design/article.sgml @@ -43,36 +43,36 @@ <releaseinfo>$FreeBSD$</releaseinfo> <abstract> - <para>Il titolo è in realtà solo un modo complicato per dire - che cercherò di descrivere l'intera enchilada della memoria + <para>Il titolo è in realtà solo un modo complicato per dire + che cercherò di descrivere l'intera enchilada della memoria virtuale (VM), sperando di farlo in una maniera che chiunque possa seguire. Nell'ultimo anno mi sono concentrato su un certo numero di sottosistemi principali del kernel in FreeBSD, trovando quelli della VM (la memoria - virtuale) e dello Swap i più interessanti, e considerando quello + virtuale) e dello Swap i più interessanti, e considerando quello di NFS <quote>un lavoretto necessario</quote>. Ho riscritto solo piccole porzioni di quel codice. Nell'arena - della VM la sola grossa riscrittura che ho affrontato è stata + della VM la sola grossa riscrittura che ho affrontato è stata quella del sottosistema di swap. - La maggior parte del mio lavoro è stato di pulizia e + La maggior parte del mio lavoro è stato di pulizia e mantenimento, con solo alcune moderate riscritture di codice e nessuna correzione rilevante a livello algoritmico nel sottosistema della VM. Il nocciolo della base teorica del sottosistema rimane immutato ed un bel po' del merito per gli sforzi di modernizzazione negli ultimi anni appartiene a John Dyson e David - Greenman. Poiché non sono uno storico come Kirk non - tenterò di marcare tutte le varie caratteristiche con i nomi - delle relative persone, perché sbaglierei + Greenman. Poiché non sono uno storico come Kirk non + tenterò di marcare tutte le varie caratteristiche con i nomi + delle relative persone, perché sbaglierei invariabilmente.</para> &trans.it.surrender; </abstract> <legalnotice> - <para>Questo articolo è stato pubblicato in origine nel numero di + <para>Questo articolo è stato pubblicato in origine nel numero di gennaio 2000 di <ulink url="http://www.daemonnews.org/">DaemonNews</ulink>. - Questa versione dell'articolo può includere aggiornamenti da + Questa versione dell'articolo può includere aggiornamenti da parte di Matt e di altri autori per riflettere i cambiamenti nell'implementazione della VM di FreeBSD.</para> </legalnotice> @@ -82,69 +82,69 @@ <title>Introduzione</title> <para>Prima di andare avanti con la descrizione del progetto effettivo - della VM spendiamo un po' di tempo sulla necessità di mantenere + della VM spendiamo un po' di tempo sulla necessità di mantenere e modernizzare una qualunque base di codice longeva. - Nel mondo della programmazione, gli algoritmi tendono ad essere più - importanti del codice ed è dovuto alle radici accademiche - di BSD che si è prestata grande attenzione alla progettazione + Nel mondo della programmazione, gli algoritmi tendono ad essere più + importanti del codice ed è dovuto alle radici accademiche + di BSD che si è prestata grande attenzione alla progettazione algoritmica sin dal principio. Una maggiore attenzione al design in genere conduce ad una base di codice - flessibile e pulita che può essere modificata abbastanza + flessibile e pulita che può essere modificata abbastanza semplicemente, estesa, o rimpiazzata nel tempo. Mentre BSD viene considerato un sistema operativo <quote>vecchio</quote> da alcune persone, quelli di noi che lavorano su di esso tendono a considerarlo come una base di codice <quote>matura</quote> che ha vari componenti modificati, estesi, o rimpiazzati con codice - moderno. Questa si è evoluta, e FreeBSD è all'avanguardia, + moderno. Questa si è evoluta, e FreeBSD è all'avanguardia, non importa quanto possa essere vecchio qualche pezzo di codice. - Questa è una distinzione importante da fare ed una di quelle che - sfortunatamente sfuggono alla maggior parte delle persone. Il più - grande errore che un programmatore possa fare è non imparare - dalla storia, e questo è precisamente l'errore che molti sistemi - operativi moderni hanno commesso. &windowsnt; è il miglior esempio + Questa è una distinzione importante da fare ed una di quelle che + sfortunatamente sfuggono alla maggior parte delle persone. Il più + grande errore che un programmatore possa fare è non imparare + dalla storia, e questo è precisamente l'errore che molti sistemi + operativi moderni hanno commesso. &windowsnt; è il miglior esempio di questo, e le conseguenze sono state disastrose. Anche Linux commette - questo errore a un certo livello—abbastanza perché noi + questo errore a un certo livello—abbastanza perché noi appassionati di BSD possiamo scherzarci su ogni tanto, comunque. - Il problema di Linux è semplicemente la mancanza di esperienza e + Il problema di Linux è semplicemente la mancanza di esperienza e di una storia con la quale confrontare le idee, un problema che sta - venendo affrontato rapidamente dalla comunità Linux nello stesso - modo in cui è stato affrontato da quella BSD—con il continuo + venendo affrontato rapidamente dalla comunità Linux nello stesso + modo in cui è stato affrontato da quella BSD—con il continuo sviluppo di codice. La gente di &windowsnt;, d'altro canto, fa ripetutamente gli stessi errori risolti da &unix; decadi fa e poi impiega anni nel risolverli. E poi li rifanno, ancora, e ancora. - Soffrono di un preoccupante caso di <quote>non è stato progettato - qui</quote> e di <quote>abbiamo sempre ragione perché il nostro - dipartimento marketing dice così</quote>. Io ho pochissima + Soffrono di un preoccupante caso di <quote>non è stato progettato + qui</quote> e di <quote>abbiamo sempre ragione perché il nostro + dipartimento marketing dice così</quote>. Io ho pochissima tolleranza per chiunque non impari dalla storia.</para> - <para>La maggior parte dell'apparente complessità di progettazione di - FreeBSD, specialmente nel sottosistema VM/Swap, è una conseguenza + <para>La maggior parte dell'apparente complessità di progettazione di + FreeBSD, specialmente nel sottosistema VM/Swap, è una conseguenza diretta dell'aver dovuto risolvere importanti problemi di prestazioni legati a varie condizioni. Questi problemi non sono dovuti a cattivi progetti algoritmici ma sorgono invece da fattori ambientali. In ogni paragone diretto tra piattaforme, questi problemi - diventano più evidenti quando le risorse di sistema cominciano ad + diventano più evidenti quando le risorse di sistema cominciano ad essere stressate. Mentre descrivo il sottosistema VM/Swap di FreeBSD il lettore dovrebbe sempre tenere a mente almeno due punti. Primo, l'aspetto - più importante nel design prestazionale è ciò che - è noto come <quote>Ottimizzazione del Percorso Critico</quote>. + più importante nel design prestazionale è ciò che + è noto come <quote>Ottimizzazione del Percorso Critico</quote>. Accade spesso che le ottimizzazioni prestazionali aggiungano - un po di impurità al codice per far migliorare il percorso critico. + un po di impurità al codice per far migliorare il percorso critico. Secondo, un progetto solido e generalizzato, funziona meglio di un progetto pesantemente ottimizzato, alla lunga. Mentre un progetto - generale può alla fin fine essere più lento di un sistema + generale può alla fin fine essere più lento di un sistema pesantemente ottimizzato quando vengono implementati inizialmente, il - progetto generalizzato tende ad essere più semplice da adattare + progetto generalizzato tende ad essere più semplice da adattare alle condizioni variabili mentre quello pesantemente ottimizzato finisce - per dover essere gettato via. Ogni base di codice che dovrà + per dover essere gettato via. Ogni base di codice che dovrà sopravvivere ed essere mantenibile per anni deve dunque essere progettata - con attenzione fin dall'inizio anche se questo può portare a + con attenzione fin dall'inizio anche se questo può portare a piccoli peggioramenti nelle prestazioni. Vent'anni fa c'era ancora gente che sosteneva che programmare in assembly - era meglio che programmare in linguaggi di alto livello, perché - si poteva produrre codice che era dieci volte più veloce. Oggi, - la fallacia di tale argomento è ovvia—così come i + era meglio che programmare in linguaggi di alto livello, perché + si poteva produrre codice che era dieci volte più veloce. Oggi, + la fallacia di tale argomento è ovvia—così come i paralleli con il design algoritmico e la generalizzazione del codice.</para> </sect1> @@ -153,29 +153,29 @@ <title>Oggetti VM</title> <para>Il modo migliore per iniziare a descrivere il sistema di VM di FreeBSD - è guardandolo dalla prospettiva di un processo a livello + è guardandolo dalla prospettiva di un processo a livello utente. Ogni processo utente vede uno spazio di indirizzamento della VM singolo, privato e contiguo, contenente molti tipi di oggetti di memoria. Questi oggetti hanno varie caratteristiche. Il codice del programma e i dati del programma sono effettivamente - un singolo file mappato in memoria (il file binario che è stato - eseguito), ma il codice di programma è di sola lettura mentre i + un singolo file mappato in memoria (il file binario che è stato + eseguito), ma il codice di programma è di sola lettura mentre i dati del programma sono copy-on-write <footnote> <para>I dati copy on write sono dati che vengono copiati solo al momento della loro effettiva modifica</para> - </footnote>. Il BSS del programma è solamente una zona di memoria + </footnote>. Il BSS del programma è solamente una zona di memoria allocata e riempita con degli zero su richiesta, detta in inglese <quote>demand zero page fill</quote>. Nello spazio di indirizzamento possono essere mappati anche file - arbitrari, che è in effetti il meccanismo con il quale funzionano + arbitrari, che è in effetti il meccanismo con il quale funzionano le librerie condivise. Tali mappature possono richiedere modifiche per rimanere private rispetto al processo che le ha effettuate. La chiamata di sistema fork aggiunge una dimensione completamente nuova - al problema della gestione della VM in cima alla complessità - già data.</para> + al problema della gestione della VM in cima alla complessità + già data.</para> - <para>Una pagina di dati di un programma (che è una basilare pagina - copy-on-write) illustra questa complessità. Un programma binario + <para>Una pagina di dati di un programma (che è una basilare pagina + copy-on-write) illustra questa complessità. Un programma binario contiene una sezione di dati preinizializzati che viene inizialmente mappata direttamente in memoria dal file del programma. Quando un programma viene caricato nello spazio di memoria virtuale di un @@ -184,50 +184,50 @@ liberare/riusare la pagina in seguito e poi ricaricarla dal binario. Nel momento in cui un processo modifica questi dati, comunque, il sistema della VM deve mantenere una copia privata della pagina per quel - processo. Poiché la copia privata è stata modificata, il - sistema della VM non può più liberarlo, poiché non ci - sarebbe più nessuna possibilità di recuperarlo in + processo. Poiché la copia privata è stata modificata, il + sistema della VM non può più liberarlo, poiché non ci + sarebbe più nessuna possibilità di recuperarlo in seguito.</para> <para>Noterai immediatamente che quella che in origine era soltanto - una semplice mappatura di un file è diventata qualcosa di - più complesso. + una semplice mappatura di un file è diventata qualcosa di + più complesso. I dati possono essere modificati pagina per pagina mentre una mappatura di file coinvolge molte pagine alla volta. - La complessità aumenta ancora quando un processo esegue una fork. + La complessità aumenta ancora quando un processo esegue una fork. Quando un processo esegue una fork, il risultato sono due processi—ognuno con il proprio spazio di indirizzamento privato, inclusa ogni modifica fatta dal processo originale prima della chiamata a <function>fork()</function>. Sarebbe stupido per un sistema di VM creare una copia completa dei dati al momento della <function>fork()</function> - perché è abbastanza probabile che almeno uno dei due - processi avrà bisogno soltanto di leggere da una certa pagina da + perché è abbastanza probabile che almeno uno dei due + processi avrà bisogno soltanto di leggere da una certa pagina da quel momento in poi, permettendo di continuare ad usare la pagina originale. Quella che era una pagina privata viene di nuovo - resa una copy-on-write, poiché ogni processo (padre e figlio) si + resa una copy-on-write, poiché ogni processo (padre e figlio) si aspetta che i propri cambiamenti rimangano privati per loro e non abbiano effetti sugli altri.</para> - <para>FreeBSD gestisce tutto ciò con un modello a strati di oggetti + <para>FreeBSD gestisce tutto ciò con un modello a strati di oggetti VM. Il file binario originale del programma risulta come lo strato di - Oggetti VM più basso. + Oggetti VM più basso. Un livello copy-on-write viene messo sopra questo per mantenere quelle pagine che sono state copiate dal file originale. Se il programma modifica una pagina di dati appartenente al file originale il sistema dell VM prende un page fault <footnote> <para>Un page fault, o <quote>mancanza di pagina</quote>, corrisponde ad una mancanza di una determinata pagina di memoria a un - certo livello, ed alla necessità di copiarla da un livello - più lento. Ad esempio se una pagina di memoria è stata + certo livello, ed alla necessità di copiarla da un livello + più lento. Ad esempio se una pagina di memoria è stata spostata dalla memoria fisica allo spazio di swap su disco, e viene richiamata, si genera un page fault e la pagina viene di nuovo copiata in ram.</para> - </footnote> e fa una copia della pagina nel livello più alto. + </footnote> e fa una copia della pagina nel livello più alto. Quando un processo effettua una fork, vengono aggiunti altri livelli di - Oggetti VM. Tutto questo potrebbe avere un po' più senso con un + Oggetti VM. Tutto questo potrebbe avere un po' più senso con un semplice esempio. - Una <function>fork()</function> è un'operazione comune per ogni - sistema *BSD, dunque questo esempio prenderà in considerazione un + Una <function>fork()</function> è un'operazione comune per ogni + sistema *BSD, dunque questo esempio prenderà in considerazione un programma che viene avviato ed esegue una fork. Quando il processo viene avviato, il sistema della VM crea uno starto di oggetti, chiamiamolo A:</para> @@ -250,12 +250,12 @@ <para>A rappresenta il file—le pagine possono essere spostate dentro e fuori dal mezzo fisico del file se necessario. - Copiare il file dal disco è sensato per un programma, + Copiare il file dal disco è sensato per un programma, ma di certo non vogliamo effettuare il page out <footnote> <para>La copia dalla memoria al disco, l'opposto del page in, la mappatura in memoria.</para> </footnote> e sovrascrivere l'eseguibile. - Il sistema della VM crea dunque un secondo livello, B, che verrà + Il sistema della VM crea dunque un secondo livello, B, che verrà copiato fisicamente dallo spazio di swap:</para> <mediaobject> @@ -296,21 +296,21 @@ </mediaobject> <para>In questo caso, supponiamo che una pagina in B venga modificata dal - processo genitore. Il processo subirà un fault di copy-on-write e - duplicherà la pagina in C1, lasciando la pagina originale in B + processo genitore. Il processo subirà un fault di copy-on-write e + duplicherà la pagina in C1, lasciando la pagina originale in B intatta. Ora, supponiamo che la stessa pagina in B venga modificata dal processo - figlio. Il processo subirà un fault di copy-on-write e - duplicherà la pagina in C2. - La pagina originale in B è ora completamente nascosta poiché + figlio. Il processo subirà un fault di copy-on-write e + duplicherà la pagina in C2. + La pagina originale in B è ora completamente nascosta poiché sia C1 che C2 hanno una copia e B potrebbe teoricamente essere distrutta (se non rappresenta un <quote>vero</quote> file); - comunque, questo tipo di ottimizzazione non è triviale da - realizzare perché è di grana molto fine. + comunque, questo tipo di ottimizzazione non è triviale da + realizzare perché è di grana molto fine. FreeBSD non effettua questa ottimizzazione. - Ora, supponiamo (come è spesso il caso) che + Ora, supponiamo (come è spesso il caso) che il processo figlio effettui una <function>exec()</function>. Il suo - attuale spazio di indirizzamento è in genere rimpiazzato da un + attuale spazio di indirizzamento è in genere rimpiazzato da un nuovo spazio di indirizzamento rappresentante il nuovo file. In questo caso il livello C2 viene distrutto:</para> @@ -331,7 +331,7 @@ </mediaobject> <para>In questo caso, il numero di figli di B scende a uno, e tutti gli - accessi a B avvengono attraverso C1. Ciò significa che B e C1 + accessi a B avvengono attraverso C1. Ciò significa che B e C1 possono collassare insieme in un singolo strato. Ogni pagina in B che esista anche in C1 viene cancellata da B durante il crollo. Dunque, anche se l'ottimizzazione nel passo @@ -339,54 +339,54 @@ quando il processo esce o esegue una <function>exec()</function>.</para> <para>Questo modello crea un bel po' di problemi potenziali. Il primo - è che ci si potrebbe ritrovare con una pila abbastanza profonda di + è che ci si potrebbe ritrovare con una pila abbastanza profonda di Oggetti VM incolonnati che costerebbe memoria e tempo per la ricerca - quando accadesse un fault. Può verificarsi un ingrandimento della + quando accadesse un fault. Può verificarsi un ingrandimento della pila quando un processo esegue una fork dopo l'altra (che sia il padre o - il figlio). Il secondo problema è che potremmo ritrovarci con - pagine morte, inaccessibili nella profondità della pila degli + il figlio). Il secondo problema è che potremmo ritrovarci con + pagine morte, inaccessibili nella profondità della pila degli Oggetti VM. Nel nostro ultimo esempio se sia il padre che il figlio modificano la stessa pagina, entrambi hanno una loro copia della pagina e - la pagina originale in B non è più accessibile - da nessuno. Quella pagina in B può essere liberata.</para> + la pagina originale in B non è più accessibile + da nessuno. Quella pagina in B può essere liberata.</para> - <para>FreeBSD risolve il problema della profondità dei livelli con + <para>FreeBSD risolve il problema della profondità dei livelli con un'ottimizzazione speciale detta <quote>All Shadowed Case</quote> (caso dell'oscuramento totale). Questo caso accade se C1 o C2 subiscono sufficienti COW fault (COW - è l'acronimo che sta per copy on write) da oscurare completamente + è l'acronimo che sta per copy on write) da oscurare completamente tutte le pagine in B. - Ponimo che C1 abbia raggiunto questo livello. C1 può ora + Ponimo che C1 abbia raggiunto questo livello. C1 può ora scavalcare B del tutto, dunque invece di avere C1->B->A e C2->B->A adesso abbiamo C1->A e C2->B->A. - ma si noti cos'altro è accaduto—ora B ha solo un riferimento + ma si noti cos'altro è accaduto—ora B ha solo un riferimento (C2), dunque possiamo far collassare B e C2 insieme. - Il risultato finale è che B viene cancellato + Il risultato finale è che B viene cancellato interamente e abbiamo C1->A e C2->A. Spesso accade che B contenga un grosso numero di pagine e ne' C1 ne' C2 riescano a oscurarlo completamente. Se eseguiamo una nuova fork e creiamo un insieme di - livelli D, comunque, è molto più probabile che uno dei + livelli D, comunque, è molto più probabile che uno dei livelli D sia eventualmente in grado di oscurare completamente l'insieme - di dati più piccolo rappresentato da C1 o C2. La stessa - ottimizzazione funzionerà in ogni punto nel grafico ed il - risultato di ciò è che anche su una macchina con + di dati più piccolo rappresentato da C1 o C2. La stessa + ottimizzazione funzionerà in ogni punto nel grafico ed il + risultato di ciò è che anche su una macchina con moltissime fork le pile degli Oggetti VM tendono a non superare una - profondità di 4. Ciò è vero sia per il padre che per - il figlio ed è vero nel caso sia il padre a eseguire la fork ma - anche se è il figlio a eseguire fork in cascata.</para> + profondità di 4. Ciò è vero sia per il padre che per + il figlio ed è vero nel caso sia il padre a eseguire la fork ma + anche se è il figlio a eseguire fork in cascata.</para> <para>Il problema della pagina morta esiste ancora nel caso C1 o C2 non oscurino completamente B. A causa delle altre ottimizzazioni questa - eventualità + eventualità non rappresenta un grosso problema e quindi permettiamo semplicemente alle pagine di essere morte. Se il sistema si trovasse con poca memoria - le manderebbe in swap, consumando un po' di swap, ma così - è.</para> + le manderebbe in swap, consumando un po' di swap, ma così + è.</para> - <para>Il vantaggio del modello ad Oggetti VM è che - <function>fork()</function> è estremamente veloce, poiché + <para>Il vantaggio del modello ad Oggetti VM è che + <function>fork()</function> è estremamente veloce, poiché non deve aver luogo nessuna copia di dati effettiva. Lo svantaggio - è che è possibile costruire un meccanismo a livelli di + è che è possibile costruire un meccanismo a livelli di Oggetti VM relativamente complesso che rallenterebbe la gestione dei page fault, e consumerebbe memoria gestendo le strutture degli Oggetti VM. Le ottimizazioni realizzate da FreeBSD danno prova di ridurre @@ -400,12 +400,12 @@ <para>Le pagine di dati private sono inizialmente o pagine copy-on-write o pagine zero-fill. Quando avviene un cambiamento, e dunque una copia, l'oggetto di copia - originale (in genere un file) non può più essere utilizzato + originale (in genere un file) non può più essere utilizzato per salvare la copia quando il sistema della VM ha bisogno di riutilizzarla per altri scopi. A questo punto entra in gioco lo SWAP. Lo SWAP viene allocato per creare spazio dove salvare memoria che altrimenti non sarebbe disponibile. FreeBSD alloca la struttura di gestione di - un Oggetto VM solo quando è veramente necessario. + un Oggetto VM solo quando è veramente necessario. Ad ogni modo, la struttura di gestione dello swap ha avuto storicamente dei problemi.</para> @@ -417,43 +417,43 @@ all'esecuzione (large runsizes, RSS). Inoltre, per poter tenere traccia dello spazio di swap, viene mantenuta una <quote>lista dei buchi</quote> nella memoria del kernel, ed anche questa tende ad essere pesantemente - frammentata. Poiché la <quote>lista dei buchi</quote> è una + frammentata. Poiché la <quote>lista dei buchi</quote> è una lista lineare, l'allocazione di swap e la liberazione hanno prestazioni non ottimali O(n) per ogni pagina. Questo richiede anche che avvengano allocazioni di memoria durante il processo di liberazione dello swap, e questo crea problemi di deadlock, blocchi senza uscita, dovuti a scarsa memoria. - Il problema è ancor più esacerbato dai buchi creati a causa + Il problema è ancor più esacerbato dai buchi creati a causa dell'algoritmo di interleaving. - Inoltre il blocco di swap può divenire frammentato molto facilmente + Inoltre il blocco di swap può divenire frammentato molto facilmente causando un'allocazione non contigua. Anche la memoria del Kernel deve essere allocata al volo per le strutture aggiuntive di gestione dello - swap quando avviene uno swapout. È evidente che c'era molto spazio + swap quando avviene uno swapout. È evidente che c'era molto spazio per dei miglioramenti.</para> <para>Per FreeBSD 4.X, ho completamente riscritto il sottosistema di swap. Con questa riscrittura, le strutture di gestione dello swap vengono allocate attraverso una tabella di hash invece che con un array lineare - fornendo una dimensione di allocazione fissata e una granularità + fornendo una dimensione di allocazione fissata e una granularità molto maggiore. Invece di usare una lista lineare collegata per tenere traccia delle riserve di spazio di swap, essa usa una mappa di bit di blocchi di swap organizzata in una struttura ad albero radicato con riferimenti allo - spazio libero nelle strutture nei nodi dell'albero. Ciò rende in + spazio libero nelle strutture nei nodi dell'albero. Ciò rende in effetti l'operazione di allocazione e liberazione delle risorse un'operazione O(1). L'intera mappa di bit dell'albero radicato viene anche preallocata in modo da evitare l'allocazione di memoria kernel durante le operazioni di swap - critiche nei momenti in cui la memoria disponibile è ridotta. + critiche nei momenti in cui la memoria disponibile è ridotta. Dopo tutto, il sistema tende a fare uso dello swap quando ha poca memoria quindi dovremmo evitare di allocare memoria per il kernel in quei momenti per poter evitare potenziali deadlock. Infine, per ridurre la - frammentazione l'albero radicato è in grado di allocare grandi + frammentazione l'albero radicato è in grado di allocare grandi spezzoni contigui in una volta, saltando i pezzetti frammentati. Non ho ancora compiuto il passo finale di avere un <quote>puntatore di supportoall'allocazione</quote> che scorra su una porzione di swap nel momento in cui vengano effettuate delle allocazioni, in modo da garantire - ancor di più le allocazioni contigue o almeno una località + ancor di più le allocazioni contigue o almeno una località nel riferimento, ma ho assicurato che un'aggiunta simile possa essere effettuata.</para> </sect1> @@ -461,42 +461,42 @@ <sect1 id="freeing-pages"> <title>Quando liberare una pagina</title> - <para>Poiché il sistema della VM usa tutta la memoria disponibile + <para>Poiché il sistema della VM usa tutta la memoria disponibile per il caching del disco, in genere ci sono pochissime pagine veramente - libere. Il sistema della VM dipende dalla possibilità di + libere. Il sistema della VM dipende dalla possibilità di scegliere in maniera appropriata le pagine che non sono in uso per riusarle in nuove allocazioni. Selezionare le pagine ottimali da liberare - è forse la funzione singola più importante che possa essere - eseguita da una VM perché se si effettua una selezione non - accurata, il sistema della VM può essere forzato a recuperare + è forse la funzione singola più importante che possa essere + eseguita da una VM perché se si effettua una selezione non + accurata, il sistema della VM può essere forzato a recuperare pagine dal disco in modo non necessari, degradando seriamente le prestazioni del sistema.</para> <para>Quanto sovraccarico siamo disposti a sopportare nel percorso critico per evitare di liberare la pagina sbagliata? Ogni scelta sbagliata che - facciamo ci costerà centinaia di migliaia di cicli di CPU ed uno + facciamo ci costerà centinaia di migliaia di cicli di CPU ed uno stallo percettibile nei processi coinvolti, dunque permettiamo un sovraccarico significativo in modo da poter avere la certezza che la pagina scelta sia quella giusta. - Questo è il motivo per cui FreeBSD tende ad avere prestazioni + Questo è il motivo per cui FreeBSD tende ad avere prestazioni migliori di altri sistemi quando le risorse di memoria vengono stressate.</para> <para>L'algoritmo di determinazione della pagina da liberare - è costruito su una storia di uso delle pagine di memoria. + è costruito su una storia di uso delle pagine di memoria. Per acquisire tale storia, il sistema si avvantaggia di una caratteristica della maggior parte dell'hardware moderno, il bit che - indica l'attività di una pagina (page-used bit).</para> + indica l'attività di una pagina (page-used bit).</para> <para>In qualsiasi caso, il page-used bit viene azzerato e in un momento seguente il sistema della VM passa di nuovo sulla pagina e vede che il - page-used bit è stato di nuovo attivato. Questo indica che la + page-used bit è stato di nuovo attivato. Questo indica che la pagina viene ancora usata attivamente. - Il bit ancora disattivato è un indice che quella pagina non viene + Il bit ancora disattivato è un indice che quella pagina non viene usata attivamente. Controllando questo bit periodicamente, viene sviluppata una storia d'uso (in forma di contatore) per la pagina fisica. Quando il sistema - della VM avrà bisogno di liberare delle pagine, controllare questa + della VM avrà bisogno di liberare delle pagine, controllare questa storia diventa la pietra angolare nella determinazione del candidato migliore come pagina da riutilizzare.</para> @@ -505,13 +505,13 @@ <para>Per quelle piattaforme che non hanno questa caratteristica, il sistema in effetti emula un page-used bit. Esso elimina la mappatura di - una pagina, o la protegge, forzando un page fault se c'è un + una pagina, o la protegge, forzando un page fault se c'è un accesso successivo alla pagina. Quando avviene il page fault, il sistema segnala semplicemente la pagina come usata e la sprotegge in maniera che possa essere usata. Mentre prendere tale page fault solo per determinare se una pagina - è in uso può apparire una scelta costosa, in realtà - essa lo è molto meno che riusare la pagina per altri scopi, per + è in uso può apparire una scelta costosa, in realtà + essa lo è molto meno che riusare la pagina per altri scopi, per dover poi scoprire che un processo ne aveva ancora bisogno e dovere andare a cercarla di nuovo su disco.</para> </sidebar> @@ -519,22 +519,22 @@ <para>FreeBSD fa uso di parecchie code per le pagine per raffinare ulteriormente la selezione delle pagine da riutilizzare, come anche per determinare quando le pagine sporche devono essere spostate dalla memoria - e immagazzinate da qualche parte. Poiché le tabelle delle pagine - sono entità dinamiche in FreeBSD, non costa praticamente nulla + e immagazzinate da qualche parte. Poiché le tabelle delle pagine + sono entità dinamiche in FreeBSD, non costa praticamente nulla eliminare la mappatura di una pagina dallo spazio di indirizzamento di un qualsiasi processo che la stia usando. Quando una pagina candidata - è stata scelta sulla base del contatore d'uso, questo è + è stata scelta sulla base del contatore d'uso, questo è esattamente quello che viene fatto. Il sistema deve effettuare una distinzione tra pagine pulite che possono essere teoricamente liberate in qualsiasi momento, e pagine sporche che devono prima essere scritte (salvate) per poter essere riutilizzabili. Quando una pagina candidata viene trovata viene spostata nella coda - delle pagine inattive, se è una pagina sporca, o nella coda di - cache se è pulita. + delle pagine inattive, se è una pagina sporca, o nella coda di + cache se è pulita. Un algoritmo separato basato su un rapporto sporche/pulite determina quando le pagine sporche nella coda inattiva devono essere - scritte su disco. Una volta che è stato fatto questo, le pagine + scritte su disco. Una volta che è stato fatto questo, le pagine ormai salvate vengono spostate dalla coda delle inattive alla coda di cache. A questo punto, le pagine nella coda di cache possono ancora essere riattivate da un VM fault ad un costo relativamente basso. @@ -544,22 +544,22 @@ <para>Usate meno recentemente. Le pagine che non vengono usate da molto tempo probabilmente non saranno necessarie a breve, e possono essere liberate.</para> - </footnote>) quando il sistema avrà bisogno di allocare nuova + </footnote>) quando il sistema avrà bisogno di allocare nuova memoria.</para> - <para>È importante notare che il sistema della VM di FreeBSD tenta + <para>È importante notare che il sistema della VM di FreeBSD tenta di separare pagine pulite e sporche per l'espressa ragione di evitare scritture non necessarie di pagine sporche (che divorano banda di I/O), e non sposta le pagine tra le varie code gratuitamente quando il - sottosistema non viene stressato. Questo è il motivo per cui + sottosistema non viene stressato. Questo è il motivo per cui dando un <command>systat -vm</command> vedrai sistemi con contatori della coda di cache bassi e contatori della coda delle pagine attive molto alti. Quando il sistema della VM diviene maggiormente stressato, esso fa un grande sforzo per mantenere le varie code delle pagine ai livelli - determinati come più efficenti. - Per anni è circolata la leggenda urbana che Linux facesse un lavoro + determinati come più efficenti. + Per anni è circolata la leggenda urbana che Linux facesse un lavoro migliore di FreeBSD nell'evitare gli swapout, ma in pratica questo non - è vero. Quello che stava effettivamente accadendo era che FreeBSD + è vero. Quello che stava effettivamente accadendo era che FreeBSD stava salvando le pagine inutilizzate proattivamente per fare spazio mentre Linux stava mantendendo le pagine inutilizzate lasciando meno memoria disponibile per la cache e le pagine dei processi. @@ -569,46 +569,46 @@ <sect1 id="prefault-optimizations"> <title>Pre-Faulting e Ottimizzazioni di Azzeramento</title> - <para>Subire un VM fault non è costoso se la pagina sottostante - è già nella memoria fisica e deve solo essere mappata di - nuovo nel processo, ma può divenire costoso nel caso se ne - subiscano un bel po' su base regolare. Un buon esempio di ciò si + <para>Subire un VM fault non è costoso se la pagina sottostante + è già nella memoria fisica e deve solo essere mappata di + nuovo nel processo, ma può divenire costoso nel caso se ne + subiscano un bel po' su base regolare. Un buon esempio di ciò si ha eseguendo un programma come &man.ls.1; o &man.ps.1; ripetutamente. - Se il binario del programma è mappato in memoria ma non nella + Se il binario del programma è mappato in memoria ma non nella tabella delle pagine, allora tutte le pagine che verranno accedute dal programmma dovranno generare un page fault ogni volta che il programma viene eseguito. - Ciò non è necessario quando le pagine in questione sono - già nella cache della VM, quindi FreeBSD tenterà di + Ciò non è necessario quando le pagine in questione sono + già nella cache della VM, quindi FreeBSD tenterà di pre-popolare le tabelle delle pagine di un processo con quelle pagine che - sono già nella VM Cache. Una cosa che FreeBSD non fa ancora - è effettuare il pre-copy-on-write di alcune pagine nel caso di una + sono già nella VM Cache. Una cosa che FreeBSD non fa ancora + è effettuare il pre-copy-on-write di alcune pagine nel caso di una chiamata a exec. Ad esempio, se esegui il programma &man.ls.1; mentre stai eseguendo <command>vmstat 1</command> noterai che subisce sempre un certo numero di page fault, anche eseguendolo ancora e ancora. Questi sono - zero-fill fault, legati alla necessità di azzerare memoria, + zero-fill fault, legati alla necessità di azzerare memoria, non program code fault, legati alla copia dell'eseguibile in memoria - (che erano già stati gestiti come pre-fault). - Pre-copiare le pagine all'exec o alla fork è un'area che potrebbe + (che erano già stati gestiti come pre-fault). + Pre-copiare le pagine all'exec o alla fork è un'area che potrebbe essere soggetta a maggior studio.</para> - <para>Una larga percentuale dei page fault che accadono è composta di - zero-fill fault. In genere è possibile notare questo fatto + <para>Una larga percentuale dei page fault che accadono è composta di + zero-fill fault. In genere è possibile notare questo fatto osservando l'output di <command>vmstat -s</command>. Questi accadono quando un processo accede a pagine nell'area del BSS. Ci si aspetta che l'area del BSS sia composta inizialmente da zeri ma il sistema della VM non si preoccupa di allocare nessuna memoria - finché il processo non ne ha effettivamente bisogno. + finché il processo non ne ha effettivamente bisogno. Quindi nel momento in cui accade un fault il sistema della VM non deve solo allocare una nuova pagina, ma deve anche azzerarla. Per ottimizzare l'operazione di azzeramento, il sistema della VM - ha la capacità di pre-azzerare le pagine e segnalarle come tali, + ha la capacità di pre-azzerare le pagine e segnalarle come tali, e di richiedere pagine pre-azzerate quando avvengono zero-fill fault. - Il pre-azzeramento avviene quando la CPU è inutilizzata ma il - numero di pagine che vengono pre-azzerate dal sistema è limitato - per evitare di spazzare via la cache della memoria. Questo è un - eccellente esempio di complessità aggiunta al sistema della VM per + Il pre-azzeramento avviene quando la CPU è inutilizzata ma il + numero di pagine che vengono pre-azzerate dal sistema è limitato + per evitare di spazzare via la cache della memoria. Questo è un + eccellente esempio di complessità aggiunta al sistema della VM per ottimizare il percorso critico.</para> </sect1> @@ -616,29 +616,29 @@ <title>Ottimizzazioni della Tabella delle Pagine </title> <para>Le ottimizzazioni alla tabella delle pagine costituiscono - La parte più controversa nel design della VM di FreeBSD ed ha + La parte più controversa nel design della VM di FreeBSD ed ha mostrato un po' di affanno con l'avvento di un uso pesante di <function>mmap()</function>. Penso che questa sia una caratteristiche della maggior parte dei - BSD anche se non sono sicuro di quando è stata introdotta - la prima volta. Ci sono due ottimizzazioni maggiori. La prima è + BSD anche se non sono sicuro di quando è stata introdotta + la prima volta. Ci sono due ottimizzazioni maggiori. La prima è che le tabelle della pagine hardware non contengono uno stato persistente ma possono essere gettate via in qualsiasi momento con un sovraccarico di gestione minimo. - La seconda è che ogni pagina attiva nel sistema ha una struttura di - controllo <literal>pv_entry</literal> che è integrata con la - struttura <literal>vm_page</literal>. FreeBSD può semplicemente - operare attraverso quelle mappature di cui è certa l'esistenza, + La seconda è che ogni pagina attiva nel sistema ha una struttura di + controllo <literal>pv_entry</literal> che è integrata con la + struttura <literal>vm_page</literal>. FreeBSD può semplicemente + operare attraverso quelle mappature di cui è certa l'esistenza, mentre Linux deve controllare tutte le tabelle delle pagine che <emphasis>potrebbero</emphasis> contenere una mappatura specifica per - vedere se lo stanno effettivamente facendo, il che può portare ad + vedere se lo stanno effettivamente facendo, il che può portare ad un sovraccarico computazionale O(n^2) in alcune situazioni. - È per questo che FreeBSD tende a fare scelte migliori su quale - pagina riutilizzare o mandare in swap quando la memoria è messa + È per questo che FreeBSD tende a fare scelte migliori su quale + pagina riutilizzare o mandare in swap quando la memoria è messa sotto sforzo, fornendo una miglior performance sotto carico. Comunque, FreeBSD richiede una messa a punto del kernel per accomodare situazioni che richiedano grandi spazi di indirizzamento condivisi, come quelli che - possono essere necessari in un sistema di news perché potrebbe + possono essere necessari in un sistema di news perché potrebbe esaurire il numero di struct <literal>pv_entry</literal>.</para> <para>Sia Linux che FreeBSD necessitano di lavoro in quest'area. @@ -647,7 +647,7 @@ bisogno di mappare tutte le pagine di una libreria condivisa, ad esempio), mentre linux sta cercando di semplificare i suoi algoritmi. FreeBSD generalmente ha dei vantaggi prestazionali al costo di un piccolo spreco - di memoria in più, ma FreeBSD crolla nel caso in cui un grosso file + di memoria in più, ma FreeBSD crolla nel caso in cui un grosso file sia condiviso massivamente da centinaia di processi. Linux, d'altro canto, crolla nel caso in cui molti processi mappino a macchia di leopardo la stessa libreria condivisa e gira in maniera non @@ -659,46 +659,46 @@ <title>Colorazione delle Pagine</title> <para>Concluderemo con le ottimizzazioni di colorazione delle pagine. - La colorazione delle pagine è un'ottimizzazione prestazionale + La colorazione delle pagine è un'ottimizzazione prestazionale progettata per assicurare che gli accessi a pagine contigue nella memoria virtuale facciano il miglior uso della cache del processore. Nei - tempi antichi (cioè più di 10 anni fa) le cache dei + tempi antichi (cioè più di 10 anni fa) le cache dei processori tendevano a mapparela memoria virtuale invece della memoria fisica. Questo conduceva ad un numero enorme di problemi inclusa la - necessità di ripulire la cache ad ogni cambio di contesto, in + necessità di ripulire la cache ad ogni cambio di contesto, in alcuni casi, e problemi con l'aliasing dei dati nella cache. Le cache dei processori moderni mappano la memoria fisica proprio per risolvere questi problemi. Questo significa che due pagine vicine nello spazio di indirizzamento dei processi possono non corrispondere a due pagine vicine nella cache. - In effetti, se non si è attenti pagine affiancate nella memoria + In effetti, se non si è attenti pagine affiancate nella memoria virtuale possono finire con l'occupare la stessa pagina nella cache del processore—portando all'eliminazione prematura di dati immagazzinabili in cache e riducendo le prestazioni della cache. - Ciò è vero anche con cache set-associative <footnote> + Ciò è vero anche con cache set-associative <footnote> <para>set-associative sta per associative all'interno di un insieme, in - quanto c'è un insieme di blocchi della cache nei quale puo + quanto c'è un insieme di blocchi della cache nei quale puo essere mappato un elemento della memoria fisica.</para> </footnote> a molte vie (anche se l'effetto viene in qualche maniera mitigato).</para> <para>Il codice di allocazione della memoria di FreeBSD implementa - le ottimizizzazioni di colorazione delle pagine, ciò significa che - il codice di allocazione della memoria cercherà di trovare delle + le ottimizizzazioni di colorazione delle pagine, ciò significa che + il codice di allocazione della memoria cercherà di trovare delle pagine libere che siano vicine dal punto di vista della cache. - Ad esempio, se la pagina 16 della memoria fisica è assegnata - alla pagina 0 della memoria virtuale di un processo e la cache può + Ad esempio, se la pagina 16 della memoria fisica è assegnata + alla pagina 0 della memoria virtuale di un processo e la cache può contenere 4 pagine, il codice di colorazione delle pagine non - assegnerà la pagina 20 di memoria fisica alla pagina 1 di + assegnerà la pagina 20 di memoria fisica alla pagina 1 di quella virtuale. - Invece, gli assegnerà la pagina 21 della memoria fisica. + Invece, gli assegnerà la pagina 21 della memoria fisica. Il codice di colorazione delle pagine cerca di evitare l'assegnazione - della pagina 20 perché questa verrebbe mappata sopra lo stesso - blocco di memoria cache della pagina 16 e ciò causerrebbe un uso + della pagina 20 perché questa verrebbe mappata sopra lo stesso + blocco di memoria cache della pagina 16 e ciò causerrebbe un uso non ottimale della cache. - Questo codice aggiunge una complessità significativa - al sottosistema di allocazione memoria della VM, come si può ben - immaginare, ma il gioco vale ben più della candela. La colorazione + Questo codice aggiunge una complessità significativa + al sottosistema di allocazione memoria della VM, come si può ben + immaginare, ma il gioco vale ben più della candela. La colorazione delle pagine rende la memoria virtuale deterministica quanto la memoria fisica per quel che riguarda le prestazioni della cache.</para> </sect1> @@ -722,7 +722,7 @@ <qandaset> <qandaentry> <question> - <para>Cos'è <quote>l'algoritmo di interleaving</quote> a cui + <para>Cos'è <quote>l'algoritmo di interleaving</quote> a cui fai riferimento nell'elenco delle debolezze della gestione dello swap in FreeBSD 3.X ?</para> </question> @@ -731,55 +731,55 @@ <para>FreeBSD usa un intervallo tra zone di swap fissato, con un valore predefinito di 4. Questo significa che FreeBSD riserva spazio per quattro aree di swap anche se ne hai una sola o due o - tre. Poiché lo swap è intervallato lo spazio di + tre. Poiché lo swap è intervallato lo spazio di indirizzamento lineare che rappresenta le <quote>quattro aree di - swap</quote> verrà frammentato se non si possiedono + swap</quote> verrà frammentato se non si possiedono veramente quattro aree di swap. Ad esempio, se hai due aree di swap A e B la rappresentazione dello spazio di FreeBSD per - quell'area di swap verrà interrotta in blocchi di 16 + quell'area di swap verrà interrotta in blocchi di 16 pagine:</para> <literallayout>A B C D A B C D A B C D A B C D</literallayout> <para>FreeBSD 3.X usa una <quote>lista sequenziale delle regioni libere </quote> per registrare le aree di swap libere. - L'idea è che grandi blocchi di spazio libero e lineare + L'idea è che grandi blocchi di spazio libero e lineare possano essere rappresentati con un nodo singolo (<filename>kern/subr_rlist.c</filename>). Ma a causa della frammentazione la lista sequenziale risulta assurdamente frammentata. Nell'esempio precedente, uno spazio di swap completamente non - allocato farà si che A e B siano mostrati come + allocato farà si che A e B siano mostrati come <quote>liberi</quote> e C e D come <quote>totalmente allocati</quote>. Ogni sequenza A-B richiede un nodo per essere - registrato perché C e D sono buchi, dunquei nodi di lista non + registrato perché C e D sono buchi, dunquei nodi di lista non possono essere combinati con la sequenza A-B seguente.</para> - <para>Perché organizziamo lo spazio in intervalli invece di + <para>Perché organizziamo lo spazio in intervalli invece di appiccicare semplicemente le area di swap e facciamo qualcosa di - più carino? Perché è molto più semplice + più carino? Perché è molto più semplice allocare strisce lineari di uno spazio di indirizzamento ed ottenere - il risultato già ripartito tra dischi multipli piuttosto che + il risultato già ripartito tra dischi multipli piuttosto che cercare di spostare questa complicazione altrove.</para> <para>La frammentazione causa altri problemi. Essendoci una lista - lineare nella serie 3.X, ed avendo una tale quantità di + lineare nella serie 3.X, ed avendo una tale quantità di frammentazione implicita, l'allocazione e la liberazione dello swap finisce per essere un algoritmo O(N) invece di uno O(1). - Combinalo con altri fattori (attività di swap pesante) + Combinalo con altri fattori (attività di swap pesante) e comincerai a trovarti con livelli di overhead come O(N^2) e - O(N^3), e ciò è male. Il sistema dela serie 3.X - può anche avere necessità di allocare KVM durante + O(N^3), e ciò è male. Il sistema dela serie 3.X + può anche avere necessità di allocare KVM durante un'operazione di swap per creare un nuovo nodo lista, il che - può portare ad un deadlock se il sistema sta cercando di + può portare ad un deadlock se il sistema sta cercando di liberare pagine nella memoria fisica in un momento di - scarsità di memoria.</para> + scarsità di memoria.</para> <para>Nella serie 4.X non usiamo una lista sequenziale. Invece usiamo un albero radicato e mappe di bit di blocchi di swap piuttosto che nodi lista. Ci prendiamo il peso di preallocare tutte le mappe di bit richieste - per l'intera area di swap ma ciò finisce per consumare meno + per l'intera area di swap ma ciò finisce per consumare meno memoria grazie all'uso di una mappa di bit (un bit per blocco) invece di una lista collegata di nodi. L'uso di un albero radicato invece di una lista sequenziale ci fornisce una performance quasi @@ -792,12 +792,12 @@ <para>Non ho capito questo:</para> <blockquote> - <para>È importante notare che il sistema della VM di FreeBSD + <para>È importante notare che il sistema della VM di FreeBSD tenta di separare pagine pulite e sporche per l'espressa ragione di evitare scritture non necessarie di pagine sporche (che divorano banda di I/O), e non sposta le pagine tra le varie code gratuitamente se il sottosistema non viene stressato. Questo - è il motivo per cui dando un <command>systat -vm</command> + è il motivo per cui dando un <command>systat -vm</command> vedrai sistemi con contatori della coda di cache bassi e contatori della coda delle pagine attive molto alti.</para> </blockquote> @@ -811,17 +811,17 @@ </question> <answer> - <para>Si, questo può confondere. La relazione è - <quote>obiettivo</quote> contro <quote>realtà</quote>. Il - nostro obiettivo è separare le pagine ma la realtà - è che se non siamo in crisi di memoria, non abbiamo bisogno + <para>Si, questo può confondere. La relazione è + <quote>obiettivo</quote> contro <quote>realtà</quote>. Il + nostro obiettivo è separare le pagine ma la realtà + è che se non siamo in crisi di memoria, non abbiamo bisogno di farlo.</para> - <para>Questo significa che FreeBSD non cercherà troppo di + <para>Questo significa che FreeBSD non cercherà troppo di separare le pagine sporche (coda inattiva) da quelle pulite - (code della cache), ne cercherà di disattivare le pagine + (code della cache), ne cercherà di disattivare le pagine (coda pagine attive -> coda pagine inattive) quando il sistema non - è sotto sforzo, anche se non vengono effettivamente + è sotto sforzo, anche se non vengono effettivamente usate.</para> </answer> </qandaentry> @@ -830,17 +830,17 @@ <question> <para> Nell'esempio di &man.ls.1; / <command>vmstat 1</command>, alcuni dei page fault non potrebbero essere data page faults - (COW da file eseguibili a pagine private)? Cioè, io mi + (COW da file eseguibili a pagine private)? Cioè, io mi aspetterei che i page fault fossero degli zero-fill e dei dati di programma. O si implica che FreeBSD effettui il pre-COW per i dati di programma?</para> </question> <answer> - <para>Un fault COW può essere o legato a uno zero-fill o a dati + <para>Un fault COW può essere o legato a uno zero-fill o a dati di programma. - Il meccanismo è lo stesso in entrambi i casi poiché - i dati di programma da copiare sono quasi certamente già + Il meccanismo è lo stesso in entrambi i casi poiché + i dati di programma da copiare sono quasi certamente già presenti nella cache. E infatti li tratto insieme. FreeBSD non effettua preventivamentela copia dei dati di programma o lo zero-fill, <emphasis>effettua</emphasis> la mappatura preventiva @@ -870,56 +870,56 @@ delle pagine hardware (pte). Se hai cinque processi che condividono la stessa pagina fisica, e tre delle tabelle delle pagine di questi processi mappano effettivamente la pagina, questa pagina - verrà rappresentata da una struttura + verrà rappresentata da una struttura <literal>vm_page</literal> singola e da tre strutture <literal>pv_entry</literal>.</para> <para>Le strutture <literal>pv_entry</literal> rappresentano solo le pagine mappate dalla MMU (una <literal>pv_entry</literal> - rappresenta un pte). Ciò significa che è necessario + rappresenta un pte). Ciò significa che è necessario rimuovere tutti i riferimenti hardware a <literal>vm_page</literal> (in modo da poter riutilizzare la pagina per qualcos'altro, - effettuare il page out, ripulirla, sporcarla, e così via) + effettuare il page out, ripulirla, sporcarla, e così via) possiamo semplicemente scansionare la lista collegata di <literal>pv_entry</literal> associate con quella <literal>vm_page</literal> per rimuovere o modificare i pte dalla loro tabella delle pagine.</para> - <para>Sotto Linux non c'è una lista collegata del genere. Per + <para>Sotto Linux non c'è una lista collegata del genere. Per poter rimuovere tutte le mappature della tabella delle pagine hardware per una <literal>vm_page</literal> linux deve indicizzare ogni oggetto VM che <emphasis>potrebbe</emphasis> aver mappato la pagina. Ad esempio, se si hanno 50 processi che mappano la stessa libreria condivisa e si vuole liberarsi della pagina X in quella - libreria, sarà necessario cercare nella tabella delle pagine + libreria, sarà necessario cercare nella tabella delle pagine per ognuno dei 50 processi anche se solo 10 di essi ha - effettivamente mappato la pagina. Così Linux sta barattando - la semplicità del design con le prestazioni. Molti algoritmi + effettivamente mappato la pagina. Così Linux sta barattando + la semplicità del design con le prestazioni. Molti algoritmi per la VM che sono O(1) o (piccolo N) in FreeBSD finiscono per diventare O(N), O(N^2), o anche peggio in Linux. - Poiché i pte che rappresentano una particolare pagina in un + Poiché i pte che rappresentano una particolare pagina in un oggetto tendono ad essere allo stesso offset in tutte le tabelle delle pagine nelle quali sono mappati, la riduzione del numero di - accessi alla tabela delle pagine allo stesso offset eviterà + accessi alla tabela delle pagine allo stesso offset eviterà che la la linea di cache L1 per quell'offset venga cancellata, portando ad una performance migliore.</para> - <para>FreeBSD ha aggiunto complessità (lo schema + <para>FreeBSD ha aggiunto complessità (lo schema <literal>pv_entry</literal>) in modo da incrementare le prestazioni (per limitare gli accessi alla tabella delle pagine <emphasis>solo</emphasis> a quelle pte che necessitino di essere modificate).</para> - <para>Ma FreeBSD ha un problema di scalabilità che linux non ha + <para>Ma FreeBSD ha un problema di scalabilità che linux non ha nell'avere un numero limitato di strutture <literal>pv_entry</literal> e questo provoca problemi quando si - hanno condivisioni massicce di dati. In questo caso c'è la - possibilità che finiscano le strutture - <literal>pv_entry</literal> anche se c'è ancora una grande - quantità di memoria disponibile. - Questo può essere risolto abbastanza facilmente + hanno condivisioni massicce di dati. In questo caso c'è la + possibilità che finiscano le strutture + <literal>pv_entry</literal> anche se c'è ancora una grande + quantità di memoria disponibile. + Questo può essere risolto abbastanza facilmente aumentando il numero di struttre <literal>pv_entry</literal> nella - configurazione del kernel, ma c'è veramente bisogno di + configurazione del kernel, ma c'è veramente bisogno di trovare un modo migliore di farlo.</para> <para>Riguardo il sovrapprezzo in memoria di una tabella delle pagine @@ -930,8 +930,8 @@ FreeBSD usa tabelle delle pagine <quote>throw away</quote>, eliminabili, ma aggiunge una struttura <literal>pv_entry</literal> per ogni pte effettivamente mappato. Credo che l'utilizzo della - memoria finisca per essere più o meno lo stesso, fornendo a - FreeBSD un vantaggio algoritmico con la capacità di + memoria finisca per essere più o meno lo stesso, fornendo a + FreeBSD un vantaggio algoritmico con la capacità di eliminare completamente le tabelle delle pagine con un sovraccarico prestazionale minimo.</para> </answer> @@ -940,26 +940,26 @@ <qandaentry> <question> <para>Infine, nella sezione sulla colorazione delle pagine, potrebbe - esser d'aiuto avere qualche descrizione in più di quello che + esser d'aiuto avere qualche descrizione in più di quello che intendi. Non sono riuscito a seguire molto bene.</para> </question> <answer> <para>Sai come funziona una memoria cache hardware L1? Spiego: Considera una macchina con 16MB di memoria principale ma solo 128K - di cache L1. In genere il modo in cui funziona la cache è + di cache L1. In genere il modo in cui funziona la cache è che ogni blocco da 128K di memoria principale usa gli <emphasis>stessi</emphasis> 128K di cache. Se si accede all'offset 0 della memoria principale e poi al 128K si - può finire per cancellare i dati che si erano messi nella + può finire per cancellare i dati che si erano messi nella cache dall'offset 0!</para> - <para>Ora, sto semplificando di molto. Ciò che ho appena - descritto è quella che viene detta memoria cache a + <para>Ora, sto semplificando di molto. Ciò che ho appena + descritto è quella che viene detta memoria cache a <quote>corrispondenza diretta</quote>, o direct mapped. La maggior parte delle cache moderne sono quelle che vengono dette set-associative a 2 o 4 vie. - L'associatività di questo tipo permette di accedere fino ad N + L'associatività di questo tipo permette di accedere fino ad N regioni di memoria differenti che si sovrappongano sulla stessa cache senza distruggere i dati preventivamente immagazzinati. Ma solo N.</para> @@ -970,35 +970,35 @@ all'offset 512K, ad ogni modo, uno degli oggetti dato immagazzinati precedentemente verrebbero cancellati dalla cache.</para> - <para>È estremamente importante … + <para>È estremamente importante … <emphasis>estremamente</emphasis> importante che la maggior parte degli accessi del processore alla memoria vengano dalla cache L1, - poiché la cache L1 opera alla stessa frequenza del + poiché la cache L1 opera alla stessa frequenza del processore. Nel momento in cui si ha un miss <footnote> - <para>Un miss nella cache è equivalente a un page fault per + <para>Un miss nella cache è equivalente a un page fault per la memoria fisica, ed allo stesso modo implica un accesso a - dispositivi molto più lenti, da L1 a L2 come da RAM a + dispositivi molto più lenti, da L1 a L2 come da RAM a disco.</para> </footnote> nella cache L1 si deveandare a cercare nella cache L2 o - nella memoria principale, il processore andrà in stallo, e - potenzialmente potrà sedersi a girarsi i pollici per un tempo + nella memoria principale, il processore andrà in stallo, e + potenzialmente potrà sedersi a girarsi i pollici per un tempo equivalente a <emphasis>centinaia</emphasis> di istruzioni attendendo che la lettura dalla memoria principale venga completata. La memoria principale (la RAM che metti nel tuo - computer) è <emphasis>lenta</emphasis>, se comparata alla - velocità del nucleo di un moderno processore.</para> + computer) è <emphasis>lenta</emphasis>, se comparata alla + velocità del nucleo di un moderno processore.</para> <para>Ok, ora parliamo della colorazione dele pagine: tutte le moderne cache sono del tipo noto come cache <emphasis>fisiche</emphasis>. Esse memorizzano indirizzi di memoria - fisica, non indirizzi di memoria virtual. Ciò permette alla + fisica, non indirizzi di memoria virtual. Ciò permette alla cache di rimanere anche nel momento in cui ci sia un cambio di - contesto tra processi, e ciò è molto + contesto tra processi, e ciò è molto importante.</para> <para>Ma nel mondo &unix; devi lavorare con spazi di indirizzamento virtuali, non con spazi di indirizzamento fisici. Ogni programma - che scrivi vedrà lo spazio di indirizzamento virtuale + che scrivi vedrà lo spazio di indirizzamento virtuale assegnatogli. Le effettive pagine <emphasis>fisiche</emphasis> nascoste sotto quello spazio di indirizzi virtuali non saranno necessariamente contigue fisicamente! In effetti, @@ -1008,14 +1008,14 @@ <para>Un programma normalmente assume che due pagine affiancate verranno poste in cache in maniera ottimale. - Cioè, che possa accedere agli oggetti dato in + Cioè, che possa accedere agli oggetti dato in entrambe le pagine senza che esse si cancellino a vicenda le rispettiva informazioni in cache. - Ma ciò è vero solo se le pagine fisiche sottostanti lo + Ma ciò è vero solo se le pagine fisiche sottostanti lo spazio di indirizzo virtuale sono contigue (per quel che riguarda la cache).</para> - <para>Questo è ciò che viene fatto dalla colorazione + <para>Questo è ciò che viene fatto dalla colorazione delle pagine. Invece di assegnare pagine fisiche <emphasis>casuali</emphasis> agli indirizzi virtuali, che potrebbe causare prestazioni non ottimali @@ -1030,7 +1030,7 @@ <para>Si note ho detto <quote>ragionevolmente</quote> contigue invece che semplicemente <quote>contigue</quote>. Dal punto di vista di una cache di 128K a corrispondenza diretta, l'indirizzo fisico 0 - è lo stesso che l'indirizzo fisico 128K. + è lo stesso che l'indirizzo fisico 128K. Dunque due agine affiancate nello spzio di indirizzamento virtuale potrebbero finire per essere all'offset 128K e al 132K nella memoria fisica, ma potrebbero trovarsi tranquillamente anche agli offset |