Che materia stai cercando?

Anteprima

ESTRATTO DOCUMENTO

1. PARTE I. GENERALITÀ

In questo modulo introduttivo sono proposti i rudimenti tecnologici necessari per la

costruzione di un “modello mentale” corretto del funzionamento degli strumenti di

elaborazione e di comunicazione. E’ importante che tale “modello mentale” sia il più

concreto possibile, in modo da evitare sconfinamenti in modelli fantasiosi e, spesso,

del calcolatore, che, prima o poi, porterebbero ad “artefatti mentali” devianti

antropomorfici

e assai pericolosi.

1.1. Unità di misura dell’informazione

L'unità di misura del contenuto di informazione, in termini di numero di diverse

configurazioni (combinazioni) rappresentabili è costituito dal o dal suo multiplo

bit byte.

1.1.1. Bit e byte

Una storiella inventata può aiutare a capire, e a ricordare, alcune nozioni di base per la

comprensione del significato di queste unità informative.

Un entra in una salumeria e ordina un etto di mortadella, il cui prezzo

marziano

segnato è di 3,00 € l’etto, e un etto di prosciutto, il cui prezzo è di 6,00 €. Prende

la merce, passa alla cassa e paga 11,00 €. Se ne va contento. Quante dita ha il

marziano?

La risposta è otto dita.

La nostra numerazione infatti è in base 10 perché i nostri padri hanno cominciato

a contare sulle dita delle mani, pertanto le cifre (dieci simboli da 0 a 9)

rappresentano le unità di:

n 3 2 1 0

10 ,....10 , 10 , 10 , 10

Il che ha otto dita, conta in base 8 con otto cifre (otto simboli da 0 a 7):

marziano,

n 3 2 1 0

8 ,....8 , 8 , 8 , 8

Il conto del è stato perciò:

marziano

3,00 + 6,00 = 11,00 1 0

in quanto il simbolo 8 decimale è 10 ottale (una unità di 8 e 0 unità di 8 ) e il 9

1 0

decimale è 11 ottale (una unità di 8 e 1 unità di 8 ).

La più piccola base di numerazione, ancora capace di avere una dinamica espressiva, è 2. Una

6 0 1 2 n:

1 =1 =1 =..=1 . Il computer

base 1 sarebbe infatti priva di in quanto

dinamica informativa

opera al suo interno proprio in base 2, e cioè in binario, poiché questa scelta ha consentito

una semplificazione della logica di funzionamento: non è infatti necessario riconoscere uno

stato dell’informazione (cifra) elementare, ma soltanto uno stato di tipo

proporzionale tutto o

(acceso o spento, livello al di sopra o al di sotto di una soglia prefissata).

niente

6 La numerazione primitiva usata dagli uomini primitivi, del tipo I, II, III, IIII, etc. potrebbe essere un esempio

di numerazione espressa con una sola cifra I.

unaria,

U. Biader Ceipidor 1/1

In base 3 2 1 0

Decimale 10 10 10 10

(1) (8) (7) (4)

Cifre decimali (decimal 0,…,9

digit):

In base 3 2 1 0

2 2 2 2 2

(1) (0) (1) (0)

Cifre binarie (binary 0,1

digit):

Nella numerazione binaria la cifra viene indicata con il nome (BInary digiT). Il bit è

bit

quindi l’unità elementare d’informazione (la cifra della numerazione con la base più piccola)

e può assumere solo i due valori di 0 e 1.

8

Un gruppo di 8 bit si chiama (2 = 256 configurazioni possibili da 0 a 255 ).

byte 10 10

Spesso il termine byte si usa come sinonimo di carattere. Questo, anche se concettualmente

errato, può essere tollerato considerando che l’ASCII (American Standard Code for

ha definito una tavola di corrispondenza tra caratteri (alfabetici,

Information Interchange)

numerici e simboli) e ognuna delle 256 configurazioni di un byte.

E’ frequente l’uso di abbreviazioni, b per bit e B per byte.

1.1.2. Rappresentazione esadecimale

La rappresentazione ESADECIMALE è comoda perché 16 è una potenza pari di 2:

4 2 2

=(2 ) =16. Questo permette di rappresentare le cifre esadecimali a gruppi di 4 bit,

2

semplificando le operazioni di conversione da binario a esadecimale e viceversa. Poiché con

questa base servono naturalmente 16 simboli, si usano le cifre da 0 a 9 e, dopo il nove, per

rappresentare le cifre successive, vengono usate le prime lettere dell’alfabeto da A a F (per

rappresentare le cifre da 10 a 15 ).

10 10

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

La conversione da binario a esadecimale richiede soltanto la divisione in gruppi da 4 bit

ciascuno, a partire da destra, e l’assegnazione della cifra corrispondente a ogni gruppo.

3 2 1 0 3 2 1 0 3 2 1 0

2 2 2 2 2 2 2 2 2 2 2 2

1 0 1 0 0 0 1 1 0 1 1 1

(8)+(0)+(2)+(0) (0)+(0)+(2)+(1) (0)+(4)+(2)+(1)

A 3 7

U. Biader Ceipidor 2/2

L’operazione inversa, conversione da esadecimale a binario, si esegue sostituendo a ogni

cifra esadecimale il gruppo di 4 bit corrispondente.

La conversione di un esadecimale in decimale segue le regole generali già viste per la

conversione di base. Ad esempio:

F1A = 1 1 1 1 0 0 0 1 1 0 1 0 = 15x16 +1x16 +10x16 = 3866

2 1 0

16 2 10

1.1.3. Operatori logici

Gli operatori logici operano su variabili logiche (o condizioni), ottenute come risultato del

confronto tra espressioni numeriche o stringa. Alcuni operatori logici sono:

AND opera su due variabili

and OR opera su due variabili

or inclusivo XOR opera su due variabili

or esclusivo NOT opera su una variabile

complemento

AND OR XOR e NOT si illustrano attraverso le cosiddette tavole di verità.

Rappresentando con 1 il valore vero e con 0 il valore falso si ha:

Tabella 1. Tavola verità AND

L1 L2 L1 AND L2

0 0 0

0 1 0

1 0 0

1 1 1

Tabella 2. Tavola verità OR

L1 L2 L1 OR L2

0 0 0

0 1 1

1 0 1

1 1 1

U. Biader Ceipidor 3/3

Tabella 3. Tavola verità XOR

L1 L2 L1 XOR L2

0 0 0

0 1 1

1 0 1

1 1 0

Tabella 4. Tavola verità NOT

L1 NOT L1

0 1

1 0

1.1.4. Prefissi utilizzati come multipli e sottomultipli

In ingegneria sono molto usati prefissi delle unità di misura per indicare multipli di diversi

7 . In informatica ed elettronica, dove governa la numerazione binaria, tali

ordini di 1,000

multipli sono estrapolati in ordini di 1,024.

Tabella 5. Multipli e prefissi

Simbolo Nome Multiplo Notazione Notazione Simbolo Nome Multiplo Notazione Notazione

SI Numerazione Scientifica Scientifica IEC Numerazione Scientifica Scientifica

(Computer) (Computer)

decimale binaria

1.000 1.024

18 60

Exa Exbi

1,0 1,0

E 10 Ei 2

1,0E+18 1,153E+18

1.000.000.000.000.000.000 1.152.921.504.606.850.000

15 50

Peta Pebi

1,0 1,0

P 10 Pi 2

1,0E+15 1,126E+15

1.000.000.000.000.000 1.125.899.906.842.620

12 40

Tera Tebi

1,0 1,0

T 10 Ti 2

1,0E+12 1,100E+12

1.000.000.000.000 1.099.511.627.776

9 30

Giga Gibi

1,0 1,0

G 10 Gi 2

1,0E+09 1,074E+09

1.000.000.000 1.073.741.824

6 20

Mega Mebi

1,0 1,0

M 10 Mi 2

1,0E+06 1,049E+06

1.000.000 1.048.576

3 10

Kilo Kibi

1,0 1,0

K 10 Ki 2

1,0E+03 1,024E+03

1.000 1.024

0 0

1,0 1,0

10 2

1,0E+00 1,000E+00

1 1

-3

milli 1,0

m 10

1,0E-03

0,001

i

μ -6

micro International Electrotechnical Commission (1998)

1,0 10 IEC

1,0E-06

0,000001

υ -9

nano International System of Units

1,0

n 10 SI

1,0E-09

0,000000001 -12

pico 1,0

p 10

1,0E-12

0,000000000001

I simboli proposti da SI (International sono stati per anni usati anche per

System of Units)

indicare i multipli in base due, determinando spesso degli equivoci. La IEC (International

a fine 1998, ha proposto le varianti a nomi e simboli riportate

Electrotechnical Commission),

in Tabella 5, che però sono ancora poco utilizzati, a favore della continuazione dell’equivoco

con gli stessi simboli di SI.

Comunemente, ancora oggi, l’indicazione di 1 Kg indica normalmente 1000 g, ma quella di 1

GB indica 1,073,741,824 Byte.

Non sono usati invece is sottomultipli binari e la notazione di 1 indica solo un tempo pari a

ns

9 -9

un miliardesimo (1/1,000,000,000 o 1/10 o 10 ) di secondo.

7 ATTENZIONE: in questo testo i segni di “.” e ”,” nelle cifre sono utilizzati secondo l’uso anglosassone

(contrario a quello italiano): il punto “.” è il separatore dai decimali, mentre la virgola “,” separa le migliaia, i

milioni, i miliardi, etc.

U. Biader Ceipidor 4/4

1.1.5. Richiami di notazione esponenziale

Limitandoci ai numeri interi per evitare dettagli di meno immediata comprensione, la

6 significa che la 4 deve essere moltiplicata per se stessa un numero di volte

notazione 4 base

rappresentato dall’esponente 6. Pertanto, nell’esempio:

6

4 = 4 x 4 x 4 x 4 x 4 x 4 = 4,096

n

In generale la notazione esprime la base moltiplicata per se stessa un numero di volte.

B B n

1

Quando l’esponente è uguale ad uno, questo generalmente viene omesso (3 = 3).

n

Una proprietà dell’esponente zero: l’esponente 0, applicato a qualsiasi base (tranne la base 0),

produce sempre come risultato uno:

0 0 0 0 0

1 = 4 = 837 = 1234859 = ..... = 1

La notazione esponenziale gode di alcune proprietà interessanti, che vengono illustrate di

seguito e che possono facilmente essere verificate con degli esempi.

3 2 5

n m n+m

x = Esempio: 2 x 2 = 2 8 x 4 = 32

B B B ⎡ ⎤ ⎡ ⎤

3

2

n

B 3 2 1

−m

= =

n m n-m

/B = Esempio: 2 / 2 = 2 8 / 4 = 2

2

n

⎢ ⎥ ⎢ ⎥

B

B B 2

2

m

⎣ ⎦ ⎣ ⎦

B

Dalla seconda proprietà deriva il fatto che un esponente negativo vuole significare che il

numero 1 deve essere diviso per la base, moltiplicata per se stessa tante volte quanto indicato

dal valore positivo dell’esponente.

⎡ ⎤

0 ⎡ ⎤

1

1

B -2 2 −

− − =

= = = 2

0

-n n 2 1 / 4 = 0.25

= 1/B Esempio: 2 = 1/2

n m

⎢ ⎥

B B B ⎢⎣ ⎥⎦

2

2

n n

⎣ ⎦

B B

Utilizzando l’esponente della base numerica scelta, come la base 10 della nostra numerazione

decimale, è facile comprendere il vantaggio della cosiddetta notazione , che

