2013-07-05 3 views
0

Два процесса, пытающихся получить доступ к памяти (общая область ОЗУ для IPC) за пределами любого из процессов (или обоих), является ли это нарушением процесса?Является ли модель общей памяти нарушением процесса?

+0

Определите свои условия, пожалуйста. Каково ваше определение «нарушение процесса»? –

+0

Процесс, пытающийся получить доступ к области памяти за пределами его адресного пространства ... нарушение доступа. – Sunil

ответ

1

Вы не указали ОС и язык.

В общем, общая память не находится за пределами адресных пространств процессов, а скорее - существует в и адресных пространствах. OS позаботится об этом.

+0

... 1. ОС Windows и C# 2. Ubuntu OS и C++. Можете ли вы немного подробнее рассказать о том, как ОС позаботится об этом? – Sunil

+0

Общая память в C# является проблемой. Вам нужно прибегнуть к небезопасному коду и сделать некоторые манипуляции, чтобы заставить его работать правильно. Скорее всего, вы в конечном итоге сделаете много маршалинга для управляемых объектов и потеряете преимущество разделяемой памяти. Лучше позвольте WCF позаботиться о IPC. – zmbq

Смежные вопросы