Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
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 Elaborazione Lettura Unità centrale Canale 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. A Superv. Prog. B 1 4 2 3 6 5 = Tc/Ta
7
Tecniche di gestione di un elaboratore
Una prima classificazione monoprogrammazione multiprogrammazione multielaborazione
8
U.C. I/O ta tb tc td
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 1 Passo 2 Passo 3 Lavoro di utente Processo 1 Processo 2
Correzione compilazione esecuzione Processo 1 Processo 2 Processo N ... Passi: sequenziali Processi: azioni elaborative parzialmente autonome in cui è suddiviso un passo. Lettura Elaboraz. Stampa 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
CPU File input File output 3 programmi: 1 2 3
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
Obiettivo: sfruttamento ottimale delle risorse
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
Analogo a batch locale con terminali remoti terminale:
Batch remoto Analogo a batch locale con terminali remoti terminale: ingresso: programmi, dati uscita: risultati
17
Limitazioni: memoria, archivi, linguaggi
Time sharing Obiettivo: servire simultaneamente più utenti dedicando a ciascuno di essi tutte le risorse hardware e software disponibili Limitazioni: memoria, archivi, linguaggi t t t t ... Prog 1 Prog 2 Prog 3 Prog N T = tempo di ciclo
18
Obiettivo: fornire i risultati entro uno specifico tempo limite
Real time Obiettivo: fornire i risultati entro uno specifico tempo limite definizione: tempo si risposta del sistema r T Elab. centrale Trasm. Elab. Trasm. Risult. r r: richiesta di elaborazione
19
Applicazioni in tempo reale per controllo di processo
Real time: esempi Applicazioni in tempo reale per controllo di processo < tempo limite prefissato Applicazioni in tempo reale di tipo gestionale
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
Lancia l’esecuzione dei diversi processi sui relativi processori
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
Provvede ad un efficiente e flessibile impiego delle memorie di massa
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
adoperano i 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à Biblioteca Traduttori Gestione delle Interruzioni Supervisore Caricat. Di Sistema Pian.Memor. Caricatori Gestione sistema Drivers . Schedulat. Interprete Spooling Lavori JCL Assegniaz. File Pianificazione Controllo Canali Errori dati
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.