воскресенье, 24 мая 2009 г.

Несколько идей...

Попробовал использовать preload. Но никакого прироста производительности не заметил, скорее наоборот. Но подробно не вникал в этот вопрос. Кому интересно, поставьте в синаптике пакет "preload". Он должен влиять не только на скорость загрузки ОС, но и на вообще скорость работы всех приложений. Если будет хоть какой-нибудь прогресс, дайте знать, попробую вникнуть в ее работу лучше.
Еще есть идея полностью отказаться от использования Initial Ram-Disk (initrd). Тут есть конечно некоторые недостатки, но для галочки просто необходимо попробовать.
Так-же, после изучения кучи систем стартовых скриптов и программ типа /sbin/init, решил написать свою программу, более простую, несовместимую со всеми остальными методами загрузки, но зато быструю и удобную. Совместимость только лишь тормозит прогресс.
Можно еще сделать некое подобие initrd. Сейчас initrd - это костыль в системе. Но что если самые важные части системы, которые не обязательно изменять каждый раз, запаковать в образ squashfs или по подобной технологии. Тут не нужно чрутиться, долго искать положение файлов на файловой системе, можно вообще основные вещи загрузить целиком в память и так далее. Конечно, сложно создавать такой образ, особенно сложно будет оновлять компоненты этой базовой системы.
В общем, пишите свои мысли в комментариях, очень интересно узнать, что вы об этом думаете.

2 комментария:

  1. Вообще, в описании пакета указано, что он не ускорит загрузку системы ;)

    ОтветитьУдалить
  2. > Еще есть идея полностью отказаться от использования Initial Ram-Disk (initrd).

    Да, без него система грузится секунд на 20-30 быстрее.

    > Тут есть конечно некоторые недостатки

    Недостаток разве что только в том, что при сборке ядра нужно включить не-модулем те компоненты, которые необходимы, чтобы ядро смогло "дотянуться" до корневого раздела.

    > после изучения кучи систем стартовых скриптов и программ типа /sbin/init, решил написать свою программу, более простую, несовместимую со всеми остальными методами загрузки, но зато быструю и удобную.

    Зачем городить костыли? К тому же, многие прогрессивные дистрибутивы давно уже вместо init используют upstart, распараллеливающий запуск процессов и демонов, тем самым существенно сокращая время загрузки.

    > Можно еще сделать некое подобие initrd.

    Опять таки, зачем городить костыли, если можно научить ядро и так прекрасно загружаться без initrd и тому подобных механизмов.

    ОтветитьУдалить