കെർണൽ (കമ്പ്യൂട്ടിങ്)

(Kernel (computing) എന്ന താളിൽ നിന്നും തിരിച്ചുവിട്ടതു പ്രകാരം)

ഉപയോക്താക്കൾ പ്രവർത്തിപ്പിക്കുന്ന ആപ്ലിക്കേഷൻ പ്രോഗ്രാമിന്നും, ഡാറ്റകളെ മാറ്റങ്ങൾക്ക് വിധേയമാക്കുന്ന ഹാർഡ്‌വെയർ തലത്തിനും ഇടയിൽ പ്രവർത്തിക്കുന്ന സിസ്റ്റം സോഫ്റ്റ്‌വെയർ ഭാഗമാണ് കെർണൽ. സിസ്റ്റത്തിലെ വിഭവങ്ങളെ നിയന്ത്രിക്കുക എന്നതാണ്‌ ഇതിന്റെ ഏറ്റവും പ്രധാനപ്പെട്ട ധർമ്മം. ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിന്റെ അടിസ്ഥാനപരമായ ഭാഗം ആയതുകൊണ്ടുതന്നെ താഴെക്കിടയിലുള്ള പ്രൊസസ്സർ, ഇൻപുട്ട്/ഔട്ട്പുട്ട് ഘടകങ്ങൾ പോലെയുള്ള ഹാർഡ്‌വെയറുകൾക്കുവേണ്ടി ഒരു സംഗ്രഹിത പ്രത്യക്ഷതലം അവ നടപ്പിലാക്കിയിരിക്കും; ആപ്ലിക്കേഷൻ സോഫ്റ്റ്‌വെയറുകൾ അവയുടെ ആവശ്യപൂർത്തീകരണത്തിനായി അവ ഉപയോഗപ്പെടുത്തുകയാണ്‌ ചെയ്യുക. പ്രൊസസ്സ്-ഇതര ആശയവിനിമയങ്ങൾ, സിസ്റ്റം കോളുകൾ തുടങ്ങിയവ വഴിയാണ്‌ സാധാരണ അവ നടപ്പിലാക്കുക.

ഒരു കേർണൽ ആപ്ലിക്കേഷൻ സോഫ്റ്റ്‌വെയറിനെ കമ്പ്യൂട്ടറിന്റെ ഹാർഡ്‌വെയറുമായി ബന്ധിപ്പിക്കുന്നു

പ്രവർത്തനം

തിരുത്തുക

ഒരു കമ്പ്യൂട്ടറിലെ റിസോഴ്സുകളെ നിയന്ത്രിക്കുന്നതും അത് വ്യത്യസ്ത ഉപഭോക്താക്കൾക്കും , പ്രവർത്തനങ്ങൾക്കും ലഭ്യമാക്കുന്നതും കേർണൽ ആണ്. മിക്കവാറും ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റങ്ങളിലേയും മർമ്മപ്രധാനമായ ഭാഗമാണ് കേണൽ. കെർണൽ ഹാർഡ് വെയറുമായി സംവദിക്കുന്നു ഇത് ആപ്ലിക്കേഷൻ പ്രോഗ്രാമർക്ക് ഹാർഡ് വെയർ പരിജ്ഞാനം ഇല്ലാതെ തന്നെ പ്രോഗ്രാമുകൾ എഴുതുവാൻ സഹായിക്കുന്നു[1]. ഇവയെല്ലാം ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തിന്റെ ജോലി ആണു എന്നിരുന്നാലും silberschatz ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തെ ഇങ്ങനെ നിർവചിച്ചിരിക്കുന്നു മുഴുവൻ സമയവും മറ്റെല്ലാ ആപ്ലിക്കേഷൻ പ്രോഗ്രാമുകൾക്കൊപ്പവും സിസ്റ്റം പ്രോഗ്രാമുകൾക്കൊപ്പവും പ്രവർത്തിക്കുന്ന പ്രോഗ്രാം, സാധാരണയായി കേർണൽ എന്നു വിളിക്കുന്നു [2]. എന്നാൽ ഒരു ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റം പൂർണമാകുന്നത് മറ്റു ചില ഘടകങ്ങൾ ഉദ്ദാഹരണമായി സെർവ്വറുകൾ, യൂസർ-ലെവൽ ലൈബ്രറികൾ തുടങ്ങിയവ കൂടിച്ചേരുമ്പോൾ ആണു[3]. ലിനക്സ് ഇത്തരത്തിൽ തെറ്റിധരിക്കപ്പെട്ട ഒന്നാണു, ലിനക്സ് ഒരു കേർണൽ മാത്രമാണു സാധാരണയായി ലിനക്സ് എന്നറിയപ്പെടുന്ന ഈ ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തിന്റെ ശരിയായ നാമം ഗ്നു/ലിനക്സ് എന്നാണു[4]. ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തിന്റെ സേവനങ്ങൾ കേർണലിന്റെ സഹായത്തോടെ ലഭിക്കുന്നതിനായി പ്രോഗ്രാമുകൾ സിസ്റ്റം കോൾസ് ഉപയോഗിക്കുന്നു[1] സിസ്റ്റം കോൾസ് സി പ്രോഗ്രാമ്മിങ്ങ് ഭാഷയിലെ പ്രൊസീജറുകൾക്ക് സമാനമാണു എന്നാൽ സി പ്രൊസീജറുകൾക്ക് കെർണൽസ്പേസിൽ കടക്കുവാൻ അനുവാദമില്ല[5]. ഒന്നിലധികം പ്രോഗ്രാമുകൾ സമാന്തരമായി പ്രവർത്തിക്കുന്ന സമയത്ത് കേർണൽ റിസോഴ്സ് മാനേജർ അയി പ്രവർത്തിക്കുന്നു[1].

