Memoria Virtuale. Lezione Sistemi Operativi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Memoria Virtuale. Lezione 10-11 Sistemi Operativi"

Transcript

1 Memoria Virtuale Lezione Sistemi Operativi

2 Problemi implementativi Dal punto di vista del SO la realizzazione di un sistema di VM richiede la soluzione di una serie di problemi: Individuazione di strutture dati adeguate per le tabelle delle pagine in memoria centrale Procedura di gestione del page fault Back up delle istruzioni Gestione delle tabelle delle pagine in memoria secondaria 2

3 Tabelle delle pagine Le principali criticità da considerare sono legati a criteri di Efficienza Spazio Un sistema che offre la paginazione deve gestire le seguenti strutture dati Tabella dei frame Tabella delle pagine, che definisce l associazione pagina à frame una per ogni processo in esecuzione o in attesa di esecuzione 3

4 Frame Table Ogni voce della tabella dei frame contiene dei flag che descrivono: Se il frame è libero o meno Quale processo (o processi) utilizza il frame Quando una pagina viene eliminata da un frame, vanno aggiornate le tabelle delle pagine di tutti i processi che referenziavano quella pagina Se il frame è bloccato (pinned) 4

5 Pinned Frame Un frame può essere bloccato se è attualmente utilizzato da processi di lunga durata Es.: un processo che ha fatto una richiesta di I/O per esempio leggere o scrivere più blocchi di un file su disco il kernel configura un trasferimento DMA nelle specifiche pagine virtuali nello spazio di indirizzi del processo, ma per questo trasferimento ci vorrà un po di tempo per terminare se il kernel sceglie di rimuovere alcune pagine dalla memoria, esso non può selezionare pagine utilizzate dalla periferica esterna il kernel appunta queste pagine affinché il pager di memoria virtuale non le consideri Altro esempio frame che contengono porzioni di kernel 5

6 Elemento di una tabella delle pagine 6

7 Page table entry (PTE) 7

8 Paginazione: efficienza Procedura di caricamento di un programma in un ambiente multiprogrammato 1. Long term scheduling verifica disponibilità dei frame in memoria centrale 2. Il processo viene caricato in MC e la sua tabella delle pagine compilata e agganciata al PCB 3. Quando il processo va in esecuzione la sua tabella delle pagine viene usata dalla MMU per il binding degli indirizzi, questa operazione compiuta per ogni accesso a memoria, deve essere resa efficiente con il supporto dell HW 8

9 Ottimizzare l accesso alla tabella delle pagine Esistono tre alternative Registri specializzati Molto efficiente in esecuzione ma molto costosa per tabelle di grosse dimensioni, soprattutto in context switch Esiste un registro che indirizza la tabella delle pagine del processo in esecuzione, tra quelle di tutti i processi del sistema; la tabella sta in memoria Lenta richiede più accessi a memoria centrale per recuperare le informazioni Registri associativi Implementano un Translation Lookaside Buffer di elementi 9

10 TLBs Translation Lookaside Buffers 10

11 TLB 11

12 Gestione del Page Fault (1) 1. Viene generata una trap di page fault (da chi?) 2. Salvataggio del contesto interrotto da parte dell hw 3. Richiamo procedura di gestione dell eccezione 4. Il SO individua il numero di pagina da caricare 5. Il SO verifica la validita di questo dato e cerca dei frame liberi 6. Se il frame selezionato è dirty, riscrivilo su disco 12

13 Page Fault Handling (2) 6. Il SO trasferisce la nuova pagina in memoria 7. La tabella delle pagine viene aggiornata 8. I registri vengono ripristinati, tenendo conto che l istruzione che ha generato il fault deve essere ripristinata 9. Il processo che ha generato il fault viene rimesso in esecuzione 13

14 Gestione del Page Fault 14

15 Tempo medio di accesso ad un dato/istruzione I parametri da considerare: β = pfratio: frequenza di page fault α = Hit ratio: frequenza di successo nell accesso a TLB T mem = Tempo accesso a memoria T TLB = Tempo accesso a cache T pf = Tempo gestione page fault 15

