5 മികച്ച ആധുനിക Linux init സിസ്റ്റങ്ങൾ (1992-2015)


Linux-ലും മറ്റ് Unix-പോലുള്ള ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിലും, ബൂട്ട് സമയത്ത് കേർണൽ നടപ്പിലാക്കുന്ന ആദ്യത്തെ പ്രക്രിയയാണ് init (initialization) പ്രക്രിയ. ഇതിന് 1 ന്റെ ഒരു പ്രോസസ് ഐഡി (PID) ഉണ്ട്, സിസ്റ്റം ഷട്ട് ഡൗൺ ആകുന്നതുവരെ ഇത് പശ്ചാത്തലത്തിൽ എക്സിക്യൂട്ട് ചെയ്യപ്പെടും.

init പ്രോസസ്സ് മറ്റെല്ലാ പ്രക്രിയകളും ആരംഭിക്കുന്നു, അതായത് ഡെമണുകൾ, സേവനങ്ങൾ, മറ്റ് പശ്ചാത്തല പ്രക്രിയകൾ, അതിനാൽ, ഇത് സിസ്റ്റത്തിലെ മറ്റെല്ലാ പ്രക്രിയകളുടെയും മാതാവാണ്. ഒരു പ്രക്രിയയ്ക്ക് സിസ്റ്റത്തിൽ മറ്റ് പല ചൈൽഡ് പ്രോസസ്സുകളും ആരംഭിക്കാൻ കഴിയും, എന്നാൽ ഒരു പാരന്റ് പ്രോസസ്സ് മരിക്കുന്ന സാഹചര്യത്തിൽ, init അനാഥ പ്രക്രിയയുടെ രക്ഷിതാവായി മാറുന്നു.

വർഷങ്ങളായി, പ്രധാന ലിനക്സ് വിതരണങ്ങളിൽ നിരവധി init സിസ്റ്റങ്ങൾ ഉയർന്നുവന്നിട്ടുണ്ട്, ഈ ഗൈഡിൽ, Linux ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൽ നിങ്ങൾക്ക് പ്രവർത്തിക്കാൻ കഴിയുന്ന ചില മികച്ച init സിസ്റ്റങ്ങൾ ഞങ്ങൾ പരിശോധിക്കും.

1. സിസ്റ്റം വി ഇനിറ്റ്

Unix-പോലുള്ള ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിലെ മുതിർന്നതും ജനപ്രിയവുമായ ഒരു init സ്കീമാണ് സിസ്റ്റം V (SysV), ഇത് ഒരു Unix/Linux സിസ്റ്റത്തിലെ എല്ലാ പ്രക്രിയകളുടെയും രക്ഷിതാവാണ്. ആദ്യമായി വാണിജ്യാടിസ്ഥാനത്തിൽ രൂപകൽപ്പന ചെയ്ത യുണിക്സ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റമാണ് SysV.

Gentoo ഒഴികെയുള്ള മിക്കവാറും എല്ലാ Linux വിതരണങ്ങളും ആദ്യം SysV init സ്കീം ഉപയോഗിച്ചു, അതിൽ ഒരു ഇഷ്uടാനുസൃത init ഉം BSD-ശൈലി init സ്കീം ഉപയോഗിക്കുന്ന Slackware ഉം ഉണ്ട്.

വർഷങ്ങൾ കടന്നുപോകുമ്പോൾ, ചില അപൂർണതകൾ കാരണം, ലിനക്സിനായി കൂടുതൽ കാര്യക്ഷമവും മികച്ചതുമായ init സിസ്റ്റങ്ങൾ സൃഷ്ടിക്കുന്നതിനുള്ള അന്വേഷണങ്ങളിൽ നിരവധി SysV init റീപ്ലേസ്മെന്റുകൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്.

ഈ ഇതരമാർഗങ്ങൾ SysV മെച്ചപ്പെടുത്താനും ഒരുപക്ഷേ പുതിയ സവിശേഷതകൾ വാഗ്ദാനം ചെയ്യാനും ശ്രമിക്കുന്നുണ്ടെങ്കിലും, അവ ഇപ്പോഴും യഥാർത്ഥ SysV init സ്ക്രിപ്റ്റുകളുമായി പൊരുത്തപ്പെടുന്നു.

2. സിസ്റ്റം ഡി

Linux പ്ലാറ്റ്uഫോമിലെ താരതമ്യേന പുതിയ ഒരു init സ്കീമാണ് SystemD. ഫെഡോറ 15-ൽ അവതരിപ്പിച്ചത്, എളുപ്പമുള്ള സിസ്റ്റം മാനേജ്മെന്റിനുള്ള ടൂളുകളുടെ ഒരു ശേഖരമാണ്. ബൂട്ട് പ്രക്രിയയിലും സിസ്റ്റം പ്രവർത്തിക്കുമ്പോഴും എല്ലാ സിസ്റ്റം പ്രക്രിയകളും സമാരംഭിക്കുക, നിയന്ത്രിക്കുക, ട്രാക്ക് ചെയ്യുക എന്നതാണ് പ്രധാന ലക്ഷ്യം.

