Летом прошлого года компания MontaVista продемонстрировала (http://www.opennet.me/opennews/art.shtml?num=22597) загружаемый менее чем за 1 секунду вариант своего Linux дистрибутива для встраиваемых устройств. На днях разработчики MontaVista дали интервью (http://www.edn.com/article/CA6720353.html) изданию EDN, в котором рассказали о дальнейшем продвижении в оптимизации процесса загрузки. Сокращение времени от включения устройства до готовности к работе пользовательского приложения особенно востребовано для нетбуков, мобильных устройств и такого оборудования, как информационные табло.
Современные процессоры способны выполнять миллиарды операций в секунду, основные задержки в процессе загрузки главным образом связаны с инициализацией оборудования и операциями ввода/вывода. Для того чтобы добиться уменьшения времени загрузки до 1 секунды, в MontaVista работа была разделена на три стадии:
- Оптимизация работы загрузчика и сокращение объема загружаемого кода. Так как основная...URL: http://www.edn.com/article/CA6720353.html
Новость: http://www.opennet.me/opennews/art.shtml?num=25705
ну за'hard'кодить всё, это понятно, но вот эти неведомые оптимизации инициализации они в busybox отослали или нет, интересно ^_^
и что там куда конкретно перемещается тоже...фраза типа: "Для запуска первичных приложений ... минуя стадию связывания и запуска." тоже требует пояснения:
со связыванием они имеют ввиду, что догадались статично собрать ?
а что означает "для запуска оно минует стадию запуска" :) ?а вообще, молодцы проприетарщики, ага. постарались...
> но вот эти неведомые оптимизации
> и что там куда конкретно перемещается
> тоже требует пояснения:
> а что означаетPrelink, Preload, COW, XIP,...
----Ну из интересного, раскололись только про DMA-агенты, остальное баяны вековые.
Интересно тогда узнать, почему не берут на вооружение эти баяны ?
Почему же не берут? Берут. Например, preload:"Разработчики ищут пути уменьшения времени загрузки OpenOffice под Linux" -- http://www.opennet.me/opennews/art.shtml?num=7298
Касательно prelink'а, небольшая цитата ( http://citkit.ru/articles/168 ):
"Конечно, без некоторых подводных камней и тут не обойтись. Я уже говорил, что для достижения этого счастья, очень возможно, потребуется перекомпилировать ряд программ (причем из числа самых времяемких). Далее, при обновлении (или просто пересборке) любой из библиотек, с которыми осуществлялось предварительное связывание каких-либо приложений, последние должны быть непременно также перекомпилированы..."Т.ч., одно дело смарт, к примеру, где Вы _целиком_готовую_прошивку_ обновляете, и другое дело выборочное обновление пакетов на десктопе...
Выводы можете сделать сами.
Интересно было бы узнать на счет безопасности. Если в страницу кэша памяти ядра впихнуть, ну предположим вирус, как быть тогда с безопасностью и, в случае МонтаВисты, РТ системой?
>Интересно было бы узнать на счет безопасности. Если в страницу кэша памяти
>ядра впихнуть, ну предположим вирус, как быть тогда с безопасностью и,
>в случае МонтаВисты, РТ системой?А расскажите, как туда впихнуть вирус)
Производители антивирусов под Linux уже работают над этим...
>Производители антивирусов под Linux уже работают над этим...Над чем?
Над антивирусом для жутко специализированной и кастомизированной системы?
>>Производители антивирусов под Linux уже работают над этим...
>Над чем?
>Над антивирусом для жутко специализированной и кастомизированной системы?Думаю, тут предполагалось, что производители антивирусов создают и вирусы для увеличения продаж своих продуктов. Может и такая урезанная система кого-нибудь заинтересует :)
ясно какие у них "методы" ......ненада мне такой загрузки за 1 секунду :-)
(уж лучше 10 секунд подождать,,, но чтобы всё работало со всеми нужными проверками, и уровнями абстракции (а не НАПРЯМУЮ <кудато> там <чтото> в память)...)
ну почему же? ежели у меня на железке меняются только железки, подключенные через usb интерфейс, то зачем мне нужен балласт?кстати, что там с dma агентами, как из заточить не под флешки, а под sata?
хибернейт рулит
у меня 3 гига на ноуте закидываются в оперативку за 4 сек
3*1024/90=34 сек даже если учесть что все содержимое ужать в 3 раз получается > 10 Сек
и это для самого быстрого из ноутбучных винтов , или у тебя SSD ? Но даже с ним должно быть гораздо медленнее. Скорее всего у тебя из 3 гигов RAM занято от силы пол гига вот так быстро и получается.
винт скорпио блю 500Гб-не самая медленная модель. я не думаю что перед спячкой оперативка сортируется по заполненности/незаполненности. скорей всего кидается на диск как иесть
>хибернейт рулит
>у меня 3 гига на ноуте закидываются в оперативку за 4 секА вы hibernate и suspend-to-ram не путаете? Честно говоря, очень похоже на то...
Пожалуй, я погорячился -- при использованных 845 метрах оперативы загрузился (примерно) секунд за 4-5. При этом половину страниц оставил в свопе:До хиберната:
$ free -m
total used free shared buffers cached
Mem: 3037 2774 262 0 284 1645
-/+ buffers/cache: 845 2192
Swap: 3341 17 3323после:
$ free -m
total used free shared buffers cached
Mem: 3037 580 2456 0 1 102
-/+ buffers/cache: 477 2559
Swap: 3341 452 2889Т.ч. грузит он, действительно, далеко не все...
>>хибернейт рулит
>>у меня 3 гига на ноуте закидываются в оперативку за 4 сек
>
>А вы hibernate и suspend-to-ram не путаете? Честно говоря, очень похоже на
>то...отнють. под спячкой я имею в виду закидывание содержимого оперативки на винт
Начнем с того, что не 3 гига, а гораздо меньше. Линукс сохраняет не всю память на диск, а только используемые страницы памяти. А когда восстанавливает, то ничто не мешает ему загрузить только критически важные участки (например, список используемых страниц и данные процессов), а остальное оставить в свопе для подгрузки по мере необходимости.