Upstart é o substituto dos tradicionais scripts de inicialização do System-V no estilo init.d. No entanto, o upstart é mais do que apenas uma coleção de scripts de inicialização. Permite de fato um planejamento minucioso e controle do início de diferentes daemons. Por exemplo, para automatizar as unidades de rede, você precisa primeiro de uma rede em funcionamento. Enquanto antes do arranque, estas situações conduziam frequentemente a condições de corrida, na declaração inicial, o pré-requisito de uma rede em execução pode ser incluído.
O Upstart é, na verdade, baseado em um sistema de monitoramento de eventos. Quando uma determinada condição de hardware ocorre ou outro processo envia um evento, um ou mais dos scripts iniciantes podem ser acionados. Isso permite, por exemplo, que determinadas ações sejam acionadas automaticamente quando um stick USB é inserido ou removido.
Acredito que todas as principais distribuições do Linux estão migrando o init do System-V para o upstart passo-a-passo. Na verdade, os iniciantes também podem acionar o início dos scripts tradicionais de inicialização, portanto, a transição não precisa ocorrer de uma só vez.