Gestion De Memoria
En un sistema monoprogramado, la memoria principal se divide en dos partes: una parte para el SO (monitor residente, núcleo) y otra parte para el programa que se ejecuta en ese instante. En un sistema multiprogramado, la parte del usuario de la memoria debe subdividirse aún más para hacer sitio a varios procesos. La gestión de memoria es entonces la subdivisión dinámica dela memoria llevada a cabo por el SO.
Requisitos de la gestión de memoria:
Reubicación
En un sistema multiprogramado, la memoria disponible se encuentra normalmente compartida por varios procesos. Se busca poder cargar y descargar los procesos activos en la memoria principal para maximizar el uso del procesador, manteniendo una gran reserva de procesos listos para ejecutar. Cuando unprograma haya sido descargado a disco, sería limitante declarar que éste vuelva a ser cargado en el mismo lugar de memoria principal que antes, por lo tanto no se sabe de antemano donde debe situarse un programa.
El SO tiene que conocer la ubicación de la información de control del proceso y de la pila de ejecución, así como el punto de partida para comenzar la ejecución del programa para dichoproceso. El procesador debe ocuparse de las referencias a memoria dentro del programa. El hardware del procesador y el software del SO deben ser capaces de traducir las referencias a memoria encontradas en el código del programa a direcciones físicas reales que reflejen la posición actual del programa en memoria principal.
Protección
Cada proceso debe protegerse contra interferencias nodeseadas de otro proceso. El código de un proceso no puede hacer referencia a posiciones de memoria de otros procesos ya sea para leer o escribir sin permiso. Las referencias a memoria generadas por un proceso deben comprobarse durante la ejecución para asegurar que sólo hacen referencia al espacio de memoria destinado a dicho proceso. Generalmente un proceso de usuario no puede acceder a ninguna partedel SO, tanto a programas como a datos. Las exigencias de protección de memoria pueden ser satisfechas por el procesador en vez de por el SO. Esto se debe a que el SO no puede anticiparse a todas las referencias a memoria que hará un programa.
Compartición
Cualquier mecanismo de protección debe tener la flexibilidad de permitir el acceso de varios procesos a la misma zona de memoriaprincipal. Los procesos que cooperan en una tarea pueden necesitar acceso compartido a la misma estructura de datos. El sistema de gestión de memoria debe permitir accesos controlados a las áreas compartidas, sin comprometer la protección básica.
Organización lógica
La memoria principal se organiza como un espacio de direcciones lineal o unidimensional que consta de una secuencia de bytes opalabras. A nivel físico la memoria secundaria se organiza de forma similar. Sin embargo, la mayoría de los programas se organizan en módulos algunos modificables y otros no. Si el SO y el hardware del computador pueden tratar de forma efectiva los programas de usuario y los datos en forma de módulos de algún tipo se conseguirán ventajas:
1. Los módulos pueden escribirse y compilarseindependientemente, mientras que el sistema resuelve durante la ejecución todas las referencias de un módulo a otro.
2. Con un escaso costo adicional, pueden otorgarse varios grados de protección a los distintos módulos.
3. Es posible introducir mecanismos por medio de los cuales los procesos puedan compartir módulos.
Organización física
La memoria del computador se organiza en, al menos, dosniveles: memoria principal y memoria secundaria. La memoria secundaria de gran capacidad permite un almacenamiento a largo plazo de programas y datos, la memoria principal pequeña mantiene los programas y datos de uso actual. En este esquema, la organización del flujo de información entre la memoria principal y secundaria tiene un gran interés en el sistema. La responsabilidad de este flujo no se...
Regístrate para leer el documento completo.