scientifica

permette di semplificare la scrittura, lasciando all’esponente della base 10 il compito di

indicare di quanti posti, a destra se positivo, a sinistra se negativo, deve essere spostato il

7

segno di separazione decimale , aggiungendo eventualmente zeri. Alcuni esempi

7 -9 6

1.25 10 = 12,500,000 8.2 10 = 0.0000000082 423.1 10 = 423,100,000

1.2. Architetture nell’ICT

Nell’ICT ( ) e ancor più nell’ICMT (

Information Communication Technology Information

), che ormai vedono sempre più insieme sia

Communication and Media Technology

8

l’informatica ( ), sia la scienza delle comunicazioni, dei e delle

Information Technology media

reti telefoniche di trasmissione dati ( ), elementi principali sono i

Communication Technology

calcolatori insieme con le tecnologie digitali, di cui essi stessi sono espressione. Calcolatori

8 Termine importato dal francese che significa informazione automatica.

informatique,

U. Biader Ceipidor 5/5

sono ormai anche presenti nelle TV e nei telefoni per dar vita al moderno paradigma del

: computer + telefono + televisione.

Triple Play

1.2.1. Le classi di appartenenza dei calcolatori

I presentano un’architettura, e cioè un insieme di elementi

sistemi di calcolo automatico

funzionali, che è caratteristica del modello e della classe. Potenti sistemi di gestione

contemporanea delle richieste di molti utenti appartengono alla classe dei Altri

mainframe.

sistemi con limitate capacità di controllo della multiutenza, appartengono alla classe dei .

mini

Senza prendere in considerazione i , né i mini, in questo documento sono presi in

mainframe

esame quelli della classe PC (Personal Computer), in cui ricadono ormai, come PC “di

elevate prestazioni”, anche le classiche .

workstation

Nelle altre classi si ritroveranno gli stessi elementi architetturali, più complessi forse nella

loro struttura, ma sostanzialmente identici nelle loro funzioni logiche.

Figura 1. Personal Computer (PC) Il PC

La Tabella 6 illustra le ragioni evolutive dell’affermazione di PC e Workstation.

U. Biader Ceipidor 6/6

9 ) di base

Tabella 6. Evoluzione dei costi per MIPS (Millions of Instructions Per Second

Anno Tecnologia HW US$/MIPS

1975 IBM Mainframe 1,000,000

1979 Digital VAX 200,000

1981 IBM PC 12,000

1984 Sun 2 WorkStation 10,000

1994 486 PC 45

→1

1998 Pentium PC (I-IV) →0,1

2003 Pentium/Centrino PC →0,02

2008 Core 2 Duo/Quad PC (*)

(*) Ipotesi pieno parallelismo delle applicazioni

Di seguito sono illustrate le principali componenti architetturali dell’ di un PC, e

hardware

cioè delle sue parti fisiche (meccaniche ed elettroniche), insieme con le loro caratteristiche

più frequenti nei dispositivi attualmente in commercio.

1.2.2. Il PC. Elementi di valutazione di dimensioni e potenza;

Anche se, a rigore, il termine di computer (calcolatore) identifica soltanto l’unità di calcolo

vera e propria, è ormai frequente chiamare computer l’intero sistema di elaborazione

automatica, del quale il computer sarebbe, sempre a rigore, solo una parte.

1.2.2.1. CPU

Per evitare confusioni il computer vero e proprio viene identificato ormai generalmente con il

termine di CPU ( ). Le varie CPU si differenziano tra loro per

Central Processing Unit

10 10

l’architettura interna (16, 32, 64 bit; RISC o CISC ) e per la velocità, espressa in milioni di

cicli al secondo (MHz). Senza entrare nei dettagli architetturali, che appartengono a corsi più

avanzati, di seguito sono riportati gli elementi caratteristici dei più diffusi CPU presenti nei

PC.

9 A causa delle diverse architetture dei computer e quindi delle loro “specializzazioni”, da oltre 10 anni si

preferisce misurare la “velocità” con l’uso di programmi di invece che riferirsi al ciclo fisico base di

benchmark,

macchina, che si esprime in Mhz. A seconda dell’architettura complessiva e a seconda di cosa si considera

un’istruzione (addizione 16, 32 o 64 bit, operazione tra numeri reali rappresentati con virgola mobile, accessi e

ordinamenti, etc.), i MIPS misurati risultano diversi: ogni programma di misura la velocità di

benchmark

particolari operazioni. E’ frequente osservare che due diverse macchine mostrino un numero, magari presentato

in MIPS, a vantaggio dell’una o dell’altra, a seconda del programma di utilizzato (ad esempio di

benchmark

calcolo scientifico o di accesso e ordinamento)

10 RISC CISC questa

Reduced Instruction Set Computer, Complex(Complete) Instruction Set Computer

classificazione è ormai desueta, anche se conserva un valore didattico.

U. Biader Ceipidor 7/7

Tabella 7. Modelli più noti di CPU per PC 11

Unità centrale (CPU)

Intel 386/486: 16 bit

Architettura Intel Celeron: 32 bit

AMD Duron: 32 bit

Intel Pentium/Pentium II/III: 32 bit

AMD Athlon: 32 bit

Intel Mobile Centrino 32 bit

Intel Pentium IV 32 bit

Intel Core 2 Duo/Quad 32 bit x 2/4

AMD Athlon 64 : 64 bit

Pentium D: 64 bit

AMD Turion 64: 64 bit

Intel Core 2: 64 bit

AMd Phenom 64 bit

Intel 386/486 => 16-100

(MHz):

Velocità Intel Celeron: 600-800

AMD Duron: 600-800

Intel Pentium/Pentium II/III => 60-1000

AMD Athlon: 700-1.200

Intel Mobile Centrino 2.000

Intel Pentium IV 3.500

Intel Core 2 Duo/Quad 3.500x2/4

AMD Athlon 64: 3.2GHz

Pentium D: 3.4GHz

AMD Turion 64: 64 bit

Intel Core 2: 3.0GHz

AMD Phenom: 2.4GHz

12

Esistono limiti fisici all’aumento della velocità delle CPU , sicuramente quello della

velocità della luce, e alla diminuzione dello spessore degli strati di silicio su cui sono

13

depositati gli elementi semiconduttori, sicuramente quello molecolare . Per questo

negli ultimi anni non si assiste più a un costante incremento di velocità (frequenza)

dei calcolatori, ma piuttosto ad un crescente grado : invece di far fare

parallelismo

molte cose (una dopo l’altra, ma velocemente) ad un singolo CPU, si ripartisce il

lavoro su più CPU che condividono le stesse risorse (RAM). Naturalmente il

processo sequenziale garantiva che ogni segmento di programma andasse in

esecuzione con a disposizione i risultati delle elaborazioni precedenti. Questo non

accade con il parallelismo, che quindi funziona bene solo se la logca di programmi è

per il processo parallelo.

pensata

E’ quindi evidente che le stesse prestazioni delle CPU non possono più essere

”, cioè delle

valutate solo con la frequenza, ma che risentono del numero di “ core

CPU indipendenti presenti nello stesso (dado, il semiconduttore nel quale

die

vengono inseriti i e la relativa memoria cache). In Tabella 8 si vede come

core

11 Dati disponibili a fine 2004 per prodotti in commercio

12 La velocità della luce c = 300.000 Km/s (circa) è un limite insuperabile fissato dalla relatività di Einstein.

13 Le dimensioni molecolari (pochi atomi) sono dell’ordine di 10-100 nm.

U. Biader Ceipidor 8/8

l’architettura a due dia prestazioni migliori di quella a singolo , anche se

core core

con una frequenza di funzionamento più bassa.

Tabella 8. Confronto di prestazioni complessive con un benchmark (programma di prova).

benchmark Freq Test1 Test2

Prey (GHz)

Core2 82 123

2.33

E6550 3.40 77 102

PentiumD

945 che condividono le stesse risorse di sistema (non

In un PC la presenza di più core

solo la RAM), ciascuno però con la propria memoria cache (l1, L2, o L3) presente

sul , identifca architetture .

die multicore

Nel caso dei server (pensati proprio per la multiutenza e al multiprogrammazione) si

, con la presenza cioè di molte CPU complete,

arriva ad architetture multi CPU

magari ciascuna .

multicore

Figura 2. Cabinet di un PC Il cassetto (cabinet)

Il CPU trova posto nel cassetto nel quale sono contenute: le schede (moduli elettronici),

l’alimentatore e alcune componenti come dischi, dischetti, modem, etc..

1.2.2.2. Memoria dinamica

Questa memoria è quella con cui comunica direttamente la CPU, in maniera molto veloce. La

memoria si misura in Milioni di byte (vedi seguito), o MB. Questa memoria può essere di

tipo ROM ( ), che non perde il suo contenuto in mancanza di

Read Only Memory

alimentazione elettrica e su cui sono contenuti i programmi di inizializzazione al momento

dell’accensione, di tipo RAM ( ), che è quella su cui hanno luogo la

Random Access Memory

maggior parte delle operazioni, di tipo CACHE, che serve ad accelerare gli accessi alla RAM

(vedi seguito). MEMORIA (Memory)

ROM (Kbyte) 128-512

RAM (Mbyte) 512-4.096+

64-8096

Cache di 1°, 2° e 3° livello (KB)

U. Biader Ceipidor 9/9

La memoria cache, nei moderni computer, è intermedia tra RAM e CPU. La sua presenza è

legata ad un compromesso tecnico-economico illustrato nel seguito (paragrafo 1.2.3.1.2).

Le moderne memorie dinamiche vengono indicate con l’acronimo di DRAM (

Dynamic

). Queste memorie a semiconduttori ( ) perdono l’informazione quando cessa

RAM transistor

l’alimentazione elettrica, ma risultano più economiche e affidabili delle memorie statiche,

basate su nuclei ferromagnetici. La tecnologia moderna offre due tipi di DRAM:

- SDRAM ( DRAM), capaci di sincronizzarsi con linee di trasferimento

Synchronous

dati ( ) fino a oltre 100Mhz, che sono quelle ormai più comuni e di costo

bus

contenuto. Le SDRAM possono raddoppiare le velocità di trasferimento dati con un

accorgimento denominato DDR ( ), capace di sfruttare una

Double Data Rate 14

particolarità costruttiva dell’elettronica (fronte di salita e di discesa del ).

clock

- RDRAM ( DRAM, dal nome della ditta che ne detiene il brevetto, la Rambus

Rambus

Inc.) capaci di operare a 500Mhz e fino a circa 2Ghz per trasferire dati. Sono molto

più costose delle SDRAM, ma alcuni moderni CPU, come il Pentium 4, devono

usarle per non penalizzare le proprie prestazioni: una CPU a 2 Ghz dovrebbe

“aspettare” i trasferimenti con la memoria se questa non fosse di velocità analoga.

Le memorie vengono ormai sempre più spesso montate su degli zoccoli standard che ne

consentono, almeno in teoria, il cambio con altre più evolute. Tali “montaggi” sono descritti

come:

- SIMM ( ),

Single In-line Memory Module

- DIMM ( ), un po’ più veloci delle SIMM, ma più

Dual In-line Memory Module

costose e nate per i Power Mac (componenti dei sistemi Apple).

1.2.3. Le periferiche principali. Elementi di valutazione di prestazioni

Prima di prendere in esame le periferiche “normali” deve essere dedicata un’attenzione

particolare a quelle periferiche che ormai, almeno dal punto di vista logico, possono essere

considerate elemento integrante dell’architettura del CPU e della memoria dinamica. I

moderni sistemi infatti conservano il paradigma DOS ( ), che non

Disk Operating System

prevede più modalità di funzionamento senza dischi (come invece succedeva per alcune

modalità operative utilizzate fino agli anni ’70).

1.2.3.1. Memorie

La memoria di massa è quella, economica ma più lenta, dove vengono accumulate grandi

quantità di informazione, richiamate periodicamente “a blocchi” nella RAM. In questa sede

non vengono presi in considerazione dischi diversi da quelli magnetici, come i dischi ottici

del tipo CD-ROM ( ) o WORM ) o

