>>http://en.wikipedia.org/wiki/Shared_memory
> цитирую:
> In computer hardware, shared memory refers to a (typically) large block of
> random access memory that can be accessed by several different central
> processing units (CPUs) in a multiple-processor computer system.читаем еще раз. но не между строк
In software
In computer software, shared memory is either
a method of inter-process communication (IPC), i.e. a way of exchanging data between programs running at the same time. One process will create an area in RAM which other processes can access, or
a method of conserving memory space by directing accesses to what would ordinarily be copies of a piece of data to a single instance instead, by using virtual memory mappings or with explicit support of the program in question. This is most often used for shared libraries and for XIP.
переводим:
- метод межпроцесорного взаимодействия когда один процесс создает область памяти к которой другие могут получить доступ
- запихивание разных vma (virtual memory area) в разные процессы - так что они реально имеют доступ к
общим данным.
так все таки применимо - или тут разные процессы (на разных нодах) не получают доступ к общим данным?
> Копия содержимого памяти и "одна и та же страница" памяти - это существенно различные понятия.
а ничего что после pagger и последующего востановления из свопа - у вас будут разные физические страницы? и любое приложение на userland работает с виртуальными адресами - которые никак не связаны с реальными транзисторами.
А с точки зрения виртуальной памяти нет никакой разницы - соединили микросхемы в 2х нодах физически или логически.
ps. я понимаю вашу позицию как системотехника, но в данном случае разговор идет о процессах выполняющихся не в ядре, и оперирующими виртуальной памятью.