ലിനക്സ് ഫയല്‍ സിസ്റ്റങ്ങള്‍ #0

സുബിന്‍ പി. റ്റി on 29 മാർച്ച്, 2019

വിവരങ്ങള്‍ സൂക്ഷിച്ച് വക്കാന്‍ കമ്പ്യൂട്ടറുകളില്‍ ഡിസ്കുകള്‍ ഉപയോഗിക്കുന്നു. സോളിഡ് സ്റ്റേറ്റ് ഫ്ലാഷ് ഡ്രൈവുകള്‍, മാഗ്നറ്റിക്ക് ഡിസ്കുകള്‍, ഒപ്റ്റിക്കല്‍ ഡിസ്കുകള്‍ അങ്ങനെ. ഇതിനെ ഒരു നോട്ട് ബുക്കില്‍ കാര്യങ്ങള്‍ എഴുതിവക്കുന്നതുമായി താരതമ്യം ചെയ്യാം. ആദ്യം മുതല്‍ അവസാനം വരെ ഒരു കുത്തും കോമയും തലക്കെട്ടും ഒന്നുമില്ലാതെ വിവരങ്ങള്‍ എഴുതിവച്ചശേഷം അതില്‍ നിന്ന് എന്തെങ്കിലും കണ്ടുപിടിക്കാനുള്ള വിഷമം ആലോചിച്ച് നോക്കിയാല്‍ മനസ്സിലാകുമല്ലോ. അതൊക്കെ പരിഗണിച്ച് സാധാരണ നോട്ടുകള്‍ എഴുതുമ്പോള്‍ തലക്കെട്ടും മറ്റും കൊടുക്കുകയും പിന്നീട് വേഗത്തില്‍ അവയെ കണ്ടെത്താന്‍ പാകത്തില്‍ എഴുത്തുകളെ ക്രമീകരിക്കുകയും ചെയ്യാറുണ്ടല്ലോ. ഇതേ രീതിയില്‍ ആണ് ഡീസ്കുകളില്‍ ഫയല്‍ സിസ്റ്റങ്ങള്‍ ഉപയോഗിക്കുന്നത്.

ഡിസ്കുകളെ സിലിണ്ടറുകള്‍, ട്രാക്കുകള്‍, സെക്ടറുകള്‍ എന്നിങ്ങനെ ചെറിയ യൂണിറ്റുകളായി വിഭജിച്ചിരിക്കും. വിക്കീപീടിയയ്ക്കു് കടപ്പാട്

യൂണിക്സ്/ലിനക്സ് സിസ്റ്റങ്ങളില്‍ പൊതുവേ സെക്റ്ററുകള്‍ക്കോ സെക്റ്ററുകളുടെ ഒരു കൂട്ടത്തിനോ ബ്ലോക്ക് എന്ന വാക്കാണ് ഉപയോഗിക്കാറുള്ളത്. ശരിക്കും ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തിന്റെ സൗകര്യത്തിനനുസരിച്ചാണ് ഇത് തീരുമാനിക്കുന്നത്. ഡിസ്കുകളെ ബ്ലോക്ക് ഡിവൈസുകള്‍ എന്നാണ് ലിനക്സ് വിളിക്കുന്നത്. ഒരു ക്യാമറയില്‍ നിന്നോ പ്രിന്ററിലേക്കോ ഒക്കെ വിവരങ്ങള്‍ വായിക്കുകയും എഴുതുകയും ചെയ്യുന്നത് ഓരോരോ ബൈറ്റുകള്‍ ആയിട്ടാണ്. എന്നാല്‍ ഡിസ്കുകളുമായുള്ള വിവര കൈമാറ്റങ്ങള്‍ ബ്ലോക്കുകള്‍ ആയിട്ടാണ് നടത്താറുള്ളത്. ഈ ബ്ലോക്കുകളുടെ വലിപ്പം പല സാഹചര്യങ്ങളിലും പലതായിരിക്കും.

