Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Fondamenti di informatica e hardware, Dispense di Fondamenti di informatica

I fondamenti dell'informatica e dell'hardware, definendo il termine informatica e descrivendo l'elaborazione delle informazioni. Vengono inoltre presentati i linguaggi di programmazione e la classificazione dei sistemi per il trattamento dell'informazione. Viene descritta l'evoluzione storica dei sistemi per l'elaborazione dell'informazione, dall'abaco ai moderni computer, fino all'internet delle cose. Infine, viene presentata l'architettura di Von Neumann e il concetto di linguaggio macchina.

Tipologia: Dispense

2022/2023

In vendita dal 22/11/2023

alessia-bellometti
alessia-bellometti 🇮🇹

4.8

(9)

17 documenti

1 / 24

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
1
INFORMATICA UMANISTICA
CAPITOLO 1- Fondamen2 di informa2ca e hardware
Il termine informa-ca fa riferimento alla disciplina che si occupa di proge5are e costruire delle macchine in grado di
tra5are/elaborare in modo automa-co l'informazione.
Rispe5o all'elaborazione condo5a dall'uomo vi sono diversi benefici: riduzione dei tempi di elaborazione, maggiore
affidabilità, liberazione dell'uomo da incombenze noiose è il più facile e diffuso impiego di elaborazioni che, quando
condo5e dall'uomo, richiedono competenze poco comuni.
IT= tecnologia dell'informazione
ICT= tecnologia dell'informazione e della comunicazione
Nei diversi contes- il termine informazione assume significa- e valenze differen-, in genere in relazione ad altri
conceJ quali comunicazione, controllo, da-, conoscenza, percezione e rappresentazione. A livello più basso un dato
è un insieme di simboli traccia- su un supporto fisico che rappresenta una proprietà di un ogge5o nel mondo reale
senza però contenere alcun riferimento alla proprietà stessa, a un livello di astrazione maggiore si può parlare di
conoscenza quando si dispone di regole che perme5ono di trarre vantaggio da tale informazione; dunque,
l'informazione è un dato messo in relazione con la proprietà con cui si riferisce.
Per comunicare gli uomini hanno sviluppato dei linguaggi naturali che si cara5erizzano come ambigui, di conseguenza
linguaggi formali vennero sviluppa- e impiega- in tuJ quegli ambi- in cui è importante evitare l'ambiguità, la
definizione di un linguaggio formale prevede:
- Individuazione di un alfabeto finito di simboli
- Definizione di una gramma-ca formale
Nei calcolatori ogni informazione è codificata in bit (cifra binaria 0-1), si definisce byte una sequenza di 8 bit e nibble
una sequenza di 4 bit.
Con le espressioni elaborazione delle informazioni o tra5amento dell'informazione si indica qualsiasi aJvità condo5a
sull'informazione stessa ovvero creazione, modifica, eliminazione, confronto, conservazione e trasmissione.
Una qualsiasi aJvità di tra5amento dellinformazione può essere ricondo5a uno schema: l’informazione viene
codificata so5o forma di da- su un supporto fisico, il supporto viene so5oposto a una trasformazione fisica che
genera nuovi da-, i da- genera- dal passo precedente vengono decodifica- e apportano una nuova informazione.
L'informazione in ingresso all'elaborazione è denominata input mentre quella prodo5a in uscita dall'elaborazione
stessa prende il nome di output.
I linguaggi di programmazione sono linguaggi formali proge5a- per descrivere algoritmi in modo tale che possano
essere esegui- da un moderno calcolatore, ricordiamo Cobol, Pascal, Basic, Fortran, C, Java, LISP, Prolog.
A seconda del ruolo giocato dalla componente umana è possibile formulare una classificazione dei sistemi per il
tra5amento dell'informazione:
- i sistemi manuali forniscono una codifica dei da-, ma affidano completamente all'uomo l'esecuzione delle
trasformazioni fisiche su di essi
- i sistemi semiautoma-ci rigidi sono in grado di operare singole trasformazioni fisiche sui da-, ma richiedono
con-nue indicazioni da parte dell'uomo che deve esercitarne il controllo, l'indicazione della trasformazione
che di volta in volta deve essere eseguita
- i sistemi automa-ci flessibili dispongono di una memoria all'interno della quale sono rappresenta- da- e
istruzioni e una codifica esplicita delle trasformazioni fisiche da operare sui da- stessi
Evoluzione storica dei sistemi per l'elaborazione dell'informazione:
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Anteprima parziale del testo

Scarica Fondamenti di informatica e hardware e più Dispense in PDF di Fondamenti di informatica solo su Docsity!

INFORMATICA UMANISTICA