Compact Disk Read Only Memory (Write Once Read Many

DVD ( ) o la loro evoluzione a capacità di oltre 50 GB, i BD (

Digital Video Disk Blu-ray

), o come i Dischi statici SSD (Solid State Disk memories, realizzati con memorie Flash

Disk

o EEPROM, ), che pure si

Electrically Erasable and Programmable Read Only Memory

stanno diffondendo sui PC. Specialmente i CD-ROM stanno trovando larga applicazione per

il trasferimento di elevate quantità di software di base, grazie alla loro elevata capacità di

14 Nell’elettronica digitale tutte le funzioni sono temporizzate ed attivate da un orologio base, detto appunto

il cui segnale elettrico raggiunge un livello prefissato ad intervelli di tempo stabiliti, per poi tornare a

clock,

livello di riferimento dopo un tempo che garantisce il completamento fisico delle operazioni di trasferimento di

carica elettrica.

U. Biader Ceipidor 10/10

informazione, a basso costo. Mentre i SSD si stanno rivelando competitivi nei portatili, sia

15

per la velocità di lettura/scrittura, sia principalmente per il peso e i consumi ridotti.

Anche i dischi magnetici, che costituiscono la , sono contenuti nello stesso

memoria di massa

cassetto che ospita la CPU.

Esistono due classi di dischi magnetici.

HARD DISK: è sempre in movimento ed è costituita da un/alcuni piatto/i fisso/i,

registrato/i meccanicamente, che gira/girano intorno a un perno. Su

questi piatti le testine di lettura/scrittura. Un esempio di hard

planano

disk è ad 8 testine ed a 4 facce.

FLOPPY DISK: è fermo ed inizia a girare solo quando necessario per leggere/scrivere.

Le testine sono con il supporto (facce del disco).

a contatto

Le diverse caratteristiche determinano un diverso utilizzo dei due tipi di dischi.

HARD DISK: supporti a elevata densità di informazione, sono usati come memoria

di massa.

FLOPPY DISK: supporto flessibile dove la densità d’informazione è molto bassa.

Vengono utilizzati per trasferire informazioni da un computer ad un

altro.

All’interno del disco sono definite delle tracce. Un disco dati viene registrato su ogni traccia

che a sua volta contiene le informazioni suddivise per In buona parte dei dischi

settore.

magnetici fissi HDD ( ) ogni settore contiene 512 byte di informazione utile

Hard Disk Drive

(oltre a informazioni di riferimento per la formattazione, come traccia di appartenenza,

settore, codice di controllo di errori)

Figura 3. Tracce e settori in un disco magnetico

Tracce e settori

traccia settori sulle tracce

L’unità d’informazione accessibile sui dischi è il settore all’interno della traccia. Le

coordinate di ogni unità d’informazione sono il numero di traccia e quello di settore, oltre che

il numero di testa di lettura. Questi numeri costituiscono le coordinate “cilindriche

”: head,

).

track, sector

15 I Mtron SSD MOBI offrono, a prezzi accettabili (650 US$ per 32 GB nel 2008), tempi di accesso medio fino

a 0,1 ms, 50 volte inferiori a quelli di 5ms dei migliori dischi magnetici, con tempi lettura-scrittura comparabili,

di 100 e 80 MB/s rispettivamente

U. Biader Ceipidor 11/11

Per accedere (leggere o scrivere) un’informazione su disco si deve tener conto di:

16

- Un tempo medio di accesso , necessario a posizionare la testina sulla traccia e

settore iniziali;

- Un tempo di trasferimento, necessario a trasferire (leggere/scrivere) “al volo” i dati

appartenenti a settori consecutivi durante la rotazione del disco.

Figura 4. Schema di un hard disk HARD DISK a 4 piatti

ed 8 testine (facce)

La struttura è la stessa anche per i floppy e per i dischi ottici. In Tabella 9 vengono riassunte

alcune caratteristiche commerciali attuali.

Tabella 9. Caratteristiche dei diversi tipi di dischi

Tempo Velocità di

Tipo di unità Capacità

17

Accesso (ms) trasferimento

Floppy 175-300 0,5 MB/s 1.44 MB

HDD 5-10 80-120 MB/s 100-500 GB

SSD 0,5-1,0 20-80 MB/s 2-20 GB

18

CD 90-100 40x (8-16x Write) 640 MB

18

DVD 100-120 90-108x (8-16x Write) 4.7-17 GB

In particolare le velocità di trasferimento dati da/a disco dipendono dal tipo di interfaccia o di

fisico utilizzato. Di seguito sono elencati alcune interfacce tra le più usate nei PC:

controller

- Controller ATA/ATAPI per singolo disco. Dalle versioni ATA/33 e ATA/66, con

velocità di trasferimento rispettivamente di 33 e 66 MB/s si è arrivati alla Ultra

ATA/100, a 100MB/s.

16 Il tempo medio di accesso è composto da:

- Tempo di movimento della testina da una traccia ad un altro (mediamente si può pensare che sia

seek,

la metà del tempo che la testina impiega per passare dalla prima all’ultima traccia)

- Tempo di latenza, attesa che il settore desiderato passi sotto la testina durante la rotazione,

mediamente si può considerare equivalente al tempo di mezza rotazione.

17 Per i dischi ottici, CD e DVD, le velocità di trasferimento si esprimono commercialmente in multipli di quella

posseduta dai primi CD e cioè multipli di 150KBps. Una velocità di 8x (leggi: otto “per”), ad esempio, è

150x8=1200KBps e così via. Quando i dischi ottici vengono scritti (Write) le velocità di trasferimento risultno

ridotte rispetto a quelle di lettura.

18 Le velocità di trasferimento per i dischi ottici si esprimono tradizionalmente in “X”: nei CD, X = 153,6 KB/s,

≈ 9.02 X

mentre nei DVD X = 1, 385 MB/s, con un rapporto quindi 1 X DVD CD

U. Biader Ceipidor 12/12

19

ATA ( ), commercialmente noto come IDE (

AT Attachment Integrated

o ). Questo dispositivo equipaggia oltre il 90% degli

Device/Drive Electronics

HDD venduti.

ATAP ( ), commercialmente noto come EIDE (

ATA Packet Interface Enhanced

o ). Questo tipo di interfaccia è più diffuso

Integrated Device/Drive Electronics

per i dischi ottici.

- SATA (Serial ATA) e SATA II velocità massime in condizioni ottimali di 150 e 300

MB/s rispettivamente

- SCSI ( ), pronunciato “scasi”, è un tipo di

Small Computer System Interface

collegamento inizialmente usato sui computer Mac. Rispetto al collegamento ATA

offre un unico dispositivo per collegare fino a 7 dischi diversi, con velocità di

trasferimento dello stesso ordine di grandezza, specialmente nell’ultima versione

SCASI-2. Importante svantaggio, e ostacolo alla larga diffusione, resta il costo, molto

più elevato dell’ATA, quando deve collegare una sola unità a dischi.

1.2.3.1.1. Registrazione e riproduzione digitali

E’ utile capire la differenza tra una registrazione (o proporzionale) e una

analogica

registrazione (o numerica). La prima è più soggetta della seconda al deterioramento,

digitale

anche se, storicamente, è stata la prima ad essere realizzata perché richiedeva una minore

.

densità di informazione

1.2.3.1.1.1. Registrazione analogica

Il profilo rappresenta in modo continuo la sollecitazione che lo ha “scritto”. In questo caso si

ottiene una (codifica proporzionale).

rappresentazione analogica

Con il passare del tempo il profilo però si deteriora e la registrazione degrada. Di

conseguenza la traccia in parte viene alterata.

Per la riproduzione del profilo viene utilizzata un’altra membrana con puntina che segue

esattamente il profilo registrato.

Figura 5. Registrazione analogica su profilo meccanico

Esempio di un fonografo a cera

membrana

punta traccia

Profilo della registrazione (ingrandito)

19 La sigla AT identificava i primi PC prodotti da IBM negli anni ’80 per uso professionale, mentre la serie XT

individuava quelli per uso personale.

U. Biader Ceipidor 13/13

Naturalmente, dopo i primi anni del ventesimo secolo, i profili meccanici abbandonarono la

cera per diventare di bachelite e quindi di vinile, e cioè di resine polimeriche, economiche e

facilmente conservabili. I profili divennero poi magnetici, e cioè espressi da variazioni di

campo magnetico indotto da ferriti, minuscola limatura di materiale ferromagnetico

“affogata” su pellicola plastica. Magnetofoni e video camere analogici ancora sono utilizzati.

1.2.3.1.1.2. Registrazione digitale

Il profilo viene suddiviso in linee orizzontali (risoluzione) e in righe verticali

(campionamento) per formare così una rappresentazione . Ogni elemento (numero)

discreta

che si viene a formare è definito (all’interno del passo di campionamento) da un numero

espresso in base binaria. In questo caso si utilizza una (codifica

rappresentazione digitale

numerica) dell’informazione.

Figura 6. Registrazione digitale su profilo magnetico o ottico

Esempio di un hard disk

CPU X

Y Campionamento del profilo reale (proporzionale)

La registrazione si compone allora di una serie di “campioni” espressi come pacchetti di cifre

binarie o bit: per ogni quadretto in orizzontale si definisce un campione, cui si associa il

valore, espresso dal numero di quadretti in verticale necessario per incontrare il profilo reale.

Per effetto del campionamento, la registrazione viene trasformata (a cura di una

apparecchiatura “logica”, una sorta di calcolatore specializzato su cui non si vuole entrare in

questa sede) in una sequenza di numeri che rappresentano l’altezza del profilo (numero intero

di quadratini lungo la Y) per ognuno dei quadratini (tempi) in X, numerati implicitamente da

1 a …. (vedi Tabella 10).

Tabella 10. Esempio di codifica numerica di un segnale sequenziale (valori di tempi successivi)

Tempo Valore decimale Valore binario

su 2 cifre su 6 bit

1 01 000001

2 02 000010

3 03 000011

4 03 000011

5 01 000001

… … …

U. Biader Ceipidor 14/14

Un’analoga apparecchiatura si farà carico della riproduzione, ricostruendo, a partire dai

numeri letti, un profilo di potenza (che torna analogico solo al momento della riproduzione).

E’ intuitivo che il campionamento trasforma il profilo “continuo” in una sorta di linea

seghettata (il numero di quadratini è intero). Tuttavia la grana di tale seghettatura, la

della rappresentazione, può essere affinata (rimpicciolita) con tecnologie sempre

risoluzione

più sofisticate, al punto da non differire sensibilmente dal profilo originale, che comunque ha

pure la sua tolleranza in quanto, se fosse ad esempio disegnato con una matita, dovrebbe

scontare lo spessore della mina di grafite.

E’ interessante considerare che una codifica decimale costringerebbe a “incidere” cifre,

ciascuna definita su 10 livelli (il numero delle cifre decimali). Se si guarda invece con la lente

d’ingrandimento un singolo elemento espresso in base binaria, si può vedere:

