4.9.1 Оптимизация размера ядра

Предыдущая  Содержание  Следующая V*D*V

Основным способом уменьшения размера ядра является удаление из ядра нежелательного кода. Помимо этого, для создания образов ядра меньшего размера может быть использована методика оптимизации с помощью компилятора (с помощью опции -Os). (Это справедливо также и для приложений.) Ядро версии 2.6 имеет отдельную опцию сборки для встраиваемых систем; для создания более оптимизированного ядра используется опция CONFIG_EMBEDDED. Кроме того, во время сборки могут быть отключены некоторые субмодули ядра, такие как подсистема подкачки. Независимо от версии ядра, крайне важно убедиться, что во время настройки ядра при выборе различных подсистем включены только необходимые параметры, чтобы не раздувать размер ядра без необходимости.

 

Ядро версии 2.6 имеет проект с открытым исходным кодом, который нацелен на то, чтобы запускать его на встраиваемых системах. Это "Linux tiny kernel project, проект крошечного ядра Linux", начатый Маттом Маккалом. Целью данного проекта является поддержание дерева исходников ядра, которое включает в себя патчи, направленные на создание ядра меньшего размера и оптимальное использование ядром памяти. Некоторые из интересных патчей, направленных на уменьшение размера ядра:

 

Опция для удаления printk и всех строк, передаваемых в printk

Проверка компиляции, которая сообщает о слишком большом использовании встроенных функций, потому что они раздувают размер кода

 

Дерево очень маленького ядра можно найти на www.selenic.com.

 

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

 

Предыдущая  Содержание  Следующая