40. Le transizioni fra stati Lo schema di transizione fra stati può essere rappresentato graficamente nel modo seguente :

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "40. Le transizioni fra stati Lo schema di transizione fra stati può essere rappresentato graficamente nel modo seguente :"

Transcript

1 32. Il Sistema Operativo : definizione e struttura Il SO è un insieme di programmi le cui funzioni principali sono costituire un interfaccia tra la macchina e l utente e gestire in modo ottimale le risorse del sistema. Il SO ha una schematizzazione a strati o a cipolla, dove ogni strato può essere visto come un modulo software eseguito sfruttando quanto è messo a disposizione dello strato sottostante. Si dice anche che ogni strato è una macchina virtuale per gli strati superiori, cioè che a qualsiasi livello si collochi, gli strati sottostanti vengono visti come oggetto unico, come se fosse una macchina fisica che fornisce le primitive attraverso le quali è possibile interagire con esso, che opera su particolari tipi di oggetti e accetta specifici comandi. La struttura di un S.O. è gerarchica : questo significa che i programmi che lo compongono si collocano a livelli diversi, si servono di programmi che stanno ai livelli sottostanti e servono i programmi dei livelli superiori. 33. Elaborazione batch Con questo termine si fa riferimento ai primi sistemi operativi (batch monoprogrammati) che avevano lo scopo di svincolare il sistema dalle attese improduttive, eliminando gli intervalli tra la fine dell esecuzione di un programma e l inizio del successivo. Il sistema operativo doveva essere dotato di un programma speciale, sempre residente in memoria centrale, che raccoglieva i lavori (job) presentati dagli utenti e li eseguiva in successione. Nell elaborazione batch l utente non interagiva con il calcolatore durante l esecuzione dei programmi. Al contrario, occorreva preparare prima di tutto il lavoro da svolgere, e al termine si otteneva il risultato. Il lavoro batch può quindi essere considerato l opposto di interattività. Il termine elaborazione batch o a lotti è ancora in uso oggi e significa che i dati necessari all elaborazione sono accumulati in una memoria ausiliaria durante un certo periodo di tempo : a una scadenza prefissata vengono elaborati tutti insieme ( in un unico lotto) dai programmi applicativi. (Es. procedura stampa cedolini paga). 34. Time sharing Il time sharing, o condivisione di tempo, è un modello di sistema operativo che si basa su una politica di gestione della CPU che prevede l assegnazione del processore a turno ai vari programmi utente per un limitato periodo di tempo, chiamato time-slice o quanto. Se le commutazioni tra utenti sono abbastanza frequenti, ognuno ha la sensazione di lavorare su una macchina dedicata. La velocità della CPU costituisce un parametro critico di un sistema dove essa viene gestita in time-sharing. Per evitare i sovraccarichi occorre eseguire in ogni time slice un numero sufficiente di operazioni di CPU, che deve essere comunque molto più grande del numero di istruzioni eseguite per effettuare i riassegnamenti. Il time slice deve essere piccolo per garantire che in un tempo impercettibile da una persona, per esempio un secondo, si trovi un numero elevato di time slice, per poter offrire il servizio a tutti gli utenti almeno una volta. Riducendo il numero di time slice, il numero delle commutazioni tra utenti cresce troppo e di conseguenza il tempo dedicato alle routine di sistema diviene eccessivo ( system overhead o più precisamente system overload). In questa modalità di lavoro assumono grande importanza 2 parametri : la velocità della CPU e la dimensione della MC. Nei sistemi operativi monoutente, la tecnica di time-sharing è meglio nota con il termine multitasking 35. La multiprogrammazione, la monoprogrammazione e la multiutenza, la monoutenza Multiprogrammazione significa che più processi sono caricati in MC ed avanzano in parallelo;l obiettivo è di non lasciare inattiva la CPU.. Quando un processo richiede ad esempio un operazione di I/O, viene messo in attesa per eseguire un altro processo, migliorando il rendimento del processore. La tecnica della multiprogrammazione ha permesso lo sviluppo dei sistemi operativi multiutente e del time-sharing; non implica la multiutenza (basta pensare al multitasking). Monoprogrammazione significa che in MC è caricato un solo processo; implica la monoutenza. La monoutenza, cioè quando vi è un solo utente, non implica però la monoprogrammazione, mentre la multiutenza implica la multiprogrammazione. 36. Il gestore dei processori La componente principale dell elaboratore è la CPU. Tutti i programmi hanno bisogno della CPU per essere eseguiti, ma questa è unica e quindi viene contesa dai vari processi in esecuzione. Riveste allora particolare importanza quella parte del S.O. che si occupa dell assegnazione della CPU ai singoli lavori che ne chiedono l uso ovvero il gestore dei processori. Le funzioni che deve svolgere sono : 1. mantenere aggiornato lo stato del processore (Libero/occupato) 2. decidere a quale processo assegnare il processore quando se ne presenti la necessità 3. assegnare il processore al processo (quello scelto) 4. riprendere il controllo del processore quando il processo è terminato o sospeso. I moduli più importanti sono: - lo scheduler dei lavori (job scheduler o long term scheduling); - lo schedulatore dei processi (process scheduler o short term scheduling); - il controllore del traffico (traffic controller o dispatcher). I due moduli di scheduling utilizzano particolari politiche di scelta basati su criteri quali massimizzare l utilizzo della CPU; massimizzare il numero dei programmi eseguiti nell unità di tempo; -minimizzare il tempo di turn-around e di risposta; garantire a tutti gli utenti un servizio omogeneo in termini di tempo d attesa.

