Есть ли способ создать блочное устройство через пользовательское пространство в OSX (10.8+), без сторонних библиотек (FUSE и т. Д.)?OSX User Space Device FIle
Я пытаюсь создать инструмент пользовательского пространства. Идея заключается в том, что пользователь поставляет файл в инструмент, и инструмент создает виртуальный интерфейс. Всякий раз, когда интерфейс записывается, инструмент применяет операцию к данным, а затем записывает в исходный файл. Всякий раз, когда интерфейс считывается, инструмент считывает из исходного файла и применяет обратную операцию.
Мне не обязательно требуется блок-устройство. Инструменту необходимо создать какой-то виртуальный интерфейс, который можно рассматривать как файл, то есть его можно открыть и сохранить другим приложением.
Я просмотрел подпрограммы пользовательского пространства набора I/O Kit, но ничего не показалось вам притягательным, так как создание виртуального устройства USB/FireWire/MMC/SCSI кажется чрезмерным.
Привет, в вашем ответе вы упомянули о возможности создания файловой системы. Если я беспокоюсь только о низкоуровневых операциях так же, как «прочитанная страница/запись страницы/страницы в каталоге/странице», возможно ли установить стандартную файловую систему (HFS +) поверх файла устройства ('/ dev/my_device '), и наслаждаться обоими мирами? – Zohar81
@ Zohar81 Я не понимаю, почему не так, как VFS происходит на уровне BSD, но я этого не пробовал. Если вам нужна поддержка таблицы разделов, вам обязательно нужно будет использовать устройство хранения блоков IOKit. – pmdj