usuario pueden direccionar cada byte de
memoria, pueden estropear el sistema
operati- vo con facilidad, ya sea intencional o
accidentalmente, con lo cual el sistema se
detendría en forma súbita
espacio de direcciones
resolver dos problemas para
permitir que haya varias
aplicaciones en memoria al mismo
tiempo sin que interfieran entre sí:
protección y reubicación.
Los espacios de direcciones no tienen que ser numéricos.
Registros base y límite
utiliza reubicación dinámica.
asociar el espacio de direcciones de cada proceso
sobre una parte distinta de la memoria física, de
una manera simple.
comparaciones se pueden hacer con rapidez, pero las sumas
son lentas debido al tiempo de propagación del acarreo, a
menos que se utilicen circuitos especiales de suma.
Intercambio
Si la memoria física de la computadora
es lo bastante grande como para
contener todos los proce- sos, los
esquemas descritos hasta ahora
funcionarán en forma más o menos
correcta.
los procesos pueden tener dos segmentos en crecimiento
cuando el segmento de datos se utiliza como heap para las variables que se asignan
La memoria entre estos segmentos se puede utilizar para cualquiera de los dos. Si se agota, el
proceso tendrá que moverse a un hueco con suficiente espacio, intercambiarse fuera de la memo- ria
hasta que se pueda crear un hueco lo suficientemente grande, o eliminarse.
Administración de memoria libre
Cuando la memoria se asigna en forma dinámica, el sistema operativo debe administrarla. En tér-
minos generales, hay dos formas de llevar el registro del uso de la memoria: mapas de bits y listas
libres.
Administración de memoria con mapas de bits
Con un mapa de bits, la memoria se divide en unidades de asignación tan pequeñas como unas
cuan- tas palabras y tan grandes como varios kilobytes.