16 La formula Effective Access Time (EAT): EAT = (Τ TLB + Τ mem ) α + + (1 α)[(2t mem + T TLB )(1-β) + T pf β] 16

17 Esercizio T mem = 100 ns T TLB = 20 ns T pf = 20ms hit ratio = 80% Pfratio = 1% (0.8)(20+100) + (0.2)[ ( )* * 0,01] = 0.8* *217, = , = ,56 ns L accesso ad un dato in memoria diventa 2000 volte più lento se confrontata con un sistema non paginato!!! Per avere valori accettabili è necessario avere hit ratio molto più elevato (98%) e pfratio molto più basso (0.0008% cioè 1 ogni accessi) 0.98*120 + (0.02)[220* * ] = = 117,6 + (0.02)*( 219, ) = 117, circa 120ns 17

18 Tabella delle pagine: dimensioni La dimensione della tabella può essere molto elevata Con pagine di 4KB 1 milione di pagine con indirizzi di 32 bit, quindi 1 milione di elementi nella tabella Vanno individuate soluzioni per ovviare a questo inconveniente: Tabelle delle pagine multilivello Tabella delle pagine invertite 18

19 Tabella delle pagine a due livelli Top-level page table 19

20 Esercizio In un sistema paginato con tabella delle pagine a due livelli, tabelle di I e II livello contenti fino a 16 elementi e dimensione della pagina di 32 byte, l indirizzo virtuale 594 come viene tradotto dal compilatore? 1. Nella tripla <0, 7, 18> 2. Nella tripla <0, 0, 594> 3. Nella tripla <1, 2, 18> 4. Nessuna risposta è corretta 20

21 Tabella delle pagine invertita La tabella indicizza i frame di memoria fisica Un TLB permette la ricerca delle pagine più usate 21

22 Pagine su memoria secondaria Il sistema operativo usa solitamente un area di swap su cui memorizza l intero processo Il processo viene interamente caricato in swap a partire dalla prima posizione disponibile le pagine, che avranno un indirizzo ben definito sono poi prelevate/scaricate da quest area Ogni pagina in memoria ha una sua copia, non necessariamente aggiornata, in swap area 22

23 Pagine su memoria secondaria Il processo può cambiare dimensioni durante la sua vita Si possono allora adottare soluzioni diverse Si allocano in swap area spazi diversi per Codice, dati e stack Non pre alloco alcun spazio in area di swap, che gestisco on-demand Ci sarà una copia di una pagina in swap area solo a seguito di un operazione di swap-out 23

24 Pagine su memoria secondaria 24

25 Page Replacement Algorithms Nelle fasi di paginazione di processi può verificarsi la seguente situazione: si deve caricare in memoria una nuova pagina ma non ci sono frame disponibili, in questo caso è necessario: Individuare le pagine da scaricare su disco Salvare le pagine modificate durante l esecuzione, quelle non modificate possono essere sovrascritte Devono quindi essere individuate opportune strategie di rimpiazzamento 25

26 Page replacement Obiettivo di una politica di sostituzione di pagina è di minimizzare il numero di page fault che si verificano nel tempo ci sono molte politiche di page replacement che vanno valutate con sequenze campione di accessi a memoria tracce di esecuzione effettive tracce casuali data una sequenza di accessi alla memoria, si simulare una politica di replacement e si determina il suo page fault rate le politiche migliori sono quelle che, in media, generano page fault rate più bassi 26

27 FIFO Page Replacement Algorithm Mantiene una lista delle pagine che rispetta l ordine con cui le stesse sono state caricate in memoria (le pagine più anziane sono all inizio della lista) Le pagine più anziane sono le prime ad essere sostituite Svantaggio Sostituire una pagine che è referenziata spesso Anamalia di Belady 27

28 FIFO Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 Memoria di riferimento: 3 frame Sequenze di accesso 28

29 FIFO Esercizio: svolgere l esercizio precedente assumendo di disporre di una memoria centrale di 4 frame 29

30 Optimal Page Replacement Algorithm Sostituire, tra quelle presenti in memoria, la pagina che sarà referenziata il più tardi possibile Ottimale ma non realizzabile Possibili stime Tenere traccia dell uso passato delle pagine e inferire il futuro dal passato Esercizio: calcolare il numero di page fault generati dalla strategia ottimale con la reference string usata precedentemente e memoria con 3 frame 30

