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


Informatica umanistica 3, Appunti di Elementi di Informatica

Riassunto di informatica umanistica 3 completo. Preparato per esame voto 27

Tipologia: Appunti

2020/2021

Caricato il 01/12/2021

valentina-pesenti
valentina-pesenti 🇮🇹

4.2

(9)

7 documenti

1 / 63

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Nuove tecnologie per la comunicazione
FONDAMENTI DI INFORMATICA E HARDWARE
1) Trattamento automatico dell’informazione
Che cosa è l’informatica?
Il termine informatica deriva dal francese informatique coniato negli anni '60 da Dreyfuss per indicare la
disciplina tecnico-scientifica che si occupa di progettare e costruire macchine per elaborare in modo
automatico l'informazione.
L’informatica viene anche chiamata computer science: il calcolatore (o elaboratore) permette di trattare
l’informazione. Gli strumenti di cui disponiamo, primo tra tutti il calcolatore elettronico, sono il risultato del
sogno dell'uomo di avere elaboratori automatici dell'informazione per ridurre i tempi dell'uomo, aumentare
l'affidabilità, togliere all'uomo incombenze noiose e ampliare la diffusione delle elaborazioni (non richiedono
più competenze particolari). L'informazione che ha fatto scattare la molla per la realizzazione di elaboratori
automatici è quella numerica. Da qui la diffusione del termine calcolatore (computer).
In alternativa l’informatica viene anche chiamata tecnologia dell’informazione (Information Technology) o
Information & Communication Technology (se la tecnologia dell'informazione converge con le
telecomunicazioni che si occupano della trasmissione dell'informazione a distanza con lo scopo di
comunicare).
Il dato, l'informazione e la conoscenza
Per quanto riguarda l'informatica è importante mettere il termine informazione in relazione con il termine
dato e conoscenza.
Il dato è un insieme di simboli tracciati su un supporto fisico, esso non ci serve a niente se non lo mettiamo
in relazione con la proprietà a cui si riferisce, trasformandolo quindi in informazione.
Es. Parlando di numeri, il numero 39,5 è un dato, composto dai simboli “3” “9” “,” e “5”.
Se vedo questo numero, non mi dice nulla. Pensando ad un calcolatore e vedendo il numero capisco che non
ha capacità di intuizione e quindi per elaborare l’informazione il dato non è sufficiente. Allora se relaziono
dati con proprietà creo l’informazione.
La conoscenza è ad un livello maggiore di astrazione, permette di trattare l’informazione.
Es. La temperatura di un individuo è 39,5 °C, esistono regole che permettono di trattare questo stato per
superare questa condizione pericolosa.
I linguaggi naturali e formali
I linguaggi naturali (come italiano, inglese, ecc.) hanno la caratteristica di essere ambigui poiché
possibilmente polisemici. Per ciò sono stati sviluppati dei linguaggi formali, usati nell'informatica,
matematica o logica, per evitare ambiguità.
Essi sono composti da:
-alfabeto finito di simboli
-grammatica formale: insieme di regole sintattiche per capire come funzionino tra loro i simboli e come
abbinarli per creare una frase. Bisogna fare in modo che le frasi abbiano una sola possibile interpretazione.
Esistono quindi delle semantiche formali per fornire un significato alle frasi del linguaggio formale.
La codifica e la rappresentazione dell'informazione
La stessa informazione può essere codificata con simboli e modalità diverse.
Nei calcolatori ogni informazione è codificata in un bit (binary digit "cifra binaria") 0 e 1.
Questo succede perché tutti i dispositivi tecnologici si basano su dispositivi detti bistabili.
Un bit può assumere valori da 0 a 1 -> n bit: 2^n sequenze possibili:
2 bit: 4 (2^2) sequenze possibili: 00, 01, 10, 11
3 bit: 8 (2^3) sequenze possibili: 000, 001, 010, 011, 100, ...
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f

Anteprima parziale del testo

Scarica Informatica umanistica 3 e più Appunti in PDF di Elementi di Informatica solo su Docsity!

Nuove tecnologie per la comunicazione

FONDAMENTI DI INFORMATICA E HARDWARE

1) Trattamento automatico dell’informazione

Che cosa è l’informatica?

Il termine informatica deriva dal francese informatique coniato negli anni '60 da Dreyfuss per indicare la disciplina tecnico-scientifica che si occupa di progettare e costruire macchine per elaborare in modo automatico l'informazione. L’informatica viene anche chiamata computer science : il calcolatore (o elaboratore) permette di trattare l’informazione. Gli strumenti di cui disponiamo, primo tra tutti il calcolatore elettronico, sono il risultato del sogno dell'uomo di avere elaboratori automatici dell'informazione per ridurre i tempi dell'uomo, aumentare l'affidabilità, togliere all'uomo incombenze noiose e ampliare la diffusione delle elaborazioni (non richiedono più competenze particolari). L'informazione che ha fatto scattare la molla per la realizzazione di elaboratori automatici è quella numerica. Da qui la diffusione del termine calcolatore (computer). In alternativa l’informatica viene anche chiamata tecnologia dell’informazione (Information Technology ) o Information & Communication Technology (se la tecnologia dell'informazione converge con le telecomunicazioni che si occupano della trasmissione dell'informazione a distanza con lo scopo di comunicare).

Il dato, l'informazione e la conoscenza

Per quanto riguarda l'informatica è importante mettere il termine informazione in relazione con il termine dato e conoscenza. Il dato è un insieme di simboli tracciati su un supporto fisico, esso non ci serve a niente se non lo mettiamo in relazione con la proprietà a cui si riferisce, trasformandolo quindi in informazione. Es. Parlando di numeri, il numero 39,5 è un dato, composto dai simboli “3” “9” “,” e “5”. Se vedo questo numero, non mi dice nulla. Pensando ad un calcolatore e vedendo il numero capisco che non ha capacità di intuizione e quindi per elaborare l’informazione il dato non è sufficiente. Allora se relaziono dati con proprietà creo l’informazione. La conoscenza è ad un livello maggiore di astrazione, permette di trattare l’informazione. Es. La temperatura di un individuo è 39,5 °C, esistono regole che permettono di trattare questo stato per superare questa condizione pericolosa.

I linguaggi naturali e formali

