Está en la página 1de 6

FACULTAD INGENIERA EN SISTEMAS

SEDE RETALHULEU

CARRERA
Ingeniería en sistemas de información y ciencias de la computación

Curso
Sistemas Operativos II

Catedrático:
Ing. Carlos Bonilla

7mo Semestre

Alumno Carnet:
Willy Amílcar de León Castro 2790 - 17 - 7698

Retalhuleu, enero 2020


MEMORIA VIRTUAL

Cómo la memoria virtual se mapea a la memoria física la Memoria virtual es un concepto que
permite al software usar más memoria principal que la que realmente posee el ordenador.
los ordenadores tienen cuatro tipos de memoria: registros en la CPU, la memoria cache, la memoria
RAM, y el disco duro.
Las aplicaciones requieren el acceso a más información (código y datos) que la que se puede
mantener en memoria física.
Una solución al problema de necesitar mayor cantidad de memoria de la que se posee consiste en
que las aplicaciones mantengan parte de su información en disco, moviéndola a la memoria
principal cuando sea necesario.
La alternativa es usar memoria virtual, donde la combinación entre hardware especial y el sistema
operativo hace uso de la memoria principal y la secundaria para hacer parecer que el ordenador
tiene mucha más memoria principal (RAM) que la que realmente posee.

CARACTERISTICAS:

La memoria es uno de los principales recursos de la computadora, la cual debe de administrarse


con mucho cuidado. La parte del sistema operativo que administra la memoria se llama
administrador de memoria Su labor consiste en llevar un registro de las partes de memoria que se
estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos cuando
éstos la necesiten y liberándola cuando terminen, así como administrar el intercambio entre la
memoria principal y el disco en los casos en los que la memoria principal no le pueda dar capacidad
a todos los procesos que tienen necesidad de ella.El propósito principal de una computadora es el
de ejecutar programas, deben de estar en la memoria principal durante la ejecución Para optimizar
el uso del CPU y de la memoria, el sistema operativo debe de tener varios procesos a la vez en la
memoria principal,

FUNCION:

Consiste en dividir el programa en trozos, llamados recubrimientos (overlays). El recubrimiento 0


era el que se ejecutaba primero. Cuando terminaba, llamaba a otro recubrimiento. Algunos
sistemas de recubrimientos eran altamente complejos, permitiendo tener varios recubrimientos en
memoria a la vez. Los recubrimientos se mantenían en el disco y el sistema operativo los
intercambiaba entre el disco y la memoria, dinámicamente según se iban necesitando.

La memoria virtual combina la RAM del equipo con espacio temporal en el disco duro. Cuando
queda poca RAM, la memoria virtual mueve datos de la RAM a un espacio llamado archivo de
paginación. Al mover datos al archivo de paginación y desde él, se libera RAM para que el equipo
pueda completar la tarea.

OBJETIVO:

Si nos quedamos sin memoria no podremos ejecutar más programas y los que estamos ejecutando
tendrán problemas para trabajar con más datos. Pero como hemos visto no todos son ventajas, el
uso de memoria virtual puede hacer que tu equipo funcione más lento si es necesario ir por datos
al disco duro. Es siempre un compromiso entre la velocidad y la cantidad de datos que el sistema
es capaz de procesar.

Jamás una configuración de más memoria virtual podrá ser mejor que una ampliación de memoria
RAM. Es más, lo ideal sería tener un equipo que no necesitase tener esta característica activada.
ADMINISTRACION DE MEMORIA

Los métodos actuales tienen como base la administración de memoria que se usaban antiguamente.

Los programas deben ser llevados a la memoria y convertirse en procesos para ser ejecutados. Cola
de entrada – colección de programas en disco que esperan para ser llevados a la memoria para
ejecución.

La parte del sistema operativo que administra la memoria se llama administrador de memoria. La
memoria principal es un depósito de datos a los que se puede acceder rápidamente y que son
compartidos por la cpu y los dispositivos de E/S.

Funciones: Que memoria se esta usando, quien la usa, que procesos pueden cargarse, asignación
y liberaciones de memoria.

Cuando un programa se carga en memoria principal se convierte en procesos.

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 A LA MEMORIA


Pueden realizarse en tres estadíos:

Tiempo de compilación: si se conoce previamente la ubicación de memoria, puede generarse


código absoluto, el código debe ser recompilado si la dirección de inicio cambia.
Tiempo de carga: Si se conocen las direcciones en tiempo de compilación, debe generarse código
reubicable.
Tiempo de ejecución: La vinculación se retarda hasta el tiempo de corrida si los procesos pueden
ser movidos durante su ejecución de una posición de memoria a otra.
Overlays (Superposiciones)- Mantiene en memoria solo aquellas instrucciones y datos que se
requieren en un momento determinado.- Se utilizaba cuando el proceso era mayor que la cantidad
de memoria destinada para él- Se implementaba por el usuario, no se requería un soporte especial
del sistema operativo, su programación era compleja.

