Upstart: Ubuntus neues Init-System für Linux
Entwickler der Ubuntu-Distribution haben Details zu Upstart, einem potenziellen Nachfolger des bisherigen Init-Systems von Linux, veröffentlicht. Upstart reagiert auf Events und löst Abhängigkeiten unter den einzelnen Services somit dynamisch auf. Upstart soll zudem den klassischen Cron-Daemon überflüssig machen.
Init ist der erste Prozess, der vom Linux-Kernel angestoßen wird und der daraufhin das Initialisieren des Systems durch das Starten weiterer Prozesse übernimmt. Das aktuell von den diversen Linux-Distributionen verwendet Init-System „sysvinit“ hat seine Ursprünge noch im UNIX System V. Es führt diverse Scripte in einer festgelegten Reihenfolge aus, bis letztendlich der Login-Prompt erscheint.
Diese starre Vorgehensweise hat heutzutage nicht mehr viel mit der Realität zu tun, denn USB-Massenspeicher können beispielsweise zu beliebigen Zeitpunkten (de-)aktiviert werden. Zudem wäre es wünschenswert, einige Daemons (Hintergrundprozesse) bei Akkubetrieb nicht zu starten – wechselt man nach dem Booten in den Netzbetrieb sollte dies jedoch automatisch nachgeholt werden. Zwar habe man viele dieser Probleme des bestehenden Init-Systems durch Hacks umgehen können, Konsequenz seien jedoch immer häufiger auftretende Race Conditions.
Durch das Reagieren auf Events soll Upstart wesentlich flexibler sein als „sysvinit“. Scott James Remnant vergleicht in der Quelle Upstart auch mit anderen Alternativen wie „launchd“ (Init-System von Mac OS X) und InitNG. Keines sei jedoch flexibel genug für die eigenen Ansprüche. Darüber hinaus soll Upstart auch den in jeder Linux-Installation vorhandenen Cron-Daemon zum periodischen Starten von Prozessen zu bestimmten Uhrzeiten ersetzen.
Gewillte Ubuntu-Benutzer können eine in Teilen funktionsfähige Version von Upstart bereits testen. Um den Übergang flexibel zu gestalten, kommt Upstart mit den existierenden Init-Scripten zurecht und soll fester Bestandteil von Ubuntu 6.10 „Edgy Eft“ sein. In dem auf Edgy Eft folgenden Release will man soweit sein, dass Upstart auch die Aufgaben des Cron-Daemons sowie „inetd“ (Starten eines Prozesses bei eingehender Netzwerkverbindung) übernimmt.