Systemd init മറ്റ് പരമ്പരാഗത Unix init സിസ്റ്റങ്ങളിൽ നിന്ന് സമഗ്രമായി വ്യത്യസ്തമാണ്, ഇത് സിസ്റ്റത്തെയും സേവന മാനേജ്മെന്റിനെയും പ്രായോഗികമായി സമീപിക്കുന്ന രീതിയിലാണ്. ഇത് SysV, LBS init സ്ക്രിപ്റ്റുകൾക്കും അനുയോജ്യമാണ്.

ഇതിന് ഇനിപ്പറയുന്ന ചില മികച്ച സവിശേഷതകളുണ്ട്:

  1. വൃത്തിയുള്ളതും നേരായതും കാര്യക്ഷമവുമായ രൂപകൽപ്പന
  2. ബൂട്ടപ്പിൽ സമാന്തരവും സമാന്തരവുമായ പ്രോസസ്സിംഗ്
  3. മികച്ച APIv
  4. ഓപ്ഷണൽ പ്രോസസ്സുകൾ നീക്കംചെയ്യുന്നത് പ്രവർത്തനക്ഷമമാക്കുന്നു
  5. ജേണൽഡ് ഉപയോഗിച്ച് ഇവന്റ് ലോഗിംഗ് പിന്തുണയ്ക്കുന്നു
  6. systemd കലണ്ടർ ടൈമറുകൾ ഉപയോഗിച്ച് ജോലി ഷെഡ്യൂളിംഗ് പിന്തുണയ്ക്കുന്നു
  7. ബൈനറി ഫയലുകളിലെ ലോഗുകളുടെ സംഭരണം
  8. ഭാവിയിലെ റഫറൻസിനായി systemd അവസ്ഥയുടെ സംരക്ഷണം
  9. ഗ്നോമുമായുള്ള മികച്ച സംയോജനവും അതിലേറെയും

Systemd init അവലോകനം വായിക്കുക: https://fedoraproject.org/wiki/Systemd

ഇതും വായിക്കുക: പിന്നിലെ കഥ: എന്തുകൊണ്ട് ലിനക്സിൽ 'init' 'systemd' ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കേണ്ടതുണ്ട്

3. അപ്സ്റ്റാർട്ട്

SysV init സിസ്റ്റത്തിന് പകരമായി ഉബുണ്ടു നിർമ്മാതാക്കൾ വികസിപ്പിച്ച ഒരു ഇവന്റ് അധിഷ്ഠിത init സിസ്റ്റമാണ് Upstart. ഇത് വ്യത്യസ്uത സിസ്റ്റം ടാസ്uക്കുകളും പ്രോസസ്സുകളും ആരംഭിക്കുകയും സിസ്റ്റം പ്രവർത്തിക്കുമ്പോൾ അവ പരിശോധിക്കുകയും സിസ്റ്റം ഷട്ട്uഡൗൺ സമയത്ത് അവ നിർത്തുകയും ചെയ്യുന്നു.

ഇത് SysV സ്റ്റാർട്ടപ്പ് സ്ക്രിപ്റ്റുകളും Systemd സ്ക്രിപ്റ്റുകളും ഉപയോഗിക്കുന്ന ഒരു ഹൈബ്രിഡ് init സിസ്റ്റമാണ്, Upstart init സിസ്റ്റത്തിന്റെ ചില ശ്രദ്ധേയമായ സവിശേഷതകളിൽ ഇവ ഉൾപ്പെടുന്നു:

  1. യഥാർത്ഥത്തിൽ ഉബുണ്ടു ലിനക്സിനായി വികസിപ്പിച്ചെങ്കിലും മറ്റെല്ലാ വിതരണങ്ങളിലും പ്രവർത്തിക്കാൻ കഴിയും
  2. ഇവന്റ് അടിസ്ഥാനമാക്കിയുള്ള ടാസ്uക്കുകളുടെയും സേവനങ്ങളുടെയും ആരംഭവും നിർത്തലും
  3. ടാസ്uക്കുകളും സേവനങ്ങളും ആരംഭിക്കുമ്പോഴും നിർത്തുമ്പോഴും ഇവന്റുകൾ സൃഷ്ടിക്കപ്പെടുന്നു
  4. മറ്റ് സിസ്റ്റം പ്രോസസ്സുകൾ വഴി ഇവന്റുകൾ അയയ്uക്കാം
  5. ഡി-ബസ് വഴി init പ്രോസസ്സുമായുള്ള ആശയവിനിമയം
  6. ഉപയോക്താക്കൾക്ക് അവരുടെ സ്വന്തം പ്രക്രിയകൾ ആരംഭിക്കാനും നിർത്താനും കഴിയും
  7. പൊടുന്നനെ മരിക്കുന്ന സേവനങ്ങളുടെ പുനർനിർമ്മാണവും മറ്റ് പലതും

ഹോംപേജ് സന്ദർശിക്കുക: http://upstart.ubuntu.com/index.html

4. ഓപ്പൺആർസി

