<br><br>---------- Forwarded message ----------<br><span class="gmail_quote">From: <b class="gmail_sendername">Dmitrij Maslennikov</b> &lt;<a href="mailto:master@armory.ru">master@armory.ru</a>&gt;<br>Date: 15.01.2008 14:56
<br>Subject: Re: Ускорение загрузки AltLinux&#39;а<br>To: Vitaly Lipatov &lt;<a href="mailto:lav@etersoft.ru">lav@etersoft.ru</a>&gt;<br><br></span><div><span class="q"><blockquote class="gmail_quote" style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; margin-left: 0.80ex; border-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; padding-left: 1ex">
  Это связано с тем, что там обязательно свои скрипты для запуска<br>служб?</blockquote></span><div><br>Там&nbsp;даже&nbsp;не&nbsp;скрипты,&nbsp;а&nbsp;некоторые&nbsp;файлы&nbsp;настройки.<br>Вот&nbsp;один&nbsp;из&nbsp;примеров<br><br>daemon daemon/httpd {<br>need = system/bootmisc virtual/net;  
<br>use = daemon/sshd daemon/mysql daemon/postgres system/mountfs;<br>respawn;<br>pid_file = /var/run/httpd.pid;<br>forks;<br>exec daemon = @/usr/sbin/httpd@;<br>}<br></div><span class="q"><br><br><blockquote class="gmail_quote" style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; margin-left: 0.80ex; border-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; padding-left: 1ex">
  &gt;<br>&gt; gentoo-way<br>&gt; У них вполне симпатичная система инициализации (самая логичная<br>&gt; из все, что я видел). Плавный переезд вполне возможен. Но<br>А что именно хорошего? Плавный - это значит поддерживаются старые  
<br>скрипт?</blockquote></span><div><br>Плавный&nbsp;--&nbsp;это&nbsp;означает,&nbsp;что&nbsp;никто&nbsp;ничего&nbsp;не&nbsp;должен&nbsp;заметить,&nbsp;кроме&nbsp;того,&nbsp;что&nbsp;грузиться&nbsp;быстрее&nbsp;стало.&nbsp;</div><span class="q"><br><blockquote class="gmail_quote" style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; margin-left: 0.80ex; border-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; padding-left: 1ex">
  Ну вряд ли. Конечно эта связка может быть медленнее в десятки<br>раз, чем С++, но все задержки всё-же на вводе-выводе, а не на<br>загрузке процессора.</blockquote></span><div><br>Дело&nbsp;в&nbsp;том,&nbsp;что&nbsp;init&nbsp;скрипты&nbsp;на&nbsp;bash&nbsp;запускают&nbsp;большое&nbsp;количество&nbsp;разных&nbsp;бинарников,&nbsp;которые&nbsp;подгружают&nbsp;большое&nbsp;количество&nbsp;скриптов.&nbsp;Винт&nbsp;не&nbsp;справляется.&nbsp;Один&nbsp;бинарник&nbsp;и&nbsp;минимум&nbsp;скриптов&nbsp;ИМХО&nbsp;быстрее.&nbsp;  
</div><span class="q"><br><blockquote class="gmail_quote" style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; margin-left: 0.80ex; border-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; padding-left: 1ex">
  Основное правило - всё же не изобретать велосипед по возможности.<br>Наверное если выбран gentoo-way (и хорошо раскритикован init-ng),<br>то стоит его и попробовать (возможно что-то есть и в rpm-based<br>системах?)<br>Написание своей системы (на C++, как понимаю), будет обосновано,  
<br>если будет доказано, и если будет прототип. Вообще испокон веков<br>такие вещи пишут на шелле таки...</blockquote></span><div><br>Вообще&nbsp;испокон&nbsp;веков&nbsp;линукс&nbsp;медленно&nbsp;грузится.&nbsp;На&nbsp;шелле&nbsp;очень&nbsp;сложно&nbsp;писать&nbsp;&nbsp;многопоточные засинхронизированные программы. Обычно они блокируют друг друга создавая какие-то файлы. Все это к тому же не читаемо и громоздко.  
</div><span class="q"><br><blockquote class="gmail_quote" style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; margin-left: 0.80ex; border-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; padding-left: 1ex">
  Кстати, пару лет назад icesik@ вбрасывал что-то в Дедал для<br>облегчения жизни init-ng...<br><a href="http://lists.altlinux.org/pipermail/devel/2006-February/041387.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 http://lists.altlinux.org/pipermail/devel/2006-February/041387.html </a><br><br>Вот кстати древний, но интересный документ на тему:<br><a href="http://samba.org/~ab/initscripts-replacement-proposal.txt" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 http://samba.org/~ab/initscripts-replacement-proposal.txt</a></blockquote></span><div><br>Ознакомлюсь&nbsp; </div><span class="q"><br><blockquote class="gmail_quote" style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; margin-left: 0.80ex; border-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; padding-left: 1ex">
  В общем хотелось бы обоснованного выбора - возможно ли<br>опубликовать за и против для каждого варианта?<br><br>Я сделал копию в рассылку, предлагаю обсуждать в ней.<br><br>Так же можно записывать выводы в баги по каждому заданию:  
<br><a href="http://bugs.etersoft.ru/show_bug.cgi?id=1054" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://bugs.etersoft.ru/show_bug.cgi?id=1054</a><br><br></blockquote></span></div><br>Рассылка 
<a href="mailto:devel@lists.etersoft.ru" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> devel@lists.etersoft.ru</a>?<br><br>Теперь о новых результатах.<br><br>Написал небольшую программу, которая позволила мне получить график загрузки системы (во вложении).
<br>На графике все значения указаны в секундах. Получить такой же у себя можно&nbsp;сделав&nbsp;следующее: <br><ol><li> Скомпилировать С++ программу из вложения $ g++ -O2&nbsp;rinit.cpp&nbsp;-o&nbsp;rinit&nbsp;-lboost_filesystem <br></li><li>Закинуть ее в /bin/rinit
</li><li>У всех скриптов запускающихся при старте системы поменять /bin/sh или /bin/bash на /bin/rinit <br></li><li>Перезагружаемся.</li><li>Скрипт analise.py строит нам график. (требует PyQT4)</li></ol>Недостаток этой системы в том, что не учитывается время, прошедшее от запуска первого приложения (/bin/init) до запуска первого скрипта из /etc/init.d. Оно по моим наблюдения чуть больше, чем время запуска остальных скриптов (секунд 30). Тем не менее сразу видно, что очень долго происходит запуск hotplug. Я так полагаю, что его вполне можно запускать после dm, что позволит раньше увидеть приглашение ко входу в систему. 
<br><br>Еще много времени занимает процесс обновления chroot-среды, вопрос: а оно надо на десктопе? Сегодня углублюсь в сами скрипты  и  найду способ замерить время от запуска /bin/init до запуска первого скрипта.<br><br>
 P. S. Насчет init-ng и gentoo скриптов и прочего, есть еще соображения, но сейчас не могу сформулировать.<br><br clear="all">