Sistemas operativos modernos

USO de DSM normal, basado en páginas en un sistema mundial funcionaría, sólo que el desem­ peño sería terrible. Por ello, Globe adopta un enfoque distinto. En lo conceptual, la idea bási­ ca es que el mundo está lleno de objetos, cada uno de los cuales contiene algún estado interno (oculto) y también métodos para tener acceso en formas controladas a ese estado. El secreto para lograr que la memoria compartida pueda manejarse en un nivel mundial es prohibir las instrucciones LOAD y STORE directas al estado interno de un objeto y exigir que todos los accesos se efectúen por medio de los métodos. Puesto que muchos procesos pueden compartir de manera activa un objeto Globe al mismo tiempo, también se conoce como objeto compar­ tido distribuido. La ubicación de sistemas como Globe se muestra en la figura 8-22c. Veamos ahora como se implementan la escalabilidad y la flexibilidad. Cada objeto Globe tiene un objeto de clase que contiene el código real para sus métodos. Además, cada objeto tie­ ne una o más interfaces, cada una de las cuales contiene pares (apuntador a método, apuntador a estado). Así pues, dada una interfaz de objeto, que es una tabla llena de apuntadores que está presente en la memoria en tiempo de ejecución, un proceso puede ejecutar el n-ésimo método del objeto, emitiendo una llamada al procedimiento al que apunta el n-ésimo par de la tabla de interfaz y pasándole como parámetro el apuntador de estado correspondiente. El apuntador de estado es necesario para manejar, por ejemplo, una situación en la que hay dos objetos de la clase buzón en la memoria; cada uno puede tener su propia interfaz, compartiendo los apun­ tadores de método pero con apuntadores de estado privados, como se muestra en la figura 8-39. En este ejemplo, el proceso fiene dos buzones abiertos; los dos comparten el código de los cuatro métodos de buzón, pero cada uno tiene su propio estado privado (los mensajes almace­ nados en la instancia de buzón). Un buzón podría dedicarse a la correspondencia de negocios, y el otro a la correspondencia personal, por ejemplo. Espacio de direcciones La decisión de diseño de hacer que las interfaces sean tablas en memoria en fiempo de eje­ cución implica que los objetos no están restringidos a un lenguaje específico. Se tomó esta de-

RkJQdWJsaXNoZXIy MjI4NDcx