Architetture dei Calcolatori -...

31
Architetture dei Calcolatori SISTEMI OPERATIVI Giorgio Giacinto 2018 Sistemi Operativi 2

Transcript of Architetture dei Calcolatori -...

Page 1: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Architetture dei Calcolatori

SISTEMI OPERATIVIGi

orgi

o Gi

acin

to 2

018

Sistemi Operativi

2

Page 2: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Componenti di un sistema di calcoloutente

1utente

2utente

3utenten

compilatore assemblatore editor di testi base di dati

programmi applicativi

sistema operativo

dispositivi fisici coordina e controllal'uso dei dispositivi

da parte dei programmiGior

gio

Giac

into

201

8

Sistemi Operativi

3

Architettura di un sistema di calcolo

Gior

gio

Giac

into

201

8

Sistemi Operativi

4

Page 3: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

La memoria» È l’elemento centrale dell’architettura di un

sistema di calcolo˃ Tutti i componenti del sistema memorizzano e

prelevano istruzioni e/o dati

» La CPU può eseguire solo istruzioni presenti in memoria

Gior

gio

Giac

into

201

8

Sistemi Operativi

5

Memoria principale» Accesso diretto, indipendente dalla posizione

˃ RAM e DRAM (Dynamic Random Access Memory)

» Memorie ROM (Read-Only) per informazioni che non si devono modificare (di frequente)

» Organizzazione˃ Una sequenza di celle di dimensione fissa (parola)

+ Ciascuna cella identificata univocamente da un indirizzo

Gior

gio

Giac

into

201

8

6

Sistemi Operativi

Page 4: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Accesso alla memoriaload <indirizzo>

» Carica in uno dei registri della CPU il contenuto della cella di memoria il cui indirizzo è specificato come argomento dell’istruzione

store <indirizzo>» Carica nell’indirizzo specificato come argomento

dell’istruzione, il contenuto di uno dei registri della CPU

Gior

gio

Giac

into

201

8

Sistemi Operativi

7

Esecuzione delle istruzioni

Architettura di Von Neumannl Il processore preleva (fetch) l’istruzione dalla memoria il cui

indirizzo è memorizzato nel registro Program Counter (PC)l Il Program Counter è incrementato al termine di ogni fase di fetch

Gior

gio

Giac

into

201

8

Sistemi Operativi

8

Page 5: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Registri della CPUGi

orgi

o Gi

acin

to 2

018

9

Sistemi Operativi

PC MAR

IR MBR

I/O AR

I/O BR

CPU Main Memory

SystemBus

I/O Module

Buffers

Instruction

012

n - 2n - 1

DataDataDataData

InstructionInstruction

Figure 1.1 Computer Components: Top-Level View

PC = Program counterIR = Instruction registerMAR = Memory address registerMBR = Memory buffer registerI/O AR = Input/output address registerI/O BR = Input/output buffer register

Executionunit

Esempio Somma di due numeri

Gior

gio

Giac

into

201

8

Sistemi Operativi

10

2

PC300CPU RegistersMemory

Fetch Stage Execute Stage

3 0 01 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 2

ACIR1 9 4 0

Step 1

••

PC300CPU RegistersMemory

3 0 11 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 2

ACIR1 9 4 0

0 0 0 3

Step 2

••

PC300CPU RegistersMemory

3 0 10 0 0 5

0 0 0 5

0 0 0 3

0 0 0 5

1 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 2

ACIR5 9 4 1

Step 3

••

PC300CPU RegistersMemory

3 0 21 9 4 0301 5 9 4 1302 2 9 4 1

1

940 0 0 0 3941 0 0 0 2

ACIR5 9 4 1

Step 4

••

PC300CPU RegistersMemory

3 01 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 2

ACIR2 9 4 1

Step 5

••

PC300CPU RegistersMemory

3 0 31 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 5

ACIR2 9 4 1

Step 6

••

3 + 2 = 5

Figure 1.4 Example of Program Execution(contents of memory and registers in hexadecimal)

Page 6: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Dimensioni della memoria» In teoria tutti i programmi in esecuzione e i

