> В этом и проблема. Как например произвести необходимые действия до монтирования этих fs?
> У меня например есть модуль звуковой платы (emu1212m) который очень долго грузится - там fpga программируется при каждой загрузке.
> Я хочу чтобы первым действием инита была его загрузка в отдельном процессе.А как связана загрузка модуля с монтированием /proc, /sys и /tmp. Данные монтирования -- это всего-лишь три системных вызова, и происходят мгновенно. А далее, можно и ваш модуль параллельно грузить.
> Вы считаете этот подход правильным? Почему под gnu/linux можно обойтись минимумом демонов и при этом будут и сенсоры и куча другой периферии?
Насчёт правильности не уверен. Здесь архитектуру нужно обсуждать более детально. Модульность часто позволяет экономить память, когда какой-нибудь ненужный демон может быть остановлен, если соответствующий функционал не используется, вместо использования монолитного демона, который будет в памяти висеть всегда.
При разработке мобильных решений применяются другие критерии, нежели при разработке десктопных дистрибутивов. На первое место вылезают потребление CPU, памяти и питания. К тому же, иногда бывают решения, навязанные производителем данного конкретного SoC'а -- вот, есть предоставленные сервисные демоны, которые делают то-то, а других нету.
А, вообще, тут нужно более конкретно обсуждать. Брать какую-то подсисистему на десктопе и в мобильнике, и сравнивать.
А что касается номера последнего PID'а, то это некорректное сравнение. Нужно, как минимум, брать две системы с одинаковым набором сервисов -- одну на SysV init'е (или на чём пожелаете), а вторую на systemd. Ну, или хотя бы два десктопных дистрибутива.
В openSUSE 1107 после загрузки. Замечу, что одних ядерных потоков сейчас запущено 97. Так что это мало о чём говорит.
В случае с systemd процессов будет запущено однозначно меньше, чем в случае с init'ом, так как не надо запускать bash на каждый скрипт, и не надо запускать всякие ls, grep, sed, find, wc, awk и прочие утилиты, а можно просто задавать опции в unit-файле.