Unidad 10 : Memorias - Paginación Flashcards
¿En qué consiste la técnica de paginación?
Es una técnica de manejo de memoria, en el cual el espacio de memoria se divide en secciones físicas de igual tamaño, llamadas páginas
Es manejada por el Sistema Operativo.
¿Cuál es el tamaño de página por defecto?
La Unidad de Paginación por defecto trabaja con páginas de 4KB.
¿Mediante que BIT se hace la elección del tipo de página?
Mediante el bit PSE del registro CR4
¿Cuándo se trabaja con páginas de 4MB?
Cuando se activa el bit PSE o PSE = 1
¿Cuándo se trabaja con páginas de 4KB?
Cuando no se activa el bit PSE o PSE = 0
¿De qué se encarga la Unidad de Paginación?
Traduce las direcciones lineales de 32 bits (virtuales) en direcciones físicas del mismo tamaño (32 bits)
¿Cuándo la unidad de paginación está activa?
Depende del flag “PG” en el registro CR0.
Si PG = 1 está activada.
Si PG = 0 está desactivada.
¿Cómo quedan definidas las páginas en un procesador de 32 bits?
En 3 parámetros:
* Base
* Límite o tamaño
* Atributos
¿El parámetro límite de las páginas es necesario?
No, no lo es ya que el límite define el tamaño y el tamaño de las páginas es fijo.
¿Cuántos bits debe tener el parámetro base?
Debe tener 32 bits, de los cuales los 12 últimos deberán ser 0 ya que las páginas son de 4KB y sus bases serán múltiplos de 20 bits más significativos.
Es decir un ejemplo: ABC33000
¿Cuántos bits tiene un descriptor de páginas?
32 bits y ocupará 4 bytes, es decir 4 posiciones de memoria en la tabla correspondiente.
¿Cómo se divide una dirección lineal cuando se usan páginas de 4KB?
En 3 campos :
- índice de directorio de páginas (10 bits)
- índice en la Tabla de Páginas (10 bits)
- Desplazamiento (12 bits)
En la dirección lineal, ¿Para qué sirve el Índice en el Directorio de tablas de páginas ?
Sirve para direccionar la dirección física donde se encuentran los descriptores de Directorio de Páginas.
En la dirección lineal, ¿Para qué sirve el Índice en la tabla de páginas ?
Permite entrar a la tabla de páginas, donde está el descriptor de página que da la dirección de base para determina la dirección física.
En la dirección lineal, ¿Para qué sirve el Desplazamiento?
Se encuentra la variable o el código que se está direccionando.
¿Cuántas etapas hay si se trabajan con páginas de 4KB?
2 etapas,
Page Directory (Directorio de páginas –> 1024 entradas)
Page Table (1024 Entradas)
1024 * 1024 * 2 a la 12 = 4GB
¿Cuándo se produce un fallo de páginas?
Cuando el flag de presencia no está encendido y la U. De paginación carga la dirección lineal en el registro CR2 y genera la excepción número 14
¿A qué hace referencia el “Page Fault?
Es una excepción arrojada cuando se requiere de una dirección que no se encuentra en ese momento
¿Cuál es la metodología del Page Fault?
- Emite la excepción
- Guarda el IP y la pila
- Determina que es de tipo fallo de página y se llama a la rutina.
- Averigua qué dirección virtual se estaba buscando
- Chequea que sea una dirección válida.
- Selecciona un marco, si hay, y sino se libera mediante el algoritmo
Características de la paginación por demanda
- Los procesos residen en el disco y ponen en la memoria principal cuando se necesitan
- Cargador perezoso
¿Qué algoritmos reemplazan la paginación por demanda?
FIFO, Second Chance, NRU
¿Qué es el Translation Lookaside Buffer? (TLB)
Es una pequeña memoria caché que almacena traducciones de direcciones lineales a físicas
Requiere de 2 accesos a memoria : directorio y tabla de páginas.
¿Cómo hace la MMU cuando tiene que hacer una traducción? - TLB
Tiene 2 opciones:
- Busca en la TLB. Si está resuelta se ahorra dos accesos a memoria.
- Si no estaba resuelta, la resuelve y la guarda en la TLB.
¿Cómo está dividida la dirección lineal cuando se utilizan páginas de 4MB?
- índice de directorio de páginas (10 bits)
- Desplazamiento (22 bits)
¿Qué significa el atributo A?
Es de accedido / accesibilidad.
A = 1 indica que se accedió a la página
A = 0 No se accedió a la página
¿Qué significa el atributo P?
Es de presencia.
P = 1 Indica que la página está cargada en memoria física
P = 0 La página no está cargada, y genera un fallo de página
¿Qué significa el atributo D?
Es el bit sucio.
D = 1 indica que la página fue escrita.
D = 0 indica que no fue escrita previamente.