Podcast
Questions and Answers
Qual è una caratteristica dell'allocazione fissa del resident set?
Qual è una caratteristica dell'allocazione fissa del resident set?
Quale strategia di rimpiazzamento non può essere utilizzata con l'allocazione fissa?
Quale strategia di rimpiazzamento non può essere utilizzata con l'allocazione fissa?
Cosa implica la politica locale nella gestione del resident set?
Cosa implica la politica locale nella gestione del resident set?
Cosa deve avvenire quando un frame è stato modificato secondo la politica di pulitura?
Cosa deve avvenire quando un frame è stato modificato secondo la politica di pulitura?
Signup and view all the answers
Qual è un effetto collaterale di avere un alto resident set?
Qual è un effetto collaterale di avere un alto resident set?
Signup and view all the answers
Quale tecnica di sostituzione di pagina utilizza un compromesso tra LRU e FIFO?
Quale tecnica di sostituzione di pagina utilizza un compromesso tra LRU e FIFO?
Signup and view all the answers
Quale dei seguenti metodi di sostituzione di pagina tende a rimuovere pagine che sono state in memoria per più tempo?
Quale dei seguenti metodi di sostituzione di pagina tende a rimuovere pagine che sono state in memoria per più tempo?
Signup and view all the answers
Qual è il risultato della sostituzione LRU in un esempio specifico?
Qual è il risultato della sostituzione LRU in un esempio specifico?
Signup and view all the answers
Cosa accade al bit 'use' durante l'uso della sostituzione dell'Orologio?
Cosa accade al bit 'use' durante l'uso della sostituzione dell'Orologio?
Signup and view all the answers
Nella politica di buffering delle pagine, cosa viene fatto prima di rimuovere una pagina?
Nella politica di buffering delle pagine, cosa viene fatto prima di rimuovere una pagina?
Signup and view all the answers
Quale affermazione riguardo la gestione della memoria in Linux è corretta?
Quale affermazione riguardo la gestione della memoria in Linux è corretta?
Signup and view all the answers
Quale metodo di implementazione della sostituzione di pagina è descritto come molto costoso in hardware?
Quale metodo di implementazione della sostituzione di pagina è descritto come molto costoso in hardware?
Signup and view all the answers
Qual è il numero di page faults risultanti dall'utilizzo della sostituzione dell'Orologio in un esempio specifico?
Qual è il numero di page faults risultanti dall'utilizzo della sostituzione dell'Orologio in un esempio specifico?
Signup and view all the answers
Quale caratteristica distingue il buffering delle pagine da altre tecniche di sostituzione?
Quale caratteristica distingue il buffering delle pagine da altre tecniche di sostituzione?
Signup and view all the answers
In cosa consiste la funzione dello 'use bit' nella sostituzione dell'Orologio?
In cosa consiste la funzione dello 'use bit' nella sostituzione dell'Orologio?
Signup and view all the answers
Qual è l'overhead totale per ogni processo considerando le dimensioni della tabella delle pagine e l'occupazione del primo livello?
Qual è l'overhead totale per ogni processo considerando le dimensioni della tabella delle pagine e l'occupazione del primo livello?
Signup and view all the answers
Cosa rappresenta un TLB hit?
Cosa rappresenta un TLB hit?
Signup and view all the answers
Qual è il risultato di un TLB miss?
Qual è il risultato di un TLB miss?
Signup and view all the answers
Qual è uno dei metodi usati per rimpiazzare le pagine nel TLB quando è pieno?
Qual è uno dei metodi usati per rimpiazzare le pagine nel TLB quando è pieno?
Signup and view all the answers
Cosa deve fare il sistema operativo riguardo al TLB durante un cambio di processo?
Cosa deve fare il sistema operativo riguardo al TLB durante un cambio di processo?
Signup and view all the answers
Qual è la funzione principale del TLB nella gestione della memoria virtuale?
Qual è la funzione principale del TLB nella gestione della memoria virtuale?
Signup and view all the answers
Secondo le informazioni disponibili, quanti processi devono essere attivi in una RAM di 1 GB per occupare oltre metà della memoria con strutture di overhead?
Secondo le informazioni disponibili, quanti processi devono essere attivi in una RAM di 1 GB per occupare oltre metà della memoria con strutture di overhead?
Signup and view all the answers
Cosa accade se una pagina non è presente in memoria principale durante un accesso al TLB?
Cosa accade se una pagina non è presente in memoria principale durante un accesso al TLB?
Signup and view all the answers
Qual è il principale vantaggio della rilocazione con hardware speciale?
Qual è il principale vantaggio della rilocazione con hardware speciale?
Signup and view all the answers
Cosa rappresenta il registro limite nella rilocazione di indirizzi relativi?
Cosa rappresenta il registro limite nella rilocazione di indirizzi relativi?
Signup and view all the answers
Qual è il risultato della somma tra il valore del registro base e l'indirizzo relativo?
Qual è il risultato della somma tra il valore del registro base e l'indirizzo relativo?
Signup and view all the answers
Quale di queste affermazioni riguardanti gli indirizzi logici è corretta?
Quale di queste affermazioni riguardanti gli indirizzi logici è corretta?
Signup and view all the answers
Cosa accade quando un indirizzo assoluto va oltre il valore del registro limite?
Cosa accade quando un indirizzo assoluto va oltre il valore del registro limite?
Signup and view all the answers
La rilocazione a run-time senza hardware speciale presenta quale svantaggio significativo?
La rilocazione a run-time senza hardware speciale presenta quale svantaggio significativo?
Signup and view all the answers
Qual è la funzione principale del registro base nella rilocazione di indirizzi?
Qual è la funzione principale del registro base nella rilocazione di indirizzi?
Signup and view all the answers
Quale affermazione è vera riguardo alla rilocazione nel caso del CTSS?
Quale affermazione è vera riguardo alla rilocazione nel caso del CTSS?
Signup and view all the answers
Qual è il sistema principalmente utilizzato dal kernel per gestire le richieste di memoria grandi?
Qual è il sistema principalmente utilizzato dal kernel per gestire le richieste di memoria grandi?
Signup and view all the answers
Quale delle seguenti affermazioni rappresenta una caratteristica della politica di pulitura nella gestione della memoria utente?
Quale delle seguenti affermazioni rappresenta una caratteristica della politica di pulitura nella gestione della memoria utente?
Signup and view all the answers
In quale situazione il kernel deve garantire che la memoria assegnata a un DMA sia contigua?
In quale situazione il kernel deve garantire che la memoria assegnata a un DMA sia contigua?
Signup and view all the answers
Qual è la politica di gestione del resident set in Linux?
Qual è la politica di gestione del resident set in Linux?
Signup and view all the answers
Quale algoritmo è attualmente utilizzato dal kernel recente per la sostituzione della memoria?
Quale algoritmo è attualmente utilizzato dal kernel recente per la sostituzione della memoria?
Signup and view all the answers
Cosa viene attivato quando una pagina diventa attiva dopo essere stata referenziata?
Cosa viene attivato quando una pagina diventa attiva dopo essere stata referenziata?
Signup and view all the answers
Qual è la funzione principale di kswapd nel sistema di gestione della memoria di Linux?
Qual è la funzione principale di kswapd nel sistema di gestione della memoria di Linux?
Signup and view all the answers
Quale delle seguenti affermazioni è vera riguardo all’allocazione della memoria del kernel?
Quale delle seguenti affermazioni è vera riguardo all’allocazione della memoria del kernel?
Signup and view all the answers
Quale affermazione descrive meglio il requisito di protezione in un sistema operativo?
Quale affermazione descrive meglio il requisito di protezione in un sistema operativo?
Signup and view all the answers
Qual è uno dei principali vantaggi della condivisione della memoria tra processi?
Qual è uno dei principali vantaggi della condivisione della memoria tra processi?
Signup and view all the answers
Quale metodo è utilizzato dal sistema operativo per organizzare la memoria a livello logico?
Quale metodo è utilizzato dal sistema operativo per organizzare la memoria a livello logico?
Signup and view all the answers
Quale delle seguenti affermazioni è vera riguardo il partizionamento fisso?
Quale delle seguenti affermazioni è vera riguardo il partizionamento fisso?
Signup and view all the answers
Qual è il problema principale associato al partizionamento dinamico?
Qual è il problema principale associato al partizionamento dinamico?
Signup and view all the answers
Quale algoritmo di posizionamento tende a migliorare gli spazi utilizzabili nella memoria ma porta a un'elevata frammentazione?
Quale algoritmo di posizionamento tende a migliorare gli spazi utilizzabili nella memoria ma porta a un'elevata frammentazione?
Signup and view all the answers
Che cos'è il Buddy System nella gestione della memoria?
Che cos'è il Buddy System nella gestione della memoria?
Signup and view all the answers
Quando un processo viene eseguito, quale struttura mantiene le informazioni sul posizionamento delle sue pagine?
Quando un processo viene eseguito, quale struttura mantiene le informazioni sul posizionamento delle sue pagine?
Signup and view all the answers
Qual è la dimensione tipica di una pagina nella memoria virtuale?
Qual è la dimensione tipica di una pagina nella memoria virtuale?
Signup and view all the answers
Quale approccio utilizza il sistema operativo quando due processi possono condividere memoria?
Quale approccio utilizza il sistema operativo quando due processi possono condividere memoria?
Signup and view all the answers
Qual è la principale funzione della rilocazione nella gestione della memoria?
Qual è la principale funzione della rilocazione nella gestione della memoria?
Signup and view all the answers
In un sistema di paginazione, come vengono gestite le pagine e i frame?
In un sistema di paginazione, come vengono gestite le pagine e i frame?
Signup and view all the answers
Quale delle seguenti tecniche non fa parte del partizionamento della memoria?
Quale delle seguenti tecniche non fa parte del partizionamento della memoria?
Signup and view all the answers
Study Notes
Sistemi Operativi - Modulo I: La Gestione della Memoria
- La memoria oggi è a basso costo, ma le moderne applicazioni richiedono sempre più memoria.
- Gestire la memoria è necessario per il corretto funzionamento del sistema operativo.
- La gestione della memoria include lo swap di blocchi di dati dalla memoria secondaria.
- La gestione dell'I/O è più lenta del processore, quindi il sistema operativo deve pianificare lo swap in modo intelligente per massimizzare l'efficienza del processore.
- La gestione della memoria è necessaria per garantire la corretta esecuzione dei processi e per evitare che un singolo processo consumi tutta la memoria disponibile.
- La rilocazione è fondamentale, il programmatore non deve conoscere dove verrà caricato il programma nella memoria.
- La protezione è necessaria per impedire che un processo acceda a zone di memoria riservate ad altri processi.
- La condivisione permette a più processi di accedere alla stessa zona di memoria.
- L'organizzazione logica della memoria permette ai programmi di essere scritti e compilati separatamente.
- L'organizzazione fisica della memoria gestisce il flusso tra memoria RAM e memoria secondaria, non lasciando questa gestione al programmatore.
Roadmap della Gestione della Memoria
- Gestione della memoria: requisiti di base
- Partizionamento della memoria
- Paginazione e segmentazione
- Memoria virtuale: hardware e strutture di controllo
- Memoria virtuale e sistema operativo
- Gestione della memoria in Linux
Requisiti per la Gestione della Memoria
- Rilocazione: importante l'aiuto dell'hardware, il sistema operativo e l'hardware collaborano.
- Protezione: importante l'aiuto dell'hardware.
- Condivisione: Organizzazione logica e fisica.
Rilocazione: gli Indirizzi nei Programmi
- Il linker/collegatore mette insieme il codice tranne le librerie dinamiche.
- Il risultato è un load module che il loader carica in memoria principale.
- I riferimenti alla memoria devono essere tradotti in indirizzi fisici "veri".
- Ci sono vari modi di rilocazione (tra cui Object Module, Absolute Load Module e Relative Load Module).
Indirizzi
- Indirizzi logici: il riferimento in memoria è indipendente dal posizionamento del programma in memoria.
- Indirizzi relativi: il riferimento è espresso come uno spiazzamento rispetto ad un punto noto.
- Indirizzi fisici: Il riferimento effettivo alla memoria.
Rilocazione a Run-Time senza e con Hardware Speciale
- Se non c'è hardware speciale per la rilocazione, deve essere fatta in tempo reale, il che comporta un overhead maggiore.
- Se c'è hardware speciale, la rilocazione è gestita dall'hardware, senza overhead.
- Ad esempio, sono descritti diversi registri che contribuiscono alla traduzione degli indirizzi.
Registri Usati per la Rilocazione di Indirizzi Relativi
- Registro Base: indirizzo di partenza del processo.
- Registro Limite: indirizzo di fine del processo.
- I valori per questi registri vengono settati nel momento in cui il processo viene posizionato in memoria.
Requisiti: Protezione
- I processi non possono accedere alle locazioni di memoria di altri processi senza autorizzazione.
- La rilocazione rende impossibile la protezione a tempo di compilazione, quindi la protezione deve essere fatta a tempo di esecuzione.
- Per la protezione serve la collaborazione fra software e hardware.
Requisiti: Condivisione
- È possibile permettere a più processi di accedere alla stessa zona di memoria.
- I processi che eseguono lo stesso sorgente possono condividere il codice sorgente, ottenendo un risparmio.
- La condivisione di memoria può essere utile nei casi di comunicazione fra processi diversi.
Requisiti: Organizzazione Logica
- A livello hardware, la memoria è organizzata in modo lineare, sia per la RAM che per il disco.
- A livello software, i programmi sono scritti in moduli.
- I moduli possono essere scritti e compilati separatamente.
- I moduli possono essere condivisi tra i processi.
- Il SO offre caratteristiche che collegano la visione logica con l'organizzazione fisica, ad esempio tramite segmentazione.
Requisiti: Organizzazione Fisica
- La gestione del flusso tra RAM e memoria secondaria è essenziale per un corretto funzionamento del sistema.
- La tecnica dell'overlaying permette a più moduli di essere posizionati nella stessa zona di memoria, ma è complessa per il programmatore.
- La gestione del problema di allocazione della memoria spetta al sistema operativo.
Partizionamento
- Uno dei primi metodi per la gestione della memoria, antecedente alla memoria virtuale, non più molto usata.
- Utile per capire l'evoluzione della memoria virtuale rispetto al partizionamento.
Tipi di Partizionamento
- Partizionamento fisso: Partizioni di ugual lunghezza, non efficiente.
- Partizionamento dinamico: Partizioni di lunghezza variabile, maggiore efficienza.
- Paginazione semplice, Paginazione con memoria virtuale.
- Segmentazione semplice, Segmentazione con memoria virtuale.
Partizionamento Fisso Uniforme
- Partizioni di ugual lunghezza
- Un processo di dimensione minore o uguale alla misura di una partizione può essere caricato in una partizione libera.
- Il sistema operativo può spostare un processo in una partizione libera.
Partizionamento: Problemi
- Un programma potrebbe non entrare in una partizione.
- L'utilizzo inefficiente della memoria è dovuta a frammentazione interna.
- Per ovviare a ciò, il programmatore potrebbe dividere il programma in moduli separati (overlays).
Partizioni Fisso Variabile
- Mitiga alcuni problemi del partizionamento fisso, ma non li risolve completamente.
- Permette di gestire programmi più piccoli senza il bisogno di overlays. Le partizioni vengono decise all'inizio e non cambiano.
Algoritmo di Posizionamento
- Partizioni di ugual lunghezza: algoritmo banale, non c'è scelta.
- Partizioni di diversa lunghezza: il processo viene collocato nella partizione più piccola disponibile.
- Una coda per ogni partizione, oppure una per tutte.
Partizionamento Fisso: Problemi Irrisolti
- Un numero limitato di processi in memoria a causa del partizionamento fisso iniziale.
- Inefficienza nell'utilizzo della memoria se il numero di processi piccoli è elevato, sia con partizioni di lunghezza uguale che variabile.
Partizionamento Dinamico: Esempio
- Il sistema operativo (OS) occupa una parte della memoria.
- Gli spazi liberi di memoria vengono usati per contenere processi di dimensioni differenti.
Partizionamento Dinamico
- Le partizioni variano sia in misura che in quantità.
- Per ogni processo viene allocata esattamente la quantità di memoria che serve.
Partizionamento Dinamico: Problemi
- Frammentazione esterna: la memoria non utilizzata viene frammentata.
- La compattazione è un rimedio a questo problema, ma comporta un overhead.
Algoritmi del Partizionamento Dinamico
- Best-fit: sceglie la partizione più vicina alla dimensione del processo, anche se a volte può portare a frammentazione.
- First-fit: scorre la memoria dall'inizio e sceglie il primo frame che è abbastanza grande. Utile per la velocità.
- Next-fit: inizia dall'ultima posizione assegnata e sceglie il primo frame più grande disponibile.
Buddy System
- Sistema di partizionamento dinamico che utilizza un albero binario per dividere la memoria.
- Un compromesso tra partizionamento fisso e dinamico per la dimensione dello spazio user e dimensione dei processi.
- Si adatta meglio a richieste diverse e viene utilizzato per la gestione della memoria in molti sistemi operativi, ad esempio Linux.
Paginazione (Semplice)
- Non è più usata, ma importante per introdurre la memoria virtuale.
- La memoria è divisa in pezzi di grandezza uguale e piccola. I pezzi di processo, chiamati pagine, sono trattati allo stesso modo.
- I pezzi di memoria sono chiamati frame, le pagine possono essere collocate in frame distanti.
- Le pagine ed i frame hanno la stessa dimensione.
Paginazione
- Il SO per la paginazione mantiene una tabella delle pagine per ogni processo.
- Per ogni pagina del processo, la tabella specifica il frame effettivo di memoria.
- Un indirizzo di memoria può essere visto come un numero di pagina ed uno spiazzamento.
- La tecnica rende la rilocazione parte del meccanismo di gestione del processore (solo il registro base).
- Quando avviene un cambio di processo, la tabella del nuovo processo deve essere caricata.
Paginazione: Esempio
- Esempio visivo della corrispondenza tra frame e numeri di pagina.
Paginazione: Esempio di Traduzione
- Supponiamo una dimensione di pagina di 100 byte e che i processi richiedano dimensioni diverse (400, 300, 400, 500 byte).
- La traduzione di un indirizzo virtuale in un indirizzo fisico è fatta dall'hardware.
- Esempio di come un indirizzo virtuale (es. 343) viene tradotto in un indirizzo fisico(1143), utilizzando la tabella di pagina.
Paginazione: Esempio di Traduzione- Posizione
- Traduzione per utilizzo hardware per le memorie virtuali, con esempi e notazioni in base 10 e base 2.
Paginazione: Esempio
- Esempio di una tabella di pagine e memoria principale.
- Come le pagine dei processi vengono mappate nei frame della memoria principale.
Paginazione: Esempio
- Esempio di come le pagine dei processi vengono mappate in frame di memoria principale, con tabelle di pagina che determinano la posizione fisica in memoria.
Paginazione - Esempio
- Esempi di come le pagine vengono assegnate in diversi scenari.
- Tabella di pagine risultanti per diversi processi.
...
- (continues for remaining sections)*
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Questo quiz esplora vari aspetti della gestione del resident set nei sistemi operativi, inclusa l'allocazione fissa e le strategie di rimpiazzamento. Si tratta di domande che approfondiscono le politiche locali e gli effetti collaterali di un alto resident set. Testa le tue conoscenze in questo campo fondamentale dell'informatica.