Figura 7. Codifica numerica (digitale) dell’informazione

Profilo digitale codificato (numeri binari) Soglia di lettura/scrittura

y= 100101

<campione> 6 = 64),

Nell’esempio di Figura 7 a 6 bit, la risoluzione in ampiezza è 1/64 del Fondo Scala (2

e cioè dell’intervallo tra minimo e massimo attribuibili al profilo del segnale..

Si definisce una soglia per la lettura/scrittura binaria. Quando si effettua l’operazione di

lettura occorre un apparato analogo che legga le valli e le montagne producendo un numero

che corrisponde ad un determinato livello di segnale. La soglia viene fissata per la semplice

determinazione delle valli e delle montagne. L’affidabilità di lettura è garantita dal fatto che

alterazioni del profilo non producono differenze di lettura finche contenute entro la soglia. In

Figura 8 si può vedere come l’usura del profilo, o l’inserimento di un granello di polvere, non

alterino il valore numerico se non tanto “estesi” da confondere il valore di soglia.

Figura 8. Codifica numerica (digitale) dell’informazione. Effetto di usura e sporcizia.

Profilo digitale codificato (numeri binari) Soglia di lettura/scrittura

y= 100101

<campione>

U. Biader Ceipidor 15/15

20

L’uso di codici ridondanti (con cifre dalle altre, che non contengono quindi

derivate

informazione) permette di controllare se un numero si è mantenuto al suo valore originale e

aumenta ancora la tollerabilità alle alterazioni.

1.2.3.1.2. Memorie elettroniche statiche

Al contrario dei dischi, usati per le memorie di massa, le memorie elettroniche che formano

RAM, ROM, EPROM, etc., sono statiche, nel senso che non comportano parti in movimento.

In queste i dati sono direttamente indirizzabili ( ), senza bisogno di muovere

random access

una testina o di aspettare la rotazione.

Un primo esempio di memorie statiche furono quelle “a nuclei”, che durarono fino agli anni

’70. Erano memorie costose, perché richiedevano un lavoro manuale di attraversamento dei

21

nuclei di ferrite con fili sottili: il costo, e anche una nascente etica industriale , le misero

presto fuori mercato, sostituite dalle memorie RAM elettroniche (basate sui semiconduttori).

22

Il principio di accesso è basato su correnti che vengono inviate (o rilevate) su coppie di fili

che attraversano una matrice bidimensionale. La posizione in orizzontale e in verticale (X e

Y) dei fili indirizza il singolo nucleo. Il ciclo di isteresi della ferrite (livello del campo

magnetico per cui la transizione di polarità diventa permanente) era scelto in modo che solo

l’elemento indirizzato (tutti quelli delle linee orizzontali e verticali erano attraversati) fosse

attraversato da una corrente doppia, sufficiente a cambiare la polarità.

Le memorie statiche moderne, elettroniche, sostituiscono ai nuclei di ferrite dei “transistor”,

che vengono polarizzati, ma che, quando si interrompe l’alimentazione, perdono

l’informazione. Nelle ROM particolari “transistor”, condensatori allo stato solido, vengono

“bruciati” nella polarità assunta, ma possono essere rigenerati con una corrente, diversa da

quelle di lettura/scrittura, nelle EPROM.

20 L’ultimo carattere del Codice Fiscale italiano è ridondante, calcolato a partire dagli altri e denuncia

l’eventuale errore, di trasmissione o di trascrizione di uno dei caratteri rimanenti. Il numero binario 000101

potrebbe essere accompagnato da un bit ridondante somma modulo 2 di tutti gli altri (parità) ad esempio

0001010: se uno dei bit fosse alterato in 1001010, la parità controllata denuncerebbe l’errore (in questo caso

infatti la somma modulo 2 dei primi 6 bit darebbe 1 e non zero come il 7-mo bit)

21 Il lavoro “certosino” di infilare i minuscoli nuclei con fili sottili veniva svolto da operai, spesso bambini, che

con i ritmi imposti nei paese emergenti, spesso perdevano la vista dopo pochi anni.

22 Un terzo filo di è presente per completare le operazioni di lettura/scrittura, ma il dettaglio della sua

sense

funzione viene qui omesso.

U. Biader Ceipidor 16/16

Figura 9. Memoria a nuclei con distanza tra anelli di ferrite di circa 1 mm

1.2.3.1.3. Cooperazione tra i diversi tipi di memorie

Per comprendere l’utilizzo delle diverse memorie è opportuno introdurre un’analogia.

Un’analogia col mondo fisico può essere trovata immaginando di voler leggere le 100,000

schede nominative degli studenti, depositate presso le segreterie dell’università, per cercare,

ad esempio, lo studente (o gli omonimi) che risponde ad un certo nome. Purtroppo lo

scrutatore è bloccato al suo posto e non può andare alle segreterie.

Può naturalmente mandare un fattorino a prendere (e riconsegnare) le schede una ad una.

Diciamo che impiegherà, con il traffico, 10 ore per viaggio (un’ora andata ed una ritorno). Il

tempo totale dipenderà da numero di accumuli intermedi:

• nessun accumulo, ogni viaggio porta una sola schede e quindi il veicolo è con capienza 1;

• accumulo con un veicolo di una certa capienza (100 schede);

• accumulo con un veicolo di una certa capienza (100 schede), e successivamente accumulo

con una scatola capace di portare una pila (10) di documenti

Nel sistema di memoria del computer, in analogia, si parla di velocità di trasferimento “a

blocchi” dei vari tipi di memorie, come della portata del veicolo o della scrivania.

• nessun accumulo, ogni è letto singolarmente da disco (non succede mai!) molto lento;

• accumulo con un trasferimento a blocchi da disco su RAM (512+ Byte);

• accumulo con un trasferimento di blocchi su Cache (ogni blocco da 128+ Byte)

L’utilizzo delle diverse memorie disponibili, comprese quelle di massa, è regolato da un

che ottimizza le prestazioni rispetto ai costi.

compromesso

U. Biader Ceipidor 17/17

Ogni memoria ha una sua unità elementare di informazione che, per motivi tecnologici è più

del singolo bit. Questa unità si chiama ( ) nel caso delle ROM, RAM,

grande parola word

CACHE (o nei dischi). Le architetture più diffuse operano con parole di 16 o 32 bit,

frame 23

corrispondenti a 2 o 4 byte . Nel caso invece dei dischi, l’unità di informazione, o blocco

elementare di accesso, è costituita dal .

settore

Le memorie moderne hanno sviluppato modalità di trasferimento “a blocco” che consentono

velocità assai più elevate di quelle ottenibili con l’accesso ad ogni singola unità di

informazione. Ormai il costo delle memorie si abbattuto a limiti forse invalicabili: 100 GB su

disco costano alcune centinaia di €, con un costo dell’ordine del miliardesimo di € per singolo

byte!. Per le memorie RAM e Cache i costi sono circa 1.000 e 1.000.000 volte superiori!

Tabella 11. Memorie costi e velocità

Unità tipo Costo unità Costo Tempo di

informazione accesso

-9

HDD da 100 GB 100€ 10 €/B 5-10 ms

-6

RAM da 512 MB 500€ 10 €/B 1-5 ns

-3

Cache da 512 KB 500€ 10 €/B 10-100 ps

Un meccanismo cooperativo permette di costruire sistemi di lettura/scrittura delle

informazioni che, con un buon compromesso tra velocità e costo, riescono a fornire eccellenti

prestazioni (quasi quelle di una Cache) a basso prezzo (di poco superiore a quello di un

disco). Naturalmente il meccanismo è efficace quando i dati sono memorizzati in forma

sequenziale, uno dietro l’altro, e nella stessa forma sono utilizzati per la lettura: non sempre

questo è vero per tutti i blocchi di dati, ma comunque modalità di gestione intelligenti

tendono a sfruttare al meglio le sequenzialità sempre esistenti.

Il meccanismo descritto di seguito deve essere inteso soltanto come esempio. In realtà, a

seconda delle architetture hardware, il meccanismo cooperativo assume connotazioni diverse

che comprendono: sovrapposizione di accessi, con conseguente ulteriore risparmio di tempo;

utilizzo da parte della CPU dei dati in Cache più di una volta, con conseguente risparmio del

tempo di caricamento da RAM/Disco; etc..

23 Sono ormai disponibili anche architetture a 128 bit: naturalmente se questo è utile per trattare numeri grandi,

diventa uno spreco per operazioni logiche (su 1 bit) o su numeri piccoli.

U. Biader Ceipidor 18/18

Figura 10. Meccanismo cooperativo tra memorie di vario tipo.

Ipotesi di accesso alla memoria a diversi livelli

C.P.U. 128 Kb

CACHE RAM

8 MB 500 MB (dei 100.000 MB totali)

DISK

Si distinguono possibilità, per le quali decresce l’indice di efficacia €./Byte al

secondo:

• : i 500 MB sono conservati su disco e il CPU legge un byte alla

minimo costo

volta dal disco (velocità bassa del disco e prezzo basso);

• : i 500 MB sono conservati su RAM e il CPU li legge un

prestazioni avanzate

byte alla volta (velocità buona della RAM e prezzo maggiore);

• : i 500 MB sono conservati su memoria Cache, vengono

massime prestazioni

quindi letti in sequenza dal CPU (massima velocità della Cache e prezzo

elevato);

• compromesso Cache, RAM e disco: i 500 MB sono conservati su disco, ma il

CPU li legge attraverso la RAM e attraverso una Cache, con la stessa (o

quasi) alta velocità, che se fossero tutti in Cache e il costo basso

(principalmente) del disco.

1.2.3.1.4. Ruoli dei diversi tipi di memoria

I diversi tipi di memoria si differenziano tra loro non solo per il costo e le velocità di accesso,

ma anche per la diversa capacità di risultare o rispetto alla conservazione

statiche volatili

delle informazioni ad alimentazione elettrica interrotta.

U. Biader Ceipidor 19/19

Nel disco l’informazione è e non , non è cioè soggetta a cancellazione in

statica volatile

mancanza di alimentazione elettrica. In sintesi le memorie

RAM/CACHE: conservano l’informazione fino a quando non viene tolta la

l’alimentazione; in assenza di alimentazione perdono l’informazione.

24

DISCO: conservano l’informazione anche in assenza di alimentazione .

ROM/EEPROM FLASH conservano l’informazione anche in assenza di alimentazione

In dipendenza di queste caratteristiche, il ruolo dei diversi tipi di memorie può essere

sintetizzato nella maniera seguente.

1. all’accensione ( ) il calcolatore è istruito per partire, sempre, utilizzando una

start-up

sequenza di (calzante) registrata in modo permanente su ROM, utilizzando i

bootstrap

semplici programmi basilari BIOS ( ) per comunicare con le

Basic Input/Output System

periferiche (tra cui il disco fisso) e leggere in RAM il programma di inizio delle

operazioni; il programma di inizio delle operazioni, diverso per ogni diverso sistema

operativo (programmi di gestione del calcolatore e della sua periferia, quali Windows,

Unix/Linux) carica in RAM il resto dei programmi necessari. Ad ogni passo

successivo un segmento di programma, non più utile, viene “ricoperto” nella RAM

25

con segmenti successivi che eseguono altre operazioni .

2. durante il normale funzionamento la filosofia di gestione della RAM è quella di

dedicarla soltanto a segmenti ai quali sono richieste specifiche funzioni:

a. appena un segmento ha terminato la propria funzione,

i. se non contiene al suo interno informazioni che devono essere

conservate (come accade con i dati utilizzati da un programma), viene

ricoperto da altri segmenti quando le loro funzioni vengono richieste.

ii. se contiene invece informazioni che devono essere conservate, l’intero

segmento è riscritto su disco prima di abilitarlo ad essere “ricoperto”

da altri.

b. quando un segmento non ha ancora terminato la propria funzione (magari

aspetta che si concludano operazioni di Input/Output, come quando l’utente

deve premere un tasto), il segmento può essere parcheggiato su disco, in

un’area riservata, per far posto ad altri eventuali segmenti che debbano

svolgere funzioni richieste; questo “parcheggio”, necessario solo quando la

RAM non è abbastanza grande da contenere sia il segmento sospeso che

quello nuovo, surroga un’estensione di memoria RAM e prende il nome di

.

memoria virtuale

3. allo spegnimento ( ) per arrestare le operazioni, tutto il contenuto della RAM

shutdown

appartenente ai segmenti modificati, che richiedono una conservazione delle

statica

26

modifiche subite, vengono sovrascritti a quelli presenti nel disco .

24 Alcune ROM dei moderni PC non sono fisicamente delle ROM, ma piuttosto delle RAM a basso consumo, il

cui funzionamento a sistema spento è garantito da batterie ricaricabile dedicate a questo solo compito: può

quindi accadere che calcolatori lasciati spenti per mesi abbiano perso in tutto o in porte l’informazione in ROM

e presentino problemi all’accensione.

25 La sequenza di caricamento dei diversi moduli o segmenti è responsabile del tempo di attesa all’avviamento.

26 La conservazione dei soli segmenti modificati, in genere, richiede un tempo inferiore al caricamento di tutti e

quindi il tempo di arresto è in genere inferiore a quello di avvio (in alcuni casi il tempo di arresto cresce per

l’attesa di risposta da periferiche, magari ormai spente e assunte come tali solo per o ìtrascorso limite

time-out,

di tempo)

U. Biader Ceipidor 20/20

1.2.3.2. Video

Il video, o VDU ( ), è l’unità di presentazione standard. Questa unità è

Video Display Unit

composta di due parti:

1. Una scheda grafica di controllo, che provvede alla trasformazione delle immagini

digitali (codificate in forma numerica) in segnali analogici capaci di essere

rappresentati su un ;

monitor

2. Un monitor, sostanzialmente simile ad un apparecchio TV domestico (tubo a raggi

catodici), anche se privo del decodificatore a radiofrequenza e generalmente

controllato RGB, fornendo cioè separatamente i tre livelli elettrici corrispondenti a

27

ciascuno dei tre colori fondamentali con i quali si compone la tavolozza. Da qualche

anno sono in commercio dei piatti, che adoperano una matrice LCD (

monitor Liquid

) invece del tubo catodico: sono ancora più costosi (circa di 3-4 volte)

Crystal Display

ma sono più , in quanto determinano un minore affaticamento a causa

igienici

dell’inesistenza del fastidioso “sfarfallio” del tubo catodico (specialmente in ambienti

illuminati con lampade a scarica di gas). Tra gli schermi LCD (con

retroilluminazione) si vanno affermando quelli TFT ( ), a matrice

Thin-Film Transistor

attiva, una tecnologia che offre aspetti più brillanti e leggibili, a scapito di un maggior

consumo di energia e di un maggior costo. Si stanno diffondendo a costi accettabili

anche quelli .

a plasma

Negli schermi si definisce la risoluzione in termini di . Un è un elemento

pixel pixel

dell'immagine discreta (pixel: ture ement): il numero totale è espresso come prodotto

pic el

delle divisioni su un asse per quelle sull'altro asse.

Sono diffusi gli (letteralmente programmi salva-schermo): tali programmi,

screen saver

attivati automaticamente dopo un tempo prefissato di inattività del computer, hanno lo

28

scopo di evitare la permanenza sullo schermo di immagini fisse, che, a lungo andare,

finirebbero con lo “stampare” il fosforo dei CRT in modo non più reversibile.

27 RGB è un acronimo per i colori ai vertici del triangolo di colore (Rosso-Verde-Blu) con i

Red-Green-Blue

quali è possibile comporre tutti gli altri, dal nero (assenza di colore) al bianco (tutti i colori alla massima

intensità)

28 Lo avevano nei CRT dove il fosforo dello schermo poteva “stamparsi” con immagini fisse: con gli schermi

LCD, TFT, al plasma il problema non esiste e gli hanno solo un valore decorativo.

screen saver

U. Biader Ceipidor 21/21

Video (VDU)

14-17+

Dimensioni (“, )

pollici diagonale 4 x 3 (->16 x 9)

Geometria B/N

Colore 256-65,536 colori (1-2 byte per )

pixel

29 0.20-0.30 mm

Dot pitch 30 50-160 Hz

Frequenza di refresh 640 x 480 (Es.: VGA)

Risoluzione (pixel) 1,024 x 768 800 x 600 (Es.: Super VGA)

1,280 x 1,024 1,024 x 768 (Es.: Ultra VGA)

1,600 x 1,200 1,920 x1,440 2,048 x 1,536

Figura 11. Esempio di monitor usato come VDU (geometria 4x3)

Negli ultimi anni hanno acquistato sempre più importanza le schede grafiche, che sono

diventate vere e proprie “CPU specializzate”, con propri banchi di RAM, capaci di

“scaricare” la CPU del computer dal lavoro di manipolazione di immagini complesse e

tridimensionali. Come per le CPU la battaglia commerciale si è ristretta ai produttori Intel e

AMD, per le schede grafiche sembra (ma durerà?) ormai limitata al confronto fra n-Vidia,

che produce le GeForce2, e AMD (ex ATI), che produce la Radeon.

1.2.3.3. Tastiera

La tastiera è l’organo standard di input. A seconda dei caratteri rappresentati si differenzia

per la lingua (alfabeto). Attraverso tavole di configurazione software è possibile utilizzare

diverse tastiere.

29 Il è la distanza tra i centri di due contigui. rappresenta una misura della dimensione del

dot pitch pixel pixel.

30 La frequenza di è il numero di volte che l’immagine (quadro) viene ridisegnata sul tubo catodico (dai

refresh

pennelli elettronici) in un secondo: tra un quadro e il successivo l’immagine si conserva per fosforescenza dello

schermo (anche se impercettibilmente l’eccitazione si smorza fino al quadro successivo, determinando il

fenomeno dello sfarfallio, che non viene sempre percepito dall’occhio umano a causa della persistenza

dell’immagine sulla retina.).

U. Biader Ceipidor 22/22

Tastiera (keyboard)

Standard (USA)

Nazionalizzazione Italiana

Francese

…..

Compatibile con la nazionalizzazione

Software controllo

Figura 12. Tastiera (o Keyboard)

1.2.3.4. Mouse

E’ uno strumento di input che è capace di comunicare il movimento che viene impresso ad

una rotellina. Attraverso un’elaborazione opportuna degli spostamenti, diventa uno strumento

di puntamento.

Figura 13. Mouse

A parte modelli speciali, il mouse possiede due tasti. I più diffusi sistemi operativi

riconoscono la pressione del:

• tasto sinistro, come puntamento e selezione (doppio );

click

• tasto destro, come richiesta di servizi (apertura di una tendina di scelte).

1.2.3.5. Stampanti

Le stampanti più comuni sono quelle a tecnologia e quella a (getto d’inchiostro).

laser ink-jet

Nelle prime, più costose ma di migliore qualità, l’immagine è formata da un pennello laser

che scalda la carta nei punti dove un passaggio successivo di inchiostro in polvere ( )

toner

fonde solo sulle zone impressionate. Il procedimento è simile a quello di una fotocopiatrice,

dove il riscaldamento avviene per mezzo di un sistema ottico analogico (lenti e specchi) che

riproduce l’originale.

Nelle stampanti a getto d’inchiostro invece una testina (o più testine nel caso di stampanti a

colori) sono guidate meccanicamente a “spruzzare” da piccoli fori l’inchiostro: si tratta di

stampanti di peggiore qualità, specialmente per fotografie, in quanto l’allineamento

orizzontale del carrello non è quasi mai perfetto. Hanno il vantaggio di essere più

economiche.

U. Biader Ceipidor 23/23

Stampante (printer) 31

A4 ma anche A3-A0

Dimensioni 32

4-20 ppm

Velocità di stampa 33

300-1200 dpi

Risoluzione B/N o quadricromia

Colore

Il colore viene composto per mescolamento di tre colori fondamentali (come visto per i

monitor al paragrafo 1.2.3.2) determinati da tre inchiostri. Poiché però, a differenza dei

monitor, che riproducono il nero per assenza di colore e il bianco mescolando i tre colori in

parti circa uguali, nella stampanti su carta il nero deve essere ottenuto con un quarto

inchiostro (quadricromia) mentre il bianco è ottenuto lasciando inalterata la carta.

1.2.3.6. Scanner

Gli scanner sono unità di lettura di immagini, basate su una scansione (da cui il nome) che

una barra, contenente alcune migliaia di fotosensori, ognuno capace di leggere un pixel (a

colori o in B/N), opera sul documento. Negli scanner le caratteristiche principali sono: la

32

velocità di lettura, normalmente 2-10 ppm , e la risoluzione, normalmente tra 600 e 1200

33

dpi , anche diversa sui due assi, orizzontale e verticale).

