t3 p3 Flashcards
memoria y almacenamiento (46 cards)
memoria real
es el espacio real (físico) que existe en memoria para que se ejecuten los procesos. Más cara y más rápida que la memoria secundaria.
memoria virtual
1) Memoria ficticia “crear RAM usando el Disco Duro”, se usa el almacenamiento secundario para ofrecer a las aplicaciones la ilusión de tener más memoria RAM de la que realmente hay en el sistema (peor rendimiento)
2) Ofrecer la ilusión a cada proceso de tener para ellos toda la memoria (facilita la programación).
requisito para que los procesos se ejecuten
estar en memoria principal, al menos parcialmente (parte puede estar en memoria virtual)
Espacio de direcciones, tipos
- físicas
- lógicas/virtuales
- líneales
Unidad de manejo de memoria
es un componente hardware del procesador encargado de traducir direcciones virtuales o lógicas en direcciones físicas. También gestiona la protección y control de acceso a la memoria (permisos), comprueba la existencia de las direcciones, etc.
direcciones físicas
referencian alguna posición en la memoria física y usadas únicamente por el S.O
direcciones lógicas o virtuales
utilizadas por los procesos. Sufren una serie de transformaciones, realizadas por el administrador de memoria del procesador (la MMU, Memory Management Unit) para convertirse en direcciones físicas.
direcciones lineales
se obtienen a partir de direcciones lógicas tras haber aplicado una transformación dependiente de la arquitectura.
organización de la memoria (tipos)
- asignación contigua
- asignación de partición simple
- asignación de particiones múltiples
- asignación de partición dinámica
aspecto destacable entre sistema operativo y memoria
en la memoria siempre se reserva espacio para el S.O.
asignación contigua (memoria)
todo el espacio lógico de un proceso (Código, Datos, Pila) ha de estar ubicado en direcciones físicas consecutivas (contiguas) en la memoria principal. Cuando un proceso finaliza libera la memoria ocupada.
asignación de particiones múltiples
La memoria se divide en particiones fijas. Cada proceso se aloja en un hueco (partición libre) lo suficientemente grande. Se genera fragmentación interna, es decir, los trozos de las particiones fijas que no se aprovechan. Ejemplo; tengo una partición de 512 KB y la lleno con un proceso que ocupa 128 KB, los 384 KB restantes no pueden ser ocupados por otro proceso.
asignación de partición dinámica
La memoria se asigna dinámicamente a los procesos conforme entran a la memoria. A cada proceso se le asigna exactamente el espacio de memoria que necesita. Se genera fragmentación externa, es decir, se quedan huecos pequeños repartidos que no puedo utilizar porque la asignación debe ser contigua. Ejemplo; puedo tener dos huecos de 50GB y un proceso de 80GB que no puedo meter porque ninguno de los 2 huecos es lo suficientemente grande.
estrategias para asignación de huecos (nombrar)
- primer ajuste
- mejor ajuste
- peor ajuste
mejor ajuste
Asigna el bloque más pequeño que sea lo suficientemente grande para el proceso
primer ajuste
Asigna el primer hueco de memoria que sea lo suficientemente grande para el proceso. Detiene la búsqueda tan pronto encuentra un hueco adecuado. El más rápido.
peor ajuste
Asigna el bloque más grande disponible que sea suficiente para el proceso. El menos eficiente.
¿qué es fragmentación? ¿cómo reducir la frag. externa?
Espacio de memoria no aprovechado. Espacios libres dispersos en pequeñas porciones no contiguas, dificultando la asignación a nuevos procesos.
La frag. externa puede reducirse mediante compactación.
qué hace la compactación
reduce la fragmentación externa. Se colocan los espacios libres de la memoria en un único bloque grande. Solo es posible si la relocalización es dinámica y se hace en tiempo de ejecución.
paginación
Es una técnica de manejo de memoria, en la cual el espacio de la memoria física (RAM) se divide en secciones de igual tamaño, denominadas marcos de página. Los procesos se dividen en unidades lógicas, denominadas páginas, que se pueden cargar en los marcos de páginas y tienen el mismo tamaño que estos. Las páginas sirven como unidad de almacenamiento de información y de transferencia entre memoria principal y memoria secundaria.
tablas de páginas
Una tabla por cada proceso en la que consta en qué marco se ha cargado cada página del proceso. De esta forma, no hace falta que las páginas de un proceso mantengan continuidad en memoria física, y pueden intercalarse con las páginas de otros procesos.
dirección virtual (paginación)
Una dirección virtual puede representarse como un par (p,d) donde p el número de página lógica, representa en qué página del espacio de direcciones virtuales del proceso se encuentra el dato, y d es el número de palabra, indica la posición específica del dato dentro de esa página. La MMU utiliza las tablas de páginas para traducir las direcciones de memoria virtual a memoria física.
ventajas e inconvenientes de la paginación
Paginar la memoria permite mayor flexibilidad en la gestión de memoria y ayuda a evitar la fragmentación externa y minimizar la interna, pero también se hace más compleja y requiere más recursos.
segmentación
Es una técnica de manejo de memoria en la que el programa se estructura en bloques de tamaño variable llamados segmentos, los cuales se van cargando en memoria según se necesiten. Estas divisiones, generalmente, reflejan la división lógica del programa.