OS History Perspective

25
1 Introduzione “ascolto e dimentico, guardo e ricordo, provo a fare e capisco” (proverbio cinese) Corso di Tecnologia e Progettazione di Sistemi Informatici e di Telecomunicazione (TPSIT) A.S. 2014-2015 Prof. Emanuele Alberto Vecchi

description

Operating Systems History Perspective

Transcript of OS History Perspective

Page 1: 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

Page 2: OS History Perspective

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?

Page 3: OS History Perspective

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

Page 4: OS History Perspective

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

Page 5: OS History Perspective

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

Page 6: OS History Perspective

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

Page 7: OS History Perspective

7

Corso TPSIT - E. A. Vecchi

La gerarchia di un sistema

Page 8: OS History Perspective

8

Corso TPSIT - E. A. Vecchi

OS e HAL (Hardware Abstraction Layer)

Page 9: OS History Perspective

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)

Page 10: OS History Perspective

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

Page 11: OS History Perspective

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

Page 12: OS History Perspective

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

Page 13: OS History Perspective

13

Corso TPSIT - E. A. Vecchi

Generazione 2

Page 14: OS History Perspective

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

Page 15: OS History Perspective

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

Page 16: OS History Perspective

16

Corso TPSIT - E. A. Vecchi

Generazione 2

Tanenbaum & Woodhull, Operating Systems: Design and Implementation, 2006 Prentice-Hall

Page 17: OS History Perspective

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

Page 18: OS History Perspective

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

Page 19: OS History Perspective

19

Corso TPSIT - E. A. Vecchi

Generazione 2: batch system

Page 20: OS History Perspective

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

Page 21: OS History Perspective

21

Corso TPSIT - E. A. Vecchi

Generazione 3: la multiprogrammazione

Tanenbaum & Woodhull, Operating Systems: Design and Implementation, 2006 Prentice-Hall

Page 22: OS History Perspective

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

Page 23: OS History Perspective

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

Page 24: OS History Perspective

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

Page 25: OS History Perspective

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