ഒരു ഹാര്‍ഡ് ഡിസ്കില്‍ ഒന്നിലധികം പാര്‍ട്ടീഷ്യനുകള്‍ ഉണ്ടാകുമല്ലോ. ഈ പാര്‍ട്ടീഷ്യനുകളെ പ്രൈമറി പാര്‍ട്ടീഷ്യനുകള്‍, ലോജിക്കല്‍ പാര്‍ട്ടീഷ്യനുകള്‍, എക്സ്റ്റന്‍ഡഡ് പാര്‍ട്ടീഷ്യനുകള്‍ എന്നിങ്ങനെ തരം തിരിക്കാം. ഇവയെല്ലാം ഒരു ഡിസ്കില്‍ ഉണ്ടാവണമെന്നില്ല. എന്നാല്‍ ഒരു പ്രൈമറി പാര്‍ട്ടീഷ്യന്‍ എന്തായാലും കാണും. ഒരു ഡിസ്കില്‍ ഉണ്ടാകാവുന്ന പ്രൈമറി പാര്‍ട്ടീഷ്യനുകളുടെ പരമാവധി എണ്ണം 4 ആണ്. ഇത് ഒരു ഹാര്‍ഡ് വെയര്‍ പരിധി ആണ്. പക്ഷേ ഒരു ഡിസ്കില്‍ നാലില്‍ കൂടുതല്‍ പാര്‍ട്ടീഷ്യനുകള്‍ ആവശ്യമായ സന്ദര്‍ഭങ്ങള്‍ ഉണ്ടാകും. പ്രത്യേകിച്ച് വലിയ സംഭരണശേഷിയുള്ള ഡിസ്കുക്കളില്‍. ഇവിടെയാണ് ലോജിക്കല്‍ പാര്‍ട്ടീഷ്യനുകള്‍ ഉപയോഗിക്കുന്നത്. ലോജിക്കല്‍ പാര്‍ട്ടീഷ്യനുകള്‍ എക്സ്റ്റന്‍ഡഡ് പാര്‍ട്ടീഷ്യനുകള്‍ക്കുള്ളില്‍ ആണ് ഉണ്ടാക്കാന്‍ സാധിക്കുന്നത്. എക്സ്റ്റന്‍ഡഡ് പാര്‍ട്ടീഷ്യനുകള്‍ സവിശേഷങ്ങളായ പ്രൈമറി പാര്‍ട്ടീഷ്യനുകള്‍ ആണ്. അവയ്ക് എത്ര ലോജിക്കല്‍ പാര്‍ട്ടീഷ്യനുകള്‍ വേണമെങ്കിലും ഉള്‍ക്കൊള്ളാന്‍ സാധിക്കും. അപ്പോള്‍ ഡിസ്കില്‍ ഒരു എക്സ്റ്റന്‍ഡഡ് പാര്‍ട്ടീഷ്യന്‍ ഉണ്ടെങ്കില്‍ പിന്നെ മൂന്ന് പ്രൈമറി പാര്‍ട്ടീഷ്യനുകള്‍ കൂടി ഉണ്ടാക്കാന്‍ സാധിക്കും. പിന്നെ എക്സ്റ്റന്‍ഡഡ് പാര്‍ട്ടീഷ്യനില്‍ വേറെ ലോജിക്കല്‍ പാര്‍ട്ടീഷ്യനുകളും. വിന്‍ഡോസ് ഇന്‍സ്റ്റാള്‍ ചെയ്യാന്‍ പ്രൈമറി പാര്‍ട്ടീഷ്യന്‍ നിര്‍ബന്ധമാണ്. എന്നാല്‍ ലിനക്സ് ലോജിക്കല്‍ പാര്‍ട്ടീഷ്യനുകളില്‍ ഇന്‍സ്റ്റാള്‍ ചെയ്യാം.

