• Non ci sono risultati.

Hardware e Sw (Sistema Operativo) Ing. Alessandra Musolino Abilità Informatiche A.A. 2020/21

N/A
N/A
Protected

Academic year: 2022

Condividi "Hardware e Sw (Sistema Operativo) Ing. Alessandra Musolino Abilità Informatiche A.A. 2020/21"

Copied!
35
0
0

Testo completo

(1)

Hardware e Sw (Sistema Operativo)

Ing. Alessandra Musolino Abilità Informatiche

A.A. 2020/21

(2)

Funzioni di un computer

All’interno di un calcolatore si svolgono varie funzioni, classificabili nelle categorie seguenti:

• Elaborazione dati

• Memorizzazione dati (temporanea e/o permanente)

• Trasferimento dati da/verso esterno (Input/Output - I/O - mediante

periferiche e trasmissione dati)

• Controllo

(3)

Componenti di un computer

1. Hardware – indica l’insieme dei componenti materiali (CPU, memoria, dispositivi di I/O).

2. Sistema Operativo – software di base che controlla e coordina l’uso dell’hardware tra le varie applicazioni dei vari utenti (e.g., Windows, Mac OS, iOS, Android)

3. Programmi applicativi – software che utilizza le risorse del

sistema per specifiche applicazioni (compilatori, database,

video game, programmi di gestione)

(4)

Evoluzione dei computer (gen 1-3)

Generazione Prima (anni ‘50)

• Tecnologia a valvole

• Bassa affidabilità

• Elevati consumi energetici

• Linguaggio macchina

Seconda (anni ‘60)

• Tecnologia a transistor

• Affidabilità più elevata

• Consumi minori

Terza (anni ‘70)

• Tecnologia a circuiti integrati

• Linguaggi di programmazione di alto livello

(5)

Evoluzione dei computer (gen 4-5)

Generazione Quarta (anni ‘80)

• Personal computer

• Compattezza

• Costi ridotti

• Calore ridotto

• Aumento applicazioni

Quinta (giorni nostri)

• Dimensioni ridotte

• Consumi molto bassi

• Connettività di rete elevata

• Interfacce user-friendly

(6)

Linee di tendenza

• Miniaturizzazione

• Aumento della potenza di calcolo

• Aumento della capacità di memoria

• Aumento della connettività di rete

• Miglioramento dell’usabilità dell’interfaccia d’utente

• Riduzione del consumo di energia

(7)

Macchina di von Neumann

John von Neumann, è stato

un matematico e

informatico ungherese naturalizzato statunitense.

Nel 1952 definì per la prima volta in modo rigoroso il concetto di elaboratore elettronico a programma memorizzato (la cosiddetta macchina di von Neumann)

(8)

Architettura della macchina di von Neumann

Caratteristiche architettura a bus

• Semplicità

• Estendibilità (struttura modulare)

• Standardizzabilità

• Lentezza (bus unico = collo di bottiglia)

• Sovraccarico della CPU

(9)

Componenti di un computer

(10)

L’unità centrale (CPU o processore)

(11)

Capacità di elaborazione

L ’esecuzione delle operazioni è regolata da un orologio (clock) ad altissima frequenza:

~ 1 GigaHertz  ciclo = 0.000000001sec.

In generale, più alta è la frequenza maggiore è la potenza di elaborazione

Una singola istruzione può richiedere più cicli

Le moderne CPU hanno più core (unità di calcolo)

Possibile eseguire miliardi (10

9

) di operazioni aritmetiche al secondo

L ’unità di misura delle prestazioni sono i

Giga FLOPS (10

9

istruzioni tra numeri reali, FLoating point OPerations per Second)

I supercomputer hanno ormai prestazioni

nell’ordine dei Peta FLOPS: 10

15

FLOPS.

(12)

L’evoluzione dei processori

Legge di Joy MIPS =2 (anno-1984)

