Возможно ли в Windows использовать часть памяти как виртуальный файл?
Я использую инструмент командной строки для обработки файла. Дело в том, что этот файл не должен храниться на диске (по соображениям безопасности). Поэтому мне было интересно, возможно ли в Windows использовать часть памяти в качестве виртуального файла, доступного через инструмент командной строки, как если бы это был настоящий физический файл.
4 ответа
Да, это возможно с вещами, упоминаемыми как "ramdisks" обычно. Какой виртуальный диск лучше для Windows? на superuser.com есть несколько ссылок.
Вы написали инструмент командной строки самостоятельно? Если это так, вы можете просто выделить часть памяти для вашей программы и использовать ее при обработке. Есть небольшая причина, чтобы заставить приложение думать, что оно использует файл на физическом диске. Особенности того, как это сделать, зависят от того, на каком языке написано ваше приложение.
Если нет, вам нужно создать RAM-диск и указать программе использовать его. Использование RAM-диска в Windows требует стороннего программного обеспечения; Полный список опций доступен здесь на Super User.
Обратите внимание, что ни использование RAM-диска, ни хранение всех ваших данных в памяти не сделает его более безопасным. Информация, хранящаяся в оперативной памяти, так же доступна любопытным глазам и вредоносным программам, как и данные, хранящиеся на жестком диске. Вероятно, больше, чем данные, которые были удалены с жесткого диска.
Если вам нужно готовое к использованию приложение, на рынке есть несколько приложений с виртуальным диском (в том числе бесплатных), и тогда ваш вопрос здесь оффтопный. Если вам нужно сделать это в коде, то один из наших продуктов виртуальной памяти (SolFS, CallbackDisk, Callback File System) будет работать, а в Callback File System есть пример проекта, который хранит файлы в памяти.
Если вы используете.NET, вы можете заглянуть в MemoryStream.
Обратите внимание на ответ Коди Грея, который является слишком верным, поскольку наличие чего-либо в памяти не гарантирует, что это не может быть скомпрометировано. Хотя мнения по этому вопросу расходятся. Большинство людей утверждают, что запись на диск еще менее безопасна, особенно в эпоху выравнивания износа, когда контролировать то, что удалено, а что нет, практически невозможно.
Оперативная память имеет свои недостатки, но с другой стороны, то, что ушло, ушло:-)