В целях производительности я хочу записать в память, где может считываться внешнее приложение. Я не могу связать оба приложения вместе, поэтому я думаю, что единственный способ - написать файл. Но записать его на физический диск недостаточно быстро. Я хочу подключить виртуальный раздел, чтобы любое приложение могло получить к нему доступ. Как это сделать?
Вы можете использовать именованный канал для передачи данных между приложениями.
Вам не нужно заходить так далеко, как создавать виртуальный диск для обмена памятью между процессами в Windows - вы можете создать блок разделяемой памяти, а затем несколько процессов смогут получить доступ к этой памяти.
См. статью MSDN: Создание именованной общей памяти
Я хочу, чтобы вы могли использовать .NET 4.0:)
В .NET 4.0 представлен файл с отображением памяти.
Гуннар Пейпман красиво написал по следующей ссылке: .NET Framework 4.0: Использование файлов с отображением памяти
В своем блоге "Файлы с отображением памяти полезны, когда вам нужно делать манипуляции с памятью в памяти, а ваши структуры данных велики. Для больших данных в памяти производительность файла с отображением памяти является лучшей. чем MemoryStream. И как файлы на жестком диске, файлы с отображением памяти могут совместно использоваться различными программами.
В его блоге также содержится пример кода.
Я видел некоторую коммерчески доступную реализацию ramdisk для .net, но я не могу найти ее прямо сейчас.
Другим вариантом может быть: С#, доступ к файлу карты памяти