Есть ли что-то особенное, что необходимо сделать или учесть при непосредственном открытии блочного устройства (например, жесткого диска)?
Нормальный ли fopen
и / или std::fstream
(и их связанные tell
/seek
/read
/write
функции), или нужно использовать специальные функции / классы?
Позволяют ли они действительно случайный поиск или существует строгое ограничение на чтение целых блоков за раз? Если первое, есть ли существенное ухудшение производительности, если вы не выполняете блочное чтение (по сравнению с аналогичными операциями чтения файла в «обычной» файловой системе)?
Это будет на OS-X и, в ближайшем будущем, на других ОС на базе POSIX (с ядром Linux, а не с ядром BSD), в основном использующих stl
классы при наличии.
Задача ещё не решена.
Других решений пока нет …