31 LRU Non è possibile implementare criteri di sostituzione ottimale della pagina Come nel caso di SJF non si può predire il futuro Approccio generale: usare il passato per predire il futuro che dà luogo alla politica Least Recently Used (LRU) quando una pagina deve essere scaricata, scegliere sempre quella che è stata usata meno recentemente (LRU è fondamentalmente OPT applicato alla stringa dei riferimenti in senso inverso) LRU non esibisce anomalia di Belady LRU è comunque difficile da implementare tipicamente richiede hardware dedicato poiché è necessario aggiornare i dati necessari per implementare LRU ad ogni accesso di memoria 31

32 LRU Due approcci generali per l'attuazione politica LRU opzione 1: uso un contatore per registrare l'ultima volta che una pagina è stata acceduta ogni pagina è possibile accedere ad esempio aggiornare il contatore su ogni istruzione, o su ogni accesso memoria È necessario estendere le voci della tabella delle pagine per contenere il valore del contatore che MMU dovrà aggiornare ad ogni accesso a pagina, (devo pagare un accesso supplementare alla tabella delle pagine anche in presenza di TLB, o modificare anche il layout di TLB) Quando una pagina deve essere sostituita: scandisco la tabella delle pagine per individuare tra quelle presenti in memoria la pagina più vecchia Problema: scansione costa O(n) 32

33 LRU Opzione 2: Usare una coda per mantenere l'ordine di accesso alle pagine quando Quando si accede a una pagina, la si sposta nuovamente all'inizio della coda, questo deve accadere ad ogni accesso di pagina Quando una pagina deve essere sostituita: si prende la pagina nella parte posteriore della coda; Individuare la pagina da sostituire è veloce e facile, basta considerare l'ultimo elemento alla fine della coda... ma il costo di ogni accesso a memoria è significativamente alto! Per quasi ogni accesso è sono necessarie manipolazioni della lista concatenata, che richiedono più accessi di memoria In pratica, le LRU è troppo lento/difficile da attuare, si usano sua approssimazioni (NFU e Aging) 33

34 Second Chance Page Replacement Algorithm Le pagine sono ordinate FIFO con un bit d uso R La lista delle pagine quando si verifica un page fault all istante 20, e A ha il bit R a uno 34

35 The Clock Page Replacement Algorithm Come seconda chance ma usa una lista circolare, la lancetta punta alla pagina più vecchia 35

36 Esercizio Si consideri un processo di 460 byte, che durante la sua esecuzione referenzia istruzioni ai seguenti indirizzi: 10, 11, 104, 170, 73, 309, 185, 245, 246, 434, 458, 364. Il processo viene eseguito su un sistema in cui la memoria centrale ha dimensione 200 byte e le pagine hanno dimensione 100 byte. Quanti sono i page fault che l esecuzione del suddetto processo genera in un sistema in cui vengono rispettivamente adottati gli algoritmi di rimpiazzamento pagine FIFO, LRU e ottimale? 6, 7, 5 6, 5, 7 6, 7, 7 nessuno dei valori riportati è corretto 36

37 Working Set Working set di un processo è l insieme di pagine che il processo sta attualmente utilizzando Ovviamente il working set cambia nel tempo idealmente, una politica di sostituzione pagina dovrebbe sostituire solo pagine che non appartengono al working set Se si rimuovono pagine che sono nel working set, questo non può che aumentere il tasso di page fault Come possiamo approssimare questo comportamento virtuoso 37

38 Working Set Il working set è caratterizzato da due parametri, l istante di tempo t in cui viene calcolato e la dimensione della finestra di riferimento k w(k,t) è la dimensione del working set all istante t 38

39 Working set All istante t 1 il processo ha WS={1, 2, 5, 6, 7} All istante t 2 il processo ha WS = {1, 2, 3, 4} Idealmente le pagine da sostituire sono 5, 6, 7 39