I linguaggi naturali (come italiano, inglese, ecc.) hanno la caratteristica di essere ambigui poiché possibilmente polisemici. Per ciò sono stati sviluppati dei linguaggi formali , usati nell'informatica, matematica o logica, per evitare ambiguità. Essi sono composti da:

  • (^) alfabeto finito di simboli
  • (^) grammatica formale: insieme di regole sintattiche per capire come funzionino tra loro i simboli e come abbinarli per creare una frase. Bisogna fare in modo che le frasi abbiano una sola possibile interpretazione. Esistono quindi delle semantiche formali per fornire un significato alle frasi del linguaggio formale.

La codifica e la rappresentazione dell'informazione

La stessa informazione può essere codificata con simboli e modalità diverse. Nei calcolatori ogni informazione è codificata in un bit ( binary digit "cifra binaria") 0 e 1. Questo succede perché tutti i dispositivi tecnologici si basano su dispositivi detti bistabili. Un bit può assumere valori da 0 a 1 -> n bit: 2^n sequenze possibili:

  • 2 bit: 4 (2^2) sequenze possibili: 00, 01, 10, 11
  • 3 bit: 8 (2^3) sequenze possibili: 000, 001, 010, 011, 100, ...
  • 8 bit: 256 (2^8) sequenze possibili -> 8 è un numero particolare: 8 bit = 1 byte (altra unità di misura del calcolatore) Se dobbiamo memorizzare informazioni complesse dobbiamo definire delle codifiche con sequenze di bit molto lunghe. La memoria del calcolatore quindi è costituita da dispositivi bistabili e per quantificare la sua capacità (quantità di dati che è in grado di memorizzare) si usano i bit, byte e i multipli. Utilizzando il SI (Sistema Internazionale) si trovano i multipli, con la differenza che per l'informatica si usano le potenze del 2. (Il bit si scrive in minuscolo, il byte si scrive con la B maiuscola).

Gli strumenti per l'elaborazione dell'informazione

Con elaborazione o trattamento dell'informazione si intende qualsiasi attività condotta sull'informazione che comprenda:

  • (^) creazione
  • (^) modifica
  • (^) confronto
  • (^) conservazione
  • (^) trasmissione L'informazione in ingresso viene definita input , quella prodotta in uscita dall'elaborazione è definita output. Può capitare che ad un esecutore si debbano dare delle istruzioni per operare una trasformazione dell'informazione in modo autonomo e automatico. La descrizione che viene fatta può essere definita in modo informale con un algoritmo. Nel corso della storia, l'uomo ha concepito vari strumenti formali per l'elaborazione dell'informazione (Es. l'algebra, la logica con il sillogismo). I linguaggi di programmazione sono linguaggi formali progettati per descrivere algoritmi in modo tale che possano essere eseguiti da un calcolatore. Caratteristiche: sintassi semplice, no ambiguità, semantica limitata. La formulazione di un algoritmo in un linguaggio di programmazione è definita programma e un programmatore è chi scrive un programma.

I dispositivi automatici per l'elaborazione dell'informazione

In base al ruolo giocato dalla componente umana è possibile fare una classificazione dei sistemi per il trattamento dell'informazione:

  1. Sistemi manuali danno una codifica dei dati, ma l'esecuzione delle trasformazioni fisiche su di essi dipende solo dall'uomo (fare calcoli con carta e penna);
  2. Sistemi (semi) automatici rigidi in grado di operare singole trasformazioni fisiche su dati ma richiedono continue indicazioni da parte dell'uomo che ne esercita il controllo (calcolatrice tascabile);
  3. Sistemi automatici flessibili dispongono di una memoria all'interno nella quale sono rappresentati i dati e le istruzioni per le trasformazioni fisiche da apportare ai dati stessi (calcolatore). EVOLUZIONE STORICA DEI SISTEMI PER L'ELABORAZIONE DELL'INFORMAZIONE. I. Storicamente il primo strumento per la rappresentazione dell'informazione numerica sono le 10 dita.

Un esempio di struttura è quello del PC ( personal computer ). A prescindere dalle periferiche I/O (tastiera, mouse, monitor ecc.) è formato da un'unità centrale costituita da una scatola meccanica detta chassis o case (dotata di ventola per la circolazione dell'aria) all'interno della quale c'è un alimentatore per la linea elettrica. Nello chassis è ancorata la scheda madre (motherboard) che è la struttura portante per il calcolatore, dove ci sono degli alloggiamenti (slot) per il montaggio di altri componenti. Per superare il problema di Von Neumann le motherboard hanno dei bus aggiuntivi ottimizzati per la comunicazione con specifiche periferiche. In uno specifico punto della scheda madre, chiamato zoccolo, è installato il microprocessore, mentre su altri slot specifici sono installate una o più schede di memoria centrale o RAM (Random Access Memory).

Classificazione dei calcolatori

