Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Autor(es):
- Baltodano Quispe, Carlos Javier
- Cano Lazo, Aldrín Alexander
- Marcatinco Pariona, Jean Pierre
- Naupan Falcon, José Alonso
- Obando Miranda, Estefano
Asesor:
Chunga Zapata, Elmer Alfredo
Lima – Perú
2020
ÍNDICE
1. ADMINISTRACIÓN DE MEMORIA..................................................................................................... 3
VINCULACIÓN DE LAS INSTRUCCIONES Y LOS DATOS DE MEMORIA.........................................................................3
ASIGNACIÓN CONTIGUA...............................................................................................................................3
ASIGNACIÓN CON MÚLTIPLES PARTICIONES FIJAS..............................................................................................4
ASIGNACIÓN CON PARTICIONES VARIABLES......................................................................................................4
PROBLEMA DE LA ASIGNACIÓN DINÁMICA DE MEMORIA.....................................................................................5
ALMACENAMIENTO VIRTUAL:........................................................................................................................5
INTERCAMBIO / SWAP...............................................................................................................................5
FUNDAMENTOS DE LA MEMORIA VIRTUAL......................................................................................................6
ALMACENAMIENTO VIRTUAL.........................................................................................................................6
2. PAGINACIÓN................................................................................................................................... 7
ALGORITMOS DE PLANIFICACIÓN........................................................................................................ 7
1. PRIMERA EN ENTRAR, PRIMERA EN SALIR (FIFO FIRST IN,FIRST OUT ).............................................................7
2. ÓPTIMO................................................................................................................................................7
3. SEGUNDA OPORTUNIDAD (RELOJ)..............................................................................................................8
4. DE PÁGINAS DE RELOJ (CLOCK) (RELOJ MEJORADO).....................................................................................8
5. NO USADA RECIENTEMENTE (NOT RECENTLY USED, NRU).............................................................................8
6. ALGORITMO DE REEMPLAZO DE PÁGINAS: MENOS USADAS RECIENTEMENTE (LRU).............................................9
7. ALGORITMO DE ENVEJECIMIENTO AGING.....................................................................................................9
1. Administración de Memoria
La administración de memoria se refiere a los distintos métodos y operaciones que se
encargan de obtener la máxima utilidad de la memoria, organizando los procesos y
programas que se ejecutan de manera tal que se aproveche de la mejor manera
posible el espacio disponible.
Para poder lograrlo, la operación principal que realiza es la de trasladar la información
que deberá ser ejecutada por el procesador, a la memoria principal. Actualmente esta
administración se conoce como Memoria Virtual ya que no es la memoria física del
procesador sino una memoria virtual que la representa. Entre algunas ventajas, esta
memoria permite que el sistema cuente con una memoria más extensa teniendo la
misma memoria real, con lo que esta se puede utilizar de manera más eficiente. Y por
supuesto, que los programas que son utilizados no ocupen lugar innecesario.
Las técnicas que existen para la carga de programas en la memoria son: partición fija,
que es la división de la memoria libre en varias partes (de igual o distinto tamaño) y la
partición dinámica, que son las particiones de la memoria en tamaños que pueden ser
variables, según la cantidad de memoria que necesita cada proceso.
Entre las principales operaciones que desarrolla la administración de memoria se
encuentran la reubicación, que consiste en trasladar procesos activos dentro y fuera
de la memoria principal para maximizar la utilización del procesador, la protección,
mecanismos que protegen los procesos que se ejecutan de interferencias de otros
procesos; uso compartido de códigos y datos, con lo que el mecanismo de protección
permite que ciertos procesos de un mismo programa que comparten una tarea tengan
memoria en común.
Vinculación de las instrucciones y los datos de memoria
Pueden realizarse en tres estadías:
Parte del mapa de memoria (virtual) está en disco (swap) y parte en memorial
principal.
La MMU (Memory Managament Unit) traduce las direcciones virtuales en
físicas.
La MMU produce un fallo de página (trap) cuando la dirección no está en
memoria principal.
El SO (Sistema Operativo) trata el fallo de página, haciendo un transvase entre
la memoria principal y el área de intercambio (swap disco).
En el esquema de MMU, el valor de registro de reubicación de suma a cada dirección
generada por el proceso del usuario al momento de ser enviado a la memoria.
Almacenamiento Virtual
Espacio de direcciones virtuales, V: espacio de direcciones a las que se puede hacer
referencia un proceso. Espacio de direcciones reales, R: Almacenamiento Físico
disponible, en general V >> R Traducción dinámica de direcciones (DAT): V ===> R
Mapa de correspondencia de traducción de direcciones: por bloques: =s páginas, <>
segmento. Direccionamiento bidimensional: Bloque, desplazamiento Paginación:
División de la memoria y de los programas en tamaños iguales.
Segmentación: División de la memoria en tamaños correspondientes a los
componentes del programa y los programas son divididos en sus componentes básicos
(ej. Sub-rutinas) “La paginación es a la partición fija como la segmentación a las
particiones variables”. El almacenamiento virtual de un usuario no tiene que ser
continuo ni siquiera en almacenamiento secundario.
2. Paginación
La paginación es una estrategia de organización de la memoria física que consiste en
dividir la memoria en porciones de igual tamaño. A dichas porciones se las conoce
como páginas físicas o marcos. La división de la memoria en páginas facilita la gestión
de la memoria física. Los marcos están identificados por un número, conocido como
número de página física. Cada página física se asigna en exclusividad a un proceso.
A su vez, se dispone de páginas lógicas. Todo proceso tiene su propio espacio de
páginas lógicas, cada página lógica está mapeada a un marco. El mapeo entre páginas
lógicas y páginas físicas se mantiene en la tabla de páginas. Cada proceso dispone de
su propia tabla de páginas. En tiempo de conmutación de procesos, se restablece la
tabla de páginas del proceso que pasa a estado a activo, por tanto, forma parte del
contexto de la ejecución del proceso en estado activo.
Algoritmos de planificación
El método FIFO es junto con el método LIFO (Last in, First out), una herramienta muy
utilizada en la gestión del almacén. Este método el sistema operativo solo tiene que
guardar en que orden las paginas fueron cargadas de modo que al necesitar hacer
espacio pueda fácilmente elegir la primera cargada. Se usa una cola, al cargar una
página nueva se ingresa en el último lugar .Aunque las colas FIFO son simples e
intuitivas, no se comportan de manera aceptable en la aplicación práctica, por lo que
es raro su uso en su forma simple. Uno de los problemas que presentan es la llamada
Anomalía FIFO o Anomalía de Belady. Belady encontró ejemplos en los que un sistema
con un numero de marcos de paginas igual a tres tenía menos fallos de maquinas que
un sistema con cuatro marcos de paginas .El problema consiste en que podemos quitar
de memoria una pagina de memoria muy usada, solo porque es antigua
2. Óptimo
Este algoritmo tiene como finalidad retirar la página que vaya a ser referenciada más
tarde, por ejemplo, si hay una página A que será usada dentro de 10000 instrucciones,
y una página B que será usada dentro de 2800 instrucciones, se debería eliminar de la
memoria la página A. Como se puede deducir, para esto el sistema operativo debería
ver en cuánto tiempo será usada cada página en memoria y elegir la que está más
distante. El problema de este método es que necesita conocimiento del futuro, por lo
que es imposible su implementación. Es un algoritmo teórico. Se utiliza a los efectos
comparativos con los algoritmos factibles de ser implementados para ver cuál se
aproxima más a éste.
3. Segunda oportunidad (Reloj)
Es una pequeña modificación al algoritmo FIFO, que funciona bastante mejor que el
FIFO. En este caso cuando una página debe ser sacada se toma la primera en la cola, y
en vez de sacarla, consulta el valor de un bit de referencia. En caso de estar fijado (en
1) Se cambia el bit a 0 y se lo coloca al final de la obstrucción, actualizando su tiempo
de carga como si recién hubiera llegado al procesador. De esta forma, se le da una
segunda oportunidad. Si el bit se encuentra sin fijar (en 0), la página se saca de
memoria. Cada vez que la MMU accede a una página, fija su bit de referencia a 1. Para
esto es necesario soporte para bit de referencia por hardware.
Existe una mejora en el algoritmo de segunda oportunidad que presenta una mejora
en la implementación. Es el algoritmo del CLOCK, que lo que hace es tener una lista
circular, de forma que, al llegar al último elemento de la lista, pasa automáticamente al
primero. Los elementos no se mueven al final de la cola cuando son accedidos,
simplemente se cambia el bit de referencia a 1. Esto nos evita tener que hacer
movimientos de punteros en el caso de implementarlo con una lista enlazada. De
hecho, se puede implementar con un array perfectamente, ahorrando así memoria.