2 37. Job scheduler e process scheduler Il job scheduler sceglie, fra quelli proposti, i lavori da eseguire e li carica da MdM in MC creando i relativi processi. Si occupa quindi della transazione da stato hold a stato ready di un processo. I descrittori di tutti i lavori sono organizzati in una lista che il job scheduler scandisce al fine di determinare quale lavoro portare in MC per l esecuzione. Tra tutti i lavori che hanno queste caratteristiche bisognerà effettuare una scelta e a questo scopo sono state definite diverse politiche : FIFO : i lavori sono ordinati in una lista in ordine di arrivo. Il primo lavoro inserito nella lista sarà il primo a passare dallo stato Hold allo stato Ready. E una politica molto semplice da gestire ma non permette una reale ottimizzazione delle risorse PRIORITA STATICA : a ogni lavoro è assegnato un valore ( priorità) che indica il livello di importanza del lavoro. La priorità è memorizzata nel JCB di ciascun lavoro e può essere assegnata dal responsabile del centro. Il job scheduler sceglierà allora il lavoro che ha la priorità maggiore: tra quelli con pari priorità potrà essere la politica Fifo PRIORITA DINAMICA : affinchè non ci siano lavori che permangono troppo tempo in coda perché ce ne sono altri con priorità maggiore, il S.O. aumenta il valore della priorità in funzione del tempo di permanenza del lavoro in coda. Per poter attuare questa politica è necessario inserire nel JCB un informazione che indichi il momento di inserimento del descrittore nella lista, cioè il tempo in cui è stata richiesta l esecuzione del programma. Il process scheduler invece opera sulla lista dei processi in stato ready e sceglie, in base ad una particolare politica di scheduling, quale processo portare in stato run. Esso è in grado di compiere questa funzione secondo una delle seguenti politiche : round robin : il processore viene assegnato a turno, per un intervallo di tempo stabiito, ai processi nell ordine in cui questi ne hanno fatto richiesta. La coda è gestita con il metodo FIFO e quindi tutti gli inserimenti provenienti dalla coda ready o dalla cosa di wait avvengono al fondo. Round robin a percentuale di tempo : con la tecnica precedente i processi che richiedono molte operazioni di I/O sono penalizzati rispetto a quelli che ne richiedono meno perché il rientro dallo stato di wait significa l inserimento del processo al fondo della coda. La tecnica a percentuale di tempo è una variante del round robin : il processo non verrà inserito necessariamente al fondo, ma la posizione di rientro nella coda dipende dalla percentuale di tempo di CPU utilizzata. Questo significa che se un processo lascia il processore perché richiede un I/O, e quindi non ha ancora esaurito il proprio time-slice, il suo rientro nella coda non sarà più al fondo ma tanto più avanti quanto minore è la percentuale di tempo di CPU utilizzata prima dell interruzione. Round robin limitato : è ancora una variante del round robin. E prefissato un numero di time slice che un processo può utilizzare : terminati questi time slice che sono gestiti con la tecnica del round robin tradizionale, il processo è inserito in una nuova coda che sarà presa in considerazione solo quando la coda del round robin è esaurita 38. Il concetto di processo e di stati Il concetto di Processo è fondamentale in sistemi caratterizzati da più attività che possono essere svolte logicamente in parallelo. Esso descrive, in termine di operazione eseguite dalla CPU, il comportamento di un programma in esecuzione. Un programma è un entità statica (passiva) che descrive le azioni da compiere, mentre un processo è un entità dinamica (attiva) che rappresenta l esecuzione di tali azioni. Ogni volta che si lancia un istanza di programma si avvia un processo che è dunque un entità astratta e dinamica. Ogni processo ha un insieme di dati ad esso riferiti: è un area dati contenente informazioni relative all identità del processo ed alla sua eventuale priorità e altro. Viene chiamato Descrittore del Processo Gli stati del processo sono: - run, il processo è in esecuzione ovvero gli è stata assegnata la CPU; - wait, il processo non può avanzare in quanto non ha tutte le risorse a disposizione (ad esempio è in attesa di I/O); - ready, il processo ha a disposizione tute le risorse necessarie ma non il processore (CPU); -terminate, il processo è terminato; - hold, il. il programma si trova ancora su MdM.

3 39. Il concetto di risorsa e la classificazione Perché un processo posso evolvere nel tempo, occorre che possa disporre di tutti gli oggetti necessari per l esecuzione di quanto descritto nel programma ovvero delle risorse che possono essere definite, quindi, come gli elementi hardware e/o software che condizionano l avanzamento di un processo. Le risorse possono essere classificate in vari modi : Hardware o Software Permanenti(può essere utilizzata ripetutamente) o Consumabili (viene creata da un processo e utilizzata da un altro) Seriali (un solo processo alla volta) o Parallele (più processi in parallelo) SUL LIBRO SI PARLA DI MOLTEPLICITA Interrompibili ( è seriale ma è possibile che passi ciclicamente da un processo ad un altro) 40. Le transizioni fra stati Lo schema di transizione fra stati può essere rappresentato graficamente nel modo seguente : RUN HOLD READY TERMINA TE WAIT Il significato delle varie transizioni è il seguente : da Hold a Ready : il processo viene caricato da Memoria di Massa in Memoria centrale. (job scheduler in collaborazione con il gestore della memoria) da Ready a Run : al processo viene assegnata la CPU e viene quindi mandato in esecuzione (process scheduler) da Run a Terminate : il processo termina e rilascia tutte le risorse da Run a Wait : il processo ha richiesto un operazione di I/O o ha bisogno di risorse diverse dalla CPU da Run a Ready : il processo ha terminato il time slice a sua disposizione da Wait a Ready : l operazione di I/O o la risorsa richiesta e attesa dal processo è stata concessa e il processo ritorna in stato ready 44. Il gestore della memoria E il modulo del sistema operativo che si occupa di gestire in modo ottimale la risorsa memoria centrale. Un programma, prima di essere eseguito, deve essere caricato nella memoria centrale : gli deve essere cioè assegnata una certa quantità di byte in memoria centrale in grado di contenere la sua zona dati ( le variabili) e la sua zona istruzioni ( scritte in LM). Il gestore della memoria (memory management) è formato dai moduli del S.O. che si occupano di: tenere aggiornato lo stato di ogni locazione di memoria ( libera o occupata) assegnare la memoria centrale ai processi che ne fanno richiesta gestire il recupero della memoria centrale quando un processo termina. Il Gestore della Memoria affronta un duplice problema legato alla mappa della memoria a) rilocare il codice b) allocare ai processi la quantità di memoria necessaria