ഹാര്‍ഡ് ഡിസ്കിനെ ഇനിയുള്ള കാര്യങ്ങള്‍ എളുപ്പത്തില്‍ മനസ്സിലാക്കാനായി നമുക്ക് നീട്ടി പരത്തിവയ്ക്കണം. ജി ബി കണക്കിനുള്ള സംഭരണശേഷി വൃത്താകൃതിയില്‍ ഉള്ള ഒരു പ്രതലത്തില്‍ നിന്നും മാറ്റി പരന്ന നീളമുള്ള ഒരു പ്രതലത്തിലേക്ക് കൊണ്ടുവയ്ക്കാം. ഒന്നിലധികം സെക്റ്ററുകള്‍ ഉള്‍ക്കൊള്ളുന്ന ബ്ലോക്കുകള്‍ ഒന്നിനുപിന്നില്‍ ഒന്നായി അടുക്കിവചിരിക്കുന്നത് പോലെ. എല്ലാ ഹാര്‍ഡ് ഡിസ്കിന്റെയും ആദ്യത്തെ 512 ബൈറ്റുകള്‍ മാസ്റ്റര്‍ ബൂട്ട് റെക്കോര്‍ഡ് (MBR) എന്ന് വിളിക്കപ്പെടുന്നു. ഇതില്‍ ആദ്യത്തെ 446 ബൈറ്റുകള്‍ ഡിസ്കില്‍ ഉള്ള ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തെ മെമ്മറിയിലേക്ക് കൊണ്ടുവരുന്നതിനായി (ബൂട്ടിങ്ങ്) ആവശ്യമുള്ള നിര്‍ദ്ദേശങ്ങളെ ഉള്‍ക്കൊള്ളുന്നു. ഇത് മിക്കവാറും ഒരു ബൂട്ട് ലോഡറിന്റെ ആദ്യഭാഗമായിരിക്കും. പിന്നീടുവരുന്ന 64 ബൈറ്റുകള്‍ പാര്‍ട്ടീഷ്യന്‍ ടേബിള്‍ ഉള്‍ക്കൊള്ളുന്നു. നിങ്ങളുടെ ഡിസ്കില്‍ ഉള്ള പാര്‍ട്ടീഷ്യനുകളുടെ ഒരു പട്ടികയാണ് പാര്‍ട്ടീഷ്യന്‍ ടേബിള്‍. ഓരോ പാര്‍ട്ടീഷ്യനും ആരംഭിക്കുന്ന സെക്റ്റര്‍ - ട്രാക്ക് വിവരങ്ങള്‍ ഇതില്‍ ഉണ്ടാകും. പിന്നെ ആ പാര്‍ട്ടീഷ്യന്‍ ബൂട്ടിങ്ങിനായി ഉപയോഗിക്കാമോ, അതില്‍ ഒരു ഓപ്പറേറ്റിങ് സിസ്റ്റം ഉണ്ടോ എന്നുള്ള വിവരങ്ങളും. പരമാവധി നാല് പ്രൈമറി പാര്‍ട്ടീഷ്യനുകളുടെ വിവരങ്ങള്‍ മാത്രം. ബാക്കിയുള്ള 2 ബൈറ്റുകള്‍ മാജിക്ക് നമ്പറിനുവേണ്ടി ഉള്ളതാണ്. നിങ്ങളുടെ ഹാര്‍ഡ് ഡിസ്കില്‍ ഒരു ആധികാരികമായ എം ബി ആര്‍ ഉണ്ട് എന്നതിന്റെയും അതിന്റെ അവസാനവും സൂചിപ്പിക്കാന്‍ വേണ്ടിയും ആണ് ഈ നമ്പര്‍. ഇത് ബയോസിന്റെ ഉപയോഗത്തിന് വേണ്ടിയുള്ളതാണ്. ഇതിനെക്കുറിച്ച് വിശദമായി ബൂട്ടിങ്ങിനെക്കുറിച്ചുള്ള ഭാഗത്തില്‍ പരാമര്‍ശിക്കാം.

