Sistemas operativos modernos
lo hace para copiar el contenido de la dirección de memoria 1000 en REG (o viceversa, depen diendo de la computadora). Las direcciones pueden generarse empleando indización, registros base, registros de segmento y otros métodos. La CPU envía direcciones La MMU envía direcciones físicas a la memoria Figura 4-9. Posición y función de la MMU. Aquí se muestra la MMU como parte del chip de la CPU porque es lo más común en la actualidad. Sin embargo, lógicamen te podría ser un chip aparte y en el pasado lo era. Estas direcciones generadas por el programa se denominan direcciones virtuales y constitu yen el espacio de direcciones virtual. En computadoras sin memoria virtual, la dirección virtual se coloca en forma directa en el bus de memoria y esto hace que se lea o escriba la palabra físi ca de memoria que tiene esa dirección. Cuando se usa memoria virtual, las direcciones virtuales no se envían de manera directa al bus de memoria, sino a una unidad de administración de me moria (MMU; memory management unit) que establece una correspondencia entre las direccio nes virtuales y físicas de la memoria, como se ilustra en la figura 4-9. En la figura 4-10 se muestra un ejemplo muy sencillo de cómo funciona esta correspon dencia. En el ejemplo tenemos una computadora que puede generar direcciones de 16 bits, desde Ohasta 64K. Éstas son las direcciones virtuales. Sin embargo, esta computadora sólo tiene 32 KB de memoria física, de modo que, si bien es posible escribir programas de 64 KB, no pueden cargarse completos en la memoria para ejecutarse. No obstante, en el disco debe estar presen te una copia completa de la imagen del programa, de hasta 64 KB, para poder traer a la memo ria partes de él según se necesiten. El espacio de direcciones virtual se divide en unidades llamadas páginas. Las unidades co rrespondientes en la memoria física se denominan marcos de página. Las páginas y los marcos de página siempre tienen el mismo tamaño, que en este ejemplo es 4 KB, aunque en sistemas reales se han usado páginas desde 512 bytes hasta 64 KB. Con un espacio de direcciones vir tual de 64 y 32 KB de memoria física, tenemos 16 páginas virtuales y ocho marcos de página. Las transferencias entre RAM y disco siempre se efectúan en unidades de página. Cuando el programa trata de tener acceso a la dirección O, por ejemplo, con la instrucción MOV REG,O
RkJQdWJsaXNoZXIy MjI4NDcx