Descrivere le caratteristiche di un sistema operativo di tipo batch multiprogrammato

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Descrivere le caratteristiche di un sistema operativo di tipo batch multiprogrammato"

Transcript

1 Introduzione ai sistemi operativi Descrivere le caratteristiche di un sistema operativo di tipo batch multiprogrammato Descrivere in modo chiaro la funzionalita del cambio di contesto e le azioni che vengono eseguite dal Kernel del sistema operativo all atto di un cambio di contesto. llustrare in modo chiaro e conciso in che cosa consiste la tecnica dello Swapping, ed il motivo per cui e stata introdotta. Nella discussione evidenziare in modo chiaro i vantaggi rispetto a sistemi operativi privi di Swapping. Dire inoltre in quali tipi di sistemi (seriali, batch, multiprogrammati, time-sharing) tale tecnica e utile ed in quali no, motivando la risposta. Illustrare in modo chiaro e sintetico la differenza tra cambio di modo e di contesto. Indicare almeno una system call (anche senza parametri) UNIX/LINUX oppure NT/2000 che, qualora invocata puo provocare come effetto finale sia un cambio di modo che un cambio di contesto. Risposte non motivate non verranno ritenute valide Processi, Thread, Scheduling della CPU Si descriva lo scheduler di CPU in sistemi Windows Lo scheduling in Windows NT è di tipo a Feedback con gestione di tipo Round-Robin all'interno di ogni singola coda. Le code si differenziano in 32 diversi livelli divisi in 2 classi: 0-15 classe Variable, classe Real-Time. Le priorità sono gestite in modo diverso nelle 2 classi. Nella classe Real-Time, tutti i thread hanno una priorità fissata che non cambia mai. Nella classe Variable, la priorità del thread è fissata ad un qualche valore iniziale assegnato, ma poi può cambiare durante il tempo di vita del thread. Tuttavia, un thread a livello di priorità 15 non può passare al livello 16. La priorità iniziale di un thread nella classe di priorità variabile viene determinata da 2 quantità: priorità base del processo e priorità base del thread. La priorità base di un processo può assumere un valore compreso tra 0 e 15. Ogni oggetto thread associato ad un processo ha la sua priorità di base. Questa può essere uguale al quella del suo processo, ma anche differire di 1 o 2 livelli. Una volta che un thread è stato attivato nella classe di priorità Variable, la sua priorità può fluttuare all'interno di questa classe ma mai scendere al di sotto della sua priorità di base. Si descriva lo scheduler di CPU in sistemi Unix tradizionali (SVR3) Lo scheduling in Unix tradizionale è di tipo a Feedback a code multiple con gestione di tipo Round-Robin all'interno di ogni singola coda. Esiste un livello di ingresso, assegnato di default ad un processo appena creato. Un processo conserva la propria priorità nel caso in cui non utilizzi l'intero quanto di tempo concessogli dal sistema, in caso contrario viene inserito nella coda a priorità minore. Nessun processo può avanzare di livello se non mediante l'utilizzo di una system call (nice) invocata con permessi da amministratore di sistema. Grazie a questa implementazione, vengono favoriti i processi I/O bound, mentre i processi CPU bound tendono a depositarsi nei livelli di priorità più bassi. Si descriva lo scheduler di CPU in sistemi Unix SVR4