4 45. La rilocazione La rilocazione è la funzione che trasforma da spazio fisico a spazio logico. In multiprogrammazione la memoria disponibile viene ogni momento suddivisa tra i vari processi. Il programmatore, al momento della stesura del software non può sapere in quale zona della memoria sarà allocato per l esecuzione quindi non può scrivere il programma in termini di indirizzi assoluti di memoria ma solo di indirizzi relativi che fanno riferimento ad un indirizzo base ipotetico. E basilare quindi che il SO sia in grado di rilocare cioè tradurre gli indirizzi relativi in indirizzi assoluti. Esistono tre metodi di rilocazione: assoluta, statica e dinamica che si differenziano per il momento in cui esse avvengono. La rilocazione assoluta avviene nella fase di compilazione o linker ed è quindi utilizzabile solo in monoprogrammazione. La rilocazione statica avviene al momento del caricamento del processo in memoria centrale. La rilocazione dinamica avviene nel momento dell esecuzione di ogni singola istruzione : è il metodo più sofisticato, consente di poter spostare un processo in memoria centrale durante la sua esecuzione e richiede un hardware adeguato. 46. L allocazione a partizioni statiche Le partizioni vengono prestabilite e non vengono più cambiate né in numero né in dimensioni. La scelta iniziale è fatta da una stima del carico tipico raccogliendo informazioni. Il sistema può periodicamente ri-caricare il sistema con nuove partizioni. Quando un processo passa in stato ready verrà scelta la partizione libera adatta per quel processo. In ogni partizione può essere allocato un solo processo. Esistono 2 tipi di algoritmi di scelta : FIRST FIT nel quale viene scelta la prima partizione libera di dimensione sufficiente viene occupata dal processo; BEST FIT nel quale viene scelta la migliore ( nel senso quella che lascia meno spazio non occupato) partizione libera. La rilocazione utilizzata con questo metodo di allocazione è quella statica. Il metodo provoca il fenomeno della frammentazione interna e inoltre esistono alcuni problemi quali il fatto che un processo potrebbe non andare in esecuzione perché nessuna partizione libera è sufficiente a contenerlo nonostante la somma delle aree libere sarebbe sufficiente e l impossibilità per un processo di andare in esecuzione se nessuna partizione è grande a sufficienza. 47. L allocazione a partizione dinamica Inizialmente c è una zona di memoria libera. Ogni volta che un processo chiede il caricamento in memoria si cerca una zona libera che possa contenerlo e si ritaglia la partizione ad hoc. In generale si avranno più zone libere (holes). All arrivo di un processo si cercherà una zona sufficiente a contenerlo. Al termine del processo la zona occupata dovrà essere considerata libera immergendola con eventuali zone libere adiacenti. Le strategie di scelta sono : FIRST FIT : la prima area libera di dimensione sufficiente viene occupata dal processo; BEST FIT : la migliore ( nel senso quella che lascia meno spazio non occupato) area libera; WORST FIT : la peggiore ( nel senso quella che lascia più spazio libero) area libera. La rilocazione utilizzata con questo metodo di allocazione è quella statica. Il metodo provoca il fenomeno della frammentazione esterna e i problemi individuati nella tecnica di allocazione a partizione statiche non vengono risolti. 48. La paginazione La paginazione è una tecnica per sfruttare la memoria anche per zone non contigue. Essa richiede un hardware dedicato che consente la rilocazione dinamica. La memoria fisica è divisa in frame (pagine) tutti della stessa dimensione (2K o multipli). Il processo viene suddiviso in pagine logiche della stessa dimensione delle pagine fisiche. Un processo richiede un certo numero di pagine tutte piene tranne l ultima (frammentazione interna). Vi è una lista di page frames disponibili da cui si prelevano i frame necessari. Il loro numero è via via inserito nelle page table del processo che garantisce la corrispondenza fra pagine fisiche e pagine logiche. Gli indirizzi logici sono divisi in page number (parte alta) e page offset (parte bassa). I vantaggi sono che è possibile allocare processi in aree di memoria non contigue sfruttando tutta la memoria disponibile, è stata eliminata la frammentazione esterna ed è stata diminuita la frammentazione interna. 49. La segmentazione La tecnica della segmentazione presuppone una suddivisione logica, effettuata a priori, del programma che andrà in esecuzione. Tale suddivisione prevede l individuazione di unità di dimensioni diverse chiamate segmenti, sulla base di criteri logici stabiliti anche da parte del programmatore. Un programma può essere suddiviso in un segmento contenente il codice relativo alle procedure di uso più frequente. Per riferirci ad un oggetto all interno del programma occorre conoscere il numero di segmento in cui è contenuto e l indirizzo all interno del segmento detto offset. A ogni segmento logico corrisponde un segmento fisico allocato in celle contigue di MC. La segmentazione appare una generalizzazione della tecnica di allocazione a partizioni variabili in cui si consente al programmatore di suddividere il programma in segmenti ognuno dei quali è allocato in una partizione. 50. La memoria virtuale segmentata e paginata E la tecnica più flessibile e sofisticata. Consiste nel suddividere logicamente il programma in segmenti e i segmenti in pagine logiche.