relativi dati dovrebbero risiedere nella memoria centrale. Ma…˃ La memoria centrale ha comunque una capacità

limitata (costo)˃ La tecnologia con cui si realizza la memoria centrale

non consente memorizzazione persistente

Gior

gio

Giac

into

201

8

Sistemi Operativi

11

Gerarchia dei dispositivi di memoria

Costo

Velocità

Gior

gio

Giac

into

201

8

Sistemi Operativi

12

Figure 1.14 The Memory Hierarchy

InboardMemory

OutboardStorage

Off-lineStorage

Main

Memory

Magnetic Disk

CD-ROM

CD-RW

DVD-RW

DVD-RAM

Blu-Ray

Magnetic Tape

Cache

Reg-

isters

Page 7: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Avviamento del sistema» All’accensione del sistema si esegue un

programma d’avviamento (bootstrap)memorizzato nel firmware (ROM)˃ inizializza i diversi componenti˃ carica in memoria il sistema operativo

+ di solito solo una parte, il kernel˃ avvia l’esecuzione del sistema operativo

» Il sistema operativo a questo punto attende che si verifichi qualche evento

Gior

gio

Giac

into

201

8

Sistemi Operativi

13

Eventi» Il flusso di esecuzione di istruzioni può essere

interrotto da eventi˃ Generati da un dispositivo fisico

interruzioni˃ Generati da un programma

eccezioni+ riconosciute dall’architettura hardware (ad es.,

divisione per zero)+ generate dalla richiesta di un servizio al sistema

operativo (system call o supervisor call)

Gior

gio

Giac

into

201

8

Sistemi Operativi

14

Page 8: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Esecuzione istruzioni e interruzioni

START

HALT

Fetch nextinstruction

Fetch Stage Execute Stage Interrupt Stage

InterruptsDisabled

InterruptsEnabled

Executeinstruction

Check forinterrupt;

initiate interrupthandler

Figure 1.7 Instruction Cycle with Interrupts

Gior

gio

Giac

into

201

8

15

Sistemi Operativi

Device Drivers1. Il processo utente chiede

l’uso di una periferica2. Il sistema operativo

trasmette la richiesta al driver appropriato

3. Il driver imposta i valori nel controllore della periferica

4. Il controllore avvia il trasferimento dati

5. A trasferimento avvenuto il controllore segnala al driver, il driver al sistema operativo e quest’ultimo al processo utenteGi

orgi

o Gi

acin

to 2

018

Sistemi Operativi

16

Page 9: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Gestione delle interruzioniGi

orgi

o Gi

acin

to 2

018

Sistemi Operativi

17

Direct Memory Access (DMA)» I trasferimenti dei dati fra dispositivo e

memoria centrale possono essere gestiti˃ dalla CPU˃ da un modulo dedicato chiamato DMA

+ una unità di elaborazione specifica che accede direttamente alla memoria come la CPU

Gior

gio

Giac

into

201

8

Sistemi Operativi

18

Page 10: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

RiassumendoGi

orgi

o Gi

acin

to 2

018

Sistemi Operativi

19

thread of executioninstructions

anddata

instruction executioncycle

data movement

DMA

memory

interrupt

cache

data

I/O request

CPU (*N)

device(*M)

Gior

gio

Giac

into

201

8

Sistemi Operativi

20

Page 11: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Sistemi mono- e multi-processore» Monoprocessore

˃ Una unità centrale di elaborazione responsabile di tutte le operazioni ovvero di alcuni compiti specifici

+ Ad es., scheda grafica, controller dischi, tastiera, ecc. sono esempi di architetture monoprocessore

» Multiprocessore˃ Un sistema dove molte unità di elaborazione

concorrono all’esecuzione+ Processori multicore sono una evoluzione

Gior

gio

Giac

into

201

8

Sistemi Operativi

21

Vantaggi architetture multiprocessore» Maggiore produttività

˃ throughput maggior quantità di lavoro eseguito per unità di tempo

» Economia di scala˃ Un sistema multiprocessore contro più sistemi

monoprocessore

» Maggiore affidabilità˃ tolleranza ai guasti˃ graceful degradation

Gior

gio

Giac

into

201

