TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

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

Sistemi Operativi: Concetti Introduttivi

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

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

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

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

Scheduling della CPU

Lezione 2 Chiamate di procedura e risposta alle interruzioni

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

Struttura Logica del S.O:

Capitolo 6 Le infrastrutture SoftWare

Sistema operativo (SO)

Sistema operativo & file system 1

Componenti e connessioni. Capitolo 3

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

Fondamenti di Informatica T. Il Software

Dal sistema operativo all' hardware

Memoria Secondaria o di Massa

Corso di Informatica

Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf.

La memoria principale

I THREAD O PROCESSI LEGGERI

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Il Sistema Operativo

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:

Lezione 16. Il Software di base

Modulo 3. Software. Corso di Sistemi di elaborazione delle informazioni -Autore: Ing. Maurizio Patanè

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

Il computer P R O F. L O R E N Z O P A R I S I

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

Architettura dei calcolatori e Software di sistema

Informatica giuridica

Sistemi operativi. Motivazione. Tipi di software. Sistemi operativi. Un sistema operativo (SO) e un insieme di programmi che gestiscono le funzioni

Linguaggi, compilatori e interpreti

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

Architettura di Von Neumann

INFORMATICA E PC IL PERSONAL COMPUTER

Architettura hardware

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1

Come funzionano i computer

Il computer P R O F. L O R E N Z O P A R I S I

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

LA GESTIONE DELLA I/O

Elementi di Informatica

La memoria secondaria

I Processi. Il Concetto di Processo

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus

o studiare l architettura del calcolatore significa:

Sistema Operativo (Software di base)

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Prof. Rossella Cancelliere

Personal Computer: introduzione

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

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni

Valutazione delle prestazioni

Introduzione al funzionamento di un calcolatore elettronico

Input/Output (Cap. 7, Stallings)

Computer e Programmazione

LEZIONE 2 Il processore e la memoria centrale

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

Descrivere le operazioni che vengono svolte all'accensione del Computer

Esame di INFORMATICA Lezione 4

Il Sistema Operativo. Informatica Sistema Operativo 1

Struttura dell elaboratore elettronico

Come è fatto un computer

Transcript:

TEORIA DEI SISTEMI OPERATIVI Sistemi monoprogrammatie multiprogrammati 1

STRUTTURA DEL SISTEMA OPERATIVO UTENTE La struttura di un sistema operativo è di tipo gerarchico: i programmi che lo compongono si collocano a livelli diversi. I programmi ai livelli più bassi servono quelli ai livelli più alti. LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Esempi Gestione RAM Gestione CPU Gestione I/O Prog1 Prog2 Prog3 M1 Mn M1 M2 Mn M1 LIVELLO 1 Moduli (un modulo è un insieme di procedure che risolvono problemi di uno stesso tipo) HARDWARE 2

SISTEMA OPERATIVO : QUALE SCEGLIERE? Occorre tener conto dei seguenti fattori: Più utenti (a turno o contemporaneamente) sfruttano le capacità di uno stesso processore Alcuni eventi impongono la priorità di certe applicazioni su altre Il calcolatore deve eseguire più programmi contemporaneamente? SI MULTIPROGRAMMAZIONE NO MONOPROGRAMMAZIONE 3

RISORSE HARDWARE Dispositivi principali Unità centrali di elaborazione (CPU) Memorie centrali (MC) Unità di memoria di massa (MM) Dispositivi di ingresso e di uscita (I/O: input/output) Altri dispositivi Elaboratori di canale Dispositivi multimediali Coprocessori matematici e acceleratori grafici Questi ultimi non vengono trattati ai fini del sistema operativo in quanto riguardano particolari funzioni (calcolo matematico, gestione periferiche grafiche) 4

RISORSE HARDWARE Esempi : Schede audio e video : sono da considerarsi particolari dispositivi di ingresso e di uscita Lettori, masterizzatori di dischi ottici, CD, DVD : sono da considerarsi particolari dispositivi di memoria di massa Nota : ogni dispositivo ha in dotazione il proprio software che ne permette l utilizzazione 5

SISTEMA DI ELABORAZIONE DI BASE Il generico sistema di calcolo a cui si fa riferimento è composto da una CPU, una MCe una pluralità di dispositivi dei tipi rimanenti: Nota : Lo schema sopra è semplificato in quanto nelle realtà di grandi dimensioni (workstation) ad alte prestazioni possono essere presenti più processori (sistemi multiprocessore), in questo caso il lavoro del sistema operativo si complica dovendo gestire più processi. 6

SISTEMI MONOPROGRAMMATI Un sistema operativo è composto da un insieme di programmi che, per essere eseguiti nell unità centrale di un calcolatore, devono essere allocati in memoria centrale, cioè risiedervi nella forma di codice macchina Definizione: Un sistema viene detto monoprogrammatoquando la sua memoria centrale contiene, in un dato istante, codice utente proveniente da un unicoprogramma. L esecuzione di un istruzione del programma utente comporta una chiamata di sistema (system call), cioè una richiesta a qualche routine del S.O. Esempio: richiesta d accesso a qualche dispositivo (periferica o memoria di massa) 7

