Gestione del Resident Set in Sistemi Operativi
52 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual è una caratteristica dell'allocazione fissa del resident set?

  • È possibile cambiare il numero di frame senza alcuna restrizione.
  • Il numero di frame può essere aumentato in base alle esigenze del sistema.
  • Il numero di frame è determinato al momento della creazione del processo. (correct)
  • Il numero di frame varia durante l'esecuzione del processo.
  • Quale strategia di rimpiazzamento non può essere utilizzata con l'allocazione fissa?

  • Politica globale. (correct)
  • Politica locale.
  • Politica di pulitura.
  • Frame locking.
  • Cosa implica la politica locale nella gestione del resident set?

  • Si sceglie un frame da rimpiazzare dallo stesso processo. (correct)
  • È sempre conveniente aumentare il numero di frame.
  • Non è possibile rimpiazzare frame bloccati.
  • Si possono sostituire frame di qualsiasi processo.
  • Cosa deve avvenire quando un frame è stato modificato secondo la politica di pulitura?

    <p>Si deve riportare la modifica sulla pagina corrispondente.</p> Signup and view all the answers

    Qual è un effetto collaterale di avere un alto resident set?

    <p>Minore frequenza di page faults.</p> Signup and view all the answers

    Quale tecnica di sostituzione di pagina utilizza un compromesso tra LRU e FIFO?

    <p>Sostituzione dell’Orologio</p> 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?

    <p>Sostituzione FIFO</p> Signup and view all the answers

    Qual è il risultato della sostituzione LRU in un esempio specifico?

    <p>4 page faults</p> Signup and view all the answers

    Cosa accade al bit 'use' durante l'uso della sostituzione dell'Orologio?

    <p>Restituito a 1 durante ogni accesso</p> Signup and view all the answers

    Nella politica di buffering delle pagine, cosa viene fatto prima di rimuovere una pagina?

    <p>Messa in una cache</p> Signup and view all the answers

    Quale affermazione riguardo la gestione della memoria in Linux è corretta?

    <p>Il kernel si fida di se stesso</p> Signup and view all the answers

    Quale metodo di implementazione della sostituzione di pagina è descritto come molto costoso in hardware?

    <p>Sostituzione LRU</p> Signup and view all the answers

    Qual è il numero di page faults risultanti dall'utilizzo della sostituzione dell'Orologio in un esempio specifico?

    <p>5 page faults</p> Signup and view all the answers

    Quale caratteristica distingue il buffering delle pagine da altre tecniche di sostituzione?

    <p>Diviso tra pagine modificate e non modificate</p> Signup and view all the answers

    In cosa consiste la funzione dello 'use bit' nella sostituzione dell'Orologio?

    <p>Rappresenta se una pagina è stata usata o meno</p> 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?

    <p>129kB</p> Signup and view all the answers

    Cosa rappresenta un TLB hit?

    <p>Quando la pagina richiesta è presente nel TLB</p> Signup and view all the answers

    Qual è il risultato di un TLB miss?

    <p>Si accede alla tabella delle pagine normale del processo</p> Signup and view all the answers

    Qual è uno dei metodi usati per rimpiazzare le pagine nel TLB quando è pieno?

    <p>LRU</p> Signup and view all the answers

    Cosa deve fare il sistema operativo riguardo al TLB durante un cambio di processo?

    <p>Resettare il TLB</p> Signup and view all the answers

    Qual è la funzione principale del TLB nella gestione della memoria virtuale?

    <p>Velocizzare gli accessi alle tabelle delle pagine</p> 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?

    <p>4000 processi</p> Signup and view all the answers

    Cosa accade se una pagina non è presente in memoria principale durante un accesso al TLB?

    <p>Si gestisce un page fault</p> Signup and view all the answers

    Qual è il principale vantaggio della rilocazione con hardware speciale?

    <p>Riduce l'overhead durante il caricamento dei processi in memoria</p> Signup and view all the answers

    Cosa rappresenta il registro limite nella rilocazione di indirizzi relativi?

    <p>Il massimo valore di indirizzo consentito per un processo</p> Signup and view all the answers

    Qual è il risultato della somma tra il valore del registro base e l'indirizzo relativo?

    <p>L'indirizzo assoluto</p> Signup and view all the answers

    Quale di queste affermazioni riguardanti gli indirizzi logici è corretta?

    <p>Gli indirizzi logici sono sempre gli stessi indipendentemente dalla posizione in memoria.</p> Signup and view all the answers

    Cosa accade quando un indirizzo assoluto va oltre il valore del registro limite?

    <p>Viene generato un errore di accesso.</p> Signup and view all the answers

    La rilocazione a run-time senza hardware speciale presenta quale svantaggio significativo?

    <p>Comporta un notevole overhead durante il caricamento dei processi.</p> Signup and view all the answers

    Qual è la funzione principale del registro base nella rilocazione di indirizzi?

    <p>Segnare l'inizio del segmento di indirizzo in memoria.</p> Signup and view all the answers

    Quale affermazione è vera riguardo alla rilocazione nel caso del CTSS?

    <p>Gli indirizzi assoluti sono determinati al momento del caricamento del programma.</p> Signup and view all the answers

    Qual è il sistema principalmente utilizzato dal kernel per gestire le richieste di memoria grandi?

    <p>Buddy system</p> Signup and view all the answers

    Quale delle seguenti affermazioni rappresenta una caratteristica della politica di pulitura nella gestione della memoria utente?

    <p>Scrittura ritardata il più possibile</p> Signup and view all the answers

    In quale situazione il kernel deve garantire che la memoria assegnata a un DMA sia contigua?

    <p>Quando utilizza pagine contigue nella RAM</p> Signup and view all the answers

    Qual è la politica di gestione del resident set in Linux?

    <p>Politica dinamica con replacement scope globale</p> Signup and view all the answers

    Quale algoritmo è attualmente utilizzato dal kernel recente per la sostituzione della memoria?

    <p>Algoritmo LRU corretto</p> Signup and view all the answers

    Cosa viene attivato quando una pagina diventa attiva dopo essere stata referenziata?

    <p>Flag PG active</p> Signup and view all the answers

    Qual è la funzione principale di kswapd nel sistema di gestione della memoria di Linux?

    <p>Scorrere solo le pagine inattive</p> Signup and view all the answers

    Quale delle seguenti affermazioni è vera riguardo all’allocazione della memoria del kernel?

    <p>Utilizza pagine pronte per richieste piccole</p> Signup and view all the answers

    Quale affermazione descrive meglio il requisito di protezione in un sistema operativo?

    <p>È necessario autorizzare l'accesso ai dati di un altro processo.</p> Signup and view all the answers

    Qual è uno dei principali vantaggi della condivisione della memoria tra processi?

    <p>Riduce il consumo di memoria condividendo codice.</p> Signup and view all the answers

    Quale metodo è utilizzato dal sistema operativo per organizzare la memoria a livello logico?

    <p>Segmentazione e paginazione.</p> Signup and view all the answers

    Quale delle seguenti affermazioni è vera riguardo il partizionamento fisso?

    <p>Può causare frammentazione interna.</p> Signup and view all the answers

    Qual è il problema principale associato al partizionamento dinamico?

    <p>Frammentazione esterna della memoria.</p> Signup and view all the answers

    Quale algoritmo di posizionamento tende a migliorare gli spazi utilizzabili nella memoria ma porta a un'elevata frammentazione?

    <p>Best-fit.</p> Signup and view all the answers

    Che cos'è il Buddy System nella gestione della memoria?

    <p>Un compromesso tra partizionamento fisso e dinamico.</p> Signup and view all the answers

    Quando un processo viene eseguito, quale struttura mantiene le informazioni sul posizionamento delle sue pagine?

    <p>La tabella delle pagine.</p> Signup and view all the answers

    Qual è la dimensione tipica di una pagina nella memoria virtuale?

    <p>100 bytes.</p> Signup and view all the answers

    Quale approccio utilizza il sistema operativo quando due processi possono condividere memoria?

    <p>Sovrapposizione.</p> Signup and view all the answers

    Qual è la principale funzione della rilocazione nella gestione della memoria?

    <p>Aggiorna gli indirizzi di memoria a tempo di esecuzione.</p> Signup and view all the answers

    In un sistema di paginazione, come vengono gestite le pagine e i frame?

    <p>Le pagine possono essere allocate arbitrariamente nei frame.</p> Signup and view all the answers

    Quale delle seguenti tecniche non fa parte del partizionamento della memoria?

    <p>Allocazione statica.</p> 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.

    Quiz Team

    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.

    More Like This

    Use Quizgecko on...
    Browser
    Browser