The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Подробности метода сокращения загрузки Asus EeePC до 5 секунд

03.10.2008 09:31

Несколько дней назад в разделе новостей была опубликована ссылка на интервью с Arjan van de Ven, которому удалось сократить время загрузки Linux на Asus Eee PC до 5 секунд, в статье "LPC: Booting Linux in five seconds" рассказано, что именно было для этого предпринято. Загрузка за 5 секунд была продемонстрирована на примере Fedora Linux и построенного на его основе Moblin.

Время было потрачено так: 1 секунда на загрузку ядра и всех необходимых модулей, еще 1 секунда на запуск init-процесса и выполнение в фоне основных системных сервисов, 1 секунда на запуск X-сервера и еще 2 секунды на запуск десктоп-окружения.

Все модули ядра, необходимые для загрузки, были вкомпилированы в ядро, загрузочный RAM-диск initrd не был использован. Для ускорения была использована возможность асинхронной инициализации подсистем AHCI (Advanced Host Controller Interface) (AHCI) и UHCI (Universal Host Controller Interface), без которой несколько секунд при загрузке тратилось на ожидание завершения инициализации. Для кеширования на этапе инициализации загрузки программ и библиотек использовалась технология readahead (загрузка элементов в page cache на начальном этапе инициализации).

После загрузки ядра, выполняются следующие действия: проверка целостности файловой системы, запуск D-Bus, старт X сервера. Одновременно запускается HAL (Hardware Abstraction Layer), который использует для своей инициализации время простоя X-сервера, необходимое для настройки видео-режимов (запуск сервисов организован для минимизации простоя CPU). Уже при запущенном X-сервере стартует udev и программа инициализации сетевых устройств и параметров сетевых соединений. Благодаря тому, что перед запуском сервисов (точнее одновременно, так как данные читаются с диска непрерывно в параллельном потоке, но опережая обращение к ним) используемые в дальнейшем данные были загружены в кэш, при старте не тратится время на обращение к диску (без readahead загрузка занимает 7 секунд, вместо 5).

Результаты работы представлены на сайте moblin.org в рамках проекта Fast-boot, на странице которого пока можно загрузить презентацию и код sreadahead. Отдельно можно отметить японский LiveCD Linux дистрибутив Mach Boot, загружающийся с CD-привода за 6 секунд.