CAPITOLO 1- Fondamen2 di informa2ca e hardware Il termine informa-ca fa riferimento alla disciplina che si occupa di proge5are e costruire delle macchine in grado di tra5are/elaborare in modo automa-co l'informazione. Rispe5o all'elaborazione condo5a dall'uomo vi sono diversi benefici: riduzione dei tempi di elaborazione, maggiore affidabilità, liberazione dell'uomo da incombenze noiose è il più facile e diffuso impiego di elaborazioni che, quando condo5e dall'uomo, richiedono competenze poco comuni. IT= tecnologia dell'informazione ICT= tecnologia dell'informazione e della comunicazione Nei diversi contes- il termine informazione assume significa- e valenze differen-, in genere in relazione ad altri conceJ quali comunicazione, controllo, da-, conoscenza, percezione e rappresentazione. A livello più basso un dato è un insieme di simboli traccia- su un supporto fisico che rappresenta una proprietà di un ogge5o nel mondo reale senza però contenere alcun riferimento alla proprietà stessa, a un livello di astrazione maggiore si può parlare di conoscenza quando si dispone di regole che perme5ono di trarre vantaggio da tale informazione; dunque, l' informazione è un dato messo in relazione con la proprietà con cui si riferisce. Per comunicare gli uomini hanno sviluppato dei linguaggi naturali che si cara5erizzano come ambigui, di conseguenza linguaggi formali vennero sviluppa- e impiega- in tuJ quegli ambi- in cui è importante evitare l'ambiguità, la definizione di un linguaggio formale prevede:

  • Individuazione di un alfabeto finito di simboli
  • Definizione di una gramma-ca formale Nei calcolatori ogni informazione è codificata in bit (cifra binaria 0-1), si definisce byte una sequenza di 8 bit e nibble una sequenza di 4 bit. Con le espressioni elaborazione delle informazioni o tra5amento dell'informazione si indica qualsiasi aJvità condo5a sull'informazione stessa ovvero creazione, modifica, eliminazione, confronto, conservazione e trasmissione. Una qualsiasi aJvità di tra5amento dell’informazione può essere ricondo5a uno schema: l’informazione viene codificata so5o forma di da- su un supporto fisico, il supporto viene so5oposto a una trasformazione fisica che genera nuovi da-, i da- genera- dal passo precedente vengono decodifica- e apportano una nuova informazione. L'informazione in ingresso all'elaborazione è denominata input mentre quella prodo5a in uscita dall'elaborazione stessa prende il nome di output. I linguaggi di programmazione sono linguaggi formali proge5a- per descrivere algoritmi in modo tale che possano essere esegui- da un moderno calcolatore, ricordiamo Cobol, Pascal, Basic, Fortran, C, Java, LISP, Prolog. A seconda del ruolo giocato dalla componente umana è possibile formulare una classificazione dei sistemi per il tra5amento dell'informazione:
  • i sistemi manuali forniscono una codifica dei da-, ma affidano completamente all'uomo l'esecuzione delle trasformazioni fisiche su di essi
  • i sistemi semiautoma-ci rigidi sono in grado di operare singole trasformazioni fisiche sui da-, ma richiedono con-nue indicazioni da parte dell'uomo che deve esercitarne il controllo, l'indicazione della trasformazione che di volta in volta deve essere eseguita
  • i sistemi automa-ci flessibili dispongono di una memoria all'interno della quale sono rappresenta- da- e istruzioni e una codifica esplicita delle trasformazioni fisiche da operare sui da- stessi Evoluzione storica dei sistemi per l'elaborazione dell'informazione:
  • abaco, sistema di calcolo manuale basato su una rappresentazione numerica posizionale
  • regolo calcolatore, Oughtred, potente strumento di calcolo analogico
  • pascalina, Pascal, calcolatrice meccanica che consen-va di eseguire addizioni e so5razioni avvalendosi di una rete di ruote dentate
  • stepped reckoner, Wilhelm, calcolatrice meccanica a manovella in grado di eseguire le qua5ro operazioni matema-che
  • analy-c engine, Babbage, macchina in grado di operare in input e output su schede perforate come quelle impiegate a quel tempo per programmare i telai
  • prima programmatrice, Ada King
  • proto-pi di calcolatori basa- su relé ele5romagne-ci, Zuse
  • colossus, primo calcolatore completamente ele5ronico, Flowers
  • ENIAC, primo calcolatore ele5ronico universale, tra 43 e 45, Mauchly ed Eckert
  • EDVAC, calcolatore ele5ronico programmabile che si discostava dal precedente per l’impego di aritme-ca binaria invece che decimale e per l’u-lizzo di un unico disposi-vo di memoria per istruzioni e da-, si rifa a Von Neumann Legge di Moore: il numero di transitor che possono essere integra- in unico circuito raddoppia approssima-vamente ogni due anni. Negli anni ‘80 cominciarono a diffondersi i computer palmari, negli anni ‘90 arrivarono gli smartphone e a par-re dal 2000 internet ha iniziato a inglobare oggeJ e luoghi del mondo reale secondo il conce5o di internet delle cose (Iot). Archite5ura di Von Neumann, cara5eris-che:
  • obieJvo è la realizzazione di un calcolatore universale
  • presenza di un disposi-vo di memorizzazione in cui è possibile rappresentare con la stessa codifica da- e istruzioni
  • u-lizzo dell’aritme-ca binaria
  • separazione ne5a tra disposi-vo di memorizzazione e disposi-vo di elaborazione Secondo questa archite5ura il calcolatore risulta composto dai seguen- so5osistemi:
  • CPU, il processore, legge le istruzioni ed esegue operando trasformazioni sui da-, tu5o questo avviene in memoria
  • la memoria, un insieme di unità elementari di memorizzazione chiamate celle iden-ficate da indirizzo numerico
  • l'interfaccia può essere scomposta in interfaccia di input e interfaccia di output e ges-sce l'interazione con l'ambiente esterno collegandosi con le periferiche
  • il bus è un canale di comunicazione che ges-sce lo scambio di informazioni tra gli altri so5osistemi L'insieme di tu5e le istruzioni in binario specifiche per una determinata CPU è de5o linguaggio macchina, due calcolatori sono tra loro compa-bili quando u-lizzano CPU iden-che o CPU che ado5ano lo stesso linguaggio macchina. Un dife5o intrinseco nell'archite5ura di Von Neumann è noto come collo di bo<glia e consiste nel fa5o che una CPU moderna elabora i da- con una velocità più elevata rispe5o a quella con cui il bus è in grado di trasferirli. L'origine del termine so?ware risale alla Seconda guerra mondiale quando i cripto-analis- inglesi so5o la guida di Alan Turing erano impegna- a decriptare i messaggi che i nemici tedeschi cri5ografano con la macchina Enigma. Con questo termine ci riferiamo alle istruzioni codificate all'interno della memoria per essere eseguite dall' hardware , questo secondo termine iden-fica invece tu5e le altre par- del calcolatore, risulta essere quindi cos-tuito dalle componen- che risultano tangibili mentre il sooware, codificato nell'hardware, è cos-tuito dai programmi che descrivono all'hardware stesso gli algoritmi da seguire nelle sue elaborazioni. La stru5ura del calcolatore: l’unità centrale è cos-tuita da una scatola metallica de5a chassis all'interno della quale è presente un alimentatore, componente in grado sia di conne5ersi alla comune linea ele5rica per ricevere corrente alternata, sia di erogare corrente con-nua a tuJ gli altri componen- del pc, all'interno della chassis è ancorata una scheda madre la quale presenta alloggiamen- denomina- slot per il montaggio di altre componen- e per l'interfaccia di comunicazione tra le stesse grazie all’integrazione di circui- che cos-tuiscono il bus. Le schede madre a5uali sono in grado di superare il dife5o del collo di boJglia integrando bus aggiun-vi, sullo slot denominato zoccolo vi è un microprocessore mentre su altri slot possiamo trovare la RAM. Un calcolatore può differenziarsi da un altro per innumerevoli cara5eris-che, tra cui la capacità di archiviazione, la sicurezza, l'affidabilità, il prezzo, la modularità e la scalabilità, le dimensioni, la semplicità nell'integrazione da parte dell'utente e la dotazione di sooware. Il PC è ada5o all'u-lizzo da parte di un singolo utente, con riferimento alla forma dell'unità centrale di un personal computer parliamo di un desktop, di un Tower e di uno Small Form Factor.
  • accesso misto, -pico dei dischi magne-ci, con un accesso dire5o si accede a un blocco di celle all'interno del quale la singola cella viene individuata con una ricerca sequenziale
  • accesso associa-vo, -pico delle memorie cache, l'accesso a una cella è guidato dal suo contenuto, il quale viene ricercato in parallelo su più celle La capacità -pica della RAM di un PC odierno si aggira tra gli 8 e i 64 GB. Ogni calcolatore dispone anche di una piccola memoria aggiun-va denominata ROM, può tra5arsi di una memoria di sola le5ura, più frequentemente però si tra5a di una EPROM, non vola-le il cui contenuto può essere modificato dal calcolatore mediante par-colari procedure di aggiornamento. In genere, la ROM con-ene le istruzioni di inizializzazione del calcolatore eseguite l'avvio del medesimo (bootstrap) e funzioni di supporto alla diagnosi, u-li nel caso di malfunzionamento. Le memorie di massa hanno come funzione principale quella di garan-re la persistenza dei da-, rispe5o alla memoria centrale sono in grado di offrire una maggiore capacità e un minor costo di memorizzazione. Alcune memorie di massa si basano su suppor- rimovibili per la cui le5ura e scri5ura il calcolatore deve essere dotato di un apposito disposi-vo denominato drive, che può essere integrato all'interno dello chassis del calcolatore o esterno, connesso con un cavo. I suppor- rimovibili possono facilmente essere sposta- da un calcolatore all'altro per realizzare lo scambio di da-, altre memorie di massa sono invece da considerarsi fisse, saldamente installate all'interno della scheda madre. Per la connessione delle memorie di massa al calcolatore vi sono diversi -pi di interfaccia:
  • serial ATA
  • SCSI
  • SAS
  • Fibre Channel Quando vi è un danno riguardante un disposi-vo di memoria di massa, la sua sos-tuzione consente di ripris-nare le funzionalità generali del calcolatore, ma al prezzo della perdita di tu5o il suo contenuto informa-co. Con il termine backup ci si riferisce a una delle tecniche impiegate per il disaster recovery: la produzione di copie aggiun-ve dei da- conserva- su un disposi-vo di memoria allo scopo di consen-re il ripris-no del contenuto informa-co di un calcolatore. A seconda della tecnologia impiegata le memorie di massa possono essere classificate in:
  • disposi-vi magne-ci: memorie di massa il cui supporto di memorizzazione è cos-tuito da una superficie ricoperta da uno strato di materiale ferro magne-co, una tes-na è in grado di magne-zzare piccole aree e di rappresentare da- che rimangono memorizza- e possono essere leJ dalla tes-na stessa in un momento successivo. La forma5azione consiste nella preparazione del supporto al suo primo u-lizzo, comporta la cancellazione totale di eventuali da- preesisten- e la predisposizione della stru5ura logica a5a ad archiviare i da- (file system). La deframmentazione, condo5a periodicamente, oJmizza le prestazioni del disco riorganizzando in modo più efficiente l'u-lizzo dei blocchi nel file system. Comune è la ridondanza sui dischi rigidi, vengono ado5ate tecniche definite RAID che prevedono la duplicazione dei da- su più suppor- allo scopo di garan-re nella sopravvivenza e la con-nuità all'accesso anche in caso di guas- a singoli dischi. Nel disco rigido il supporto di memorizzazione è cos-tuito da uno o più dischi deJ piaJ, la sua capacità spazia da 250 GB a 8TB. Nei nastri magne-ci il supporto di memorizzazione è rappresentato da un lungo nastro di materiale plas-co raccolte in una casse5a, la possibilità di accedervi è solo con accesso sequenziale, sono u-lizza- quasi esclusivamente come disposi-vi di backup e offrono una capacità fino a 15 TB.
  • disposi-vi oJci: suppor- rimovibili che vengono leJ con una luce laser, un disco oJco -picamente cos-tuito a stra- e viene le5o tramite pit e land. Nei suppor- scrivibili, WORM, il masterizzatore può scrivere una sola volta su supporto con una luce laser in grado di modificare in modo puntuale il colore di tale vernice e simulare quindi la presenza dei pit nella traccia. Nei suppor- riscrivibili, RW, il contenuto informa-vo può essere scri5o o modificato molte volte. I suppor- oJci più diffusi sono CD (700 MB), DVD (4.6 GB), BD (25- 50 GB)
  • memorie flash: tecnicamente EPROM, suppor- il cui contenuto informa-co può essere scri5o o cancellato e riprogrammato mediante processi ele5rici, a5ualmente le memorie flash offrono una capacità fino a 2 TB. Memorie flash diffuse a livello commerciale sono drive a stato solido, drive USB e memory card. Le memorie flash presentano un limite rappresentato dal massimo numero di cicli di cancellazione scri5ura cui possono essere so5oposte prima di comprome5erne l'affidabilità, non più di 1 000 000 operazioni di scri5ura. Un approccio ado5ato per ridurre gli effeJ nega-vi del collo di boJglia si basa sul principio di località che si esprime in due diverse forme:
  • località temporaleà se un programma, nel corso della sua esecuzione, fa riferimento a una par-colare quella di memoria, è estremamente probabile che, nell'immediato futuro, faccia riferimento alla stessa cella
  • località spazialeà se un programma, nel corso della sua esecuzione, fa riferimento a una par-colare cella di memoria, è estremamente probabile che, nell'immediato futuro, faccia riferimento a celle vicine a essa Un calcolatore moderno dispone di una ar-colata gerarchia di memorie in cui i livelli più vicini alla CPU si cara5erizzano per maggiore velocità e minore capacità secondo il seguente schema:
  • registri della CPU: contenu- nella CPU, garan-scono la massima velocità a fronte di una capacità di alcune cen-naia di byte
  • cache di livello 1 : contenuta nella CU, garan-sce una capacità di qualche decina di kilobyte
  • cache di livello 2: contenuta nella CPU, garan-sce una capacità di 5 12 kilobyte o più
  • cache di livello 3: contenuta nella CPU o sulla scheda madre, garan-sce una capacità di 2 MB o più
  • memoria centrale
  • dischi interni
  • dischi esterni La connessione del calcolatore con un disposi2vo periferico o di memoria di massa si realizza tramite un'apposita interfaccia collegata da una parte al bus e dall'altra al disposi-vo, la comunicazione tra l'interfaccia e il disposi-vo può essere di due -pi:
  • seriale, prevede la presenza di un unico canale consentendo quindi la trasmissione di un singolo bit alla volta
  • parallela, prevede la presenza di più canali di trasmissione paralleli consentendo quindi la trasmissione simultanea dei gruppi di bit Sui PC sono comuni le connessioni di seguito specificate:
  • conne5ore SATA, SCSI, SAS, interno all'unità centrale per il collegamento di dischi rigidi, drive a stato solido e altri drive
  • conne5ore PS/
  • conne5ore VGA
  • conne5ore minijkack
  • conne5ore RJ45 per il collegamento dell'interfaccia di rete a una rete locale
  • conne5ore USB
  • interfaccia IrDA per il collegamento seriale wireless
  • interfaccia Bluetooth Periferiche più comuni:
  • la tas-era che presenta dei tas- modificatori, tas- funzione e tas- freccia
  • il video, la CPU ges-sce lo schermo avvalendosi dell'intermediazione di una scheda grafica, una scheda di espansione che man-ene una mappa dello schermo, il rapporto d'aspe5o e la frazione che esprime il rapporto tra le dimensioni della base e dell'altezza dell'immagine visualizzata, la risoluzione invece indica il numero massimo di pixel visualizzabili nelle due dimensioni, altri cara5eris-che sono la profondità del colore e la dimensione dell'immagine visibile che viene misurata in pollici, 21” per laptop. Le tecnologie più frequentemente impiegate per la costruzione del video sono quelle a cristalli liquidi, LCD.
  • disposi-vi di puntamento, la quasi totalità dei sooware oggi in uso offre all'utente un'interfaccia grafica, GUI, sul video sono rappresenta- oggeJ grafici deJ controlli, integratori o widget con il quale l'utente può interagire in modo molto intui-vo servendosi di un disposi-vo di puntamento.
  • la stampante può essere monocroma-ca o a colori, le stampan- definite plo5er sono stampan- per grandi forma-. La risoluzione viene misurata in DPI (tra 300 e 9600) e la velocità di stampa è misurata in ppm. Le stampan- a ge5o d'inchiostro operano spruzzando sulla carta, a5raverso gli ugelli presen- nella tes-na di stampa, microscopiche gocce d'inchiostro. Nelle stampan- laser si u-lizza l'inchiostro in polvere de5o toner. Nelle stampan- a impa5o la tes-na di stampa presenta degli aghi che possono essere controlla- singolarmente per fuoriuscire dalla stessa in direzione della superficie del foglio da stampare.
  • i disposi-vi per l'acquisizione di immagini sono in grado di digitalizzare un'immagine, lo scanner piano digitalizza l'immagine appoggiata su una finestra orizzontale di vetro, lo scanner manuale è più leggero e acquisisce l'immagine mentre l'operatore lo fa scorrere sulla superficie stessa, lo scanner per pellicola è in grado di acquisire le immagini presen- su una pellicola fotografica. Cara5eris-che importan- dello scanner sono le dimensioni massime dell'immagine tra5abile, la profondità di colore e la risoluzione misurata in ppi. Uno scanner di rete, mediante una scheda di rete, è in grado di inviare immagini acquisite dire5amente agli elaboratori connessi alla stessa rete. Molto u-le è l’OCR, riconoscimento oJco dei cara5eri, perme5e di acquisire un'immagine digitale della pagina, un osservatore umano interpreta questa immagine come un testo, nonostante per il calcolatore rimanga semplicemente un'immagine
  • i disposi-vi per la ges-one dell'audio

