La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

I primi elaboratori Anni ‘50 Rigidamente sequenziali non consentono uno sfruttamento buono delle risorse del sistema.

Presentazioni simili


Presentazione sul tema: "I primi elaboratori Anni ‘50 Rigidamente sequenziali non consentono uno sfruttamento buono delle risorse del sistema."— Transcript della presentazione:

1 I primi elaboratori Anni ‘50 Rigidamente sequenziali non consentono uno sfruttamento buono delle risorse del sistema

2 Alcune considerazioni + Software di gestione + hardware –ma sequenzialità a livello di singola unità hardware processori hardware (CPU, Canali) sistema delle interruzioni supervisore memoria centrale (di grossa capacità) rilocazione dinamica

3 Parallelismo e concorrenza Il superamento della stretta sequenzialità di un sistema avviene mediante due tecniche spesso coesistenti in un sistema calcolatore: –parallelismo –concorrenza

4 Parallelismo Due o più azioni si sviluppano in parallelo se vengono eseguite nel medesimo istante –Esempio Elaborazion e Lettura Unità centraleCanale I/O

5 Concorrenza Due o più processi si dicono concorrenti se in un intervallo di tempo avanzano su un medesimo processore –supervisore –sistema delle interruzioni

6 Esempio Prog. AProg. BSuperv  = Tc/Ta

7 Tecniche di gestione di un elaboratore Una prima classificazione –monoprogrammazione –multiprogrammazione –multielaborazione

8 U.C. I/O tata tbtb tctc tdtd

9 Sistema monoprogrammato Gestisce in maniera sequenziale nel tempo i diversi programmi. Si definiscono: –coefficiente di utilizzazione dell’unità centrale  c =[(tb-ta)+(td-tc)] / (td-ta) –coefficiente di utilizzazione del canale di I/O  I/O = (tc-tb) / (td-ta)

10 Sistema multiprogrammato Gestisce simultaneamente più programmi indipendenti Il S.O. –attribuisce dinamicamente i programmi ai processori indipendenti unità centrale canale I/O n°1 … canale I/O n°n

11 Passo 1Passo 2Passo 3 Lavoro di utente Correzione compilazione esecuzione Processo 1 Processo 2 Processo N... Lettura Elaboraz. Stampa Passi: sequenziali Processi: azioni elaborative parzialmente autonome in cui è suddiviso un passo. La multiprogrammazione è eseguita a livello di processi appartenenti a lavori distinti

12 Modalità di gestione consentite dal parallelismo e dalla concorrenza Batch (lotti) locale batch remoto time sharing (divisione di tempo) real time funzionamento interattivo

13 Avanzamento di processi in un sistema batch multiprogrammato 3 programmi: CPU File input File output

14 Sistema multielaborazione (multiprocessore) Sistema multiprogrammato con più di un’unità centrale Risorse: –unità centrale 1 –unità centrale 2 –canali di I/O utile anche per la continuità di servizio

15 Batch locale Obiettivo: sfruttamento ottimale delle risorse –N = MAX –N: numero di lavori eseguiti nell’unità di tempo Assortimento del lotto –lavori CPU bound –lavori I/O bound Priorità –definita dall’utente –modificata dal S.O.

16 Batch remoto Analogo a batch locale con terminali remoti terminale: –ingresso:programmi, dati –uscita: risultati

17 Time sharing Obiettivo: servire simultaneamente più utenti dedicando a ciascuno di essi tutte le risorse hardware e software disponibili Limitazioni: memoria, archivi, linguaggi Prog 1 t Prog 2 t Prog 3 t Prog N t... T = tempo di ciclo

18 Real time Obiettivo: fornire i risultati entro uno specifico tempo limite definizione: tempo si risposta del sistema  T Elab. centrale r Trasm.Elab. Trasm. Risult. r: richiesta di elaborazione r 

19 Real time: esempi Applicazioni in tempo reale per controllo di processo –  < tempo limite prefissato Applicazioni in tempo reale di tipo gestionale –  < tempo limite prefissato

20 Sistemi interattivi (conversazionali) È previsto un colloquio continuo tra l’utente e l’elaboratore in tempo reale –è giustificata solo se applicata per una pluralità di utenti ambiti di applicazione: –didattica –progettistica

21 Software di base Sottoprogrammi di sistema sottoprogrammi di linguaggio

22 Esempi Caricatori traduttori sottoprogrammi di I/O gestione archivi spooling dump di memoria trace correzione Dump di memoria di massa copia archivi biblioteche sottoprogrammi biblioteche programmi...

23 Altri programmi del software di base Sottoprogrammi per la gestione delle interruzioni –sono sottoprogrammi che vengono attivati ogni volta che si verificano condizioni che richiedono la sospensione momentanea o definitiva dell’esecuzione in corso

24 Sottop. per la gestione delle int.: compiti Individuano la causa dell’interruzione avviano le operazioni richieste dall’interruzione stessa provvedono, ove necessario, alle segnalazioni verso l’esterno

25 Sottop. per la gestione delle int.: esempio Errori nella trasmissione fra unità periferiche e unità centrale overflow, divisione per zero malfunzionamenti hardware condizioni anomale sulle unità periferiche –serbatoi di schede vuoti ecc.

26 Sottop. per la gestione delle interruzioni Ogni volta che si verificano tali situazioni vengono generati dalla circuiteria appositi segnali di interruzione se tali interruzioni sono abilitate vengono attivati i programmi per la gestione delle interruzioni

27 Controllo delle operazioni di I/O Intervento dell’operatore dal tavolo di comando richieste dalle unità periferiche (utilizzazione dei tempi morti nelle operazioni di I/O)...

28 Gestione del sistema Gestisce efficacemente le risorse hardware del sistema (memoria, unità centrale, unità periferica) –sottoprogrammi di interruzione –driver di I/O –pianificazione e allocazione memoria –caricatori –pianificazione e avanzamento lavori (multiprogrammazione) … supervisore

29 Supervisore Lancia l’esecuzione dei diversi processi sui relativi processori –eventi che producono l’intervento del supervisore termine operazioni di I/O richiesta utilizzo di canale scadere di un certo intervallo di tempo

30 Gestione dei lavori Effettua la schedulazione, il coordinamento dell’esecuzione e la fatturazione dei lavori. È interprete tra S.O. e utente –interprete JCL (job control language) –schedulatore –spooling

31 Gestione dei dati Provvede ad un efficiente e flessibile impiego delle memorie di massa –assegnazione di archivi a supporti fisici –controllo errori di I/O –pianificazione dell’impiego dei canali

32 Sottoprogrammi di I/O –di sistema: driver trascodifica –di linguaggio:interpretazione del formato Gestione archivi –consentono l’impiego di notazioni simboliche assegnazione dei file registrazione su file ricerca informazioni su file adoperano i sottoprogrammi di I/O

33 Linguaggio di comando (JCL: job control language) Il linguaggio con il quale l’utente si rivolge alla macchina virtuale –hardware + software –comandi –dati

34 Schema di un Sistema Operativo Prog. utilità BibliotecaTraduttori Gestione delle Interruzioni Supervisore Caricat. Di Sistema Gestione sistema Drivers Pian.Memor. Caricatori. Gestione Lavori Schedulat. Spooling. Interprete JCL Gestione dati Assegniaz. File Pianificazione Canali Controllo Errori.


Scaricare ppt "I primi elaboratori Anni ‘50 Rigidamente sequenziali non consentono uno sfruttamento buono delle risorse del sistema."

Presentazioni simili


Annunci Google