OS History Perspective
description
Transcript of OS History Perspective
1
Introduzione“ascolto e dimentico, guardo e ricordo, provo a fare e capisco”
(proverbio cinese)
Corso diTecnologia e Progettazione di SistemiInformatici e di Telecomunicazione (TPSIT)A.S. 2014-2015Prof. Emanuele Alberto Vecchi
2
Corso TPSIT - E. A. Vecchi
Programma di 3’ anno Comunicazioni e Codifiche Sistemi e modelli (Automi) Il modello logico funzionale
dell’elaboratore Introduzione alle reti di computer Microprocessore Il linguaggio Assembly
Da dove partiamo?
3
Corso TPSIT - E. A. Vecchi
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
Obiettivi 1
4
Corso TPSIT - E. A. Vecchi
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
Obiettivi 2
5
Corso TPSIT - E. A. Vecchi
I sistemi operativi Sicurezza Concorrenza
Sistemi operativi DOS, Windows, Linux Installazione e configurazione di un
sistema Comandi Linux e programmazione della
shell
Obiettivi 3
6
Corso TPSIT - E. A. Vecchi
E’ un sistema di software Insieme di programmi
A cosa serve? Facilitare a programmatori e utenti
finali l’uso dell’hardware sottostante
Il sistema operativo
7
Corso TPSIT - E. A. Vecchi
La gerarchia di un sistema
8
Corso TPSIT - E. A. Vecchi
OS e HAL (Hardware Abstraction Layer)
9
Corso TPSIT - E. A. Vecchi
A cosa serve? Gestire le risorse di un calcolatore Consentire la multiprogrammazione
più programmi evolvono “contemporaneamente” Proteggere e autorizzare
Accessi a memoria, I/O e altre risorse Multiplexing (condivisione) di risorse in 2 modi
Nel tempo Nello spazio
Il sistema operativo (2)
10
Corso TPSIT - E. A. Vecchi
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
Un po’ di storia: generazioni
11
Corso TPSIT - E. A. Vecchi
1944: Harvard Mark-1 Concepito ad Harvard dal
professor Howard Aiken, progettato e costruito da IBM, occupava un salone e funzionava a relé
funzionamento elettromeccanico costituito da migliaia di
componenti Veniva usato per produrre tavole
matematiche fu successivamente sostituito da
macchine programmabili 1946: ENIAC
Programmato a spinotti 5 kops, 1000 x HM1
Generazione 1
12
Corso TPSIT - E. A. Vecchi
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
Generazione 1
13
Corso TPSIT - E. A. Vecchi
Generazione 2
14
Corso TPSIT - E. A. Vecchi
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 riuscì ad IBM in molti altri casi, e venne soppiantato dal codice ASCII
Generazione 2: la scheda perforata
15
Corso TPSIT - E. A. Vecchi
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
Generazione 2
16
Corso TPSIT - E. A. Vecchi
Generazione 2
Tanenbaum & Woodhull, Operating Systems: Design and Implementation, 2006 Prentice-Hall
17
Corso TPSIT - E. A. Vecchi
La comparsa dei lettori di schede richiese un programma in memoria centrale che fosse in grado di: Gestire la periferica (Card Reader) e leggere le
schede Interpretare ed eseguire i comandi richiesti (in JCL)
JCL=Job Control Language Copiare il contenuto delle schede in memoria Eseguire il programma e stampare l’output
Il profilo temporale dell’esecuzione è: Input1 - elab1 - output1 - Input2 - elab2 - output2...
Generazione 2
18
Corso TPSIT - E. A. Vecchi
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 (Tape Operating Systems). 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...
Generazione 2: i Batch
19
Corso TPSIT - E. A. Vecchi
Generazione 2: batch system
20
Corso TPSIT - E. A. Vecchi
Applicazioni tipicamente commerciali e/o molto interattive
Rispondono all’esigenza di un miglior sfruttamento della CPU
OS (Operating Systems) di riferimento: IBM OS/360 Digital PDP-8 (12 bit), PDP-11 (16 bit) Digital VAX11/780
Generazione 3: la multiprogrammazione
21
Corso TPSIT - E. A. Vecchi
Generazione 3: la multiprogrammazione
Tanenbaum & Woodhull, Operating Systems: Design and Implementation, 2006 Prentice-Hall
22
Corso TPSIT - E. A. Vecchi
I sistemi multiprogrammati hanno le seguenti caratteristiche: Consentono la coesistenza
CONTEMPORANEA in memoria centrale di due o più processi (istanze di programmi)
Adottano meccanismi che consentono di svincolare l’attività della CPU da quella delle periferiche di I/O
Ottimizzano l’uso della CPU
Generazione 3: la multiprogrammazione
23
Corso TPSIT - E. A. Vecchi
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 -> Millenium WNT -> W2000 (il più stabile OS mai prodotto da Microsoft)
-> XP -> VISTA -> W7..., tutti nati per PC IBM e compatibili, che usavano il processore Intel 8088 e successive evoluzioni
Con WNT Microsoft ha iniziato ad operare sul mercato delle WKS
Generazione 4
24
Corso TPSIT - E. A. Vecchi
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
Generazione 4
25
Corso TPSIT - E. A. Vecchi
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 (la “shell”) Protezione e Sicurezza (last but not least!)
Le funzionalità di un SO