2 Lo scheduling Unix SVR4 migliora lo scheduling Unix tradizionale. Continua ad essere di tipo a Feedback a code multiple con gestione di tipo Round-Robin all'interno di ogni singola coda, ma vengono apportate delle sostanziali modifiche. I livelli di priorità sono 160, divisi in 3 classi: Tempo reale ( ), Kernel (99-60), Time sharing (59-0). La priorità di una coda cresce al decrescere del livello. Per evitare starvation eccessiva dei processi CPU bound, che necessariamente tendono a depositarsi nei livelli più alti, il quanto di tempo concesso al processo aumenta con il diminuire della priorità. Si descrivano i concetti di processo e thread, spiegando in particolar modo le differenze tra i due Il processo è un programma in esacuzione, all'interno di un sistema, e presenta particolari caratteristiche. E' formato dalla sequenza di istruzioni da eseguire, dai dati su cui esso opera, dallo stack e da una serie di metadati utilizzati dal sistema per eseguirlo, schedularlo e manutenerlo. Il processo mantiene un proprio stato per ogni istante di vita all'interno del sistema: può essere in stato running, ready, wait, in base alle decisioni prese dal kernel. La struttura dati che mantiene i metadati dei un particolare processo è chiamata PCB (Process Control Block). All'interno di questa struttura vengono conservate una serie di informazioni come il PID (numero unico identificativo del processo all'interno del sistema), il valore dei registri della CPU al momento dell'ultima esecuzione (in modo da ripristinare l'ambiente una volta che il processo viene rischedulato), i limiti di memoria entro i quali il processo può lavorare ed un particolare campo, chiamato Point che è un puntatore ad un'altra PCB. Il sistema mantiene le PCB, nelle proprie strutture dati, mediante delle code. Risulta chiaro quindi l'utilizzo del campo Pointer. Il thread è un concetto successivo a quello di processo. Esso è essenzialmente una traccia di esecuzione di un processo. Si capisce quindi che un processo può avere infiniti thread. Il thread condivide parte della propria immagine col processo, risultando dunque più leggero. Mentre condivide la PCB, lo spazio di indirizzamento e le istruzioni da eseguire, conserva invece una propria struttura di metadati privata (TCB Thread Control Block) ed un proprio stack privato. I moderni sistemi operativi utilizzano e fanno proprio il concetto di thread (NT è stato creato basandosi su di esso, mentre Unix è stato adattato) poiché esso risulta essere molto più conveniente in termini di velocità di creazione, di minore impiego di strutture dati da parte del sistema. Il sistema risulta dunque essere molto più snello e veloce. Descrivere l algoritmo di dispatching Round-Robin (RR), discutendo l impatto della scelta del time-slice sul comportamento dei processi I/O bound L'algoritmo Round-Robin prevede l'esecuzione dei processi Ready a turno, per un quanto di tempo specifico (slice). E' prevista prelazione, quindi un processo può essere bloccato anche se non ha utilizzato completamente il suo quanto di tempo. Questo metodo di scheduling svantaggia i processi I/O bound a favore dei processi CPU bound (che sfrutteranno l'intero quanto di tempo disponibile), dunque non è ottimale per la gestione dei processi interattivi. Vi è una criticità nella scelta del time-slice, infatti questa impatta sul numero di quanti necessari per attivare una richiesta di I/O. Se il quanto di tempo è eccessivamente piccolo, occorreranno 2 o più quanti per un'interazione I/O, penalizzando ulteriormente i processi I/O bound. Descrivere l algoritmo di dispatching Shortest-Process-Next (SPN) Utilizzando lo scheduling SPN, i processi Ready vengono mandati in esecuzione in funzione della lunghezza del loro prossimo CPU Burst (quantità di tempo di utilizzo continuato della cpu prima di liberarla), in particolare in ordine crescente di CPU Burst. Può essere prevista o meno la prelazione. I vantaggi di questo meccanismo sono dati dalla buona gestione dei processi interattivi (con prelazione). L'aspetto svantaggioso è primariamente il calcolo del prossimo CPU Burst. Descrivere l algoritmo di scheduling della CPU Highest-Response-Ratio-Next, discutendone vantaggi e svantaggi Lo scheduling Highest-Response-Ratio-Next prevede lo scheduling dei processi in base ad un fattore chiamato Rapporto di risposta (RR). L'RR è dato dal rapporto tra la somma del tempo di attesa (w) e il tempo di esecuzione (s) e il tempo di esecuzione. Per tempo di attesa si intende la quantità di tempo trascorsa dall'ultima esecuzione del processo. Per tempo di esecuzione invece la quantità di tempo che il processo intende utilizzare nella sua esecuzione (CPU Burst). Si può capire come questo rapporto favorisca i processi I/O bound, caratterizzati da piccoli valori di s, e i processi non schedulati da molto tempo, con alti valori di w. Il principale svantaggio è dato dal calcolo di s, molto complicato da applicare.