Con gli scanner sono spesso forniti dei programmi OCR ( ) che

Optical Character Reader

34

permettono, ormai con buona affidabilità (anche se non completa) di “leggere” le immagini

contenenti caratteri e di riconoscere i simboli dei vari caratteri, oltre che, in molti casi, il

corpo, le dimensioni, l’impaginazione.

1.2.3.7. Periferiche USB

Molte periferiche sono progettate per connettersi attraverso lo ,

Universal Serial Bus (USB)

uno standard largamente diffuso perché può connettere ad un’unica porta più periferiche di

vario tipo. Questo naturalmente permette di risparmiare sui costi di produzione, specialmente

dei portatili.

Non solo memorie Flash (dischi allo stato solido, noti come USB ), ma anche

pen drive

stampanti, scanner, dischi magnetici, etc. possono connettersi come periferiche USB. Sono

disponibili degli hub USB che consentono di attaccare a un’unica porta un “grappolo” di

periferiche.

E’ utile ricordare le velocità di trasferimento, che si sono evolute dai 12 Mbps della versione

1.1 ai 480 Mbps della versione 2.0 high speed.

31 Il formato A4 è quello più comune della carta usata nelle fotocopiatrici. Il formato A3 è doppio rispetto a

quaesto, immaginando di avvicinare due fogli A4 facendoli entrare in contatto attraverso il lato lungo.

Ripetendo l’operazione a partire da du fogli A3 si ottiene un A2, e così via fino all’A0 che è il formato più

grande.

32 Il termine ppm identifica le pagine per minuto.

33 Il termine dpi (dots identifica il numero di punti per pollice (un pollice, 1”, è pari a 2.54 cm).

per inch)

34 Il riconoscimento di caratteri scritti a mano è un problema non risolto in generale: esistono approcci

particolari dove il programma impara a riconoscere.una certa scrittura, proprio come per il riconoscimento

vocale, che è quasi sempre speech dependent..

U. Biader Ceipidor 24/24

1.2.4. Come scegliere un PC

E’ evidente che risulta migliore una scelta di PC che privilegia sia la capacità di calcolo

(espressa dalla velocità della CPU e dalla dimensioni di RAM e Cache), sia quella di

