1. Corso di
SISTEMI DI ELABORAZIONE E DI
TRASMISSIONE DELL’INFORMAZIONE
(SETI)
A.S. 2012-2013
Prof. Emanuele Alberto Vecchi
Lezione 1
Introduzione
“ascolto e dimentico, guardo e ricordo, provo a fare e capisco”
(proverbio cinese)
1
2. Corso SETI - E. A. Vecchi
Da dove partiamo?
Programma di 3’
Comunicazioni e Codifiche
Sistemi e modelli
Automi
Il modello logico funzionale dell’elaboratore
Introduzione alle reti di computer
Microprocessore
Il linguaggio Assembly
2
3. Corso SETI - E. A. Vecchi
Obiettivi 1
Approfondimenti dell’architettura di
un elaboratore
Componenti hardware
Gestione di bus e periferiche
Configurazione iniziale di un sistema
Il microprocessore 8086
Cenni all’architettura IA-32
Gestione delle interruzioni
3
4. Corso SETI - E. A. Vecchi
Obiettivi 2
I sistemi operativi
Definizione, caratteristiche, modelli
Processi, stati di un processo, thread
Nucleo e schedulazione del
processore
Gestione delle risorse:
memoria, periferiche e virtualizzazione
file system fisico e logico, dischi
4
5. Corso SETI - E. A. Vecchi
Obiettivi 3
I sistemi operativi
Sicurezza
Concorrenza
Sistemi operativi
DOS, Windows, Linux
Installazione e configurazione di un sistema
Comandi Linux e programmazione della shell
5
6. Corso SETI - E. A. Vecchi
Il sistema operativo
Insieme di programmi con lo scopo di:
Gestire in modo ottimale le risorse di un
calcolatore
Facilitare a programmatori e utenti finali l’uso
della sottostante macchina hardware
6
7. Corso SETI - E. A. Vecchi
La gerarchia di un sistema
7
8. Corso SETI - E. A. Vecchi
Un po’ di storia: generazioni
Generazione 1 (1945 – 55)
Valvole modello open shop, applicazioni
scientifiche
Generazione 2 (1955 – 65)
Transistor, sistemi batch, applicazioni
scientifiche e prime applicazioni commerciali
Generazione 3 (1965 – 80)
ICs, sistemi multiprogrammati e timesharing,
applicazioni commerciali
Generazione 4 (1980 – oggi):
VLSI, applicazioni personali
8
9. Corso SETI - E. A. Vecchi
Generazione 1
1944-Harvard Mark-1
Concepito ad Harvard dal professor
Howard Aiken, progettato e costruito
da IBM, occupava un salone e
funzionava a relé
Il funzionamento era
elettromeccanico ed era costituito da
migliaia di componenti
Veniva usato per produrre tavole
matematiche e fu successivamente
sostituito da macchine
programmabili
Nel 1946 comparve l’ENIAC
Programmato a spinotti
5 kops, 1000 x HM1
9
10. Corso SETI - E. A. Vecchi
Generazione 1
Open Shop
Gli utenti accedevano a turno al calcolatore dove
caricavano ed eseguivano i loro programmi
Sistema poco efficiente: un utente ogni 20 min circa
Lavori lunghi ed elaborazioni brevi trattati in modo
paritetico
La memoria del calcolatore era completamente a
disposizione dell’utente finale
10
11. Corso SETI - E. A. Vecchi
Generazione 2: la scheda perforata
Progettata nel 1928 da IBM: 80 colonne e 12 righe
La codifica utilizzata era la EBCDIC, ideata da IBM tra il
1963 e il 1964, per il System/360
Curiosamente EBCDIC non diventò lo standard, come in
molti altri casi, e venne soppiantato dal codice ASCII
11
13. Corso SETI - E. A. Vecchi
Generazione 2
Eliminazione dei tempi di input (dati e programmi)
con l’introduzione delle schede perforate
L’utente:
preparava off-line il programma su schede perforate
accedeva al lettore di schede, caricava il programma
che veniva eseguito
attendeva i risultati stampati
13
14. Corso SETI - E. A. Vecchi
Generazione 2
La comparsa dei lettori di schede richiese in
memoria centrale un programma che fosse in
grado di:
Gestire la periferica (Card Reader) e leggere le schede
Interpretare ed eseguire i comandi richiesti (JCL)
Copiare il contenuto delle schede in memoria
“lanciare” l’esecuzione del programma e stampare
l’output
Il profilo temporale dell’esecuzione è:
Input1 - elab1 - output1 - Input2 - elab2 - output2...
14
15. Corso SETI - E. A. Vecchi
Generazione 2: i Batch
Nasce l’esigenza di ottimizzare l’uso dei sistemi di calcolo
e di eliminare dal “ciclo produttivo” le unità di I/O
Le unità di I/O, card reader e stampanti, che fino a quel
momento erano state collegate ai calcolatori vengono
sostituite da unità a nastri, molto più veloci
Nascono i TOS. Si modifica completamente lo schema di
accesso a un calcolatore
I programmi vengono caricati su nastri magnetici, elaborati su
nastri, l’output letto da nastri
Il profilo temporale dell’esecuzione è:
Input1,2...n - elab1,2...n - output1,2...n...
15
16. Corso SETI - E. A. Vecchi
Generazione 3: la multiprogrammazione
Applicazioni tipicamente commerciali o
molto interattive
Nascono come risposta al problema di un
miglior sfruttamento della CPU
SO di riferimento:
IBM OS/360
Digital PDP-8 (12 bit), PDP-11 (16 bit)
Digital VAX11/780
16
17. Corso SETI - E. A. Vecchi
Generazione 3: la multiprogrammazione
I sistemi multiprogrammati hanno le
seguenti caratteristiche:
Consentono la coesistenza
CONTEMPORANEA in memoria centrale di
due o più programmi
Adottano meccanismi che consentono di
svincolare l’attività della CPU da quella delle
periferiche di I/O
Ottimizzano l’uso della CPU 17
18. Corso SETI - E. A. Vecchi
Generazione 4
Programmazione user-friendly e Personal Computing
Sistemi operativi più facili da utilizzare
Installabili da utenti poco esperti e utilizzabili da ogni classe di
utente
Nasce la nozione di sistema user-friendly: interfacce utente a
finestre e icone
I principali sistemi operativi di IV generazione sono:
UNIX: molto diffuso su workstation, ma nato in un contesto
industriale
LINUX, FreeBSD, OpendBSD: in ambiente PC
MS-DOS -> W95/98 -> WNT -> W2000 -> XP -> VISTA -> W7...
Nato per PC IBM e compatibili, che usavano il processore Intel 8088
Con WNT Microsoft ha iniziato ad operare sul mercato delle WKS
18
19. Corso SETI - E. A. Vecchi
Generazione 4
SO di IV generazione per primi hanno una
risorsa in più da gestire: LA RETE
Dalla metà degli anni ’80:
lo sviluppo di protocolli per reti locali
e per reti geografiche
ha favorito lo sviluppo delle reti di calcolatori
19
20. Corso SETI - E. A. Vecchi
Le funzionalità di un SO
L’ insieme dei programmi che compongono un SO
svolgono le seguenti funzioni:
Inizializzazione del sistema
Gestione dei processi
Gestione della Memoria
Gestione delle periferiche I/O ( tra cui gli apparati di
comunicazione )
Gestione dei file
Interprete dei comandi
Protezione e Sicurezza (last but not least!)
20
Editor's Notes
Fondamenti di informatica : Teoria di base dei sistemi, Teoria di base dell’informazione (Lab) Il personal computer. Elementi di assembly : Fondamenti di assembly 8086, Programmazione assembly (Lab) Introduzione all’assembly. Sottosistema I/O : Le interruzioni, Gestione dell’I/O (Lab) Assembly avanzato. Dispositivi di I/O : Dispositivi programmabili di sistema, Comunicazione parallela e seriale (Lab) Programmazione c/assembly.