CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

Documenti analoghi
I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas

Lezione 2 Chiamate di procedura e risposta alle interruzioni

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect)

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Sistemi Operativi. Il sistema operativo: generalità Storia ed evoluzione dei sistemi operativi

Componenti principali

Componenti e connessioni. Capitolo 3

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione

Lezione 3 Sistemi Operativi e misure di performance. Parleremo di

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

Sistemi Operativi: Concetti Introduttivi

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

LA GESTIONE DELLA I/O

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Elementi di informatica

Il Microprocessore. Modello di Von Neumann

Architettura di Von Neumann

Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono

Il Sistema Operativo

La macchina di Von Neumann

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Sistemi Operativi. La gestione delle risorse

Sistemi Operativi. Lezione 3 Processi e Thread

Introduzione al Many/Multi-core Computing

Il Processore. Informatica di Base -- R.Gaeta 27

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

Il supporto al sistema operativo

Corso di Informatica

Struttura di un elaboratore

Architettura di von Neumann

Architettura di von Neumann

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Architettura degli Elaboratori

MODULO 1: INTRODUZIONE

Programmi per calcolo parallelo. Calcolo parallelo. Esempi di calcolo parallelo. Misure di efficienza. Fondamenti di Informatica

Appunti di informatica. Lezione 5 anno accademico Mario Verdicchio

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Gestione dei processi

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Architettura dei Calcolatori. Macchina di von Neumann /2. Macchina di von Neumann /1. Architettura dei Calcolatori

La gestione dell I/O (Cap. 5, Tanenbaum)

CPU. Maurizio Palesi

Architettura degli Elaboratori

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini

Architettura degli Elaboratori

La macchina di Von Neumann

Concetti Introduttivi

Elementi di informatica

Sistemi di Elaborazione delle Informazioni

Il modello di Von Neumann

Scheduling della CPU

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Architettura di un elaboratore. Il modello di von Neumann

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale

Introduzione all'architettura dei Calcolatori

Corso di Informatica

Stadi evolutivi e modalità d'uso dei sistemi

Pipeline nel Mondo Reale

I THREAD O PROCESSI LEGGERI

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo

I Processi. Il Concetto di Processo

ARCHITETTURA DI UN ELABORATORE

Corso di Fondamenti di Informatica Elementi di Architettura

Introduzione ai sistemi operativi

Pipeline Problemi 1. Pipeline Problemi 2

Architettura dei Calcolatori Elettronici

Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.

Calcolo numerico e programmazione. Sistemi operativi

Classificazione delle Architetture Parallele

Architettura dei calcolatori

Struttura Logica del S.O:

Il Sistema Operativo Concorrenza e Grafi di precedenza

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Introduzione al funzionamento di un calcolatore elettronico

Capitolo 6 Le infrastrutture SoftWare

Ciclo del Processore. Memoria

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads

Appunti del corso Informatica di base Lezione del 20 Feb. 2017

Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a)

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

Elementi di base del calcolatore

Come aumentare le prestazioni Cenni alle architetture avanzate

Architettura hardware

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

Input/Output (Cap. 7, Stallings)

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

ARCHITETTURA DI UN ELABORATORE

Sistemi a processori multipli

Calcolatori Elettronici: introduzione

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

Il Modello di von Neumann (2) Prevede 3 entità logiche:

ARCHITETTURA DI UN ELABORATORE

Evoluzione dei Sistemi. Prof. Giuseppe Pirlo Dipartimento di Informatica Università degli Studi di Bari

Macchina di von Neumann/Turing

Transcript:

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta. - Per gestione a lotti (batch) Un insieme di lavori (jobs) viene accorpato in un lotto (batch) su una unità di ingresso veloce (nastro/disco). I lavori sono caricati in sequenza; ogni lavoro viene eseguito senza interruzioni fino al termine. - Multiprogrammati Più di un programma è caricato in memoria contemporaneamente. Le operazione di I/O di un programma sono sovrapposte temporalmente all esecuzione delle istruzioni di un altro programma. Quando un processo in esecuzione (running) chiede un servizio di I/O al sistema operativo si blocca (blocked) in attesa del risultato. Il sistema operativo avvia l operazione di I/O e manda in esecuzione un altro processo che si trova in stato di pronto (ready). Il sistema operativo mantiene una o più code di processi gestite secondo la priorità assegnata a ciascuno di essi (scheduling). La CPU è ben sfruttata. La multiprogrammazione è incapace di differenziare fra programmi che richiedono un uso frequente delle periferiche, da quelli che richiedono l utilizzo per lunghi tempi della CPU (es. programmi di elaborazione matematica). Quando uno di questi programmi conquista la CPU non la rilascia, bloccando gli altri programmi. - Time-sharing (Interattivi) Il tempo di utilizzo della CPU viene suddiviso dal sistema operativo in fette (time slice con durata di 100-800 ms). Ogni processo in memoria riceve a turno l uso della CPU per una fetta di tempo. Usati soprattutto in ambiente multiutente. L utente lavora al terminale: RIFLETTE...SCRIVE RIFLETTE ESEGUE...SCRIVE COMPILA ed ha l impressione di avere la macchina a sua completa disposizione. 1