immagazzinamento di informazioni (espressa dalla memoria di massa). Ma qualche volta le

finanze a disposizione sono limitate: bisogna in questo caso scegliere una soluzione di

compromesso sulla base del compito prevalente che si vuole svolgere con il PC. Un esempio,

35

presentato con la tecnologia di solo qualche anno fa , illustra il problema e la soluzione

“ottima” in termini di rapporto benefici/costi. 36

Si deve acquistare una coppia di PC da destinare a due diverse attività :

• la prima di tipo (mantenimento di un grosso archivio fotografico digitalizzato ad alta risoluzione,

gestionale

di circa 500.000 foto da 100 Kbyte l’una);

• la seconda di tipo (calcolo della distribuzione degli inquinanti sul territorio a partire dalla

scientifico

diffusione dei gas e particolati in uscita da una ciminiera industriale, con presentazione dei risultati

numerici delle densità di inquinanti per valori tabulati della distanza dalla ciminiera).

Dalla “vetrina delle occasioni”, sono stati offerti i seguenti PC:

PC CPU, Mhz Cache RAM, Disk, Prezzo €

Mbyte Gbyte

1 800 NO 256 60 120,00

2 2500 SI 512 20 250,00

3 1200 SI 128 40 200,00

4 1800 SI 256 40 235,00

Quale dovrà essere la scelta migliore in termini di rapporto prestazioni/prezzo per i PC destinati alle

due attività? La soluzione è:

Attività N. di PC offerto

Gestionale 1

Scientifica 2

1.2.5. Il sistema operativo e il software

Il software è un insieme di programmi che permettono di svolgere tutte le operazioni

richieste, facendo cooperare tra loro tutti i moduli hardware.

1.2.5.1. Classificazione del software

Per programma si intende una sequenza ordinata di operazioni, ciascuna dichiarata senza

.. Per scrivere programmi sono stati formalizzati dei linguaggi.

ambiguità

Il software può essere distinto in classi, a seconda di chi lo ha scritto e della minore

o maggiore “generalità” di funzionamento:

35 L’evoluzione tecnologica rapida fa in modo che i numeri presentati siano vecchi (obsoleti) più rapidamente di

quanto non si riesca ad aggiornarli. Il problema mantiene comunque la sua validità variando e aggiornando i

numeri (velocità, capacità disco, volume degli archivi, etc.)

36 L’esempio usa apparecchiature attuali solo 4-5 anni fa, ma oggi non più reperibili. Tuttavia si è preferito

conservare queste descrizioni perché più chiare di quelle, analoghe ma più complesse, che si sarebbero potute

avere con macchine moderne.

U. Biader Ceipidor 25/25

1) Sistema Operativo (SO) scritto dal costruttore per far funzionare l’hardware, è

di uso generale per ogni tipo di macchina (ad esempio

Windows);

2) scritte dal costruttore per offrire servizi di base

Utilities all’utente, sono di uso più ristretto e possono mancare

in tutto o in parte (ad esempio Gestione Risorse in

Windows);

3) Applicazioni => scritte dall’utente (o da qualcuno per lui) per scopi

individuali, sono presenti solo in alcune configurazioni

che richiedono determinate prestazioni (ad esempio

Word, Excel, ....)

Le tre classi, oltre a differenziarsi per l'origine (chi li ha sviluppati), si differenziano anche

per il ruolo (cosa fanno).

1. Senza il SO il computer non può funzionare. Il SO è un complesso di programmi che

gestiscono le comunicazioni tra CPU e unità periferiche. Ad esempio, collegano il tasto

pigiato sulla tastiera alla tabella del codice corrispondente, nella memoria. Riorganizzano

il complesso di tasti pigiati in caratteri, parole e frasi e poi le interpretano come

operazioni richieste dall’utente.

DOS: Disk Operating System

37 di tipo DOS, con interfaccia

MS DOS: Sistema operativo

utente di tipo testuale. Si è poi arricchito con uno

strato applicativo che si chiamò Windows 3.x.

MS-Windows 3.x Sistema operativo con interfaccia grafica, ma basato

sul DOS. Il sistema è , ma non .

multitask multiuser

MS-Windows 95/98 Sistema operativo con interfaccia grafica, ma basato

sul DOS (Win95) e autonomo con emulazione DOS

(Win98). Il sistema è sempre , ma non

multitask

.

multiuser

MS-Windows NT/2000/XP Sistema operativo con interfaccia grafica nativa; il

DOS è soltanto emulato per motivi di compatibilità. Il

sistema è multiuser.

Windows CE e Versioni del Windows adatte ad operare su computer

mobile palmari o PAD o su . Oggi si sta

smart phone

assistendo all’integrazione dei PAD nei telefoni

portatili con progressiva scomparsa del segmento di

mercato dei PAD.

Symbian Sistema operativo per telefoni e ; la

smart phone

Symbian Ltd sta per diventare di compelta proprietà

della Nokia, che usa i SO nei sui telefoni

Linux Sistema operativo con interfaccia nativa testuale, ma

arricchito con molte interfacce grafiche, tanto da

cominciare a confrontarsi con Windows NT/2000. Il

37 MS è l’acronimo della Microsoft Co.

U. Biader Ceipidor 26/26

sistema è con una facilità d’interevento su

multiuser,

software di sistema determinata dall’appartenenza

alla OSF ( ).

Open Software Foundation

. Non è un vero sistema

WAP Wireless Application Protocol

operativo, ma una suite per programmare i telefoni

portatili.

2. Le differiscono dal SO perché svolgono delle funzioni utente, cioè offrono allo

Utilities

stesso utente un servizio “preconfezionato” di interesse generale. Possono essere

considerate utilità, ad esempio, il SORT, l’EDITOR, la Gestione Risorse, etc..

3. Le applicazioni vengono scritte, usando dei linguaggi di programmazione ad ,

alto livello

per eseguire delle funzioni specifiche. I compilatori/interpreti dei linguaggi sono dei

programmi, catalogabili essi stessi tra le utilità, che, leggendo una propria sintassi ed un

proprio lessico, operano una traduzione, cioè codificano le informazioni ricevute in

parole interpretabili dall’hardware. Le applicazioni più comuni ricadono in una delle

categorie seguenti:

Data Base:

Prodotti acquistati sul mercato,

Configurato e personalizzato da specialisti;

38 39

Applicazioni custom e legacy :

Sviluppate con consulenze esterne,

Gestite anche da personale interno,

Informatica personale

Moduli Configurati e personalizzati dall’utente,

Pacchetti commerciali

Di seguito è riportata una rappresentazione funzionale, a concentrici, dell’ (le

shell hardware

componenti fisiche del calcolatore) e del (i programmi). In questo tipo di

software

rappresentazione, dal centro verso la periferia, vengono mostrate le componenti che vanno da

nucleo fisico verso l’utilizzatore, con la convenzione che ogni corona circolare utilizza, per il

suo funzionamento, quelle sottostanti.

38 Funzioni di accesso ai dati (inserimento, cancellazione, modifica) e di controllo, sviluppate da consulenti

esterni per specifiche operazioni (contabilità, gestione personale, etc.)

39 Funzioni e programmi sviluppati nel passato, anche con tecnologie ormai obsolete, diventati “rigido”

patrimonio aziendale

U. Biader Ceipidor 27/27

UTILITA’ E PPLICATIVI (SOFTWARE)

SISTEMA OPERATIVO (SOFTWARE)

FIRMWARE

HARD

WARE

1.2.5.2. Linguaggi e modalità di esecuzione

Un linguaggio di programmazione è un insieme di regole grammaticali e sintattiche (poche e

di solito ) con il quale è possibile esprimere un programma. Normalmente con il

english-like

termine di linguaggio si identifica anche un software, appartenente alla categoria delle

applicazioni, capace di interpretare o tradurre, quanto espresso nel stesso, nella

linguaggio

sequenza di frasi numeriche (numeri binari) che sono le sole istruzioni riconoscibili dalla

CPU in modo .

nativo

Un linguaggio (inteso come software dedicato ad un certo , inteso stavolta come

linguaggio

forma di espressione) può lavorare secondo due distinte modalità:

Modalità interprete. Traduce frase per frase in due fasi ripetute ciclicamente: 1° fase:

1) traduce la frase in linguaggio macchina (o in un linguaggio riconoscibile dalla

meta

parte esecutiva dell’interprete); 2° fase: esegue la frase tradotta.

Modalità compilatore (traduttore). Il compilatore legge tutte le frasi e poi le traduce in

2) linguaggio macchina come “discorso” completo.

Una differenza tra compilatore ed interprete è la velocità di esecuzione; infatti l’interprete

permette delle interazioni continue con l’operatore (cioè permette di intervenire in qualsiasi

momento) e quindi la velocità di esecuzione è più bassa rispetto al compilatore.

Queste due modalità devono essere paragonate in termini di interattività, velocità di

attivazione (quella iniziale) e velocità di esecuzione.

INTERAT- VELOCITA’ DI VELOCITA’ DI

TIVITA’ ATTIVAZIONE ESECUZIONE

+ + -

INTERPRETE (traduce ed esegue frase

per frase)

- - +

COMPILATORE (traduce tutto il

discorso)

Il BASIC nasce come interprete. Nelle sue evoluzioni conserva la struttura di interprete, ma

allo stesso tempo offre oggi anche la modalità compilatore (MS-QUICKBASIC). Alla

U. Biader Ceipidor 28/28

categoria degli interpreti appartengono i servizi di sistema capaci di interpretare a i

run-time

cosiddetti (macro istruzioni capaci di indirizzare il funzionamento di parti di software,

script

ad esempio i ).

Java-script

Il PASCAL e il FORTRAN sono invece compilatori. La funzione “DEBUG” permette di

interagire per cercare gli errori sparsi (trasforma il programma in una sorta d’interprete

durante l’esecuzione). Si può compilare un programma scritto in PASCAL o FORTRAN

appendendolo al DEBUG. Quando si trova l’errore però si deve tornare nel programma

sorgente, correggere e poi ricompilare. Con questo tipo di funzione DEBUG attivato si perde

in velocità di esecuzione. Le funzioni DEBUG sono poco intuitive in quanto sono incapsulate

dentro il programma eseguibile.

Esistono vari tipi di linguaggi: - Assemblatori [A si SSEMBLER]

- Procedurali

- Non procedurali

1) I Assemblatori sono capaci di rappresentare degli “mnemonici”, a cui poi si

linguaggi

può associare una parola, che verrà tradotta in linguaggio macchina. Sono dei traduttori

“uno a uno” del linguaggio macchina. Sono dei linguaggi che vengono adattati ai

computer a seconda della loro architettura. Gran parte del SO è scritto in

ASSSEMBLER.

2) Esistono diversi linguaggi procedurali, o "imperativi", che sono linguaggi

attraverso i quali si devono specificare esattamente la sequenza di azioni da

eseguire per svolgere una determinata azione. Questi sono i più usati ancora

oggi, quali:

- BASIC => , esiste la

Beginner's All-purpose Symbolic Instruction Code

versione QUICK che è più veloce e più avanzata; nella versione

40

è in grado di manipolare .

Visual-Basic oggetti

- FORTRAN => , versioni (II), V e VI, ANSIXX (con XX

FORmulas TRANslator

si indica l’anno di rilascio). Questo tipo di linguaggio è

particolarmente adatto per tradurre le formule matematiche;

- ALGOL => , è un linguaggio ormai poco usato.

ALGOrithmic Language

Questo tipo di linguaggio è noto per descrivere con la massima

