വെർച്ച്വൽ മെഷീൻ
പ്രോഗ്രാം എക്സിക്യൂഷൻ |
---|
പൊതുവായ ആശയങ്ങൾ |
|
ടൈപ്പ്സ് ഓഫ് കോഡ് |
|
കംപലേഷൻ സ്ട്രാറ്റെജീസ് |
|
ശ്രദ്ധേയമായ റൺടൈമുകൾ |
|
ശ്രദ്ധേയമായ കംപൈലറുകളും ടൂൾചെയിനുകളും |
|
വെർച്ച്വൽ മെഷീൻ എന്നാൽ കമ്പ്യൂട്ടർ ശാസ്ത്രത്തിൽ ഒരു സോഫ്റ്റ്വേർ ആണ്. ഇവിടെ, ഒരു പ്രോഗ്രാമിനെ പ്രവർത്തിപ്പിക്കുവാൻ പറ്റിയ അന്തരീക്ഷം സൃഷ്ടിക്കുക എന്നതാണ് വർച്ച്വൽ മെഷീന്റെ കടമ, ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റവുമായി സംവദിച്ച് യന്ത്രഭാഗങ്ങളെ അഥവാ കമ്പ്യൂട്ടർ ഹാർഡ്വെയറിനെ പ്രവർത്തിച്ചു കൊണ്ടിരിക്കുന്ന പ്രോഗ്രാമിന്റെ ആവശ്യാനുസരണം ലഭ്യമാക്കുക, ഒരു കവചം പോലെ നിലനിന്നു കൊണ്ട് പ്രോഗ്രാം ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൽ അനാവശ്യ ഇടപെടലുകൾ നടത്താതെ നോക്കുക എന്നിങ്ങനെയുള്ള കാര്യങ്ങളാണ് വർച്ച്വൽ മെഷീൻ ചെയ്യുന്നത്.[1]വെർച്ച്വൽ മെഷീൻ അധിഷ്ഠിതമായ പ്രോഗ്രാമിങ്ങ് ഭാഷകൾ സൃഷ്ടിക്കുന്നതിന്റെ ഉദ്ദേശ്യം ഏതു തരം ഹാർഡ്വെയറിലും, ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തിലും പ്രവർത്തിക്കുന്ന പ്രോഗ്രാമുകൾ എഴുതുക എന്നുള്ളതാണ്. ഇത്തരം പ്രോഗ്രാമുകൾ ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തെയോ, ഹാർഡ്വെയറിനെയോ കാണുന്നില്ല കാരണം ഇവ വിർച്ച്വൽ മെഷീനുമായി മാത്രമേ ബന്ധപ്പെടുന്നുള്ളൂ. അതതു ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിനും ഹാർഡ്വെയറിനും വേണ്ടിയുള്ള വർച്ച്വൽ മെഷീനുകളുണ്ടെങ്കിൽ, ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റവും ഹാർഡ്വെയറും മാറുന്നതിനനുസരിച്ച് ആപ്ലിക്കേഷൻ പ്രോഗ്രാമുകൾ അപ്പോൾ മാറ്റിയെഴുതേണ്ടി വരുന്നില്ല. വെർച്വൽ മെഷീനുകൾ വ്യത്യാസപ്പെട്ടിരിക്കുന്നു, അവയുടെ പ്രവർത്തനമനുസരിച്ച് ക്രമീകരിച്ചിരിക്കുന്നു, അത് ഇവിടെ കാണിച്ചിരിക്കുന്നു:
- സിസ്റ്റം വെർച്വൽ മെഷീനുകൾ (കംപ്ലീറ്റ് വിർച്ച്വലൈസേഷൻ വിഎം എന്നും അറിയപ്പെടുന്നു) ഒരു യഥാർത്ഥ മെഷീന് പകരമായി നൽകുന്നു. മുഴുവൻ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളും പ്രവർത്തിപ്പിക്കുന്നതിന് ആവശ്യമായ കഴിവവുകൾ അവ നൽകുന്നു. ഹാർഡ്വെയർ പങ്കിടാനും നിയന്ത്രിക്കാനും ഒരു ഹൈപ്പർവൈസർ നേറ്റീവ് എക്സിക്യൂഷൻ ഉപയോഗിക്കുന്നു, ഒന്നിലധികം പരിതസ്ഥിതികൾ പരസ്പരം ഒറ്റപ്പെട്ടതും അതേ സമയം ഫിസിക്കൽ മെഷീനിൽ നിലനിൽക്കുന്നതിന് അനുവദിക്കുന്നു. ആധുനിക ഹൈപ്പർവൈസേഴ്സ് പ്രധാനമായും ഹോസ്റ്റ് സിപിയുവിൽ നിന്നുള്ള ഹാർഡ്വെയർ-അസിസ്റ്റഡ് വിർച്ച്വലൈസേഷൻ, വിർച്ച്വലൈസേഷൻ-സ്പെസിഫിക്ക് ഹാർഡ്വെയർ എന്നിവ ഉപയോഗിക്കുന്നു.
- പ്രോസസ് വെർച്വൽ മെഷീനുകൾ:ഒരു പ്ലാറ്റ്ഫോം-ഇൻഡിപെൻഡന്റ് പരിതസ്ഥിതിയിൽ കമ്പ്യൂട്ടർ പ്രോഗ്രാമുകൾ എക്സിക്യൂട്ട് ചെയ്യുന്നതിനാണ് പ്രോസസ് വെർച്വൽ മെഷീനുകൾ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്.
ക്യുഇഎംയു(QEMU), വീഡിയോ ഗെയിം കൺസോൾ എമുലേറ്ററുകൾ എന്നിവ പോലുള്ള ചില വെർച്വൽ മെഷീൻ എമുലേറ്ററുകൾ വ്യത്യസ്ത സിസ്റ്റം ആർക്കിടെക്ചറുകൾ എമുലേറ്റ് (അല്ലെങ്കിൽ "വെർച്വൽ അനുകരിക്കുക") രൂപകൽപ്പന ചെയ്തിട്ടുള്ളതാണ്, അങ്ങനെ മറ്റൊരു സിപിയു അല്ലെങ്കിൽ ആർക്കിടെക്ചറിനായി എഴുതിയ സോഫ്റ്റ്വെയർ ആപ്ലിക്കേഷനുകളും ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളും നടപ്പിലാക്കാൻ അനുവദിക്കുന്നു. ഒരു കമ്പ്യൂട്ടറിന്റെ ഉറവിടങ്ങൾ കേർണൽ വഴി പാർട്ടീഷൻ ചെയ്യാൻ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ലെവൽ വെർച്ച്വലൈസേഷൻ അനുവദിക്കുന്നു.