- Real-time Sistemi operativi al servizio di una specifica applicazione che ha dei vincoli precisi nei tempi di risposta. Il sistema operativo deve garantire un tempo massimo entro il quale mandare in esecuzione un programma a seguito di una richiesta in tal senso. Gestione di strumentazione di controllo di processi, di gestione di allarmi, di sistemi transazionali (banche, prenotazione). In generale si ha un sistema real time quando il tempo che passa dalla richiesta di esecuzione di un processo al completamento della stessa è estremamente ridotto. - Per macchine multiprocessori (sistemi concorrenti) Il sistema operativo si prende carico di assegnare le diverse CPU a processi diversi nonché di gestire le risorse in comune tra le varie CPU (memoria condivisa, bus, periferiche). A sua volta il sistema operativo può essere eseguito contemporaneamente da più CPU. N.B. I sistemi operativi integrano funzioni per la gestione delle reti di calcolatori. 2

EVOLUZIONE DELLE ARCHITETTURE DEI COMPUTER L evoluzione tecnologica ha prodotto CPU sempre più veloci. Però per migliorare drasticamente le prestazioni del calcolatore si è dovuto superare il limite intrinseco nella macchina di Von Neumann, cioè la stretta sequenzialità delle operazioni gestite dalla CPU. Nella macchina di Von Neumann ogni operazione viene tradotta in una sequenza di istruzioni macchina che, una dopo l altra, vengono acquisite, decodificate ed eseguite. C'è totale mancanza di parallelismo, che comporta un tempo globale di elaborazione pari alla somma dei tempi richiesti da ogni singola attività. Le evoluzioni architetturali della macchina di Von Neumann consentono invece diversi livelli di parallelismo. Esempi di situazioni che si prestano alla parallelizzazione: 1. due unità funzionalmente autonome, la CPU e un dispositivo di I/O, costrette a sequenzializzare le proprie attività impiegando un tempo pari alla somma dei singoli tempi di lavoro; 2. acquisizione, decodifica ed esecuzione di istruzioni da parte della CPU, che avvengono in modo strettamente sequenziale; 3. programma di calcolo, ad esempio su matrici, può richiedere alla CPU di ripetere le stesse istruzioni su dati diversi: spreco di tempo per acquisire ed interpretare le stesse istruzioni; 4. accessi alla memoria centrale: c'è sequenzialità di accesso senza prevedere alcun meccanismo per anticipare le richieste della CPU e per effettuare accessi a memoria in parallelo con altre operazioni della CPU stessa; - Parallelizzazione del colloquio CPU - periferiche Prevede una gestione efficiente delle operazioni di I/O mediante tre tecniche con diverso livello di parallelismo: l interfaccia segnala alla CPU (mediante interrupt) la terminazione delle operazioni di I/O; l interfaccia senza richiedere l intervento della CPU trasferisce informazioni direttamente con la memoria (DMA = Direct Memory Access); gestione tramite canale di I/O: si tratta di un dispositivo che consente di svincolare la CPU da operazioni di sincronizzazione, transcodifica, formattazione dei dati, ecc. 3

- Parallelizzazione del funzionamento della CPU : Pipeline Si basa sulla sovrapposizione delle diverse fasi di esecuzione di più istruzioni. Il tempo di esecuzione della singola istruzione non varia. Il tempo medio di esecuzione delle istruzioni si riduce di un fattore N, nel caso di pipeline a N stadi (caso ideale). I l throughput della CPU (numero di istruzioni eseguite per unità di tempo) migliora di un fattore N. Si sovrappone il tempo di esecuzione dell istruzione i-ma, con il tempo di decodifica dell istruzione (i+1)-ma, con il tempo di fetch dell operando dell istruzione (i+2)-ma e col t em po d i fetch del codice operativo dell istruzione (i+3)-ma. Devono valere le seguenti ipotesi Le risorse necessarie a svolgere ciascuno stadio sono distinte. (non ci sono conflitti per l uso delle risorse) Tutte le istruzioni hanno il medesimo formato. Il tempo richiesto per l esecuzione di tutti gli stadi è uguale. Una istruzione non dipende dal risultato di una istruzione precedente ancora nella pipeline (es: C = A+B, E = C*2). Non si devono eseguire salti. 4

In maniera più formale, si può definire il concetto di parallelismo in base ai due flussi di informazione normalmente presenti in un calcolatore: flusso dei dati (data stream); flusso delle istruzioni (instruction stream) Nella macchina di Von Neumann si hanno flussi singoli di dati ed istruzioni: la macchina è classificata come SISD (Single Instruction stream, Single Data stream) Una macchina SIMD (Single Instruction stream, Multiple Data stream) è caratterizzata da una sola unità di controllo ma da più unità aritmetiche indipendenti che effettuano la stessa operazione su dati diversi. Le operazioni sui dati diversi avvengono nello stesso istante ed ogni unità di elaborazione (PE: Processing Element) ha una memoria privata; i vari PE sono collegati tra loro per scambiarsi le informazioni. È adatta, ad esempio, ad elaborazioni matriciali che richiedano la valutazione di espressioni matematiche identiche su grandi quantità di numeri diversi. Le macchine MIMD (Multiple Instruction stream, Multiple Data stream) prevedono la replicazione dell intera struttura della macchina di Von Neumann per ottenere architetture multiprocessore. Si tratta di un calcolatore costituito da più unità di controllo e più unità di calcolo che operano in parallelo su flussi di dati diversi effettuando elaborazioni anch esse, a priori, diverse. 5

6