informatica - cnr2007/02/28 · ¾un calcolatore deve essere in grado di: • eseguire istruzioni...
TRANSCRIPT
28/02/2007
Introduzione ai sistemi informatici 1
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
InformaticaInformatica
Pietro [email protected]
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Il problemaIl problemaLL’’informazione informazione èè oggi oggetto di grande interesse:oggi oggetto di grande interesse:• si parla, per esempio, di societsocietàà delldell’’informazioneinformazione ...• si parla, per esempio, di tecnologia delltecnologia dell’’informazioneinformazione ...
ma ci si accorge immediatamente che quello di ma ci si accorge immediatamente che quello di informazioneinformazione èè un concetto diversificato e un concetto diversificato e complesso ...complesso ...• nel 1999 GM ha trattato più MIPS di IBM• nel 1996 il bilancio relativo alla gestione dell’informazione
nel sistema sanitario USA è stato superiore all’intero bilancio del settore dei mass-media
Ma cosa significa Ma cosa significa informazioneinformazione??
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Una transizioneUna transizioneLL’’evoluzione economicoevoluzione economico--industriale della industriale della societsocietàà occidentale può essere interpretata occidentale può essere interpretata secondo tre fasisecondo tre fasi• società prepre--industrialeindustriale: gestione della materiamateria• società industrialeindustriale: gestione dell’energiaenergia• società postpost--industrialeindustriale: gestione
dell’informazioneinformazione
28/02/2007
Introduzione ai sistemi informatici 2
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
UnUn’’altra transizionealtra transizioneLe Le retireti da sempre costituiscono per la societda sempre costituiscono per la societàà uno strumento uno strumento indispensabile di trasporto, scambio e comunicazioneindispensabile di trasporto, scambio e comunicazione
…… dapprima reti per il trasferimento di dapprima reti per il trasferimento di personepersone e e beni materialibeni materiali::• reti stradali,• reti fluviali,• acquedotti,• reti fognarie,• …
…… quindi anche reti quindi anche reti infrastrutturaliinfrastrutturali per il trasferimento di per il trasferimento di energiaenergia::• reti elettriche,• gasdotti,• reti petrolifere,• …
…… infine anche reti per il trasferimento di infine anche reti per il trasferimento di informazioneinformazione::• reti telegrafiche,• reti telefoniche,• reti televisive,• reti informatiche,• …
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Tre Tre ““mondimondi””
4. Coscienza di s4. Coscienza di séé e della mortee della morte3. Sensibilit3. Sensibilitàà (coscienza animale)(coscienza animale)
Mondo 2Mondo 2(il mondo delle esperienze soggettive)(il mondo delle esperienze soggettive)
Alcuni stadi dellAlcuni stadi dell’’evoluzione cosmica evoluzione cosmica (da K.R.(da K.R.PopperPopper))
2.2. Organismi viventiOrganismi viventi1.1. Gli elementi piGli elementi piùù pesanti;pesanti;
liquidi e cristalliliquidi e cristalli0.0. Idrogeno ed elioIdrogeno ed elio
Mondo 1Mondo 1(il mondo degli oggetti fisici)(il mondo degli oggetti fisici)
6.6. Opere dOpere d’’arte e di scienzaarte e di scienza(compresa la tecnologia)(compresa la tecnologia)
5.5. Il linguaggio umano.Il linguaggio umano.Teorie dellTeorie dell’’io e della morteio e della morte
Mondo 3Mondo 3(il mondo dei prodotti della mente umana)(il mondo dei prodotti della mente umana)
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informazione e mondo fisicoInformazione e mondo fisico
Il punto di vista usuale:Il punto di vista usuale:
Mondo 1Mondo 1
I Promessi SposiMondo 3Mondo 3
Mondo 2Mondo 2
Cosa accade con lCosa accade con l’’introduzione di ?introduzione di ?
28/02/2007
Introduzione ai sistemi informatici 3
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
I calcolatori: cosI calcolatori: cos’’hanno di speciale?hanno di speciale?Molti strumenti sono stati progettati e Molti strumenti sono stati progettati e realizzati per trattare informazione:realizzati per trattare informazione:• le matite servono per scrivere
(non per trasferire grafite su carta)• i violini servono per suonare
(non per produrre onde acustiche)
A differenza di questi, i calcolatori sono A differenza di questi, i calcolatori sono dispositivi programmabilidispositivi programmabili..Ma cosa significa Ma cosa significa programmabileprogrammabile??
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Elaborazione dellElaborazione dell’’informazioneinformazioneLa La programmabilitprogrammabilitàà di un di un dispositivo attiene alle modalitdispositivo attiene alle modalitààcon cui esso gestisce con cui esso gestisce informazioneinformazionePer esempio, per risolvere Per esempio, per risolvere questo problema, si può:questo problema, si può:• provare e riprovare
(= operare nel mondo fisico)• fare i conti a mente
(= operare nel “mondo 2”)• fare i conti con carta e penna
(= operare con supporti passivi)• fare i conti con una calcolatrice
(= operare con supporti “rigidi”)• oppure …
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Dati e istruzioniDati e istruzioniQuando si gestisce informazione,Quando si gestisce informazione,si opera su si opera su datidati mediante mediante istruzioniistruzioni::
XXistruzioni:istruzioni:esecuzioneesecuzione
XXistruzioni:istruzioni:controllocontrollo
XXdatidatimondo 2mondo 2mondo 1mondo 1calcolatorecalcolatore
XXistruzioniistruzioniXXdatidati
mondo 2mondo 2mondo 1mondo 1carta e pennacarta e penna
XXistruzioni:istruzioni:esecuzioneesecuzione
XXistruzioni:istruzioni:controllocontrollo
XXdatidatimondo 2mondo 2mondo 1mondo 1calcolatricecalcolatrice
XXistruzioniistruzioniXXdatidati
mondo 2mondo 2mondo 1mondo 1a mentea mente
28/02/2007
Introduzione ai sistemi informatici 4
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
I primi calcolatori meccaniciI primi calcolatori meccanici /1/1BlaiseBlaise PascalPascal (1623(1623--1662)1662)dispositivo meccanico (ingranaggi azionati dispositivo meccanico (ingranaggi azionati da una manovella) per lda una manovella) per l’’esecuzione di esecuzione di sommesomme e e sottrazionisottrazioni..
GottfriedGottfried WilhelmWilhelm vonvon LeibnizLeibniz (1646(1646--1716)1716)introduce anche introduce anche moltiplicazionimoltiplicazioni e e divisionidivisioni(~ calcolatrice a quattro funzioni).(~ calcolatrice a quattro funzioni).
CharlesCharles BabbageBabbage (1792(1792--1871)1871)progetta e realizza un progetta e realizza un ““differencedifference engineengine””• calcola tabelle di numeri utili per la navigazione;•• unicounico algoritmo: polinomiale alle differenze polinomiale alle differenze
finitefinite;• output: forifori su una piastra di rame
(~ schede perforate).
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
I primi calcolatori meccaniciI primi calcolatori meccanici /2/2CharlesCharles BabbageBabbage (1792(1792--1871)1871)macchina programmabile: macchina programmabile: ““analyticalanalyticalengineengine””• Formata da quattro parti:
•• storestore (memoria: 1000 celle × 50 cifre),•• millmill (unità di calcolo: 4 operazioni + trasferimento
dati), •• inputinput (lettore schede),•• outputoutput (perforatore schede).
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Il periodo bellicoIl periodo bellico /1/1KonradKonrad ZuseZuse (Germania, anni (Germania, anni ’’30 e 30 e ’’40)40)• Realizza macchine calcolatrici automatiche basate su relrelèè
elettromagneticielettromagnetici.John AtanasoffJohn Atanasoff ((IowaIowa State College, anni State College, anni ’’30)30)• Macchina basata sull’aritmetica binariaaritmetica binaria.• Memoria basata su condensatoricondensatori rinfrescati periodicamente.• Troppo avanzata per la tecnologia disponibile (problemiproblemi HWHW).
GeorgeGeorge StibbitzStibbitz ((BellBell LabsLabs, anni , anni ’’30)30)• Calcolatore più primitivo rispetto a quello di Atanasoff, ma
funzionantefunzionante!! (presentato a una conferenza nel 1940)HowardHoward AikenAiken ((HarvardHarvard, anni , anni ’’40)40)• Riprende il lavoro di Babbage e lo implementa sfruttando la tecnologia
dei relrelèè elettromagneticielettromagnetici.
28/02/2007
Introduzione ai sistemi informatici 5
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Il periodo bellicoIl periodo bellico /2/2Negli anni Negli anni ’’40 si sviluppa una nuova tecnologia: le 40 si sviluppa una nuova tecnologia: le valvole termoionichevalvole termoioniche rendono obsoleti i rendono obsoleti i relrelèèelettromagneticielettromagnetici..
COLOSSUSCOLOSSUS (Inghilterra 1943)(Inghilterra 1943)• Primo calcolatore digitale elettronico.
ENIACENIAC ((MauchleyMauchley ed ed EckertEckert -- USA 1946)USA 1946)•• ElectronicElectronic NumericalNumerical IntegratorIntegrator And ComputerAnd Computer.• Composto da 18 00018 000 valvole e 15001500 relé per un
peso complessivo di 30 t30 t e un consumo di 140 140 kwkw.
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
JohnJohn vonvon NeumannNeumannPartecipa al progetto ENIAC.Partecipa al progetto ENIAC.Due intuizioni fondamentali:Due intuizioni fondamentali:• memorizzare i programmi in forma digitaleforma digitale nella stessa
memoria dei dati per rendere più semplice la programmazione (rispetto all’utilizzo di cavi e interruttori);
• utilizzare ll’’aritmetica binariaaritmetica binaria invece di quella decimale (due valvole per bit invece di dieci per cifra).
Il suo progetto (Il suo progetto (macchina di macchina di vonvon NeumannNeumann) ) èèancora oggi alla base di quasi tutti i calcolatori ancora oggi alla base di quasi tutti i calcolatori digitali.digitali.
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
LL’’architettura di architettura di VonVon NeumannNeumannUn calcolatore deve essere in grado di:Un calcolatore deve essere in grado di:• eseguire istruzioni su dati;• controllare il flusso dell’esecuzione;• memorizzare i dati su cui operare;• memorizzare successioni di istruzioni;• interagire con gli utenti e con eventuali altri sistemi.
Sottosistemadi interfaccia
Sottosistemadi memorizzazione
Sottosistemadi elaborazione
Sottosistema di interconnessione
Ha due funzioni:1. eseguire le istruzioni;2. controllare il flusso
dell’esecuzione.
Comunica con utentio con altri dispositivi
Memorizza datie istruzioni
28/02/2007
Introduzione ai sistemi informatici 6
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Il transistorIl transistorInventato ai Inventato ai BellBell LabsLabs nel nel 19481948 da da JohnJohn BardeenBardeen, Walter , Walter BrattainBrattain e William e William ShockleyShockley::• nel giro di 10 anni rivoluziona la ricerca sui calcolatori;• alla fine degli anni ’50 i calcolatori a valvole sono già obsoleti.
DigitalDigital EquipmentEquipment CorporationCorporation (DEC)(DEC)• fondata nel 1957 da Kenneth Olsen;• nel 1961 realizza il PDP–1, il primo minicalcolatoreminicalcolatore.
Sviluppo della tecnologia dSviluppo della tecnologia d’’integrazione:integrazione:• decine (SSI), centinaia (MSI) e migliaia (LSI) di transistor sono
integrati sullo stesso pezzo di silicio (chip);• possibilità di realizzare calcolatori più piccoli, più veloci e meno
costosi dei loro predecessori.Due famiglie di calcolatori rappresentative:Due famiglie di calcolatori rappresentative:• 360 di IBM• PDP-11 di DEC
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
VeryVery LargeLarge Scale Scale IntegrationIntegration (VLSI)(VLSI)105105––107 transistor integrati per chip.107 transistor integrati per chip.Passaggio dai Passaggio dai minicalcolatoriminicalcolatori, alle , alle workstationworkstation, ai , ai Personal ComputerPersonal Computer (PC):(PC):• usati per applicazioni fortemente interattivefortemente interattive
(elaborazione testi, fogli elettronici, …);• in origine proposti come kit da assemblarekit da assemblare, senza
software;• due architetture principali:
•• AppleApple (basato su CPU Motorola e PowerPC)• primo PC, progettato da Steve Jobs e Steve Wozniak nel ’78,•• architettura proprietariaarchitettura proprietaria!
•• IBMIBM e compatibili (CPU Intel e SW Microsoft – “Wintel”)• realizzato utilizzando componenti “off the shelf”,•• architettura di dominio pubblicoarchitettura di dominio pubblico, quindi replicabile da altri (cloni)!
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Interazione tra utenti e calcolatoriInterazione tra utenti e calcolatori
a b c
d e f
Ciclo aCiclo a--ff• interazione tra un utente e un calcolatore• esecuzione locale di un programma o accesso a documentazione locale
Ciclo aCiclo a--bb--ee--ff• interazione tra un utente e un calcolatore remoto, mediata da un secondo
calcolatore in rete con il primo• esecuzione remota o distribuita di un programma o accesso a documentazione
remotaCiclo aCiclo a--bb--cc--dd--ee--ff• interazione tra utenti mediata da calcolatori• esecuzione distribuita e cooperativa di un programma o scambio di
documentazione
28/02/2007
Introduzione ai sistemi informatici 7
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informazione e InformaticaInformazione e Informatica
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informatica e telecomunicazioneInformatica e telecomunicazioneCosCos’è’è ll’’informaticainformatica??• lo studio sistematico degli algoritmi che descrivono e
trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione[ACM – Association for Computing Machinery]
•• la scienza della rappresentazione e dellla scienza della rappresentazione e dell’’elaborazione elaborazione delldell’’informazioneinformazione
CosCos’è’è la la telecomunicazionetelecomunicazione??• la trasmissione rapidarapida a distanzadistanza dell’informazione
Attenzione:Attenzione:•• NonNon si parla di tecnologia dei calcolatoricalcolatori !• Si attribuisce ruolo centrale al concetto di informazioneinformazione !
28/02/2007
Introduzione ai sistemi informatici 8
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Il concetto di informazioneIl concetto di informazione
Configurazione 1Configurazione 1 Configurazione 2Configurazione 2
un fogliocosparso di
macchie
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informazione e supportoInformazione e supportoLL’’informazione informazione èè ““portata daportata da””, o , o ““trasmessa trasmessa susu””, o , o ““memorizzata inmemorizzata in””, o , o ““contenuta incontenuta in””qualcosa; questo qualcosa; questo ““qualcosaqualcosa”” però non però non èèll’’informazione stessa.informazione stessa.
Ogni supporto ha le sue caratteristiche in Ogni supporto ha le sue caratteristiche in quanto mezzo su cui può essere scritta quanto mezzo su cui può essere scritta delldell’’informazione.informazione.
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informazione e supporti (1)Informazione e supporti (1)
La stessa informazione può essere scritta La stessa informazione può essere scritta su su supporti differentisupporti differenti..
1010109
11
8
67
28/02/2007
Introduzione ai sistemi informatici 9
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informazione e supporti (2)Informazione e supporti (2)
Lo Lo stesso supportostesso supporto può portarepuò portareinformazioni differentiinformazioni differenti..
farefare
burroburro
italiano
tariffa, prezzo, …inglese
to make, to do, to build, …
italiano
asino, cavalletto, somaro, …spagnolo
mantequilla, manteca, …
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informazione e supporto (3)Informazione e supporto (3)Distinguere informazione e supporto fisico Distinguere informazione e supporto fisico èèdistinguere tra distinguere tra ““entitentitàà logichelogiche”” ed ed ““entitentitààfisichefisiche””::• l’informazione richiede un supporto fisicorichiede un supporto fisico, ma
non coincide con esso;• l’informazione è un’entità extraextra--fisicafisica, non
interpretabile in termini di materia-energia e sottoposta alle leggi della fisica solo perché basata su un supporto fisico.
LL’’informazione si può informazione si può crearecreare e e distruggeredistruggere..
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Quali caratteristiche deve avere un Quali caratteristiche deve avere un sistema fisico per supportare informazioni?sistema fisico per supportare informazioni?
Si ottiene informazione quando, dato un Si ottiene informazione quando, dato un insieme di alternative possibili, la lettura del insieme di alternative possibili, la lettura del supporto ne elimina alcune e ne seleziona supporto ne elimina alcune e ne seleziona altre.altre.Condizione necessariaCondizione necessaria perchperchéé un supporto un supporto possa portare informazione possa portare informazione èè che possa che possa assumere assumere configurazioni differenticonfigurazioni differenti, a ognuna , a ognuna delle quali venga associata una differente delle quali venga associata una differente entitentitàà di informazionedi informazione..
28/02/2007
Introduzione ai sistemi informatici 10
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Supporto fisico: 1Supporto fisico: 1aa condizionecondizioneDeve consentire di Deve consentire di potere identificare potere identificare delle differenzedelle differenze• Es: voglio rappresentare
2 alternative
Cosa Cosa rappresentarappresentaciascuna ciascuna configurazione?configurazione?
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Configurazioni e codiciConfigurazioni e codiciA ogni configurazione del supporto deve essere associata unA ogni configurazione del supporto deve essere associata un’’entitentitàà di di informazione:informazione:• Prima Configurazione = interruttore “ONON” = “Divina CommediaDivina Commedia”;• Seconda Configurazione = interruttore “OFFOFF” = “I Promessi SposiI Promessi Sposi”.
Per interpretare le differenti configurazioni del supporto in tePer interpretare le differenti configurazioni del supporto in termini di rmini di informazione informazione èè necessario conoscere il necessario conoscere il codicecodice (cio(cioèè la regola) che a la regola) che a ogni ogni configurazione ammessa del supporto associa unconfigurazione ammessa del supporto associa un’’entitentitàà di di informazioneinformazione..
La definizione di un codice comporta che siano identificati in mLa definizione di un codice comporta che siano identificati in modo non odo non ambiguo lambiguo l’’insieme delle insieme delle possibili possibili configurazioniconfigurazioni del supporto e ldel supporto e l’’insieme insieme delle delle possibili possibili entitentitàà di informazionedi informazione a cui ci si vuole riferire.a cui ci si vuole riferire.
Variando il codice Variando il codice èè possibile riferirsi a entitpossibile riferirsi a entitàà di informazione differenti di informazione differenti utilizzando uno stesso supporto fisicoutilizzando uno stesso supporto fisico..
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
CODICE
Supporto fisico: 2a condizioneSupporto fisico: 2a condizioneDeve essere Deve essere condivisacondivisa una regola per attribuire una regola per attribuire
un un significatosignificato a ciascuna configurazionea ciascuna configurazione
Configurazione 1
Entità di informazione 1
Configurazione 2
Entità di informazione 2
28/02/2007
Introduzione ai sistemi informatici 11
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Livelli di informazione: il telegrafoLivelli di informazione: il telegrafoSupporto fisicoSupporto fisico: conduttore in cui transita corrente continua: conduttore in cui transita corrente continua
EntitEntitàà di informazionedi informazione: : ““puntipunti”” e e ““lineelinee””, che rappresentano le lettere , che rappresentano le lettere delldell’’alfabetoalfabeto
CodiceCodice = regola che specifica la corrispondenza:= regola che specifica la corrispondenza:• passa corrente per 1 s ⇒ punto• passa corrente per 2 s ⇒ linea• non passa corrente per 1 s ⇒ separazione tra punti e linee della stessa lettera• non passa corrente per 2 s ⇒ separazione tra due lettere
•• ““passa corrente per 1 s, non passa per 1 s, passa per 2 spassa corrente per 1 s, non passa per 1 s, passa per 2 s”” = = ““punto lineapunto linea””..
Codice MorseCodice Morse = relazione tra lettere e sequenze di punti linee:= relazione tra lettere e sequenze di punti linee:• punto linea ⇒ lettera “A”• linea punto punto punto ⇒ lettera “B”• linea punto linea punto ⇒ lettera “C”• ecc.
Abbiamo associato simboli ad altri simboli!!Abbiamo associato simboli ad altri simboli!!
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Messaggi Messaggi vsvs configurazione del supportoconfigurazione del supportoConfigurazione del supporto fisicoConfigurazione del supporto fisico (livello fisico, (livello fisico, LFLF):):• passa corrente per 2s, non passa per 1s, passa per 1s, non passa per 2s,
passa per 2s, non passa per 1s, passa per 2s, non passa per 1s, passa per 2s
messaggiomessaggio, al livello logico 1 (, al livello logico 1 (LL1LL1):):• linea punto, separazione di lettera, linea linea linea
messaggiomessaggio, al livello Logico 2 (, al livello Logico 2 (LL2LL2):):• “N” “O”
messaggiomessaggio, al livello Logico 3 (, al livello Logico 3 (LL3LL3):):• “NO”, con il significato (per esempio) di “incontro non confermato”
Le relazioni tra questi livelli definiscono ognuna un codice Le relazioni tra questi livelli definiscono ognuna un codice per interpretare il significato delle entitper interpretare il significato delle entitàà che compaiono al che compaiono al livello precedente in termini delle entitlivello precedente in termini delle entitàà del livello del livello successivo: sono relazioni di significazione.successivo: sono relazioni di significazione.
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Tre diversi livelli di informazioneTre diversi livelli di informazione
Informazione Informazione sintatticasintattica
Informazione Informazione semanticasemantica
Informazione Informazione pragmaticapragmatica
28/02/2007
Introduzione ai sistemi informatici 12
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Teoria dellTeoria dell’’informazioneinformazioneQuando si parla di Quando si parla di ““teoria dellteoria dell’’informazioneinformazione”” si fa si fa riferimento al solo livello riferimento al solo livello ““sintatticosintattico””Ambito di applicazioneAmbito di applicazione: caratterizzare le condizioni per la : caratterizzare le condizioni per la trasmissione di segnali in termini ditrasmissione di segnali in termini di•• adeguatezzaadeguatezza del supporto adottato per la trasmissione •• accuratezzaaccuratezza della trasmissione stessa.
Quali problemi si pone:Quali problemi si pone:• un certo supporto può essere utilizzato per la memorizzazione di una
certa quantità di informazione?• con quale velocità una certa quantità di informazione può essere
trasferita a distanza mediante un certo supporto?• con quale grado di accuratezza un certo messaggio è stato trasmesso?
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Informazione e incertezzaInformazione e incertezzaLa presenza di informazione La presenza di informazione èè condizionata dal fatto che il condizionata dal fatto che il supporto sia in grado di assumere supporto sia in grado di assumere diverse configurazionidiverse configurazioni..
Se la nostra ignoranza, o piSe la nostra ignoranza, o piùù formalmente la nostra formalmente la nostra incertezza, circa lincertezza, circa l’’effettiva configurazione del supporto effettiva configurazione del supporto viene ridotta dallviene ridotta dall’’accesso al supporto, allora sembra del accesso al supporto, allora sembra del tutto ragionevole assumere che si possa affermare che tale tutto ragionevole assumere che si possa affermare che tale atto ci ha atto ci ha portato dellportato dell’’informazioneinformazione..
Se fossimo in grado di misurare il Se fossimo in grado di misurare il grado di incertezzagrado di incertezza in cui in cui ci trovavamo ci trovavamo prima della letturaprima della lettura e quello successivo a essae quello successivo a essa, , la la quantitquantitàà di informazionedi informazione portata dalla configurazione che portata dalla configurazione che abbiamo letto sul supporto potrebbe essere definita proprio abbiamo letto sul supporto potrebbe essere definita proprio dalla dalla differenza tra tali gradi di incertezzadifferenza tra tali gradi di incertezza..
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
28/02/2007
Introduzione ai sistemi informatici 13
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
La codifica dellLa codifica dell’’informazioneinformazione
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Codifica dati e istruzioniCodifica dati e istruzioniAlgoritmoAlgoritmo•• descrizionedescrizione della soluzione di problemasoluzione di problema scritta in modo
da poter essere eseguita da un esecutoreesecutore (eventualmente diverso dall’autore dell’algoritmo)
• sequenza di istruzioniistruzioni che operano su datidati.ProgrammaProgramma•• algoritmo algoritmo scritto in modo da poter essere eseguito da un
calcolatorecalcolatore (esecutore automatico)
Per scrivere un Per scrivere un programmaprogramma èè necessario necessario rappresentare rappresentare istruzioniistruzioni e e datidati in un formato tale in un formato tale che che ll’’esecutore automaticoesecutore automatico sia capace di sia capace di memorizzare memorizzare e e manipolaremanipolare..
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Codifica dati e istruzioniCodifica dati e istruzioni
AlfabetoAlfabeto deidei simbolisimboli• cifre “0”, “1”, …, “9”, separatore decimale (“,”), separatore delle
migliaia (“.”) e segni positivo (“+”) o negativo (“–”).RegoleRegole di di composizionecomposizione ((sintassisintassi), ), cheche definisconodefiniscono le le successionisuccessioni ““benben formateformate””• “1.234,5” è la rappresentazione di un numero;• “1,23,45” non lo è.
CodiceCodice ((semanticasemantica))• “1.234,5” = 1×103 + 2×102 + 3×101 + 4×100 + 5×10–1
• “1,23,45” = ??
Lo Lo stessostesso alfabetoalfabeto puòpuò essereessere utilizzatoutilizzato con con codicicodici diversidiversi::• “123,456” = 1×102 + 2×101 + 3×100 + 4×10–1 + 5×10–2 + 6×10–3, [IT]• “123,456” = 1×105 + 2×104 + 3×103 + 4×102 + 5×101 + 6×100, [UK]
28/02/2007
Introduzione ai sistemi informatici 14
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Codifica BinariaCodifica BinariaAlfabeto binarioAlfabeto binario: usiamo dispositivi con solo due stati: usiamo dispositivi con solo due statiProblema: assegnare un Problema: assegnare un codice univococodice univoco a tutti gli oggetti a tutti gli oggetti compresi in un insieme predefinito (e.g. studenti)compresi in un insieme predefinito (e.g. studenti)
Quanti Quanti oggettioggetti posso codificare con posso codificare con kk bit:bit:• 1 bit ⇒ 2 stati (0, 1) ⇒ 2 oggetti (e.g. Vero/Falso)• 2 bit ⇒ 4 stati (00, 01, 10, 11) ⇒ 4 oggetti• 3 bit ⇒ 8 stati (000, 001, …, 111) ⇒ 8 oggetti• …•• k bit k bit ⇒⇒ 22kk stati stati ⇒⇒ 22kk oggettioggetti
Quanti Quanti bitbit mi servono per codificare mi servono per codificare NN oggetti:oggetti:• N ≤ 2k ⇒ k ≥ log2N ⇒ k = k = ⎡⎡loglog22NN⎤⎤ (intero superiore)
Attenzione:Attenzione:ipotesi implicita che i codici abbiano tutti la ipotesi implicita che i codici abbiano tutti la stessa lunghezzastessa lunghezza
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Esempio di codifica binariaEsempio di codifica binariaProblema:Problema:assegnare un codice binario univoco a tutti i giorni della assegnare un codice binario univoco a tutti i giorni della settimanasettimana
Giorni della settimana: Giorni della settimana: N = 7 N = 7 ⇒⇒ k k ≥≥ loglog227 7 ⇒⇒ k = 3k = 3
Con 3 bit possiamo ottenere 8 diverse configurazioni:Con 3 bit possiamo ottenere 8 diverse configurazioni:• Ne servono 7, quali utilizziamo?• Quale configurazione associamo a quale giorno?
Attenzione:Attenzione:ipotesi che i codici abbiano tutti la stessa lunghezzaipotesi che i codici abbiano tutti la stessa lunghezza
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
I giorni della settimana in binario (1)I giorni della settimana in binario (1)
1 bit2 “gruppi”
2 bit4 “gruppi”
3 bit8 “gruppi”
Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
000 001 010 011 100 101
111 110
Lunedì Martedì
Mercoledì Giovedì
Venerdì Sabato
Domenica
00
01
10
11
Lunedì
Martedì Mercoledì
Giovedì
Venerdì
Sabato
Domenica
0
1
Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
28/02/2007
Introduzione ai sistemi informatici 15
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
I giorni della settimana in binario (2)I giorni della settimana in binario (2)
1 bit2 “gruppi”
2 bit4 “gruppi”
3 bit8 “gruppi”
Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
000 001 010 011 100 101
111 110 Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
00
01
10
11
Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
0
1
Lunedì
Martedì
Mercoledì
Giovedì
Venerdì
Sabato
Domenica
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Codifica binaria dei caratteriCodifica binaria dei caratteriQuanti sono gli oggetti compresi nellQuanti sono gli oggetti compresi nell’’insieme?insieme?• 26 lettere maiuscole + 26 minuscole ⇒ 52• 10 cifre• Circa 30 segni d’interpunzione• Circa 30 caratteri di controllo (EOF, CR, LF, …)
circa 120 oggetti complessivi circa 120 oggetti complessivi ⇒⇒ k = k = ⎡⎡loglog22120120⎤⎤ = 7= 7Codice ASCII: utilizza 7 bit e quindi può Codice ASCII: utilizza 7 bit e quindi può rappresentare al massimo 2rappresentare al massimo 277=128 caratteri=128 caratteri• Con 8 bit (= byte) rappresento 256 caratteri (ASCII esteso)• Si stanno diffondendo codici più estesi (e.g. UNICODE) per
rappresentare anche i caratteri delle lingue orientali
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
ASCII su 7 bitASCII su 7 bit
canccanc~~}}||{{zzYYxxwwvvuuttssrrqqpp111111oonnmmllkkjjIIhhggffeeddccbbaa`̀110110__^̂]]\\[[ZZYYXXWWVVUUTTSSRRQQPP101101OONNMMLLKKJJIIHHGGFFEEDDCCBBAA@@100100??>>==<<;;::99887766554433221100011011//..--,,++**))((''&&%%$$##""!!spsp010010
11111111
11101110
11011101
11001100
10111011
10101010
10011001
10001000
01110111
01100110
01010101
01000100
00110011
00100010
00010001
00000000
28/02/2007
Introduzione ai sistemi informatici 16
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
bit, Byte, bit, Byte, KiloByteKiloByte, , MegaByteMegaByte, , ……
bitbit = solo due = solo due statistati, , ““00”” oppureoppure ““11””..ByteByte = 8 bit, = 8 bit, quindiquindi 2288 = 256 = 256 statistatiKiloByteKiloByte [[KBKB]] = 2= 21010 Byte = 1024 Byte ~ 10Byte = 1024 Byte ~ 1033 ByteByteMegaByteMegaByte [[MBMB]] = 2= 22020 Byte = 1'048'576 Byte ~ 10Byte = 1'048'576 Byte ~ 1066 ByteByteGigaByteGigaByte [[GBGB]] = 2= 23030 Byte ~ 10Byte ~ 1099 ByteByteTeraByteTeraByte [[TBTB]] = 2= 24040 Byte ~ 10Byte ~ 101212 ByteBytePetaBytePetaByte [[PBPB]] = 2= 25050 Byte ~ 10Byte ~ 101515 ByteByteExaByteExaByte [[EBEB]] = 2= 26060 Byte ~ 10Byte ~ 101818 ByteByte
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Lo standard IEC per i prefissi binariLo standard IEC per i prefissi binari
20.89%(103)81'208'925'819'614'629'174'706'176(210)8YiYobiYotta binario
18.06%(103)71'180'591'620'717'411'303'424(210)7ZiZebiZetta binario
15.29%(103)61'152'921'504'606'846'976(210)6EiExbiExa binario
12.59%(103)51'125'899'906'842'624(210)5PiPebiPeta binario
9.95%(103)41'099'511'627'776(210)4TiTebiTera binario
7.37%(103)31'073'741'824(210)3GiGibiGiga binario
4.86%(103)21'048'576(210)2MiMebiMega binario
2.40%1031'024210KiKibiKilo binario
Diff. %SIDimensioneSimboloNomeGrandezza
Usando questi prefissi si può risolvere lUsando questi prefissi si può risolvere l’’ambiguitambiguitàà• capacità di un disco fisso: 120 GB = 111.76 GiB,• capacità di un floppy: 1.406 MiB = 1.475 MB
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Oltre al codice operativoOltre al codice operativo…… èè necessarionecessario far far riferimentoriferimento aiai datidati necessarinecessari per per completarecompletare ll’’esecuzioneesecuzione delldell’’istruzioneistruzione,,• e.g. addizione: è necessario che sia specificato (anche implicitamente)
dove leggere i due operandi da sommare e dove scrivere il risultato;
ilil numeronumero deidei datidati dada specificarespecificare èè variabilevariabile, in , in funzionefunzionedelledelle istruzioniistruzioni..
Codice Operativo Destinazione Sorgente 1 Sorgente 2 Estensione del codice operativo
Codice Operativo Destinazione Sorgente 1 Operando (immediato)
Codice Operativo Operando (immediato)
28/02/2007
Introduzione ai sistemi informatici 17
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Numeri naturaliNumeri naturali
Sistema di numerazione posizionale in base Sistema di numerazione posizionale in base bb•ckck–1…c0 rappresenta ck×bk + ck–1×bk–1 + … + c0×b0
•b=10 ⇒ 1101dieci indica 1×103 + 1×102 + 0×10 + 1×100
Conversione Conversione binario binario ⇒⇒ decimaledecimale•basta scrivere il numero secondo la notazione posizionale utilizzando già il sistema decimale
•b=2 ⇒ 1101due indica 1×23 + 1×22 + 0×2 + 1×20 = 13dieci
Conversione Conversione decimaledecimale ⇒⇒ binariobinario•Si potrebbe utilizzare lo stesso metodo indicato sopra, ma èmolto complesso
•b=10 ⇒ 345dieci indica 11×101010 + 100×10101 + 101×10100
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Conversione Conversione decimaledecimale ⇒⇒ binariobinarioSistema di numerazione posizionale in base B che, in questo contSistema di numerazione posizionale in base B che, in questo contesto si può esto si può ipotizzare diversa da dieciipotizzare diversa da dieci
ccnn––11ccnn––22……cc11cc00 == ccnn––11××BBnn––11 ++ ccnn––22××BBnn––22 + + …… + c+ c11××BB11 + c+ c00××BB00
ccnn––11ccnn––22……cc11cc00 == ccnn––11××BBnn––11 ++ ccnn––22××BBnn––22 + + …… + c+ c11××B + cB + c00(infatti B(infatti B11 == B e BB e B00 == 1)1)
Dividendo il numero per il valore della base, il risultato che sDividendo il numero per il valore della base, il risultato che si ottiene i ottiene èè::((ccnn––11××BBnn––11 ++ ccnn––22××BBnn––22 + + …… + c+ c11××B + cB + c00)/B =)/B === ccnn––11××BBnn––22 ++ ccnn––22××BBnn––33 + + …… + c+ c11 + c+ c00/B/B
che può essere scomposto in modo da evidenziare quoziente e restche può essere scomposto in modo da evidenziare quoziente e resto:o:quoziente =quoziente = ccnn––11××BBnn––22 ++ ccnn––22××BBnn––33 ++ …… + c+ c11resto = cresto = c00
Il resto della divisione corrisponde allIl resto della divisione corrisponde all’’ultima cifra della rappresentazione in ultima cifra della rappresentazione in base B del numerobase B del numero, ma il suo valore , ma il suo valore èè indipendente dalla base che si utilizza indipendente dalla base che si utilizza per effettuare i conti.per effettuare i conti.Applicando lo stesso procedimento al quoziente si ottiene la Applicando lo stesso procedimento al quoziente si ottiene la penultimapenultima cifra cifra della rappresentazione in base Bdella rappresentazione in base BRipetendo la procedura Ripetendo la procedura èè possibile ottenere tutte le altre cifre.possibile ottenere tutte le altre cifre.
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Conversione Conversione decimaledecimale ⇒⇒ binariobinario573573diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 286286diecidieci restoresto 11diecidieci286286diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 143143diecidieci restoresto 00diecidieci143143diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 7171diecidieci restoresto 11diecidieci7171diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 3535diecidieci restoresto 11diecidieci3535diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 1717diecidieci restoresto 11diecidieci1717diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 88diecidieci restoresto 11diecidieci88diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 44diecidieci restoresto 00diecidieci44diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 22diecidieci restoresto 00diecidieci22diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 11diecidieci restoresto 00diecidieci11diecidieci : 2: 2diecidieci ⇒⇒ quozientequoziente 00diecidieci restoresto 11diecidieci
11 000000 111111 101101duedue == 573573diecidieci
(cifra binaria meno significativa)(cifra binaria meno significativa)
(cifra binaria pi(cifra binaria piùù significativa)significativa)
28/02/2007
Introduzione ai sistemi informatici 18
Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl
Numeri binari: operazioniNumeri binari: operazioniOperazioni di somma di numeri binari naturali.Operazioni di somma di numeri binari naturali.Con gli 8 bit utilizzati negli esempi qui riportati si possono Con gli 8 bit utilizzati negli esempi qui riportati si possono rappresentare i numeri naturali fino a 255dieci.rappresentare i numeri naturali fino a 255dieci.Operazioni che producono un risultato maggiore provocano Operazioni che producono un risultato maggiore provocano il superamento della capacitil superamento della capacitàà di rappresentazione (indicato di rappresentazione (indicato in gergo dal termine inglese in gergo dal termine inglese overflowoverflow). ).
1 1 1 1
0 0 0 1 1 0 0 1due + 2 5dieci + 0 0 1 0 1 1 0 0due + 4 4dieci + 0 0 1 1 1 1 0 0due = 6 0dieci = 0 1 0 0 1 1 1 0due = 7 8dieci = 0 1 0 1 0 1 0 1due 8 5dieci 0 1 1 1 1 0 1 0due 1 2 2dieci