40 WSClock La politica WSClock si basa sul concetto di working set per decidere la pagina da scaricare Il sistema gestisce un orologio virtuale per ogni processo se una determinata pagina è stata acceduta entro τ istanti rispetto al current virtual time, si trova nel working sett del processo Come nel caso della politica basata sul clock, le pagine sono gestite attraverso lista circolare, e ogni pagina ha un campo che indica l istante di ultimo uso Periodicamente tutte le pagine sono esaminate: Se il bit d uso è a 1 il valore del campo time of last use è settato al valore ocrrente del timer, ed il bit d uso è posto a zero 40

41 Working Set page replacement algorithm 41

42 WSClock Quando si verificaun page fault la pagina puntata dalla lancetta del clock viene esaminata: Se il bit d uso è 1 la pagina fa parte del working set, il bito duso viene azzerato e si passa alla pagina successiva Se il bit d uso è 0 la pagina può ancora far parte del working set in funzione del valore di time of last use e τ, sarà eleminata solo nel caso di non appartenenza al working set Un ulteriore criterio può essere quello di considerare o meno il dirty bit 42

43 WS clock 43

44 Page Buffering I sistemi operativi gestiscono un pool di frame liberi" da usare in presenza di page fault In questo modo un processo a fronte di un page fault potrà disporre immediatamente di un frame libero Per gestire questo pool i sistemi operativi si rifanno ad algoritmi di page reclaiming che inseriscono in prima battuta un frame in una lista di non-usati e poi successivamente in una lista di frame liberi 44

45 Politiche di allocazione pagine Il sistema operativo può influenzare direttamente il comportamento di un sistema di VM operando su due parametri: Il numero di frame allocati ad ogni processo Il livello di multiprogrammazione: cioè il numero di processi che possono concorrentemente essere in esecuzione sul sistema La politica di allocazione pagine adottata è relativa al primo punto 45

46 Politiche di allocazione pagine Equi distribuzione: dati m frame ed n processi alloca a ciascun processo m/n frame Proporzionale: assegna ad ogni processo un numero di frame proporzionale alla dimensione della sua memoria virtuale Se il processo p i ha spazio virtuale s i Assegna ad ogni processo (s i / Σ s i ) x m frame Queste politiche non tengono però conto dell andamento dinamico delle richieste di pagine 46

47 Una soluzione Un primo meccanismo che può usato per introdurre politiche di allocazione più rispondenti è il WS, se indichiamo con WS i il working set dell i-esimo processo presente in memoria valgono le seguenti considerazioni: D < Σ WS i aggiungi processi sino a raggiungere il limite D Se D > n.ro frame della memoria centrale sospendi un certo numero di processi al fine di rispettare l uguaglianza D = Σ WS i 47

48 Un altra soluzione Una strategia può essere qualla di mantenere la frequenze di PF per ogni processo in un valore intermedio tra A e B 48

49 Global. Vs. local Quando un processo necessità più frame il SO ha due opzioni: Acquisire il frame nuovo da uno qualunque dei processi in esecuzione (global replacement) Acquisire il frame dal pool dei frame assegnati al processo che ha generato il page fault (local replacement) 49

50 Global vs. Local Global: Limiti: il page fault di un processo può influire direttamente sul comportmento di altri processi Vantaggi: maggiore flessibilità per il SO Local Limiti: difficoltà di stimare correttamente la dimensione del pool da assegnare ad un processo Vantaggi: se un processo inizia ad effettuare page-fault il fenomeno resta localizzato Global replacement policy è la soluzione più usata 50

51 Alcune Considerazioni Obiettivo principale di una politica di allocazione pagine è garantire a tutti i processi un numero sufficiente di frame per svolgere le loro funzioni In realtà l obiettivo più realistico è quello di contenere il numero di page fault ad un livello accettabile Da un certo punto di vista il page fault non è un evento così catastrofico: Quando un processo va in page fault viene bloccato su I/O consentendo ad altri processi in ready l uso della CPU 51

52 Trashing Il problema si pone quando la frequenza di page fault diventa così alta che il sistema spende la maggior parte del suo tempo a gestire i page fault o in attesa di pagine che devono essere acquisite Il trashing si verifica ogni volta che il numero totale dei frame che i processi usano è maggiore del numero totale dei frame disponibili 52

