Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Introduzione all’Informatica – parte 1Lezione frontale
Prof. Raffaella FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
Informatica: definizione
Difficile definirla in modo univocomiglior definizione:
Scienza che raccoglie, organizza, elabora e conserva le informazioni e le gestisce in modoautomatico
Nasce da fusione parole INFORmazione autoMATICA
Dovremo specificare:- cosa intendiamo per INFORMAZIONE- come si può rendere l’informazione automatica
(Hw/Sw)Prof. Raffaella FolgieriDEMM – 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 FolgieriDEMM – 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 trasmettonogli odori... la realtà virtuale simula il tatto... in futuro chi lo sa...).Sono informazionianalogiche.
• Noi viviamo sensazioni analogiche.• Un elaboratore tratta informazioni digitali.
Prof. Raffaella FolgieriDEMM – 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 stessofenomeno traducendolo in cifre (dall’inglese DIGIT = CIFRA (ad es. un orologio digitale, un misuratoreelettronico di temperatura)
• La misurazione digitale, pur essendo “a salti” (campionamento) è più precisa (sono però necessari molti dati accurati)
Prof. Raffaella FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
COMUNICAZIONE UOMO-MACCHINA (1)
• gli esseri umani comunicano (scambianoinformazioni) 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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
INFORMAZIONI E INTERFACCE
Prof. Raffaella FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
ANALOGICO E DIGITALE
Prof. Raffaella FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – 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 general-purpose
– 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 FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
COMPUTER O ELABORATORE?
Prof. Raffaella FolgieriDEMM – 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 FolgieriDEMM – 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_numericoProf. Raffaella FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
1 centinaio 1 decina
1 unità
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
• 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 + 1x1Es. 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!!
“1” ha un diverso valore a seconda della posizione che occupa!
Prof. Raffaella FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
IL SISTEMA BINARIOe la conversione binariodecimale
• Abbiamo detto che l’elaboratore usa gruppi (stringhe) di bit8 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 numero0 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 FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
IL SISTEMA BINARIOe la conversione decimalebinario
• 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 110:2=5 resto 0 015:2=2 resto 1 1012:2=1 resto 0 01011: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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
Esempi con altre basiConversione decimaleottale
• Es. 12710 =1778
Infatti: 127:8 = 15 resto 715:8 = 1 resto 71:8 = 0 resto 1
• Se facciamo la verifica:
7*80 + 7*81 + 1*82 = 7 + 56 + 64 = 127
Prof. Raffaella FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
Esempi con altre basiConversione decimale esadecimale
• Es. 12710 =7E16
Infatti: 127:16 = 7 resto 157:16 = 0 resto 7
• Se facciamo la verifica:
15*160 + 7*161 = 15 + 112 = 127(ricordiamo che E vale 15)
Prof. Raffaella FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
BASI E NUMERI
Prof. Raffaella FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
SISTEMA DECIMALE – SISTEMA BINARIOCONVERSIONI E OPERAZIONI
Prof. Raffaella FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
TAVOLA ASCII
Prof. Raffaella FolgieriDEMM – 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 FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
TAVOLE DEI CARATTERI
Prof. Raffaella FolgieriDEMM – 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 calcoloMinicomputer= meno capacità delle precendenti, ma comunque elevate prestazioni. Spesso adibite a calcolo scientificoNetwork Computer= si indicano così, in generale, gli elaboratori collegati in retePersonal 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 ridottaTerminali (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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
Dispositivi Memoria Memoria secondaria CPU INPUT
OUTPUT principale
BUS
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)
Prof. Raffaella FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – 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 memoriaUn 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 FolgieriDEMM – 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 scandiscel’esecuzione di una istruzione elementare)
• Si misura in MHz (milioni di cicli al secondo)
Prof. Raffaella FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
FASI DI SVILUPPO DI UN SOFTWARE
• Analisi (si raccolgono le esigenze cui deverispondere il programma)
• Rappresentazione simbolica (di quanto evidenziatoin fase di analisi)
• Programmazione (traduzione in linguaggio). • Test (si verificano tutte le funzionalità• Messa in esercizio (il programma va all’utente
finale)
Prof. Raffaella FolgieriDEMM – 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 eseguitodall’elaboratore un’istruzione per volta)
• Attraverso un programma compilatore(il compilatoretraduce tutto il programma in linguaggio macchina e l’elaboratore lo esegue tutto in una volta)
Prof. Raffaella FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – 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 istruzionieseguite solo se si verifica condizione
• La sequenza di istruzioni eseguibili su un elaboratore è detta modulo eseguibile o applicativo
Prof. Raffaella FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
Principali Sistemi Operativi: storia
Prof. Raffaella FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi
Interfaccia caratteri
Prof. Raffaella FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – 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 FolgieriDEMM – Dipartimento di economia, management e metodi quantitativi