Используют ли драйверы устройств логическое адресное пространство ядра или виртуальное адресное пространство ядра?

Я написал руководство о том, как восстановиться после массового удаления файлов в системе Linux (, когда она была еще только ext3 ). Однако в моем методе использовалась информация из журнала, поэтому, как правило, он мог восстанавливать только файлы, к которым недавно (, например, на прошлой неделе )обращались (, что вызывает обновление времени доступа и, следовательно, копию таблицы инодов. в журнал )или чьи индексные дескрипторы находились в том же блоке индексных дескрипторов, что и файлы, к которым недавно обращались.

Вы все еще можете найти мое руководство здесь:http://carlowood.github.io/howto/undelete_ext3.html

Тем временем было написано много руководств и даже видеороликов на YouTube о том, как использовать ext3grep (используйте Google для их поиска ), а также есть дополнительный проект для ext3 и ext4, который может быть проще использовать (я никогда не смотрел на это я должен признать ); которые вы можете найти здесь:http://extundelete.sourceforge.net/

Во всех случаях -после массового удаления -вы хотите как можно скорее прекратить запись на ваш жесткий диск и желательно размонтировать его -даже просто выключение Хотя выключение и, следовательно, чистое размонтирование вашего жесткого диска рискует перезаписать данные, потому что он будет записывать больше на ваш диск, я думаю, что это того стоит, потому что чисто размонтированный диск легче восстановить с помощью этого метода. Немедленное перемонтирование диска только для чтения с последующим завершением работы может быть лучшим вариантом. После этого вы должны работать с live DVD, чтобы сделать копию образа вашего диска (с помощью dd ), или поставить жесткий диск на другой компьютер. Не монтируйте его снова, пока не сделаете резервную копию или не восстановите удаленные файлы.

0
09.03.2021, 04:40
1 ответ

Структура памяти пространства ядра задокументирована в ядре, для x86 _64 по крайней мере . Во многих архитектурах это включает в себя прямое физическое сопоставление с фиксированным смещением, которое не меняется в течение времени существования одного экземпляра ядра. Поскольку код ядра выполняется на ЦП с использованием MMU (на архитектурах, оснащенных MMU -), все адреса, на которые ссылается работающий код (для указателей переменных, стеков и т. д. ), являются адресами, понятными для MMU, т.е. виртуальные адреса, обычно выделяемые вне прямого физического отображения.

Переменные в драйверах устройств по умолчанию отображаются в пространстве ядра. Драйвер устройства также может сделать данные доступными из пользовательского пространства различными способами — sysfs, procfs, сопоставленными с пользовательским пространством в vDSO ...

3
18.03.2021, 22:26

Теги

Похожие вопросы