>Is there
>any reason why shared memory belonging to defunct processes is not
>automatically deallocated?
Yes. SYSV IPC is braindead in that regard, and Linux is bug-compatible
here.
BSD and SYSV both have better ways of creating anonymous shared
mappings. Unfortunately [and this is the only field where I really
feel that the Linux kernel is deficient] this doesn't work on Linux.