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


Introduzione all'informatica: Architettura del calcolatore, reti e web, Appunti di Elementi di Informatica

M riassunti libro informatica

Tipologia: Appunti

2016/2017

Caricato il 17/04/2017

Alipetruzz
Alipetruzz 🇮🇹

1 documento

1 / 47

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
INFORMATICA GENERALE
Capitolo 1
Informatica: il trattamento automatico dell’informazione
Negli anni '60 Philippe Dreyfus coniò il termine “informatica” (contrazione dei due termini francesi
information e automatique).
Con questo termine s'intende una disciplina in grado di trattare o elaborare in modo automatico
l'informazione.
Il calcolatore elettronico dispone di elaboratori automatici cioè macchine in grado di compiere
autonomamente attività di elaborazione dell'informazione.
Esse consentono:
-Riduzione di tempi
-Adabilità
-Liberazione da incombenze noiose
-Facile accesso alle elaborazioni
Il termine calcolatore corrisponde al termine inglese computer. L'informatica viene anche detta
tecnoglogia dell'informazione (Information Technology IT).
La teconologia dell'informazione e le telecomunicazioni hanno dato origine ad una nuova disciplina con
il nome di Information and Communication Technology.
(CD, DVD e lettero MP3 rientrano in questo ambito).
Il dato,l’informazione e la conoscenza
DATO F 0 E 0 insieme di simboli di un alfabeto.
EX. Il numero 39,5 (dato) è composto dai simboli “3” “9” “,” “5”. Il foglio è il supporto sico .
INFORMAZIONE F0 E 0 si ottiene relazionando dato con priorità a cui si riferisce.
EX. La temperatura corporea di un individuo è misurata in 39,5°C
CONOSCENZA F 0 E 0 è ad un livello maggiore di astrazione, permette di trattare l’informazione.
EX. La temperatura di un individuo è 39,5°C, esistono regole che permettono di trattare questo
stato per superare questa condizione pericolosa.
Un dato è un insieme di simboli tracciati su un supporto sico che rappresenta una proprietà di un
oggetto nel mondo reale senza però contenere alcun riferimento alla proprietà a cui esso si riferisce.
Sottoponendo i dati ad un'elaborazione o trattamento (per esempio una divisione) siamo in grado di
generale nuovi dati.
I linguaggi naturale
I linguaggi naturali con i quali gli uomini comunicano, sono caratterizzati da ambiguità (per esempio la
parola “cavallo” F0 E 0 ad esempio può riferirsi al cavallo animale oppure al cavallo degli scacchi). Per
disambiguare una parola, bisogna fare riferimento al suo contesto.
Il linguaggio formale
I linguaggi formali vengono sviluppati e sono impiegati in tutti gli ambiti (matematica, logica...).
Introdotto per evitare le ambiguità nell’interpretazione.
Il linguaggio formale prevede:
-L'individuazione di un alfabeto, cioè un insieme nito di simboli
-La denizione di una grammatica formale
Le semantiche formali consentono di attribuire un signicato alle frasi di un linguaggio formale.
La codica e la rappresentazione dell’informazione
L’informazione è rappresentata dai dati che ,a loro volta, sono espressi sotto forma di simboli.
La stessa informazione può essere codicata con simboli e modalità diverse. Ad esempio i numeri
possono essere rappresentati attraverso cifre decimali arabe, lettere romane, o rappresentazione
testuale.
Se consideriamo un alfabeto estremamente ridotto, che contiene soltanto i simboli 0 e 1 un bit
(contrazione di binary digit) è un simbolo scelto da tale alfabeto.
L'adozione dell'alfabeto binario per la codica delle informazioni nei calcolatori è determinata dalla
semplicità con cui i suoi simboli possono essere rappresentati da dispositivi bistabili, cioè dispositivi
sici in grado di assumere due congurazioni alternative e di permanere in questa congurazione.
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

Anteprima parziale del testo

Scarica Introduzione all'informatica: Architettura del calcolatore, reti e web e più Appunti in PDF di Elementi di Informatica solo su Docsity!

INFORMATICA GENERALE

• Capitolo 1

Informatica: il trattamento automatico dell’informazione Negli anni '60 Philippe Dreyfus coniò il termine “ informatica” (contrazione dei due termini francesi information e automatique). Con questo termine s'intende una disciplina in grado di trattare o elaborare in modo automatico l'informazione. Il calcolatore elettronico dispone di elaboratori automatici cioè macchine in grado di compiere autonomamente attività di elaborazione dell'informazione. Esse consentono: -Riduzione di tempi -Affidabilità -Liberazione da incombenze noiose -Facile accesso alle elaborazioni Il termine calcolatore corrisponde al termine inglese computer. L'informatica viene anche detta tecnoglogia dell'informazione (Information Technology IT). La teconologia dell'informazione e le telecomunicazioni hanno dato origine ad una nuova disciplina con il nome di Information and Communication Technology. (CD, DVD e lettero MP3 rientrano in questo ambito).

Il dato,l’informazione e la conoscenza DATO F 0 E 0 insieme di simboli di un alfabeto.

  • EX. Il numero 39,5 (dato) è composto dai simboli “3” “9” “,” “5”. Il foglio è il supporto fisico.

