@aldexnotproger

Как работать с секторами носителя напрямую в C?

Мне стало интересно, как я могу получить доступ к ячейкам памяти жесткого диска или другого носителя, например, USB flash накопителя с помощью языка C, что-то вроде "0xffffff = a".
Я уже минут 30 копаюсь в интернете и ничего пока не нашел. Как-то же пишут низкоуровневые программы для восстановления файлов, например.

Я понимаю, что во многом еще ничего не понимаю, но думаю, что у вас есть хоть какое-то понимание вопроса.
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 4
@pfg21
ex-турист
читать и писать напрямую в /dev/sd* и иже с ними :) глубже смысла большого нет.
дальше начинается драйверные заморочки, которые могут быть уникальны для каждого носителя.
плюс все равно напрямую к "железным" секторам все равно доступ не получишь. сейчас даже в носителе есть прослойка абстракции от железа. через нее, к примеру, перемапливают сбойные сектора в винчестерах или распыляют нагрузку записи по разным ячейкам в флешках и т.д. и т.п.
пишут ребята, которые упорно изучали низкоуровненвые операции в течении долгих лет, которые закупали документацию у производителей, которые нарабатывали кучу опыта из прикладных проблем, которые убили кучу железа в экспериментальных тестах и т.д. и т.п.
Ответ написан
Комментировать
firedragon
@firedragon
Senior .NET developer
В общем то все абстракция. Причём ос это не первый уровень. Вы отсылаете сигнал и драйвер что то делает или не делает. Формально вы можете нырнуть чуть ниже ос, но контроллер может это принять или нет.
Ответ написан
Комментировать
@lonelymyp
Живу
Если коротко, то никак.
Стоит подробней описать задачу, что именно хочется писать на диск из за чего возникло аткое желание.
Ответ написан
@kisaa
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
AKCP Новосибирск
от 180 000 ₽
Acamar Пльзень
от 220 000 до 260 000 ₽
Hybrik Красноярск
от 70 000 до 140 000 ₽
27 нояб. 2021, в 23:56
3000 руб./за проект
27 нояб. 2021, в 23:55
1000 руб./за проект
27 нояб. 2021, в 23:35
6000 руб./за проект