con licenze incompa-bili con quelle originaria e il sooware originario o modificato deve essere sempre distribuito anche in formato sorgente Il sooware per i calcolatori viene normalmente classificato in due categorie:

  • sooware applica2vo : programmi che risolvono e supportano l'utente nella risoluzione di problemi specifici in determina- ambi- applica-vi o video scri5ura o Excel o PowerPoint o desktop Publishing o editor web o DBMS o grafica e ritocco o OCR o CAD o videogiochi o video player
  • sooware di base : programmi di u-lizzo generale che consentono l'interazione dell'utente con il calcolatore, ges-scono le risorse in dotazione allo stesso e supportano l'esecuzione del sooware applica-vo o UNIX o LINUX o MAC OS o IPHONE OS o ANDROID Un moderno sistema opera-vo include diverse componen-: § nucleo che ges-sce la CPU e il suo impiego da parte dei programmi § gestore della memoria che ges-sce l'allocazione della RAM ai programmi in esecuzione § gestore dei disposi-vi periferici § file system che ges-sce l'archiviazione e il reperimento dei da- sulle memorie di massa § gestore della rete che ges-sce la comunicazione con altri calcolatori connessi in rete, la condivisione delle risorse locali e l'u-lizzo delle risorse remote § interprete dei comandi che ges-sce l'interazione con l'utente Pia5aforma Wintel à combinazione di un calcolatore con un sistema opera-vo cos-tuisce a sua volta una macchina virtuale, con un'interfaccia per i programmi applica-vi e una per l'utente umano La ges-one della CPU:
  • applicazioni I/O boundà interaJve e favoriscono lo spreco della risorsa CPU, costre5a ad a5endere inoperosamente l'input da tas-era
  • applicazioni CPU boundànon interaJve, richiedono in modo massiccio l'elaborazione da parte della CPU Collegando più terminali allo stesso calcolatore si o5enne un sistema 2mesharing o mul-tasking in grado di offrire un parallelismo virtuale, di simulare per ciascun utente una CPU a lui dedicata. In ogni istante un processo si trova in una dei seguen- sta-:
  • prontoà il processo è inserito in una lista dei processi pron-, ges-ta da una componente del nucleo de5a scheduler e a5ende il suo turno per essere chiamato a transitare allo stato in esecuzione
  • in esecuzioneà il processo ha accesso alla CPU che ne esegue le istruzioni
  • in a5esaà il processo è in a5esa del completamento di un'operazione asincrona e di poter quindi transitare allo stato pronto Il nucleo opera anche il context swapping : il salvataggio di uno stato di processo comprensivo dei valori assegna- a tuJ i registri della CPU e il ripris-no dello stato salvato in precedenza. In qualsiasi istante vi è una sola finestra aJva abilitata dall'input della tas-era, le altre finestre sono de5e in background, mentre il processo corrispondente alla finestra aJva è de5o in foreground. Vi sono programmi proge5a- per essere esegui- sempre da processi in background denomina- “demoni” in Linux e “servizi” in Windows, essi sono aJva- all’avvio del calcolatore e con-nuano a operare nell'ombra realizzando specifiche funzionalità quali la ges-one delle code di stampa, la condivisione di memoria di massa in rete e la pubblicazione su si- web. La ges-one della memoria centrale:

