Блочная структура Ext2: размер зарезервированных Блоков GDT

Причина, почему нам нужен thread_info, состоит в том вследствие того, что мы выделяем память для task_struct с помощью Средства выделения Плиты. Теперь можно ли спросить, каково отношение между ними?

Понять, что необходимо понять, как Средство выделения Плиты работает.

Без Средства выделения Плиты разработчики ядра могли выделить память для task_struct в стопке ядра для конкретного процесса так, чтобы к этому можно было получить доступ легко. Теперь с появлением Средства выделения Плиты, память выделяется task_struct, как определено Средством выделения Плиты. Таким образом со Средством выделения Плиты у Вас есть task_struct, сохраненный где-то в другом месте а не в стопке ядра конкретного процесса. Теперь разработчики Ядра представили thread_info и поместили указатель в него к месту, где task_struct находится. И именно поэтому мы должны жить с thread_info.

Можно считать о Средстве выделения Плиты в книге Robert Love Разработку Ядра Linux.

3
04.04.2014, 04:34
1 ответ

Функция resize_inode создает скрытый индексный дескриптор (номер 7, вы можете просмотреть его в debugfs с помощью stat <7> ), чтобы зарезервировать эти блоки, чтобы можно было увеличить GDT. По умолчанию он резервирует достаточно места для увеличения файловой системы в 1024 раза от ее первоначального размера. Вы можете отключить эту функцию или настроить размер с помощью параметров mke2fs во время форматирования.

Что означают блоки данных: 16387–16386 в группе 2?

Это выглядит просто ошибкой в ​​программе, поскольку у вас не может быть отрицательного размера (заканчивается до начала) диапазона.

2
27.01.2020, 21:28

Теги

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