INFORMAZIONE F 0 E 0 si ottiene relazionando dato con priorità a cui si riferisce.

  • EX. La temperatura corporea di un individuo è misurata in 39,5°C

CONOSCENZA F 0 E 0 è ad un livello maggiore di astrazione, permette di trattare l’informazione.

  • EX. La temperatura di un individuo è 39,5°C, esistono regole che permettono di trattare questo stato per superare questa condizione pericolosa.

Un dato è un insieme di simboli tracciati su un supporto fisico che rappresenta una proprietà di un oggetto nel mondo reale senza però contenere alcun riferimento alla proprietà a cui esso si riferisce.

Sottoponendo i dati ad un'elaborazione o trattamento (per esempio una divisione) siamo in grado di generale nuovi dati.

I linguaggi naturale I linguaggi naturali con i quali gli uomini comunicano, sono caratterizzati da ambiguità (per esempio la parola “cavallo” F 0 E 0ad esempio può riferirsi al cavallo animale oppure al cavallo degli scacchi). Per disambiguare una parola, bisogna fare riferimento al suo contesto.

Il linguaggio formale I linguaggi formali vengono sviluppati e sono impiegati in tutti gli ambiti (matematica, logica...). Introdotto per evitare le ambiguità nell’interpretazione. Il linguaggio formale prevede: -L'individuazione di un alfabeto, cioè un insieme finito di simboli -La definizione di una grammatica formale Le semantiche formali consentono di attribuire un significato alle frasi di un linguaggio formale.

La codifica e la rappresentazione dell’informazione L’informazione è rappresentata dai dati che ,a loro volta, sono espressi sotto forma di simboli. La stessa informazione può essere codificata con simboli e modalità diverse. Ad esempio i numeri possono essere rappresentati attraverso cifre decimali arabe, lettere romane, o rappresentazione testuale.

Se consideriamo un alfabeto estremamente ridotto, che contiene soltanto i simboli 0 e 1 un bit (contrazione di binary digit) è un simbolo scelto da tale alfabeto. L'adozione dell'alfabeto binario per la codifica delle informazioni nei calcolatori è determinata dalla semplicità con cui i suoi simboli possono essere rappresentati da dispositivi bistabili, cioè dispositivi fisici in grado di assumere due configurazioni alternative e di permanere in questa configurazione.

Esempi: -Presenza di fori nella scheda -Diversi stati di polarizzazione

-Presenza/assenza di carica elettrica di una sostanza - -Passaggio/non passaggio di corrente da un cavo conduttore -Passaggio/non passaggio di luce da un cavo ottico Un bit può assumere i valori 0 e 1

  • 2 bit : 4 (2²) sequenze possibili: 00, 01, 10, 11.
  • 3 bit : 8 (2³) sequenze possibili: 000, 001, 011, 100, 010, 111, 101, 110.

Si definisce byte una sequenza di 8 bit. La memoria è necessariamente costituita da dispositivi bistabili, quindi può essere misurata in bit, byte o in multipli di essi. Nel SI i multipli sono declinati sulle potenze di 10 (10³ - 10⁴). In informatica si utilizzano le potenze del 2 (2²⁰ - 2³⁰).

  • 2¹⁰ = 1024 F 0 E 01v0³ = 1000

n bit = 2ⁿ sequenze possibili

Prefissi SI Prefissi binari Nome Simbol o

Multip li

Nome Simbol o

Multip li kilobit kbit 103 kibibit Kibit 210 megabi t

Mbit 106 mebibi t

Mibit 220

gigabit Gbit 109 gibibit Gibit 230 terabit Tbit 1012 tebibit Tibit 240 petabit Pbit 1015 pebibit Pibit 250 exabit Ebit 1018 exbibit Eibit 260 zettabit Zbit 1021 zebibit Zibit 270 yottabit Ybit 1024 yobibit Yibit 280

Gli strumenti per l’elaborazione dell’informazione Attraverso l’elaborazione dell’informazione posso:

  • Creare un informazione
  • Modificare o eliminare un’informazione
  • Confrontare due o più informazioni
  • Conservare le informazioni
  • Trasmettere l’informazione

L’informazione viene elaborata tramite ALGORITMI F 0 E 0sequenze di istruzioni che indicono all’esecutore le operazioni da eseguire sulle informazioni In genere l'informazione in ingresso all'elaborazione viene denominata input , quella in uscita output.

Nel corso della storia l'uomo ha concepito diversi modi per elaborare l'informazione, l'algebra è uno strumento formale che ci permette di elaborare l'informazione. I linguaggi di programmazione sono linguaggi formali, sono caratterizzati da una sintassi semplice, senza ambiguità. Ex. Basic ,Cobol,Pascal,Java

-Individuazione, nella tabella delle azioni, della riga in cui i primi due elementi sono lo stato corrente e il simbolo contenuto della cella corrente -Scrittura di X nella cella corrente -Spostamento della testina nella cella adiacente verso Y -Impostazione di S nel registro di stato