53 Trashing Esempio: un sistema con 20 frame di memoria centrale e 4 processi in esecuzione, ciascuno con memoria virtuale di 10 frame, ma che ne sta usando solo 5. Ad un certo punto la località di due processi passa da 5 a 10, a questo punto il sistema dovrebbe poter disporre di 30 frame, ma ne ha solo 20 53

54 Trashing e Multiprogrammazione Aumentando il livello di Multiprogrammazione la richiesta di frame fisici aumenta e tipicamente aumenta anche la frequanza di page fault 54

55 Dimensione Pagine Vantaggi pagine piccole Minore frammentazione interna Più adattabili alle dimensioni dei programmi Riduzione spazio di memoria inutilizzato Svantaggi Grosse tabelle delle pagine Più accessi a disco 55

56 Dimensione Pagine 56

57 SEGMENTAZIONE 57

58 Segmentazione La memoria virtuale vista finora è monodimensionale Avere più spazi di indirizzi separati può essere vantaggioso in presenza di aree dati distinte che crescono durante l esecuzione Es. Compilatore che usa aree per Testo sorgente Symbol table Tabella delle costanti intere e floating point Albero di parsing Stack per le chiamate di procedura del compilatore stesso 58

59 Segmentazione Lo spazio di indirizzamento è costituito da un insieme di spazi di indirizzi logici indipendenti detti segmenti I segmenti hanno dimensioni diverse e possono cambiare senza interferire gli uni con gli altri L utente definisce i segmenti ma non li gestisce Semplifica le operazioni di linking Segmento, offset per indirizzare i moduli I segmenti sono indipendenti Facilita la condivisione di librerie Soffre di frammentazione esterna 59

60 Segmentazione: esempio 60

61 Segment Sharing 61

62 Mapping indirizzo logico-fisico 62

63 Segmentazione 63

64 Problemi Segmentazione Non è trasparente al programmatore Presenta i problemi di frammentazione che caratterizzano gli schemi di gestione della memoria a partizioni 64

65 Segmentazione paginata Obiettivo: cogliere gli aspetti positivi di entrambe le soluzioni cercando di contenere gli effetti negativi Un sistema in cui i processi sono suddivisibili in segmenti che non devono essere necessariamente caricati interamente in memoria perché paginabili 65

66 Calcolo indirizzo 66

67 Un caso di studio: IA-32 Ogni processo è suddiviso in almeno tre segmenti: code-segment, data-segment, e uno stack-segment i cui dati di riferimento sono presenti in appositi registri (segment register) Ogni segmento può avere dimensioni sino a 4GB Il compilatore assegna ad ogni dato/istruzione il suo spiazzamento all interno del segmento di riferimento L indirizzo logico di un elemento è costituito da: L indicatore del suo segmento di riferimento (segment selector) L indirizzo asegnatogli dal compilatore In una prima fase di trasformazione l indirizzo logico viene trasformato in indirizzo lineare 67

68 Logico à Lineare 68

69 Address-translation L indirizzo lineare generato dalla CPU viene suddiviso dalla MMU in 3 campi index into page-directory index into page-table offset into page-frame 10-bits 10-bits 12-bits Questo campo seleziona uno dei 1024 record della Page-Directory Questo campo seleziona uno dei 1024 record della Page-Table Questo campo è l offset del byte indirizzato all interno di una pagine di 4096 byte 69

70 Paginazione Intel 70

71 Riassumendo 71

72 Physical Address Extension Abilita un estensione dello spazio di indirizzamento fisico a 36 bit Introdotta a partire dal Pentium Pro, in cui il bus indirizzi è stato esteso da 32 a 36 linee Lo spazio virtuale di ciascun processo resta di 32 bit Abilitata settando il bit PAE in CR4 Dimensione consentita delle pagine: 4KB, 2MB, 4MB 72

73 PAE: Strutture di supporto Page directory e page table restano di dimensione 4K Per poter esprimere correttamente indirizzi di 36 bit, gli elementi di page directory e page table sono estesi da 32 a 64 bit Questo significa che ogni tabella conterrà al più 2 9 elementi per un totale di 2 18 pagine indirizzabili e quindi per uno spazio virtuale di 2 30 bit Per garantire il mantenimento dello spazio virtuale a 32 bit si introduce una ulteriore tabella di 4 elementi: page-directory-pointer-table 73