2 (2019-1984)= 34.360 milioni

(13)

La legge di Moore

(14)

Processori iPhone

• A10 Fusion a 2.3 GHz (iPhone 7/7 plus)

• A9 a 1.8 GHz (iPhone 6s/6s plus e SE)

• A8 a 1.4 GHz (iPhone 6/6 plus)

• A7 a 1.3 GHz (iPhone 5s)

• A6 a 1.3 GHz (iPhone 5/5c)

• A5 a 800 MHz (iPhone 4s)

• Produzione: Samsung (in calo) + TMSC (in ascesa)

(15)

Memorie

• Memoria Principale

• richiamata direttamente dalla CPU

• non permanente

• Memoria Secondaria

• richiamata tramite il sottosistema di input/output

• permanente

(16)

Interazione fra CPU e Memoria principale (centrale)

• Una volta caricata nella memoria centrale un’intera sequenza di istruzioni (il programma), l’unità di controllo interna alla CPU esamina la prima istruzione, la interpreta e ordina all’unità aritmetico-logica di eseguirla

• Il processore registra quindi il risultato della prima istruzione nella memoria centrale e prende in esame l’istruzione successiva

• Il ciclo si ripete fino a quando tutte le istruzioni sono

state eseguite

(17)

Memoria principale e secondaria

• Diversi obiettivi:

– (P) Supporto alla CPU: deve fornire alla CPU dati e istruzioni il più rapidamente possibile

– (S) Archivio: deve consentire di archiviare dati e programmi garantendone la conservazione e la reperibilità anche dopo elevati periodi di tempo

• Diverse esigenze:

– (P) velocità per il supporto alla CPU – (S) non volatilità ed elevata capacità

• Diverse tecnologie:

– (P) elettronica: veloce, ma costosa e dinamica (volatile)

– (S) stato solido (veloce e costosa); magnetica e ottica (economica, ma lenta)

(18)

I tipi di memoria principale

• Memoria ad accesso casuale (RAM)

• Casuale va inteso nel senso che il tempo di accesso non dipende dalla locazione

• Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione

• Tecnologia elettronica (1 transistor per ogni bit): veloce, volatile (conserva i dati solo se alimentata) e costosa

• Influisce sulla velocità complessiva (riduce l’accesso alla memoria di massa)

• Memoria di sola lettura (ROM)

• elettronica, permanente ma solo lettura

– Usata tipicamente per i programmi da caricare all’accensione

(come il

BIOS - Basic Input/Output System

)

(19)

Parametri di valutazione delle memorie

• Velocità di accesso

• Volatilità/Permanenza

• Capacità

• Costo (per bit)

(20)

Memoria vs. CPU

• Le CPU sono sempre state più veloci delle memorie

• La miniaturizzazione ha consentito alle CPU di raggiungere velocità di esecuzione sempre più elevate

• Nelle memorie è aumentata la capacità più che la velocità (da 1 MB di RAM nei PC degli anni ’80 a qualche GB dei

laptop di oggi)

• I tempi di accesso però

sono calati molto meno: da circa 100 nanosecondi a circa 10

• Inserire memorie molto più

veloci nello stesso chip della

CPU è molto costoso

(21)

Gerarchia di Memoria

(22)

Gerarchia di Memoria

Tipicamente costituita da:

1. Registri contenuti nella CPU (al più qualche KiloByte) 2. Cache (qualche MegaByte)

3. Memoria principale (alcuni-decine di GigaByte)

4. Dischi (da centinaia di GigaByte a qualche TeraByte) 5. Nastri magnetici e dischi ottici (da GB a TB)

Quando ci si sposta verso il basso nella gerarchia:

• aumenta il tempo di accesso;

• aumenta la capacità di memorizzazione;

• diminuisce costo per byte.

(23)

Le memorie di massa

• Dischi magnetici

– disco fisso (Hard-disk, capacità da poche decine a migliaia di GigaByte)

