Solaris 10 새로운 기능

SPARC: 공유 컨텍스트 지원

서로 다른 프로세스 주소 공간에서 동일한 가상 주소가 사용되는 경우를 구분하기 위해 MMU(Memory Management Unit) 하드웨어에 의해 사용되는 컨텍스트 체계는 공유 메모리가 사용될 때 비효율성을 발생시킵니다. 공유 메모리의 비효율성은 서로 다른 프로세스에서 특정 공유 메모리의 데이터와 주소가 실제로는 동일할 수 있지만 각 프로세스에 연결된 컨텍스트 번호는 다르기 때문에 발생합니다. 따라서 MMU 하드웨어에서 일치를 인식할 수 없습니다. 이로 인해 MMU 변환 캐시 및 TLB(Translation Lookaside Buffer)에서 매핑이 불필요하게 제거되고, 동일한 매핑에 의해 다른 컨텍스트 번호로 대체됩니다.

Niagara 2 시스템에는 공유 메모리 처리의 비효율성을 방지하는 데 사용될 수 있는 하드웨어 기능인 추가 공유 컨텍스트가 있습니다. TLB에서 매핑을 검색할 때 전용 컨텍스트나 공유 컨텍스트의 일치 항목으로 인해 TLB 히트가 발생합니다. 공유 컨텍스트에 대한 현재 소프트웨어 지원은 DISM(Dynamic Intimate Shared Memory)을 사용하는 프로세스의 기능을 활성화합니다. 이 경우, 각 프로세스에 대한 동일한 권한을 사용하여 동일한 가상 주소에 매핑되는 DISM 세그먼트와 프로세스 텍스트 세그먼트는 공유 컨텍스트를 사용합니다.