Lezione frontale
Introduzione all’Informatica – parte 1
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Informatica: definizione
Difficile definirla in modo univoco
miglior definizione:
Scienza che raccoglie, organizza, elabora e
conserva le informazioni e le gestisce in modo
automatico
Nasce da fusione parole INFORmazione autoMATICA
Dovremo specificare:
- cosa intendiamo per INFORMAZIONE
- come si può rendere l’informazione automatica
(Hw/Sw)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Informatica: storia
Difficile tracciarne la storia in modo univoco.
Vedremo man mano i vari aspetti:
– Tecnologie hardware, macchine di calcolo e vari
device
– nascita e storia delle reti e di Internet
– strumenti software
– modelli di comunicazione e lavoro
– linguaggi di programmazione
– evoluzione dell’automazione (fino alla robotica)
Potremmo tracciarne le vicende attraverso i
cambiamenti indotti sulla società o attraverso
le spinte che la società ha dato alla tecnologia?
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
INFORMAZIONE
• Informazione = qualunque forma di descrizione
della realtà:
• testo, immagini, video, audio... (vista, udito, tatto,
gusto e olfatto... ci sono modem che trasmettono
gli odori... la realtà virtuale simula il tatto... in
futuro chi lo sa...).Sono informazioni
analogiche.
• Noi viviamo sensazioni analogiche.
• Un elaboratore tratta informazioni digitali.
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
ANALOGICO o DIGITALE?
• E’analogico un procedimento che rappresenta un
fenomeno con continuità (es. la nostra percezione del
mondo, le lancette di un orologio, un termometro per
misurare la temperatura)
• E’digitale un procedimento che rappresenta lo stesso
fenomeno traducendolo in cifre (dall’inglese DIGIT =
CIFRA (ad es. un orologio digitale, un misuratore
elettronico di temperatura)
• La misurazione digitale, pur essendo “a salti”
(campionamento) è più precisa (sono però necessari
molti dati accurati)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
COMUNICAZIONE UOMO-MACCHINA (1)
• gli esseri umani comunicano (scambiano
informazioni) in modo analogico
• un elaboratore ragiona in modo digitale
• come avviene la comunicazione tra uomo e
macchina? Come si immagazzinano, trattano e
trasmettono le informazioni tramite un
elaboratore?
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
COMUNICAZIONE UOMO-MACCHINA (2)
• Come ragiona un essere umano adulto? Procedimento
complesso, fatto di molte “sfumature”... Raccoglie ed elabora
informazioni complesse dal mondo esterno.
• Un bambino che comincia ad apprendere, ragiona per
confronti semplici: fame, non fame; luce, buio, ecc... Col
tempo imparerà a operare confronti complessi.
• Un elaboratore “ragiona” mediante confronti semplici.
• Un elaboratore è fatto di circuiti (elettrici/elettronici) che
compiono determinate azioni (operazioni) a seconda che la
corrente passi o non passi per un determinato componente.
“Capisce”solo“passa corrente” e “non passa corrente”.
Dobbiamo esprimere tutto in questi termini. Attraverso VERO
(passa corrente) e FALSO (non passa corrente) e cioé si
usano le cifre 1(VERO) e 0 (FALSO)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
COMUNICAZIONE UOMO-MACCHINA (3)
Si usa il sistema binario, sia per indicare i numeri,
sia per indicare le lettere.
Combinando cifre binarie, riusciamo a “parlare”
(numeri e lettere, ma anche immagini, suoni, ecc.)
ad un elaboratore.
E’ dunque meglio parlare di ELABORATORE (visto
che elaboriamo informazioni) che di computer (che
fa solo operazioni matematiche come le nostre attuali
calcolatrici tascabili)...
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
INFORMAZIONI E INTERFACCE
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
ANALOGICO E DIGITALE
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Un po’ di Storia… del computer (1)
• Primi strumenti di computo:
– Dita (10, ma se si usano le falangi si può contare fino a 28)
– popolazioni andine (dal 600 al 1000) utilizzano i quipu (sistema
di corde e nodi in diverse posizioni per rappresentare i numeri)
– Abaco ABACO usato da oltre 450 anni in Giappone arrivato dalla
Cina
• Computer (prime macchine strumenti di computo):
– La Pascalina: 1642, a 19 anni, Blaise Pascal inventa una
macchina che dimostra che i calcoli possono essere compiuti in
modo meccanico: addizioni
– Leibnitz: 1671, progetta macchina calcolatrice che utilizza
pignoni dentati di varia lunghezza e versione perfezionata del
meccanismo di riporto ideato da Pascal: anche moltiplicazioni e
divisioni
Continua…
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Un po’ di Storia… del computer (2)
• Computer (continua da pagina precedente):
– Mancano comandi
– Scheda perforata: 1804, Joseph-Marie Jacquard perfeziona
l’idea di Falcon (un secolo prima scoprì un sistema automatico
per la tessitura)
– 1822, Charles Babbage realizza macchina differenziale in grado
di calcolare e stampare tavole nautiche ed astronomiche:
esegue i calcoli in base al metodo delle differenze evitando
calcolo delle moltiplicazioni
– 1833, Charles Babbage progetta macchina analitica di tipo
universale, ma non la realizza per i limiti della tecnica
dell’epoca. La macchina ha store (memoria) e mill (unità di
calcolo in cui programma espresso in schede perforate.
(Augusta Ada Byron, Contessa di Lovelace, grande sostenitrice)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Un po’ di Storia… del computer (3)
• Computer (continua da pagina precedente):
– 1938 - Konrad Zuse, primo ad usare i relay per una serie di
dispositivi di calcolo automatico, distrutti nel 1944 con i
bombardamenti degli alleati
• 1939 - John Vincent Atanasoff
– dispositivo basato su aritmetica binaria. Per memoria usava
condensatori periodicamente rinfrescati per mantenere carica
– attuali memorie RAM funzionano allo stesso modo. Sua
macchina non completata perché tecnologia di allora
inadeguata
• 1944 - Howard Aiken
– prima macchina americana general purpose. Conosciuta come
“IBM automatic sequence controlled calculator (ASCC)” o come
Mark I (lunga 15 m., alta 2,5 peso 5 tonnellate)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Un po’ di Storia… del computer (4)
• Computer (continua da pagina precedente):
– Durante II Guerra Mondiale: Turing, matematico inglese, aiutò
suo governo in realizzazione primo computer elettronico:
COLOSSUS (ma lavoro classificato top secret per 30 anni)
• 1946 - John Mauchley e Presper Eckert
– ENIAC (Electronic Numerical Integrator And Computer)
riconosciuto come primo calcolatore elettronico generalpurpose
– 18.000 valvole e 1.500 relay. Alto 3 metri, peso 30 tonnellate
• 1945 John Von Neumann: primo prototipo moderni calcolatori
elettronici
– EDVAC (Electronic Discrete Variable Automatic Computer).
• concretamente realizzato e messo in funzione nel 1952
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
COMPUTER O ELABORATORE?
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
BASI E NUMERI
• In un elaboratore ogni comando, parola, lettera
o cifra sono composti da una stringa (sequenza)
di 0 e 1 (ovvero un bit = Binary Digit)
• Siamo abituati ad usare il sistema decimale
perché impariamo a contare usando le nostre
10 dita, ma il sistema binario è più semplice e
più veloce: ho solo due simboli da imparare e
da usare!
• Anche se il sistema decimale ci sembra ovvio,
non si è contato sempre così!
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Curiosità
• Babilonesi, Cinesi e Maya capaci di rappresentare qualsiasi
numero con una limitata quantità di cifre di base
• Non si è contato sempre allo stesso modo, il sistema
notazionale o di calcolo odierno risultato di lunga
evoluzione.
• Ancora oggi ci sono popoli che non contano come noi, non
concepiscono numeri astratti e sono perplessi di fronte ad
operazioni del tipo 2+2=4.
I Boscimani non vanno oltre il cinque.
I Pigmei in Africa, i Botocudos in Brasile, gli Aranda in
Australia computano 1, 2, massimo 3 e oltre il 3 parlano in
termini di "molti" ("tanti quanto i capelli in testa").
• Per approfondimenti:
http://it.wikipedia.org/wiki/Sistema_numerico
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
IL SISTEMA DECIMALE
•
Il sistema decimale adotta una notazione posizionale: i numeri
hanno un “peso” diverso a seconda della posizione che occupano
•
Es. 111, ovvero 111
1 unità
1 centinaio
•
•
1 decina
“1” ha un diverso
valore a seconda
della posizione che
occupa!
Il numero di cifre usate da un sistema numerico si dice BASE. Nel
nostro caso usiamo 10 cifre (da 0 a 9), per cui la base è 10.
Ogni cifra, a seconda della sua posizione, indica quanti multipli
della base dobbiamo utilizzare (si usano le potenze):
Es. 111 = 1x102+1x101+1x100 = 1x100 + 1x10 + 1x1
Es. 215 = 2x102+1x101+5x100 = 2x100 + 1x10 + 5x1
•
•
La posizione è data dall’esponente. La più bassa (la posizione zero)
è quella più a destra.
RICORDATE: qualunque numero, elevato a zero, vale 1!!
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
IL SISTEMA BINARIO
e la conversione binariodecimale
• Abbiamo detto che l’elaboratore usa gruppi (stringhe) di bit
8 bit = 1 byte
• Per quanto riguarda i numeri, ogni posizione rappresenta una potenza di
2, a partire da quelle più basse, poste a destra:
27 26 25 24 23 22 21 20 (ricordate che qualunque numero
0 0 0 1 0 1 0 1 elevato a 0 ha come risultato 1)
• Per calcolare il valore decimale del numero binario scritto sopra, si
procede così (partendo da destra):
1x20 + 0x21 + 1x22 + 0x23 + 1x24 + 0x25 + 0x26 + 0x27
1x1 + 0x2 + 1x4 + 0x8 + 1x16 + 0x32 + 0x64 + 0x128 =
ovvero 21 in base decimale
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
=
IL SISTEMA BINARIO
e la conversione decimalebinario
• Un modo semplice per ricavare il corrispondente numero binario a partire
dal decimale è quello detto “per divisioni successive”. Consideriamo il
numero 21
• Si effettuano divisioni successive per 2 ed ogni volta il resto della divisione
fornisce il numero binario (0 o 1) da porre nella cifra binaria, partendo da
destra:
21:2=10
resto 1
1
10:2=5
resto 0
01
5:2=2
resto 1
101
2:2=1
resto 0
0101
1:2=0
resto 1
10101
• Ora si “riempie” di zeri a sinistra, per completare gli 8 bit.
• Otteniamo così 00010101 che è il numero 21 in binario
• Se si desidera, si indica la base in basso a destra
• Es. 000101012 e 2110
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
ALTRE NOTAZIONI
• Altre notazioni utilizzate in Informatica sono la notazione
ottale (cifre da 0 a 8) e quella esadecimale (da 0 a 9, più
le lettere da A a F).
• Esiste una regola generale per effettuare un cambiamento
di base:
– Scelta una base B, ogni numero è rappresentato da una sequenza di
simboli di valore compreso fra 0 e B-1
– A ogni posizione corrisponde una potenza della base, crescente da
ds a sin
– Valore del numero = somma dei prodotti di ogni cifra per la potenza
associata alla sua posizione
Es. aN-1aN-2...a1a0=aN-1*BN-1+aN-2*BN-2+...+a1*B1+a0*B0
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Una regola generale
• Vale la regola: con k bit posso rappresentare 2k caratteri
distinti, dunque:
• Con 3 bit posso rappresentare 23=8 caratteri distinti
• Con 4 bit posso rappresentare 24=16 caratteri distinti
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Esempi con altre basi
Conversione decimaleottale
• Es. 12710 =1778
Infatti: 127:8 = 15 resto 7
15:8 = 1 resto 7
1:8 = 0 resto 1
• Se facciamo la verifica:
7*80 + 7*81 + 1*82 = 7 + 56 + 64 = 127
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Esempi con altre basi
Conversione decimale esadecimale
• Es. 12710 =7E16
Infatti: 127:16 = 7 resto 15
7:16 = 0 resto 7
• Se facciamo la verifica:
15*160 + 7*161 = 15 + 112 = 127
(ricordiamo che E vale 15)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
BASI E NUMERI
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
SISTEMA DECIMALE – SISTEMA BINARIO
CONVERSIONI E OPERAZIONI
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
RAPPRESENTAZIONE DEI TESTI • Si utilizzano 52 lettere alfabetiche (maiuscole e minuscole) • 10 cifre (0..9) • Segni di interpunzione (,.;:!”?’^\ /…) • Operatori matematici + ‐ + [ ‐+ / > < ecc… • Caratteri tipici (à è ì ò ù … • Altri simboli @ # | £ $ % & • In totale sono circa 220 caratteri. Abbiamo visto che per i numeri si utilizzano 8 bit. Lo stesso vale per gli altri simboli. Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
I SIMBOLI ALFABETICI • Sono anch’essi codificati da un codice binario (8 bit) • Vi sono codifiche standard. Le più famose: – ASCII (American Standard Code for Information Interchange) 8 bit per carattere. Codifica 256 caratteri – ANSI (American National Standard Institute) – UNICODE 16 bit per ogni carattere, rappresenta ASCII e caratteri di qualsiasi lingua (può rappresentare 34168 caratteri) • Altre codifiche proprietarie: • MSWindows 16 bit per carattere (simile a unicode)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
TAVOLA ASCII Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
ESEMPIO DI CODIFICA ASCII 01110000 01101111 01101100 • Dividendo la stringa in gruppi di byte si risale alla parola (con riferimento alla tavola): 01110000 01101111 01101100 P O I Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
TAVOLE DEI CARATTERI
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
HARDWARE - tassonomia
• La parte fisica dell’elaboratore
• Si suole distinguere più classi di macchine:
Mainframe = grandi macchine, alta capacità di calcolo
Minicomputer= meno capacità delle precendenti, ma comunque elevate
prestazioni. Spesso adibite a calcolo scientifico
Network Computer= si indicano così, in generale, gli elaboratori collegati in
rete
Personal Computer= computer per uso domestico o personale sul lavoro
Laptop Computer= comunemente i “portatili”
Palmare o Personal Digital Assistant= di ultima generazione, di dimensione
estremamente ridotta
Terminali (stupidi=non hanno programmi residenti, ma usano
quelli sul server;intelligenti=hanno un minimo set di programmi installati) =
macchine in rete, collegate ad un Server (nodo principale della rete)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Archittettura di un elaboratore
Il modello di Von Neumann (1)
• 1946 – John Von Neumann
• Modello teorico ancora valido e molto
utilizzato (eccezione macchine ad
elaborazione parallela)
• Schematizza in modo omogeneo situazioni
diverse
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Il modello di Von Neumann (2) Concettualmente si identificano i componenti:
• Memoria (per procedura, dati iniziali, risultati
intermedi e finali)
• Funzione aritmetica(operazioni, non solo
aritmetiche, sui dati)
• Ingresso/Uscita(dispositivi per ricevere/inviare dati)
• Controllo (per eseguire passi procedure coordinando
flusso dati tra i preceenti componenti)
È il paradigma alla base dei calcolatori digitali
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Il modello di Von Neumann (3) Si suole schematizzare così l’architettura di Von Neumann: • Quattro blocchi comunicanti tra loro mediante il bus • Bus: canale di scambio informazioni (e segnali di controllo) CPU
Memoria
principale
Memoria
secondaria
BUS
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Dispositivi
INPUT
OUTPUT
Il modello di Von Neumann (4) Corrispondentemente ai concetti visti, si ha: • CPU (Central Processing Unit) • Memorie • Dispositivi I/O • Bus: nel modello di Von Neumann è costituito da 3 bus distinti: –Bus dei dati: i dati viaggiano da e verso la CPU –Bus degli indirizzi: dati solo da CPU –Bus dei segnali di controllo: dati solo da CPU Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Il bus • Scambio informazioni • Fisicamente: conduttori elettrici (linee) • Tre gruppi: – Linee dati – Linee indirizzi (identificano unità da usare durante trasferimento) – Linee di controllo(segnali temporizzazione, read/write, tipo dati) • Si possono avere conflitti • Dispositivi attivi: master (padroni) • Dispositivi passivi: slave (schiavi) Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
COMPONENTI BASE DI UN PC
Le principali:
- Memoria centrale (vista come celle,
ciascuna delle quali è identificata da un
indirizzo)
- Unità Centrale di Elaborazione (UCE)
- Unità periferiche di input e output
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
L’UNITA’ CENTRALE DI ELABORAZIONE
• Detta, più comunemente, CPU (Central Processing
Unit)
• È composta da:
• Microprocessore (sulla motherboard) – es. Pentium XXX
• ALU (Arithmetic Logic Unit) – unità preposta al calcolo
aritmetico e logico
• Unità di controllo – coordina le operazioni di I/O
(Input/Output)
Ci interessa in particolare il funzionamento della CPU
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
ISTRUZIONI E CPU
Le istruzioni interpretate dalla CPU devono avere un determinato formato:
- Un codice operativo (definisce il tipo dell’operazione)
- Uno o più operandi (che forniscoo gli indirizzi della memoria dove sono i dati e
dove va posto il risultato)
Un’istruzione può essere di tipo:
• Aritmetiche
• Di Input/Output
• Di Analisi e trasferimento del controllo da un punto di programma ad un altro
• Di trasferimento dati in memoria
Un ciclo completo di esecuzione di un’istruzione è dato da:
1. Trasferimento dell’istruzione in memoria centrale
2. Decodifica del codice operativo e degli operandi da parte della CPU
3. Trasferimento dati su cui operare dalla memoria centrale alla CPU
4. Esecuzione dell’istruzione
5. Trasferimetno dei risultati dalla CPU alla memoria centrale
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
PRESTAZIONI DI UN ELABORATORE
Dipendono principalmente dalla velocità di
esecuzione delle istruzioni
• Si misurano in MIPS(milioni di istruzioni al
secondo)
• La velocità è proporzionale alla frequenza del
clock(orologio interno che scandisce
l’esecuzione di una istruzione elementare)
• Si misura in MHz (milioni di cicli al secondo)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
PERIFERICHE DI INPUT E DI OUTPUT
• Periferiche di INPUT:
–Tastiera
–Mouse
– Trackball, touch pad, joystick
– Lettore ottico o scanner
– Lettori a barre
– Microfono
– Telefono
• Periferiche di OUTPUT:
– Monitor
– Stampante
– Plotter
– Casse acustiche, altoparlanti, cuffie
– Interfacce analogiche/digitali a strumentazioni
• Alcune periferiche possono essere di Input e di Output (es. floppy disk)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
DISPOSITIVI DI MEMORIA
MEMORIA VELOCE (CENTRALE):
• RAM – Random Access Memory (volatile,
capacità limitata). Ad accesso random, perciò più
veloce.
• ROM – Read Only Memory (firmware, bios).
Memoria a sola lettura.
MEMORIA DI MASSA:
• Dischi (Hard Disk, Floppy, CDRom, CDRW,
DVD, Zip Disk, Data Cartridge, Nastri
Magnetici...)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
CAPACITA’ DELLA MEMORIA
• L’unità elementare è il BIT (Binary Digit – 0 e 1).
La capacità di memoria si misura in multipli del
byte:
– 8 bit = 1 byte
– 1 Kbyte = 1024 byte
– 1 Mbyte = 1024 Kbyte
– 1 Gbyte = 1024 Mbyte
– 1 Tbyte = 1024 Gbyte
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
SOFTWARE
Tipi di software:
Software di sistema (per far funzionare la macchina)
Software applicativo (per le attività dell’utente. Es. Word)
Sistema Operativo. Funge da:
Supervisore (corretta gestione componenti)
Spool (gestisce op. di stampa o esecuz. Programmi)
Prgrm di gestione librerie (dati e programmi su mem massa) Prgrm di
diagnosi e correzione
Prgrm di definizione configurazione
Primo O.S.: D.O.S. (Ibm), interfaccia a caratteri
Moderni : G.U.I. – W.Y.S.I.W.Y.G., interfaccia grafica, intuitiva
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
FASI DI SVILUPPO DI UN SOFTWARE
• Analisi (si raccolgono le esigenze cui deve
rispondere il programma)
• Rappresentazione simbolica (di quanto evidenziato
in fase di analisi)
• Programmazione (traduzione in linguaggio).
• Test (si verificano tutte le funzionalità
• Messa in esercizio (il programma va all’utente
finale)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
LA FASE DI PROGRAMMAZIONE
E’ molto importante distinguere tra:
• Linguaggio ad alto livello (più comprensibile per
l’uomo, meno per la macchina, es. Java)
• Linguaggio a basso livello(più vicino alla macchina,
meno all’uomo, es. Assembly)
Vi sono due modus operandi:
• La programmazione attraverso un programma
interprete (il programma risultante viene eseguito
dall’elaboratore un’istruzione per volta)
• Attraverso un programma compilatore(il compilatore
traduce tutto il programma in linguaggio macchina e
l’elaboratore lo esegue tutto in una volta)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Programma • Insieme di istruzioni che il computer deve eseguire, connesse ad un compito specifico Tipologia programmi: • Interattivo: intervento operatore (necessario o voluto). Es. browser • Batch: nessun intervento Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Algoritmi • Nascita espressione simbolica di un problema (Al Waritzsmi, matematico arabo) • Flusso risolutivo = algoritmo • Varie rappresentazioni simboliche: • Schema a blocchi (diagramma di flusso) • Top‐down, down‐top • UML • Def algoritmo: sequenza finita, non ambigua, di passi eseguibili e ripetibili un numero finito di volte per portare a soluzione un dato problema (generale) Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Proprietà di un algoritmo
• finitezza: istruzioni in numero finito eseguite un
numero finito di volte
• non ambiguità: ogni istruzione deterministica e
univocamente interpretabile
• realizzabilità: istruzione deve essere realmente
eseguibile da parte del processore
• Gli algoritmi si distinguono in:
• Numerici (problemi di tipo matematico)
• Non numerici(tutti gli altri algoritmi)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Flusso esecuzione istruzioni
Può procedere in tre modi diversi:
• Sequenziale, istruzioni eseguite una dopo l’altra
• Iterativo (ciclico), una sequenza di istruzioni è
ripetuta un certo numero di volte
• Condizionale, istruzione o gruppo di istruzioni
eseguite solo se si verifica condizione
• La sequenza di istruzioni eseguibili su un
elaboratore è detta modulo eseguibile o
applicativo
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Evoluzione programmazione • GOTO: istruzioni di salto (spaghetti code) • GOSUB: programmazione sequenziale strutturata, da cui: • Funzioni e procedure • Programmazione ad eventi • Programmazione ad oggetti (modularità e riusabilità) Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
I processi • Il termine processo fa riferimento all’esecuzione di un programma • Il processo è un oggetto dinamico che evolve nel tempo; il programma è statico • Def. Processo: insieme di tutti i valori contenuti nella memoria centrale e neri registri della CPU durante l’esecuzione di un programma Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Terminazione e stati di un processo 3 motivi: • Termina il quanto a sua disposizione • Gli occorre una risorsa già in uso • Termina regolarmente Gestore dei processi (nucleo): responsabile dell’esecuzione dei programmi (quasi contemporanea) da parte dell’unità di elaborazione. Stati di un processo: • Attivato: appena stato creato • Pronto: ha tutte le risorse per procedere, è nella ready list • Esecuzione: è assegnato al processore (avviato) • Attesa (blocco): risorsa che chiede già impegnata • Terminato: è concluso e rilascia risorse Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Un po’ di Storia… degli OS
•
•
•
•
Principali sistemi operativi:
Nascita dell’MS DOS: 1981
Il System Apple (1976 e, grafico, nel 1984)
Nascita di Windows: 1985 (si chiamava Interface
Manager)
• Unix: 1960 (Multics) e 1969 (Unix)
• Linux (il primo e più importante progetto di sviluppo
condiviso di software nella storia dell’informatica):
1991
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Principali Sistemi Operativi: storia
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Sistema Operativo
• Def: gestore delle risorse dell’elaboratore
• Software di base
• Strato sw che opera direttamente sull’hw, isolando
gli utenti dai dettagli dell’architettura hw e
fornendo loro insieme di funzionalità ad alto livello
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Tipologie sistema operativo
• Mono utente: intero sistema dedicato a un solo utente
• Multi utente: più utenti condividono lo stesso sistema. In
questo caso il sistema nasconde a ciascun utente la
presenza degli altri, dando l’impressione che l’intero
sistema gli sia dedicato (time sharing)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Panoramica Sistemi Operativi
• Anni ’80: da informatica centralizzata a informatica
distribuita:
– Reti
– Problemi di gestione; compatibilità sw; sistemi operativi
standard e user-friendly
• Anni ’90: caratterizzati da miglioramento sistemi operativi
(sw quasi raggiunto hw)
• Per il personal computing è necessario guardare almeno a
questi sistemi:
– MS-DOS
– System Apple
– Windows
– Linux
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Il D.O.S.
• Acronimo di: Disk Operating System
• Prima uscita: 1981. Nel seguito forte evoluzioni
attraverso varie versioni (per interfaccia utente e
gestione risorse)
• Interfaccia a caratteri (imparare e ricordare)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Interfaccia caratteri
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Il S.O. del Macintosh (Apple)
MacOS della Apple, nato per computer Macintosh
Basato inizialmente su processori CISC Motorola 68000
Importante perché primo sistema operativo con GUI
Utilizzato per la prima volta nel 1984 (mondo IBM compatibile: DOS)
Interfaccia mutuata da un programma di ricerca della Xerox
Prevedeva già mouse (DOS no), driver 3,5’’
Maggior parte sistema operativo su ROM (DOS su floppy)
Prime versioni in Pascal con alcune parti in Assembly
Oggi Windows e Linux hanno stessa interfaccia, ma System Macintosh
arrivato prima
• Oggi compatibilità tra i programmi per i diversi sistemi operativi
•
•
•
•
•
•
•
•
•
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Windows
• Inizialmente si chiamava Interface Manager.
• Sviluppo inizia nel 1981, ma diffusione fine anni ’80-inizio
anni ’90
• Per IBM-compatibili
• Nasce da IBM con collaborazione Microsoft che poi lo acquisisce
• Interfaccia GUI
• Mantiene nucleo DOS dei comandi (interfaccia), presente
ancora oggi, limitatamente
• Anche nel mondo PC concetto di evento, uso di mouse
• Programmi interfaccia API (Application Program Interface)
• Concetto di finestra (su cartella) e icona (programmi) come
Apple. Stessa organizzazione ad albero del DOS
• Monopolio Microsoft
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Linux
• Primo e più importante progetto di sviluppo condiviso di software
nella storia dell’Informatica
• Luglio 1991: Linus Torvards (studente Università di Helsinki)
annuncia su Usenet di voler creare nuovo sistema operativo e chiede
collaborazione altri utenti in Rete
• 1991: versione 0.02
• 1992: prime distribuzioni
• Marchio di Linux: TUX, il pinguino
• Interfaccia grafica
• Programmi di office automation con stesse funzioni altri sistemi
• Tutto gratuito (OpenSource)
• Importante perché rappresenta reale alternativa a Microsoft
• Molto temuto. Principale concorrente da battere
• 2003: anno di SCO e di attacchi a Linux e al mondo OpenSource
(parti di Linux copiate dal sistema operativo SCO?)
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi
Cosa abbiamo visto • Informatica
• Comunicazione uomo/macchina
• Sistemi di numerazione
• Rappresentazione di dati numerici e alfanumerici
• Struttura di un elaboratore:
• Modello generale di un elaboratore (Von Neumann)
• Hw
• Sw
• applicativo
• di base
• Programmi; Algoritmi; Processi
• Il problema dell’interfaccia (carattere, GUI)
• Carrellata sui sistemi operativi
• Un po’ di storia
Prof. Raffaella Folgieri
DEMM – Dipartimento di economia, management e metodi quantitativi