Antiguamente los programas no corrían si no tenia la memoria requerida, hoy si se puede debido
a que se carga por partes.
Ejemplo:
Cobol se escribe por secciones, Overlays es una sección.

ASIGNACIÓN CONTIGUA
 Generalmente la memoria principal tiene dos particiones.-Para el sistema operativo
residente que puede ser colocado en memoria baja o alta de acuerdo a la ubicación del
vector de interrupciones-Los procesos de los usuarios se colocan en otra partición
 Asignación de partición única
- Se usa el esquema de registro de reubicación para proteger a los procesos de los usuarios entre
si, y para proteger el código y los datos del SO. - El registro de ubicación tiene el valor de la
dirección física mas pequeña; el registro limite…
 Asignación con múltiples particiones
-Hueco: Bloque de memoria disponible; se establecen varios huecos (particiones) de diferentes
tamaños a través de la memoria. -Cuando un proceso llega, es asignado a un hueco lo
suficientemente grande para contenerlo -El SO mantiene información acerca de las particiones
asignadas.

ASIGNACIÓN CON MÚLTIPLES PARTICIONES FIJAS


Particiones configuradas por usuario, predeterminadas, se uso en OS/360/MFT
(multiprogramación con un # fijo de tareas). Recolocación: El enlazador debe determinar que
direcciones recolocarse vs Carga absoluta x part.
Protección: Bloques de 2K con clave, o Registro de base y límite. FRAGMENTACIÓN. no se
puede aplicar overlays en este esquema de administración de memoria Sistemas de protección:-
registro limite y base -protección por clave fragmentación interna: desperdicio de espacios de
memoria.

ASIGNACIÓN CON PARTICIONES VARIABLES

El tamaño de la partición se establece en el momento de cargar el programa y dependiendo su


tamaño.

Los procesos tienen que correr en memoria contigua. Tiene un problema de fragmentación externa,
por los huecos que quedan después de ejecución; La solución es mover el proceso, que se están
ejecutando, proceso de compresión. Condensación: Fusión de dos huecos contiguos.

El esquema actual de administración de memoria nace de los dos anteriores. Nace la paginación y
la segmentación.

PROBLEMA DE LA ASIGNACIÓN DINÁMICA DE MEMORIA


Cómo satisfacer la solicitud de un tamaño n a partir de huecos libres Estrategia de colocación:

-Peor ajuste: Hueco más grande


-Siguiente ajuste
-Estrategia más sofisticada: Sistema Buddy -Listas de huecos con tamaños potencias de 2
El primer ajuste y el mejor ajuste son mejores que el peor ajuste en términos de velocidad y
utilización de almacenamiento.
HIPERPAGINACION

Si el número de marcos asignados a un proceso de baja prioridad desciende por debajo del número
mínimo requerido por la arquitectura del computador, debemos suspender la ejecución de ese
proceso. Luego debemos descargar sus páginas restantes, liberando los marcos asignados. En
general, cualquier proceso que no cuente con marcos suficientes provocará fallos de página muy
frecuentemente. Si se reemplazan páginas que a su vez están activas, estaremos sustituyendo una
página que casi de inmediato se volverá a necesitar. Por tanto, pronto vuelve a generarse otro fallo
de página, ocurriendo esto una y otra vez. A esta altísima actividad de paginación se le llama
hiperpaginación (thrashing). Un sistema está en hiperpaginación si emplea más tiempo paginando
que ejecutando.

CAUSAS

La hiperpaginación ocasiona severos problemas de rendimiento. Considere la siguiente situación,


basada en el comportamiento real de los primeros sistemas de paginación.
El sistema operativo supervisa la utilización de la CPU. Si ésta es demasiado baja, aumentamos el
nivel de multiprogramación introduciendo un nuevo proceso en el sistema. Se emplea una
algoritmo de reemplazo de páginas global, que reemplaza páginas sin importar a qué procesos
pertenezcan. Suponga ahora que un proceso entra en una nueva fase de su ejecución y necesita
más marcos. Comienza a generar fallos de página y a tomar páginas de otros procesos. Sin
embargo, estos procesos necesitan esas páginas, por lo que también fallan, tomando páginas de
otros procesos. Todos estos procesos generando fallos de página deben usar el dispositivo de
paginación para intercambiar las páginas. A medida que se colocan en la cola del dispositivo de
paginación, la cola procesos listos se vacía. Mientras los procesos están bloqueados en espera del
dispositivo de paginación, la utilización de la CPU decrece.
El planificador de la CPU ve disminuir la utilización de ésta y, por tanto, incrementa el nivel de
multiprogramación. El nuevo proceso trata de comenzar tomando páginas de los procesos en
ejecución, lo que ocasiona más fallos de página y una cola más larga para el dispositivo de
paginación. Y se vuelven a repetir los pasos descritos. Ha comenzado la hiperpaginación y se
desploma la productividad del sistema. La tasa de fallos de página aumenta tremendamente y,
como resultado, se incrementa el tiempo efectivo de acceso a memoria. No se efectúa ningún
trabajo porque el sistema operativo está continuamente paginando.

También podría gustarte