Il sistema opera-vo deve essere in grado di controllare con efficienza la RAM, garan-re lo spazio necessario a ciascun processo, per proteggere lo spazio allocato a un processo da intrusioni non autorizzate da parte di altri processi e ges-re in modo controllato spazi comuni tra processi per la condivisione di da- e lo scambio di messaggi. Quando un programma viene caricato nella RAM, senza che esso se ne accorga, viene ritoccato, ovvero il suo codice e la sua area da- vengono suddivisi in pagine e posiziona- nelle pagine libere della RAM grazie alla Memory Management Unit (MNU), un disposi-vo hardware che man-ene una tabella di corrispondenza che consente poi la conversione tra gli indirizzi logici impiega- dal programma e quelli fisici nella RAM. Se i processi richiedono l'occupazione di un numero di pagine maggiori di quello disponibile si provveda allo swap, ovvero al trasferimento in un'apposita area su memoria di massa di quelle il cui impiego nell'immediato futuro e meno probabile. La ges-one delle periferiche: Il processo opera sulle periferiche virtuali in condizioni di device independence, impiega cioè comandi di alto livello appropria- al -po di periferica mentre il gestore, supportato dal driver, trasforma tali comandi generici in istruzioni specifiche per la periferica fisica e si occupa di tuJ i de5agli rela-vi alla sincronizzazione e agli indirizzamen-. Il driver fornisce al sistema opera-vo tuJ i de5agli opera-vi per ges-re una periferica. Mol- sistemi opera-vi su personal computer supportano il plug and play ovvero quando il calcolatore rileva la presenza di una nuova periferica è in grado in modo autonomo di riconoscere il driver appropriato per essa, installarlo e configurarlo. La ges-one dei file: Il file system è il componente del sistema opera-vo che si occupa della ges-one delle memorie di massa al cui interno i da- sono organizza- in file, spesso costruisce una stru5ura logica gerarchica all'interno di un supporto di memoria di massa che ha l'obieJvo di supportare gli uten- nell'organizzazione dei file in base al loro contenuto, andando così a facilitare la successiva ricerca. In sostanza, in un supporto di memoria viene creata una cartella denominata radice, quest'ul-ma può contenere file o cartelle che a loro volta possono contenere file o cartelle dando origine a una stru5ura ad albero. Ogni file e ogni cartella sono iden-fica- da un nome e un pathname, la descrizione del percorso più breve per raggiungerli partendo dalla radice ed elencando i nomi di tu5e le cartelle incontrate lungo il percorso stesso. Mol- file system supportano la possibilità di sovrapporre alla stru5ura ad albero dei riferimen-, ossia dei collegamen- o link che consentono di simulare la presenza di un'altra cartella all'interno della cartella stessa, ubica- in realtà altrove all'interno della gerarchia. Per ogni file o cartella il file system memorizza e ges-sce un insieme di proprietà, tra cui il formato, le dimensioni, le autorizzazioni, la data e l'ora di creazione e dell'ul-ma modifica. La ges-one della rete I moderni sistemi opera-vi integrano un componente importante il cui compito è la ges-one della connessione in rete, vengono spesso defini- sistemi opera-vi di rete o NOS (Network Opera6ng System). Si ri-ene inoltre importante evidenziare le differen- modalità di interazione tra uten- e calcolatori nell'ambito di una rete:

  • interazione uomo-calcolatore locale: interazione tradizionale tra un utente e un'applicazione in esecuzione sul calcolatore locale senza alcun impiego della connessione di rete
  • interazione uomo-calcolatore remoto: tramite un'applicazione in esecuzione sul calcolatore locale l'utente interagisce con un'altra applicazione in esecuzione su un calcolatore remoto, connesso in rete che, a sua volta, può avvalersi di servizi resi da altri server
  • interazione tra uomini mediata da calcolatori: tramite un client in esecuzione sul calcolatore locale l'utente interagisce con un altro utente che a sua volta impiega un client in esecuzione sul suo calcolatore, per esempio chat o videoconferenze L'interfaccia con l'utente Questa è la componente del sistema opera-vo che ges-sce dire5amente l'interazione con l'utente, all'inizio di una sessione di lavoro il sistema opera-vo deve iden-ficare con certezza l'utente tramite auten-cazione al fine di garan-rgli tu5e e le sole autorizzazioni a lui riservate, personalizzare l'ambiente applica-vo secondo le sue preferenze e fa5urare all'utente il consumo delle risorse secondo le tariffe concordate. L'auten-cazione informa-ca può essere condo5a secondo tre modalità:
  • dimostrazione di conoscenza, ovvero a5raverso l'u-lizzo di credenziali
  • dimostrazione di possesso, l'utente deve dimostrare di possedere un ogge5o fisico per esempio una smart card
  • dimostrazione di cara5eris-che fisiche, per esempio tramite impronta digitale