Ci sono una serie di caratteristiche che possono differenziare un calcolatore da un altro: velocità di elaborazione, capacità di archiviazione, dotazioni periferiche, dimensioni ecc. I calcolatori si dividono in queste principali categorie:

  1. personal computer: Il personal computer è quello più diffuso, utile per l'utilizzo di un singolo utente (calcolatore mono-utente), anche per l'uso domestico (home computer). L'unità centrale può avere varie forme: desktop (chassis collocazione orizzontale sotto il video), tower (chassis collocazione verticale), small form factor (desktop di dimensioni ridotte).
  2. laptop: è un PC progettato per la mobilità.
  • notebook : computer abbastanza grande, abbastanza pesante o tablet PC
  • netbook : più leggero e meno potente
  • ultrabook : ultrasottile, ma potente come un notebook
  1. PDA (Personal Digital Assistant) noto anche come palmare o pocket PC, racchiude in dimensioni molto ridotte le caratteristiche di un tablet. Uno smartphone è un PDA che ha anche funzione di telefono cellulare.
  2. console per videogames e media center
  3. workstation: calcolatore fisso, quindi personal computer, situato in un laboratorio oppure in un ufficio, che mi mette a disposizione componenti di base per lavorare ma funziona perché collegato ad una determinata rete che fornisce determinate informazioni.
  4. server: computer più affidabile, sicuro, potente, rispetto ai soliti personal computer perché reggono un maggior numero di informazioni
  5. minicomputer, mainframe, supercomputer. Sono computer multi-utente, ovvero più persone contemporaneamente possono usare il PC: in questo caso il computer multi-utente svolge le funzioni di server mentre il PC funge da client.
  6. Meno visibili, ma molto importanti, sono i calcolatori embedded (collocati all'interno di automobili, semafori, catene di montaggio industriali ecc.). Le caratteristiche che permettono di differenziare diversi calcolatori sono: _- velocità di elaborazione
  • capacità di archiviazione dati
  • affidabilità
  • sicurezza
  • dotazione di periferiche
  • capacità di connettersi ad altri elaboratori o dispositivi
  • dimensioni
  • modularità (compatibilità delle componenti)
  • scalabilità (consentire il miglioramento)_

Il processore

La CPU ha il compito di eseguire istruzioni codificate in binario (linguaggio macchina) all'interno della memoria centrale, andando a modificare così altri dati codificati all'interno della memoria stessa. Dall'accensione allo spegnimento del calcolatore, la CPU continua ad iterare in base ad un ciclo di 4 attività:

  1. Fase di lettura della memoria (fetch), nella quale la CPU legge un'istruzione dalla memoria centrale e la memorizza nel registro IR (Instruction Register). Il rispetto del corretto ordine di esecuzione è garantito da un altro registro: Program Counter (PC).
  2. Fase di decodifica, nella quale all'interno dell'informazione viene identificata la parte che specifica l'operazione da fare e le parti che identificano gli operandi (=dati a cui l'operazione deve essere applicata).
  1. Fase di esecuzione che è demandata all'unità aritmetico-logica (Arithmetic Logic Unit, ALU) che è un sottosistema della CPU contenente i circuiti per eseguire le operazioni elementari.
  2. Fase di scrittura, è la fase finale, il risultato è trascritto in uno dei registri interni della CPU oppure all'interno della memoria centrale. Il linguaggio macchina di ogni CPU prevede anche istruzioni di salto (jump) che modificano il flusso di esecuzione che di solito è sequenziale. All'interno del calcolatore è presente un particolare dispositivo detto clock: scandisce le operazioni all'interno di tutti i circuiti elettronici del calcolatore, tra cui la CPU, e li sincronizza. La frequenza di clock (con cui emette il suo segnale) è misurata in hertz o nei suoi multipli (kilo, mega, giga): determina la velocità massima con cui la CPU è in grado di operare. Nei PC e nei server odierni si usano processori multi-core (con più di una CPU, che possono lavorare in parallelo ad una frequenza attorno ai gigahertz: GHz.

La memoria centrale

La memoria centrale o RAM (Random Access Memory) è il dispositivo di memorizzazione con cui la CPU interagisce per leggere o scrivere istruzioni e dati. È un insieme di unità elementari di memorizzazione (celle) ciascuna delle quali costituita da dispositivi bistabili organizzati a gruppi di 8 bit (1 byte). La capacità tipica della RAM è di alcuni GB. Caratteristiche:

  • (^) velocità: permette di prendere velocemente le informazioni in una cella di memoria
  • (^) Volatilità: la RAM richiede continuo flusso di alimentazione elettrica, perciò allo spegnimento del calcolatore avviene la cancellazione del suo contenuto. Un qualsiasi dispositivo di memoria può supportare uno di questi tipi d'accesso:
  • Accesso sequenziale: prima di poter leggere una cella è necessario leggere quelle che a precedono (nastri magnetici);
  • Accesso diretto: è possibile l'accesso immediato avendo l'indirizzo di una cella (memoria centrale);
  • Accesso misto: con un accesso diretto si accede ad un blocco di celle all'interno del quale una singola cella viene individuata con la ricerca sequenziale (dischi magnetici);
  • Accesso associativo: l'accesso ad una cella dipende non dall'indirizzo ma dal contenuto che viene cercato parallelamente su più celle (memorie cache). Esistono anche altri tipi di memoria ROM (memoria di sola lettura) e EPROM (memoria di sola lettura che posso cancellare e riprogrammare) per elettrodomestici, televisione, ecc.

La memoria di massa