SISTEMI MONOPROGRAMMATI : CHIAMATA DI SISTEMA Quando si scrive un programma in linguaggi evoluti come C++ è il compilatore che genera il codice appropriato per il S.O. usato, diverso per Linux e Windows. In ogni caso, il compilatore genera una sequenza di istruzioni macchina, fra le quali ad un certo punto compare almeno una chiamata al sistema operativo. Flusso di esecuzione quando un istruzione del programma utente attraversa la chiamata di sistema: - Chiamata di sistema del programma utente - Sospensione esecuzione programma -Salvataggio informazioni del programma (utili per farlo ripartire in posizioni opportune) - Esecuzione della routine di sistema da parte del sistema operativo -Esecuzione del programma dall istruzione successiva all interruzione (grazie al registro Program Counter) 8

SISTEMI MONOPROGRAMMATI: ATTIVITÀ DELLA CPU Si può dividere il tempo che intercorre tra l inizio e la fine del programma in intervalli caratterizzati dalle diverse attività della CPU: Esecuzione di istruzioni del programma utente Esecuzione di istruzioni del sistema operativo Inattività, per esempio quando la CPU attende un input da tastiera. 9

SISTEMI MONOPROGRAMMATI: ATTIVITÀ DELLA CPU Considerazioni : 1. Il tempoinattivopuò essere grande rispetto agli altri poiché la CPU è molto veloce 2. Nel tempoinattivo la CPU potrebbe essere impiegata per eseguire istruzioni di altri programmi 3. Ciò è possibile grazie a meccanismi che permettono di sospendere l esecuzione di un programma per ripristinarla all occorrenza 10

SISTEMI MULTIPROGRAMMATI L obiettivo è quello di ottenere il massimo rendimento della CPU attraverso l impiego dei tempi di inattività Idea di base : La CPU, nel tempo in cui non viene usata dal programma utente, viene adoperata per eseguire altri programmi, eventualmente di utenti diversi. usare i meccanismi di sospensione dell esecuzione, impiegati per le routine di sistema, per permettere l esecuzione anche di altri programmi utente. 11

SISTEMI MULTIPROGRAMMATI Nuove funzioni richieste ai sistemi multiprogrammati Decidere quale istruzione far eseguire dopo quella attuale, se prelevandola dallo stesso programma o da un altro Garantire la mutua protezione tra i diversi programmi, per evitare che i dati di uno vengono inquinati dalle istruzioni dell altro. Risolvere eventuali conflitti per l assegnazione di una determinata risorsa Il sistema operativo deve intervenire periodicamente di propria iniziativa e non solo su richiesta di un programma System overhead= carico di lavoro in più imposto al sistema operativo 12

SISTEMI MULTIPROGRAMMATI: TIME SHARING La multiprogrammazione si ottiene con il Time Sharing Si dice che una risorsa viene gestita in modo timesharing(a partizione di tempo), quando il suo uso viene concesso per un tempo che non può superare un massimo: questo intervallo viene chiamato time slice (fetta o quanto di tempo). Il time sharing è un concetto che viene applicato ai singoli dispositivi. Se la CPU di un sistema multiprogrammazione viene gestita in time sharing, essa rimane assegnata a un programma utente fino a quando: Il programma utente termina Il programma utente richiede operazioni che coinvolgono altri dispositivi Scade il time slice 13

SISTEMI MULTIPROGRAMMATI : TIME SHARING Appena accade uno di questi eventi, il controllo passa al sistema operativo che effettua un cambiamento di contesto, ossia decide a qualetra gli altri programmi in memoria centrale spetti il prossimo time slice. Il sistema operativo opera quindi un riassegnamentodella CPU o context switch(cambiamento di contesto) Il tempo necessario per prendere tale decisione si chiama tempo di riassegnamento. 14

SISTEMI MULTIPROGRAMMATI: CONTEXT SWITCH La modalità con cui il S.O. decide un cambiamento di contesto costituisce un esempio di politica di gestione. La realizzazione più semplice di una politica di gestione consiste nell assegnamento round robin(a rotazione) Il programma a cui è stata tolta la risorsa viene messo in fondo ad una coda di programmi in attesa. RAM Sistema Op. Progr. 1 Programmi in attesa P2 P3 P4 15

SISTEMI MULTIPROGRAMMATI: GESTIONE DELLE PRIORITÀ E possibile che un sistema operativo usi meccanismi di priorità, privilegiando alcuni programmi rispetto ad altri. In questo modo, programmi con priorità alta saranno eseguiti più velocemente. In che modo? Concedendo un time slice più lungo Assegnando più spesso la CPU ai programmi con priorità alta fra quelli in attesa L uso del timesharingdella CPU permette di realizzare ambienti multiprogrammatio multiutente senza la necessità di disporre di diverse CPU. Il sistema operativo, attraverso il timesharing virtualizzala CPU creandone una molteplicità dove in realtà ne esiste solo una. 16

SISTEMI MULTIPROGRAMMATI SCELTA DELLA DURATA DEL TIME SLICE Occorre tener conto che il sistema operativo utilizza una parte del tempo macchina a ogni timeslice(operazioni di controllo e di assegnamento risorsa) Se il timesliceè troppo lungo, ci saranno programmi in attesa per molto tempo Se il timesliceè troppo breve, il sistema operativo dovrà intervenire spesso sottraendo molto tempo all elaborazione. Il valore di equilibrio dipende dalla velocità della CPU e dal tipo di applicazione per cui è stato progettato il sistema di calcolo. 17