Molto diffusi in ambiente domes-co sono le WLAN e le WPAN, rispeJvamente re- locali e re- personali senza fili. È possibile conne5ere due nodi appartenen- a due re- diverse, e in questo modo si dà origine a un'unica rete, estesa quanto la somma delle due re- originarie, questo meccanismo viene definito internetworking e ha portato negli ul-mi decenni alla progressiva cos-tuzione di Internet. Un requisito essenziale affinché due o più calcolatori cos-tuiscano una rete è che essi siano in grado di comunicare, definiamo un semplice modello che possa rappresentare un sistema di comunicazione per i nostri scopi:

  • il segnale è una grandezza fisica il cui valore cambia nel tempo, ad esempio la temperatura corporea di una persona , poiché nel sistema di comunicazione i segnali vengono usa- per comunicare è evidente che risultano di interesse le grandezze fisiche aven- un valore il cui andamento nel tempo possa essere controllato o modulato secondo la nostra volontà e con un limitato sforzo
  • un canale di trasmissione è un sistema fisico in grado di trasferire un segnale e alle cui estremità si trovano rispeJvamente un trasmeJtore e un ricevitore
  • la sorgente invia il messaggio al trasmeJtore, che ne codifica i simboli mediante la modulazione del segnale, questo, trasportato dal canale, giunge al ricevitore che è in grado di decodificarlo rigenerando la sequenza di simboli che cos-tuisce il messaggio È importante aver chiaro che ciascun canale è sogge5o all'influenza e agli effeJ perturban- del rumore, con questo termine intendiamo qualunque segnale indesiderato che può interferire con quello trasmesso e che fa sì che il segnale ricevuto presen- differenze più o meno consisten- rispe5o a quello trasmesso. Per evitare o ridurre al minimo effeJ nega-vi dovu- al rumore, in genere trasmeJtore e ricevitore concordano l'u-lizzo di tecniche di codifica con ridondanza : oltre ai simboli del messaggio, nel segnale vengono codifica- simboli aggiun-vi che consentono al ricevitore di verificare la corrispondenza del messaggio ricevuto con quello trasmesso e di correggere l'errore dovuto al rumore o chiedere la ritrasmissione del messaggio. Per esempio, una codifica ridondante potrebbe essere usata per trasme8ere i cara8eri ASCII (7 cifre binarie) usando un byte, il cui o8avo bit, de8o bit di parità, debba essere 1 se tra le prime 7 cifre si ha un numero dispari di bit uguali a 1, e 0 altrimen6. In una codifica del genere il des6natario dovrebbe a8endersi di ricevere sempre e soltanto byte un numero pari di bit a 1. I mezzi di collegamento fisico impiega- per conne5ere i calcolatori allo scopo di realizzare la rete devono essere in grado di trasme5ere segnali binari, a questo fine si possono sfru5are:
  • mezzi guida- in cui il segnale viaggia lungo linee fisiche (fibra oJca, UTP)
  • mezzi non guida- in cui il segnale viene irradiato nello spazio (IrDA, bluetooth) Ogni mezzo di comunicazione è cara5erizzato da proprietà fisiche che determinano:
  • la distanza massima oltre la quale il segnale trasmesso si degrada
  • la velocità massima con la quale i da- possono essere trasmessi, misurata in bit al secondo Mezzi guida-:
  • doppino telefonico, UTP, presenta ciascuna estremità un conne5ore RJ45, uno di essi è des-nato all'inserimento nell'apposita presa ubicata nell'interfaccia di rete, mentre l'altro viene connesso dire5amente o mediante un impianto di cablaggio a una delle prese rese disponibili da un concentratore, disposi-vo che funge da centrale di smistamento nella comunicazione tra essi
  • fibra oJca, consente la trasmissione di segnali luminosi, un condu5ore centrale (core) è avvolto da un rives-mento (cladding) che, presentando un indice di rifrazione minore rispe5o a quello del condu5ore centrale, determina il fenomeno della riflessione totale interna Mezzi non guida-:
  • trasmissione IrDA, impiegata per conne5ere i disposi-vi che tra loro si vedono dire5amente ed è piu5osto lenta
  • Bluetooth, tecnologia basata su onde radio, nome inspiegato a un re danese
  • Wi-fi, tecnologia basata su onde radio Un disposi-vo è online quando risulta connesso a una rete, offline quando è invece disconnesso. La connessione a Internet da parte di un privato si legalizza normalmente con il tramite di un'azienda specializzata nella fornitura di conneJvità de5a Internet Service Provider (ISP), dietro al versamento di un canone consentono al cliente di collegare il proprio calcolatore o la propria LAN alla rete dell’ISP. In mol- casi la connessione si realizza a5raverso una linea telefonica, cui l'utente conne5e il proprio calcolatore tramite un modem, disposi-vo che funge da interfaccia tra un calcolatore e una linea telefonica, le sue funzioni principali sono:
  • Modulazione: il modem riceve dal calcolatore un flusso di bit e lo codifica so5o forma di segnali ele5rici che trasme5e lungo la linea telefonica
  • Demodulazione: il modem decodifica i segnali ele5rici che gli arrivano dalla linea telefonica traducendoli in sequenze di bit che invia al calcolatore Per collegare tra loro due re- ci si avvale di due disposi-vi deJ router. Con un modem analogico è possibile collegare tra loro due calcolatori e quindi in par-colare collegare un calcolatore a un ISP, mediante una linea telefonica commutata. Le imprese o gli en- di dimensioni medio grandi si collegano all’ISP mediante una linea dedicata (CDN). La tecnologia DSL consente di realizzare una connessione in banda larga. Connessioni come ADSL si cara5erizzano per un'asimmetria nella velocità di trasferimento dei da-: la velocità in download è maggiore di quella in upload. Connessioni come HDSL risultano invece simmetriche rispe5o alla velocità. WiMAX è una tecnologia che consente la connessione all’ISP a banda larga e senza fili che riscuote un certo successo nelle aree geografiche che non sono raggiunte dalla conneJvità ADSL o fibra oJca. Anche le compagnie di telefonia mobile operano come ISP, sfru5ando la propria infrastru5ura per erogare conneJvità wireless, la connessione può essere realizzata con:
  • uno smartphone o un PDA
  • un calcolatore collegato a un telefono cellulare che funge da modem cellulare (tethering)
  • un calcolatore dotato di modem cellulare, un'interfaccia normalmente in forma di chiave5a USB Andando oltre la pura e semplice definizione di rete come insieme di apparecchiature, quando parliamo di re- ci riferiamo sostanzialmente a un insieme di:
  • disposi-vi informa-ci
  • connessioni
  • protocolli
  • sooware
  • uten- Nella nostra archite5ura di rete assumono un'importanza decisiva i programmi, ossia quei codici che perme5ono agli uten- di me5ere in a5o le loro strategie di comunicazione: per esempio nel momento in cui un utente decide di inviare un messaggio di posta ele5ronica a un altro utente dovrà usare uno specifico programma in grado di ricevere dal mi5ente il messaggio di testo ed inviarlo all'utente des-natario. D'ora in poi u-lizzeremo il termine messaggio per indicare qualunque testo che venga scambiato fra due nodi di rete, ricordiamo che la comunicazione sulle moderne re- informa-che è del -po a commutazione di paccheQo , pensata per sfru5are efficientemente i canali di comunicazione, in altre parole il messaggio non viene spedito come un unico blocco di testo, ma viene spezze5ato in tan- paccheJ. I protocolli di rete sono quelle norme e convenzioni che stabiliscono i forma- dai messaggi e le modalità di colloquio fra i programmi che se li scambiano, il rispe5o dei protocolli consente di me5ere in comunicazione anche calcolatori molto diversi fra loro e realizza- in maniera del tu5o indipendente. I protocolli di comunicazione vengono ges-- da organismi sovranazionali, come l’ ISO o il W3C , a volte emanano norma-ve proge5ate con l'intenzione di normare un certo se5ore, altre volte prendono a5o dell'esistenza di standard che si sono impos- autonomamente ( come TCP/IP ). Le archite5ure di rete prevedono l'esistenza di stra- di protocolli, ciascuno des-nato a regolare le comunicazioni a un certo livello (layer): per esempio lo standard ISO/OSI prevede l'esistenza di se5e livelli, la suite dei protocolli Internet è invece convenzionalmente suddivisa in qua5ro livelli ed è spesso indicata per brevità suite di protocolli TCP/IP. Ovviamente si ha una integrazione gerarchica fra i livelli, grazie alla quale un protocollo di un certo livello lavora sfru5ando i servizi messi a sua disposizione dal livello inferiore e fornisce a sua volta servizi a livello superiore. Due parole chiave del mondo delle re-:
  • intranet, si intende una rete locale o un inviluppo di re- locali usate da un'organizzazione per la comunicazione interna e l'accesso alle informazioni con accesso ristre5o agli uten- facen- parte dell'organizzazione e con uso dei protocolli -pici di Internet
  • extranet, quando una parte della intranet è accessibile a esterni autorizza- All'interno di una rete un nodo può essere definito aJvo o passivo, se abbiamo un nodo che fornisce servizi, so5o forma di elaborazione o di da-, allora si parla di server o serven-, in contrapposizione a un nodo che di ques- servizi beneficia de5o client o cliente. Le applicazioni client/server svolgono un ruolo fondamentale nelle moderne re- di telecomunicazioni e in par-colare su Internet. Nel caso del web, con client ci riferiamo sia al calcolatore dal quale parte la richiesta, sia al programma che viene usato su questa macchina per accedere al web, in modo analogo quando diciamo server ci riferiamo sia al calcolatore

Il servizio di posta ele5ronica cer-ficata garan-sce la ricezione e l'integrità del messaggio.

  • liste di discussioneà mailing list, sistema di comunicazione asincrono basato sulla posta ele5ronica, è un sistema che consente la comunicazione mol- a mol- che possono scambiarsi messaggi rela-vi a un argomento comune, che è il tema della lista di discussione. Esistono due diverse modalità di funzionamento delle liste di discussione: nelle liste moderate il messaggio prima di essere inoltrato agli iscriJ viene esaminato da un amministratore della pagina stessa, nelle liste non moderate tuJ i messaggi invia- all'indirizzo del gruppo vengono immediatamente smista- tuJ gli iscriJ
  • FTP à è lo strumento principale per la copia da un nodo della rete a un altro, l'implementazione del protocollo FTP è reso possibile da programmi deJ server FTP o client FTP ( Filezilla, Cyberduck, WinSCP ), il sistema basato su FTP garan-sce la possibilità di scambiare documen-, da- e programmi anche tra calcolatori con sistemi opera-vi e file system diversi. Un server FTP può essere adibito alla distribuzione di paccheJ sooware, in questo caso i materiali in distribuzione saranno accessibili solo alla le5ura. Un client FTP è il -pico strumento usato per caricare pagine web su un server.
  • re- paritarie peer to peer à nato in tempi più recen-, sistema per lo scambio di file, si differenzia fortemente dalla maggior parte delle tecniche usate su internet, solitamente legate al rapporto gerarchico client server, in quanto prevedono il cos-tuirsi di archite5ure paritarie, in cui ogni nodo svolge indifferentemente l'aJvità del cliente o di servente. La popolarità di questo -po di servizi è dovuta al fa5o che sono state e sono ampiamente sfru5ate per le aJvità di file sharing, ossia per lo scambio di documen-, nella maggior parte dei casi materiali audio e video, spesso coper- dal diri5o d'autore ( eMule ).
  • gruppi di news e forumà sistema di scambio di informazioni fra comunità di uten- interessa- a un certo tema, a differenza delle liste, i gruppi di discussione sono fonda- sulla metafora della bacheca: ogni utente è connesso a un proprio server di news, al quale spedisce un messaggio, il server è connesso a una rete di altri serven- (denominata Usenet ) con i quali scambia tuJ i messaggi via via ricevu- dai propri uten-, in questo modo ogni servente arriva ad avere tuJ i messaggi del gruppo di discussione e li propone agli uten-. I messaggi vengono organizza- tema-camente secondo filoni di discussione (threads). I gruppi di discussione possono essere frui- tramite programmi dedica- ( PAN ) o tramite servizi integra- nel browser ( Google Groups ). Per discussioni tema-che e newsgroup tendono a essere sorpassa- prevarica- dai forum sul web, anche in questo caso bacheche ele5roniche nelle quali gli uten- affiggono i propri messaggi, essendo i forum lega- a uno specifico sito web non hanno il problema della propagazione dei messaggi sulla rete e quindi la pubblicazione è quasi istantanea.
  • chat, instant messaging e VOIP à sistema di comunicazione sincrona che perme5e di me5ere in conta5o due o più uten- in tempo reale, una chat e un canale di comunicazione dire5a fra due uten-, oppure fra un gruppo di uten-, che si scambiano messaggi testuali, come nel caso delle originarie IRC anche se con il tempo si sono sviluppa- sistemi di instant messaging ( whatsapp ) che sono in sostanza chat ibride, che perme5ono lo scambio di materiale mul-mediali e posta ele5ronica. Anche Skype è un’applicazione ibrida di messaggeria sincrona, noto sopra5u5o per avere implementato e diffuso un sistema di comunicazione telefonica peer to peer sfru5ando un protocollo VOIP che consente di me5ere in comunicazione telefonica gratuita uten- che usino calcolatori sui quali sia installato il programma client di Skype.
  • backup, archiviazione e condivisioneàl'a5uale disponibilità di banda su Internet ha s-molato la nascita dei servizi esternalizzan- di salvataggio via Internet, solitamente ques- prevedono l'installazione di un client sul calcolatore dell'utente che, in seguito alle scelte impostate in fase di configurazione, potrà collegarsi a un server remoto automa-camente, periodicamente, in momen- tali da non interferire con l'aJvità principale della calcolatore stesso, per trasferire da client a server tuJ i materiali desidera- dall'utente. I salvataggi sono di solito incrementali, nel senso che il client aggiorna il server rispe5o alle differenze intervenute dal precedente salvataggio. Tra i più popolari i servizi di salvataggio pensa- anche per utenze non professionali ricordiamo EasyUS, Todo Backup, Dropbox e Google drive. Nel semplice backup file e cartelle vengono copia- in remoto, ma la copia ogni volta rispecchia fedelmente lo stato dell'originale, per cui se l'utente ha accidentalmente alterato un file dopo l'ennesimo salvataggio anche nel file system remoto il file che risulterà modificato. L'archiviazione è un sistema più sofis-cato in cui sono implementate strategie di versioning, per mantenere in vita incrementalmente più versioni successive degli stessi da-. La condivisione individua un servizio che perme5e all'utente di me5ere in comune con altri i propri materiali, fornendo una sorta di disco virtuale, condiviso ed addiri5ura applicazioni ad hoc per lavorare con cer- -pi di file, un esempio è offerto da Google docs. Introduciamo un ul-mo termine: cloud compu-ngà si fa riferimento con questo termine a quei servizi sia di archiviazione o di elaborazione di da- che l'utente opera in remoto. Si dice quindi che si tengono i propri da- nel cloud quando i salvataggi dei propri documen- avvengono su un server remoto, del quale generalmente si ignora la