Le memorie di massa garantiscono la persistenza dei dati e permettono di mantenere l'informazione anche quando non c'è alimentazione al dispositivo e sono in grado di offrire maggiore capacità di archiviazione rispetto alla memoria centrale e costano molto meno. Nel calcolatore la principale memoria di massa è il disco rigido (hard disk). Tipicamente i dischi rigidi dei personal computer hanno un diametro di 3, 5′′ (desktop) o 2, 5′′ (laptop) e la loro dimensione varia tra centinaia di GB a 2 TB. Alcune memoria di massa si basano su rapporti rimovibili: per leggere e scrivere il calcolatore deve avere appositi drive integrati all'interno dello chassis del calcolatore oppure esterno (connesso con cavo USB). Importante è:

  1. Backup: è una delle tecniche del disaster recovery, che produce copie aggiuntive dei dati conservati sul dispositivo di memoria per ripristinare il contenuto informativo del calcolatore dopo qualsiasi danno.
  2. Formattazione: elimino completamente il contenuto nella memoria, cancello le sequenze di bit contenute nella memoria (nei libri significa impostazioni tipografiche che vengono date al testo (font, allineamento)
  • 2 connettori PS/
  • connettore VGA (o DVI)
  • connettori minijack
  • connettore RJ11 (modem/fax)
  • connettore RJ45 (interfaccia di rete)
  • connettori USB (Universal Serial Bus: universale perché nella porte USB posso attaccarci molti
  • dispositivi)
  • connettore FireWire (IEEE 1394)
  • dispositivo IrDA (infrarossi, come telecomando) e Bluetooth (si basa sulle onde radio) Le principali periferiche:
  • (^) tastiera (input)
  • (^) video (output): scheda grafica, risoluzione (aspect ratio), CRT, LCD, OLED, AMOLED, videoproiettore
  • (^) dispositivi di puntamento (input): cos’è una GUI (graphical user interface)? mouse, trackball, joystick, touchpad, tavoletta grafica, touchscreen
  • (^) stampante (output) (plotter: stampante per grandi formati): risoluzione delle stampa (misurati in punti pollice che possono essere disegnati dalla stampante sul supporto cartaceo. Maggiore sarà la risoluzione e migliore sarà la qualità della stampa)? getto d’inchiostro, laser, impatto
  • (^) acquisizione di immagini (input): scanner (OCR: optical character recognition), fotocamera digitale, videocamera digitale, webcam, lettore di codici a barre
  • (^) dispositivi audio (output): scheda sonora, media center, lettore mp
  • (^) combinazione di periferiche (input): google glasses (occhiali realtà virtuale con una webcam con i quali si può condividere la posizione, fare videochiamate, rispondere ai messaggi, ecc..), realtà aumentata, Cave Automatic Virtual Environment (stanza tridimensionale dove sulle pareti ci sono immagini proiettate), LIM (viene combinata l’immagine ad uno schermo touch, a delle casse, ecc..), realtà virtuale. Sono usate in diversi campi e sono considerate il futuro delle periferiche. IL SOFTWARE

Il software

Il software è l'unità di memorizzazione ci cui ci sono, oltre ai dati da elaborare, anche le istruzioni eseguite dal calcolatore per condurre l'elaborazione stessa.

  1. Algoritmi

Gli algoritmi

Un algoritmo è una sequenza di istruzioni per realizzare un trattamento dell'informazione. Ogni algoritmo deve avere le seguenti caratteristiche:

  • (^) Presuppone la presenza di qualcosa o qualcuno in grado di eseguirlo: l’esecutore
  • (^) L’algoritmo letto dall'esecutore esegue le istruzioni riportate in ordine preciso (partendo dai dati input arriva ai dati di output)
  • (^) L’algoritmo deve essere formulato in un linguaggio comprensibile dall'esecutore
  • (^) Un esecutore può eseguire un algoritmo in un linguaggio che conosce se l'algoritmo viene prima tradotto in un linguaggio che conosce
  • (^) L'algoritmo ha solo istruzioni elementari che fanno fare all'esecutore operazioni elementari
  • (^) Un algoritmo può richiedere l'esecuzione di altri algoritmi precedentemente specificati all'esecutore
  • (^) Il linguaggio dell'algoritmo non deve essere ambiguo
  • (^) L'esecutore deve attenersi all'ordine di esecuzione delle operazioni che deve essere specificato
  • (^) Ci devono essere un numero finito di istruzioni
  • (^) L'algoritmo deve finire in un tempo finito con dati output
  • (^) L'algoritmo deve essere deterministico: partendo dallo stesso algoritmo bisogna arrivare sempre allo stesso risultato tutte le volte
  • (^) L’algoritmo è parametrico: non risolve un solo problema, ma una classe di essi. Esempio di algoritmo: le ricette

Dati di input: acqua, pasta, sale Preparazione:

  1. mettere l’acqua in una pentola
  2. portare l’acqua a ebollizione
  3. aggiungere il sale all’acqua
  4. buttare la pasta
  5. cuocere per 10 minuti
  6. scolare la pasta Dati di output: pasta cotta Ma siamo sicuri che una ricetta sia proprio un algoritmo? NO, è molto simile ma con due importanti differenze:
  • La sequenza di azioni contiene spesso degli elementi di ambiguità risolti da un esecutore intelligente Es: spesso non si specificano gli strumenti da utilizzare, confidando che l’esecutore umano sbatta le uova nel posto giusto Es: sale q.b.
  • Non tutti i casi possibili vengono specificati Es: è chiaro che se c’è puzza di bruciato conviene spegnere il forno, anche se la ricetta non lo specifica (si confida nelle capacità deduttive dell’esecutore).

La macchina di Turing

Alan Turing fu un matematico inglese, considerato il padre dell’informatica. Egli ha creato la macchina di Turing (MdT). Si tratta di un dispositivo volto all’analisi delle proprietà dell’elaborazione dell’informazioni, quindi degli algoritmi. Vuole capire se un algoritmo è efficiente oppure no, a quale velocità, quanta memoria contiene. È un dispositivo (astratto) per l’elaborazione dell’informazione che permette di analizzare le proprietà dell’elaborazione automatica dell’informazione, degli algoritmi e della complessità. È in grado di calcolare qualsiasi cosa = calcolatore più potente al mondo. Si usa la codifica binaria (bit). È costituita da:

  • (^) un alfabeto finito di simboli
  • (^) un nastro di lunghezza infinita diviso in celle
  • (^) una testina in grado di leggere e scrivere le celle e di spostarsi
  • (^) un insieme finito di stati (stato iniziale e finale)
  • (^) un registro di stato (stato corrente)
  • (^) una tabella delle azioni o funzione di transizione Quando la MdT viene attivata si hanno queste operazioni:
  • (^) lettura del simbolo
  • (^) individuazione della riga: i primi due elementi sono lo stato corrente e il simbolo contenuto. La cella riporterà a lato il simbolo X, il verso V e lo stato S.
  • (^) scrittura di X nella cella corrente
  • (^) spostamento della testina nella cella adiacente nel verso V
  • (^) impostazione di S nel registro di stato. Turing ha poi dato il via a quella disciplina definita dell’intelligenza artificiale. Se il computer vince il gioco di imitazione, quindi inizia a pensare come un uomo, allora avremo un calcolatore che sa pensare. Ma ancora oggi i calcolatori sono in grado di fare solo quello che gli uomini gli dicono di fare, quindi solo qualora ricevono istruzioni. Turing definì macchina di Turing universale (UTM, Universal Turing Machine) una macchina di Turing in grado di simulare il funzionamento di qualsiasi altra macchina di Turing e ne descrive in dettaglio una possibile realizzazione. Del lavoro di Turing è importante menzionare anche la tesi di Church-Turing: se una funzione è intuitivamente considerata calcolabile, allora esiste una macchina di Turing in grado di calcolarla. Questa tesi è accettata come vera perché non sono mai stati verificati dei controesempi. È importante perchè è determinata da due conseguenze:
  1. proprietà degli algoritmi possono essere studiate più facilmente sulle MdT
  1. Software Applicativo

Il software applicativo

In base alle funzionalità, il software per calcolatori viene diviso in 2 categorie:

  1. Software applicativo: programmi (o applicazioni) che risolvono o aiutano l'utente a risolvere problemi specifici in alcuni ambiti applicativi;
  2. Software di base: programmi di utilizzo generale che consentono l'interazione tra l'utente e il calcolatore e supportano l'esecuzione del software applicativo. Sono innumerevoli le applicazioni disponibili in ogni ambito:
  • App di videoscrittura: stesura di documenti di testo, correzione, formattazione (Es. Microsoft Word, Apache OpenOffice Writer, WordPerfect ecc.)
  • App per la gestione di fogli elettronici: effettuazione di calcoli, elaborazione di dati mediante tabelle (Es. Microsoft Excel).
  • App per la produzione di presentazioni multimediali (Es. Microsoft Powerpoint).
  • App di desktop publishing: produzione di volantini/brochure.
  • Applicativi per la gestione di basi di dati: raccolta e organizzazione di dati, creazione di finestre per la loro gestione (maschere), query per la ricerca, prospetti di stampa (report).
  • Editor web (HTML): realizzazione di piccoli siti web.
  • App grafiche e di fotoritocco: acquisizione, manipolazione, archiviazione/stampa di fotografie
  • App per la realizzazione di diagrammi.
  • App per la gestione delle finanze individuali: bilancio personale/familiare.
  • Organizer: sostituiscono l'agenda cartacea.
  • App di project management: gestione della pianificazione di un progetto.
  • App legate a Internet e al web (browser, posta elettronica, peer2peer, ...) Già si è accennato ad altre applicazioni molto diffuse:
  • (^) applicazioni OCR (Optical Character Recognition): riconoscimento dei caratteri all'interno delle immagini derivanti dall'acquisizione con scanner
  • (^) applicazioni CAD (Computer Aided Design, progettazione assistita dal calcolatore), disegno tecnico, anche tridimensionale
  • (^) videogiochi
  • (^) audio player (riproduzione di musica e suoni in genere) e video player (riproduzione di filmati) Sempre più popolari sono le cosiddette mobile app, applicazioni realizzate specificatamente per smartphone o altri dispositivi mobili. Tali applicazioni vengono scaricate via Internet da un negozio elettronico (store). Es. Apple Store o Play Store
  1. Software Operativo

Il sistema operativo

Quando acquistiamo un calcolatore, al suo interno troviamo il sistema operativo, ovvero il software di base, che permette l’interazione tra utente e calcolatore tramite una serie di programmi. I sistemi operativi sono di solito progettati con un'architettura a macchine virtuali stratificate. Hardware + strato di software = macchina virtuale che offre un'interfaccia che fornisce ad altri programmi la possibilità di usare queste funzionalità aggiuntive a proprio vantaggio. Le componenti principali di un SO sono:

  • (^) nucleo (kernel)
  • (^) gestore della memoria
  • (^) gestore dei dispositivi I/O
  • (^) file system
  • (^) gestore della rete
  • (^) interprete dei comandi La combinazione tra un calcolatore con un sistema operativo costituisce a sua volta una macchina virtuale: un'interfaccia per i programmi applicativi, una per l'utente chiamata piattaforma.

I SO comunemente diffusi:

  • Unix: sviluppato dai Bell Laboratories
  • Linux: (es. Ubuntu) è una famiglia di SO open source (basati su Unix)
  • Microsoft Windows
  • Microsoft Windows CE: versione embedded del SO
  • Mac OS: SO della Apple per personal computer Macintosh
  • iPhone OS: versione del SO della Apple per dispositivi mobile
  • Android: SO per dispositivi mobile

La gestione della CPU

Negli anni '40 i primi calcolatori elettronici erano monoprogrammati, in grado di eseguire un solo programma per volta e non avevano un sistema operativo: il programmatore accedeva direttamente a tutte le istruzioni della CPU con un programma in linguaggio macchina codificato su schede perforate. Anche i dati in ingresso dovevano essere messi su schede perforate in un unico momento prima dell'esecuzione del programma. Negli anni '50 si introdusse il monitor e si cercò di ridurre i tempi di inattività tra la fine di esecuzione di un programma e l'inizio del successivo. Negli anni '60 per migliorare lo sfruttamento della CPU si pensò di recuperare i tempi di inattività (attesa) nelle operazioni asincrone. I calcolatori divennero multiprogrammati, quindi di tenere in RAM più programmi contemporaneamente. Vennero tolte le schede perforate e l'utente poteva interagire direttamente con il calcolatore durante l'esecuzione di un programma. Nacquero 2 tipi di applicazioni in base a questa interattività:

  1. App I/O bound
  2. App CPU bound Si collegarono così più terminali allo stesso calcolatore e divenne così un sistema timesharing o multitasking, in grado di fornire un parallelismo virtuale. Per spiegare il funzionamento di un sistema timesharing bisogna dare la definizione di processo: è un'entità dinamica in contrapposizione al programma che è un'entità statica in quanto insieme di istruzioni in linguaggio macchina. La CPU gestisce i processi in esecuzione che si possono trovare in 3 diversi stati:
  3. Pronto: il processo è inserito in una lista di processi pronti gestita da un componente del kernel: scheduler e aspetta di passare in esecuzione
  4. In esecuzione: il processo ha accesso alla CPU e ne esegue le istruzioni
  5. In attesa: il processo è in attesa del completamento di un'operazione asincrona e di poter tornare al punto 1 I processi vengono messi nello stato di esecuzione tramite l’operazione di context swapping (cambiamento del contesto). Nei sistemi operativi per PC una sola finestra è attiva, collegata all'input de della tastiera. Il processo corrispondente alla finestra attiva è chiamato in foreground, tutte le altre finestre non attive sono in background. Vi sono programmi eseguiti per essere sempre in background: sono chiamati demoni in Linux e servizi in Windows.

La gestione della RAM

L'esecuzione di un programma richiede la creazione di un processo al quale è necessario dare nella RAM lo spazio per il codice e i dati. Nella multiprogrammazione sono presenti più processi e perciò c'è più possibilità che si creino dei conflitti. Per ovviare il problema esiste un gestore all'interno del sistema operativo che deve:

  • (^) Controllare la RAM
  • (^) Garantire lo spazio necessario a ciascun processo
  • (^) Proteggere lo spazio dato a ciascun processo da intrusioni
  • (^) Gestire in modo controllato spazi comuni.

È la componente che gestisce l’interazione uomo/macchina. All'inizio di una sessione di lavoro viene chiesta un'autenticazione: identificare con certezza l'utente che intende accedere al calcolatore. L'autenticazione informatica può essere fatta seguendo 3 modalità:

  1. Dimostrazione di conoscenza: richieste le credenziali che devono corrispondere a quelle note al sistema (account): username e password.
  2. Dimostrazione di possesso: possedere un oggetto fisico leggibile (smart card).
  3. Dimostrazione di caratteristiche fisiche: dimostrare di avere determinate caratteristiche fisiche (dati biometrici: lettura impronte digitali). Utenti diversi hanno autorizzazioni diverse: amministratore di sistema, operatore di sistema, programmatore, utente applicativo. Cosa significa WYSIWYG? È l’acronimo di What You See Is What You Get ("quello che vedi è quello che è" o "ottieni quanto vedi"), ovvero che il testo nel risultato finale apparirà esattamente come si vede nell’editor.

La virtualizzazione

Con la parola “Virtuale” si intende una simulazione di caratteristiche/funzionalità diverse da quelle reali ≠ con “Realtà virtuale” si intende simulare la collocazione all'interno di un mondo diverso da quello in cui è realmente ubicata. Esistono le piazze virtuali che permettono a persone molto lontane di comunicare tra loro. Si sta diffondendo sempre di più la tecnologia di virtualizzazione dell'hardware: su un calcolatore (in questo caso host machine) viene installato un hypervisor: un sistema di base che supporta la creazione di una o più macchine virtuali (guest machine) che opera ciascuna come se avesse il controllo delle risorse dell'hardware.

I software maligni

Il termine malware o virus indica una classe di programmi progettati per infiltrarsi e apportare danni all'interno del calcolatore senza il consenso del proprietario. Il virus è un insieme di istruzioni (blocco di codice) nascosto in un programma di uso comune (infetto): se il programma viene mandato in esecuzione, il codice di blocco virulento si esegue cerca altri programmi da infettare, per poi fare altri danni di vario genere. Ci sono altri tipi di malware:

  • (^) Worm: intero programma che genera problemi sulla rete;
  • (^) Troyan horse: programma che si presenta come utile applicazione, che durante l'esecuzione apre una breccia che può rendere accessibili i dati del calcolatore a possibili hacker;
  • (^) Spyware: programma installato senza autorizzazione che raccoglie informazioni sull'utente
  • (^) Adware: programma che propone all'utente pubblicità (se è senza consenso è un adware disonesto);
  • (^) Crimeware: software progettato per il furto di identità;
  • (^) Hoax: catena di messaggi elettronici che avvisano la presenza di virus, creano catene di messaggi inutili. Per combattere i malware servono sistemi automatici di difesa come:
  • (^) Firewall: positivo hardware o software che crea una barriera elettronica contro gli attacchi in stile troyan horse.
  • (^) Antivirus: un software in grado di prevenire, individuare e rimuovere i programmi malware (per essere adeguatamente efficace necessita di un costante aggiornamento).
  • (^) Linux: non c'è l'antivirus

La società degli algoritmi

Gli algoritmi hanno ormai un impatto notevole sulla nostra vita di tutti i giorni, al punto che sempre più frequentemente si parla di “società degli algoritmi”.

L'utilizzo sempre più diffuso dei navigatori satellitari (navigatori GPS) o delle funzioni di navigatore satellitare offerte dagli smartphone attribuisce molta responsabilità agli algoritmi impiegati su questi dispositivi per elaborare il nostro percorso. Le decisioni di acquisto o di vendita sui mercati finanziari sono spesso affidate ad algoritmi che possono rendere gli elaboratori più informati, più veloci nel processo decisionale e più efficaci dei tradizionali operatori umani (trading algoritmico). La conoscenza di tali algoritmi può essere però utilizzata per la creazione di altri algoritmi che riescono a manipolare il mercato stesso a tutto vantaggio di pochi speculatori. Gli algoritmi utilizzati dai motori di ricerca per l'ordinamento dei risultati (ranking) impattano pesantemente sulla nostra percezione della rilevanza o della popolarità di una pagina web rispetto a un'altra. I contenuti che ciascuno di noi ricerca nei motori di ricerca, nelle piattaforme di commercio elettronico e nei social network possono essere utilizzati da algoritmi di profilazione che cercano di classificarci all'interno di un gruppo di comportamento. Sfruttando i risultati della profilazione, gli operatori commerciali sono in grado di bombardarci con proposte di acquisto relative ai prodotti per cui risultiamo più sensibili. LA RAPPRESENTAZIONE DEI DATI PER LE SCIENZE UMANE

  1. La codifica dell’informazione Trattare l’informazione:
  • (^) rappresentare i dati su un supporto fisico con sequenze di simboli che codificano l’informazione
  • (^) il supporto fisico viene sottoposto ad una trasformazione che modifica i dati
  • (^) i dati ottenuti vengono decodificati generando una nuova informazione Perché nei calcolatori tutte le informazioni sono codificate in binario? I calcolatori moderni:
  • Dispongono di supporti fisici bistabili:
  • (^) memoria centrale (RAM)
  • (^) memoria di massa (disco fisso)
  • Possono rappresentare le informazioni tramite bit
  • Qualsiasi tipo di informazione è codificato con sequenze di 0 e 1:
  • (^) numerica
  • (^) testuale
  • (^) grafica
  • (^) sonora Esiste un'area di ricerca della Information and Communication Technology che ha come obiettivi principali:
  • definire tecniche per codificare secondo il sistema binario nuovi tipi di informazione (rendendoli quindi trattabili dai calcolatori)
  • definire tecniche di codifica efficienti
  • (^) minimizzare il numero di simboli utilizzati
  • (^) diminuire la dimensione dell'informazione (maggiore quantità di dati memorizzati e maggiore velocità di trasmissione)
  • definire tecniche di codifica efficaci
  • rendere l'informazione più semplice da trattare da parte di algoritmi (e programmi)

La rappresentazione dei numeri

LE RAPPRESENTAZIONI NON POSIZIONALI

Il sistema di numerazione romano:

  • è un sistema additivo
  • è composto da un insieme di simboli letterari a cui viene associato un valore numerico
  • è un numero è rappresentato da una sequenza di simboli letterari
  • il valore di un numero è dato dalla somma dei valori corrispondenti ai simboli della sequenza

Il sistema esadecimale (base 16, noto in ambito informatico) utilizza oltre alle cifre 0,... , 9 la lettera A per il 10, B per l'undici, ..., F per il 15 Es. 1B6F = 1 * 16^3 + 11- 16^2 + 6 * 16^1 + 15 * 16^0 = 7023 ^H LA CODIFICA BINARIA È la codifica usata nei calcolatori Viene usata una notazione binaria posizionale, i bit 0 e 1 vengono moltiplicati per le potenze di 2:

  • 10010101 = 1* 2^7 + 0 * 2^6 + 0 * 2^5 + 1 * 2^4 + 0 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2^0 = 149 ^ Con n bit si possono esprimere 2^n numeri naturali (da 0 a 2^n - 1) Con 8 bit, un byte, si possono esprimere 2*8 = 256 numeri naturali Con 4 bit, un nibble, si possono esprimere 2^4 = 16 numeri naturali Sappiamo come si trasforma un numero binario in decimale: Come si fa la trasformazione inversa? Da decimale a binario
  • al primo passo il dividendo è il numero da convertire
  • si divide sempre per due
  • ai passi successivi il dividendo è dato dal quoziente della divisione precedente
  • il processo termina quando il dividendo è nullo
  • al termine, la sequenza dei resti delle divisioni, trascritti in ordine inverso rispetto a come sono stati generati, costituisce il numero binario Es. 149 corrisponde a 10010101 :
  • (^) 149/2 = 74 resto 1 ^
  • (^) 74/2 = 37 resto 0
  • (^) 37/2 = 18 resto 1
  • (^) 18/2 = 9 resto 0
  • (^) 9/2 = 4 resto 1
  • (^) 4/2 = 2 resto 0
  • (^) 2/2 = 1 resto 0
  • (^) 1/2 = 0 resto 1

La quantità di informazione: incertezza e probabilità

Nel 1948 Shannon inventò la teoria dell'informazione, ovvero lo studio sistematico delle basi teoriche dell'informazione e della comunicazione. La quantità di informazione contenuta in un supporto si può misurare. Essa è: la differenza tra i logaritmi delle probabilità attribuite al verificarsi di un evento rispettivamente valutate dopo e prima della lettura del supporto. Se in base 2, l'unità di misura è il bit.

L’informazione quantitativa

CODIFICA ANALOGICA E DIGITALE

Esistono 2 codifiche:

  1. Analogica:
  • (^) richiede l’individuazione di una grandezza analogica
  • (^) variazione della prima deve corrispondere una variazione della seconda
  • (^) contiene meta-informazioni, ciascuna delle quali può essere:
  • ordinale: relazioni d’ordine tra valori
  • metrico: quantificare le differenze tra valori Es. 3 sassolini > 1 sassolino
  1. Digitale:
  • (^) richiede l’introduzione di un alfabeto di simboli
  • (^) richiede regole di codifica per associare una grandezza una sequenza di simboli. Es. Se non ho regole di codifica non riesco a capire chi è maggiore tra 13 e 31
  • (^) più compatto e meno ingombrante Es. Rappresentazione della quantità di caramelle
  • Analogica: numero di sassolini corrispondente (18 sassolini per 18 caramelle)
  • Digitale: notazione numerica decimale posizionale (la sequenza di simboli 18) GRANDEZZE DISCRETE E CONTINUE Esistono 2 tipi di grandezze:
  • (^) Discrete: valori appartenenti all’insieme dei numeri naturali
  • (^) Continue: valori appartenenti all’insieme dei numeri reali QUANTIZZAZIONE Se un valore continuo viene rappresentato con una codifica digitale allora è necessario discretizzarlo. La rappresentazione discreta (a gradini) prevede un processo di quantizzazione, caratteristica intrinseca di tutte le codifiche digitali. La quantizzazione prevede l’individuazione di un numero finito di intervalli e tutti i diversi valori all’interno dello stesso intervallo vengono rappresentati con la stessa sequenza di simboli. Es: Nella rappresentazione della temperatura fino ai decimi di grado le temperature 37,51 e 37,54 vengono rappresentate con la stessa sequenza di simboli: 37,5. CAMPIONAMENTO Per rappresentare l’andamento nel tempo di una grandezza continua, usando una codifica digitale, è necessario effettuare un campionamento. Si divide l’intervallo di osservazione del fenomeno in sotto-intervalli. Il valore viene rilevato in un istante predefinito (ad es. all’inizio del sotto-intervallo). La frequenza di campionamento è definita come numero di campioni per unità di tempo. Es. Una frequenza di 7Hz indica che ogni secondo vengono rilevati 7 campioni. La quantizzazione porta ad una approssimazione dei valori 37,51 e 37,54 → 37, Anche il campionamento porta ad una approssimazione LA TRASMISSIONE DELL'INFORMAZIONE DIGITALE La codifica digitale ha avuto grande successo grazie all’avvento dei calcolatori. I messaggi digitali sono più facili da trasmettere rispetto a quelli analogici.
  • (^) Se la codifica è binaria, avendo solo 2 valori ammissibili, è facile capire se ci sono stati errori di trasmissione (scostamento dai valori 0 e 1 causati dal rumore).
  • (^) Per individuare gli errori, trasmettitore e ricevitore possono concordare meccanismi di ridondanza. SCHEMI DI RIPETIZIONE Ogni bit viene trasmesso più volte:
  • (^) il messaggio viene scomposto in blocchi di bit (byte o nibble)
  • (^) ogni blocco viene ripetuto più volte. Il messaggio binario 011011101100 può essere scomposto nei blocchi 0110/ 0111/ 1100 Il messaggio verrà inviato come segue: 0110 0110 0111 0111 1100 1100 Se viene ricevuta la sequenza 0110 0111 0111 0111 1000 1100 vengono individuati 2 errori MA non possono essere corretti, quindi il messaggio deve essere inviato di nuovo. CONTROLLO DI PARITÀ Viene contato il numero di bit 1 presenti nei blocchi del messaggio.
  • (^) Se il blocco contiene un numero dispari di 1, viene aggiunto un bit di parità a 1
  • (^) Se il blocco contiene un numero pari di 1, viene aggiunto un bit di parità a 0 Per trasmettere il messaggio 0110111011001010, dopo ogni byte viene aggiunto il bit di parità: 01101110 seguito da un bit di parità a 1 (perché il numero di bit a 1 nel byte è dispari) 11001010 seguito da un bit di parità a 0 (perché il numero di bit a 1 nel byte è pari)
  • (^) PDF (Portable Document Format) - sviluppato da Adobe System Incorporated è diventato standard ISO molto comune per la diffusione di documenti su Internet. LE IMMAGINI I metodi di campionamento sono utilizzati anche per la rappresentazione di immagini:
  • I dispositivi di acquisizione delle immagini effettuano una codifica campionando l’immagine in una bitmap (materia binaria)
  • La bitmap è una matrice di pixel (picture element)
  • Ogni pixel assume un colore specificato nella codifica La qualità dell’immagine dipende dalla dimensione dei pixel:
  • (^) grossi → immagine sgranata
  • (^) piccoli → immagine fedele all’originale Anche i metodi di quantizzazione sono utilizzati anche per la rappresentazione di immagini:
  • La quantizzazione viene usata per rappresentare i colori
  • La profondità di colore (color depth) è il numero di bit usato per rappresentare il colore dei pixel
  • In un’immagine monocromatica in bianco e nero il colore dei pixel viene codificato con un bit (0 nero, 1 bianco)
  • In un’immagine in tonalità di grigio si possono usare 8 bit per rappresentare le 256 tonalità di grigio Per rappresentare i colori vengono combinati alcuni colori primari su vari livelli di intensità. I) Modelli sottrattivi (a partire dal colore bianco): CMYK (Cyan, Magenta, Yellow and Key). Il nero è stato aggiunto perché combinando ciano, magenta e giallo si ottiene il marrone. II) Modelli additivi, a partire dal colore nero (RGB: Red, Green, Blue detto truecolor). Viene usato nel video del calcolatore. Non è propriamente additivo perché ogni pixel è diviso in 3 parti, e la combinazione di rosso, verde e blu dà il colore desiderato. È chiaro che codifiche diverse portano ad ottenere immagini di dimensione diverse. Per un’immagine di 1024x 768 pixel:
  • Monocromatica: 1024 × 768 = 786432 bit = 98304 byte ≃ 100 KB
  • Tonalità di grigio: 786432 byte ≃ 800 KB
  • RGB: 2359296 byte ≃ 2.3 MB FORMATO DEI FILE IMMAGINI Formato raster: parlo di BIT
  • JPEG (Joint Photographic Experts Group): truecolor (blue), compressione lossy.
  • GIF (Graphics Interchange Format): massimo 256 colori, compressione lossless.
  • BMP (Windows Bitmap): formato non compresso di Windows
  • TIFF (Tagged Image File Format): famiglia di formati che supporta la compressione lossy e lossless.
  • PNG (Portable Network Graphics): truecolor, compressione lossless. Formato vettoriale: Posso descrivere in termini matematici il contenuto dell'immagine
  • rappresentazione tramite primitive geometriche codificate in equazioni matematiche
  • CGM (Computer Graphics Metafile)
  • SVG (Scalable Vector Graphics)
  • WMF (Windows Metafile) Per riprodurre le immagini vettoriali è necessario un processo di rasterizzazione che permette di sfruttare meglio la risoluzione della periferica usata, ottenendo migliore qualità. Anche per la visualizzazione dei caratteri:
  1. font bitmap o raster: caratteri come matrici di pixel
  2. font outline o vettoriali: rappresentazione vettoriale dei caratteri
  • PostScript Type 1
  • PostScript Type 3
  • TrueType
  • (^) OpenType I SUONI La codifica binaria di suoni viene tipicamente fatta seguendo le caratteristiche tipiche dei CD audio:
  • stereofonia: due segnali che riproducono la distribuzione spaziale delle sorgenti sonore
  • frequenza di campionamento: 44100 Hz
  • quantizzazione: 65536 livelli (codifica a 16 bit) I formati audio:
  • WAV (Waveform Audio Format) e AIFF (Audio Interchange File Format) formati non compressi
  • MP3 (MPEG-1 Audio Layer 3) formato con compressione lossy
  • AAC (Advance Audio Coding) formato con compressione lossy con qualità migliore di MP3 (è il formato standard di Apple e delle console Sony e Nintendo). I FILMATI I filmati digitali sono composti da una serie di fotogrammi (immagini digitali) mostrati a una frequenza costante (FPS: frame per second) I formati video:
  • (^) QuickTime: sviluppato da Apple
  • (^) MPEG-2: usato per DVD e Bluray, usa compressione lossy sia per il video che per l’audio
  • (^) FLV (flash video) sviluppato da Macromedia e supportato da Adobe per la fruizione di filmati in Internet (YouTube, Google Video, ...). Usa compressione lossy
  • (^) AVI (Audio Video Interleave) è un contenitore di file che possono essere codificati in vari formati tramite codec

