3. DEFINICION DE MEMORIA VIRTUAL
es un concepto que permite al software usar más memoria
principal que la que realmente posee el computador. La
mayoría de los computadores tienen cuatro tipos de
memoria: registros en la CPU, memoria cache(tanto dentro
como fuera del CPU), la memoria física (generalmente en
forma de RAM, donde la CPU puede escribir y leer directa
y razonablemente rápido) y el disco duro que es mucho
más lento, pero también más grande y barato
5. OPERACIO BASICA
Cuando se usa Memoria Virtual, o cuando una dirección es leída o
escrita por la CPU, una parte del hardware dentro de la computadora
traduce las direcciones de memoria generadas por el software
(direcciones virtuales En el primer caso, la referencia a la memoria es
completada, como si la memoria virtual no hubiera estado involucrada:
el software accede donde debía y sigue ejecutando normalmente. En el
segundo caso, el sistema operativo es invocado para manejar la
situación y permitir que el programa siga ejecutando o aborte según
sea el caso
6. FRAGMENTACION
La fragmentación es generada cuando durante el reemplazo
de procesos quedan huecos entre dos o más procesos de
manera no contigua y cada hueco no es capaz de soportar
ningún proceso de la lista de espera.
La fragmentación puede ser:
• fragmentación externa:
• fragmentación interna:
7. PAGINACION
Es una técnica de manejo de memoria, en la cual el
espacio de memoria se divide en secciones físicas
de igual tamaño, denominadas marcos de página.
Las páginas sirven como unidad de
almacenamiento de información y de transferencia
entre memoria principal y memoria auxiliar o
secundaria.
Número de marco Programa
Programa A.0 1000:0000 1 Programa A.1
1000:1000 2 Programa A.2 1000:2000 3 Programa
B.0 1000:3000 4 Programa B.1 1000:4000 5
Programa C.0 1000:5000 6 Programa C.1
1000:6000 7 Programa D.2 1000:7000
8. SEGMENTACION
La segmentación permite alcanzar los siguientes objetivos:
• Modularidad de programas: cada rutina del programa puede ser un bloque
sujeto a cambios y recopilaciones, sin afectar por ello al resto del programa.
• Estructuras de datos de largo variable: ej. Stock, donde cada estructura
tiene su propio tamaño y este puede variar.
• Protección: se puede proteger los módulos del segmento contra accesos no
autorizados.
• Compartición: dos o más procesos pueden ser un mismo segmento, bajo
reglas de protección; aunque no sean propietarios de los mismos.
• Enlace dinámico entre segmentos: puede evitarse realizar todo el proceso
de enlace antes de comenzar a ejecutar un programa. Los enlaces se
establecerán solo cuando sea necesario
9. SEGMENTACIÓN PAGINADA
Los segmentos son usualmente múltiplos de páginas en
tamaño, y no es necesario que todas las páginas se
encuentren en memoria principal a la vez; además las
páginas de un mismo segmento, aunque se encuentren
contiguas en memoria virtual; no necesitan estarlo en
memoria real.
Las direcciones tienen tres componentes: (s, p, d), donde la
primera indica el numero del segmento, la segunda el
numero de la pagina dentro del segmento y la tercera el
desplazamiento dentro de la pagina.
10. ALGORITMOSDEREEMPLAZODE PÁGINA
algoritmo óptico
algoritmo fifo
algoritmo fifo con segunda
oportunidad
algoritmo lru (least recently used)
algortimo de aproximacion al lru
algoritmo de reloj global