Unix പോലുള്ള ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾക്കായുള്ള ഒരു ഡിപൻഡൻസി അടിസ്ഥാനമാക്കിയുള്ള init സ്കീമാണ് OpenRC, ഇത് SysV init-ന് അനുയോജ്യമാണ്. Sys V-ലേക്ക് ചില മെച്ചപ്പെടുത്തലുകൾ കൊണ്ടുവരുന്നത് പോലെ, OpenRC എന്നത് /sbin/init ഫയലിന് പകരം വയ്ക്കുന്ന ഒന്നല്ല എന്ന് നിങ്ങൾ ഓർക്കണം.

ഇത് ചില വിശിഷ്ടമായ സവിശേഷതകൾ വാഗ്ദാനം ചെയ്യുന്നു, ഇവയിൽ ഉൾപ്പെടുന്നു:

  1. ഇതിന് Gentoo ഉൾപ്പെടെയുള്ള നിരവധി ലിനക്സ് വിതരണങ്ങളിലും BSD-യിലും പ്രവർത്തിക്കാൻ കഴിയും
  2. ഹാർഡ്uവെയർ ആരംഭിച്ച init സ്ക്രിപ്റ്റുകൾ പിന്തുണയ്ക്കുന്നു
  3. ഒരു കോൺഫിഗറേഷൻ ഫയലിനെ പിന്തുണയ്ക്കുന്നു
  4. ഓരോ സേവന കോൺഫിഗറേഷനുകളും പിന്തുണയ്ക്കുന്നില്ല
  5. ഒരു ഡെമൺ ആയി പ്രവർത്തിക്കുന്നു
  6. സമാന്തര സേവനങ്ങളുടെ സ്റ്റാർട്ടപ്പും മറ്റു പലതും

ഹോംപേജ് സന്ദർശിക്കുക: https://wiki.gentoo.org/wiki/OpenRC

5. റൂണിറ്റ്

ഗ്നു/ലിനക്സ്, സോളാരിസ്, *ബിഎസ്ഡി, മാക് ഒഎസ് എക്സ് എന്നിവയിൽ പ്രവർത്തിക്കാൻ കഴിയുന്ന ഒരു ക്രോസ്-പ്ലാറ്റ്ഫോം init സിസ്റ്റം കൂടിയാണ് runit, സേവന മേൽനോട്ടം വാഗ്ദാനം ചെയ്യുന്ന SysV init-നുള്ള ഒരു ബദലാണിത്.

SysV init-ലും Linux-ലെ മറ്റ് init സിസ്റ്റങ്ങളിലും കാണാത്ത ചില ഗുണങ്ങളും ശ്രദ്ധേയമായ ഘടകങ്ങളും ഇതിൽ ഉൾപ്പെടുന്നു, ഇവയിൽ ഉൾപ്പെടുന്നു:

  1. സേവന മേൽനോട്ടം, ഓരോ സേവനവും ഒരു സേവന ഡയറക്ടറിയുമായി ബന്ധപ്പെട്ടിരിക്കുന്നിടത്ത്
  2. ക്ലീൻ പ്രോസസ്സ് സ്റ്റേറ്റ്, ഇത് ഓരോ പ്രോസസ്സിനും ഒരു വൃത്തിയുള്ള അവസ്ഥ ഉറപ്പ് നൽകുന്നു
  3. ഇതിന് വിശ്വസനീയമായ ലോഗിംഗ് സൗകര്യമുണ്ട്
  4. വേഗത്തിലുള്ള സിസ്റ്റം ബൂട്ട് അപ്പ്, ഷട്ട്ഡൗൺ
  5. ഇത് പോർട്ടബിൾ കൂടിയാണ്
  6. പാക്കേജിംഗ് സൗഹൃദം
  7. ചെറിയ കോഡ് വലുപ്പവും മറ്റു പലതും

ഹോംപേജ് സന്ദർശിക്കുക: http://smarden.org/runit/

ഞാൻ നേരത്തെ സൂചിപ്പിച്ചതുപോലെ, ഒരു ലിനക്സ് സിസ്റ്റത്തിലെ മറ്റെല്ലാ പ്രക്രിയകളും init സിസ്റ്റം ആരംഭിക്കുകയും നിയന്ത്രിക്കുകയും ചെയ്യുന്നു. കൂടാതെ, ലിനക്സ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിലെ പ്രാഥമിക init സ്കീമാണ് SysV, എന്നാൽ ചില പെർഫോമൻസ് പോരായ്മകൾ കാരണം, സിസ്റ്റം പ്രോഗ്രാമർമാർ ഇതിന് പകരമായി നിരവധി സംവിധാനങ്ങൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്.

ഇവിടെ, ഞങ്ങൾ ആ പകരക്കാരിൽ ചിലത് പരിശോധിച്ചു, എന്നാൽ ഈ ലിസ്റ്റിൽ പരാമർശിക്കേണ്ടതാണ് എന്ന് നിങ്ങൾ കരുതുന്ന മറ്റ് init സിസ്റ്റങ്ങൾ ഉണ്ടായിരിക്കാം. ചുവടെയുള്ള അഭിപ്രായ വിഭാഗത്തിലൂടെ നിങ്ങൾക്ക് അവയെക്കുറിച്ച് ഞങ്ങളെ അറിയിക്കാം.