പ്രോഗ്രാം, പ്രോസസ്സ് #1
on 29 മാർച്ച്, 2019ഒരു പ്രോഗ്രാമിനെ പ്രോസസ്സ് ആക്കി മാറ്റാന് അതിനെ ഡിസ്കില് നിന്ന് റാമിലേക്ക് കൊണ്ടുവരേണ്ടതുണ്ട്. മിക്കവാറും കമ്പ്യൂട്ടറുകളില് ലഭ്യമായ ആകെ റാമിന്റെ വലിപ്പം പ്രോഗ്രാമിന്റെ വലിപ്പത്തെക്കാള് കുറവായിരിക്കും. ഇന്നുള്ള മിക്കവാറും സിസ്റ്റങ്ങളില് ഈ പ്രശ്നമില്ലെങ്കില് കൂടി ഒന്നിലധികം പ്രോഗ്രാമുകള് പ്രവര്ത്തിക്കുമ്പോള് ആകെയുള്ള റാം തികയാതെ വരും. ഒരു കമ്പ്യൂട്ടറില് ഉള്ള മുഴുവന് റാമും സാധാരണ പ്രോഗ്രാമുകള്ക്ക് ഉപയോഗിക്കാന് സാധിക്കുകയില്ല. അതില് തന്നെ ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റം, ഹാര്ഡ് ഡിസ്കിനായുള്ള കാഷ്/കാഷെ ഒക്കെ വേണം. സാധാരണ ഹാര്ഡ് ഡിസ്കില് നിന്ന് വിവരങ്ങള് വായിക്കേണ്ടിവരികയും എഴുതേണ്ടിവരികയും ഒക്കെ ചെയ്യുമ്പോള് നേരിട്ട് ഡിസ്കിലേക്ക് അപ്പോള് തന്നെ ഡാറ്റ എഴുതില്ല. അത് മെയിന് മെമ്മറിയിലുള്ള ബഫര് കാഷിലേക്ക് ആണ് പോകുന്നത്. ഡിസ്കിലേക്ക് വിവരങ്ങള് എഴുതാന് സമയം കൂടുതല് വേണമെന്നതിനാല് അവയെ പിന്നീട് സൗകര്യമനുസരിച്ച് ഡിസ്കിലേക്ക് എഴുതുകയാണ് ചെയ്യാറ്. കമ്പ്യൂട്ടറുകള് ശരിയായി ഷട്ട് ഡൗണ് ചെയ്യാതെ ഓഫാക്കുമ്പോള് വിവരങ്ങള് നഷ്ടപ്പെടുന്നതിന്റെ പ്രധാന കാരണം ഇതാണ്.
ഈ മെമ്മറി പ്രശ്നം പരിഹരിക്കാന് വിര്ച്ച്വല് മെമ്മറി എന്ന സംവിധാനം ഉപയോഗിക്കുന്നു. വിര്ച്ച്വല് എന്നതിന്റെ അര്ഥം സൂചിപ്പിക്കുന്നത് പോലെതന്നെ ശരിക്ക് ഇല്ലാത്തതും എന്നാല് ഉണ്ടന്ന് തോന്നിപ്പിക്കുന്നതും ആയ ഒരു മെമ്മറി. ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റങ്ങളിലെ മെമ്മറി മാനേജ്മെന്റ് യൂണിറ്റ് ആണ് ഈ സംവിധാനത്തെ പ്രവര്ത്തിപ്പിക്കുന്നത്. ശരിക്കും വിര്ച്ച്വല് മെമ്മറി പ്രോസസറിന് ഒരു അധിക ഭാരമാണ്. എന്നാല് ഇതില്ലാതെ പ്രവര്ത്തിക്കുക വിഷമവും ആണ്. വളരെ വേഗത ആവശ്യമായ ആര്റ്റിഒഎസ്സുകളില് പൊതുവെ വിര്ച്ച്വല് മെമ്മറി ഉപയോഗിക്കാറില്ല. ഇന്നുള്ള മിക്കവാറും പ്രോസസറുകളില് ഈ മെമ്മറി മാനേജ്മെന്റ് എളുപ്പത്തിലാക്കാനുള്ള സംവിധാനങ്ങള് ഉണ്ട്. പേജ് ടേബിളുകളും സെഗ്മന്റ് രെജിസ്റ്ററുകളും ഒക്കെ.
മെമ്മറി മാനേജ്മെന്റിനെക്കുറിച്ച് പറയുമ്പോള് കാഷ് മെമ്മറി കൂടി പരാമര്ശിക്കേണ്ടതായുണ്ട്. പ്രോസസറുകളുടെ ഒക്കെ പരസ്യം കാണുമ്പോള് 2എംബി
എല്2 കാഷ്
എന്നൊക്കെ എഴുതിയിരിക്കുന്നത് കാണാമല്ലോ. പ്രോസസറുകള് വളരെ വേഗത്തില് പ്രവര്ത്തിക്കുന്നവയാണ്. 1GHz
ഒക്കെ വേഗതയുള്ളവ ഇന്ന് സാധാരണയാണല്ലോ. എന്നാല് റാം ഉള്പ്പെടെയുള്ള മെമ്മറികള്ക്ക് ഇത്ര വേഗതയില്ല. മാത്രമല്ല കമ്പ്യൂട്ടറിലെ മദര്ബോര്ഡില് വിവര കൈമാറ്റത്തിനായുള്ള ബസ്സുകള്ക്കും ഇത്ര വേഗതയില്ല. 733MHz ഒക്കെയാണ് ഇന്ന് സാധാരണയായുള്ള ബസ് വേഗത. അതിനാല്ത്തന്നെ പ്രോസസ് ചെയ്യാനാവശ്യമായ വിവരങ്ങള് മെമ്മറിയില് നിന്ന് വായിച്ചെടുക്കുന്ന സമയത്ത് പ്രോസസര് ഉപകാരപ്രദമായ കാര്യങ്ങള് ഒന്നും തന്നെ ചെയ്യുന്നില്ല. മേല്പ്പറഞ്ഞ വേഗതകള് ഉള്ള സിസ്റ്റങ്ങളില് ആകെ സമയത്തിന്റെ പത്തിലൊന്പതും വിവരങ്ങള്ക്കായി കാത്തിരിക്കുകയാണ് പ്രോസസര് ചെയ്യുന്നത്. ഈ പ്രശ്നത്തിന് ഒരു ചെറിയ പരിഹാരമാണ് കാഷ് മെമ്മറി. ഇത് പ്രോസസറിനുള്ളില് തന്നെ ഉള്ള വേഗത കൂടിയ ഒരു മെമ്മറിയാണ്. കൂടെക്കൂടെ ഉപയോഗിക്കേണ്ടിവരുന്ന പ്രോഗ്രാം ഭാഗങ്ങള് ഇതില് തന്നെ ശേഖരിക്കുന്നു. അത് വഴി പ്രോസസറിന് വേഗത്തില് വിവരങ്ങള് ലഭ്യമാകും. ഈ മെമ്മറി മെയിന് മെമ്മറിക്കും പ്രോസസറിനും ഇടയിലായി വരുന്നു. ഇതിന്റെ നിര്മ്മാണം ചെലവേറിയതായതിനാല് (ഒരു ബൈറ്റ് ശേഖരിക്കാനാവശ്യമായ സ്ഥലത്തിന്റെ നിര്മ്മാണച്ചെലവ്) വലിപ്പമേറിയ കാഷ് മെമ്മറി കമ്പ്യൂട്ടറിന്റെ നിര്മ്മാണച്ചെലവ് കൂട്ടുന്നു. കാഷ് മെമ്മറി ലഭ്യമായ കംപ്യൂട്ടറുകളില് പ്രോസസര് വിവരങ്ങള്ക്കായി ആദ്യം അന്വേഷിക്കുന്നത് കാഷില് ആയിരിക്കും. അവിടെ ലഭ്യമല്ലെങ്കില് റാമില്.
വിര്ച്ച്വല് മെമ്മറിയുടെ പ്രവര്ത്തന രീതികളും പ്രോസസ്സുകളും വിശദമായി അടുത്ത പോസ്റ്റില്.