Turing definì macchina di Turing universale (UTM) una macchina di Turing in grado di simulare il funzionamento di qualsiasi altra macchina di Turing. Per simulare il funzionamento di una MdT M dovrà essere fornito un nastro suddiviso in due parti: -Nella parte sinistra sarà opportunamente codificata la tabella delle azioni di M -Nella parte destra sarà contenuta la stringa di simboli s Secondo la tesi di Church-Turing se una una funzione è considerata calcolabile, allora esiste sempre una macchina di Turing in grado di calcolarla. L'importanza della tesi di Church-Turing è determinata da due conseguenze dirette: -Le proprietà degli algoritmi possono essere più facilmente studiate sulle MdT

-Se si costruisce un modello di calcolo lo si potrà ritenere potente almeno quanto tutti i modelli di calcolo esistenti.

L’architettura di Von Neumann Von Neumann realizzò un'architettura che porta il suo nome. Le caratteristiche essenziali possono essere così sintetizzate:

  • Obiettivo : realizzazione di un calcolatore universale
  • Presenza di un dispositivo di memorizzazione in cui è possibile rappresentare dati e istruzioni - Utilizzo di un'aritmetica binaria
  • Separazione netta tra dispositivo di memorizzazione e dispositivo di elaborazione

Il calcolatore risulta composto quindi da:

  • Il processore CPU che legge le istruzioni ed esegue le trasformazioni sui dati
  • La memoria : un insieme di celle ciascuna delle quali può contenere un dato o un'istruzione ed è identificata da un indirizzo numerico
  • L'interfaccia (che può essere input e output I/O)
  • Il bus : canale di comunicazione

Quando si progetta una CPU è necessario identificare tutte le operazioni elementare che essa è in grado di compiere e assegnare a ciascuna di esse un'istruzione la cui esecuzione da parte della CPU consisterà nell'espletamento della corrispondente operazione elementare. L'insieme delle istruzioni in un binario specifiche per una determinata CPU è detto linguaggio macchina. Un difetto dell'architettura di Von Neumann è il “collo di bottiglia”: in sintesi lentezza nella lettura dei dati.

L’hardware e il software Il termine software (unione di: soft = morbido e ware = manufatto) è costituito dai programmi che descrivono all’hardware gli algoritmi da seguire nelle sue elaborazioni. Si riferisce alle istruzioni codificate all’interno della memoria per essere eseguite dall’hardware L'hardware (componente dura) F 0 E 0è costituito da tutti i componenti che risultano tangibili (meccanici,

elettrici, elettronici).

La struttura del calcolatore

Un esempio di calcolatore moderno è il PC. L'unità centrale di un PC è costituita da una scatola metallica della chassis o case, dotata di ventole, all'interno della quali è presente un alimentatore. All'interno della chassis è ancorata una scheda madre cioè una piastra di materiale plastico che funge da un lato da struttura portante per il calcolatore e dall'altro da interfaccia di comunicazione tra componenti. Su un apposito alloggiamento della scheda madre (zoccolo) è installato un microprocessore, mentre su altri slot specifici sono installate una o più schede di memoria centrale (RAM). Gli altri slot consentono l'installazione sulla scheda madre delle schede di espansione, interfacce specializzate per il collegamento e trasferimento dei dati. Dispone anche di un correttore USB.

Classificazione dei calcolatori

Un calcolatore può differenziarsi da un altro per:

  • Velocità
  • Capacità di archiviazione
  • Affidabilità
  • Sicurezza
  • Dotazione di periferiche
  • Capacità di connettersi ad altri calcolatori
  • Dimensioni
  • (^) Modularità
  • Scalabilità (capacità di sostituire le sue componenti con altre che abbiano caratteristiche migliorative)
  • Semplicità
  • Dotazione di SW
  • Prezzo
  • IL PERSONAL COMPUTER (PC) è il calcolatore più comune, è utilizzato in casa o negli uffici. La maggior parte dei PC ha dei programmi preconfezionati. costituito da un’unità centrale, video, tastiera e mouse. Apparso negli anni ’70. In base alla forma dell’unità centrale abbiamo: - Desktop, possono essere collocati in modo orizzontale sulla scrivania, sotto il video. - Tower, possono essere collocati in modo verticale sulla scrivania o sul pavimento. - Small for factor, desktop di dimensioni contenute.
  • LAPTOP (computer portatile), composto da unità centrale, video, tastiera, dispositivo di puntamento, speaker audio, batteria, altri componenti…