3 Illustrare in modo chiaro e conciso almeno due algoritmi di scheduling della CPU, evidenziando vantaggi e svantaggi di ciascuno di essi Lo scheduling più semplice in assoluto è il FCFS (First Come First Served). Questo meccanismo prevede l'esecuzione dei processi Ready esattamente nell'ordine in cui si trovano nella coda Ready. Non è prevista prelazione, dunque un processo rimane in esecuzione fino a quando non termina oppure decide di rilasciare la CPU spontaneamente. Questo scheduling è molto semplice e banale ma anche poco efficiente nei sistemi moderni. Infatti sfavorisce eccessivamente i processi I/O bound a favore dei processi CPU bound che verranno eseguiti ininterrottamente per tutta la loro durata. Un altro scheduling è quello a Feedback. Sono implementate delle code a priorità multipla. Ogni processo viene inserito in una determinata coda al momento della sua creazione. I processi della coda a priorità maggiore verranno processati prima degli altri. Un processo può mutare la propria priorità in base alla particolare politica che si vuole implementare (ad esempio in base al consumo del quanto di tempo disponibile). Il vantaggio di questa implementazione sta nel favorimento, grazie a determinate poliche, dei processi I/O bound, integrandosi perfettamente con i sistemi interattivi moderni. Gestione della memoria Si descrivano i meccanismi di paginazione a livelli multipli ed i vantaggi che essi offrono nei sistemi di memoria virtuale Utilizzando la tecnica della paginazione si procede col dividere la memoria di lavoro in parti uguali (frame) e lo spazio di indirizzamento del processo in altrettante parti di uguali dimensioni (pagine). Nel momento in cui un processo è allocato in memoria, si assegna ogni pagina ad un frame. Per manutenere questo meccanismo, si necessita di una tavola delle pagine in cui mantenere la corrispondenza tra frame di memoria e pagine dei processi. In sistemi a memoria virtuale lo spazio di indirizzi logici può essere molto ampio, impedendo quindi l'utilizzo di tavole delle pagine lineari. Si utilizzando dunque tavole delle pagine a più livelli, dove la tavola stessa è paginata. La traduzione degli indi rizzi si svolge dalla tabella esterna verso quella più interna. Con questo meccanismo i primi bit dell'indirizzo identificano una sezione, mentre i successivi rappresentano il numero logico di pagina e l'offset all'interno della pagina. Questa ottimizzazione permette un migliore utilizzo della memoria, evitando di utilizzarne in quantità eccessiva per i propri metadati Descrivere la gestione della memoria secondo lo schema a partizioni variabili Utilizzando lo schema a partizioni variabili, la memoria richiesta ed assegnata ad un processo costituisce un'intera partizione. In questo modo possiamo avere partizioni di varia grandezza e in quantità pari al numero di processo attivi nel sistema. Nel momento in cui un processo libera la memoria, viene resa disponibile la partizione appena liberata. L'allocazione dei processi in memoria può avvenire secondo diverse politiche : First fit Il processo viene allocato nel primo spazio disponibile Best fit Il processo viene allocato nello spazio più piccolo disponibile (favorisce l'allocazione di processi di grossa taglia) Worst fit Il processo viene allocato nello spazio più grande disponibile (favorisce l'allocazione di molti processi) Utilizzando lo schema a partizioni variabili si ovvia al problema della frammentazione interna (inesistente) ma si crea un grosso problema di frammentazione esterna (si verranno a creare via via partizioni sempre più frammentate e piccole). Per risolvere questo problema è possibile ricompattare le aree di memoria libere. L'unico svantaggio di questo approccio è l'elevato costo di questo processo periodico. Descrivere gli obiettivi e le caratteristiche delle tecniche di gestione del resident-set nei sistemi operativi basati su memoria virtuale Per resident-set si intende il set di pagine logiche di un programma attive in memoria. Valutare la taglia del resident-set è una scelta cruciale per le prestazioni del sistema. Minore è la sua taglia, maggiore è il grado di multiprogrammazione e minore è il tempo di swapping. Se però la taglia scende sotto una determinata soglia, si va incontro al fenomeno del thrashing, causato dalla frequenza di page fault troppo elevata. La taglia del resident-set può essere fissa, variabile o un misto dei 2. Nel primo caso si assegnano al processo un numero di frame fisso, deciso alla sua attivazione. La sostituzione

4 delle pagine coinvolge solo i frame del processo. Nel secondo caso il numero dei frame di un processo può variare durante la sua esecuzione. La sostituzione delle pagine può coinvolgere anche frame di altri processi. Nel terzo caso il numero dei frame è fisso, al momento dell'attivazione del processo, e la sostituzione coinvolge solo i frame del processo stesso. Periodicamente si ha una rivalutazione della taglia del resident-set, favorendo l'aumento di quella dei processi con meno località. Nella rivalutazione della taglia del resident-set si possono considerare 2 fattori: il working-set (approssimazione della località del processo) e la frequenza di page fault. La taglia del resident-set dovrebbe essere quanto più vicina a quella del working-set per sfruttare pienamente la località di un processo. Si ha però una difficoltà oggettiva nella valutazione del working-set che rende questo approccio molto complesso. Si può dunque valutare la frequenza di page fault, cercando di mantenerla all'interno di un intervallo stabilito. Nel caso in cui superi il massimo o il minimo, la taglia del resident-set dovrà essere rispettivamente aumentata o diminuita. Descrivere il fenomeno del trashing nei sistemi operativi multiprogrammati, soffermandosi sui fattori che possono favorire o meno la sua presenza, e sulle tecniche che è possibile adottare per affrontarlo Il fenomeno del thrashing si verifica nel momento in cui il livello di multiprogrammazione di un sistema diventa eccessivo. Infatti, superata una determinata soglia, i resident set risultano essere troppo piccoli e di conseguenza la frequenza dei page fault troppo alta. In questa situazione tutti i processi attivi rimangono bloccati in attesa del caricamento in memoria delle proprie pagine. Si può tentare di recuperare dal thrashing portando fuori dalla memoria alcuni processi (swap out) secondo una precisa politica: processi a più bassa priorità, con più alta frequenza di page fault, ultimi arrivati, di taglia minore o maggiore. Questi accorgimenti però risultano essere troppo costosi da attuare, poiché necessitano di strutture dati che mantengano le informazioni riguardanti i processi. Dunque non esistono logiche implementate per risolvere il thrashing, si può solo cercare di evitarlo. Descrivere l algoritmo dell orologio per la selezione di vittime nei sistemi a memoria virtuale L'algoritmo NRU, detto dell'orologio, necessita di metadati, nella tavola delle pagine, associati a ciascun frame di memoria, in particolare di un bit (reference bit) settato ad 1 nel momento in cui la pagina di quel frame è referenziata in lettura o in scrittura. Nel momento in cui si necessita di una sostituzione, il sistema operativo scorre la tavola delle pagine fino a quando non ne trova una il cui reference bit è impostato a 0 (lancetta del select). La pagina individuata viene selezionata per la sostituzione. Periodicamente il sistema operativo scorre parte della tavola e resetta i reference bit (lancetta del reset). Si può utilizzare il dirty bit in combinazione con il reference bit per ottimizzare la scelta della pagina da sostituire. La miglior pagina candidata alla sostituzione è quella con reference bit=0 && dirty bit=0, infatti questa non solo non è referenziata ma non necessita nemmeno di essere riportata in memoria. La seconda scelta è una pagina con reference bit=0 && dirty bit=1. Possono verificarsi dei casi particolari: La lancetta del select trova tutti i reference bit impostati ad 1: La lancetta dunque effettua una scansione completa, resetta tutti i reference bit per poi ricominciare la scansione. La lancetta del select trova tutti i reference bit impostati ad 1, resetta l'intera tavola e ritrova tutti i reference bit impostati ad 1: può avvenire solo nel caso in cui il processo che implementa l'algoritmo dell'orologio sia schedulato al pari di tutti gli altri processi, dunque l'operazione risulta non essere atomica. Descrivere la differenza tra il concetto di frammentazione esterna e quello di frammentazione interna per quanto riguarda l allocazione dei processi in memoria principale in ambiente non paginato. Al momento della sua allocazione in memoria, in ambiente non paginato, ad ogni processo è assegnata una partizione (variabile o fissa). La frammentazione esterna si verifica nel momento in cui la memoria rimasta libera risulta essere molto frammentata e di piccole dimensioni. In questo modo questa può essere considerata inutile per allocare nuovi processi, si ha dunque un notevole spreco di memoria. Per ovviare a questo fenomeno si può procedere ad una periodica manutenzione della memoria volta a ricompattare le partizioni (costo elevato). La frammentazione interna invece si verifica nel momento in cui un processo occupa meno memoria di quella assegnatagli dal sistema. In questo modo questa risulta essere inutilizzata e non può essere assegnata a nessun altro processo. Si risolve totalmente il fenomeno della frammentazione interna utilizzando partizioni a taglia