74 74

75 75

76 76

77 77

Memoria Virtuale. Lezione 29 Sistemi Operativi

Memoria Virtuale. Lezione 29 Sistemi Operativi Memoria Virtuale Lezione 29 Sistemi Operativi I Principi Abbiamo sinora assunto che durante l esecuzione di un programma, lo stesso debba risiedere completamente in MC Intorno alla metà degli anni 70 viene

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

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

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale 1 (es. 1) Consideriamo un processo con m frame inizialmente vuoti. La stringa di riferimento è lunga p e contiene riferimenti a n pagine diverse. Per un qualsiasi algoritmo di rimpiazzamento: a) qual è

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

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

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

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

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

= 0, 098 ms. Da cui si ricava t 2 medio

= 0, 098 ms. Da cui si ricava t 2 medio 1. Una macchina ha uno spazio degli indirizzi a 32 bit e una pagina di 8 KB. La tabella delle pagine è completamente nell hardware, con una parola a 32 bit per voce. Quando parte un processo, la tabella

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

memoria virtuale protezione

memoria virtuale protezione Memoria Virtuale Le memorie cache forniscono un accesso veloce ai blocchi di memoria usati più di recente La memoria virtuale fornisce un accesso veloce ai dati sulle memorie di massa usati più di recente.

Dettagli

Memoria Virtuale. Lezione 6-7 Sistemi Operativi

Memoria Virtuale. Lezione 6-7 Sistemi Operativi Memoria Virtuale Lezione 6-7 Sistemi Operativi Problemi implementativi Dal punto di vista del SO la realizzazione di un sistema di VM richiede la soluzione di una serie di problemi: Individuazione di strutture

Dettagli

Memoria virtuale. Riassumendo Meccanismo di traduzione indirizzi con tabella TLB Ogni processo ha la sua PMT Politiche della memoria virtuale E

Memoria virtuale. Riassumendo Meccanismo di traduzione indirizzi con tabella TLB Ogni processo ha la sua PMT Politiche della memoria virtuale E Spazio di indirizzamento virtuale Riprendiamo lo spazio di indirizzamento virtuale del programma di inversione stringa LO SPAZIO DI INDIRIZZAMENTO VIRTUALE DI UN PROCESSO É Spazio di indirizzamento virtuale

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

Sistemi Operativi Gestione della Memoria (parte 2)

Sistemi Operativi Gestione della Memoria (parte 2) Sistemi Operativi Gestione della Memoria Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Memoria Virtuale 1 Una singola partizione o anche l intera

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

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

Uniamo VM e CACHE. Physically addressed. Physically Addressed. Prestazioni. Ci sono varie alternative architetturali. Sono quelle piu semplici

Uniamo VM e CACHE. Physically addressed. Physically Addressed. Prestazioni. Ci sono varie alternative architetturali. Sono quelle piu semplici Uniamo VM e CACHE Physically addressed Ci sono varie alternative architetturali physically addressed virtually addressed virtually indexed Sono quelle piu semplici un dato puo essere in cache solo se e

Dettagli

La memoria virtuale. La gerarchia di memorie. Indirizzo fisico. Memoria virtuale. Architetture Avanzate dei Calcolatori. Valeria Cardellini

