Sistemas operativos modernos
crece hacia arriba. La memoria entre ellos puede utilizarse para cualquiera de los dos segmen tos. Si se agota, el proceso tendrá que transferirse a un hueco con suficiente espacio, sacarse de la memoria hasta que pueda crearse un hueco del tamaño suficiente o eliminarse. 4.2.1 Administración de memoria con mapas de bits Si la memoria se asigna en forma dinámica, el sistema operativo debe administrarla. En térmi nos generales, hay dos formas de llevar el control del uso de la memoria: mapas de bits y lis tas libres. En esta sección y en la que sigue examinaremos los dos métodos. Con un mapa de bits, la memoria se divide en unidades de asignación, que pueden ser desde unas cuantas palabras hasta varios kilobytes. A cada unidad de asignación corresponde un bit del mapa de bits. El bit es O si la unidad está desocupada y 1 si está ocupada (o viceversa). La figura 4-7 muestra una parte de la memoria y el mapa de bits correspondiente. B , 9 , ^ D 1 1 1 1 1 0 0 0 P 0 5 - H 5 3 P 8 6 - P 14 4 - 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 G 18 (b) ^ Hueco Comienza Longitud en 18 2 20 26 H 29 3 X Proceso (c) Figura 4-7. a) Una parte de la memoria con cinco procesos y tres huecos. Las marcas de escala denotan las unidades de asignación de memoria. Las regiones sombreadas (Oen el mapa de bits) están desocupadas, b) El mapa de bits correspondiente, c) La misma información en forma de lista. El tamaño de la unidad de asignación es un aspecto de diseño importante. Entre más pe queña sea la unidad, mayor será el mapa de bits. Sin embargo, aun con unidades de asignación de sólo 4 bytes, 32 bits de memoria sólo requerirán un bit en el mapa. Una memoria de 32« bits necesitará sólo n bits de mapa, así que el mapa de bits sólo ocupará 1/33 de la memoria. Si se escoge una unidad de asignación grande, el mapa de bits será más pequeño, pero podría desperdiciarse una cantidad de memoria considerable en la última unidad del proceso si su ta maño no es un múltiplo exacto de la unidad de asignación. Un mapa de bits es un mecanismo sencillo para llevar el control de las palabras de memo ria en una cantidad fija de ésta, porque su tamaño sólo depende del tamaño de la memoria y del de la unidad de asignación. Su problema principal es que una vez que se ha decidido traer a la memoria un proceso de k unidades, el administrador de memoria deberá examinar el mapa de
RkJQdWJsaXNoZXIy MjI4NDcx