В заключение, можно упомянуть анонс новой технологии "Latitude ON", которая будет использоваться в одной из новых моделей ноутбуков Dell, поставляемой с предустановленным Linux дистрибутивом, разработанным при участии компании MontaVista. Отличительной особенностью нового продукта является возможность работать сразу после поднятия крышки ноутбука, примерно как это реализовано в смартфонах. Подход напоминает аппаратную реализацию режима "suspend to ram", когда данные сессии сохраняются в активной памяти, а процессор и другие подсистемы отключаются.

  1. Главная ссылка к новости (http://lwn.net/Articles/299483...)
  2. OpenNews: Интервью на тему оптимизации производительности и энергопотребления Linux
  3. OpenNews: Отчет о работе, проведенной для сокращения времени загрузки Mandriva 2009.0
  4. Уменьшение времени загрузки Ubuntu Linux
  5. Полный перевод статьи: Загрузка Linux за 5 секунд
Лицензия: CC-BY
Тип: английский / Обобщение
Короткая ссылка: https://opennet.ru/18238-boot
Ключевые слова: boot, optimization, speed, linux, init
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (26) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:58, 03/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    хочу на генту такое =)
     
     
  • 2.10, Qwerty (??), 15:48, 03/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >хочу на генту такое =)

    openrc?

     

  • 1.2, Аноним (2), 13:09, 03/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Было время когда иконками мерялись у кого круче, потом дошли до дизайна, потом поддержка 64 бит, теперь временем загрузки. Вот только вопрос сколько после такой резкой загрузки система будет загружать приложения и необходимые для них модули, если потребуется что-то серьёзней текстового редактора.
     
     
  • 2.4, Ондре (?), 13:15, 03/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Было время когда иконками мерялись у кого круче, потом дошли до дизайна,
    >потом поддержка 64 бит, теперь временем загрузки. Вот только вопрос сколько
    >после такой резкой загрузки система будет загружать приложения и необходимые для
    >них модули, если потребуется что-то серьёзней текстового редактора.

    Тенденция правильная, не пессимизируй.

     
  • 2.5, RedChrom (?), 13:25, 03/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Было время когда иконками мерялись у кого круче, потом дошли до дизайна,
    >потом поддержка 64 бит, теперь временем загрузки. Вот только вопрос сколько
    >после такой резкой загрузки система будет загружать приложения и необходимые для
    >них модули, если потребуется что-то серьёзней текстового редактора.

    Ты не понял логику. Readahead загружает в кэш либы необходимые как минимум для dm и de, в случае с гномом, gtk приложение после такого будут грузиться гораздо быстрее. Тормоза же огнелиса при запуске связаны с его кэшем и sqlite базой.

     
  • 2.12, User294 (??), 20:18, 03/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Было время когда иконками мерялись у кого круче, потом дошли до дизайна,

    Пользователи любят красивые программы а не унылое дерьмо и они в общем то правы.Во всяком случае когда программа красивая и сделана для людей и качественно это приятно.А чего приятного в использовании программ сделаных по принципу "на отвали" и "лишь бы поскорее сделать эту срань и забыть про нее как про страшный сон!".

    >потом поддержка 64 бит,

    Нет, блин, будем всю жизнь втискиваться в 4 гига (что там насчет 640 кил хватит всем?) или заниматься костылями типа PAE.В /dev/null таких аргументаторов и их аргументы.

    > теперь временем загрузки.

    Так ведь удобно же.Включил и - бац - девайс готов к работе.Для мобильных девайсов особенно актуально.Благо батарейка может и сесть например.Ждать пока оно после этого события 5 минут будет сниматься с ручника когда доберемся до зарядника\адаптера - малость напряжно, знаете ли.

    >Вот только вопрос сколько после такой резкой загрузки система будет
    >загружать приложения и необходимые для них модули,
    >если потребуется что-то серьёзней текстового редактора.

    Думаю столько же сколько и обычно примерно.Плюс\минус лапоть.Кроме того на мобильных девайсах чаще всего и не требуется как раз запускать увесистых монстров.Сюрприз! :)

    P.S. Кто там загрузку линукса за 5 секунд хотел в новостях? :)))

     
     
  • 3.18, fix (??), 21:24, 03/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >когда программа красивая и сделана для людей и качественно это приятно

    бесспорно

    >Нет, блин, будем всю жизнь втискиваться в 4 гига (что там насчет
    >640 кил хватит всем?) или заниматься костылями типа PAE.В /dev/null таких
    >аргументаторов и их аргументы.

    за что же меня девнулить, если больше 300 метров не используется?

    >P.S. Кто там загрузку линукса за 5 секунд хотел в новостях? :)))

    иопт :((
    Mdv PP 2008.1 - 70 сек (kde3)

     
     
  • 4.19, User294 (??), 22:11, 03/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >за что же меня девнулить, если больше 300 метров не используется?

    Строго говоря оперативки много не бывает.Даже если ее не поюзаете вы - ее прекрасно поюзает дисковый кэш.Когда в него iso-sized файло проваливается моментально и без натужного хрустения диском - работать с системой намного приятнее.А потом оттуда файло уже неторопливо сольется на диск.При этом существенно меньше клинит программы а система отзывчивее.Да и своп в штатной ситуации не используется.

    >Mdv PP 2008.1 - 70 сек (kde3)

    Ну так старенький дистр.И диск не флешка поди.Флеш-диски вообще позволяют в этом плане много чего достичь.Они и читаются быстро и фрагментации особо не боятся (время перехода к разным участкам диска по сравнению с HDD близко к нулю).

    P.S. а все-равно мой первый комп грузящийся из RAM-диска при горячем ребуте все это не побивает.У того почти отсутствовал BIOS и self-tests а горячая перезагрузка юзала систему из RAM-диска (он при горячем ребуте не слетал).Итого за 2 секунды разновидность CP/M начинала выполнять стартовые скрипты.За это время у современного компа bios только-только прочухаться успеет, и то не факт.

     
  • 3.24, Аноним (2), 13:40, 06/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Пользователи любят красивые программы а не унылое дерьмо и они в общем то правы.

    Красивые ? При виде кастомных дизайнов на отдельных программах у меня всегда возникает желание убить авторов. Есть стандартные средства интерфейса, ненужны мне ваши убого нарисованные кнопки !!!

     

  • 1.3, Ондре (?), 13:13, 03/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну вот, через один-два релиза многие Linux-дитрибутивы станут быстро грузиться по этой технологии, к этому времени появятся и долгоработающие ноуты с OLED-экранами. Начнётся кайфовая жизнь.
     
     
  • 2.8, Минимус (?), 13:59, 03/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    OLED+LED+SSD+аккамуляторы, заряжающиеся за 15 минут! Остаётся пока только мечтать... :'(
     
  • 2.13, User294 (??), 20:20, 03/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Начнётся кайфовая жизнь.

    Хрен тебе, OLED долго не живет и быстро деградирует по яркости. Зачем тебе это в экране ноута?При регулярном юзании экран убьется в хлам за годик-другой.Совсем конечно не умрет но станет тусклый и невзрачный - OLEDы довольно быстро деградируют по яркости свечения.LCD намного долговечнее.Вот какой-нить гибрид был бы хорош, но где ж оно?

     
     
  • 3.23, IIIHyP (?), 08:53, 06/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    а откуда такая информация, что OLED диградирует? ТВ от самсунг живет 8 лет, в теории можно поднять до 30 лет, тебе мало?
     
  • 3.26, Nichls (??), 23:47, 06/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >>Начнётся кайфовая жизнь.
    >
    >Хрен тебе, OLED долго не живет и быстро деградирует по яркости. Зачем
    >тебе это в экране ноута?При регулярном юзании экран убьется в хлам
    >за годик-другой.

    За годик-другой ...
    Производитель позаботится, чтобы "железка" у тебя не на много дольше гарантийного срока прожила.

    Это 10-15 лет назад железо на века делали (до сих про работает и прекрасно справляется со своими обязанностями). Сейчас же компании надо зарабатывать деньги а не имижд (он уже как равило у ТОПов есть). А кому нужен новый ноут/монитор/принтер/и т.д. который не будет ломаться? Как продавать новое "железо"? Очень просто. Сделать так, чтобы дольше установленной гарантии "железка" не жила.

    С другой стороны при такой скорости как прогресса, так и падения цены на оборудование, не имеет сымсл сидеть на старом железе. Только вот вопрос резерного копирования втает сразу остро. Информация всегда дороже своего носителя.

    В общем, деградирует по яркости, да и фиг с ним. Пойду и новый куплю. :-)

     

  • 1.7, Аноним (2), 13:55, 03/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    интересна скорость загрузке на eee1000, у которого врямя автономной работы до 8 часиков
    вот это системка получается-просто золото..
    будущее за ними.
     
  • 1.9, pavlinux (ok), 14:24, 03/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ядро, судя по видео, инициализируется так:

    root=/dev/sda2 ro quiet i8042.noloop=1 selinux=0 libata_disable_ports=1 lpj=123456789 initcall_debug

    i8042.noloop=1 - это понятно, но не правильно :), правильно - просто i8042.noloop  
    libata.disable_ports=1 - судить можно только по названию, в vanila этого нет;
    selinux=0 - автор урезает ядро, а SELinux оставляет (может он не знает, что это такое :));
    lpj=123456789 - ясно дело, стандартно;

    Подозрительна строка в GRUB initcall_debug:

    [KNL] Trace initcalls as they are executed.  
          Useful for working out where the kernel
          is dying during  startup.

    Вряд ли трассировка уменьшает время загрузки!?

     
     
  • 2.11, Сыр Российский (?), 17:39, 03/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Вряд ли трассировка уменьшает время загрузки!?

    Осталось из отладочной версии?

     
  • 2.14, User294 (??), 20:22, 03/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Ядро, судя по видео, инициализируется так:

    Сейчас Павлин твикнет ядро выкинув trace и у него будет грузиться вообще за 2 секунды :)

     
     
  • 3.16, pavlinux (ok), 21:10, 03/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Ну ядро-то, у меня явно меньше секунды грузиться,
    только вот разницы между 2.6.26.5 и тамошним linux-2.6.27-rc6-fastboot.git не заметил. :)

     

  • 1.15, nagos (?), 20:28, 03/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это можно сказать прогресс.
    Помнится раньше нормой считалось 1 минута, а потом "крутым" 30 сек до ввода пароля. я тогда на LFS эксперементировал, и из 30 сделал 17.
    А сейчас 5 сек, даже страшно :)
     
     
  • 2.17, pavlinux (ok), 21:12, 03/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Скоро будет,... только нажал на Power и ёпс, *** У Вас новая почта ***, "Аднаклассники.ру Вам впиндюрили аценку".

     
     
  • 3.20, User294 (ok), 02:35, 04/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Скоро будет,... только нажал на Power и ёпс, *** У Вас новая
    >почта ***, "Аднаклассники.ру Вам впиндюрили аценку".

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

     
     
  • 4.21, pavlinux (ok), 03:35, 04/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    :)
     
  • 4.25, Аноним (2), 14:06, 06/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    А потом сам запостил коммент, закрыл браузер и вырубился. А ты ещё до кнопки не дотянулся :)
     

  • 1.22, pavlinux (ok), 13:39, 04/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Блин, кто нить этот sreadahead прикрутил?
     
     
  • 2.27, anonymous (??), 13:54, 10/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Пользуйся Fedora, там это давно идет как штатная фича. На глазок - быстрее грузится, но разница не такая большая чтоб об этом сильно переживать.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру