Init

Op Unix-gebaseerde besturingssystemen is init (afkorting van initialisatie) het eerste proces dat gestart wordt tijdens de opstartprocedure. Init is een daemon die blijft draaien tot het systeem afgesloten wordt. Init regelt het opstarten van processen in de juiste volgorde, zodat er een werkend, opgestart computersysteem verkregen wordt. Dit wordt gerealiseerd door scripts op te starten of gebruik te maken van services. Shellscripts en services zijn bestanden met instructies welk proces er moet gestart worden. In het geval van services wordt er gespecifieerd wat vereist is om het proces te kunnen opstarten (bijvoorbeeld een netwerkverbinding).

Init is de directe of indirecte ouder van alle andere processen die gestart worden. Ook worden processen die niet langer een rechtstreekse ouder hebben ("zombieprocessen"), automatisch onder init geplaatst in de boomstructuur van processen. Init wordt gestart door de kernel met een vaste bestandsnaam. Als het initproces niet gestart kan worden door de kernel, dan zal er een kernel panic (crash) optreden. Init krijgt vaak de procesidentifier (PID) 1.

Traditionele initsystemen

In Unix-systemen zoals System III en System V wijkt het design en de functionaliteit af van init in Research Unix en BSD-afgeleidden. De traditionele initsystemen voor Linux zijn enigszins compatibel met System V. Sommige distributies zoals Slackware gebruiken BSD-achtige opstartscripts en anderen zoals Gentoo Linux gebruiken dan weer hun eigen versies (OpenRC voor Gentoo).

Nood aan alternatieve init-implementaties

Er zijn verschillende alternatieve init-implementaties ontwikkeld om designproblemen in standaardversies op te lossen. Enkele designproblemen:

Om deze nadelen op te lossen, werden er alternatieve initsystemen ontwikkeld. Voorbeelden van alternatieve initsystemen zijn launchd (Apple voor OS X), de Service Management Facility (Sun voor Solaris), systemd (voor Linux) en Upstart (Canonical voor Ubuntu). Anno 2016 wordt systemd door de meeste Linuxdistributies gebruikt, hoewel het controversieel blijft (zie het artikel van systemd).

Vervangingen voor init