5 variabile, in questo modo ogni processo utilizza esattamente la quantità di memoria che necessita. Descrivere lo schema di paginazione a livelli multipli in sistemi a memoria virtuale, discutendo (1) la relazione tra tale schema ed la strutturazione del microcodice (in termini di cicli macchina) per la risoluzione di un TLB miss e (2) gli effetti di tale schema nel caso in cui il kernel del sistema operativo sia completamente residente in memoria di principale. Utilizzando la tecnica della paginazione si procede col dividere la memoria di lavoro in parti uguali (frame) e lo spazio di indirizzamento del processo in altrettante parti di uguali dimensioni (pagine). Nel momento in cui un processo è allocato in memoria, si assegna ogni pagina ad un frame. Per manutenere questo meccanismo, si necessita di una tavola delle pagine in cui mantenere la corrispondenza tra frame di memoria e pagine dei processi. In sistemi a memoria virtuale lo spazio di indirizzi logici può essere molto ampio, impedendo quindi l'utilizzo di tavole delle pagine lineari. Si utilizzando dunque tavole delle pagine a più livelli, dove la tavola stessa è paginata. La traduzione degli indi rizzi si svolge dalla tabella esterna verso quella più interna. Con questo meccanismo i primi bit dell'indirizzo identificano una sezione, mentre i successivi rappresentano il numero logico di pagina e l'offset all'interno della pagina. Questa ottimizzazione permette un migliore utilizzo della memoria, evitando di utilizzarne in quantità eccessiva per i propri metadati File system ed I/O Si descriva l'allocazione dei file a catena L'allocazione dei file a catena prevede che il Record di Sistema (RS) mantenga informazioni solo riguardo il primo blocco di memoria destinato a quel particolare file. Ogni blocco di memoria conterrà un puntatore al blocco successivo, formando dunque una catena. Per accedere al blocco i-esimo è necessario quindi accedere a tutti i blocchi precedenti. Questo tipo di accesso è potenzialmente molto costoso in casi di catene molto lunghe. Per limitare questo fenomeno si può avviare una ricompattazione dei blocchi. Si descriva il metodo di accesso ai file diretto Con il metodo di accesso diretto si può accedere direttamente all'i-esimo record, senza necessariamente accedere ai precedenti. Ad ogni accesso, l'indice di lettura/scrittura viene incrementato di 1. E' consentito riposizionare l'indice in un qualsiasi punto del file. E' possibile ordinare i record in base ad una chiave. In questo modo può essere usata una funzione di hash che, data una chiave, ci restituisce l'indice per accedere al file. Si descrivano i metodi di allocazione dei file, evidenziandone in modo comparativo vantaggi e svantaggi. Ci sono vari metodi utilizzati nell'allocazione dei file: Allocazione contigua Per ogni file viene allocato un insieme di blocchi contigui. Il record di sistema mantiene informazioni riguardo il primo blocco e la lunghezza del file. Con questo approccio, il file non può crescere più della massima taglia consentita dai blocchi assegnati. Si può avere frammentazione esterna che può essere risolta grazie alla ricompattazione periodica dei blocchi. Allocazione a catena - prevede che il Record di Sistema (RS) mantenga informazioni solo riguardo il primo blocco di memoria destinato a quel particolare file. Ogni blocco di memoria conterrà un puntatore al blocco successivo, formando dunque una catena. Per accedere al blocco i-esimo è necessario quindi accedere a tutti i blocchi precedenti. Questo tipo di accesso è potenzialmente molto costoso in casi di catene molto lunghe. Per limitare questo fenomeno si può avviare una ricompattazione dei blocchi. Allocazione indicizzata Ogni blocco del file è rintracciabile tramite un indice. Il recordo di sistema mantiene informazioni riguardo ogni blocco del file. La taglia massima del file dipende dal numero di blocchi impegnati dal file. Però il numero massimo di blocchi dipende dalla taglia massima del record di sistema (di solito di taglia fissa). Indicizzazione a livelli multipli Uguale all'allocazione indicizzata. La tabella dei record di sistema viene estesa utilizzando uno o più blocchi. In questo modo si limita la grandezza della tabella dei RS residente in memoria di lavoro.