5 51. La memoria virtuale Si parla di memoria virtuale quando un programma si comporta come se avesse a disposizione una memoria molto più grande della MC effettivamente disponibile. Il meccanismo di memoria virtuale provoca un rallentamento nell esecuzione del programma a causa dei continui trasferimenti di dati tra memoria centrale e memoria di massa. E nata per far fronte al problema di processi troppo grandi per la memoria disponibile, attraverso il caricamento in memoria centrale solo di una parte del processo e rimandando il caricamento di altre parti ad una richiesta del processo stesso. 52. Gli algoritmi di scelta di una partizione Gli algoritmi di scelta per una partizione sono: - first fit, la prima partizione libera di dimensione sufficiente viene occupata dal processo; - best fit (la migliore partizione libera), lascia meno spazio non occupato; - worst fit, lapeggiore area libera nel senso quella che lascia più spazio libero. Le prime due sono usate sia dalla tecnica di allocazione a partizioni statiche che da quella a partizioni dinamiche, mentre la terza ha senso solo per la tecnica a partizioni variabili. 53. Gli algoritmi di scheduling di un processo Gli algoritmi di scheduling di un processo sono: - round robin, il processore viene assegnato, a turno, ad ogni processo per un certo periodo di tempo e, se alla fine del periodo l esecuzione non è terminata, il processo viene riportato nella coda dei ready; - tecnica a rientro per percentuale di tempo usato, il processore viene assegnato a turno ad ogni processo ma, se il quanto di tempo viene usato solo in parte, quando il processo rientra nella coda dei ready la sua posizione verrà determinata in rapporto alla percentuale di tempo usata; - round robin a più livelli, inizialmente tutti i processi vengono posti nella coda1 e a ciascuno di essi a turno viene assegnato un quanto di tempo del processore, se alla fine del tempo concesso il processo non è terminato viene posto nella coda successiva che è a più basso livello di priorità (le code vengono scandite in ordine di priorità). 54. Gli algoritmi di scheduling di un lavoro Gli algoritmi di scheduling di un lavoro sono: - FIFO, i lavori vengono eseguiti nell ordine in cui giungono; - priorità statica, si assegna ad ogni lavoro un parametro che condiziona le decisioni dello schedulatore; - priorità dinamica, il SO incrementa la priorità del lavoro al crescere dei tempi d attesa. 55. Il problema del frame allocation Il problema del frame allocation consiste nel numero di pagine da caricare all inizio per un processo, esso infatti non è definito. Esistono teorie diverse al riguardo e si può dimostrare che nessuna scelta garantisce l ottimizzazione. Infatti caricando tutte le pagine si arriva presto ad una saturazione della MC e caricando solo la prima pagina si avrà un forte numero di page fault. 56. Il problema della page replacement Il problema della page replacement è quello di sapere quale frame sostituire quando, a causa di un page fault, il sistema deve caricare una nuova pagina in MC e non ci sono più frame disponibili... Alcuni algoritmi possibili sono: - FIFO, ad ogni pagina si associa il tempo del suo caricamento in memoria (quando occorre sostituire una pagina essa viene sostituita con la pagina in memoria da più tempo, l algoritmo quindi fornisce sempre una sequenza di esecuzione corretta ma potrebbe essere inefficiente); - LFU (least frequently used), scelgo la pagina usata meno frequentemente; - LRU (least recently used), sostituisco la pagina che non è stata usata da più lungo tempo. 57. Il gestore delle periferie Un importantissima attività del SO riguarda la gestione dei dispositivi periferici o genericamente periferiche con cui intendiamo unità al servizio del computer che non sono dotate di un autonomo sistema di calcolo e governo. Possono essere: - dispositivi di input, ovvero quei dispositivi che trasformano e qualificano l informazione esterna in dati in formato digitale utilizzabili dalla CPU; - dispositivi di output ovvero quei dispositivi che trasformano e decodificano i dati digitali in dati in forma utilizzabili dall utente. 58. Lo spool Lo spool è nato per risolvere il problema dell occupazione del buffer in MC che può assumere dimensioni considerevoli non determinabili a priori in quanto dipendono dalle richieste dei singoli processi. L organizzazione a spooling sostituisce il buffer di MC con più file in MDM detti file di immagine. In questo modo la crescita non prevedibile dalle dimensioni del buffer non è più un problema perché la MDM si considera di capacità più che sufficiente anche se a discapito della velocità delle operazioni di scrittura su disco dei dati da stampare. Questa era di MDM è detta area di spooling.

