У меня есть особая потребность в хранении данных блоков. Мои данные - это форматированные блоки данных размером 4096. Для высокой эффективности я хочу напрямую манипулировать блоком в секторе жесткого диска и не хочу обрабатывать блок данных как файл. Я думаю, что один из способов - обработать устройство как файл, например/dev/sda1, и использовать lseek() read() и write() для чтения и записи данных. Однако я не знаю, является ли глава файла первым сектором жесткого диска. Я также подозреваю эффективность этого метода.Прямой и эффективный сектор записи и записи жесткого диска
Я работаю над Linux OS и языком программирования C.
Каков наиболее эффективный способ обработки сектора жесткого диска? Должен ли я писать блок-модуль linux. Тем не менее, я мало знаю об этом. Какие функции ядра следует использовать для чтения и записи на блочном устройстве?
Это: http://stackoverflow.com/questions/3520459/linux-hard-disk-direct-access-without-any-fs-from-c-program Релевантно для вас? Кажется, ответы на большинство вопросов «как», хотя вам, возможно, придется делать фундаментальные исследования для точных функций. – Avery
Это актуально, но я не знаю, какой метод имеет хорошую производительность скорости ввода-вывода для случайного доступа к жесткому диску. – chenatu
Этот вопрос может быть тем, о котором вы должны ответить сами, поскольку он очень субъективен и не очень хорошо подходит для этого формата. – Avery