6 Si descriva il concetto di file pointer (puntatore di lettura/scrittura) in file system convenzionali, e le sue relazioni con le operazioni base permesse sui file. Si descriva inoltre se e come viene supportata la condivisione del file pointer tra processi distinti nel file system UNIX Il file pointer è un indice che punta al record acceduto in lettura/scrittura in un determinato istante. Viene riposizionato dopo ogni operazione su file con modalità che variano in base al metodo di accesso al file utilizzato (generalmente l'apertura di un file inizializza l'indice, la chiusura lo rilascia, la lettura/scrittura di un record lo riposiziona). Il file pointer non fa parte del record di sistema. Questo permette che possa essere condiviso da più processi, in modo da creare accessi concorrenti su punti del file scorrelati. Il file system UNIX è strutturato in modo tale che un particolare descrittore, appartenente all'immagine di un processo, non punti direttamente ad un RS ma ad una tabella intermedia. Questo permette la condivisione del puntatore con altri processi, che possono dunque accedere allo stesso file. (mah!) Si descrivano i metodi di allocazione di file a catena e contiguo, evidenziandone, in modo comparativo, i relativi pregi e difetti Vedi sopra Si descriva il metodo di accesso diretto a file, includendo la descrizione delle tipologie di file che vengono supportate tramite questo metodo di accesso Con il metodo di accesso diretto si può accedere direttamente all'i-esimo record, senza necessariamente accedere ai precedenti. Ad ogni accesso, l'indice di lettura/scrittura viene incrementato di 1. E' consentito riposizionare l'indice in un qualsiasi punto del file. Questo metodo di accesso è tipico dei file diretti (caratterizzati da record di taglia e struttura fissa) e dei file hash (caratterizzati da record di taglia e struttura fissa con ordinamento per chiave). Si descriva l implementazione del file-system NTFS, inclusa la struttura delle entry della Master- File-Table (MFT). Si discuta inoltre in che modo la struttura della MFT influenza le prestazioni di accesso ai file in funzione della taglia dei file stessi Il file-system NTFS prevede la divisione dei dischi di memoria in volumi (partizioni), organizzati in cluster da K byte. Per ogni volume è prevista una Master File Table (MFT). Ogni elemento della MFT (di 1K o della dimensione del cluster) corrisponde ad un file. Ogni singola entry della MFT comprende il nome del file (max 255 caratteri), nome DOS (per permettere la retrocompatibilità), permessi di accesso. E' presente un particolare campo (data) che contiene informazioni per accedere al file in memoria. Nel caso di piccoli file, i dati sono immediatamente disponibili nel campo dati (file immediati implementati poiché, statisticamente, un tipico utente Windows utilizza maggiormente piccoli file). Questo accorgimento permette un accesso molto più rapito ai dati del file, disponibili già a partire dai suoi metadati. Nel caso in cui un elemento della MFT non sia sufficiente, si accorpa l'elemento successivo. Si descriva il metodo di allocazione dei file contiguo, discutendone vantaggi e svantaggi Vedi sopra Si descriva il metodo di accesso diretto a file. Si indichi inoltre, motivando la risposta, quale tra i metodi di allocazione contigua, a catena ed indicizzata (ad uno o piu livelli), supporta l accesso diretto a file in modo piu efficiente e quale in modo meno efficiente Con il metodo di accesso diretto si può accedere direttamente all'i-esimo record, senza necessariamente accedere ai precedenti. Ad ogni accesso, l'indice di lettura/scrittura viene incrementato di 1. E' consentito riposizionare l'indice in un qualsiasi punto del file. Questo metodo di accesso è tipico dei file diretti (caratterizzati da record di taglia e struttura fissa) e dei file hash (caratterizzati da record di taglia e struttura fissa con ordinamento per chiave). Accostare il metodo di accesso diretto al metodo di allocazione indicizzata è la soluzione più efficiente. Infatti si può puntare ad un qualsiasi record del file senza dover accedere in maniera ridondante ad altre sue parti (cosa che accadrebbe nei metodi di allocazione contigua od a catena.

