francycafy93
Sapiens
3 min. di lettura
Vota 3 / 5

Concetti Chiave

  • La memoria virtuale simula una memoria centrale più grande utilizzando la memoria di massa, suddividendo programmi in pagine e la memoria in blocchi.
  • Quando una pagina non è in memoria centrale si verifica un "page fault" e il sistema operativo deve caricare la pagina richiesta, gestendo i blocchi disponibili.
  • Gli algoritmi per la gestione delle pagine includono FIFO, LRU e il rimpiazzo delle pagine non modificate.
  • La partizione può essere fissa o variabile; la partizione fissa divide la memoria in porzioni di dimensioni prestabilite, mentre la variabile si adatta alle richieste dei processi.
  • Le tecniche first-fit e best-fit gestiscono l'assegnazione delle partizioni variabili, entrambe però possono causare frammentazione.
Memoria virtuale e partizione

La memoria virtuale è l'illusione di avere una memoria centrale più grande di quella effettiva, per incrementarla si utilizza la memoria di massa.
La strategia che si attua è quella di suddividere il programma in pezzi chiamati pagine e la memoria in blocchi, della stessa dimensione delle pagine.
Ogni blocco conterrà una pagina.
In ogni istante non tutte le pagine avranno assegnato un blocco fisico, perchè, alcune di esse rimangono in memoria di massa e saranno caricate sulla memoria centrale su richiesta.
Se durante l'esecuzioni un istruzione non si trova in memoria centrale si verifica un "page falt" e il sistema operativo dovrà provvedere a caricare in memoria centrale la pagina richiesta.
Si possono verificare due casi:
- nella memoria centrale ci sono blocchi disponibili, quindi, il sistema operativo dovrà aggiornare la tabella in modo opportuno per poter indicare lo stato della memoria;
- nella memoria centrale non ci sono blocchi disponibili, quindi, il sistema operativo dovrà scegliere la pagina che sarà portata fuori dalla memoria prima di caricare quella richiesta.
Gli algoritmi utilizzati possono essere:
- FIFO, primo ad entrare e il primo ad uscire;
- LRU, pagina da più tempo che non viene utilizzata;
- rimpiazzare la piazza che non ha subito le modifiche in quanto queste pagine non richiedono scritture su disco.
in ogni caso la frammentazione non viene eliminata ma si riduce all'ultima pagina di ogni programma.

Partizione
La partizione è un pezzo di memoria.
La partizione può essere di due tipi: fissa o variabile.
Il metodo a partizione fissa consiste nel suddividere la memoria in un numero prefissato di porzioni di uguale dimensione o dimensione diversa.
ogni partizione in maniera esclusiva conterrà un processo.

Tale tecnica crea la frammentazione cioè la disponibilità di tanti piccoli spazi che a causa dell'esclusività dell'assegnazione non possono essere utilizzati.
Con la partizione variabile ogni partizione viene creata in base alla richiesta del processo prelevandola da una tabella delle aree libere gestita secondo due criteri:

- first-fit;
- best-fit.

Queste tecniche servono per assegnare una partizione a un processo.
La first-fit assegna la prima partizione libera di dimensione maggiore o uguale alla dimensione del lavoro.
La best-fit assegna la partizione la cui dimensione più si avvicina alla dimensione del lavoro.
Entrambe le tecniche, partizione fissa e partizione variabile, generano la frammentazione che può essere risolta adottando la tecnica della memoria virtuale.

Domande da interrogazione

  1. Che cos'è la memoria virtuale e come funziona?
  2. La memoria virtuale è un'illusione di avere una memoria centrale più grande di quella effettiva, utilizzando la memoria di massa. Funziona suddividendo il programma in pagine e la memoria in blocchi, caricando le pagine su richiesta.

  3. Quali sono i tipi di partizione e come vengono gestiti?
  4. Esistono due tipi di partizione: fissa e variabile. La partizione fissa divide la memoria in porzioni di dimensione prefissata, mentre la variabile crea partizioni in base alla richiesta del processo, utilizzando criteri come first-fit e best-fit.

  5. Quali algoritmi vengono utilizzati per la gestione delle pagine in memoria virtuale?
  6. Gli algoritmi utilizzati includono FIFO (primo ad entrare, primo ad uscire), LRU (pagina da più tempo non utilizzata) e il rimpiazzo delle pagine non modificate, per ridurre la necessità di scritture su disco.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community