La memoria virtuale. La gerarchia di memorie. Indirizzo fisico. Memoria virtuale. Architetture Avanzate dei Calcolatori. Valeria Cardellini La memoria Architetture Avanzate dei Calcolatori Valeria Cardellini Nelle lezioni precedenti { Memoria La gerarchia di memorie Registri Istruzioni, operandi L Cache Blocchi L2 Cache Blocchi Memoria Pagine

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

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

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

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

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

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

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

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

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

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 La memoria cache

Capitolo 11 La memoria cache Capitolo 11 La memoria cache Gerarchie di Memoria Dati sperimentali mostrano che i riferimenti alla memoria godono della proprietà di località spaziale e temporale. Località spaziale: tendenza a generare

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

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

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

Esercitazione E2 Memoria virtuale

Esercitazione E2 Memoria virtuale Esercitazione E2 Memoria virtuale Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-1 Memoria virtuale 1 Si consideri un sistema a memoria virtuale con indirizzi virtuali a 32 bit, indirizzi fisici

Dettagli

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame.

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. 1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. (a) Da quanti bit è costituito l indirizzo logico? (b) Da quanti bit

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare

Dettagli

Le virtual machine e la memoria virtuale

Le virtual machine e la memoria virtuale Le virtual machine e la memoria virtuale Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson 5: 5.6, 5.7. 1/29

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

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

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

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

Gestione della memoria

Gestione della memoria Prof. Diomede Mazzone Gestione della memoria Memoria Virtuale Cosa accade usualmente Alcuni processi possono rimanere in stato di ready per molto tempo, occupando memoria! Le pagine fisiche di memoria

Dettagli

esercizi memoria virtuale 2004-2008 maurizio pizzonia - sistemi operativi

esercizi memoria virtuale 2004-2008 maurizio pizzonia - sistemi operativi esercizi memoria virtuale 1 tabella delle pagine (8.1) data la tabella delle pagine (pagina di 1024 bytes) di un processo tradurre i seguenti riferimenti in indirzzi fisici: 1052, 5499, 2221 2 dove mettiamo

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

La memoria centrale (RAM)

La memoria centrale (RAM) La memoria centrale (RAM) Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso casuale Tecnologia elettronica: Veloce ma volatile e costosa Due eccezioni R.O.M.

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

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

Memoria Virtuale. Lezione 6-7 Sistemi Operativi

Memoria Virtuale. Lezione 6-7 Sistemi Operativi Memoria Virtuale Lezione 6-7 Sistemi Operativi Problemi implementativi Dal punto di vista del SO la realizzazione di un sistema di VM richiede la soluzione di una serie di problemi: Individuazione di strutture

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

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

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

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

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

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

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

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

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

SISTEMI OPERATIVI. La memoria virtuale. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

SISTEMI OPERATIVI. La memoria virtuale. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II) SISTEMI OPERATIVI (MODULO DI INFORMATICA II) La memoria virtuale Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) Università degli Studi di Bergamo a.a. 2012-13 Sommario La memoria virtuale

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

La memoria - generalità

La memoria - generalità Calcolatori Elettronici La memoria gerarchica Introduzione La memoria - generalità n Funzioni: Supporto alla CPU: deve fornire dati ed istruzioni il più rapidamente possibile Archiviazione: deve consentire

Dettagli

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

Dettagli

Architettura dei calcolatori II parte Memorie

Architettura dei calcolatori II parte Memorie Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Architettura dei calcolatori

Dettagli

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella. Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell

Dettagli

Strutture di Memoria 1

Strutture di Memoria 1 Architettura degli Elaboratori e Laboratorio 17 Maggio 2013 Classificazione delle memorie Funzionalitá: Sola lettura ROM, Read Only Memory, generalmente usata per contenere le routine di configurazione

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

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi:

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi: 1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi: compile time, load time, execution time. Quale delle modalità precedenti necessita di un supporto hardware per poter essere

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

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

La memoria virtuale 9.2. Sistemi Operativi a.a. A.A. 2009-10 2013-2014

La memoria virtuale 9.2. Sistemi Operativi a.a. A.A. 2009-10 2013-2014 La Memoria Virtuale La memoria virtuale Background Paginazione su richiesta Copy on Write Sostituzione delle pagine Allocazione dei frame Thrashing File mappati in memoria Allocazione di memoria del kernel

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

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

Gerarchie di Memoria Andrea Gasparetto andrea.gasparetto@unive.it

Gerarchie di Memoria Andrea Gasparetto andrea.gasparetto@unive.it Tutorato di architettura degli elaboratori Gerarchie di Memoria Andrea Gasparetto andrea.gasparetto@unive.it Esercizio 1 Considerare un sistema di memoria virtuale paginata, con dimensione dell indirizzo

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

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

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

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

Le virtual machine e la memoria virtuale

Le virtual machine e la memoria virtuale Le virtual machine e la memoria virtuale Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson 5: 5.6, 5.7. 1/30