7 Si descriva il metodo di allocazione dei file indicizzato, discutendone vantaggi e svantaggi Vedi sopra Si descriva l implementazione del file-system UNIX, inclusa la struttura di un i-node. Descrivere il metodo di allocazione di file basato su indicizzazione a livelli multipli Descrivere il metodo di allocazione di file a catena Descrivere il metodo di accesso sequenziale indicizzato ad un file Descrivere le cause alla base dei problemi di consistenza del file system, discutendo le soluzioni per la gestione dei blocchi (liberi/occupati) sui dispositivi tipicamente adottate dalle applicazioni per il recupero della consistenza Gestione dei buffer e I/O scheduling Descrivere le differenti politiche di schedulazione del DISCO: FCFS, SSTF e SCAN e descrivere quali di queste tende a privilegiare le tracce centrali rispetto a quelle periferiche (interne ed esterne) di un disco. Descrivere le caratteristiche e le differenze tra i due algoritmi di schedulazione del disco C-SCAN e F-SCAN evidenziando, in modo comparato, svantaggi e vantaggi. Descrivere gli algoritmi di schedulazione del disco SCAN, CSCAN ed FSCAN, discutendone vantaggi e svantaggi

Esercitazione E6 Esercizi d esame

Esercitazione E6 Esercizi d esame Esercitazione E6 Esercizi d esame Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E6-1 Memoria virtuale Si consideri un sistema a memoria virtuale con indirizzi a 32 bit, indirizzi fisici a 20

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

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di

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

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

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

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1 SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

GESTIONE DELLA MEMORIA CENTRALE

GESTIONE DELLA MEMORIA CENTRALE GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:

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

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

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 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

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

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

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

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi

Dettagli

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 60 minuti dalla sua

Dettagli

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

I processi Unix. Entry della tabella dei processi

I processi Unix. Entry della tabella dei processi I processi Unix Ciascun processo Unix può evolvere in stato utente o in stato kernel. Il passaggio dall uno all altro stato avviene mediante SVC. Poiché il processo può andare in attesa di un evento nell

Dettagli

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria

Dettagli

12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua

12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua 12. Implementazione di un File System 1 Struttura del file system Metodi di allocazione Gestione dello spazio libero Implementazione delle directory Prestazioni ed efficienza 2 Utente 12.1.1 Struttura

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1 GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Capitolo 11 -- Silberschatz

Capitolo 11 -- Silberschatz Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono

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

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Sistemi Operativi Il Sistema Operativo Windows (parte 3) Sistemi Operativi Il Sistema Operativo Windows (parte 3) Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Architettura di NTFS 1 NTFS file system adottato

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

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

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

Sistemi Operativi (modulo di Informatica II) I processi

Sistemi Operativi (modulo di Informatica II) I processi Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Il concetto di processo Schedulazione dei processi e cambio di contesto

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

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

J. Assfalg Appunti di Sistemi Operativi

J. Assfalg Appunti di Sistemi Operativi Lo scheduler di Linux (kernel 2.4) La politica di scheduling di Linux si propone il raggiungimento dei seguenti obiettivi (molti dei quali sono in contrasto): timesharing gestione di priorità dinamiche

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base

Dettagli

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Modello dei processi. Riedizione delle slide della Prof. Di Stefano Modello dei processi Riedizione delle slide della Prof. Di Stefano 1 Processi Modello di Processi asincroni comunicanti Process Scheduling Operazioni sui Processi Cooperazione tra Processi Interprocess

Dettagli

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti GESTIONE DEI PROCESSI 4.1 Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in diversi S.O. 4.2 Concetto di

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

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

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

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

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica www.dis.uniroma1.it/~midlab Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Prof. Roberto Baldoni Complementi: Buffer I/O Gestione dei buffer e I/O scheduling: 1. Richiami sulle tecniche

Dettagli

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale) Memoria Virtuale Anche la memoria principale ha una dimensione limitata. Possiamo pensare di superare questo limite utilizzando memorie secondarie (essenzialmente dischi) e vedendo la memoria principale

Dettagli

SCHEDULATORI DI PROCESSO

SCHEDULATORI DI PROCESSO Indice 5 SCHEDULATORI DI PROCESSO...1 5.1 Schedulatore Round Robin...1 5.2 Schedulatore a priorità...2 5.2.1 Schedulatore a code multiple...3 5.3 Schedulatore Shortest Job First...3 i 5 SCHEDULATORI DI

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

File system II. Sistemi Operativi Lez. 20

File system II. Sistemi Operativi Lez. 20 File system II Sistemi Operativi Lez. 20 Gestione spazi su disco Esiste un trade-off,tra spreco dello spazio e velocità di trasferimento in base alla dimensione del blocco fisico Gestione spazio su disco

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

Il File System. Il file system

