Capitulo 3IAdministracin de la memoria, sistemas recientes
ASIGNACIN DE LA MEMORIA EN PAGINAS
........................................................................................................ La asignacin de la memoria en pginas se basa en el concepto de dividir cada tarea de llegada en pginas de igual tamao. Algunos sistemas operativos escogen un tamao de pgina igual al tamao de bloque de m-smoria que es el tamao de las secciones d8 disco en las cuales se almacena la tarea) (Las secciones de un disco se conocen como "sectores" (o algunas veces "bloques") y los sectores de la memoria principal se denominan marcos de pgina. El esquema fun- ; dona con bastante eficiencia cuando pginas, sectores y marcos de pgina son del mismo tamao. Por lo general; el tamao del sector del disco define el tamao exacto (nmero, de bytes) que se puede almacenar en cada uno. Por lo tanto, un sector contendr un** j pgina de instrucciones de tareas y cabr en un marco de pgina de la memoria. Antes de ejecutar un programa, el administrador de la memoria lo prepara medianter!"
1. La determinacin del nmero de pginas del programa
2. La ubicacin de suficientes marcos de pgina vacos en la memoria principal 3. La carga de todas las pginas del programa en los mismos (en el paginado esttico las pginas no necesitan estar juntas)) Cuando el programa se prepara en un inicio para cargar, sus pginas estn en secuencia lgica (las primeras pginas contienen las primeras instrucciones del programa,i y la ltima pgina, las ltimas instrucdones).,Para que la explicacin sea lo ms clara po~ sible, nos referiremos a las instrucciones del programa como "lneas de cdigo", aunque-tambin se pueden entender como bytes. '""' El proceso de carga es diferente a los esquemas que estudiamos en el captulo 2, ya I r\ que'no hay que cargar las pginas en bloques de memoria adyacentes. De hecho, cada^ ~~ . una se puede almacenar en cualquier marco de pgina disponible en cualquier parte de,,' la memoria principal (Madnick & Dono van, 1974). La ventaja principal de almacenar programas en localidades no contiguas es que la? memoria principal se utiliza con ms eficiencia porque un marco de pginas vado se-^ puede usar para cualquier pgina de cualquier trabaje). Adems/el esquema de compac-;. tadn utilizado para particiones localizables se elimina porque rio existe fragmentadi| externa entre marcos de pgina (y no hay fragmentadn interna en la mayor parte de r las pginas). \ "-> Sin embargo, con cada solucin nueva lleg^un nuevo problema: dado que las pginas de una tarea se pueden localizar en cualquier parte de la memoria prindpal, el^ administrador de la misma necesita un mecanismo para controlarlas. Esto
sign ifica ' au me ntar el tam ao y la com pleji dad del soft war e del sist em a ope rati vo, lo que incr e- j me nta la car ga gen eral , j g El eje mpl o de
la figura 3.1 muestra
la forma en que el administrador de la memo^S ra da seguimiento a un programa que tiene cuatro pginas de largo. Para simplificar S la aritmtica, hemos establecido el tamao de pgina en 100 lneas (o bytes). La tarea 1 P tiene 350 lneas (o bytes) de largo y se est alistando para su ejecudn. Note en la figura 3.1 que la ltima pgina (pg. 3) no est utilizada al 100% porque i la tarea tiene menos de 400 lneas; esto es, la ltima pgina utiliza slo 50 de las 100 ||g lneas disponibles. De hecho/'muy pocas tafeas llenan perfectamente todos los marcos-; de pgina, por lo que sigue siendqun problema la fragmentadn interna (pero nada. ms en la ltima pgina de una tarea).) \