Sistemas Operativos
Administración de la memoria
La gestión de memoria o administración de memoria es el acto de gestionar la memoria de un dispositivo informático. El proceso de asignación de memoria a los programas que la solicitan. La gestión de la memoria principal de una computadora es una tarea de suma importancia para el funcionamiento de la misma.
Monoprogramacion sin intercambio ni paginacion
Tres formas sencillas de
organizar la memoria con un sistema operativo y un proceso de usuario.
Multiprogramacion con particiones fijas
Aporta las siguientes ventajas:
La gestión de memoria o administración de memoria es el acto de gestionar la memoria de un dispositivo informático. El proceso de asignación de memoria a los programas que la solicitan. La gestión de la memoria principal de una computadora es una tarea de suma importancia para el funcionamiento de la misma.
Monoprogramacion sin intercambio ni paginacion
El esquema de administración de memoria más sencillo posible es ejecutar
sólo un programa a la vez, compartiendo la memoria entre ese programa y el
sistema operativo. En la Figura 5 se muestran tres variaciones sobre este tema.
Multiprogramacion con particiones fijas
Se denomina
multiprogramación a la técnica que permite que dos o más procesos ocupen la
misma unidad de memoria principal y que sean ejecutados al “mismo tiempo”
(seudo-paralelismo, en una única CPU sólo puede haber un proceso a la vez) en
la unidad central de proceso o CPU.
Aporta las siguientes ventajas:
La ya mencionada,
varios procesos en ejecución.
Permite el servicio
interactivo simultáneo a varios usuarios de manera eficiente.
Aprovecha los tiempos
que los procesos pasan esperando a que se completen sus operaciones de E/S.
Aumenta el uso de la
CPU.
Las direcciones de los
procesos son relativas, el programador no se preocupa por saber en dónde estará
el proceso dado que el sistema operativo es el que se encarga de convertir la
dirección lógica en física.
Un proceso entra a
ejecutarse y llega al momento en que tiene que hacer espera por un dispositivo
de entrada y/o salida por ejemplo, el CPU estara ocioso mientras espera que el
proceso puede usar el dispositivo para así finalmente ejecutarse. Los sistemas
de multiprogramación evitan eso ya que durante ese tiempo de esperar pasan a
ejecutar otro proceso teniendo así al computador ocupado.
Con excepción de los
sencillos sistemas integrados, la mono programación ya casi no se usa. La
mayoría de los sistemas modernos permite la ejecución de varios procesos al
mismo tiempo. Esto implica que si un proceso se bloque en espera de que termine
una operación de E/S, otro puede usar la CPU. Así, la multiprogramación eleva
el aprovechamiento de la CPU. Los servidores de red siempre han podido ejecutar
múltiples accesos(para clientes distintos) al mismo tiempo, pero en la
actualidad casi todas las maquinas cliente ( es decir, de escritorio) también cuentan
con esta capacidad.
La forma mas fácil de
lograr la multiprogramación es simplemente dividir la memoria en n particiones
(tal vez desiguales). Esta división puede efectuarse en forma manual, por
ejemplo, cuando se pone en marcha el sistema.
Cuando llega un
trabajo, se puede colocar en la cola de entrada de la partición mas pequeña en
la que cabe. Puesto que en este esquema las particiones son fijas, cualquier
espacio de una partición no ocupada por un trabajo se desperdicia. En la sig.
Figura vemos el aspecto que tiene este sistema de particiones fijas y colas de
entrada individuales
Consiste en dividir la
memoria en varias particiones de tamaño fijo.
Cada partición puede
contener exactamente un proceso. El nivel de multiprogramación está limitado
por el número de particiones.
Cuando una partición está libre, se selecciona un proceso de la cola de entrada y se carga en la partición libre; cuando un proceso termina, la partición está disponible para otro.
Cuando una partición está libre, se selecciona un proceso de la cola de entrada y se carga en la partición libre; cuando un proceso termina, la partición está disponible para otro.
Desventajas .
Se hace una mala
utilización de la memoria debido a la poca flexibilidad del método.
Es complicado correr
programas más grandes que el tamaño de la partición.
Ventajas .
•Administración es relativamente
simple.
•Protección entre
procesos se puede realizar mediante el registro base y la longitud de la zona
Memoria virtual
Memoria Virtual es el uso combinado de memoria RAM en su computadora y espacio temporero en el disco duro. Cuando la memoria RAM es baja, la memoria virtual mueve datos desde la memoria RAM a un espacio llamado archivo de paginación. El movimiento de datos desde y hacia los archivos de paginación crea espacio en la memoria RAM para completar su tarea.
Si su computadora está falta de la memoria RAM necesaria para ejecutar una operación o programa, Windows utiliza la memoria virtual para compensar.