init

De la Wikipedia, enciclopedia liberă
Acest articol se referă la proces Unix. Pentru alte sensuri, vedeți INIT (dezambiguizare).

Unix Versiunea 7: listarea /etc, arătând init și rc
Unix Versiunea 7: conținutul unui Bourne shell script /etc/rc

Î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[modificare | modificare sursă]

Sysv-rc-conf, o utilită IUT care selectează ce init scripturi în stil SysV vor fi rulate în fiecare nivel de rulare

Câ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[modificare | modificare sursă]

Au fost scrise mai multe implementări de a înlocui daemonii tradiționali init în versiunile standard.

  • 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).
  • upstart: pornește procesele asincron. Dezvoltat de Canonical și utilizat în Ubuntu până când a fost înlocuit de systemd.[6][7]

Note[modificare | modificare sursă]

  1. ^ „init(8)”. minnie.tuhs.org. 
  2. ^ Procd system init and daemon management openwrt.org
  3. ^ runit - a UNIX init scheme with service supervision smarden.org
  4. ^ s6 - What is it ? skarnet.org
  5. ^ sysvinit wiki.gentoo.org
  6. ^ Init and its Alternatives linux.org, DevynCJohnson, Nov 3, 2013
  7. ^ A list of non-systemd distributions (revisited) sysdfree.wordpress.com

Vezi și[modificare | modificare sursă]

Legături externe[modificare | modificare sursă]