collocazione fisica e così pure si dice che si sfru5a il cloud per un'elaborazione, quando il programma non è eseguito dal processore della macchina dell'utente, ma da un operatore remoto. Non è da confondersi con il termine grid compu-ngà si applica a codici di calcolo distribuito, ossia algoritmi che vengono implementa- dai programmi che sono esegui- su una pluralità di macchine, per ragioni di efficienza. CAPITOLO 5- Il World Wide Web La stru5ura re-colare è la forma di un -po di documento che ci interessa per l'impa5o che ha avuto nello sviluppo della comunicazione telema-ca: l’ ipertesto. In prima ba5uta intendiamo con questo termine un documento informa-zzato cos-tuito da diverse porzioni di testo, collegate fra loro da nessi logici, implementate tramite collegamen- che consentono al le5ore il passaggio da un blocco di testo all'altro. Il documento assume di conseguenza una stru5ura re-colare: su questa stru5ura il le5ore può organizzare la le5ura passando di blocco in blocco, seguendo i collegamen- propos- e a5uando quindi una navigazione o scansione non lineare. Quando parliamo di ipertes- soJntendiamo che ci s-amo riferendo alle implementazioni informa-che, il termine è stato coniato da Ted Nelson, anni ’60. L'ipertesto negli ul-mi anni si è imposto come stru5ura di organizzazione di una molteplicità di documen- con i quali gli uten- dei calcolatori hanno a che fare in con-nuazione:

  • l'ipertesto è innanzitu5o un testo digitale
  • è composto da più par- che sono tes- digitali, deJ nodi o topics o blocchi di testo o lessie
  • le par- sono in relazione tramite connessioni digitali de5e collegamen- o link
  • la stru5ura determina il modo in cui se ne può usufruire, ossia la cosidde5a navigazione
  • la stru5ura è legata a un autore o un gruppo di autori che hanno scri5o o scelto i tes- e li hanno collega- fra loro La forma di un ipertesto è dunque definita dai collegamen- fra i nodi: dato un certo numero di nodi, le stru5ure più comuni che un ipertesto assume sono quella lineare, quella circolare derivata dalla precedente conne5endo l'ul-mo nodo con il primo, quella stella, quella gerarchica e quella a grafo nella quale tuJ i nodi sono collega- a tuJ gli altri. Nelle comuni implementazioni degli ipertes- i collegamen- sono archi orienta- da un nodo all'altro, e se il nodo A è collegato (punta) al nodo B non necessariamente avremo anche il puntatore di ritorno da A a B. Nella pra-ca del web è quindi sempre definita la cosidde5a stella uscente da un nodo , ovvero l'insieme dei collegamen- che partono da quel certo nodo, mentre difficilmente lo è la stella entrante, ossia l'insieme dei link che puntano al nodo stesso. Possono esistere rimandi all'interno del singolo blocco di testo, nella rappresentazione grafica ciò significa che su un nodo qualsiasi potremmo avere un loop o un cappio, ossia un arco che ha quello stesso nodo come punto di partenza e punto di arrivo, un esempio ben conosciuto di link interni a un noto nel mondo del web è cos6tuito dalle pagine di Wikipedia. I nodi sono da considerare come le unità minimali di informazione, blocchi di testo dota- di autonomia e completezza. I link implementano le connessioni fra par- del documento tema-camente affini o logicamente correlate, essi hanno sede all'interno del blocco di testo in porzioni di testo possibilmente evoca-ve del nodo des-nazione, che sono de5e parole aJve o hotwords. Una prima classificazione dei collegamen- è quella che dis-ngue i collegamen- interni al nodo da quelli esterni, una seconda discriminazione è quella fra collegamen- che puntano a nodi all'interno dello stesso sito a cui appar-ene il nodo di partenza e quelli che puntano ad altri si-.

Le pagine sono ospitate da nodi specializza- dalla rete, deJ server web o server h5p. Un utente del web può sfogliare il documento e navigare nella stru5ura dei collegamen- usando un apposito programma client de5o browser ( Chrome, Edge, Firefox, Opera, Safari ). In quanto documen- mul-mediali le pagine del web sono cos-tuite, dal punto di vista del testo superficiale, cioè di quanto appare all'utente, da tes-, grafica, filma- e via dicendo, per quanto riguarda i forma- ammissibili nel web tuJ i browser moderni riconoscono i forma- grafici jpg/jpeg, gif e png, l'incorporazione di altri forma- invece richiede all'utente l'installazione di opportuni programmi aggiun-vi di visualizzazione deJ plug in ( Quick6me, Acrobat Reader, Flash). Si è soli- indicare con il termine sito web un insieme di pagine che godono di una certa coerenza rispe5o a determina- fa5ori:

  • autorialitàà un sito principalmente opera di un solo emi5ente
  • argomento di comunicazioneà un sito generalmente tra5a di un certo tema principale
  • strategia argomenta-vaà di solito l'impostazione del layout, della grafica e dell'esposizione dei contenu- è unica in tu5o il sito, fa5e salve eventuali eccezioni quando il sito si è suddiviso in sezioni con impostazioni intenzionalmente dis-nte
  • des-natarioà un sito si rivolge a un pubblico obieJvo (target) più o meno ben precisato, che ne definisce dunque implicitamente le cara5eris-che
  • collocazione fisicaà normalmente le pagine di un sito sono ospitate da un solo server web
  • collocazione virtualeà di solito tu5e le pagine di un sito condividono un solo indirizzo web radice A5ualmente i si- web hanno anche una cosidde5a versione mobile, studiata per la visualizzazione su disposi-vi mobili dallo schermo di dimensioni rido5e. Tradizionalmente un sito web ha una pagina iniziale introduJva: la home page, alcuni si- visualizzano invece una pre-home, spesso indicata con il nome di splash page, dal contenuto principalmente grafico o animato che propone poi un collegamento alla home page vera e propria. È de5o portale un sito mul-funzione e mul-servizi che propone contemporaneamente ai visitatori una molteplicità di servizi informa-vi e comunica-vi:
  • portali ver-cali quando l'utenza e le informazioni a essa des-nate fanno riferimento a specifici se5ori merceologici, aree di interesse, tema-che o zone geografiche ( hiphopitaly.com )
  • portali orizzontali o generalis- quando i portali si rivolgono a un'utenza eterogenea e veicolano informazioni sui temi più dispara-, ma -picamente di intra5enimento, informazione e pubblica u-lità ( Yahoo ) A seconda dell'emi5ente i si- possono essere classifica- secondo tre -pologie:
  • si- aziendalià si- con i quali le aziende si rivolgono al proprio pubblico di riferimento per informare o ricevere informazioni ed eventualmente per effe5uare transazioni economiche, ossia applicazioni di commercio ele5ronico sia di -po business to customer (b2c) sia di -po business to business (b2b)
  • si- is-tuzionalià si- con i quali gli en- pubblici, gli en- locali, le scuole e le università comunicano con i ci5adini
  • si- personalià si- di singoli individui che per ragioni professionali, ar-s-che o personali sfru5ano il canale web per comunicare con altri uten-, es. blog Un sito web può essere inteso come luogo di negoziazione di significa- fra emi5en- e fruitori, di -po sia direzionale, quando semplicemente propone contenu- agli uten-, sia circolare, quando prevede opportunità di scambio di contenu- con e tra gli uten-, a questo proposito possiamo anche schema-zzare una serie di funzioni che può svolgere un sito:
  • funzione informa-vaà il sito è principalmente orientato a me5ere a disposizione dell'utente da-, informazioni, no-zie su contenu- esperienziali, è il caso dei si- giornalis-ci virgola di quelli is-tuzionali o associa-vi, il centro della comunicazione è il referente, il contesto
  • funzione cona-vaà il sito è principalmente orientato a convincere il fruitore per condizionare le scelte, è il -pico caso dai si- aziendali e in par-colare di quelli vota- al commercio ele5ronico, il centro della comunicazione è il des-natario
  • funzione emo-vaà il sito è principalmente inteso come strumen- per me5ere in luce il punto di vista di chi comunica, è il -pico caso dei si- personali, dei blog, dei forum di discussione, il centro della comunicazione e l'emi5ente Un importante dis-nzione va fa5a tra i cosiddeJ si- sta-ci e i si- dinamici, anche se la dis-nzione andrebbe più propriamente fa5a a livello di pagina web, dis-nguendo fra pagine sta-che e dinamiche: nulla vieta, in effeJ, che in un sito principalmente cos-tuito da pagine dinamiche siano presen- anche pagine sta-che, che accada viceversa è più raro, ancorché impossibile.