8

Sistemi Operativi

22

Page 12: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

SMPMultielaborazione simmetrica

Gior

gio

Giac

into

201

8

Sistemi Operativi

23

L1 Cache

Processor

MainMemory

I/OSubsystem

System Bus

CHIP CHIP CHIP

I/OAdapter

Figure 1.19 Symmetric Multiprocessor Organization

L2 Cache

L1 Cache

Processor

L2 Cache

L1 Cache

Processor

L2 Cache

I/OAdapter

I/OAdapter

Windows, macOS, Linux supportano SMPSMP

Le operazioni sono assegnate alla prima CPU libera.Multielaborazione asimmetrica quando ciascuna CPU esegue un compito specifico

Sistemi multi-core

Gior

gio

Giac

into

201

8

Sistemi Operativi

24

Figure 1.20 Intel Core i7-5960X Block Diagram

(a) Block diagram

(b) Physical layout on chip

SharedL3Cache

I/O

Cor

e

Cor

e

Cor

e

Cor

e

Mem

ory

Con

trol

ler

Cor

e

Cor

e

Cor

e

Cor

e

Core 0

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

256 kBL2 Cache

Core 1

• • •

256 kBL2 Cache

4 8B @ 2.133 GT/s

Core 6

256 kBL2 Cache

Core 7

256 kBL2 Cache

20 MBL3 Cache

DDR4 MemoryControllers

PCI Express

40 lanes @ 8 GT/s

Figure 1.20 Intel Core i7-5960X Block Diagram

(a) Block diagram

(b) Physical layout on chip

SharedL3Cache

I/O

Cor

e

Cor

e

Cor

e

Cor

e

Mem

ory

Con

trol

ler

Cor

e

Cor

e

Cor

e

Cor

e

Core 0

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

256 kBL2 Cache

Core 1

• • •

256 kBL2 Cache

4 8B @ 2.133 GT/s

Core 6

256 kBL2 Cache

Core 7

256 kBL2 Cache

20 MBL3 Cache

DDR4 MemoryControllers

PCI Express

40 lanes @ 8 GT/s

Intel Core i7-5960X

Page 13: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Gior

gio

Giac

into

201

8

Sistemi Operativi

25

In assenza di sistema operativo…

Gior

gio

Giac

into

201

8

26

Sistemi Operativi

Page 14: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Read one record from file 0.0015 secondsExecute 100 instructions 0.0001 secondsWrite one record to file 0.0015 secondsTOTAL 0.0031 seconds

Percent CPU Utilization =

0.00010.0031

= 0.032 = 3.2%

Figure 2.4 System Utilization Example

Multiprogrammazione» Una delle principali motivazioni per l’uso di un sistema

operativo è la multiprogrammazioneSe il calcolatore eseguisse un programma alla volta, il processore sarebbe spesso inattivo perché in attesa del completamento delle istruzioni di I/O

Gior

gio

Giac

into

201

8

Sistemi Operativi

27

Multiprogrammazione» L’esecuzione concorrente di più programmi

consente l’esecuzione di un altro job quando il job in esecuzione è in attesa del completamento dell’I/O

Gior

gio

Giac

into

201

8

Sistemi Operativi

28

Page 15: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

MultiprogrammazioneGi

orgi

o Gi

acin

to 2

018

Sistemi Operativi

29

MultiprogrammazioneEsempio

Gior

gio

Giac

into

201

8

Sistemi Operativi

30

0%

0 5 10 15 20 25 30minutes

time

(a) Uniprogramming

JOB1 JOB2 JOB3Job History

Printer

Terminal

Disk

Memory

CPU

100%0%

100%0%

100%0%

100%0%

100%

0%

0 5 10 15minutes

(b) Multiprogramming

Figure 2.6 Utilization Histograms

JOB1JOB2

JOB3

Job History

Printer

Terminal

Disk

Memory

CPU

100%0%

100%0%

100%0%

100%0%

100%

time

Page 16: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

MultiprogrammazioneEsempio

Monoprogrammazione Multiprogrammazione

Uso del processore 20% 40%

Uso della memoria 33% 67%

Uso del disco 33% 67%

