Novedades de Solaris 10

SPARC: Admisión de contextos compartidos

El mecanismo contextual, que el hardware de unidad de manejo de memoria (MMU) utiliza para distinguir entre el uso de la misma dirección virtual en diversos espacios de direcciones de procesos, presenta algunos fallos cuando se utiliza la memoria compartida. Los fallos se deben a los datos de una memoria compartida determinada; la dirección en diversos procesos podría ser idéntica, pero el número de contexto asociado con cada proceso es diferente. Por lo tanto, el hardware de MMU no puede reconocer una coincidencia. Como consecuencia, las asignaciones que se desalojan de forma innecesaria de la caché de traducción de MMU y el búfer de traducción de direcciones (TLB) se sustituyen sólo por asignaciones idénticas con un número de contexto diferente.

El sistema Niagara 2 tiene un contexto adicional compartido que es una función de hardware apta para evitar el error en el control de la memoria compartida. Al buscar en el TLB la asignación de una coincidencia en un contexto privado o compartido, se produce un acierto en el TLB. La admisión de software actual de contexto compartido activa la función de procesos que utilizan la Memoria dinámica compartida privada (DISM). En este caso, el segmento de texto de proceso y los segmentos DISM asignados en la misma dirección virtual con los mismos permisos para cada proceso utilizan el contexto compartido.