എക്സ്റ്റന്‍ഡഡ് പാര്‍ട്ടീഷ്യനുകളുടെ തുടക്കത്തില്‍ ഈ എം ബിആര്‍ പൊലെ ഒരു ഇ ബി ആര്‍ ഉണ്ടാകും. എക്സ്റ്റന്‍ഡഡ് ബൂട്ട് റെക്കോര്‍ഡ്. എക്സ്റ്റന്‍ഡഡ് പാര്‍ട്ടീഷ്യനില്‍ ഉള്ള ലോജിക്കല്‍ പാര്‍ട്ടീഷ്യനുകളുടെ വിവരങ്ങള്‍ രേഖപ്പെടുത്തിയിരിക്കുന്നത് ഇതില്‍ ആണ്.

എന്തെങ്കിലും കാരണങ്ങള്‍ കൊണ്ട് മാസ്റ്റര്‍ ബൂട്ട് റെക്കോര്‍ഡിലെ വിവരങ്ങള്‍ക്ക് തകരാര്‍ സംഭവിച്ചാല്‍ പിന്നെ കമ്പ്യൂട്ടറിലെ ബയോസിന് ആ ഡിസ്കില്‍ ഉള്ള ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തെ കണ്ട്പിടിക്കാന്‍ സാധിക്കാതെ വരികയും അത് ഒരു എറര്‍ സന്ദേശം കാണിക്കുകയും ചെയ്യും. എം ബി ആര്‍ തകരാറില്‍ ആയത് കൊണ്ട് ഡിസ്കില്‍ ശേഖരിക്കപ്പെട്ട വിവരങ്ങള്‍ നഷ്ടപ്പെടുന്നില്ല. ഏതെങ്കിലും ഒരു നല്ല പ്രോഗ്രാം ഉപയോഗിച്ച് അതിനെ നന്നാക്കിയാല്‍ മതിയാകും. വിന്‍ഡോസിന്റെ ഇന്‍സ്റ്റാള്‍ ഡിസ്കില്‍ ഉള്ള fixmbr പ്രോഗ്രാം, ടെസ്റ്റ് ഡിസ്ക്, പാര്‍ട്ടീഷ്യന്‍ ടേബിള്‍ ഡോക്ടര്‍ തുടങ്ങിയവ ചില ഉദാഹരണങ്ങള്‍ ആണ്. ഇവ എങ്ങനെ പ്രവര്‍ത്തിക്കുന്നു എന്നത് ഫയല്‍ സിസ്റ്റങ്ങളെക്കുറിച്ച് കൂടി പറഞ്ഞശേഷം പറയാം.

ഇത്രയും കാര്യങ്ങള്‍ ഒരു ഡിസ്ക് ഏത് ഫയല്‍ സിസ്റ്റം ഉപയോഗിച്ചാലും അതില്‍ ഉണ്ടാകും. ഫയല്‍ സിസ്റ്റങ്ങള്‍ ഉപയോഗിക്കുന്നത് ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റങ്ങള്‍ ആണ്. ഓരോ പാര്‍ട്ടീഷ്യനിലും എങ്ങനെയാണ് ഒരു ഫയല്‍ സിസ്റ്റം സജ്ജീകരിക്കപ്പെട്ടിരിക്കുന്നത് എന്നതിനെക്കുറീച്ച് അടുത്ത ഭാഗം.

ഈ ലേഖനം ശ്രീ സുബിന്‍ പി. റ്റി അദ്ദേഹത്തിന്റെ ബ്ലോഗില്‍ ക്രിയേറ്റീവ് കോമണ്‍സ് സിസി-ബൈ-എസ്.എ 3.0 ലൈസന്‍സ് പ്രകാരം പ്രസിദ്ധീകരിച്ചതാണ്.