Introduzione all’Informatica – parte 1 › biotech › Lezione1-intro-storia.pdf ·...

Post on 28-Jun-2020

3 views 0 download

Transcript of Introduzione all’Informatica – parte 1 › biotech › Lezione1-intro-storia.pdf ·...

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