Разработчики MontaVista рассказали о методах сокращения загрузки Linux до 1 сек

Материал из Викиновостей, свободного источника новостей

7 марта 2010 года

Летом прошлого года компания MontaVista продемонстрировала загружаемый менее чем за 1 секунду вариант своего Linux дистрибутива для встраиваемых устройств. На днях разработчики MontaVista дали интервью(недоступная ссылка) изданию EDN, в котором рассказали о дальнейшем продвижении в оптимизации процесса загрузки. Сокращение времени от включения устройства до готовности к работе пользовательского приложения особенно востребовано для нетбуков, мобильных устройств и такого оборудования, как информационные табло.

Современные процессоры способны выполнять миллиарды операций в секунду, основные задержки в процессе загрузки главным образом связаны с инициализацией оборудования и операциями ввода/вывода. Для того чтобы добиться уменьшения времени загрузки до 1 секунды, в MontaVista работа была разделена на три стадии:

  • Оптимизация работы загрузчика и сокращение объема загружаемого кода. Так как основная цель разработки - мобильные устройства, был принят тезис, что аппаратное окружение между перезагрузками не изменяется, что позволило заведомо исключить из ядра ненужные драйверы и проверки. В итоге, время загрузки было сокращено до 7 секунд.
  • Оптимизация процесса инициализации. С учетом особенностей текущего аппаратного обеспечения, процесс инициализации был разделен на несколько параллельных ветвей, для одновременного выполнения задач в которых в процессе загрузки активно используется DMA (direct-memory-access). DMA-агенты перемещают различные загрузочные задачи между Flash-памятью и памятью CPU, что используется для фонового выполнения операций с минимальной нагрузкой на CPU, кэша в котором вполне хватает для выполнения подобных вещей в параллельном режиме. Использование DMA позволило сократить время загрузки с 7 до 4 секунд.
  • Оптимизация запуска пользовательских приложений. Для запуска первичных приложений используется RAM-диск. Приложения загружаются прямо в кэш страниц памяти ядра, минуя стадию связывания и запуска. Дополнительно, при взаимодействии с разработчиками прикладных программ, проводится разделение приложения на логические части. Вместо загрузки всей программы, осуществляется загрузка лишь самого необходимого для начала работы кода. В итоге, время загрузки удалось свести к примерно 1 секунде.

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Разработчики MontaVista рассказали о методах сокращения загрузки Linux до 1 сек», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.