Il File System. Il file system Il File System Il file system Parte di SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti di file:

Dettagli

Processi e Thread. Scheduling (Schedulazione)

Processi e Thread. Scheduling (Schedulazione) Processi e Thread Scheduling (Schedulazione) 1 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux 6.1 Sistemi multiprocessori simmetrici Fin qui si sono trattati i problemi di scheduling

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

Lo scheduler di UNIX (1)

Lo scheduler di UNIX (1) Lo scheduler di UNIX (1) Lo scheduling a basso livello è basato su una coda a più livelli di priorità 1 Lo scheduler di UNIX (2) Si esegue il primo processo della prima coda non vuota per massimo 1 quanto

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

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

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

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

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

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID Memoria secondaria Struttura del disco Scheduling del disco Gestione dell unità a disco Affidabilità dei dischi: RAID Sistemi Operativi 13.1 Struttura del disco I dischi vengono indirizzati come grandi

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma

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

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

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

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa Il File System 1 Il file system E quella componente del SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale Calcolatori Elettronici La memoria gerarchica La memoria virtuale Come usare la memoria secondaria oltre che per conservare permanentemente dati e programmi Idea Tenere parte del codice in mem princ e

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi. 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file. ESERCIZIO 1 Si consideri un hard disk formattato la cui memoria è suddivisa in 16 blocchi (numerati da 0 a 15). Si supponga che sull hard disk sia memorizzato un unico file, contenuto, nell ordine, nei

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1

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 4 La Struttura dei Sistemi Operativi. Introduzione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)

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

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

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

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

Scheduling. Lo scheduler è la parte del SO che si occupa di

Scheduling. Lo scheduler è la parte del SO che si occupa di Scheduling Lo scheduler è la parte del SO che si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L algoritmo di scheduling (la politica utilizzata dallo scheduler) ha impatto

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

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

Cognome: Nome: Matricola: Sistemi Operativi A.A. 2005-2006, prova scritta del 7 luglio 2006

Cognome: Nome: Matricola: Sistemi Operativi A.A. 2005-2006, prova scritta del 7 luglio 2006 Cognome: Nome: Matricola: Sistemi Operativi A.A. 2005-2006, prova scritta del 7 luglio 2006 Usa questa pagina per la brutta, staccala, non consegnarla. Sistemi Operativi A.A. 2005-2006, prova scritta del

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

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

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi.

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi. Concetti fondamentali Scheduling della CU Introduzione allo scheduling Uno degli obbiettivi della multiprogrammazione è quello di massimizzare l utilizzo delle risorse e in particolare della CU er raggiungere

Dettagli

Tecnologia di un Database Server (centralizzato) Gestione del buffer

Tecnologia di un Database Server (centralizzato) Gestione del buffer Buffer Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione del buffer Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Buffer

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

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

Interrupt-Driven I/O Gli Interrupts sono segnali hardware: - generati da device periferici es. fine di un operazione di I/O -oppure generati dalla CPU, a fronte di eccezioni i es. divisione per zero, stack

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

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica prof. Ing. Corrado Santoro A.A. 2010-11 Architettura di un sistema operativo Progr 1 Progr 2 Progr

Dettagli

SCHEDULING DEI PROCESSI

SCHEDULING DEI PROCESSI SCHEDULING DEI PROCESSI FIFO o FCFS (First-In-First-Out) Primo arrivato primo servito. Si utilizza nei processi non-preemptive. RR (Round-Robin) I processi sono attivati in modalità FIFO ma viene loro

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

Varie tipologie di memoria

Varie tipologie di memoria Varie tipologie di memoria velocita` capacita` registri CPU memoria cache memoria secondaria (Hard Disk) Gestione della memoria Una parte della viene riservata per il SO I programmi per poter essere eseguiti

Dettagli

Cognome e Nome... 31 Gennaio 2002 I prova in itinere

Cognome e Nome... 31 Gennaio 2002 I prova in itinere 31 Gennaio 2002 I prova in itinere COMPITO A La prova consiste nello svolgere i questiti delle due parti di cui è composta. 1. Dare la definizione di Spooling e dire quando e perché è più conveniente di

Dettagli

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing Informatica 3 LEZIONE 21: Ricerca su liste e tecniche di hashing Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing Informatica 3 Lezione 21 - Modulo 1 Algoritmi sequenziali e basati su

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli