1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
6 <meta name="generator" content=
7 "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
8 <meta http-equiv="Content-Type" content=
9 "text/html; charset=iso-8859-1">
10 <meta name="generator" content=
11 "Docutils 0.5: http://docutils.sourceforge.net/">
13 <title>Informatica di Base</title>
14 <style type="text/css">
17 :Author: David Goodger (goodger@python.org)
18 :Id: $Id: html4css1.css 5196 2007-06-03 20:25:28Z wiemann $
19 :Copyright: This stylesheet has been placed in the public domain.
21 Default cascading style sheet for the HTML output of Docutils.
23 See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
24 customize this style sheet.
27 /* used to remove borders from tables and images */
28 .borderless, table.borderless td, table.borderless th {
31 table.borderless td, table.borderless th {
32 /* Override padding for "table.docutils td" with "! important".
33 The right padding separates the table cells. */
34 padding: 0 0.5em 0 0 ! important }
37 /* Override more specific margin styles with "! important". */
38 margin-top: 0 ! important }
40 .last, .with-subtitle {
41 margin-bottom: 0 ! important }
47 text-decoration: none ;
54 margin-bottom: 0.5em }
56 /* Uncomment (and remove this text!) to get bold-faced definition list terms
64 div.abstract p.topic-title {
68 div.admonition, div.attention, div.caution, div.danger, div.error,
69 div.hint, div.important, div.note, div.tip, div.warning {
71 border: medium outset ;
74 div.admonition p.admonition-title, div.hint p.admonition-title,
75 div.important p.admonition-title, div.note p.admonition-title,
76 div.tip p.admonition-title {
78 font-family: sans-serif }
80 div.attention p.admonition-title, div.caution p.admonition-title,
81 div.danger p.admonition-title, div.error p.admonition-title,
82 div.warning p.admonition-title {
85 font-family: sans-serif }
87 /* Uncomment (and remove this text!) to get reduced vertical space in
89 div.compound .compound-first, div.compound .compound-middle {
90 margin-bottom: 0.5em }
92 div.compound .compound-last, div.compound .compound-middle {
101 div.dedication p.topic-title {
109 div.footer, div.header {
118 div.line-block div.line-block {
124 margin: 0 0 0.5em 1em ;
125 border: medium outset ;
127 background-color: #ffffee ;
132 div.sidebar p.rubric {
133 font-family: sans-serif ;
136 div.system-messages {
139 div.system-messages h1 {
143 border: medium outset ;
146 div.system-message p.system-message-title {
153 h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
154 h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
172 ol.simple, ul.simple {
176 list-style: decimal }
179 list-style: lower-alpha }
182 list-style: upper-alpha }
185 list-style: lower-roman }
188 list-style: upper-roman }
202 white-space: nowrap }
211 font-family: sans-serif ;
216 font-family: sans-serif ;
228 pre.literal-block, pre.doctest-block {
233 font-family: sans-serif ;
234 font-style: oblique }
236 span.classifier-delimiter {
237 font-family: sans-serif ;
241 font-family: sans-serif }
244 white-space: nowrap }
252 span.section-subtitle {
253 /* font-size relative to parent (h1..h6 element) */
257 border-left: solid 1px gray;
265 margin-bottom: 0.5em }
268 border-left: solid 1px black;
271 table.docutils td, table.docutils th,
272 table.docinfo td, table.docinfo th {
273 padding-left: 0.5em ;
274 padding-right: 0.5em ;
275 vertical-align: top }
277 table.docutils th.field-name, table.docinfo th.docinfo-name {
280 white-space: nowrap ;
283 h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
284 h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
288 list-style-type: none }
294 <div class="document" id="informatica-di-base">
295 <h1 class="title">Informatica di Base</h1>
297 <h2 class="subtitle" id=
298 "appunti-introduttivi-ai-sistemi-informativi">Appunti
299 introduttivi ai sistemi informativi</h2>
302 <table class="docutils field-list" frame="void" rules="none">
303 <col class="field-name">
304 <col class="field-body">
308 <th class="field-name">Author:</th>
310 <td class="field-body">Andrea Manni</td>
314 <th class="field-name">Copyright:</th>
316 <td class="field-body">GFDL</td>
320 <th class="field-name">Version:</th>
322 <td class="field-body">1.5</td>
328 <div class="contents topic" id="indice-degli-argomenti">
329 <p class="topic-title first">Indice degli argomenti</p>
333 <a class="reference internal" href="#informatica" id=
334 "id4" name="id4">Informatica</a>
337 <li><a class="reference internal" href=
338 "#evoluzione-nella-societa" id="id5" name=
339 "id5">Evoluzione nella societa'</a></li>
343 <li><a class="reference internal" href=
344 "#analogico-e-digitale" id="id6" name="id6">Analogico e
347 <li><a class="reference internal" href="#sistema-binario"
348 id="id7" name="id7">Sistema Binario</a></li>
351 <a class="reference internal" href="#unita-di-misura" id=
352 "id8" name="id8">Unita' di misura</a>
355 <li><a class="reference internal" href=
356 "#multipli-del-bit-tabelle-di-conversione" id="id9"
357 name="id9">Multipli del Bit (TABELLE DI
358 CONVERSIONE):</a></li>
360 <li><a class="reference internal" href=
361 "#trasmissione-dati-su-reti" id="id10" name=
362 "id10">Trasmissione dati su reti</a></li>
364 <li><a class="reference internal" href=
365 "#velocita-di-clock" id="id11" name="id11">Velocita' di
371 <a class="reference internal" href=
372 "#supporti-di-storaggio-dati" id="id12" name=
373 "id12">Supporti di storaggio (dati)</a>
376 <li><a class="reference internal" href="#hard-disks"
377 id="id13" name="id13">Hard Disks</a></li>
379 <li><a class="reference internal" href="#memorie-flash"
380 id="id14" name="id14">Memorie Flash</a></li>
383 <a class="reference internal" href=
384 "#propieta-dei-supporti-di-storaggio" id="id15" name=
385 "id15">Propieta' dei supporti di storaggio</a>
388 <li><a class="reference internal" href="#hard-disk"
389 id="id16" name="id16">HARD DISK</a></li>
396 <a class="reference internal" href=
397 "#classi-di-elaboratori" id="id17" name="id17">Classi di
401 <li><a class="reference internal" href=
402 "#calcolatori-tascabili" id="id18" name=
403 "id18">Calcolatori tascabili</a></li>
405 <li><a class="reference internal" href=
406 "#palmari-e-smart-phones" id="id19" name="id19">Palmari
407 e smart phones</a></li>
409 <li><a class="reference internal" href=
410 "#ultraportabili-netbook" id="id20" name=
411 "id20">Ultraportabili (netbook)</a></li>
414 <a class="reference internal" href="#portatili" id=
415 "id21" name="id21">Portatili</a>
418 <li><a class="reference internal" href=
419 "#trasportabili" id="id22" name=
420 "id22">Trasportabili</a></li>
422 <li><a class="reference internal" href=
423 "#ultraportatili" id="id23" name=
424 "id23">Ultraportatili</a></li>
428 <li><a class="reference internal" href=
429 "#personal-computer" id="id24" name="id24">Personal
432 <li><a class="reference internal" href="#work-station"
433 id="id25" name="id25">Work Station</a></li>
435 <li><a class="reference internal" href="#server" id=
436 "id26" name="id26">Server</a></li>
438 <li><a class="reference internal" href="#mainframe" id=
439 "id27" name="id27">Mainframe</a></li>
441 <li><a class="reference internal" href="#cluster" id=
442 "id28" name="id28">Cluster</a></li>
444 <li><a class="reference internal" href="#supercomputer"
445 id="id29" name="id29">Supercomputer</a></li>
450 <a class="reference internal" href=
451 "#linguaggi-di-programmazione" id="id30" name=
452 "id30">Linguaggi di programmazione</a>
455 <li><a class="reference internal" href="#compilatori"
456 id="id31" name="id31">Compilatori</a></li>
458 <li><a class="reference internal" href="#interpreti"
459 id="id32" name="id32">Interpreti</a></li>
461 <li><a class="reference internal" href=
462 "#java-e-similari" id="id33" name="id33">Java e
467 <li><a class="reference internal" href="#licenze-software"
468 id="id34" name="id34">Licenze software</a></li>
471 <a class="reference internal" href="#tipi-di-licenze" id=
472 "id35" name="id35">Tipi di licenze</a>
475 <li><a class="reference internal" href=
476 "#publico-dominio" id="id36" name="id36">Publico
479 <li><a class="reference internal" href="#freeware" id=
480 "id37" name="id37">Freeware</a></li>
482 <li><a class="reference internal" href="#shareware" id=
483 "id38" name="id38">Shareware</a></li>
488 <a class="reference internal" href=
489 "#licenze-per-software-liberi" id="id39" name=
490 "id39">Licenze per software liberi</a>
493 <li><a class="reference internal" href=
494 "#copyleft-copyright" id="id40" name="id40">Copyleft !=
497 <li><a class="reference internal" href="#licenza-bsd"
498 id="id41" name="id41">Licenza BSD</a></li>
500 <li><a class="reference internal" href=
501 "#licenza-apache" id="id42" name="id42">Licenza
506 <li><a class="reference internal" href="#eula" id="id43"
507 name="id43">Eula</a></li>
511 <p>Generato con: <a class="reference external" href=
512 "http://docutils.sourceforge.net/rst.html">http://docutils.sourceforge.net/rst.html</a></p>
514 <div class="section" id="informatica">
515 <h1><a class="toc-backref" href=
516 "#id4">Informatica</a></h1><img alt="img/180px-Apple2.jpg"
517 src="img/180px-Apple2.jpg">
519 <dl class="docutils">
520 <dt>Informatica:</dt>
522 <dd>L'informatica e' una scienza interdisciplinare che
523 riguarda tutti gli aspetti del trattamento
524 dell'informazione mediante procedure automatizzate.</dd>
527 <p>L'oggetto della materia sono quindi i
528 <strong>dati</strong> e la <strong>manipolazione</strong> di
529 questi, da un lato la capacita' di <em>storare</em> i dati
530 (cosa non cosi' elementare quando il quantitativo diventa
531 enorme) per poterli poi <em>manipolare</em>. Buona parte del
532 lavoro del sistemista consistera' quindi nel garantire
533 l'<em>integrita'</em> e la <em>disponibilita'</em> (intesa
534 come <em>continuita'</em> del servizio) dei dati. Stara' poi
535 all'<em>amministratore di rete</em> preoccuparsi di renderli
536 disponibili (si pensi a un sito web che rende delle risorse
537 disponibili) agli <em>utilizzatori</em>.</p>
539 <p>Link sull'argomento: <a class="reference external" href=
540 "http://it.wikipedia.org/wiki/Informatica">http://it.wikipedia.org/wiki/Informatica</a></p>
542 <div class="section" id="evoluzione-nella-societa">
543 <h2><a class="toc-backref" href="#id5">Evoluzione nella
546 <p>Per meglio percepire l'importanza dell'informatica si
547 rifletta sull'influenza che le seguenti invenzioni nel
548 campo del trattamento delle informazioni hanno avuto sulla
554 <dl class="first docutils">
555 <dt>Diffusione della scrittura:</dt>
558 <ul class="first last simple">
559 <li><em>integrita'</em> dell'informazione: dati
560 come il costo di una merce cessano di essere
561 arbitrari, con conseguenze negli scambi
564 <li>maggiore durata nel tempo delle
565 informazioni (seppur limitata da supporti
573 <dl class="first docutils">
574 <dt>Invenzione della stampa: <a class=
575 "reference external" href=
576 "%3CMergeConflict%3E">Gutenberg</a> 1448</dt>
579 <ul class="first last simple">
580 <li>Maggiore diffusione delle informazioni
581 grazie all'abbattimento dei costi di
584 <li>Progressivo ampliamento della base di
585 utenza: sempre piu' persone possono almeno
586 imparare a leggere e quindi emanciparsi da una
587 <em>casta</em> ristretta che mantiene il
588 controllo sulla fruizione delle informazioni.
589 Seppure in misura minore aumenta anche la
590 possibilita' di produrre e diffondere
598 <dl class="first docutils">
599 <dt>Nascita dell'informatica/elettronica</dt>
602 <ul class="first last simple">
603 <li>Superamento di parte dei problemi legati
604 alla deperibilita' dei supporti sui quali si
605 conservano le informazioni.</li>
607 <li>Enorme aumento del quantitativo di dati
608 gestibili e abbassamento del costo di gestione.
609 Supporti magnetici e ottici hanno radicalmento
610 cambiato il modo di archiviare le informazioni
611 rispetto ai depositi cartacei.</li>
613 <li>Maggiore rapidita' nella trattazione delle
614 informazioni, per es. la possibilita' di
615 censire la popolazione rapidamente e gestire un
616 apparato fiscale piu' efficiente.</li>
618 <li>Possibilita' di incrociare i dati,
619 ottenendo sostanzialmente nuovo valore da
620 informazioni preesistenti</li>
627 <dl class="first docutils">
628 <dt>Diffusione della rete Internet</dt>
631 <ul class="first last simple">
632 <li>Disponibilita' globale delle informazioni
633 (in formato elettronico) con costi nettamente
634 minori rispetto al passato</li>
636 <li>Abbattimento del costo della diffusione
637 delle informazioni</li>
645 <p>L'importanza della gestione digitale delle informazioni
646 e' tale da accentuare il divario esistente tra chi puo'
647 accedere ai nuovi mezzi e chi ne e' escluso, problema
648 indicato generalmente con il termine <a class=
649 "reference external" href=
650 ":http://it.wikipedia.org/wiki/Digital_Divide#Descrizione">Digital
654 <hr class="docutils">
656 <div class="section" id="analogico-e-digitale">
657 <h1><a class="toc-backref" href="#id6">Analogico e
660 <dl class="docutils">
661 <dt>Grandezze analogiche:</dt>
663 <dd>Sono grandezze <strong>continue</strong>: hanno
664 infiniti <em>stadi intermedi</em>. Si pensi al movimento
665 dell'ombra dell'asta di una meridiana in contrapposizione
666 alle posizioni finite di un orologio digitale, o alle
667 infinite posizioni che puo' assumere il potenziometro di un
668 amplificatore (ovviamente un amplificatore
669 <em>analogico</em>!). Tensione e corrente elettriche sono
670 grandezze analogiche perche' rappresentabili con funzioni
673 <dt>Grandezze digitali:</dt>
675 <dd>Sono <em>discrete</em>: assumono un numero
676 <em>finito</em> di stadi intermedi. Ad esempio
677 l'interruttore per accendere una lampada. Quando i valori
678 sono solo due si parla di valori <em>binari</em>, caso che
679 riscontriamo in tutte le tecnologie basate sul silicio come
680 i microprocessori o sui vecchi transistor. Si potrebbe
681 pensare ai componenti di un computer come ad enorme numero
682 di lampadine che possono essere solo accese o spente:
683 l'evoluzione tecnologica passando dai transistor ai
684 microporocessori ha raggiunto un livello di
685 miniaturizzazione dell'ordine dei ~30 nanometri.</dd>
687 <dt>La miniaturizzazione presenta i seguenti vantaggi:</dt>
690 <ul class="first last simple">
691 <li>Minor costo di produzione ( rapporto tra il numero
692 di transistor e superfice del <em>wafer</em> sul quale
693 si stampano i microprocessori)</li>
695 <li>Minore distanza tra gli elementi = minore
696 <em>attrito</em> prodotto dal passaggio della corrente
697 = minore dispersione termica = minore calore. Questo si
698 traduce in un minore consumo elettrico, ulteriormente
699 accentuato dal corrispettivo risparmio sulle unita' di
705 <p>In informatica, con digitale ci si riferisce a tutto cio'
706 che viene rappresentato con numeri o che opera manipolando
707 numeri. Il termine deriva dall'inglese digit, che significa
708 cifra, che a sua volta deriva dal latino digitus, che
709 significa dito.</p><img alt="img/differ16.gif" src=
712 <dl class="docutils">
713 <dt>Una grandezza, tensione o corrente, si dice analogica
714 quando al variare del tempo puo' essere rappresentata
715 mediante una funzione continua,</dt>
717 <dd>senza punti di discontinuita'.</dd>
720 <p>Una grandezza si dice digitale quando viene rappresentata
721 mediante un sistema binario costituito da valori 0 ed 1.</p>
723 <p>Links: <a class="reference external" href=
724 "http://www.culturadigitale.net/?p=4">http://www.culturadigitale.net/?p=4</a></p>
726 <p>In informatica quindi si pone costantemente il problema
727 della rappresentazione delle grandezze analogiche (tipiche
728 del mondo <em>reale</em>) in valori digitali (discreti, e
729 quindi approsimativi) <strong>A/D - D/A</strong></p>
732 <div class="section" id="sistema-binario">
733 <h1><a class="toc-backref" href="#id7">Sistema
736 <p>I <em>computer</em> lavorano solo con grandezze finite, e
737 si basano su sistemi cosidetti <em>binari</em>, dato che i
738 microprocessori sono transistor miniaturizzati, che a loro
739 volta possono essere visti come insiemi di lampadine che per
740 definizione possono essere solo <em>accese</em> o
743 <p>Potremmo considerare quindi i due stati come:</p>
753 <p>Entita' <em>discrete</em> come numeri interi o caratteri
754 possono essere espressi facilmente con la sola combinazione
755 dei valori 0 e 1, mentre valori <em>complessi</em>
756 riconducibili a numeri reali (pensiamo alle infinite
757 sfumature di un colore o ai suoni) tramite un'approssimazione
758 basata su un numero di bit arbitrario. Ad esempio Il
759 carattere <em>a</em> in formato <em>ASCII</em> si puo'
760 esprimere con: <tt class="docutils literal"><span class=
761 "pre">01100001</span></tt> , un'immagine puo' essere
762 rappresentata da una griglia di punti (pixel) piu' o meno
763 estesa (risoluzione) con una certa <em>profondita' di
764 colore</em> espressa in bit,</p>
766 <p>E cercare di comporre valori <em>complessi</em>
767 (approssimazione di numeri reali tramite un numero di bit
768 arbitrario), con la sola combinazione dei valori 0 e 1,
769 mentre entita' <em>discrete</em> Il carattere <em>a</em> in
770 formato <em>ASCII</em> si puo' esprimere con: <tt class=
771 "docutils literal"><span class="pre">01100001</span></tt>
774 <p>Schema sulla trasformazione da binario a decimale:</p>
775 <pre class="literal-block">
776 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 decimali = 0
777 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 decimali = 1
778 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 decimali = 2
779 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 decimali = 3
780 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 decimali = 4
781 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 decimali = 5
782 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 decimali = 6
784 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 decimali = 255
787 <dl class="docutils">
788 <dt>Si lavora in base 2 (cioe' si moltiplica sempre per 2),
789 quindi si ha a che fare con sequenze numeriche del
793 <p class="first"><tt class=
794 "docutils literal"><span class="pre">2</span>
795 <span class="pre">4</span> <span class="pre">8</span>
796 <span class="pre">16</span> <span class="pre">32</span>
797 <span class="pre">64</span> <span class="pre">128</span>
798 <span class="pre">256</span> <span class="pre">512</span>
799 <span class="pre">1024</span> <span class=
800 "pre">...</span></tt></p>
802 <p>C'e' una ripetizione di questi <em>patterns</em>
803 numerici dovuti alle <strong>parole</strong> usate dai
804 processori. Se l'unita' minima dell'informazione e' il
805 <em>bit</em>, l'unita' minima <em>funzionale</em> e' il
806 <strong>Byte</strong>: con 256 valori possibili possiamo
807 esprimere efficacemente caratteri, colori ed altre
808 informazioni percepibili dai nostri sensi.</p>
810 <p class="last">In informatica, word_(dall'inglese
811 parola) e' un termine che identifica la dimensione nativa
812 dei dati usati da un computer. Una word e' semplicemente
813 un gruppo di bit di una determinata dimensione che sono
814 gestiti come unita' da un microprocessore. La dimensione
815 (o lunghezza) della word e' un'importante caratteristica
816 dell'architettura di un computer.</p>
820 <dl class="docutils">
821 <dt>Links aggiuntivi:</dt>
824 <ul class="first last simple">
825 <li><a class="reference external" href=
826 "http://www.culturadigitale.net/?p=8">http://www.culturadigitale.net/?p=8</a></li>
828 <li><a class="reference external" href=
829 "http://doc.studenti.it/appunti/introduzione-allinformatica/2/introduzione-informatica.html">
830 http://doc.studenti.it/appunti/introduzione-allinformatica/2/introduzione-informatica.html</a></li>
836 <div class="section" id="unita-di-misura">
837 <h1><a class="toc-backref" href="#id8">Unita' di
840 <p>Se diciamo che una singola <em>lampadina</em> sia un
841 <strong>bit</strong>, nel nostro lavoro ci troviamo a gestire
842 miliardi di lampadine. Cerchiamo di definire dei multipli del
843 bit per rendere la quotidianita' piu' semplice.</p>
845 <dl class="docutils">
848 <dd>Una singola informazione, l'unita' minima. Si indica
849 con la <em>b</em> <strong>minuscola</strong>. E' l'unita'
850 di misura di riferimento per il <em>trasferimento</em> dei
851 dati su reti: una scheda di rete <em>10/100</em> sposta
852 circa 12MB (Bytes) al secondo.</dd>
856 <dd>Un Byte e' formato da 8 bit. Si indica con la
857 <em>B</em> <strong>Maiuscola</strong> . La si puo'
858 considerare l'unita' <em>funzionale</em> minima
859 nell'informatica, dato che un numero minore di bit
860 difficilmente puo' rappresentare qualcosa di significativo.
861 E' l'unita' di misura di riferimento per lo storaggio dati:
862 le dimensioni dei files e dei supporti di storaggio si
863 esprimono in Bytes.</dd>
866 <div class="section" id=
867 "multipli-del-bit-tabelle-di-conversione">
868 <h2><a class="toc-backref" href="#id9">Multipli del Bit
869 (TABELLE DI CONVERSIONE):</a></h2>
875 <li>Byte (B): 8 bit</li>
877 <li>Kilobyte (KB): 1024 B</li>
879 <li>Megabyte (MB): 1024 KB, 1048576 B</li>
881 <li>Gigabyte (GB): 1024 MB, 1048576 KB, 1073741824
884 <li>Terabyte (TB): 1024 GB, 1048576 MB, 1073741824 KB,
889 <p>Link disponibile: <a class="reference external" href=
890 "http://it.wikipedia.org/wiki/Byte">http://it.wikipedia.org/wiki/Byte</a></p>
892 <dl class="docutils">
895 <dd>Si tenga conto che i produttori di Hard Disk
896 generalmente indicano la capienza di detti supporti in
897 migliaia di megabyte e non 1024*: quindi per formattare 1
898 hd di 500 MB si considera 500/1000 (e non 500/1024).</dd>
902 <div class="section" id="trasmissione-dati-su-reti">
903 <h2><a class="toc-backref" href="#id10">Trasmissione dati
906 <p>Il termine velocita' di trasmissione (o di
907 trasferimento) viene solitamente utilizzato a proposito di
908 scambi di informazioni tra computer o comunque dispositivi
909 elettronici. Siccome su questi dispositivi l'informazione
910 viene memorizzata e viaggia in forma digitale, ovvero e'
911 sostanzialmente una sequenza di bit, e' naturale che tale
912 velocita' venga misurata in bit per secondo (e da qui il
913 termine equivalente inglese bitrate).</p>
915 <p>Ad esempio, se in una linea ADSL abbiamo un
916 trasferimento dati di 4 Mb/s, cioe' 4.000.000 b/s, avremo
917 (4.000.000/8) B/s equivalenti a 500 kB/s.</p>
919 <p>Quindi per calcolare la velocita' di trasferimento di un
920 file le cui dimensioni sono espresse in BYTEs su una rete
921 bisogna <strong>dividere per 8</strong></p>
927 <li>ADSL 20 Mb (<em>venti mega bit</em>) ha una
928 velocita' equivalente di circa ~1.8MB (<em>mega</em>
929 Bytes) per secondo</li>
931 <li>Rete etherent 10/100 Mb ha una velocita' di
932 trasferimento di circa ~12MB per secondo.</li>
936 <p>C'e' uno scarto tra la velocita' nominale di
937 trasferimento dati su una rete e l'effettivo trasferimento
938 dei dati tra i due punti. Tipicamente questo e' dovuto a
939 forme di interferenza del supporto trasmissivo (pensiamo a
940 una rete wifi su onde radio), a imprecisioni dell'hardware
941 di rete, conflitti tra pacchetti, problemi ambientali.</p>
944 <div class="section" id="velocita-di-clock">
945 <h2><a class="toc-backref" href="#id11">Velocita' di
948 <p>Usiamo l'<a class="reference external" href=
949 "http://it.wikipedia.org/wiki/Hertz">Hertz</a> come unita'
950 di misura per le frequenze quali quelle di clock della CPU
951 (es 2.0GHz numero di cicle del processore in un secondo) o
952 di un BUS di per il trasferimento dati (es 33Mhz). Un hertz
953 corrisponde alla distanza tra due creste di un onda.</p>
955 <p>In teoria, la <strong>velocita' o frequenza di
956 clock</strong> e' il numero di commutazioni (tra i due
957 livelli logici "0" e "1") che circuiti logici (interni ad
958 un'unita' di calcolo o di un microprocessore) sono in grado
959 di eseguire in un minuto secondo (preso come unita'di
960 tempo); essa espressa in cicli/secondo (Hertz) ed i suoi
963 <dl class="docutils">
964 <dt>Unita' di misura per le frequenze:</dt>
967 <ul class="first last simple">
968 <li>1 hekt o hertz (simbolo hHz ) = 102 Hz = 100
971 <li>1 kilohertz (simbolo kHz ) = 103 Hz = 1 000
974 <li>1 megahertz (simbolo MHz ) = 106 Hz = 1 000 000
977 <li>1 gigahertz (simbolo GHz ) = 109 Hz = 1 000 000
983 <p>Ricordiamo che i prefissi 'kilo', 'mega', 'giga', 'tera'
984 derivano dal sistema numerico decimale (a base 10) e
985 servono per esprimere le quantita' in 'ordini di
990 <li>1 KILO = mille = 10^3</li>
992 <li>1 MEGA = 1 milione = 10^6</li>
994 <li>1 GIGA = 1 miliardo = 10^9</li>
996 <li>1 TERA = mille miliardi = 10^12</li>
1000 <p>La velocita' o frequenza di clock e' il numero di
1001 commutazioni tra i due livelli logici "0" e "1" che
1002 circuiti logici interni ad un'unita' di calcolo o di un
1003 microprocessore sono in grado di eseguire nell'unita' di
1004 tempo di un minuto secondo, ed e' espressa in cicli al
1005 secondo, o hertz, e suoi multipli; normalmente per eseguire
1006 un'istruzione o una semplice somma sono necessari piu'
1009 <p>In queste moderne CPU essendo la velocita' di clock
1010 cosi' elevata, viene generata da un minuscolo oscillatore
1011 al quarzo posto all'interno della stessa CPU, regolabile
1012 tramite il BIOS. Gli informatici esperti sono in grado di
1013 aumentare le prestazioni dei computer aumentando la
1014 velocita' di clock nominale del processore, ma si tratta di
1015 un'operazione rischiosa che puo' portare al
1016 surriscaldamento della CPU. Vi sono comunque alcuni
1017 processori di particolare efficienza e robustezza che sono
1018 in grado di supportare bene velocita' di clock maggiori di
1019 quella nominale, senza subire danni. Nel gergo informatico
1020 questa operazione viene definita _overclocking, ed e'
1021 utilizzata anche dall'industria per testare l'affidabilita'
1022 delle CPU prodotte.</p>
1024 <p>Tipicamente la velocita' di clock consigliata per una
1025 cpu viene stabilita da un valore medio statistico ottenuto
1026 considerando vari esemplari del wafer da cui proviene la
1027 cpu, quindi e' possibile che la nostra CPU sia
1028 <em>stabile</em> anche a una velocita' di clock
1029 <strong>leggermente</strong> superiore a quella indicata.
1030 All'opposto, quando un elaboratore non necessita della
1031 velocita' massima della CPU e' possibile fare il
1032 <em>downclock</em> della stessa, in modo da ridurne il
1033 consumo e il riscaldamento, a vantaggio di una maggiore
1034 stabilita' del sistema e minore usura del sistema di
1037 <p>Le CPU piu' moderne, in particolare quelle montate sui
1038 sistemi portatili, possono variare dinamicamente la
1039 frequenza di lavoro a seconda del carico di lavoro da
1040 sostenere, in modo da ridurre il consumo medio e la
1041 rumorosita' (causata dalle ventole di raffreddamento). Ne
1042 e' un esempio la tecnologia <a class="reference external"
1043 href="http://it.wikipedia.org/wiki/SpeedStep">SpeedStep</a>
1044 di Intel, ed equivalenti di altri produttori.</p>
1048 <div class="section" id="supporti-di-storaggio-dati">
1049 <h1><a class="toc-backref" href="#id12">Supporti di storaggio
1052 <p>Supporti <strong>hardware</strong> adibiti a contenere le
1053 informazioni che trattiamo. In ambito informatico con il
1054 termine storage si identificano i dispositivi hardware, i
1055 supporti per la memorizzazione, le infrastrutture ed i
1056 software dedicati alla memorizzazione non volatile di grandi
1057 quantita' di informazioni in formato elettronico.</p>
1059 <p>Tipici esempi di supporto di storaggio sono:</p>
1067 <li>Unita' a nastro</li>
1073 <dl class="docutils">
1074 <dt>Supporti fisici per la memorizzazione non volatile:
1075 <a class="reference external" href=
1076 "http://it.wikipedia.org/wiki/Storage">http://it.wikipedia.org/wiki/Storage</a></dt>
1078 <dd>In ambito informatico con il termine STORAGE
1079 (STORAGGIO, contenitore che conserva info) si identifica
1080 tutto l'hardware (dipositivi/supporti/infrastrutture)
1081 dedicato alla memorizzazione non volatile di grandi
1082 quantita' di informazioni in <em>formato elettronico</em>.
1083 Tipici supporti storaggio sono: hard disks, CD-ROM, unita'
1084 a nastro,floppy, chiavette USB.</dd>
1087 <p>Con il termine memorizzazione non volatile si intende la
1088 possibilita' di immagazzinare delle informazioni in maniera
1089 persistente con una ragionevole probabilita' che
1090 l'informazione rimanga inalterata per un ragionevole lasso di
1093 <dl class="docutils">
1094 <dt>Con il termine memorizzazione NON VOLATILE si intende
1095 la possibilita' di immagazzinare delle informazioni IN
1096 MANIERA PERSISTENTE CON UNA RAGIONEVOLE PROBABILITA' CHE
1097 L'INFORMAZIONE RIMANGA INALTERATA PER UN RAGIONEVOLE LASSO
1098 DI TEMPO, e per farlo in formato digitale binario e'
1099 necessaria avere un supporto fisico con le seguenti
1100 caratteristiche:</dt>
1103 <p class="first">-sul supporto possono essere <em>scritte
1104 almeno una volta</em> sequenze di bit;</p>
1106 <p>-le sequenze di bit scritte rimangono <em>inalterate a
1107 meno di una specifica operazione di modifica</em>;</p>
1109 <p class="last">-le sequenze di bit possono essere
1110 <em>lette un numero elevato di volte</em> senza
1115 <p>La memoria RAM di un computer e' la tipica memoria
1116 volatile, infatti e' sufficiente che venga a mancare la
1117 corrente elettrica perche' tutte le informazioni in essa
1118 imagazzinate vadano perdute.</p>
1120 <p>Esistono molti supporti fisici che rispondono a queste
1121 caratteristiche, ma nella storia dell'informatica solo alcuni
1122 si sono affermati e sono tuttora utilizzati:</p>
1126 <li>Schede perforate (decisamente obsolete);</li>
1128 <li>Nastri magnetici;</li>
1130 <li>Dischi magnetici (hard disk e floppy disk);</li>
1132 <li>Dischi ottici;</li>
1136 <p>Supporti fisici per la memorizzazione non volatile:
1137 <a class="reference external" href=
1138 "http://it.wikipedia.org/wiki/Storage">http://it.wikipedia.org/wiki/Storage</a></p>
1140 <div class="section" id="hard-disks">
1141 <h2><a class="toc-backref" href="#id13">Hard Disks</a></h2>
1143 <p>Link: <a class="reference external" href=
1144 "http://it.wikipedia.org/wiki/Hard_disk">http://it.wikipedia.org/wiki/Hard_disk</a></p>
1146 <p>Il disco rigido o hard disk (anche chiamato disco fisso)
1147 e' un dispositivo utilizzato per la memorizzazione a lungo
1148 termine dei dati in un computer. Il disco rigido e' il
1149 <strong>principale supporto di storaggio</strong> dei
1150 computer per via della sua capienza (~300 GB) e della sua
1151 velocita' di trasferimento dati ( ~25MB per secondo) .</p>
1154 <div class="section" id="memorie-flash">
1155 <h2><a class="toc-backref" href="#id14">Memorie
1158 <p>I supporti di storaggio <em>USB</em> o comunque di tipo
1159 <a class="reference external" href=
1160 "http://it.wikipedia.org/wiki/Memoria_flash">NAND</a> o
1161 <a class="reference external" href=
1162 "http://it.wikipedia.org/wiki/Disco_a_stato_solido">SSD</a>
1163 sono supporti removibili usati alla stregua dei vecchi
1164 floppy disk. La caratteristica peculiare e' che non hanno
1165 parti in movimento e sono quindi meno delicati rispetto ai
1166 supporti magnetici con testine in movimento su dischi (come
1167 gli hard disks ) o a quelli a nastro (come nei dispositivi
1168 a cartucce quali DAT e similari ). Sono meno fragili dei
1169 supporti ottici ( ala CD-Rom ) e meno sensibili
1170 all'esposizione solare diretta, piu' compatti fino ad
1171 essere tascabili nei tagli piu' piccoli.</p>
1173 <p>Link: <a class="reference external" href=
1174 "http://it.wikipedia.org/wiki/Chiave_USB">http://it.wikipedia.org/wiki/Chiave_USB</a></p>
1177 <div class="section" id="propieta-dei-supporti-di-storaggio">
1178 <h2><a class="toc-backref" href="#id15">Propieta' dei
1179 supporti di storaggio</a></h2>
1181 <table border="1" class="docutils">
1190 <thead valign="bottom">
1192 <th class="head" colspan="5">Supporti di
1197 <th class="head">Tipo di dispositivo</th>
1199 <th class="head">capienza</th>
1201 <th class="head">lettura</th>
1203 <th class="head">scrittura</th>
1205 <th class="head">re-scrittura[1]</th>
1209 <tbody valign="top">
1223 <td>Floppy disk</td>
1229 <td>dipende [2]</td>
1308 <dl class="docutils">
1311 <dd>per DVD e Blue RAY valgono gli stessi ragionamenti di
1312 scrittura (R) e re-scrittura (RW) fatti per i CD, solo
1313 con <em>tante sigle in piu'</em>.</dd>
1316 <table class="docutils footnote" frame="void" id="id2"
1323 <tbody valign="top">
1325 <td class="label">[1]</td>
1327 <td>Un floppy disk e' scrivibile se la targhetta e'
1328 posizionata in modalita' di scrittura, e all'opposto
1329 puo' diventare in sola lettura</td>
1334 <table class="docutils footnote" frame="void" id="id3"
1341 <tbody valign="top">
1343 <td class="label">[2]</td>
1345 <td>Con <em>re-scrittura</em> si intende la
1346 possibilita' di modificare un dato piu' di una volta.
1347 Ad esempio su un supporto ottico <em>Recordable</em>
1348 si puo' scrivere una sola volta ( <a class=
1349 "reference external" href=
1350 "http://it.wikipedia.org/wiki/WORM">WORM</a> ),
1351 dopodiche i dati scritti non sono ulteriormente
1352 modificabili (ma possono essere aggiunte sucessive
1353 <em>sessioni</em> di scrittura se previsto). Questa
1354 caratteristica li rende indicati come supporto di
1355 back-up. Supporti <em>Rewritable</em> possono invece
1356 essere scritti piu' volte (la posizione dei cristalli
1357 pit/lane interni puo' essere modificata piu' volte,
1358 quindi i dati possono essere modificati /
1364 <dl class="docutils">
1365 <dt>Tutti supporti di storaggio hanno vita limitata
1366 (aspettativa di vita), influenzata fortemente dalla
1367 nostra modalita' di utilizzo e da fattori/accidenti
1368 esterni; sono quindi soggetti ad alcune norme di
1369 conservazione specifiche:</dt>
1372 <ul class="first last simple">
1373 <li>HD: mantiene dati per 2-5 anni</li>
1375 <li>SUPPORTI MAGNETICI: evitare l'esposizione a
1376 rapide variazioni termiche e campi magnetici.</li>
1378 <li>SUPPORTI OTTICI: tenerlo lontano da fonti calore,
1379 non depositarlo senza la custodia dedicata, non
1380 sottoporlo a nessun tipo di sollecitazione meccanica
1381 (piegarlo, torcerlo ).</li>
1386 <div class="section" id="hard-disk">
1387 <h3><a class="toc-backref" href="#id16">HARD
1390 <p>Il disco rigido o hard disk (anche chiamato disco
1391 fisso) e' un dispositivo utilizzato per la memorizzazione
1392 a lungo termine dei dati in un computer. E' 1 supporto
1393 magnetico con 1 testina che si sposta per leggere dati su
1394 uno o piu' dischi.</p>
1396 <p>Caratteristiche fondamentali: capiente (200-500 MB
1397 fino TB) + Trasf.dati (I/O) + riscrivibile (R,W,RW).</p>
1399 <p>E' quindi il <strong>principale supporto di
1400 storaggio</strong> per via della sua capienza (~300 GB),
1401 ma rappresenta un limite ('collo di bottiglia') per le
1402 <em>prestazioni</em> dell'intero pc perche' e' molto
1403 lento nel trasferire dati (25-30 MB/s) rispetto alla cpu
1404 (< 3 GHZ). Negli ultimi anni le prestazioni della cpu
1405 sono raddoppiate circa ogni 18 mesi (Legge di <a class=
1406 "reference external" href=
1407 "http://it.wikipedia.org/wiki/Legge_di_Moore">Moore</a>),
1408 mentre i dischi rigidi sono rimasti relativamente statici
1409 dal punto di vista delle prestazioni nello scambio
1412 <p>Link: <a class="reference external" href=
1413 "http://it.wikipedia.org/wiki/Hard_disk">http://it.wikipedia.org/wiki/Hard_disk</a></p>
1417 <li>I vari formati dei supporti ottici DVD: <a class=
1418 "reference external" href=
1419 "http://it.wikipedia.org/wiki/Dvd#Formati_DVD">http://it.wikipedia.org/wiki/Dvd#Formati_DVD</a></li>
1421 <li>I vari formati dei supporti ottici Blue-Ray Disk:
1422 <a class="reference external" href=
1423 "http://it.wikipedia.org/wiki/Blu-ray_Disc">http://it.wikipedia.org/wiki/Blu-ray_Disc</a></li>
1430 <div class="section" id="classi-di-elaboratori">
1431 <h1><a class="toc-backref" href="#id17">Classi di
1432 elaboratori</a></h1>
1434 <p>Cerchiamo di distinguere gli elaboratori per
1435 caratteristiche fisiche e funzionali, considerando la loro
1436 architettura, ambiente di utilizzo, target di utenza a cui
1439 <p>Stabiliamo alcuni criteri per distinguere le varie
1448 <li>input | output</li>
1450 <li>capcita' di calcolo</li>
1452 <li>numero di utenti</li>
1454 <li>completezza dell'interfaccia utente</li>
1458 <div class="section" id="calcolatori-tascabili">
1459 <h2><a class="toc-backref" href="#id18">Calcolatori
1460 tascabili</a></h2><img alt="img/calcs.jpg" src=
1463 <p>Sono le macchine piu' semplici, generalmente poco
1464 flessibili, tendono ad essere piu' sofisticate nel caso
1465 delle calcolatrici scientifiche. Queste ultime sono spesso
1466 programmabili e hanno display comunque di dimensioni
1467 ridotte. L'interfaccia utente e' quindi molto
1471 <div class="section" id="palmari-e-smart-phones">
1472 <h2><a class="toc-backref" href="#id19">Palmari e smart
1473 phones</a></h2><img alt="img/palm.gif" src="img/palm.gif">
1475 <p>Device caratterizzati dalle piccole dimensioni e dalla
1476 portabilita' (dimensioni <em>tascabili</em> e autonomia
1477 nell'ordine delle decine di ore), possono essere
1478 relativamente potenti e flessibili, sopratutto quando
1479 vengono equipaggiati con sistemi operativi analoghi a
1480 quelli dei personal computers. Le loro prestazioni in
1481 alcuni casi sono paragonabili a PC fissi di 4/5 anni
1482 precedenti alla loro introduzione sul mercato.</p>
1484 <p>La capacita' di storaggio e' in genere molto limitata,
1485 ma e' possibile espanderla con schede di memoria. I modelli
1486 piu' recenti possono appogiiarsi a file-system di rete.</p>
1488 <p>Autonomia: da 4 a 25 ore. Capacita' di storaggio:
1492 <div class="section" id="ultraportabili-netbook">
1493 <h2><a class="toc-backref" href="#id20">Ultraportabili
1494 (netbook)</a></h2><img alt="img/eeepc.jpg" src=
1497 <p>Sono sostanzialmente l'anello intermedio tra i palmari e
1498 i portatili. Di prezzo intermedio tra i due, hanno in
1499 genere una dotazione hardware semplificata e ridotte
1500 capacita' di espansione rispetto a un portatile. Dotati di
1501 monitor e tastiere <em>standard</em> possono far
1502 <em>girare</em> gli stessi sistemi operativi dei computer
1503 fissi e quasi tutti i software con essi compatibili senza
1504 dover intervenire sulle interfacce utente.</p>
1506 <p>Autonomia: da 1 a 8 ore. Capacita' di storaggio: da 4GB
1507 (stato solido) a 80GB (hard disk magnetici)</p>
1510 <div class="section" id="portatili">
1511 <h2><a class="toc-backref" href=
1512 "#id21">Portatili</a></h2><img alt="img/laptop.jpg" src=
1515 <p>Versioni portabili o per lo meno <em>trasportabili</em>
1516 dei personal computers. Hanno generalmente una tastiera
1517 completa ma di dimensioni ridotte, un display di ~ 15
1518 pollici, processori ottimizzati al risparmio energetico,
1519 capacita' di storaggio limitate. L'espandibilita' e' molto
1520 limitata. I portabili hanno una batteria che ne consente
1521 l'utilizzo senza accesso alla rete elettrica fissa per
1522 alcune ore. I cosidetti <em>trasportabili</em> hanno
1523 un'autonomia senza rete elettrica irrisoria. Visto il
1524 progressivo abbassamento dei prezzi stanno raggiungendo i
1525 computer fissi per diffusione.</p>
1527 <p>Autonomia: da 2 a 10 ore. Capacita' di storaggio: da
1528 250Gb fino a 1TB (Anche in RAID! )</p>
1530 <div class="section" id="trasportabili">
1531 <h3><a class="toc-backref" href=
1532 "#id22">Trasportabili</a></h3>
1534 <p>I cosidetti <em>TRASPORTABILI</em> sono
1535 sostanzialmente delle work-station che si possono
1536 spostare da una lugo all'altro.Data l'autonomi irrisoria
1537 della batteria (anche 30/45 minuti) sono praticamente
1538 utilizzabili solo connessi alla rete elettrica.</p>
1540 <p>Tipicamente sono piu' tozzi e pesanti dei portatili
1541 veri e propri, ma sono in genere piu' economici. Ad
1542 eccezione dei modelli particolarmente lussuori con
1543 display da 17 o piu' pollici, tipicamente dedicati al
1547 <div class="section" id="ultraportatili">
1548 <h3><a class="toc-backref" href=
1549 "#id23">Ultraportatili</a></h3>
1551 <p>Sacrificano le prestazioni per migliorare la
1552 portabilita': molto leggeri, grande autonomia (6 o piu'
1553 ore), display da 12 pollici o inferiore, tipicamente
1558 <div class="section" id="personal-computer">
1559 <h2><a class="toc-backref" href="#id24">Personal
1560 Computer</a></h2><img alt="img/180px-Apple2.jpg" src=
1561 "img/180px-Apple2.jpg">
1563 <p>Sono le normali macchine fisse usati dagli gli utenti
1564 per gli usi piu' disparati. Sono le macchine piu'
1565 <em>comuni</em>, utilizzate per lavori di office automation
1566 e intrattenimento, dotate di processori che privilegiano le
1567 prestazioni rispetto al consumo (e al costo), e sono
1568 generalmente il risultato dell'assemblaggio di parti sfuse
1569 (schede madri, processori, periferiche) la cui combinazione
1570 puo' portare a risultati variegati. A differenza delle
1571 classi precedentemente descritte sono aggiornabili (posto
1572 che ci sia compatibilita' tra i singoli componenti).</p>
1575 <div class="section" id="work-station">
1576 <h2><a class="toc-backref" href="#id25">Work
1579 <p>Sono postazioni singole ad alte performance per gli usi
1580 piu' impegnativi (grafica, calcolo). Fino ad alcuni anni fa
1581 erano generalmente caratterizzate da architetture
1582 multiprocessore, ma oggi si trovano <em>palmari</em> con
1583 piu' di una CPU quindi questo elemento non e' piu'
1584 determinante. Generalmente il costo e' di molte migliaia di
1585 euro. Questo termine sta diventando pero' obsoleto, data la
1586 difficolta' di caratterizzare queste macchine, per scopi
1587 promozionali / commerciali viene ormai usato per quasi
1588 tutti i sistemi in vendita...</p>
1591 <div class="section" id="server">
1592 <h2><a class="toc-backref" href=
1593 "#id26">Server</a></h2><img alt="img/blade_server.jpg" src=
1594 "img/blade_server.jpg">
1596 <p>Un server e' un elaboratore che tipicamente eroga
1597 servizi a molti <em>utenti</em> (clients) e offre
1598 continuita' del servizio: un server tipicamente resta
1599 acceso 24/7 mentre una workstation otto ore al giorno.
1600 L'hardware di un server (in particolare le parti in
1601 movimento piu' soggette a usura: alimentatore, ventole,
1602 hard disks) dovrebbero quindi essere in grado di funzionare
1603 tutto il giorno tutti i giorni, dato che l'interruzione,
1604 seppur temporanea, dell'erogazione dei servizi puo'
1605 compromettere la produttivita' di molti <em>clients</em>.
1606 Componenti come alimentatore o hard disk hanno comunque una
1607 vita limitata (anche se di <em>buona</em> qualita') e in
1608 previsione di un loro malfunzionamento e' possibile
1609 implementare sistemi di <em>ridondanza</em> relativamente
1610 economici come <a class="reference external" href=
1611 "http://it.wikipedia.org/wiki/RAID">RAID</a> e
1612 alimentazione ridondante. Puo' essere possibile a seconda
1613 del tipo di hardware sostituire <em>al volo</em> (hot swap)
1614 i componenti guasti senza essere costretti a spegnere la
1615 macchina per l'intervento di manutenzione.</p>
1617 <p>I requisiti di capacita' di calcolo e memoria avranno da
1618 calcolare in base ai requisiti dei servizi in esecuzione
1619 sul server in relazione al numero dei client collegati e
1620 effettivo utilizzo di questi. Non e' raro trovare server
1621 con quantitativi di <em>RAM</em> o <em>CPU</em> ben piu'
1622 limitati dei clients che servono quando i servizi sono poco
1623 esosi di risorse o le richieste relativamente frequenti e
1624 sopratutto senza picchi di utilizzo. Alcuni servizi
1625 fondamentali come DNS, routing o firewall possono saturare
1626 la banda disponibile del server ben prima delle altre
1627 risorse di sistema. Capita ritrovare vecchie work-station
1628 in disuso, ormai sostituite da macchine piu' recenti e
1629 prestanti, svolgere decorosamente queste funzioni. Il che'
1630 rappresenta un'interessante opzione di reciclo, per quanto
1631 il consumo elettrico sia il piu' delle volte sproporzionato
1632 al lavoro svolto (tenendo come riferimento macchine a
1633 bassissiimo costo di derivazione embedded o NAS di
1634 produzione recente, ma il discorso si farebbe
1635 complicato...) .</p>
1637 <p>Tipicamente i server hanno capacita' di
1638 <em>collegamento</em> (hardware di rete) superiori ai
1639 singoli client (in proporzione alle macchine che devono
1640 servire), ma dato che <em>spesso</em> client e server
1641 condividono la stessa architettura hardware non e' semplice
1642 fare in modo che i server siano in grado di gestire
1643 input/output in quantita' direttamente proporzionale al
1644 numero dei clients. Si tenga conto che molti servizi non
1645 prevedono un flusso costante di dati ma solo chiamate
1646 sporadiche: questo permette di poter pianificare la
1647 ampiezza di banda necessaria al server sul valore massimo
1648 <em>stimato</em> di connessioni che si potrebbero
1649 verificare in un singolo momento piuttosto che sul reale
1650 numero di clients.</p>
1652 <p>Spesso i server non hanno periferiche di input dedicate
1653 (mouse e tastiera), e preferibilmente montano hardware a
1654 basso consumo (anche per limitare di conseguenza l'usura
1655 dei sistemi di raffreddamento, e per permettere la
1656 concentrazione in singoli armadi o <em>server farm</em>
1660 <div class="section" id="mainframe">
1661 <h2><a class="toc-backref" href=
1662 "#id27">Mainframe</a></h2><img alt="img/mainframe.jpg" src=
1663 "img/mainframe.jpg">
1665 <p>Tipo di macchine "desuete" (a parte i casi in cui non se
1666 ne puo' fare a meno, ma la tendenza iattuale e' di
1667 sostituirle con uno o piu' server), i mainframe sono
1668 fondamentalmente caratterizzate da una superiore capacita'
1669 nella gestione dell'input/output, e nel garantire la
1670 continuita' del servizio (molti mainframe permettono la
1671 sostituzione a caldo anche dei processori).</p>
1673 <p>I mainframe o Sistemi Centrali sono computer utilizzati
1674 per applicazioni critiche soprattutto da grandi aziende e
1675 istituzioni, tipicamente per elaborare con alte prestazioni
1676 ed alta affidabilita' grandi moli di dati, come quelle in
1677 gioco nelle transazioni finanziarie, nei censimenti, nelle
1678 statistiche di industrie e clienti, nelle applicazioni
1679 ERP(Enterprise Resource Planning), etc</p>
1682 <div class="section" id="cluster">
1683 <h2><a class="toc-backref" href=
1684 "#id28">Cluster</a></h2><img alt="img/cluster.jpg" src=
1687 <p>soluzione <em>economica</em> per raggiungere alte
1688 prestazioni utilizzando piu' macchine <em>semplici</em> in
1689 parallelo per lo stesso scopo. Google ad esempio e' un
1690 cluster costituito da macchine x86 facilmente reperibili
1691 sul mercato. L'hardware e' quindi relativamente economico
1692 come gli interventi su di esso, e data la possibilita' di
1693 garantire il funzionamento del cluster a prescindere dal
1694 <em>fallimento</em> di un singolo membro si puo' tollerare
1695 hardware meno sofisticato.</p>
1698 <div class="section" id="supercomputer">
1699 <h2><a class="toc-backref" href=
1700 "#id29">Supercomputer</a></h2><img alt=
1701 "img/supercomputer.jpg" src="img/supercomputer.jpg">
1703 <p>I supercomputer sono macchine che raggiungono le massime
1704 prestazioni possibili secondo la tecnologia disponibile per
1705 singola unita'. La loro architettura e' altamente
1706 specializzata e costruita su misura, sono generalmente
1707 molto costosi e poco aggiornabili.</p>
1709 <p>La tendenza attuale e' di sostituirli con clusters di
1710 macchine piu' semplici da gestire: nelle _classifiche dei
1711 "super computer" molti sistema sono clusters.</p>
1715 <div class="section" id="linguaggi-di-programmazione">
1716 <h1><a class="toc-backref" href="#id30">Linguaggi di
1717 programmazione</a></h1>
1719 <p>I computer, come detto in precedenza, registrano e
1720 elaborano dei dati. Quest'ultima parte viene svolta con dei
1721 programmi che sono sostanzialmente delle sequenze di
1722 istruzioni, scritte in un linguaggio comprensibile
1723 all'elaboratore, ripetute piu' volte.</p>
1725 <p>links: <a class="reference external" href=
1726 "http://it.wikipedia.org/wiki/Linguaggio_di_programmazione">http://it.wikipedia.org/wiki/Linguaggio_di_programmazione</a></p>
1728 <p>Sappiamo che i microporcessori elaborano sequenze binarie
1729 formate dai valori <tt class="docutils literal"><span class=
1730 "pre">1|0</span></tt>, ma sarebbe decisamente scomodo per gli
1731 sviluppatori scrivere i programmi in questo formato. Si
1732 <em>preferisce</em> scrivere i software in linguaggi formali
1733 piu' simili alla lingua umana (inglese), che oltre a essere
1734 piu' <em>significativi</em> per gli sviluppatori permettono
1735 di scrivere sequenze di comandi che potranno poi essere
1736 adattate automaticamente alle varie CPU.</p>
1738 <p>La trasformazione del <em>codice sorgente</em> scritto dal
1739 programmatore in un linguaggio di piu' <em>alto livello</em>
1740 rispetto al <em>codice oggetto</em> direttamente eseguibile
1741 dal microprocessore viene svolta da un compilatore o da un
1744 <p>Esistono probabilmente centinaia di linguaggi di
1745 programmazione, caratterizzabili in base a:</p>
1749 <li>Distanza dall'hardware: linguaggi di basso livello
1750 come l'<em>assebler</em> sono molto piu' a contatto con
1751 le caratteristiche propie della CPU rispetto a linguaggi
1752 di alto livello come <em>Python / Ruby / PHP</em>. La
1753 possibilita' di interagire in modo piu' stretto con
1754 l'hardware puo produrre codice piu' prestante.</li>
1756 <li>Semplicita': linguaggi di <em>alto livello</em>,
1757 sopratutto se interpretati, risultano molto piu' semplici
1758 da scrivere e manutenere, abbassando di conseguenza costi
1759 e tempi di sviluppo. Vista la attuale capacita' di
1760 calcolo dei microprocessori l'efficena massima del codice
1761 tende oggi a non essere prioritaria rispetto al tempo di
1762 sviluppo (almeno in molti casi).</li>
1766 <p><a class="reference external" href=
1767 "http://it.wikipedia.org/wiki/Linguaggio_di_programmazione#Linguaggi_compilati_e_linguaggi_interpretati">
1768 http://it.wikipedia.org/wiki/Linguaggio_di_programmazione#Linguaggi_compilati_e_linguaggi_interpretati</a></p>
1770 <div class="section" id="compilatori">
1771 <h2><a class="toc-backref" href=
1772 "#id31">Compilatori</a></h2>
1774 <p>In informatica, un compilatore e' un programma che
1775 traduce una serie di istruzioni scritte in un determinato
1776 linguaggio di programmazione (codice sorgente) in
1777 istruzioni di un altro linguaggio (codice oggetto). Questo
1778 processo di traduzione si chiama compilazione.</p>
1780 <p>Dal codice sorgente viene quindi generato un codice
1781 oggetto direttamente eseguibile dalla CPU, senza bisogno
1782 che al momento dell'esecuzione sia disponibile lo stesso
1783 linguaggio o componenti dell'ambiente si sviluppo. Dato che
1784 il compilatore ha la possibilita' di fare un'analisi
1785 generale del codice prima di cominciare a convertirlo il
1786 codice risultante e' in genere piu' ottimizzato rispetto al
1787 codice eseguito da un interprete.</p>
1789 <p>La compilazione richiede una certa quantita' di tempo,
1790 ma questo accade <strong>solo in fase di
1791 compilazione</strong>. Una volta creato il codice oggetto
1792 questo sara' immediatamente eseguibile su tutte le macchine
1793 compatibili, con un evidente vantaggio di prestazioni
1794 rispetto ai linguaggi interpretati che devono procedere
1795 alla <em>traduzione</em> a ogni esecuzione del
1798 <p>La necessita' di dover ricompilare ogni volta che si
1799 introduce un cambiamento del codice viene pero' visto come
1800 uno svantaggio rispetto ai linguaggi interpretati, dal
1801 punto di vista dello sviluppatore.</p>
1803 <p>Poiche' in informatica non esitono <em>proiettili_
1804 d'argento</em> (silver bullets, una soluzione per tutti i
1805 problemi) abbiamo a disposizione tanti linguaggi diversi,
1806 per supportare approcci piu' o meno strutturati a
1807 problematiche piu' o meno complesse: linguaggi piu' o meno
1808 semplici, piu' o meno efficenti nelle prestazioni,
1809 ottimizzati per fare specifiche compiti, etc. L'idea di
1810 base sarebbe di cercare di elaborare soluzioni semplici con
1811 gli strumenti piu' adeguati (i linguaggi di programmazione)
1812 alla natura del problema.</p>
1814 <p>Esempio di codice in linguaggio <strong>C</strong></p>
1815 <pre class="literal-block">
1816 #include <stdio.h>
1820 printf("Hello, World!");
1825 <p>links: <a class="reference external" href=
1826 "http://it.wikipedia.org/wiki/C_(linguaggio">http://it.wikipedia.org/wiki/C_(linguaggio</a>)</p>
1828 <p>Analisi codice: <a class="reference external" href=
1829 "http://it.wikipedia.org/wiki/C_(linguaggio">http://it.wikipedia.org/wiki/C_(linguaggio</a>)#Hello_world.21</p>
1832 <div class="section" id="interpreti">
1833 <h2><a class="toc-backref" href="#id32">Interpreti</a></h2>
1835 <p><a class="reference external" href=
1836 "http://it.wikipedia.org/wiki/Interprete_(informatica">http://it.wikipedia.org/wiki/Interprete_(informatica</a>)</p>
1838 <p>Un linguaggio interpretato e' un linguaggio di
1839 programmazione i cui programmi vengono eseguiti da un
1840 interprete. Tale approccio si distingue da quello dei
1841 linguaggi compilati: a differenza di un interprete, un
1842 compilatore non esegue il programma che riceve in ingresso,
1843 ma lo traduce in linguaggio macchina (memorizzando su file
1844 il codice oggetto pronto per l'esecuzione diretta da parte
1845 del processore).</p>
1847 <p>L'approccio interpretato comporta una minore efficienza
1848 a run-time; un programma interpretato, in esecuzione,
1849 richiede piu' memoria ed e' meno veloce, a causa dello
1850 overhead introdotto dall'interprete stesso. Durante
1851 l'esecuzione, l'interprete deve infatti analizzare le
1852 istruzioni a partire dal livello sintattico, identificare
1853 le azioni da eseguire (eventualmente trasformando i nomi
1854 simbolici delle variabili coinvolte nei corrispondenti
1855 indirizzo di memoria), ed eseguirle; mentre le istruzioni
1856 del codice compilato, gia' in linguaggio macchina, vengono
1857 caricate e istantaneamente eseguite dal processore.</p>
1859 <p>Esempio in python:</p>
1862 <tt class="docutils literal"><span class=
1863 "pre">print</span> <span class="pre">"hello</span>
1864 <span class="pre">world!"</span></tt>
1867 <p>Analisi: scrive hello world a schermo !</p>
1870 <div class="section" id="java-e-similari">
1871 <h2><a class="toc-backref" href="#id33">Java e
1874 <p>link <a class="reference external" href=
1875 "http://it.wikipedia.org/wiki/Macchina_virtuale_Java">http://it.wikipedia.org/wiki/Macchina_virtuale_Java</a></p>
1877 <p>La macchina virtuale Java, detta anche Java Virtual
1878 Machine o JVM, e' la macchina virtuale che esegue i
1879 programmi in linguaggio Java bytecode, ovvero i prodotti
1880 della compilazione dei sorgenti Java. La JVM e' formalmente
1881 una specifica, mantenuta da Sun Microsystems. Qualsiasi
1882 sistema che si comporti in modo coerente con tale specifica
1883 sara' quindi da considerarsi una particolare
1884 implementazione della JVM. Esistono implementazioni
1885 software per praticamente tutti i sistemi operativi
1886 moderni, sia gratuite che commerciali. Inoltre, esistono
1887 implementazioni speciali per particolari ambienti
1888 hardware/software (per esempio telefoni cellulari e
1889 palmari), e persino implementazioni hardware.</p>
1891 <p>La disponibilita' di implementazioni della macchina
1892 virtuale Java per diversi ambienti operativi e' la chiave
1893 della portabilita' di Java, proclamata nello slogan write
1894 once, run everywhere ("scrivi una volta, esegui
1895 dappertutto"). La macchina virtuale realizza infatti un
1896 ambiente di esecuzione omogeneo, che nasconde al software
1897 Java (e quindi al programmatore) qualsiasi specificita' del
1898 sistema operativo sottostante:</p>
1899 <pre class="literal-block">
1900 ================================
1901 | Software applicativo Java |
1902 ===============================
1903 | Java Virtual Machine |
1904 ==========================
1905 | Sistema Operativo |
1906 ======================
1909 <p>Sostanzialmente il codice Java viene scritto per essere
1910 eseguito da una Java Virtual Machine (JVM), della quale
1911 viene rilasciata una versione per ogni diverso sistema
1912 operativo. In questo modo modo lo sviluppatore puo'
1913 scrivere un codice che sia indipendente dal sistema in cui
1914 verra' eseguito, dato che la JVM (Java Virtual Machine)
1915 dovrebbe comportarsi allo stesso modo su qaulunque sistema
1916 venga installato.</p>
1920 <div class="section" id="licenze-software">
1921 <h1><a class="toc-backref" href="#id34">Licenze
1924 <p>La licenza in ambito informatico e' il contratto che puo'
1925 accompagnare un prodotto software. Tale contratto specifica
1926 le modalita' con cui l'utente puo' usare tale prodotto,
1927 garantendo dei diritti ed imponendo obblighi.</p>
1929 <p>La licenza e' imposta da chi detiene il copyright sul
1930 prodotto software; la sua validita' dipende dalla presenza
1931 del diritto d'autore, questo perche' solo chi detiene il
1932 copyright ha il diritto di far rispettare in ogni sede la
1935 <p>In vari casi l'autore puo' rilasciare un prodotto software
1936 sotto licenze differenti, lasciando all'utente la
1937 possibilita' di scegliere quella preferita.</p>
1940 <div class="section" id="tipi-di-licenze">
1941 <h1><a class="toc-backref" href="#id35">Tipi di
1944 <div class="section" id="publico-dominio">
1945 <h2><a class="toc-backref" href="#id36">Publico
1948 <p>Il pubblico dominio non e' propriamente una licenza, per
1949 quanto sia determinante nei rapporti tra l'opera e i
1950 fruitori. L'essenza sta proprio nel non sottoprre l'opera a
1951 meccanismi di tutela della propieta' dell'opera. L'opera e'
1952 patrimonio dell'umanita'. Tutte le opere delle quale il
1953 copyright e' scaduto per termini di leggi (a seconda del
1954 paese possono volerci fino a un centinaio di anni)
1955 diventano di pubblico dominio e quindi liberamente
1956 fruibili. Ad es. non dovete chiedere il permesso a nessuno
1957 per stampare e diffondere l'Odissea di Omero, posto che non
1958 contravveniate ad altre leggi vigenti nel farlo.</p>
1960 <p>WWW, TCP/IP, <a class="reference external" href=
1961 "http://www.sqlite.org/copyright.html">sqlite</a> sono
1962 sotto pubblico domnio</p>
1964 <p>Publico dominio = cessazione di tutti i diritti di
1965 eslusiva: <a class="reference external" href=
1966 "http://it.wikipedia.org/wiki/Pubblico_dominio">http://it.wikipedia.org/wiki/Pubblico_dominio</a></p>
1969 <div class="section" id="freeware">
1970 <h2><a class="toc-backref" href="#id37">Freeware</a></h2>
1972 <p><a class="reference external" href=
1973 "http://it.wikipedia.org/wiki/Freeware">http://it.wikipedia.org/wiki/Freeware</a></p>
1975 <p>Software <em>a gratis</em>. Nel senso che non si paga
1976 per utilizzarlo. Gratis come in "birra gratis per
1979 <p>L'utente non pu' modificarlo in alcun modo, a meno che
1980 non espressamente previsto.</p>
1982 <p>Il termine freeware indica un software che viene
1983 distribuito in modo gratuito.</p>
1985 <p>Il freeware e' distribuito indifferentemente con o senza
1986 codice sorgente, a totale discrezione dell'autore e senza
1987 alcun obbligo al riguardo. È sottoposto
1988 esplicitamente ad una licenza che ne permette la
1989 redistribuzione gratuita. Il software freeware viene
1990 concesso in uso senza alcun corrispettivo, ed e'
1991 liberamente duplicabile e distribuibile, con pochissime
1995 <div class="section" id="shareware">
1996 <h2><a class="toc-backref" href="#id38">Shareware</a></h2>
1998 <p>Shareware e' una tipologia di licenza software molto
1999 popolare sin dai primi anni Novanta. Vengono distribuiti
2000 sotto tale licenza in genere programmi facilmente
2001 scaricabili via Internet o contenuti in CD e DVD quasi
2002 sempre allegati alle riviste di Informatica in vendita in
2006 Il software sotto tale licenza puo' essere liberamente
2007 ridistribuito, e puo' essere utilizzato per un periodo di
2008 tempo di prova variabile (generalmente 30 giorni).
2009 Scaduti questi termini, per continuare ad utilizzare il
2010 software e' necessario registrarlo presso la casa
2011 produttrice, pagandone l'importo. All'avvio
2012 dell'applicazione shareware generalmente un Nag Screen
2013 informa l'utente su come effettuare la registrazione e
2014 sulle condizioni di utilizzo.
2019 <div class="section" id="licenze-per-software-liberi">
2020 <h1><a class="toc-backref" href="#id39">Licenze per software
2023 <p><a class="reference external" href=
2024 "http://it.wikipedia.org/wiki/Software_libero">http://it.wikipedia.org/wiki/Software_libero</a></p>
2026 <p>Il Software libero e' una questione di liberta', non di
2027 prezzo. Per capire il concetto, bisognerebbe pensare alla
2028 liberta' di parola e non alla birra gratis [NdT: il termine
2029 free in inglese significa sia gratuito che libero, in
2030 italiano il problema non esiste].</p>
2032 <p>Cosa sia, o meglio quanto debba essere libero un software
2033 per poter essere definito tecnicamente <em>libero</em> e'
2034 motivo di discussione sia tra sviluppatori che tra i non i
2035 non addetti ai lavori, data l'applicazione del concetto di
2036 copyleft ad altre discipline diverse dall'informatica.</p>
2038 <p>Generalmente con software libero si intende quel codice
2039 rilasciato sotto licenza GPL, per quanto altre licenze
2040 vengano generalmente accettate come <em>libere</em>.
2041 Stabiliti dei criteri, almeno per quanto riguarda il
2042 software, si puo' procedere a una comparazione tra le varie
2043 licenze alternative alla GPL:</p>
2047 <li><a class="reference external" href=
2048 "http://it.wikipedia.org/wiki/Comparazione_di_licenze_libere">
2049 http://it.wikipedia.org/wiki/Comparazione_di_licenze_libere</a></li>
2051 <li><a class="reference external" href=
2052 "http://www.gnu.org/philosophy/categories.it.html">http://www.gnu.org/philosophy/categories.it.html</a></li>
2056 <p>Dal sito del progetto Gnu possiamo <em>copiare</em> la
2057 seguente definizione:</p>
2059 <p>Definizione di Software Libero</p>
2062 <p>Questa definizione ha lo scopo di chiarire quali sono i
2063 requisiti che un certo programma deve soddisfare perche' lo
2064 si possa considerare "software libero".</p>
2066 <p>Il Software libero e' una questione di liberta', non di
2067 prezzo. Per capire il concetto, bisognerebbe pensare alla
2068 liberta' di parola e non alla birra gratis [NdT: il termine
2069 free in inglese significa sia gratuito che libero, in
2070 italiano il problema non esiste].</p>
2072 <p>L'espressione "software libero" si riferisce alla
2073 liberta' dell'utente di eseguire, copiare, distribuire,
2074 studiare, cambiare e migliorare il software. Piu'
2075 precisamente, esso si riferisce a quattro tipi di liberta'
2076 per gli utenti del software: Liberta' di eseguire il
2077 programma, per qualsiasi scopo (liberta' 0). Liberta' di
2078 studiare come funziona il programma e adattarlo alle
2079 proprie necessita' (liberta' 1). L'accesso al codice
2080 sorgente ne e' un prerequisito. Liberta' di ridistribuire
2081 copie in modo da aiutare il prossimo (liberta' 2). Liberta'
2082 di migliorare il programma e distribuirne pubblicamente i
2083 miglioramenti, in modo tale che tutta la comunita' ne
2084 tragga beneficio (liberta' 3). L'accesso al codice sorgente
2085 ne e' un prerequisito.</p>
2087 <p>Un programma e' software libero se l'utente ha tutte
2088 queste liberta'. In particolare, se e' libero di
2089 ridistribuire copie, con o senza modifiche, gratis o
2090 addebitando delle spese di distribuzione a chiunque ed
2091 ovunque. Essere liberi di fare queste cose significa (tra
2092 l'altro) che non bisogna chiedere o pagare nessun
2095 <p>Bisogna anche avere la liberta' di fare modifiche e
2096 usarle privatamente nel proprio lavoro o divertimento senza
2097 doverlo dire a nessuno. Se si pubblicano le proprie
2098 modifiche, non si deve essere tenuti a comunicarlo a
2099 qualcuno in particolare o in qualche modo particolare.</p>
2101 <p>La liberta' di usare un programma significa liberta' per
2102 qualsiasi tipo di persona od organizzazione di utilizzarlo
2103 su qualsiasi tipo di sistema informatico, per qualsiasi
2104 tipo di attivita' e senza dover successivamente comunicare
2105 con lo sviluppatore o con qualche altra entita' specifica.
2106 Quello che conta per questa liberta' e' lo scopo
2107 dell'utente, non dello sviluppatore; come utenti potete
2108 eseguire il programma per i vostri scopi; se lo
2109 ridistribuite a qualcun altro, egli e' libero di eseguirlo
2110 per i propri scopi, ma non potete imporgli i vostri
2113 <p>La liberta' di ridistribuire copie deve includere le
2114 forme binarie o eseguibili del programma e anche il codice
2115 sorgente, sia per le versioni modificate che non modificate
2116 (distribuire programmi in formato eseguibile e' comodo per
2117 avere sistemi operativi liberi facili da installare).
2118 È legittimo anche se non c'e' alcun modo di produrre
2119 una forma binaria o eseguibile (dal momento che alcuni
2120 linguaggi non supportano questa caratteristica), ma si deve
2121 avere la liberta' di ridistribuire tali forme nel caso si
2122 trovi o si sviluppi un modo per farlo.</p>
2124 <p>Affinche' le liberta' di fare modifiche e di pubblicare
2125 versioni migliorate abbiano senso, si deve avere accesso al
2126 codice sorgente del programma. Percio', l'accessibilita' al
2127 codice sorgente e' una condizione necessaria per il
2128 software libero.</p>
2130 <p>Un importante modo di modificare un programma e' quello
2131 di includervi funzioni e moduli liberi gia' esistenti. Se
2132 la licenza del programma prevede che non si possano
2133 includere moduli gia' esistenti, ad esempio se richiede che
2134 voi possiate aggiungere solo codice di cui detenete il
2135 copyright, allora la licenza e' troppo restrittiva per
2136 essere considerata libera.</p>
2138 <p>Queste liberta' per essere reali devono essere
2139 irrevocabili fin tanto che non si fa qualcosa di sbagliato:
2140 se lo sviluppatore del software ha il potere di revocare la
2141 licenza anche senza che l'utente sia causa di tale revoca,
2142 il software non e' libero.</p>
2144 <p>Tuttavia, certi tipi di regole sul come distribuire il
2145 software libero sono accettabili quando non entrano in
2146 conflitto con le liberta' principali. Per esempio, il
2147 copyleft, noto anche impropriamente come "permesso
2148 d'autore", e' (detto poche parole) la regola per cui,
2149 quando il programma e' ridistribuito, non e' possibile
2150 aggiungere restrizioni per negare ad altre persone le
2151 liberta' principali. Questa regola non entra in conflitto
2152 con le liberta' principali, anzi le protegge.</p>
2154 <p>Indipendentemente dal fatto che si siano ottenute copie
2155 di software GNU a pagamento o gratuitamente, si ha sempre
2156 la liberta' di copiare e cambiare il software, e anche di
2159 <p>Software libero non vuol dire non-commerciale. Un
2160 programma libero deve essere disponibile per uso
2161 commerciale, sviluppo commerciale e distribuzione
2162 commerciale. Lo sviluppo commerciale di software libero non
2163 e' piu' inusuale: questo software commerciale libero e'
2164 molto importante.</p>
2166 <hr class="docutils">
2168 <div class="section" id="copyleft-copyright">
2169 <h2><a class="toc-backref" href="#id40">Copyleft !=
2172 <p>Il copyleft e' un metodo generico per rendere un
2173 programma libero ed imporre che tutte le modifiche e
2174 versioni estese del programma siano anch'esse software
2177 <p>L'espressione inglese copyleft, lett. "(diritto di)
2178 copiatura (esclusiva) abbandonato" , e' gioco di parole su
2179 copyright (lett. "diritto (esclusivo) di copiatura"), in
2180 cui la seconda parola del composto, "right" e' scambiata
2181 con "left" individua un modello alternativo di gestione dei
2182 diritti d'autore basato su un sistema di licenze attraverso
2183 le quali l'autore (in quanto detentore originario dei
2184 diritti sull'opera) indica ai fruitori dell'opera che essa
2185 puo' essere utilizzata, diffusa e spesso anche modificata
2186 liberamente, pur nel rispetto di alcune condizioni
2187 essenziali. Nella versione pura e originaria del copyleft
2188 (cioe' quella riferita all'ambito informatico) la
2189 condizione principale obbliga i fruitori dell'opera a
2190 rilasciare eventuali modifiche apportate all'opera a loro
2191 volta sotto lo stesso regime giuridico (e generalmente
2192 sotto la stessa licenza). In questo modo, il regime di
2193 copyleft e tutto l'insieme di liberta' da esso derivanti
2194 sono sempre garantiti.</p>
2196 <p>Il modo piu' semplice per rendere un programma, o altro
2197 lavoro, libero e' dichiararlo di dominio pubblico, privo di
2198 copyright. [NdT: in Italia questo concetto a rigore non
2199 esiste, perche' l'autore non puo' rinunciare alla
2200 paternita' dell'opera; effetti simili si possono ottenere
2201 con l'uso di una licenza permissiva, come la licenza di X
2202 del MIT]. Cio' permette a chiunque di condividere il
2203 programma e i suoi miglioramenti. Tuttavia permette anche a
2204 chi non vuol cooperare di convertire il programma in
2205 software proprietario. Costoro possono infatti apportare
2206 modifiche, che siano significative o meno, e distribuire il
2207 risultato come prodotto proprietario. Chi riceve il
2208 programma nella forma modificata non ha la liberta' data
2209 dall'autore originario; l'intermediario l'avra'
2212 <p><em>Segue su:</em> <a class="reference external" href=
2213 "http://www.gnu.org/copyleft/copyleft.it.html">http://www.gnu.org/copyleft/copyleft.it.html</a></p>
2215 <p>Link alla Licenza GPL (e DSFG):</p>
2219 <li><a class="reference external" href=
2220 "http://it.wikipedia.org/wiki/GNU_GPL">http://it.wikipedia.org/wiki/GNU_GPL</a></li>
2222 <li><a class="reference external" href=
2223 "http://www.gnu.org/copyleft/gpl.html">http://www.gnu.org/copyleft/gpl.html</a></li>
2225 <li>FAQ sulla GPL: <a class="reference external" href=
2226 "http://www.fsf.org/licensing/licenses/gpl.html">http://www.fsf.org/licensing/licenses/gpl.html</a></li>
2228 <li>DSFG (Le Linee Guida Debian per il Software Libero
2229 (Debian Free Software Guidelines - DFSG): <a class=
2230 "reference external" href=
2231 "http://www.debian.org/social_contract#guidelines">http://www.debian.org/social_contract#guidelines</a></li>
2235 <p>Non dci dovrebbe essere nessuna differenza tecnica tra
2236 "free software" e "open source".</p>
2239 <div class="section" id="licenza-bsd">
2240 <h2><a class="toc-backref" href="#id41">Licenza
2243 <p>Le licenze BSD sono una famiglia di licenze permissive
2244 per software. Molte sono considerate libere ed open source.
2245 Il loro nome deriva dal fatto che la licenza BSD originale
2246 (detta anche licenza BSD con 4 clausole) fu usata
2247 originariamente per distribuire il sistema operativo Unix
2248 Berkeley Software Distribution (BSD), una revisione libera
2249 di UNIX sviluppata presso l'Universita' di Berkeley.</p>
2251 <dl class="docutils">
2255 <ul class="first last simple">
2256 <li><a class="reference external" href=
2257 "http://it.wikipedia.org/wiki/Licenze_BSD">http://it.wikipedia.org/wiki/Licenze_BSD</a></li>
2259 <li><a class="reference external" href=
2260 "http://www.opensource.org/licenses/bsd-license.php">http://www.opensource.org/licenses/bsd-license.php</a></li>
2266 <div class="section" id="licenza-apache">
2267 <h2><a class="toc-backref" href="#id42">Licenza
2270 <p>In ambito informatico, con Licenza Apache (ingl:Apache
2271 License) si intende una precisa licenza, che similmente
2272 alla licenza BSD, permette di utilizzare il codice dentro
2273 progetti non open source e senza obbligo di rilascio dei
2274 sorgenti modificati.</p>
2276 <p>La Licenza Apache venne scritta dalla Apache Software
2277 Foundation (ASF) per il piu' usato server web, Apache.
2278 È una licenza per software libero, ma non compatibile
2281 <p>Questa licenza assume particolare inportanza in quanto
2282 usata per molti altri software rilasciati dalla Apache
2283 Software Foundation (<a class="reference external" href=
2284 "http://it.wikipedia.org/wiki/Apache_Software_Foundation">ASF</a>)
2285 e altri progetti,</p>
2287 <p>Esistono le versioni 1.0, 1.1 e 2.0.</p>
2291 <div class="section" id="eula">
2292 <h1><a class="toc-backref" href="#id43">Eula</a></h1>
2294 <p>EULA o End User License Agreement (accordo di licenza con
2295 l'utente finale) e' il contratto tra il fornitore di un
2296 programma software e l'utente finale. Tale contratto assegna
2297 la licenza d'uso del programma all'utente nei termini
2298 stabiliti dal contratto stesso.</p>
2300 <p>Segue su: <a class="reference external" href=
2301 "http://it.wikipedia.org/wiki/EULA">http://it.wikipedia.org/wiki/EULA</a></p>
2305 <li>Multilicenze (enterprice)</li>
2307 <li>Licenze singole</li>
2309 <li>OEM : legate all'hardware, non possono essere
2310 spostata su una macchina diversa</li>
2314 <dl class="docutils">
2315 <dt>Link alla licenza EULA di MS Windows XP:</dt>
2318 <ul class="first last simple">
2319 <li><a class="reference external" href=
2320 "http://alice.andreamanni.com/eula.txt">http://alice.andreamanni.com/eula.txt</a></li>
2322 <li><a class="reference external" href=
2323 "http://www.microsoft.com/windowsxp/eula/home.mspx">http://www.microsoft.com/windowsxp/eula/home.mspx</a></li>