Методы сокращения времени инициализации загрузчика |
Предыдущая Содержание Следующая |
▪POST: Power-On Self Test (самотестирование при включении питания) может выполняться только во время выполнения холодной загрузки; во время теплого старта его можно пропустить и, следовательно, это может привести к уменьшению времени загрузки. ▪Обнаружение, распаковка и загрузка памяти, содержащей ядро: этот шаг может быть одним из наиболее длительных операций, так как это может занять от 500 мс до 1 с в зависимости от размера ядра. Чем больше размер ядра, тем будет требоваться больше времени на распаковку и копирование его в память. Если ядро является частью файловой системы Linux, хранящийся во флэш-памяти, то поиск ядра и анализ заголовков файлов (например, заголовков ELF) может занять много времени. Хранение образа ядра в разделе без файловой системы поможет обойти это. Чтобы избежать распаковку, файл может быть сохранён в несжатом формате, но это было бы за счёт дорогого пространства флэш-памяти. Чтобы избежать копирования ядра в память, ядро может быть подготовлено для XIP. eXecute In place (выполнение на месте) является методом, посредством которого ядро выполняется непосредственно из flash-памяти. XIP подробно обсуждается в Главе 10. Помимо сокращения времени запуска, другое достоинство XIP в том, что это бережёт память, потому что текстовый раздел ядра не копируется в память. Однако, недостатками использования XIP являются: ▪Но если XIP является слишком дорогой операцией, то крайне важно, чтобы образ ядра был бы как можно меньше, чтобы избежать увеличения времени копирования. Чтобы сократить время копирования, можно использовать некоторые дополнительные приемы, такие как использование DMA для передачи образа с флэш-памяти.
|
Предыдущая Содержание Следующая |