Sistemas operativos modernos
En vez de ello, casi todos los sistemas UNIX manejan segmentos de texto compartidos. En la figura 10-13a y en la 10-13b se muestran dos procesos, A y B, que tienen el mismo segmento de texto. En la figura 10-13b se representa una posible organización de la memoria física, en la que ambos procesos comparten el mismo texto. La correspondencia en memoria corre por cuenta del hardware de memoria virtual. Los segmentos de datos y de pila nunca se comparten, excepto después de una bifurcación, y únicamente las páginas que no se modifican. Si cualquiera de esos segmentos necesita cre cer y no hay espacio adyacente en el que pueda hacerlo, no habrá problema porque las páginas virtuales adyacentes no fienen que corresponder a páginas físicas adyacentes. En algunas computadoras el hardware permite tener espacios de direcciones disfintos para las instrucciones y los datos. Si hay esta posibifidad, UNIX puede aprovecharla. Por ejemplo, en una computadora con direcciones de 32 bits en la que cabe esta posibilidad, habn'a 2^2 bits de espacio de direcciones para instrucciones y otros 2^2 bits de espacio de direcciones que los segmentos de datos y de pila pueden compartir. Un salto a Ova a la dirección Odel espacio de texto, mientras que un traslado desde Oufiliza la dirección Odel espacio de datos. Esta caracte- rísfica duplica el espacio de direcciones disponible. Muchas versiones de UNIX manejan archivos con correspondencia en memoria. Este me canismo permite establecer una correspondencia entre un archivo y una porción del espacio de di recciones de un proceso, de modo que el archivo pueda leerse y escribirse como si fuera un arreglo de bytes en la memoria. La correspondencia de un archivo en la memoria hace que el acceso alea torio a él sea mucho más fácil que si se usan llamadas de E/S al sistema, como read y write. El acceso a bibliotecas compartidas se efectúa estableciendo una correspondencia en memoria con es te mecanismo. En la figura 10-14 se muestra un archivo que se hace corresponder con dos proce sos al mismo fiempo, en direcciones virtuales distintas. Apuntador de pila- Archivo con correspondencia Proceso A 20K 8K OK Texto Memoria física Proceso B Memoria desocupada X (a) •Apuntadorde pila 1 Archivo con j correspondencia 24K Figura 10-14. Dos procesos puederi compartir un archivo con correspondencia. Una ventaja adicional de establecer la correspondencia de un archivo en la memoria es que dos o más procesos pueden corresponder con el mismo archivo al mismo tiempo. Si cualquiera
RkJQdWJsaXNoZXIy MjI4NDcx