Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как смонтировать диск в ОЗУ в Java

Автор вопроса: WampyCakesОтветов: 1

Я пытаюсь закодировать RAMDisk, но не знаю, как смонтировать диск в RAM. Я собираюсь написать это на Java. Но может ли кто-нибудь указать мне способ сделать диск в ОЗУ с буквой и именем.

Спасибо!

EDIT: Для пояснения, я хочу создать файл с виртуальными файлами, например, хранящимися в оперативной памяти. Ramdisk от DataRam - хороший пример того, что я хочу сделать. Он создает файл и монтирует диск. Диск находится в ОЗУ и пишет в файл. Как я могу этого добиться? (Я хотел создать RAMDisk для своего собственного проекта с расширенными идеями)

  • Это очень неясно. Вы пытаетесь закодировать файловую систему RAMdisk на Java, а затем каким-то образом связать ее с Windows, чтобы Windows присвоила ей букву диска? Это, безусловно, невозможно в чистой Java, поскольку вам пришлось бы реализовать интерфейс поставщика файловой системы Windows, который мог бы принимать вызовы от ядра Windows. Jim Garrison 19.04.2016
  • Почему бы не использовать один из множества бесплатных RAM-дисков? Чем ваш будет лучше? Примечание: в Unix он встроен. Peter Lawrey 19.04.2016

javadiskdriveramramdisk

Ответы

Ответ 1 · рейтинг 1 · Eugene Mayevski 'Callback

RAMDisk (как и любое другое виртуальное устройство) требует использования драйвера устройства. К счастью, драйверы устройств написаны не на Java или C# (особенно Xamarin, предназначенный для мобильных ОС, которые вообще не поддерживают виртуальные диски). Хотя вы можете использовать Java для бизнес-логики, некоторая часть вашего проекта должна быть написана на неуправляемом языке, а сам проект должен включать драйвер устройства. Нет необходимости говорить, что драйверы устройств различны для каждой операционной системы.

Теперь виртуальные диски могут быть нескольких видов: на том, где у вас есть образ, отформатированный для определенной файловой системы, и вы обрабатываете запросы на уровне блоков, и на том, на котором вы обрабатываете запросы файловой системы и реализуете файловую систему самостоятельно.

У нас есть продукты для обоих случаев (CallbackDisk и Callback File System соответственно). У них обоих есть примеры для создания виртуального диска, но только файловая система обратного вызова включает Java API для использования. Оба продукта предназначены для Windows.

В Linux существует FUSE для реализации различных файловых систем, в OSX существует OSXFUSE, порт FUSE.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы