원래 그렇게 만들어진 것입니다.
IDL에서 일반적으로 Interactive 하게 사용하는 상태인 $MAIN$ 레벨도 COMMON의 설정을 공유할 수 있어야 하니까요. DEFSYSV는 시스템 변수를 만드는 것이기 때문에 이 역시 reset 전에는 없어지지 않습니다.
Shared Memory Map 은 IDL의 바깥에 있는 메모리를 사용하는 것입니다. 운영체제가 관리하는 메모리죠. 그래서 IDL에서 메모리 체크를 했을 때는 보이지 않습니다. 이를 잘 이용하면 IDL 프로세스 간의 메모리를 공유할 수 있고, IDL과 다른 프로그램 간의 메모리를 공유할 수도 있습니다. 한쪽에서 변수를 고치면 다른 쪽에서도 그 변수의 변경이 반영되고요… 다만 일반적인 IDL 메모리와 달리 위험성이 있습니다. 잘못 건드리면 프로세스들이 다운되고 엉킬 수 있습니다.
그런데, 하나의 프로세스(IDL 세션 하나)에서라면 굳이 Shared Memory까지 쓰실 필요는 없지 않나 생각합니다.