6 59. Il file system Il file system è la componente del sistema operativo che permette all utente di riferirsi ed utilizzare i files senza preoccuparsi di come effettivamente siano memorizzati sul supporto di MDM. Esso deve consentire una: - una facile identificazione dei file; - una visione astratta delle operazioni logiche di uso più comune; - la condivisione e l acesso ai files; - un sistema di protezione dei files. L obbiettivo del file system è trasformare le operazioni logiche sui file in operazioni fisiche sul supporto su cui sono memorizzati. 60. Il calcolo degli indirizzi Per trasformare da spazio logico a spazio fisico il calcolo dipende dal tipo di allocazione : - Nella allocazione a partizioni statiche o dinamiche il calcolo è dato semplicemente dalla somma dell indirizzo relativo con l indirizzo base di caricamento - Nella paginazione occorre avere l indirizzo suddivido in due parti : il numero di pagina e l offset all interno della pagina - Nella tecnica della memoria segmentata e paginata occorre avere l indirizzo suddiviso in 3 parti : il numero di segmento, il numero di pagina all interno del segmento e l offset all interno della pagina 61. La frammentazione FRAMMENTAZIONE INTERNA : un processo richiede m parole di memoria e viene caricato in una partizione di dimensione n ( con n>m). Si dice allora che n-m è la frammentazione interna. FRAMMENTAZIONE ESTERNA : se invece una partizione è vuota ed è troppo piccola per i processi in coda si parla di frammentazione esterna. 62. ALLOCAZIONE A PARTIZIONI RILOCABILI Questa tecnica, detta anche della COMPATTAZIONE, elimina la frammentazione esterna rendendo consecutivi tutti i buchi e spostando le aree occupate ; questo sistema per essere possibile ha bisogno della rilocazione dinamica. Gli algoritmi di compattazione sono in genere costosi e raffinati. 63. L evoluzione dei SO Dalla nascita dei primi calcolatori ( inizio anni Quaranta) fino all inizio degli anni Cinquanta gli utenti dovevano gestire l hardware della macchina perché non c era il sistema operativo. Questi utenti, oltre a dover scrivere i loro programmi in linguaggio macchina dovevano conoscere perfettamente le caratteristiche dell hardware impiegato. Si comprese ben presto che occorrevano strumenti opportuni per ridurre il tasso di errore e per accrescere la produttività dell elaboratore. A determinare la nascita dei primi rudimentali sistemi operativi, avvenuta agli inizi degli anni Cinquanta, è stata la necessità di ridurre i tempi in cui venivano svolti gli interventi manuali : era ormai evidente il divario esistente tra il tempo necessario agli operatori in rapporto al tempo di elaborazione vero e proprio. Nascono i primi sistemi operativi (batch monoprogrammati) che tendono a svincolare il sistema dalle attese improduttive, eliminando gli intervalli tra la fine dell esecuzione di un programma e l inizio del successivo. Il sistema operativo deve essere dotato di un programma speciale, sempre residente in memoria centrale, che raccoglie i lavori (job) presentati dagli utenti e li esegue in successione. Nonostante si siano ridotti i tempi di inattività della CPU, essa era ancora poco utilizzata perché rimaneva inattiva durante le operazioni di I/O. Negli anni Sessanta si sviluppano notevolmente le funzioni del sistema operativo che diventa il vero gestore delle risorse software e hardware della macchina. Per sfruttare al massimo la capacità produttiva della CPU è introdotta la multiprogrammazione : mentre un job sta eseguendo un operazione di I/O, la CPU esegue le istruzioni di un altro programma già caricato in memoria centrale. Con l introduzione dei videoterminali e quindi di sistemi interattivi che danno la possibilità di colloquiare con il programma durante la sua esecuzione, si sviluppano le procedure che facilitano l accesso di molti utenti a una stessa unità centrale ( sistemi in time-sharing). Tra gli anni Sessanta e Settanta si sviluppano anche sistemi operativi in real time, capaci di rispondere istantaneamente agli stimoli esterni ( sono ancor oggi usati per il controllo di processi industriali particolarmente delicati dove un ritardo nella risposta può provocare ingenti danni). Dagli Anni Settanta in poi i sistemi operativi si sono evoluti diventando in grado di supportare tecniche sempre più sofisticate per la gestione dei database e dei collegamenti in rete dei calcol

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007 2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)

Dettagli

Il supporto al Sistema Operativo

Il supporto al Sistema Operativo Il supporto al Sistema Operativo Obiettivi e funzioni del S.O. Il Sistema Operativo è il software che controlla l esecuzione dei programmi e amministra le risorse del sistema. Ha due obiettivi principali:

Dettagli

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

Dettagli

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore. I processi Cos è un processo? Un processo è una attività, controllata da un programma, che si svolge su un processore. Il programma è una entità statica che descrive la sequenza di istruzioni che devono

Dettagli

SISTEMI OPERATIVI. E il S.O. in funzione sul computer che consente all utente di poter avviare i programmi applicativi desiderati.

SISTEMI OPERATIVI. E il S.O. in funzione sul computer che consente all utente di poter avviare i programmi applicativi desiderati. SISTEMI OPERATIVI SOFTWARE DI BASE Il software di base comprende tutti quei programmi indispensabili ai fini del funzionamento dell elaboratore, per questo viene detto di base. I S.O. rientrano nella categoria

Dettagli

1. I dispositivi periferici

1. I dispositivi periferici La gestione dell I/O 1. I dispositivi periferici Un ulteriore aspetto fondamentale del SO è la gestione dei dispositivi periferici (periferiche) Dal punto di vista del sistema operativo per periferiche

Dettagli

La gestione della memoria

La gestione della memoria La gestione della memoria Nella gestione della memoria il sistema operativo deve perseguire l'obiettivo di allocare il maggior numero di processi in memoria centrale per aumentare la probabilità che ci

Dettagli

Cosa è un Sistema Operativo (S.O.)

Cosa è un Sistema Operativo (S.O.) Cosa è un Sistema Operativo (S.O.) Modulo software costituito da un insieme di programmi per: permettere all utente l uso dell elaboratore senza la conoscenza approfondita dell hardware S.O. supporto all

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi Operativi. 5 Gestione della memoria Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria

Dettagli

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Secondo biennio Articolazione Informatica TPSIT Prova Quarta Sistema operativo: gestione memoria centrale La Memoria Virtuale consente di superare i limiti della Memoria Centrale : A. no B. a volte C. si, ma non sempre e' adeguata D. si, attraverso tecniche di gestione

Dettagli

LA GESTIONE DELLA MEMORIA

LA GESTIONE DELLA MEMORIA LA GESTIONE DELLA MEMORIA Ambiente Monoprogrammato (monoprogrammazione) In ambiente monoprogrammato é possibile far girare un solo programma per volta. Tutte le risorse sono dedicate all unico programma

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso

Dettagli

La Memoria Virtuale Ottimizzazione della memoria centrale

La Memoria Virtuale Ottimizzazione della memoria centrale La Memoria Virtuale Ottimizzazione della memoria centrale 1) Introduzione- Gerarchia della memoria Da un punto di vista funzionale, ogni dispositivo di memorizzazione elettronica di informazioni presenta

Dettagli

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse

Dettagli

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione Introduzione Fondamenti di Informatica: Sistemi Operativi 1 Elaboratori necessitano di SOFTWARE SOFTWARE DI SISTEMA (SISTEMI OPERATIVI): fanno funzionare le varie componenti del computer e permettono all

Dettagli

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base) Sistema Operativo (Software di base) Il Sistema Operativo Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei dati attraverso

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione SISTEMI OPERATIVI (parte prima - gestione dei processi) Tra i compiti di un sistema operativo sicuramente troviamo i seguenti: Gestione dei processi Gestione della memoria Gestione del file-system Ci occuperemo

Dettagli

Processo - generalità

Processo - generalità I processi Processo - generalità Astrazione di un attività; Entità attiva che ha un suo percorso evolutivo; Attività = azione dedicata al raggiungimento di uno scopo Il processo esegue istruzioni per svolgere

Dettagli

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU Il sistema operativo Sistema operativo Gestione della CPU Primi elaboratori: Monoprogrammati: un solo programma in memoria centrale Privi di sistema operativo Gestione dell hardware da parte degli utenti

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!!

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! Buona lezione a tutti!! La dispensa è disponibile per tutti sul sito personale del Prof Simone al link: www.ascuoladi.135.it nella pagina programmazione, sezione 5Dx Indice degli argomenti del s.o. Software

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Cos è un Sistema Operativo? Per capirlo, immaginiamo inizialmente

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Scheduling Introduzione Tipi di scheduler Scheduler di lungo termine (SLT) Scheduler di medio termine (SMT) Scheduler di breve termine (SBT)

Scheduling Introduzione Tipi di scheduler Scheduler di lungo termine (SLT) Scheduler di medio termine (SMT) Scheduler di breve termine (SBT) Scheduling Introduzione Con scheduling si intende un insieme di tecniche e di meccanismi interni del sistema operativo che amministrano l ordine in cui il lavoro viene svolto. Lo Scheduler è il modulo

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Il software Dipartimento di Ingegneria dell Informazione Universitàdegli Studi di Parma SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

Sistema Operativo Compilatore

Sistema Operativo Compilatore MASTER Information Technology Excellence Road (I.T.E.R.) Sistema Operativo Compilatore Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Il Sistema

Dettagli

Gestione della Memoria

Gestione della Memoria Gestione della Memoria Idealmente la memoria dovrebbe essere grande veloce non volatile Gerarchia di memorie Disco: capiente, lento, non volatile ed economico Memoria principale: volatile, mediamente grande,

Dettagli

Il software. la parte contro cui si può solo imprecare. Il software

Il software. la parte contro cui si può solo imprecare. Il software Il software la parte contro cui si può solo imprecare Il software L hardware da solo non è sufficiente per il funzionamento dell elaboratore ma è necessario introdurre il software ovvero un insieme di

Dettagli

Funzioni del Sistema Operativo

Funzioni del Sistema Operativo Il Software I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (ferramenta). La struttura del calcolatore può essere schematizzata come una serie di

Dettagli

Il Software Il sistema Operativo Il processo Lo scheduler dei processi Il S. O. e l utenza Le modalità di elaborazione

Il Software Il sistema Operativo Il processo Lo scheduler dei processi Il S. O. e l utenza Le modalità di elaborazione Il Software Il sistema Operativo Il processo Lo scheduler dei processi Il S. O. e l utenza Le modalità di elaborazione Nella terminologia informatica esistono due termini che caratterizzano una prima valutazione

Dettagli

Software che sovrintende al funzionamento del computer eseguendo compiti diversi:

Software che sovrintende al funzionamento del computer eseguendo compiti diversi: Sistema Operativo dispensa a cura di Alessandro Bellini Software che sovrintende al funzionamento del computer eseguendo compiti diversi: 1. Gestire interazione utente macchina 2. Fornire un interfaccia

Dettagli

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (DF-M)

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (DF-M) 2009-2010 Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (DF-M) 12 Il Software Il sistema Operativo Il processo Lo scheduler dei processi Il S. O. e l utenza

Dettagli

Sistemi Operativi Kernel

Sistemi Operativi Kernel Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 3 Martedì 15-10-2013 1 Struttura ed organizzazione software dei sistemi

Dettagli

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z)

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) 2011-2012 Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) 13 Il Software Il sistema Operativo Il processo Lo scheduler dei processi Il S. O. e l utenza

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Il software di base Software

Dettagli

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst Impossibile visualizzare l'immagine. Scheduling della CPU Concetti di base La multiprogrammazione cerca di ottenere la massima utilizzazione della CPU. L esecuzione di un processo consiste in cicli d esecuzione

Dettagli

Lezione 6. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Lezione 6. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 6 Sistemi operativi 31 marzo 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 6.1 Di cosa parliamo in questa lezione? La schedulazione 1 e caratteristiche

Dettagli

AOT LAB. Software di base. Fondamenti di Informatica. Michele Tomaiuolo. Agent and Object Technology Lab

AOT LAB. Software di base. Fondamenti di Informatica. Michele Tomaiuolo. Agent and Object Technology Lab Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Software di base Michele Tomaiuolo Software di base Con software di

Dettagli

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Concetti fondamentali L obiettivo della multiprogrammazione è di avere processi sempre in esecuzione al fine di

Dettagli

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi Marco Lapegna Laboratorio di Programmazione Dalla precedente lezione 6. I sistemi operativi LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica I Sistemi Operativi Il linguaggi di programmazione

Dettagli

IL SISTEMA OPERATIVO

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO... è l insieme dei programmi che rende agevole l uso dell hardware, mascherando le caratteristiche delle risorse fisiche (interfaccia) gestisce le risorse fisiche ottimizzandone l

Dettagli

Lo schedulatore del kernel

Lo schedulatore del kernel Lo schedulatore del kernel Lo schedulatore Lo schedulatore è un programma del kernel che si occupa di scegliere un processo/lavoro che ha richiesto una risorsa. Lo schedulatore a lungo termine LTS è quello

Dettagli

Sistemi Operativi: avvio

Sistemi Operativi: avvio Sistemi Operativi: avvio All avvio del computer, terminate le verifiche del BIOS, il controllo passa al sistema operativo. Il Sistema Operativo opera come intermediario tra l hardware del sistema e uno

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi a.a. 2010/2011 Francesco Fontanella Il Sistema Operativo Sistema Operativo 2 Il Sistema Operativo Il Sistema Operativo è uno strato

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Sistemi operativi e reti A.A. 2015-16. Lezione 2

Sistemi operativi e reti A.A. 2015-16. Lezione 2 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 2 Giovedì 8-10-2015 Sistemi batch multiprogrammati La causa principale

Dettagli

Cos e` un Sistema Operativo? Cos è un sistema operativo?

Cos e` un Sistema Operativo? Cos è un sistema operativo? Cos e` un Sistema Operativo? È un programma (o un insieme di programmi) che agisce come intermediario tra l utente e l hardware del computer: fornisce un ambiente di sviluppo e di esecuzione per i programmi

Dettagli

Scheduling della CPU:

Scheduling della CPU: Coda dei processi pronti (ready( queue): Scheduling della CPU primo ultimo PCB i PCB j PCB k contiene i descrittori ( process control block, PCB) dei processi pronti. la strategia di gestione della ready

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il Sistema Operativo Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela Fogli Cos

Dettagli

Introduzione all Informatica

Introduzione all Informatica Lezione 3 Davide Di Ruscio Alfonso Pierantonio Dipartimento di Informatica Università degli Studi dell Aquila Università degli Studi dell Aquila alfonso@di.univaq.it diruscio@di.univaq.it. Sommario 2 2»

Dettagli

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio) GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio) #include void main (int argc, char *argv[]) { pid = fork(); /* genera nuovo processo */ if (pid < 0) { /* errore */ fprintf(stderr,

Dettagli

Scheduling della CPU. Contenuti delle lezioni del 23 e del 26 Marzo 2009. Sequenza alternata di CPU burst e di I/O burst.

Scheduling della CPU. Contenuti delle lezioni del 23 e del 26 Marzo 2009. Sequenza alternata di CPU burst e di I/O burst. Contenuti delle lezioni del 23 e del 26 Marzo 2009 Scheduling della CPU Introduzione allo scheduling della CPU Descrizione di vari algoritmi di scheduling della CPU Analisi dei criteri di valutazione nella

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Funzioni dei Sistemi Operativi!2 Le funzioni principali del SO Gestire le risorse dell elaboratore

Dettagli

I SISTEMI OPERATIVI CONCETTI INTRODUTTIVI

I SISTEMI OPERATIVI CONCETTI INTRODUTTIVI I SISTEMI OPERATIVI CONCETTI INTRODUTTIVI Il Software Software di Base Sistema Operativo (Software di base essenziale) Software di base non essenziale Utility Driver Software applicativi (Applicazioni)

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

Parte VI SISTEMI OPERATIVI

Parte VI SISTEMI OPERATIVI Parte VI SISTEMI OPERATIVI Sistema Operativo Ogni computer ha un sistema operativo necessario per eseguire gli altri programmi Il sistema operativo, fra l altro, è responsabile di riconoscere i comandi

Dettagli

Scheduling della CPU Simulazione in linguaggio Java

Scheduling della CPU Simulazione in linguaggio Java Scheduling della CPU Simulazione in linguaggio Java Realizzato da: Amelio Francesco 556/001699 Di Matteo Antonio 556/000067 Viola Antonio 556/000387 Progetto di Sistemi Operativi Docente Giancarlo Nota

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: attivita` di allocazione della risorsa CPU ai processi. Scheduler

Dettagli

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

Dettagli

TEORIA DEI SISTEMI OPERATIVI

TEORIA DEI SISTEMI OPERATIVI TEORIA DEI SISTEMI OPERATIVI Classificazione dei sistemi operativi (Sistemi dedicati, Sistemi batch, Sistemi interattivi multiutente) CLASSIFICAZIONE DEI SISTEMI OPERATIVI Le tre principali configurazioni

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 4-Panoramica delle generazioni 1 Prerequisiti Monoprogrammazione e multiprogrammazione Multielaborazione Linguaggio macchina Linguaggi di programmazione e compilatori Struttura

Dettagli

Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A.

Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A. Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A. Morzenti Il sistema Operativo Il sistema operativo (SO) è uno strato software

Dettagli

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007 2007 SISTEMI OPERATIVI Gestione dei processi Domande di verifica Luca Orrù Centro Multimediale Montiferru 13/05/2007 Gestione dei processi 1. Qual è la differenza tra un programma e un processo? Un programma

Dettagli

boot loader partizioni boot sector

boot loader partizioni boot sector IL SISTEMA OPERATIVO Il sistema operativo (S.O.) è un software che fa da interfaccia tra l uomo e l hardware, mettendo a disposizione un ambiente per eseguire i programmi applicativi. Grazie al S.O. un

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

Lo scheduling. Tipici schedulatori

Lo scheduling. Tipici schedulatori Lo scheduling Un processo durante la sua evoluzione è o running o in attesa di un evento. Nel secondo caso trattasi della disponibilità di una risorsa (CPU, I/O, struttura dati, ecc.) di cui il processo

Dettagli

Diagramma delle durate dei CPU burst. Lo scheduler della CPU. Criteri di scheduling. Dispatcher

Diagramma delle durate dei CPU burst. Lo scheduler della CPU. Criteri di scheduling. Dispatcher Schedulazione della CPU Scheduling della CPU Introduzione allo scheduling della CPU Descrizione di vari algorimi di scheduling della CPU Analisi dei criteri di valutazione nella scelta di un algoritmo