Una pagina web viene definita sta-ca quando ne esiste su di un server una descrizione completa reda5a dal suo autore, mentre una pagina del web viene de5a dinamica quando essa viene generata da un programma a par-re da descrizioni parziali disponibili nel server e da informazioni aJnte da archivi. Un classico caso di pagina sta-ca può essere quello di una home page personale, in questo caso si può tra5are di semplici pagine scri5e in linguaggio HTML, compilate dall'autore e poi trasferite sul server che ospita il sito, nel momento dell'interazione fra client e server l'utente interessato a quella specifica pagina web la richiederà al server, che provvederà a spedirgli il file contenente il testo della pagina, che sarà poi opportunamente interpretato dal browser dell'utente. Possiamo dire che c'è una corrispondenza uno a uno tra le pagine visualizzate dall'utente E quelle memorizzate sul server, fra unità di testo superficiale visualizzate localmente e unità di testo profondo memorizzate in remoto. Nel caso della pagina dinamica invece non esiste una corrispondenza di questo genere, in quanto il testo profondo viene composto al momento della richiesta dell'utente. Si no- che anche le pagine sta-che possono essere dotate di microelemen- dinamici: un -pico caso è quello di pagine sta-che che incorporano un piccolo script (programma) per mostrare da- sta-s-ci. I si- dinamici offrono spesso, so5o forma dei cosiddeJ CMS ( Content Management System ), funzioni che consentono anche a personale non specializzato di inserire nel sito contenu- senza avere par-colari competenze tecniche al di là di quelle rela-ve al semplice uso dei moduli di caricamento propos-. Il perfezionarsi di ambien- di sviluppo e ges-one di si- ha contribuito a limitare il numero di si- sta-ci: un servizio come WordPress rende possibile sviluppare un piccolo sito personale (ma anche professionale) auten-che non hanno la minima conoscenza dei linguaggi del web. Ul-mamente stanno prendendo piede tecniche di mascheramento degli indirizzi, ai fini dell'oJmizzazione delle ricerche nei motori di ricerca, per cui le pagine dinamiche vengono riba5ezzate con nomi più Search Engine Friendly (SEF, “amichevoli per i motori di ricerca”), che possono anche chiudersi con le stesse estensioni delle pagine sta-che. Per ciò che riguarda l'organizzazione interna delle pagine possiamo dis-nguere due macrocategorie:

  • lo spazio dei contenu-à quella parte della pagina che propone all'utente i contenu- veri e propri di quella determinata posizione di ipertesto
  • la cornice ipertestualeà cos-tuita da stru5ure di navigazione e stru5ure di iden-ficazione conta5o, le prime orientano l'utente nella stru5ura del sito, si tra5a generalmente di collegamen- alle sezioni di primo livello (navigazione primaria) del sito ed eventualmente alle pagine dello stesso livello di quella corrente, nel caso si traJ di una pagina interna (navigazione secondaria). Per stru5ure di iden-ficazione e conta5o intendiamo tuJ quegli oggeJ testuali e grafici, come l'intestazione, l'indirizzo che perme5ono di iden-ficare l'emi5ente ed eventualmente di conta5arlo Il web si basa su tre standard principali, ges-- dal consorzio W3C:
  1. hQp ( HyperText Transfer Protocol )à protocollo di rete sul quale si fonda lo scambio di informazioni nel web, è un protocollo dal livello applicazioni della suite dei protocolli di internet e prevede scambi di messaggi basa- su comunicazione client server
  2. HTML ( HyperText Markup Language )à è il linguaggio di marcatura con il quale si compongono le pagine web, si tra5a di un formalismo perme5e di arricchire i tes- (delle pagine web) con indicazioni (per il browser) de5e marche (tags) che perme5ono di definire le cara5eris-che di forma5azione, di ipertestualiizzazione e di res-tuzione mul-mediale necessaria per trasformare il testo profondo nel test superficiale della pagina web
  3. URL ( Uniform Resource Locator )à si indica con questa sigla sia lo schema di iden-ficazione dai contenu- del web, sia la singola stringa che agisce da iden-ficatore univoco di una risorsa web, come può essere l'indirizzo di una pagina web o di un'immagine Per quanto riguarda il protocollo h5p ricordiamo che si tra5a dell'insieme di regole che vanno rispe5ate nella comunicazione tra server e client nel momento dell'effe5uazione di uno scambio di comunicazione nel web, ricordiamo che quando parliamo di client ci riferiamo sia al calcolatore che al programma di navigazione, quando invece parliamo di server ci riferiamo sia al calcolatore che ospita le pagine web, sia al programma che su quel certo calcolatore si occupa della ges-one del sito. L'integrazione fra client e server viene avviata -picamente da una richiesta dell'utente, il browser interpreta il comando come la richiesta da parte dell'utente della pagina web corrispondente all'indirizzo specificato, provvede allora a codificare la richiesta della pagina secondo le specifiche del protocollo e inoltra la richiesta al server sfru5ando il servizio di DNS e la suite di protocolli TCP/IP. La richiesta viene instradata e raggiunge il server che la decodifica, la interpreta e cerca di soddisfarla, a questo punto il server genera un file corrispondente alla richiesta, sia che si traJ di una pagina sta-ca e dunque prelevando un file