Dettagli

Organizzazione della memoria

Organizzazione della memoria Memorizzazione dati La fase di codifica permette di esprimere qualsiasi informazione (numeri, testo, immagini, ecc) come stringhe di bit: Es: di immagine 00001001100110010010001100110010011001010010100010

Dettagli

Sistemi Operativi a.a. 2004-2005. Esercizi - 2

Sistemi Operativi a.a. 2004-2005. Esercizi - 2 Sistemi Operativi a.a. 004-005 Esercizi - Renzo Davoli Alberto Montresor. I diritti di memorizzazione elettronica, di riproduzione e di adattamento parziale o totale (compresi microfilm e copie fotostatiche)

Dettagli

Memoria Virtuale. è la tecnica chge permette l esecuzione di processi che non sono completamente caricati in memoria principale

Memoria Virtuale. è la tecnica chge permette l esecuzione di processi che non sono completamente caricati in memoria principale Memoria Virtuale Memoria Virtuale Definizione è la tecnica chge permette l esecuzione di processi che non sono completamente caricati in memoria principale Considerazioni permette di eseguire in concorrenza

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

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:

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

AXO. Operativi. Architettura dei Calcolatori e Sistemi. memoria virtuale

AXO. Operativi. Architettura dei Calcolatori e Sistemi. memoria virtuale AXO Architettura dei Calcolatori e Sistemi Operativi memoria virtuale concetto di memoria virtuale Separare il concetto di: spazio di indirizzamento di un programma eseguibile e dimensione effettiva della

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici La memoria gerarchica L hard disk Introduzione alla memoria virtuale Scendiamo di un altro livello CPU Banco Cache Memoria principale Memoria secondaria Dimensioni < 1KB < 1 MB

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

HEX Bin HEX Bin HEX Bin HEX Bin 0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111

HEX Bin HEX Bin HEX Bin HEX Bin 0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111 Struttura interna del Sistema Operativo CAP. 7. La gestione della memoria virtuale Il concetto di memoria virtuale Il concetto di memoria virtuale nasce dalla necessità di separare il concetto di spazio

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

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

Memoria virtuale. Strutture hardware e di controllo

Memoria virtuale. Strutture hardware e di controllo Memoria virtuale Strutture hardware e di controllo Le caratteristiche chiave delle tecniche di segmentazione e paginazione sono: Tutti i riferimenti di memoria all'interno di un processo sono indirizzi

Dettagli

Tipi classici di memoria. Obiettivo. Principi di localita. Gerarchia di memoria. Fornire illimitata memoria veloce. Static RAM. Problemi: Dynamic RAM

Tipi classici di memoria. Obiettivo. Principi di localita. Gerarchia di memoria. Fornire illimitata memoria veloce. Static RAM. Problemi: Dynamic RAM Obiettivo Tipi classici di memoria Fornire illimitata memoria veloce Problemi: costo tecnologia Soluzioni: utilizzare diversi tipi di memoria... Static RAM access times are 2-25ns at cost of $100 to $250

Dettagli

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni Sistemi operativi real time basati su Linux: gestione delle risorse e dei processi. Tesina per l esame di Sistemi Operativi a cura di. Prof. Aldo Franco Dragoni Corso di laurea in Ingegneria Informatica

Dettagli

Il contesto! Gestione della Memoria! Reg. di Base e reg. Limite! Associazione tra dati/istruzioni e memoria!

Il contesto! Gestione della Memoria! Reg. di Base e reg. Limite! Associazione tra dati/istruzioni e memoria! Il contesto Gestione della Memoria Per essere eseguiti, i programmi devono essere trasferiti (dal disco) in memoria e tradotti in processi. Obiettivi: accesso rapido e protezione. Accesso rapido La CPU

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

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

La schedulazione. E.Mumolo mumolo@units.it

La schedulazione. E.Mumolo mumolo@units.it La schedulazione E.Mumolo mumolo@units.it Concetti fondamentali Multiprogrammazione: esecuzione simultanea di più sequenze di esecuzione Pseudo-parallelismo su una sola CPU Esecuzione parallela su più

Dettagli