– dischi rimovibili (capacità come gli HD)

– Combinazione di parti meccaniche ed elettroniche

• Dischi ottici

– CD-ROM (Compact Disk a sola lettura, capacità tipica 650 Mbytes), CD-R (WORM), CD-RW (RAM)

– DVD (Digital Versatile Disk, capacità min 4.7 Gbyte, (1lato/1 strato) film full motion a schermo largo, 3 canali audio)

– Unità a stato solido

– non è un disco, capacità fino a qualche centinaio di GigaByte.

– Fondamentalmente una memoria Flash (di tipo Nand) – Tipiche di smartphone, tablet, laptop di fascia alta

(24)

Funzionamento di un hard disk

• Per effettuare un’operazione di lettura o scrittura è necessario che la testina si posizioni in corrispondenza del blocco desiderato

• La velocità di rotazione del disco può arrivare a 15000 giri al minuto!

• La meccanica del hard disk è molto sofisticata ma delicata

• La capacità di scrittura è dell’ordine di qualche MegaByte al secondo

• La capacità di lettura è più elevata grazie a meccanismi di pre-caricamento ed alla

presenza di memorie più veloci di appoggio.

(25)

Memorie a Stato Solido (SSD)

• L’unità a stato solido o drive a stato solido (SSD) utilizza memoria Flash per l'archiviazione di massa dei dati.

• Memorizza in modo non volatile grandi quantità di dati, senza utilizzare parti meccaniche

• Il tasso di rottura di un SSD oscilla tra lo 0.5% e il 3% annuo, mentre negli hard disk può raggiungere il 10% (segue una curva a vasca da bagno)

• Un SSD ha minori consumi e minore produzione di calore

• Un SSD ha tempi di accesso e archiviazione ridotti (decimi di millisecondo contro i 5 e i 10 millisecondi dei dischi magnetici)

• Il costo per byte del SSD è sensibilmente più elevato (per ora).

(26)

Costi iPhone

(27)

Il software

• Il software è l’insieme dei programmi che

gestiscono e realizzano le funzioni specifiche svolte dal computer

• Può essere classificato in

• Software di base (sistema operativo)

• Software applicativo

(28)

Classificazione software dal punto di vista dei diritti

• Software proprietario: solo diritto di utilizzo, senza possibilità di modifiche e con rilascio del solo codice eseguibile

• Software open source: rilascio del codice sorgente con permesso di modifiche ed estensioni (esempi: Firefox, VLC, Gimp, 7- Zip, OpenOffice, LibreOffice)

• Freeware: software proprietario ma concesso in uso gratuito.

• Software di pubblico dominio: software privo di copyright (il codice sorgente può non essere disponibile).

• Software con copyleft: è software che può essere usato, modificato e redistribuito, per il quale si impone che tutte le copie di tutte le versioni siano distribuiti sotto condizioni simili (es: licenza GPL).

• Shareware: può essere utilizzato e ridistribuito per un periodo di tempo limitato, ma richiede successivamente un pagamento

(29)

È un insieme di componenti software che gestisce hardware e fornisce servizi

(comuni) alle applicazioni

Principali Obiettivi

• Efficienza: cercare di utilizzare al meglio le risorse del calcolatore

• Semplicità: cercare di rendere più semplice l’utilizzo dell'hardware

sottostante nascondendo i dettagli

Cos’è un Sistema Operativo

(30)

Il mercato dei sistemi operativi

• È un mercato con forti concentrazioni (ma praticamente non regolamentato)

• Si tratta di sistemi “embedded” (legati alla scelta del computer)

Sistemi operativi mobili (Android oltre l’80%) Quote di mercato desktop/laptop

(Windows oltre l’80%)

(31)

Ruolo di intermediazione del S.O.

• Una singola applicazione perde la possibilità di controllare direttamente tutte le risorse (ma non deve neanche preoccuparsi di farlo)

• Vengono definite modalità standard di interfaccia con i dispositivi fisici, in modo da:

– sviluppare applicazioni in modo semplice, modulare ed indipendente dallo specifico hardware su cui viene fatto funzionare il sistema operativo;

– aggiornare il software di base e l'hardware in modo trasparente ai programmi applicativi e all'utente, ossia senza che vengano influenzati dall'operazione

.

(32)

SO vs. programmi applicativi

• Programmi applicativi

– hanno accesso a un insieme ridotto di risorse;

– possono utilizzare solo un sottoinsieme non

privilegiato delle istruzioni del processore (esecuzione in modalità utente);

– non possono decidere

autonomamente quando e come avere accesso alle risorse del sistema

(richiedono al sistema operativo l’esecuzione di alcuni servizi);

– …

• Sistema operativo

– ha accesso a tutte le risorse;

– può utilizzare tutte le istruzioni del processore (esecuzione in modalità supervisore);

– stabilisce in che ordine e come le richieste che riceve devono essere soddisfatte;

– …

(33)

Sistema Operativo Utente

Nucleo (o kernel) [gestione processore]

Hardware

Software applicativo

Gestione periferiche

File

system Interfaccia

con la rete Gestione

memoria Interprete

comandi

Componenti di un S.O.

(34)

Componenti di un S.O. (1/2)

• Gestione del processore:

– gestisce i programmi che sono contemporaneamente attivi

– mette a disposizione la CPU di un programma alla volta con un meccanismo di alternanza (scheduling)

– controlla l’esecuzione dei processi in modo da impedire che un programma possa danneggiarne un altro

• Gestione della memoria:

– Assegna parti della memoria centrale ai vari programmi in modo da soddisfare le relative esigenze in modo trasparente ed efficiente.

– Permette la parziale condivisione degli spazi di memoria associati ai vari programmi in modo che possano scambiarsi dati durante l’esecuzione.

• Gestione delle periferiche:

– Maschera le caratteristiche fisiche delle periferiche e le specifiche operazioni di ingresso/uscita

– Permette di effettuare operazioni contemporaneamente su diversi dispositivi (tastiera, dischi, schede di rete)

.

(35)

Componenti di un S.O. (2/2)

• Gestione dei file (file system):

– Organizza i contenuti dei dispositivi di memoria di massa (dischi, CD, DVD, etc.)

– Gestisce i file offrendo una visione logica indipendente dalla reale rappresentazione fisica sui dispositivi di memoria di massa

– Gestisce i privilegi relativi all’accesso ed alla modifica dei file

• Gestione degli utenti e dei relativi comandi (interprete comandi)

• Gestione della rete.

Riferimenti

Documenti correlati

La memoria virtuale permette una gestione e condivisione più efficiente della memoria centrale fra più processi che consente l’esecuzione di programmi la cui dimensione è

The required cross docking facilities and last mile depots are located in urban zone 1, within a 30 minute drive time to inner city delivery points – approximately five to

Come si evince dalle parole rivolte ai lettori oratoriani premesse alla prima edizione della Vita, già da qualche tempo egli aveva in animo di pubblicare il profilo di

Deve essere leggibile dal motore di ricerca Devo imparare a cercare.. Ci

La caratteristica dei collegamenti descritti sopra non è di essere loqici» ma di essere accettati dal cliente come modalità di orga- nizzare la propria esperienza; l'obiettivo è

Detto contraente è stato pertanto individuato attraverso l’uso della procedura negoziata senza previa pubblicazione di un bando di gara, evocando sia l’assenza di

• Sia Bob che Charlie ricevono il messaggio, controllano che il bitcoin con numero seriale 1234567 appartiene ad Alice, accettano la transazione e inviano in broadcast a tutti,

Se però sottoponiamo lo stesso input x al test un numero h di volte (con h abbastanza grande) e se tutte le volte l’output è “x è primo” allora (poiché la probabilità che