richiamato all'interno di una pagina HTML ed eseguito dal browser, a pa5o che sul client sia stato installato un ambiente virtuale Java

  • XMLà si tra5a di un metal linguaggio di marcatura, derivato come HTML dal più generale formalismo SGML, con il quale è possibile descrivere i linguaggi di marcatura per il web più espressivi dell’HTML Per quanto riguarda l’URL, con questo termine indichiamo sia il formalismo che consente di iden-ficare univocamente i contenu- del web, sia la singola stringa che agisce da iden-ficatore univoco di una risorsa web, composto da:
  • protocollo, indica quale protocollo si sta impiegando, il valore -pico che si incontra navigando nel web è h5p, ma è anche usato h5ps o op
  • hostname, è un iden-ficatore di un nodo di rete, secondo quanto previsto dal protocollo TCP/IP e dalle regole di naming del DNS, dunque un ogge5o del -po 193.204.255.20 o mailservernew.unibg.it
  • porta, è un indicatore numerico che perme5e di dis-nguere fra più porte di comunicazione, strumen- impiega- per realizzare la cosidde5a mul-plazione delle connessioni di un calcolatore in rete, ossia per perme5ergli di tenere aperte più connessioni di rete in contemporanea con altri calcolatori
  • pathname, definisci un percorso all'interno del file system del server virgola che iden-fica in modo univoco in questo file server un certo file
  • query, separata dal testo URL dal cara5ere infisso “?”, perme5e di trasme5ere a programmi per la generazione di pagine dinamiche e informazioni parametriche
  • frammento, è una stringa (iden-ficatore) che specifica un preciso all'interno di una pagina Se da una parte il formalismo URL assolva il suo compito di iden-ficare univocamente le risorse web, dall'altra tende a generare iden-ficatori piu5osto lunghi, che in talune circostanze si rivelano ingombran- per gli uten- umani, per ovviare a ques- problemi esistono varie soluzioni a diversi livelli:
  • aliasing a livello del serverà l'amministrazione di un server può creare, tramite i parametri di configurazione, un alias per un URL
  • refresh a livello di codice HTMLà quando non si ha il controllo della configurazione del server, si può operare a livello del codice HTML usando il metatag META e la proprietà HTTP-EQUIV
  • URL shortenersà esistono servizi web quali bit.ly o TinyURL che perme5ono di generare URL brevi, eventualmente mnemonici, che fungono da alias per URL lunghi Chiudiamo il discorso accennando all'esistenza dei cosiddeJ PURLs (URL persisten- o permanen-) che servono per ovviare al problema dell'instabilità degli URL, questa inizia-va si propone di me5ere a disposizione dei propri uten- indirizzi persisten-, ai quali gli uten- possono legare gli URL delle proprie pagine. La ricerca nel web:
  • l'utente può entrare dire5amente, digitando nella finestra indirizzo del proprio browser l'indirizzo che gli interessa
  • l'utente può anche arrivare indire5amente, seguendo un link presente in un altro sito
  • l'utente può arrivare in quella pagina perché spintovi da un motore di ricerca ! circolano molte affermazioni scorre5e sui motori di ricerca Un motore di ricerca è un servizio del web che, a par-re da un input cos-tuito da una richiesta di un utente espressa so5o forma di lista di parole chiave eventualmente legate da operatori logici, res-tuisce come output una lista di collegamen- a risorse del web che sono rilevan- rispe5o alle chiavi di ricerca. I motori di ricerca generalis2 effe5uano ricerche puramente testuali, dunque res-tuiscono collegamen- a pagine che contengono nel proprio testo la parola chiave specificata dall'utente senza pretese di analisi seman-che. Per affinare le proprie ricerche gli uten- possono legare più parole chiave con operatori logici quali AND, OR, NOT. In ragione di questa definizione abbiamo stabilito che un motore di ricerca cos-tuisce una relazione fra un insieme di una o più parole chiave e un insieme di pagine web. È bene so5olineare che non esiste un catalogo di tu5e le pagine del web, infaJ il motore di ricerca effe5ua una query ha un database nel quale sono immagazzinate informazioni rela-ve a un certo numero di pagine web catalogate in precedenza, dobbiamo quindi immaginare che il motore di ricerca ha tempo di interrogazione aJvi un programma di ges-one di un archivio che con-ene descrizioni e indirizzi di pagine web, la descrizione della pagina web può essere un copia del testo integrale della pagina reale o il testo integrale accompagnato da una serie di parole chiave par-colarmente rilevan- per la pagina stessa. Il fa5o di effe5uare la ricerca localmente e non sul web garan-sce i tempi di esecuzione quasi istantanei che sappiamo cara5erizzare i motori di ricerca moderni. L'archivio di ricerca viene cos-tuito e mantenuto aggiornato dal motore di ricerca stesso, il motore dispone infaJ di un programma ( spider, crawler, bot o robot ) che esplora la rete alla ricerca di pagine, le analizza e le indicizza, ossia ne fa una copia più o meno elaborata da conservare nell'archivio del motore.

Nella sua ricerca un generico spider parte da una lista di indirizzi no- di pagine web, scorre la lista e visita le pagine corrisponden- agli indirizzi disponibili, durante la lista lo spider iden-fica i collegamen- uscen- nella pagina e li trascrive nella lista degli indirizzi in archivio, provvedendo poi a un eventuale successiva analisi de5a indexing o indicizzazione, volta a iden-ficare i termini più significa-vi contenu- nella pagina. L’aJvità dello spider e con-nua, asincrona rispe5o alle richieste degli uten- e ciclica: periodicamente lo spider rivisita le pagine a lui già note, con una periodicità variabile in funzione dell'importanza s-mata nella pagina stessa e della sua frequenza di variazione nel tempo. Che propongono all'utente la cosidde5a copia cache della pagina, perme5endo di ispezionare la copia archiviata e dunque corrispondente ai requisi- specifica- dall'utente. Nel proporre risulta- il motore di ricerca svolge un'operazione di ranking, ossia un'operazione di ordinamento dei risulta-: tenta di stabilire un ordinamento in base a un algoritmo di page rank fondato sulla s-ma della rilevanza rispe5o ai criteri di ricerca, nonché sulla popolarità della pagina nella rete. Riassumendo possiamo dire che un motore di ricerca è cos-tuito da:

  • un archivio contenente copia delle pagine web a lui note ed eventuali altre informazioni estra5e dalle pagine stesse
  • un programma di interrogazione dell'archivio in grado di recuperare le pagine significa-ve rispe5o alle parole chiave indicate dall'utente e di ordinare i risulta- in base a criteri di rilevanza
  • un programma di scansione e indicizzazione per ricercare nel web pagine da inserire nell'archivio Possiamo anche dire in maniera piu5osto empirica che il valore di un motore di ricerca dipende dall'ampiezza del suo archivio, dalla per-nenza dei risulta- presenta- e dall'ordine con il quale vengono propos-. De5o questo sui motori generalis- ricordiamo che esistono anche i motori specializza2 :
  • clusterizzatorià motori che cercano di individuare un so5oinsieme di pagine fra quelle appartenen- all'insieme dei risulta- che siano collega- anche da una parola chiave ulteriore rispe5o a quelle richieste dall'utente, in altre parole questo -po di motore cerca di far emergere conceJ significa-vi dall'insieme dei risulta-
  • motori specialis-cià motori in grado di operare su domini par-colari, quali immagini, audio, libri, pubblicazioni scien-fiche, appartengono a questa categoria sia Google Books che Google scholar. Capita ancora che l'utente si trovi in situazioni di caos perceJvo nel web, situazioni in cui segnali ambigui generano disorientamento cogni-vo e perdita del controllo dell'interazione. InfaJ, tra le varie cara5eris-che che concorrono a definire la qualità dei prodoJ sooware in generale, una è di specifico interesse per i si- web: l'usabilità. Quando si parla di usabilità nel campo dei sooware si fa -picamente riferimento a una norma-va dell’ISO ( Interna6onal Organiza6on for Standardiza6on ), secondo la quale l'usabilità è il grado in cui un prodo5o può essere usato dai suoi uten- per raggiungere determina- obieJvi con efficacia, efficienza e soddisfazione in uno specifico contesto d'uso. Il grado di usabilità di un prodo5o viene misurato facendo riferimento a una serie di principi qui di seguito elenca-, validi anche per il web:
  • curva di apprendimentoà se l'utente adopera un prodo5o per la prima volta, quanto tempo gli è necessario perché raggiunga lo scopo prefissato?
  • efficienzaà con che rapidità l’utente riesce a raggiungere gli obieJvi che si è prefissato?
  • semplicità di memorizzazioneà quanto tempo è necessario all'utente per tornare a riusare un prodo5o già u-lizzato in maniera efficace?
  • errorià quan- errori vengono commessi dall'utente e con che facilità è possibile rimediare agli errori?
  • soddisfazioneàquanto è piacevole usare il prodo5o? Valutazione euris-ca: prevede che un esperto usi una serie di regole per verificare quanto un'interfaccia web sia usabile, le ispezioni dagli esper- possono essere affiancate da test di usabilità affida- e non esper-: essi possono essere richies- di svolgere una serie di azioni per il raggiungimento di determina- obieJvi, la cui efficienza può essere misurata in ragione del tempo e dal numero di passaggi necessari per raggiungere alla metà, inoltre può essere chiesto luogo di rispondere a ques-onari che hanno lo scopo di individuare eventuali difficoltà incontrate nell'espletamento del compito affidato. Strumen- come le surveys di Hotjar perme5ono di interrogare gli uten- reali, non un gruppo di uten- campione, raccogliendo un numero di risposte decisamente superiori a quello o5enibile nel laboratorio. Un'altra maniera per tracciare il percorso dell'utente evidenziando eventuali dubbi consiste nel chiedergli di pensare ad alta voce mentre naviga per raggiungere il proprio obieJvo, esistono inoltre tecniche di valutazione dell'usabilità dei si- che sfru5ano i log dei server.