facilità degli algoritmi (ALGORITMO: descrizione procedurale

che permette di arrivare alla soluzione del problema);

- PASCAL => è una forma avanzata dell’ALGOL, adatto per la

. E’ particolarmente adatto alla

programmazione strutturata

mentalità di matematici;

- C/C++ => è un linguaggio formale che assomiglia molto al PASCAL, ma

che anche permette un controllo della macchina come se fosse in

parte un assembler. E’ meno leggibile del PASCAL ed è

40 Gli oggetti sono dei moduli software che permettono un più rapido e sicuro sviluppo (scrittura) di programmi

riutilizzando dei “pezzi”, dei moduli, già scritti e provati diffusamente. Tali moduli vengono visti ed utilizzati

come “scatole chiuse” delle quali è fornita la descrizione in termini di (informazioni di configurazione

proprietà

dentro l’oggetto, accessibili solo tramite operazione controllate dall’oggetto stesso) e (azione

incapsulate metodi

che l’oggetto può svolgere se sollecitato dal programma o in risposta ad predefiniti).

eventi

U. Biader Ceipidor 29/29

considerato un linguaggio da professionisti; nella versione C++

40

(o -C) è in grado di manipolare ;

Visual oggetti

- Java => è un linguaggi proposto dalla Sun-Microsystems negli ultimi anni

per applicazioni di rete; sintatticamente è simile al C++ (con

alcune restrizioni); la forza del linguaggio è quella di non

compilare il risultato in linguaggio macchina, ma piuttosto in un

intermedio, che è in grado di essere eseguito in varie

byte-code

macchine e sistemi operativi, permettendo la scrittura di

41

applicazioni e intrinsecamente .

platform independent virus free

- Perl un linguaggio “vecchio” di soli pochi anni, nato nel 1987 con

l’obiettivo di essere facile ed aperto, distribuito gratuitamente in

forma di software aperto, particolarmente adatto a integrare

applicazioni Internet e altri linguaggi.

- COBOL=> , questo linguaggio è stato

Common Business Oriented Language

concepito per descrivere le risoluzioni di problemi di

ordinamento e è un linguaggio più gestionale che scientifico; si

42

utilizza ancora per la manutenzione dei sistemi .

legacyi

I linguaggi non procedurali, o "non imperativi", permettono l'esecuzione di azioni

3) specificando il risultato da ottenere piuttosto che i passi mediante i quali ottenerlo. Si

utilizzano specialmente nel campo dell’ (AI) e dei

Intelligenza Artificiale Sistemi

(ES), come pure nel campo dei . La loro discussione esula

Esperti DATA BASE

comunque dalla materia trattata in questa sede.

primo linguaggio "non imperativo", in grado di

- LISP=> LISt Processor, 43

trattare liste di qualsiasi natura, numeri compresi . Un

programma è un insieme di funzioni matematiche composte fra

loro in modo che ciascuna di esse ricavi i propri dati da quella

precedente. Il LISP possiede una sintassi semplice e uniforme che

lo rende ideale per manipolare informazioni e confrontare

problemi.

- PROLOG=> , "Programmare in logica" vuole dire

PROgramming in LOGic

non specificare le operazioni da eseguire per risolvere i problemi

proposti, in quanto le procedure risolutive vengono svolte

automaticamente dal computer. I programmi adottano una tecnica

di ricerca inversa ( ): il PROLOG cerca la soluzione

backtracking

in base a una serie di regole concatenate, ponendosi di volta in

volta un nuovo obiettivo da raggiungere

41 Le applicazioni scritte in Java sono indipendenti dalla piattaforma (platform a patto che su ogni

independent)

piattaforma esista la macchina virtuale (un interprete del Java e che questa si comporti nello stesso

byte code)

modo su ogni altra piattaforma (situazione in divenire, non completamente consolidata). Il è anche

byte code

libero da virus (virus per definizione, dato che non è eseguibile, ma deve essere interpretato dalla macchina

free)

virtuale, che non accetta operazioni di sistema illegali.

42 Si definiscono quei sistemi software, sviluppati e messi a punto nel corso di decenni (come le

legacy

applicazioni bancarie, di sicurezza militare, etc.), che hanno raggiunto un elevato grado di affidabilità e per i

quali è troppo “rischioso” (magari sbaglierebbero i conti in qualche caso particolare con enormi danni

economici) un rifacimento con tecniche e linguaggi moderni.

43 Le liste sono strutture descritte più avanti, che non hanno lunghezza fissa.

U. Biader Ceipidor 30/30

4) In un certo senso appartengono a questa categoria di linguaggi non procedurali anche i

44

linguaggi usati per definire degli script 45 , definito attraverso il

- HTML=> Hyper Text Mark-up Language

46

metalinguaggio SGML ( ),

Standard General Mark-up Language

usato per la definizione di ipertesti che sfruttano le risorse di rete

(internet).

- XHTML=> ( ) , è un’estensione dell’HTML

eXtensible eXtensive HTML

definita attraverso il metalinguaggio XML ( extensible Mark-up

, sottoinsieme del SGML), con la quale si struttura il

Language

documento per una sua più agevole esplorazione.

, permette la creazione di

- VRML=> Virtual Reality Modeling Language

ipertesti (pagine web) tridimensionali.

- J-script=> , per l’esecuzione di (oggetti programma) Java

Java script applet

all’interno di un browser, in modo da animare la pagina web,

assumendone un controllo profondo e non superficiale come con

HTML.

- ActiveX=> Alternativa Microsft alla tecnologia e (di Sun-

Java Java script

Microsystems). Il confronto commerciale è aperto.

, è un linguaggi di , operante dal

- PHP Hypertext PreProcessor script

alto (in modo da non rivelare il codice ai ). Offre agli

server client

sviluppatori di applicazioni web un insieme completo di

strumenti per costruire siti dinamici

Linguaggi di quarta generazione, caratterizzati da una somiglianza ancora più spinta

5) con il linguaggio naturale, la minore rigidità formale e, principalmente l'uso di

un'interfaccia utente più “amichevole” dei compilatori. Sono linguaggi tra i quali si

ricordano i linguaggi associati a prodotti software (gestori di basi di dati, fogli

elettronici e ) e i linguaggi di AI, che utilizzano nuove particolari

word processor

strutture.

1.2.5.3. Script e programmazione

L’uso degli “script” in linguaggi interpretati si sta estendendo grazie al fatto che la potenze

crescente degli elaboratori ha superato il problema della lentezza di esecuzione.

Oggi si programma con queste tecniche in:

• HTML Hyper Text Mark-up Language, definito attraverso il metalinguaggio SGML

(Standard General Mark-up Language), usato per la definizione di ipertesti che

sfruttano le risorse di rete (internet).

• XHTML eXtensible (eXtensive) HTML, è un’estensione dell’HTML definita

attraverso il metalinguaggio XML (extensible Mark-up Language, sottoinsieme del

SGML), con la quale si struttura il documento per una sua più agevole esplorazione.

44 Uno è un che lavora in modalità interpretata (vedi capitolo 1.2.5.2).

script programma

45 Un linguaggio è definito tale perché “aggiunge” proprietà al testo e lo “valorizza”.

markup

46 Un metalinguaggio è in generale un linguaggio che serve a definire linguaggi eseguibili.

U. Biader Ceipidor 31/31

• VRML Virtual Reality Modeling Language, permette la creazione di ipertesti (pagine

web) tridimensionali.

• J-script Java script, per l’esecuzione di applet (oggetti programma) Java all’interno di

un browser, in modo da animare la pagina web, assumendone un controllo profondo e

non superficiale come con HTML.

• ActiveX Alternativa Microsft alla tecnologia Java e Java script (di Sun-

Microsystems). Il confronto commerciale è aperto.

• PHP Hypertext PreProcessor, è un linguaggi di script, operante dal alto server (in

modo da non rivelare il codice ai client). Offre agli sviluppatori di applicazioni web

un insieme completo di strumenti per costruire siti dinamici

Seguono due esempi di programmi, uno in VB e l’altro in HTML, con lo scopo esclusivi di

permettere un , senza pretese di illustrare lgoche di programmazione.

look and feel

Figura 14. Esempio di codice VB

Sub TrovaDoppiCodici()

Ntot = Application.Cells(1, 6)

Dim TbD(2000) As Integer

ND = 0

N = 0

For i = 3 To Ntot + 1

r$ = Format(i, "#")

a0$ = UCase(Application.Cells(i, 7))

a1$ = UCase(Application.Cells(i - 1, 7))

If a0$ = a1$ Then

rr$ = r$ + ":" + r$

Rows(rr$).Select

N = N + 1

With Selection.Interior

.ColorIndex = 6

.Pattern = xlSolid

End With

' Selection.EntireRow.Hidden = True

End If

Next i

ris = MsgBox("Doppioni " + Format(N, "0#"), vbOKCancel)

End Sub

U. Biader Ceipidor 32/32

Figura 15. Esempio di codice HTML

<html>

<head>

<meta http-equiv="Content-Language" content="it">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<meta name="GENERATOR" content="Microsoft FrontPage 4.0">

<meta name="ProgId" content="FrontPage.Editor.Document">

<title>Nuova pagina 1</title>

</head>

<body>

<p>Prova di HTML nella pagina</p>

</body>

</html>

1.2.5.4. I costi del software

Dall’inizio delle prime applicazioni dell’informatica, che si possono far risalire agli anni ’50,

il mondo ha assistito a due fenomeni distinti, dei quali solo il primo visibile ai “non addetti ai

lavori”, ma ugualmente importanti:

• i costi della componente hardware sono drasticamente andati diminuendo (alcuni

elementi sono riportati in Tabella 6);

• la componente software è passata da un peso trascurabile ad un peso determinante sul

costo totale dei sistemi informatici (in Figura 16 è riportato il peso progressivo delle

due componenti in un grafico qualitativo).

Figura 16. Incidenza costi hardware (HW) e software (SW) sul totale.

100% HW

50% SW

0%

1950 1960 1970 1980 1990 2000 2010

Le ragioni di questo cambiamento di peso tra software e hardware sono abbastanza semplici:

U. Biader Ceipidor 33/33

• da un lato la costruzione delle apparecchiature elettroniche ha visto una drastica

diminuzione dei costi di produzione, legata ad un costante aumento nelle società

occidentali del costo del fattore lavoro rispetto al fattore capitale:

un continuo aumento dei livelli di automazione della produzione ha permesso

o di ridurre sempre di più il costo del lavoro,

un continuo aumento dei volumi di produzione, dovuto alla larga diffusione

o delle tecnologie elettroniche, ha ridotto sensibilmente anche il costo del fattore

capitale attraverso le economie di scala (quando il capitale viene utilizzato per

produrre tanti pezzi, il suo ammortamento grava di meno sul costo di ogni

pezzo);

• dall’altro lato il progressivo aumento del tenore di vita dei paesi industrializzati ha

fatto aumentare il costo del software, dove il fattore lavoro è rimasto determinante in

quanto non si sono inventate macchine capaci di scrivere automaticamente software.

Per queste ragioni negli ultimi 20 anni molto è stato fatto nel tentativo di creare strumenti

(software) che fossero capaci di ridurre lo sforzo (il tempo) necessario per sviluppare

software. I linguaggi non procedurali avevano promesso la creazione di strumenti che fossero

quasi capaci di scrivere automaticamente del software: il successo è stato limitato. Sono state

tentate varie vie per creare generatori di applicazioni, strumenti CASE (

Computer Aided

). Il contributo maggiore al contenimento dei costi di sviluppo del

Software Engineering 40

