init
În sisteme de operare pentru calculator bazate pe Unix, init (pe scurt pentru inițializare) este primul proces pornit în timpul încărcării calculatorului. init este frecvent denumit SysV init. Funcționează ca un daemon și, de obicei, i se atribuie PID 1. Este responsabil cu crearea primelor procese care pot, la rândul lor, să creeze alte procese. Are și un alt rol, acela de gestionare a opririi finale a sistemului și de a adopta procesele rămase orfane (cele al căror proces părinte s-a terminat). Pentru păstrarea structurii arborescente, un proces rămas orfan va avea ca nou părinte procesul init. Comenzile init 0 și init 6, sunt echivalente cu comenzile de oprire (shutdown) și repornire (restart).
Unul dintre principalele dezavantaje ale init este că începe sarcinile în serie, așteptând ca fiecare să termine de încărcare înainte de a trece la următoarea. Acest lucru poate duce la întârzieri mari în timpul pornirii.
Stil SysV
modificareCând comparată cu predecesorii săi, AT&T UNIX System III a introdus un stil nou de configurare a startării sistemului,[1] care a supraviețuit (cu modificări) în UNIX System V și de aceea e numit "init în stil SysV".
Alte implementări
modificareAu fost scrise mai multe implementări de a înlocui daemonii tradiționali init în versiunile standard.
- BootScripts: folosit de GoboLinux
- busybox-init: pentru sisteme de operare înglobate, utilizat de OpenWrt înainte de a fi înlocuit cu procd, de postmarketOS și de UBports (acum Ubuntu Touch).
- eINIT: înlocuire completă a init care pornește procesele asincron, dar cu posibilitatea de a nu necesita scripturi shell.
- Epoch: daemon inițial construit în jurul simplității și gestionării serviciilor, conceput pentru a porni procesul cu un singur fir.
- Initng: conceput pentru a porni procesele în mod asincron
- Mudur: scris în Python și conceput pentru a porni procesele în mod asincron, utilizat de distribuția Pardus Linux
- nosh: colecție de instrumente de sistem pentru inițializarea și executarea unui sistem BSD sau Linux. Gestionează demonii, terminalele și logarea.
- OpenRC: generator de procese care utilizează inițializarea furnizată de sistem, oferind în același timp izolarea procesului, pornirea paralelă și dependența de servicii; folosit de Gentoo și derivatele sale și disponibil ca opțiune pe Devuan
- procd: manager de proces OpenWrt scris în C. Utilizează initscripts (prin apeluri ubus). [2]
- runit: bazat pe platforme multiple, oferă servicii paralele de pornire. Folosit în Void Linux.[3]
- s6: multiplatform, similar cu runit [4]
- Service Management Facility: folosit în Illumos, Solaris (de la Solaris 10). Sistemul tradițional (stilul System V) inițiază Facility Management Service ca singur serviciu.
- Shepherd: serviciu GNU și manager de daemoni care oferă inițializare asincronă bazată pe dependențe; este scris în GNU Guile.
- systemd: daemon init conceput pentru a porni procesul în paralel, implementat în majoritatea distribuțiilor Linux
- SystemStarter: generator de procese, pornit de un init de tip BSD pe Mac OS X (înainte de Mac OS X 10.4).
Note
modificare- ^ „init(8)”. minnie.tuhs.org.
- ^ Procd system init and daemon management openwrt.org
- ^ runit - a UNIX init scheme with service supervision smarden.org
- ^ s6 - What is it ? skarnet.org
- ^ sysvinit wiki.gentoo.org
- ^ Init and its Alternatives linux.org, DevynCJohnson, Nov 3, 2013
- ^ A list of non-systemd distributions (revisited) sysdfree.wordpress.com
Vezi și
modificareLegături externe
modificare- Comparison of init systems
- Linux distributions without systemd
- What are the best Linux init systems?
- FreeBSD init man page
- O lucrare care sumarizează schemele init Unix (2007)
- Solaris Service Management Facility - Quickstart Guide la Wayback Machine (archived )
- init command in Linux with examples
- A history of modern init systems (1992–2015) Arhivat în , la Wayback Machine.