Uso della stampante 33% 67%

Tempo trascorso 30 min. 15 min.

Tasso di throughput 6 jobs/ora 12 jobs/ora

Tempo medio di risposta 18 min. 10 min.

Gior

gio

Giac

into

201

8

Sistemi Operativi

31

Organizzazione della memoria con multiprogrammazione

» La memoria deve contenere un certo numero di job per non lasciare la CPU inattiva

» È compito del sistema operativo stabilire˃ quali job fra quelli da eseguire

devono risiedere nella memoria˃ l'ordine nel quale i job saranno

eseguiti˃ Il sistema operativo può inoltre

gestire più utenti interattivi

Gior

gio

Giac

into

201

8

32

Sistemi Operativi

Page 17: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Sistemi a partizione di tempo» I sistemi a partizione di tempo (time sharing)

consentono a più utenti di interagire con il sistema

» Concetti analoghi alla multiprogrammazione ma obiettivi diversi˃ Multiprogrammazione ha l’obiettivo di massimizzare

il throughput˃ Time-sharing ha l’obiettivo di ridurre i tempi di

risposta per i diversi utenti

Gior

gio

Giac

into

201

8

Sistemi Operativi

33

Componenti un sistema operativo» La gestione della multiprogrammazione e dei

sistemi time-sharing ha originato lo sviluppo dei diversi componenti un sistema operativo˃ gestione della concorrenza˃ job e CPU scheduling˃ memoria virtuale˃ file system˃ gestione dei dischi˃ sicurezza dei dati e dei programmi

Gior

gio

Giac

into

201

8

Sistemi Operativi

34

Page 18: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Gior

gio

Giac

into

201

8

Sistemi Operativi

35

Sistema operativo e interruzioni» Se nessun programma è in esecuzione…

…il sistema operativo deve restare in attesa» Il compito del sistema operativo è reagire a

segnali di interruzione causati dall’esecuzione di programmi utente

…ma il sistema operativo è un programma…Come è stata risolta questa ambiguità?

Gior

gio

Giac

into

201

8

36

Sistemi Operativi

Page 19: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Duplice modalità di funzionamento

» La CPU contiene due tipi di istruzioni˃ istruzioni utente˃ istruzioni privilegiate

» Le istruzioni privilegiate sono quelle che possono essere eseguite solo se la CPU si trova nel modo supervisore (kernel)

Giorgio Giacinto 2018 Sistemi Operativi 37

Cambio di modo» C’è una istruzione che causa il cambio di modo

˃ Questa istruzione può essere eseguita solo dal sistema operativo

» Ogni volta che il sistema operativo deve intervenire˃ interruzione˃ system call

la CPU passa da modo utente a modo kernelAl termine delle attività del sistema operativo la CPU passa da modo kernel a modo utenteIl sistema operativo è dunque strettamente accoppiato all’architettura hardware

Gior

gio

Giac

into

201

8

38

Sistemi Operativi

Page 20: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Virtualizzazione» Può essere considerata come una estensione

del cambio di modo» La CPU può supportare diversi livelli di istruzioni

privilegiate˃ Istruzioni di virtualizzazioni con minor privilegi del

kernel e maggior privilegi dei processi utente

» Intel 64˃ 4 livelli di privilegi, ma nessuno legato

esplicitamente alla virtualizzazione

Gior

gio

Giac

into

201

8

39

Sistemi Operativi

Timer» Il sistema operativo deve controllare che nessun

programma in esecuzione˃ entri in un ciclo infinito˃ prenda possesso indefinitamente delle risorse del

sistema (memoria, CPU, I/O, ecc.)

» L’hardware mette a disposizione un timer

Gior

gio

Giac

into

201

8

Sistemi Operativi

40

Page 21: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Gestione dei processi» Una definizione grossolana di processo è

un programma in esecuzione» Il Sistema Operativo deve occuparsi di

˃ creazione/cancellazione dei processi+ gestire l’assegnazione di risorse (memoria, CPU, I/O)

˃ sospensione/ripristino dei processi˃ fornire meccanismi per sincronizzazione e

comunicazione fra processi˃ fornire meccanismi per gestire situazioni di stallo

Gior

gio

Giac

into

201

8

Sistemi Operativi

41

Gestione della memoria» Nell’architettura di Von Neumann la memoria

centrale contiene le istruzioni e i dati» La CPU e i dispositivi I/O devono accedere alla

memoria» Il sistema operativo e l’hardware sottostante

realizzano i meccanismi per l’utilizzo della gerarchia di memoria˃ La memoria cache fa parte della gerarchia, ma non è

gestita dal sistema operativo

Gior

gio

Giac

into

201

8

Sistemi Operativi

42

Page 22: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Gestione della memoria di massa» File system

˃ Gestione dei documenti memorizzati permanentemente su dischi

+ codice sorgente, codice oggetto, programmi eseguibili, utilità, documenti utente in diversi formati (testo, audio, immagini, video, ecc.)

˃ Operazioni sui file+ creazione/cancellazione+ associazione file-dispositivo di memorizzazione+ backup

Gior

gio

Giac

into

201

8

Sistemi Operativi

43

Gestione della memoria di massa» Gestione dei dischi

˃ I supporti di memorizzazione a disco sono i più utilizzati per la persistenza delle informazioni

˃ Sistema operativo deve gestire+ spazio libero+ allocazione file su disco+ politiche di accesso per evitare che diventi un collo di

bottiglia– I dischi sono molto più lenti della CPU e della memoria

centrale

Gior

gio

Giac

into

201

8

Sistemi Operativi

44

Page 23: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Gestione della memoriaGi

orgi

o Gi

acin

to 2

018

Sistemi Operativi

45

Level

Name

Typical size

Implementationtechnology

Access time (ns)

Bandwidth (MB/sec)

Managed by

Backed by

1

registers

< 1 KB

custom memorywith multipleports CMOS

0.25 - 0.5

20,000 - 100,000

compiler

cache

2

cache

< 16MB

on-chip oroff-chipCMOS SRAM

0.5 - 25

5,000 - 10,000

hardware

main memory

3

main memory

< 64GB

CMOS SRAM

80 - 250

1,000 - 5,000

operating system

disk

4

solid state disk

< 1 TB

flash memory

25,000 - 50,000

500

operating system

disk

5

magnetic disk

< 10 TB

magnetic disk

5,000,000

20 - 150

operating system

disk or tape

Gestione I/O» Gestione canali di comunicazione fra memoria e

dispositivi˃ Gestione dei buffer˃ Gestione dello spooling

simultaneous peripheral operation online˃ interfacce generali per i driver˃ driver specifici per i dispositivi

Gior

gio

Giac

into

201

8

Sistemi Operativi

46

Page 24: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Protezione e sicurezza» Il sistema operativo gestisce l’esecuzione

concorrente di utenti diversi e processi diversi˃ Proteggere

+ ciascun processo+ ciascun utente + il sistema operativo

˃ da errori causati dagli altri processi e utenti+ errori accidentali, involontari… e volontari!

» Oggi la connessione dei calcolatori in rete rende difficile stabilire il perimetro di difesa

Gior

gio

Giac

into

201

8

Sistemi Operativi

47

Gior

gio

Giac

into

201

8

48

Sistemi Operativi

Page 25: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

ListeGi

orgi

o Gi

acin

to 2

018

Sistemi Operativi

49

» Sequenza di datidata data data null

• ••

data null nulldata data data

• ••

data data data data

• ••

Singly linked list

Doubly linked list

Circularly linked list

Pile e Code» Pila (stack)

˃ Una sequenza ordinata di dati con un solo punto di inserimento ed estrazione – LIFO (Last-In-First-Out)

+ push per inserire un elemento nella pila+ pop per estrarre l’elemento in cima alla pila

˃ usata per memorizzare variabili locali e indirizzi di ritorno delle funzioni

» Coda (queue)˃ Una sequenza in cui i dati si rimuovono nell’ordine in

cui sono inseriti – FIFO (First-In-First-Out)

Gior

gio

Giac

into

201

8

50

Sistemi Operativi

Page 26: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

AlberiGi

orgi

o Gi

acin

to 2

018

