Если есть какая-то схема, позволяющая сделать так, чтобы одни и те же 32-битные ячейки памяти отображались в разные 64-битные ячейки памяти, чтобы позволить использовать более 4 ГБ ОЗУ коллективными 32-битными приложениями
Это именно то, что происходит, да.
как 32-битные приложения будут взаимодействовать друг с другом по такой схеме
Очевидно, не через указатели. Попробуйте написать два 32-битных приложения под 32-битной ОС, выделяя память в одном и пытаясь прочитать ее из другого, и как только вы попытаетесь разыменовать указатель в другом приложении, вы получите sh с нарушением доступа.
В ОС защищенного режима каждое приложение имеет доступ только к тем страницам, которые оно отображает в рамках своего собственного процесса, и поэтому тот факт, что каждое приложение видит свое 64-битное адресное пространство со своими 32-битными битовый адрес ничего не меняет, у них все еще нет доступа к памяти другого процесса.
Если вы действительно запрашиваете IP C методы (ie, способы взаимодействия между процессами) , они широко разнообразны и зависят от ОС, от общей памяти (именованные файлы с отображением памяти, поддерживаемые вашим файлом подкачки), сокетов, именованных каналов, именованных почтовых ящиков, именованных мьютексов (если вы используете синхронизацию), файлов общих дисков, окон сообщения, et c.