software, negli ultimi 5-10 anni è però venuto dalla programmazione ad , che ha

oggetti

trasformato il lavoro di sviluppo software: un programma viene realizzato non più a partire da

zero ma con una tecnica (si pensi al gioco del Lego o all’edilizia modulare che

modulare

costruisce grattacieli sovrapponendo piani già fatti) che mette insieme e utilizza ,

oggetti

programmi autonomi, provati e funzionanti, che non necessitano di tempi di sviluppo né di

lunghe operazioni di test.

1.2.5.5. Copyright e protezione

Il tema della protezione dei diritti d’autore riguarda le limitazioni all’esecuzione di copie di

documenti e programmi software. Il termine inglese sta proprio a significare “diritti di copia”.

L’autore in generale deve essere protetto dalla distribuzione di copie illegali e tale protezione

si può esprimere in modi diversi, a seconda delle scelte dell’autore. E’ importante capire che

una diffusione “pirata” di copie non autorizzate riduce, e talvolta annulla, il legittimo ritorno

economico atteso dall’autore. A nessuno può essere chiesto di lavorare “gratis” e il mancato

rispetto del copyright si traduce, in ultima analisi, in un impedimento dell’autore a continuare

il proprio lavoro. Troppo spesso si confondono motivi ideologici con elementi socio-

economici: a nessuno verrebbe in mente di rispolverare la schiavitù, imponendo a medici e

paramedici di lavorare gratis per il bene della collettività. Semmai una sorta di volontariato

dovrebbe essere accettata liberamente dagli interessati.

Lo stesso “software libero” è quello che è distribuito in forma gratuita, ma per scelta degli

autori. Quello copiato illegalmente è solo “pirata”.

Prima del XVIII secolo non esisteva un vero e proprio diritto d'autore, ma solo privilegi agli

autori e soprattutto ai librai, che per pubblicare dovevano sostenere delle spese. Nel XVIII

secolo però il sistema di produzione contadino/artigianale diventa industriale capitalista e

esplode il problema della difesa dei prodotti industriali. Nascono i brevetti sui prodotti

materiali, capaci di garantire la proprietà privata. Il copyright sulle opere creative nasce per

difendere la proprietà intellettuale.

U. Biader Ceipidor 34/34

La protezione dei diritti d’autore era all’inizio favorita dalle difficoltà tecnologiche di fare

copie. Ma col XX secolo gli strumenti a disposizione resero agevoli le operazioni di

riproduzione, tanto che si passò da una riproducibilità relativa a quella estesa.

Riproducibilità relativa

Anche dopo Gutenberg (XV sec.) la riproduzione delle opere letterarie non era comunque alla

portata di tutti; servivano attrezzature complesse e costose, materiali altrettanto costosi...

Riproducibilità estesa

A partire dalla fine del XX sec. la tecnologia ha reso la riproducibilità molto più semplice:

audiocassette

registratori VHS

fotocopiatrici

Personal Computer

Internet

Per il software, la Convenzione di Berna ha stabilito che un programma non può essere

distribuito né modificato senza l'esplicito consenso degli autori. Due sono i livelli di

autorizzazioni necessari per 47

• Distribuire soltanto un programma come software (eseguibile e non modificabile )

grazie a un programma di installazione.

• Modificare un programma per ottenerne uno diverso, magari anche migliore; è

necessario accedere al col consenso dell’autore, per introdurre le

sorgente,

mdodifiche.

Il software viene generalmente distribuito con una delle seguenti limitazioni alla

riproduzione:

• A pagamento: si paga ogni copia (licenza d’uso).

• Freeware: l’eseguibile può essere liberamente e gratuitamente copiato, non modificato

(sorgente chiuso). Es: Adobe Acrobat reader

• Shareware: può essere copiato e distribuito liberamente, ma non può essere più

utilizzato, senza pagarlo, dopo un primo periodo di prova. Alcuni di questi programmi

smettono di funzionare dopo il periodo di prova, o forniscono funzionalità ridotte fino

all'acquisto di una chiave che li sblocchi. Es. programmi Macromedia

• Open Source: deve essere rilasciato in formato sorgente, modificabile; può essere

anche freeware (ma non necessariamente). Es. Linux

Il software viene sempre distribuito con un documento che ne specifica la licenza d’uso: in

base alle norme sul diritto d'autore, specifica diritti e doveri di chi riceve il programma. Di

solito le licenze proprietarie sono scritte in un linguaggio legale, per addetti ai lavori e

nessuno la legge per intero, pur sottoscrivendola (obbligatorio). Le licenze libere o semilibere

- tra le altre cose - hanno invece cercato di rendere il linguaggio con cui sono scritte più

comprensibile.

Le “libertà” offerte da una licenza sono codificate come_

47 La modifica di un eseguibile è praticamente impossibile per la difficoltà di comprendere l’insieme di

istruzioni in linguaggio macchina. Complesse operazioni spesso non producono risultati

di reverse engineering

apprezzabili in quanto risalire alla logica dal codice macchina è un po’ come pretende re di “rifare il maiale

dalle salsicce”.

U. Biader Ceipidor 35/35

0. Libertà 0 (Libertà fondamentale): eseguire il programma, per qualunque scopo.

1. Libertà 1: studiare il programma, adattarlo alle proprie necessità.

2. Libertà 2: redistribuirne copie.

3. Libertà 3: migliorare il programma, ridistribuire pubblicamente i miglioramenti.

Un programma distribuito con una licenza software che conceda le quattro libertà è detto

software libero. Le libertà 1 e 3 richiedono accesso al codice sorgente del programma.

Attenzione: il software libero non necessariamente è gratuito (in inglese indica entrambe

free

le cose ed induce in equivoco).

Licenze libere di distribuzione sono:

• BSD (derivato da ). Licenza libera non persistente

Berkeley Software Distribution

(nessun obbligo, ma con scadenza)

• 48

GPL (in italiano Licenza Pubblica Generica) Licenza libera persistente - copyleft

(obbligatoriamente aperto). Una declinazione molto nota è l’ , dove si

Open source

sottolineano i vantaggi del software libero (facilità di adattamento, l'affidabilità, la

sicurezza, …) puntando su assistenza, amichevolezza d’uso, programmi open

compatibili con quelli proprietari (in grado di gestire formati proprietari).

Accanto alle licenze, esistono accordi particolari, né distribuzione libera, né con meccanismi

proprietari.

• Accordo di non divulgazione NDA ( ). Impegno a non

Non Disclosure Agreement

divulgare certe specifiche informazioni sul programma. Comune nei casi in cui il

sorgente sia distribuito per uso individuale (ad esempio nel quadro di un progetto

comune tra più partner), ma senza poter essere ulteriormente ridistribuito.

• Clausole di uso limitato. Senza fini di lucro, per uso non commerciale, per uso

personale, per uso accademico, per uso scolastico, non trasferibile (che impedisce la

libera redistribuzione). Programmi e documenti di questo genere possono essere

accompagnati o meno dal sorgente, ma di solito non lo sono

La (Università di Stanford) società per

Stanford Law School Center for Internet and Society

azioni non-profit, ha codificato 4 attributi (nella versione 2.0), che possono essere combinati

ottenendo 6 licenze possibili (perché il primo attributo è obbligatorio e gli ultimi due

esclusivi). Offre una possibilità agli autori di porsi a metà strada tra e

copyleft copyright

" " (Metti a disposizione ciò che vuoi, tieni per te

Share what you want, keep what you want

quel che vuoi).

In conclusione i contenuti digitali, programmi, ma anche testi, suoni, immagini, possono

essere rilasciati con una delle seguenti licenze:

• PDL ( ) aperta e non persistente (senza obblighi sulle

Public Documentation Licence

modifiche del sw)

• GFDL (GNU, “not unix”, ): con e opzioni che la

Free Documentation License copyleft

rendono adatta a un prodotto come un libro (copertine, risvolti, quaderno delle

modifiche, sezioni immutabili).

48 Gioco di parole per indicare senza copyright, dato che la parola inglese vuol dire anche destra, oltre che

right

diritto, e sinistra, è l’opposto della destra.

left,

U. Biader Ceipidor 36/36

• BSD (origine da ) Licenza libera non persistente

Berkeley Software Distribution

(nessun obbligo)

• GPL (Licenza Pubblica Generica) Licenza libera persistente - copyleft

(obbligatoriamente aperto)

• CCPL ( ).

Creative Common Public License Stanford Law School Center for Internet

, / , 6 livelli

and Society copyleft copyright

1.3. Struttura contenuti digitali

I contenuti digitali sono considerati genericamente dei . Fisicamente ogni file è solo una

file

sequenza di bit, ma ogni file ha una sua struttura logica che ne permette la lettura/scrittura

secondo un certo disegno. In una metafora è come considerare il contenuto di moduli cartacei

dove sono conservati solo i caratteri scritti sul modulo: senza conoscere il module è ben

difficile interpretare la sequenza di caratteri.

1.3.1. I dischi “memoria di massa”

La struttura fisica dei dischi viene presentata all’utente, tramite il sistema operativo, con una

visione più comprensibile ed agevole. I descrittori fisici (testina, traccia, settore) che

logica

compongono l’indirizzo, scompaiono alla vista dell’utilizzatore e vengono invece presentati

nella struttura logica a .

directory

1.3.1.1. File e directory

Una directory è una tavola di corrispondenza tra nomi (simbolici) e indirizzi fisici. I nomi

simbolici possono indicare (blocchi omogenei di informazioni), ma possono anche

file

indicare altre directory (sotto- ). Queste sotto-directory sono degli speciali file,

directory

riconosciuti dal sistema operativo come contenenti altre tavole di corrispondenza nome-

indirizzo. Directory (che contengono file)

DIRECTORY File (documento) il cui nome in DOSS viene identificato da

un massimo di 8 caratteri seguiti dall’estensione (3 caratteri)

XXXXXXXX.YYY.

La ROOT directory (directory radice) è una particolare directory, riservata al sistema

operativo. I file nella ROOT non possono essere più di quelli contenibili nello spazio

riservato dal sistema operativo alla stessa ROOT.

Per superare questo limite si può creare nella ROOT uno o più file directory (e in queste

sotto- ), che possono arrivare ad occupare anche tutto lo spazio disponibile su disco.

directory

La struttura logica delle informazioni si presenta come struttura ad albero.

U. Biader Ceipidor 37/37


PAGINE

83

PESO

1.07 MB

AUTORE

Atreyu

PUBBLICATO

+1 anno fa


DESCRIZIONE DISPENSA

Questa dispensa fa riferimento al corso di Informatica e Tecnologie della Comunicazione Digitale tenuto dal prof. Biader. Qui di seguito sono elencati gli argomenti trattati. Unità di misura dell’informazione; architetture nell’ICT; struttura contenuti digitali; progetto di architettura di sistemi; ICT da strumento a motore dello sviluppo economico.


DETTAGLI
Corso di laurea: Corso di laurea in scienze e tecnologie della comunicazione (POMEZIA, ROMA)
SSD:
A.A.: 2010-2011

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Atreyu di informazioni apprese con la frequenza delle lezioni di INFORMATICA E TECNOLOGIE DELLA COMUNICAZIONE DIGITALE e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università La Sapienza - Uniroma1 o del prof Biader Ceipidor Ugo.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Informatica e tecnologie della comunicazione digitale

Elementi di Informatica - Web
Dispensa
Informatica Generale - Sistemi e logica
Dispensa
Informatica Generale - Tecnologie
Dispensa
Copyright e Aspetti Giuridici
Dispensa