La compressione

La compressione è un processo che consiste nella riformulazione del contenuto informativo con una codifica differente che permette di ridurne le dimensioni. Esistono 2 tipi di compressioni:

  • Compressione lossless (senza perdita): WinZip per Windows e GunZip per Linux. Il processo di compressione è reversibile. Il rapporto di compressione e la riduzione dell’occupazione di spazio dipendono dal tipo di formato dei dati.
  • Compressione lossy (con perdita): parte delle informazioni viene persa irreversibilmente
  • (^) immagini: viene cambiato il colore di alcuni pixel - difficilmente rilevabile dall’occhio umano
  • (^) audio: modelli psico-acustici: vengono tolte frequenze molto alte (basse) o suoni a basso volume
  • (^) video: anziché memorizzare tutti i frame, vengono memorizzate solo le differenze tra frame consecutivi
  1. La sicurezza informatica

La sicurezza dei dati

Quando si parla di cybersecurity si fa riferimento ai seguenti aspetti:

  1. riservatezza (privacy): protezione da letture non autorizzate
  2. integrità: protezione da modifiche non autorizzate, per la trasmissione di dati:
  • autenticità: garanzia dell’identità della sorgente, del destinatario e del contenuto del messaggio
  • non ripudiabilità: garanzia che la sorgente non possa negare di avere inviato un messaggio e che il destinatario non l’abbia ricevuto.
  1. disponibilità: protezione da interventi non autorizzati che compromettano la possibilità di accesso ai dati da parte degli utenti autorizzati. Le misure preventive che vengono attuate sono:
  • (^) formazione del personale per il riconoscimento di minacce e
  • (^) comportamenti fraudolenti
  • (^) sistemi di protezione per i locali che ospitano componenti HW dei sistemi informativi
  • (^) ridondanza delle componenti HW