Sistemi Operativi

51

» Quando I dati hanno fra loro una relazione gerarchica

» Alberi binari di ricerca˃ Ogni nodo ha due figli˃ Il figlio di sn ha valore

inferiore al genitore˃ Il figlio di dx ha valore

superiore al genitore

17

35

40

42

12

146

32

Funzioni hash e Bitmap» Funzione hash

˃ Trasforma un valore in ingresso in un valore d’uscita+ Utile quando il dominio dei valori di ingresso è grande

ma pochi valori sono usati+ Trasformazione non biunivoca

– Collisioni quando due valori in ingresso si trasformano nel medesimo valore d’uscita

» Bitmap˃ Un array binario con tanti bit quanti sono gli

elementi di cui si vuole rappresentare lo stato+ Ad es., blocchi liberi su disco

Gior

gio

Giac

into

201

8

52

Sistemi Operativi

Page 27: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Gior

gio

Giac

into

201

8

53

Sistemi Operativi

Elaborazione tradizionale» L’elaborazione tradizionale si è evoluta negli

anni» Computer connesso in rete per attività di

˃ calcolo˃ disegno e progettazione˃ elaborazione documenti, immagini e video

» I programmi possono essere ˃ residenti sul calcolatore ˃ residenti su server remoti

Gior

gio

Giac

into

201

8

54

Sistemi Operativi

Page 28: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Dispositivi mobili» Identiche funzionalità degli elaboratori

tradizionali˃ limite in memoria e potenza di calcolo˃ limite in autonomia

» Elementi distintivi˃ interazione tattile˃ always-on˃ servizi di localizzazione (GPS)˃ sensori di movimento

Gior

gio

Giac

into

201

8

55

Sistemi Operativi

Sistemi distribuiti» Oggi tutti i calcolatori sono collegati in rete» I sistemi operativi offrono il supporto per la

gestione delle comunicazioni in rete» È possibile configurare un insieme di calcolatori distribuiti geograficamente come un unico sistema di elaborazione (cloud computing)˃ gestione distribuita del file system˃ gestione distribuita dei processi

Gior

gio

Giac

into

201

8

Sistemi Operativi

56

Page 29: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Sistemi Client-Server» Spostare l’elaborazione su pochi server ad alte

prestazioni » Servizi fruibili da elaboratori con minor potenza

computazionale

Gior

gio

Giac

into

201

8

57

Sistemi Operativi

Server Network

clientdesktop

clientlaptop

clientsmartphone

Sistemi Peer-to-Peer» Ciascun elemento agisce da server nei confronti

degli altri client» Può essere supportato da un registro

centralizzato.

Gior

gio

Giac

into

201

8

58

Sistemi Operativi

client

clientclient

client client

Page 30: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Virtualizzazione» Emulazione CPU

˃ Più sistemi operativi isolati fra loro sullo stesso hardware

˃ Più sistemi operativi ospiti (guest) su un sistema operativo ospitante (host)

Gior

gio

Giac

into

201

8

59

Sistemi Operativi

(a)

processes

hardware

kernel

(b)

programminginterface

processes

processes

processes

kernelkernel kernel

VM2VM1 VM3

managerhardware

virtual machine

Cloud Computing» Public cloud» Private cloud» Hybrid Cloud» SaaS – Software-as-a-Service» PaaS – Platform-as-a-Service» IaaS – Infrastructure-as-a-Service

Gior

gio

Giac

into

201

8

60

Sistemi Operativi

Page 31: Architetture dei Calcolatori - people.unica.itpeople.unica.it/giorgiogiacinto/files/2018/09/02SO.GeneralitaSisE... · dei Calcolatori SISTEMI OPERATIVI ... Architettura di un sistema

Sistemi a orientamento specifico» Sono i sistemi più diffusi

˃ centraline motori autoveicoli˃ sistemi avionici˃ grandi e piccoli elettrodomestici˃ smartphone, lettori multimediali, Smart TV, consolle

giochi…˃ robotica

» Il sistema operativo e l’hardware sono progettati in modo strettamente accoppiato

Gior

gio

Giac

into

201

8

Sistemi Operativi

61