Dettagli

Sistemi Operativi. Principi di ges tione della memoria S wapping Memoria virtuale

Sistemi Operativi. Principi di ges tione della memoria S wapping Memoria virtuale Sistemi Operativi Principi di ges tione della memoria S wapping Memoria virtuale Necessità di gestire la memoria La memoria è una risorsa importante e deve essere gestita attentamente Un programmatore

Dettagli

CdL in Medicina Veterinaria - STPA AA 2007-08

CdL in Medicina Veterinaria - STPA AA 2007-08 CdL in Medicina Veterinaria - STPA AA 2007-08 Il Sistema Operativo Architettura del Software Software = insieme (complesso) di programmi. Organizzazione a strati, ciascuno con funzionalità di livello più

Dettagli

Memoria. Sistemi Operativi Giuseppe Prencipe. Tipica Gerarchia di Memoria. Gestione della Memoria. Modelli di gestione della memoria

Memoria. Sistemi Operativi Giuseppe Prencipe. Tipica Gerarchia di Memoria. Gestione della Memoria. Modelli di gestione della memoria Sistemi Operativi Giuseppe Prencipe Gestione della Memoria Memoria La memoria è un ampio vettore di parole, ciascuna con il suo indirizzo La CPU preleva le istruzioni dalla memoria (basandosi sul PC) Una

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1 GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano scheduling Riedizione modifi cata delle slide della Prof. DI Stefano 1 Scheduling Alternanza di CPU burst e periodi di I/O wait a) processo CPU-bound b) processo I/O bound 2 CPU Scheduler Seleziona uno

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Principi di base La gestione della memoria si occupa di allocare la memoria fisica ai processi che ne fanno richiesta. Nessun processo può diventare attivo prima di avere

Dettagli

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Introduzione: 1. Principi di base dei sistemi operativi 2. Sistemi

Dettagli

Calcolo numerico e programmazione. Sistemi operativi

Calcolo numerico e programmazione. Sistemi operativi Calcolo numerico e programmazione Sistemi operativi Tullio Facchinetti 25 maggio 2012 13:47 http://robot.unipv.it/toolleeo Sistemi operativi insieme di programmi che rendono

Dettagli

Gli stati di un processo

Gli stati di un processo Roberta Gerboni 1 Gli stati di un processo Gli stati possibili nei quali si può trovare un processo sono: Hold (parcheggio): il programma (chiamato job) è stato proposto al sistema e attende di essere

Dettagli

Sistemi Operativi. Struttura astratta della memoria. Gerarchia dei dispositivi di. Memoria centrale. Memoria secondaria (di massa)

Sistemi Operativi. Struttura astratta della memoria. Gerarchia dei dispositivi di. Memoria centrale. Memoria secondaria (di massa) Struttura astratta della memoria Memoria centrale il solo dispositivo di memoria al quale la CPU puo accedere direttamente Memoria secondaria (di massa) Estensione della memoria centrale che fornisce grande

Dettagli

Come funziona un sistema di elaborazione

Come funziona un sistema di elaborazione Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU

Sistemi Operativi SCHEDULING DELLA CPU Sistemi Operativi SCHEDULING DELLA CPU Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Indice. prof. Claudio Maccherani - Perugia 2009

Indice. prof. Claudio Maccherani - Perugia 2009 Siistemii Operatiivii (appuntii) prof. Claudio Maccherani - Perugia 2009 Indice Introduzione...1 Processi e risorse...3 Stati di un processo...3 Descrittore del processo...4 Scheduling della CPU...5 Overhead

Dettagli

Università Ca' Foscari Venezia - Corso di Laurea in Informatica Sistemi Operativi. Problemi di riepilogo sulla prima parte del corso

Università Ca' Foscari Venezia - Corso di Laurea in Informatica Sistemi Operativi. Problemi di riepilogo sulla prima parte del corso Università Ca' Foscari Venezia - Corso di Laurea in Informatica Sistemi Operativi Problemi di riepilogo sulla prima parte del corso Prof. Augusto Celentano, anno accademico 2009-2010 Questa raccolta è

Dettagli

uomo Software (sistema operativo) hardware

uomo Software (sistema operativo) hardware uomo Software (sistema operativo) hardware 1 Sistema operativo Insieme di programmi che svolgono funzioni essenziali per l uso del sistema di elaborazione Questi programmi sono i primi ad essere eseguiti

Dettagli

La Gestione della Memoria

La Gestione della Memoria La Gestione della Memoria Gestione della Memoria Centrale A livello hardware: ogni sistema di elaborazione è equipaggiato con un unico spazio di memoria. Compiti del Sistema Operativo: allocare memoria

Dettagli

Algoritmi di scheduling

Algoritmi di scheduling Capitolo 3 Algoritmi di scheduling Come caso particolare di studio, di seguito è discussa in dettaglio la politica di scheduling del sistema operativo LINUX (kernel precedente alla versione 2.6). Sono

Dettagli

Definizione e storia dei sistemi operativi

Definizione e storia dei sistemi operativi Definizione e storia dei sistemi operativi Dipartimento di Informatica Università di Verona, Italy Che cos è un Sistema Operativo? E un insieme di programmi agisce come intermediario tra HW e uomo per

Dettagli

Capitolo 6: CPU scheduling

Capitolo 6: CPU scheduling Capitolo 6: CPU scheduling Concetti di base. Criteri di schedulazione. Gli algoritmi di schedulazione. Schedulazione per sistemi multiprocessore. Schedulazione per sistemi in tempo reale. Schedulazione

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera CPU Memoria principale Il Sistema Operativo Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura A.A. 2009/2010 ALU Unità di controllo Registri A indirizzi

Dettagli