in base alle dimensioni e alle caratteristiche abbiamo:

  • Notebook
  • Subnotebook
  • Netbook, usato per applicazioni legate a internet
  • (^) Tablet PC, netbook dotato di un touchscreen con il quale si interagisce con uno stylus o con le dita della mano.
  • PDA, HANDHELD PC, PALMTOP PC, POCKET PC hanno dimensioni ridottissime, possono essere tenuti in una mano e sono tascabili. Uno smartphone è un PDA che integra le funzioni di telefono cellulare
  • CONSOLE PER VIDEOGIOCHI, MEDIA CENTER (Pc legato all’intrattenimento domestico comandabile con un telecomando)
  • WORKSTATION, simile ad un pc ma con caratteristiche superiori. Adatto ad elaborazioni matematiche, statistiche, d’ingegneria, di architettura e grafica.
  • COMPUTER MULTI- UTENTE
  • Pc, in questo caso il computer multi- utente ha la funzione di server ed il pc di client
  • Videoterminale, dispositivo di I/O, costituito da un video, una tastiera ed eventualmente un mouse.
  • (^) Minicomputer, mainframe, supercomputer
  • CALCOLATORI EMBEDDED, collocati all’interno di altri sistemi come automobili, aeromobili, semafori stradali, caldaie, lettori MP3.
  • FORMATTAZIONE F 0 E 0 consiste nella preparazione del supporto al suo primo utilizzo. Comporta la cancellazione totale di eventuali dati preesistenti.
  • RIDONDANZA F 0 E 0 duplicazione dei dati su più supporti allo scopo di garantirne la sopravvivenza e la continuità nell’accesso anche in caso di guasti a singoli dischi.
  • DEFRAMMENTAZIONE F 0 E 0 ottimizza le prestazioni del disco riorganizzando in modo più efficiente l’utilizzo dei blocchi nel file system