മൈക്രോകേർണൽ, മോണോലിത്തിക്ക് കെർണൽ, ഹൈബ്രിഡ് കേർണൽ എന്നിങ്ങനെ വിവിധതരം കേർണലുകൾ നിലവിൽ ഉണ്ട്[6]. ഓരോ ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തിലും രൂപകൽപ്പന, പ്രത്യക്ഷവൽക്കരണം എന്നിവയ്ക്കനുസൃതമായി അവയുടെ കർത്തവ്യം ചെയ്യുന്ന രീതിയിലും മാറ്റമുണ്ടാകും. മോണോലിത്തിക്ക് കേർണലുകൾ സിസ്റ്റത്തിന്റെ പ്രകടനം മെച്ചപ്പെടുത്തുന്നതിനായി ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തിലെ എല്ലാ കോഡുകളും ഒരേ അഡ്രസ്സ് സ്പേസിൽതന്നെയാണ്‌ പ്രവർത്തിപ്പിക്കുക, അതേ സമയം മൈക്രോകേർണലുകൾ ഒരോ ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റം സേവനങ്ങളേയും യൂസർസ്പേസിൽ സെർ‌വറുകളായാണ്‌ പ്രവർത്തിപ്പിക്കുക, ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തിന്റെ പരിപാലനവും ഘടകങ്ങളുടെ വ്യക്തിരിതയുമാണിതുവഴി ഉദ്ദേശിക്കുന്നത്.[7] രൂപകൽപ്പനയിലെ ഈ രണ്ട് ഉച്ചരീതികൾക്കുമിടയിൽ സാധ്യകളുള്ള രൂപകല്പനാ രീതികളും (ഹൈബ്രിഡ് കേർണൽ) നിലനിൽക്കുന്നു.

  1. 1.0 1.1 1.2 Title:Professional Linux Kernel Architecture,Author:Wolfgang Mauerer,Publisher:Wiley-India, 2008,ISBN:8126519290, 9788126519293
  2. Title: OPERATING SYSTEM CONCEPTS, 6ED, WINDOWS XP UPDATE ,Authors:Galvin, Silberschatz, Gagne, Publisher:Wiley-India, 2006,ISBN:812650885X, 9788126508853
  3. http://www.cs.unc.edu/~dewan/242/s06/notes/intro/node14.html
  4. http://www.gnu.org/gnu/linux-and-gnu.html
  5. TITLE : Operating Systems Design and Implementation (3rd Edition) (Prentice Hall Software Series),AUTHOR : Andrew S Tanenbaum, Albert S Woodhull,PUBLISHER : Prentice Hall,ISBN : 0131429388
  6. "ആർക്കൈവ് പകർപ്പ്". Archived from the original on 2012-03-19. Retrieved 2012-01-30.
  7. Roch 2004
"https://ml.wikipedia.org/w/index.php?title=കെർണൽ_(കമ്പ്യൂട്ടിങ്)&oldid=3803373" എന്ന താളിൽനിന്ന് ശേഖരിച്ചത്