Aquest article o secció no cita les fonts o necessita més referències per a la seva verificabilitat. |
En sistemes tipus Unix, init (abreviatura d'initialization), inicialització, és el primer procés en execució després de la càrrega del kernel. Té un ID de procés PID 1,[1] que s'executa en segon pla fins que el sistema s'apaga. També és responsable d'iniciar i gestionar directament o indirectament tots els altres processos que s'executaran a l'equip fins que s'apaga, supervisant el bon funcionament de tot el sistema.[2] Implicant diversos components com el BIOS/UEFI, el carregador d'arrencada, el nucli i el sistema d'inici.[3][4]
En posar-se en marxa l'init cerca el script d'arrencada, un cop establert el nivell d'execució, runlevel, init executa un determinat grup de processos: al nivell 0 per a apagar el sistema; al nivell 1, mode monousuari (generalment per a tasques de manteniment); al nivell 2, mode multiusuari sense suport de xarxa; al nivell 3, mode multiusuari amb suport de xarxa; al nivell 4, s'usa per a seqüències d'inici personalitzades; al nivell 5, mode multiusuari complet amb entorn gràfic; al nivell 6 per a reiniciar-lo. Si no es determina un nivell d'arrencada, el sistema queda parat.[4]
Tradicionalment, aquesta funcionalitat s'ha implementat de manera diferent en els dos grans sistemes operatius: System V i BSD. En l'Unix original, el procés init arrancava els serveis mitjançant un únic script denominat /etc/rc. Posteriorment, la versió System V de l'Unix d'AT&T va introduir un nou esquema de directoris en /etc/rc.d/ que contenia scripts d'arrencada/aturada de serveis.
Inicialment Linux va adoptar l'esquema de System V, l'anomenat SysV init, encara que algunes distribucions, com Slackware, optaren l'estil BSD i d'altres, com Gentoo, tenen un init personalitzat, OpenRC. Posteriorment l'init més emprat ha esdevingut Systemd, desenvolupat per RedHat, adoptat per distribucions com SUSE, Mageia o Debian i finalment per Ubuntu.
L'entrada en joc de Systemd, entre el 2012 i el 2015, va comportar polèmica dins de la comunitat de Linux. Ubuntu el criticava per ser un init molt invasiu. Posteriorment, l'adoptà, discontinuant Upstart, l'init desenvolupat per Canonical.[5] Però es feia notar que Systemd incrementava la complexitat del sistema, convertint-lo en una espècie de "segon kernel" que violentava la mateixa filosofia de funcionament d'Unix de fer una cosa i fer-la bé. Finalment, convertia Linux en monolític dificultant que el programari adaptat per a systemd es pogués usar sense canvis en altres init i dificultant la portabilitat a altres sistemes.[4][6] En nàixer Devuan va entrar en joc el concepte de “Init Freedom”, com el dret a triar el sistema d'inici equiparant-lo a les quatre llibertats de programari defensades per la Free Software Foundation.[7] El cert és que la major part de distribucions actualment empren Systemd i ha contribuit a estandaritzar Linux.[4][6]