Le memorie di massa si possono classificare in:

  • DISPOSITIVI MAGNETICI: (memorie di massa il cui supporto di memorizzazione è costituito da una superficie ricoperta da uno strato di materiale ferromagnetico - Floppy disk , è costituito da materiale plastico flessibile - Disco rigido, il supporto di memorizzazione è costituito da uno o più dischi, detti piatti (platter). Tipo di memoria piu comune - Nastri magnetici, supportano solo l’accesso sequenziale
  • DISPOSITIVI OTTICI, possono essere letti anche con un laser. Un disco ottico di solito è costituito da un livello plastico (substrato), alluminio e vernice. Sulla superficie libera si trovano delle piccole fosse (pit), impiegate per codificare i dati Alcuni supporti possono essere scritti con il masterizzatore. I supporti riscrivibili sono costituiti da uno strato di vernice fotosensibile. - CD (Compact Disc), ha una capacità tipica di 700 MB - DVD (Digital Versatile Disc), introdotto verso la fine degli anni ’90. Consente una capacità di 4,7 GB - BD (Blu-ray Disc), raggiunge una capacità di 25 GB o 50 GB su supporti dual layer
  • MEMORIE FLASH – EEPROM, supporto il cui contenuto informativo può essere scritto o cancellato e riprogrammato mediante processi elettrici. - Memory card - (^) Drive USB - Drive a stato solido

Gerarchie di memoria Per il collo di bottiglia di Von Neumann, una CPU moderna, soprattutto quando le sono richieste elaborazioni semplici su grosse quantità di dati, si trova spesso a perdere tempo prezioso nell’attesa che un dato sia letto o scritto in memoria. Per ridurre gli effetti negativi da ciò si basa sul PRINCIPIO DI LOCALITA’ :

  • Località temporale, lettura in memoria nella stessa cella in istanti di tempo successivi
  • Località spaziale, lettura in memoria nelle celle adiacenti a quella letta attualmente

I livelli più vicini alla CPU sono caratterizzati per maggior velocità e minor capacità (vedi slide – schema gerarchie di memoria)

Una cache è un altro dispositivo di memorizzazione caratterizzato da una capacità limitata ma un maggiore velocità Un calcolatore moderno disponde di una articolata gerarchia di memorie in cui i livelli piu vicini alle CPU si caratterizzano per maggior velocità e minore capacità secondo il seguente schema:

  • Registri della CPU: contenuti nella CPU garantiscono la massima velocità
  • Cache di livello 1: capacità di qualche kilobyte
  • Cache di livello 2: 512 kylobite
  • Cache di livello 3: 2 megabyte
  • Memoria centrale
  • Dischi interni
  • Dischi esterni

Le periferiche Sono dispositivi connessi all’unità centrale del calcolatore, che permettono l’immissione o l’emissione di dati. Si connettono attraverso delle interfacce che vengono inserite nelle schede madri dei pc o usando le pc card dei laptop. La comunicazione tra interfaccia e dispositivo può essere di due tipi:

  • seriale F 0 E 0prevede la presenza di un unico canale consentendo la trasmissione di un singolo bit alla volta
  • parallela: prevede la presenza di piu canali di trasmissione paralleli consentendo quindi la trasmissione simultanea di gruppi di bit

I connettori disponibili per la comunicazione tra pc e periferica sono:

  • Connettori parallel o serial ATA (lettore cd, masterizzatore) F 0 E 0interno all’unità centrale,per il collegamento di dischi rigidi,drive e masterizzatori al relativo controller
  • Connettore serial ATA F 0 E 0F 0 E 0interno all’unità centrale,per il collegamento di dischi rigidi , drive e masterizzatori al relativo controller
  • Connettori PS/2 F 0 E 0in corrispondenza di un interfaccia seriale specifica per la connessione della tastiera o del maouse
  • (^) Connettore VGA o DVI F 0 E 0per il collegamento dell’interfaccia grafica con il video
  • Connettore minijack F 0 E 0per il collegamento della scheda audio al microfono,speaker, altri dispositivi audio
  • Connettore seriale (RS- 232) F 0 E 0per il collegamento di un interfaccia seriale con maouse, modem, terminali..
  • Porta parallela F 0 E 0per il collegamento di un interfaccia parallela a una stampante
  • Connettore RJ11 (modem, fax) F 0 E 0per il collegamento del modem /fax interno alla linea telefonica
  • Connettore RJ45 (interfaccia di rete) F 0 E 0per il collegamento dell’interfaccia di rete a una rete locale
  • Connettore USB F 0 E 0per il collegamento seriale di un unterfaccio USB con il mouse,testiere,stampanti ecc
  • Connettore FireWire (IEEE 1394) F 0 E 0per il collegamento seriale a un interfaccia Fire-Wire
  • Interfaccia IrDA infrarossi (wireless) e onde radio (Bluetooth)

Principali periferiche:

  • La tastiera, dispositivo di input più comune. Disposizione dei tasti differente a seconda della nazionalità Alcuni tasti non producono alcun input ma, premuti in combinazione con altri, ne modificano l’effetto F 0 E 0 tasti modificatori - < alt Gr>.

Alcuni tasti consentono l’invio rapido di comandi ai software applicativi F 0 E 0tasti funzione

- .

VoIP, la voce digitalizzata viene trasferita mediante la connessione internet consentendo, soprattutto sulle lunghe distanze, consistenti risparmi economici (skype).

Media center, personal computer dotato di interfaccia grafica, interfaccia sonora e altre periferiche progettate per consentirgli di costituire il centro di controllo del sistema di intrattenimento domestico per la fruizione di musica, film, fotografie (home theater).

Lettori MP3.

  • Combinazioni di periferiche, google glasses (computer indossabili). LIM –lavagna interattiva multimediale ( superficie interattiva, rappresenta l’evoluzione della lavagna tradizionale).

CAPITOLO II – IL SOFTWARE

SOFTWARE F 0 E 0 unità di memorizzazione in cui trovano posto , oltre ai dati da elaborare, anche le istruzioni eseguite dal calcolatore per condurre l’elaborazione stessa. Grazie a esso il calcolatore è una macchina estremamente flessibile.

ALGORITMO F 0 E 0 è una sequenza di istruzioni la cui esecuzione consente di realizzare un trattamento dell’informazione o di risolvere uno specifico problema. Gli algorismi sono presenti nella nostra vita di tutti i giorni (nei testi scolastici di matematica – nelle istruzioni degli elettrodomestici – negli ambienti di lavoro – nei ricettari di cucina) Ogni algoritmo deve avere: Un esecutore. Qualcuno o qualcosa in grado di eseguirlo F 0 E 0calcolatore. L’esecutore partendo dai dati in input esegue delle istruzioni ottenendo i dati in output

Deve essere formulato da un linguaggio comprensibile all’esecutore.

Deve prevedere soltanto istruzioni elementari (richiedono conduzione di operazioni elementari)

Deve essere formulato in un linguaggio non ambiguo e in un numero finito di istruzioni.

L’esecuzione deve terminare fornendo i dati di output in un tempo finito.

Deve essere deterministico.

Un algoritmo parametrico è un algoritmo che, facendo riferimento ai dati di input, è in grado di risolvere una classe di problemi.

I programmi. I linguaggi di programmazione , i traduttori LINGUAGGIO DI PROGRAMMAZIONE F 0 E 0 è un linguaggio formale impiegato per descrivere algoritmi che devono essere eseguiti da un calcolatore. PROGRAMMA F 0 E 0 è un algoritmo espresso in un linguaggio di programmazione. LINGUAGGIO MACCHINA F 0 E 0 caratteristico di una CPU e costituito dalla codifica in binario di istruzioni che corrispondono alle operazioni elementari eseguibili dalla CPU stessa, è un linguaggio di programmazione. LINGUAGGIO ASSEMBLATORE F 0 E 0 un linguaggio di programmazione che a ogni istruzione binaria del linguaggio macchina associa una codifica mnemonica in lingua inglese. LINGUAGGI DI PROGRAMMAZIONE DI ALTO LIVELLO F 0 E 0( BASIC, COBOL, JAVA, PASCAL) in grado di rendere l’attività di programmazione più semplice e produttiva. Per poter essere eseguito da un calcolatore deve essere tradotto nel linguaggio macchina corrispondente., questo può essere fatto dal calcolatore stesso sotto la guida di un programma (traduttore). Abbiamo due tipi di traduttori: COMPILATORE , riceve in input l’intero programma e produce in output la sua traduzione in linguaggio macchina.

INTERPRETE , riceve in input il programma sorgente e ne traduce le singole istruzioni facendole eseguire direttamente.

-Gestore dei dispositivi I/O: gestisce le periferiche e le operazioni input/output su di esse -File

system: gestisce l'archiviazione e il reperimento dei dati sulle memorie di massa

-Gestore della rete: gestisce la comunicazione con altri calcolatori connessi in rete -Interprete dei comandi: gestisce l'interazione con l'utente La combinazione di un calcolatore con un sistema operativo costituisce a sua volta una macchina virtuale, con un'interfaccia per i programmi applicativi e una per l'utente umano, spesso denominata piattaforma. Wintel è la piattaforma costituita dalla produzione della ditta Intel con il sistema operativo Microsoft. I sistemi operativi più comuni sono: -Unix, nato negli anni '60 dai laboratori Bell -Linux: free e open source -Windows -Windows CE: impiegato su calcolatori embedded, PDA e smartphone -Mac OS, della ditta Apple -iPhone -Palm OS della ditta Palm Computing

-I primi calcolatori elettrici erano monoprogrammati, eseguivano cioè un solo programma per volta. Il programmatore accedeva alla CPU mediante un programma in linguaggio macchina condificato in genere su schede perforate. Si introdusse in seguito il monitor. Mediante un apposito linguaggio di comando il Job Control Language (JCL) si poteva predisporre di un job un programma eseguito dal monitor per organizzare l'esecuzione. Poiché le schede perforate erano organizzate in lotti, i calcolatori impiegati secondo tale modalità operativa vennero definiti sistemi batch. Dagli anni '60 i calcolatori divennero multiprogrammati e i videoterminali determinarono la progressiva scomparsa delle schede perforate introducendo la possibilità per il calcolatore di interagire con l'utente nel corso dell'esecuzione di un progremma. Nacquero molte applicazioni rese possibili da questa interattività e presto divenne popolare la classificazione in: -Applicazioni I/O bound: favoriscono lo spreco della risorsa CPU costretta ad attendere inoperosamente l'input da tastiera -Applicazioni CPU bound: richiedono massiccia elaborazione da parte della CPU

Si collegarono allora più terminali allo stesso calcolatore: timesharing e multitasking offrivano un parallelismo virtuale. Il timesharing funziona grazie al processo: entità dinamica in contrapposizione al programma che è invece statico. Quando è richiesta l'esecuzione di un programma, il sistema operativo crea un nuovo processo, in genere identificato con un numero univoco, e gli colloca in RAM lo spazio per le istruzioni del programma (codice) e un ulteriore spazio per dati. In ogni istante il processo si può trovare: -Pronto: è gestito da una componente kernel detta scheduler -In esecuzione -In attesa Alla sua creazione il processo viene posto in uno stato di pronto e inserito nella corrente lista di attesa. Quando lo scheduler lo ritiene opportuno, il processo viene messo in esecuzione. -Se il processo in esecuzione richiede volontariamente un'operazione asincrona, viene posto in attesa -Se il processo rimane in esecuzione per un determinato quanto di tempo fissato dal kernel, viene obbligato a diventare pronto -Se il processo completa l'esecuzione del suo codice, viene eliminato Ogniqualvolta lo stato in esecuzione viene tolto ad un processo P1 per assegnarlo al processo P2, il context opera il context sapping: il salvataggio del processo P1 e il ripristino dello stato P2 salvato in precedenza.

-Interazione tra uomini mediata da calcolatori: tramite un client in esecuzione sul calcolatore locale, l'utente interagisce, eventualmente per il tramite di uno o più server, con altro utente che a sua volta impiega un client in esecuzione sul suo calcolatore

-L'interprete dei comandi (interfaccia uomo/macchina) è la componente del sistema operativo che gestisce direttamente l'interazione con l'utente. All'interno di una sessione di lavoro il sistema operativo deve identificare con certezza l'utente (autenticazione) al fine di: -Garantirgli tutte e sole le autorizzazioni a lui riservate per l'accesso alle risorse -Personalizzare l'ambiente applicativo -Fatturare all'utente il consumo delle risorse L'autenticazione informatica può essere condotta secondo tre modalità: -Dimostrazione di conoscenza: è la modalità più frequente e consiste nel chiedere all'utente di scrivere delle credenziale che devono corrispondere a quelle note al sistema tipicamente un nome utente e una parola chiave -Dimostrazione di possesso: l'utente deve dimostrare di possedere un oggetto fisico tipo una smart card -Dimostrazione di caratteristiche fisiche: l'utente deve dimostrare di possedere determinate caratteristiche fisiche Tra gli utenti di un calcolatore si possono identificare alcune figure: -Amministratore di un sistema -Operatore di sistema - Programmatore - Utente applicativo

Quando il sistema operativo visualizza sul video il segnale (prompt), l'utente digita una stringa di testo interpretata come un comando che viene eseguito. Le prime operazioni interattive offrivano all'utente un'interfaccia interattiva modale, l'evoluzione portò allo sviluppo di applicazioni con interfaccia interattiva non-modale. Dagli anni '80 si sono sviluppate interfacce più semplici con l'approccio WYSIWYG che propone la visualizzazione immediata degli effetti dell'esecuzione dei comandi. La tendenza attuale è fortemente orientata a interfacce multimediali, che si avvalgono cioè: -In input: testo grafia e suoni -In output: testi, immagini, filmati, suoni

-Malware indica un virus del computer. Un computer virus è un insieme di istruzioni nascosto all'interno di un programma di uso comune. Se il programma è mandato in esecuzione viene presumibilmente eseguito anche il blocco codice virulento che costringe il calcolatore a cercare altri programmi nella memoria di massa e infettarli iniettandovi lo stesso blocco codice. Un worm è un intero programma che, mediante la rete, invia copie di se stesso ad altri calcolatori e genera problemi sulla rete. Un trojan horse è un programma che si presenta come un'utile applicazione, gratuita, che gli utenti sono incentivati ad installare. Durante l'esecuzione apre una breccia all'interno delle difese del calcolatore stesso che quindi può essere oggetto di attacchi e accessi di individui non autorizzati o haker. Uno spyware è un programma installato senza autorizzazione per raccogliere informazioni sull'utente. Un adware è un programma che propone pubblicità sotto forma di immagini. In molti casi è installato senza consenso (adware disonesto). Con il termine crimeware si indica un software progettato per il furto di identità. Un hoax è un messaggio di posta elettronica che annuncia l'imminente arrivo di altri messaggi infettati. Armi efficaci nella lotto contro il malware sono:

-Evitare di aprire messaggi di posta elettronica di dubbia provenienza - Evitare di installare sul proprio calcolatore applicazioni di dubbi provenienza -Evitare la navigazione web e, soprattutto, lo scaricamento di applicazioni e altro su siti di dubbia serietà Esistono sistemi automatici di difesa: -Firewall: un dispositivo hardware o software che crea una barriera elettronica contro gli attacchi in stile trojan horse -Antivirus: un software in grado di prevenire, individuare e rimuovere i programmi malware (richiede aggiornamenti)

Capitolo 2

-Per essere trattata un'informazione ha bisogno di: -Supporto fisico -Il supporto viene sottoposto ad un trasformazione fisica -I dati così ottenuti vengono decodificati e generano una nuova informazione

-Il sistema numerale romano è non posizionale e additivo. Una sequenza di un solo simbolo può rappresentare il numero 1, 10, 50, 100, 500 e 1000. Ciascuno dei simboli I, X, C, M può essere rappresentato massimo per tre volte. Se una coppia di simboli è scritta in ordine crescente, il primo deve valere almeno un decimo del secondo e il valore del primo viene sottratto da quello del secondo. Una barra sopra un simbolo ne moltiplica il valore per 1000. Incorniciando un simbolo con due barre verticali e una barra orizzontale soprastante si moltiplica il suo valore per 1000000.

-Nel sistema esadecimale si impiega la A per il 10, la B per l'11, la F per il 15 ecc... 1B6Fh risulta: 1x16 alla 3+ 11x16 alla seconda+6x16 alla prima+15x 16 alla zero.

-La codifica binaria rappresenta dei dati all'interno del calcolatore. Per il numeri si ricorre alla notazione binaria posizionale.

Spazio per esempio

Con un bit si possono esprimere 2 alla n-essima numeri naturali. Con un nibble si esprimono un 2 alla quarta numeri naturali. (16). Per la conversione di un naturale da un binario a decimale si procede sommando i prodotti ottenuti dalla moltiplicazione di ciascuna cifra binaria. La conversione in binario di un naturale espresso in decimale si ottiene con ripetute divisioni interne per 2.

Spazio per esempio

di logaritmi delle probabilità (se sto facendo la stima di qualcosa di incerto, ad esempio). Se i logaritmi sono in base 2 l'unità di misura della quantità di informazione è il bit.

-Per la rappresentazione dell'informazione di tipo quantitativo esistono la codifica analogica e quella digitale. La codifica analogia di una grandezza richiede l'individuazione di una grandezza analoga: a ogni incremento/decremento della prima dovrà corrispondere incremento/decremento della seconda. (es: caramelle da distribuire) La codifica digitale di una grandezza richiede invece l'introduzione di un alfabeto di simboli e di un insieme di regole di codifica. (es: cifre). Se l'approccio digitale è più compatto e gestibile la codifica analogica porta delle meta informazioni di tipo ordinale relazione d'ordine tra i valori per cui un valore è uguale, maggiore o minore e metrico. Il numero di caramelle è una grandezza discreta, la temperatura è continua. In un termometro analogica la rappresentazione della temperatura è continua: varia la colonna di mercurio. In un termometro digitale la rappresentazione della temperatura è discreta (compaiono le cifre sul display). Questa quantizzazione è una caratteristica intrinseca in tutte le codifiche digitali: l'intervallo dei suoi valori possibili deve essere suddiviso in un numero finito di intervalli (livelli). Se poi si vuole rappresentare con una codifica digitale l'andamento nel tempo di una grandezza continua, una segnale, è necessario ricorrere al campionamento. Il valore assunto dalla grandezza viene campionato in ciascuno degli istanti di riferimento e considerato rappresentativo per tutto il sottointervallo. La frequenza di campionamento è definita come il numero di campioni acquisiti nell'unità di tempo per cui una frequenza di campionamento di 7hz indica che ogni secondo vengono rilevati 7 campioni. Quantizzazione e campionamento sono l'essenza della codifica digitale. La perdita d'informazione può essere controllata entro alcuni limiti: i livelli di quantizzazione e la frequenza di campionamento possono essere convenientemente aumentati in funzione degli scopi specifici per cui il segnale viene trattato e con riferimento ai risultati ottenuti dalla teoria dell'informazione, quali, il teorema di campionamento di Shannon. Il successo della codifica digitale (si parla di rivoluzione digitale) si deve all'avvento dei calcolatori: la codifica digitale binaria di un segnale può essere facilmente rappresentata nella memoria di un calcolatore e da questo elaborata.

-Per il riconoscimento e la correzione di errori si usano meccanismi basati sulla ridondanza. Uno schema di ripetizione prevede che ogni simbolo del messaggio sia trasmesso due o più volte. Negli schemi basati sul controllo di parità il trasmettitore suddivide il messaggio binario in blocchi di bit di dimensione prefissata. Trasmettendo un blocco, conta il numero di “1” presenti al suo interno: se questo è un numero pari, trasmette in coda al blocco un bit di parità aggiuntivo impostato a “0”, altrimenti trasmette un “1”.

-I codici sono sequenze di simboli impiegati per rappresentare oggetti del mondo reale. (Matricola, codice fiscale, codice catastale-comune, partita IVA, codice IBSN, numero di telefono, IBAN-bancario).

-ASCII è una codifica secondo la quale ogni carattere è rappresentato da una sequenza di 7 bit. Proposto inizialmente da IBM, è stato successivamente adottato dall'ISO. ASCII esteso è un'evoluzione dell'ASCII originario (US-ASCII). Esistono diverse versioni: -ISO 8859 (latin1): contiene caratteri per i linguaggi dell'Europa

occidentale -ISO 8859-2: contiene caratteri per i linguaggi dell'Europa

orientale

-ISO 8859-5: contiene caratteri cirillici EBCDC è una codifica dei caratteri a 8 bit utilizzata da molti mainframe e minicomputer IBM. Come suggerito dal nome, è un'estensione della codifica a 6 bit BCD. Unicode è una codifica dei caratteri gestita e diffusa da Unicode Consortium, un

consorzio internazionale di aziende produttrici di HW e SW finalizzato a favorire

l'interoperabilità.

-Nelle memorie di massa di un calcolatore è opportuno distinguere i file di puro testo (plain text, denominati dall'estenzione .txt), da altri tipi di file che oltre al testo contengono altre meta-informazioni tra cui quelle sulla formattazione. I file con estenzione .doc contengono molte altre informazioni tra cui il font. Una situazione intermedia è rappresentata da un'altra famiglia di file il cui contenuto è scritto da linguaggi di marcatura (markup language). Questi linguaggi consentono di inserire annotazioni. Il più noto di questi è HTML (hypertext markup language), impiegato per realizzare pagine ipertestuali del World Wide Web. Un file HTML descrive in genere una pagina dell'ipertesto e contiene, oltre al puro testo, delle marcature, denominate tag, ciascuna delle quali è costituita da una sequenza di caratteri dentro parentesi angolari (< >). L'utente visualizza una pagina HTML mediante un'applicazione software (web browser). ODT e DOCX sono due formati adottati dalle due più diffuse applicazioni di videoscrittura.

RTF, sviluppato da Microsoft per supportare lo scambio di documenti tra sistemi e applicazioni, è un altro esempio di formato di file di testo contenente codici di controllo, anch'essi in forma di testo, ma sintatticamente riconoscibili per la presenza del carattere “/” (backslash). Altri formati sono: -PostScript: una vero e proprio linguaggio di programmazione che consente di descrivere l'impaginazione -PDF: un formato per la descrizione di documenti originariamente sviluppato dalla Adobe System Incorporated

-I dispositivi di acquisizione campionano un'immagine: la suddividono in una bitmap (o pixmap), una matrice di piccolissimi rettangoli, i pixel (contrazione di picture element). La quantizzazione entra in gioco nella rappresentazione del colore: si definisce profondità di colore (color depth) il numero di bit impiegati per codificare il colore associato a ciascun pixel. In un'immagine in bianco e nero, la quantizzazione più drastica, si può pensare di codificare il colore di ciascun pixel con un bit. Se invece la stessa immagine fosse acquisita in tonalità di grigio, si potrebbe impiegare un byte per rappresentare la tonalità. La rappresentazione dei colori prevede in genere l'individuazione di alcuni colori primari. I modelli di colore in cui si parte da uno sfondo bianco e la miscela dei colori primari produce il nero sono chiamati modelli di colore sottrattivi in quanto gli inchiostri colorati sottraggono luminosità al bianco. CMYK è un modello sottrattivo, impiegato nelle gestione di stampe. Ogni colore è dato dalla combinazione di ciano, giallo, magenta e nero. Nei modelli di colori additivi, si parte da uno sfondo nero e la combinazione dei colori primari produce il bianco. RGB è un modello additivo basato sui colori primari rosso, verde e blu (treucolor è una rappresentazione con 16 milioni di colori diversi).

-I file in formato raster contengono una rappresentazione dell'immagine sotto forma di un bitman, una griglia di pixel. Tra i formati più diffusi: -JPEG: formato truecolor supportato da quasi tutte le macchine fotografiche digitali e associato ad algoritmi di compressione lossy. -GIF: formato caratterizzato da un massimo di 256 con compressione

lossless. -BMP: formato non compresso standard del sistema operativo

Windows.