Sunday, August 19, 2012

ഫയല്‍ സിസ്റ്റങ്ങള്‍ - 3

ഒരു ഫയല്‍ സിസ്റ്റത്തിന് ഉള്‍ക്കൊള്ളാന്‍ കഴിയുന്ന പരമാവധി ഫയലുകളുടെ എണ്ണത്തിന് പരിമിതി ഉണ്ട്. ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റങ്ങളില്‍ അത് പിന്‍തുണക്കുന്ന ഓരോ ഫയല്‍ സിസ്റ്റത്തിനും  ഒരു ഡ്രൈവര്‍ (നിയന്ത്രണ പ്രോഗ്രാം) ഉണ്ടാകും. ആ ഫയല്‍ സിസ്റ്റം സജ്ജീകരിച്ചിരിക്കുന്ന ഡിസ്കില്‍ നിന്ന് ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റം ആവശ്യപ്പെടുന്നതിനനുസരിച്ച് വിവരങ്ങള്‍ വായിച്ചുകൊടുക്കുന്നതും വിവരങ്ങള്‍ എഴുതിച്ചേര്‍ക്കുന്നതും  ഫയലുകള്‍ ഉണ്ടാക്കുന്നതും ഒക്കെ ഈ പ്രൊഗ്രാമാണ്. ഓരോ ഫയല്‍ സിസ്റ്റത്തിലും ഇക്കാര്യങ്ങള്‍ വ്യത്യസ്ത രീതിയിലായിരിക്കും  ചെയ്യേണ്ടത്. എന്നാല്‍ നമ്മള്‍ ഉപയോഗിക്കുന്ന വിവിധ പ്രോഗ്രാമുകള്‍ അവക്കാവശ്യമായ ഫയലുകള്‍ സൃഷ്ടിക്കാനും വായിക്കാനും എഴുതാനും ഒക്കെ ഉപയോഗിക്കുന്ന സംവിധാനങ്ങള്‍ പൊതുവായുള്ളതും അവ ഉപയോഗിക്കുന്ന ഫയലുകള്‍ അടങ്ങിയ ഡിസ്കില്‍ സജ്ജീകരിക്കപ്പെട്ടിരിക്കുന്ന ഫയല്‍ സിസ്റ്റങ്ങളുമായി ബന്ധമില്ലാത്തവയും ആണ്. യൂണിക്സ്/ലിനക്സ് സിസ്റ്റങ്ങളില്‍ ഒരു ഫയല്‍ ഉണ്ടാക്കാനോ തുറക്കാനോ ആയൊ open എന്ന സിസ്റ്റംകോള്‍ (ഇവയെപ്പറ്റി വഴിയേ) ഉപയോഗിക്കുന്നു. ഫയല്‍ ഉണ്ടാക്കേണ്ടത് ഏത് ഫയല്‍ സിസ്റ്റത്തിലായാലും ഇതുതന്നെ ആണ് ഉപയോഗിക്കുക. ഓരോ ഫയല്‍ സിസ്റ്റം ഡ്രൈവറിലും ആ ഫയല്‍ സിസ്റ്റത്തില്‍ ഫയലുകള്‍ ഉണ്ടാക്കാനുള്ള ഫങ്ങ്ഷന്‍ ഉണ്ടാകും. ഓപ്പണ്‍ സിസ്റ്റം കോള്‍ ഉപയോഗിക്കുമ്പോള്‍ കൊടുക്കുന്ന പാത്തില്‍ നിന്നും കെര്‍ണല്‍ അതുണ്ടാക്കേണ്ട ഡിസ്ക് കണ്ടുപിടിക്കും. ആ ഡിസ്കിലെ സൂപ്പര്‍ബ്ലോക്കില്‍ നിന്നും അതില്‍ സജ്ജീകരിച്ചിരിക്കുന്ന ഫയല്‍ സിസ്റ്റം കണ്ടെത്തുകയും ആ ഫയല്‍ സിസ്റ്റം ഡ്രൈവറെ ഫയല്‍ ഉണ്ടാക്കാന്‍ ചുമതലപ്പെടുത്തുകയും ചെയ്യും. ലിനക്സ് കെര്‍ണലിലെ വിഎഫ്എസ് (വിര്‍ച്വല്‍ ഫയല്‍ സിസ്റ്റം) എന്ന ഭാഗം ആണ് ഇക്കാര്യങ്ങള്‍ ചെയ്യുന്നത്.

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

[ചിത്രത്തിന് കടപ്പാട്: വിക്കിപീഡിയ]

48കെബി വരെ വലിപ്പമുള്ള ഫയലുകള്‍ക്ക് ഡയറക്റ്റ് ബ്ലോക്കുകള്‍ മതിയാകും. 4എംബി വരെയുള്ള ഫയലുകള്‍ക്ക് ഡയറക്റ്റ് ബ്ലോക്കുകളും ഇന്‍ഡയറക്റ്റ് ബ്ലോക്കുകളും ആവശ്യമാണ്. അതിലും വലിയ ഫയലുകള്‍ക്ക് ഡബിള്‍ ഇന്‍ഡയറക്റ്റ് ബ്ലോക്കുകള്‍ വേണം.

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

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

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

റിക്കവറി
ഡിസ്കില്‍ നിന്ന് നീക്കം ചെയ്യപ്പെട്ട ഫയലുകളെ തിരിച്ചെടുക്കാനുള്ള പ്രവര്‍ത്തികളെ ആണ് ഫയല്‍ റിക്കവറി എന്നതുകൊണ്ട് അര്‍ഥമാക്കുന്നത്. ഇത് ചെയ്യുന്ന പ്രോഗ്രാമുകള്‍ മിക്കവാരറും ഉപയോഗത്തില്ലില്ലാത്ത ബ്ലോക്കുകളുടെ ലിസ്റ്റ് കണ്ടൂപിടിച്ച് ആ ബ്ലോക്കുകള്‍ പരിശോധിക്കുകയാണ് ചെയ്യുന്നത്. ജെപിഇജി പോലെയുള്ള ഫയലുകള്‍ക്കൊക്കെ, സാധാരണ ടെക്സ്റ്റ് ഫയലുകള്‍ അല്ലാത്തവക്കൊക്കെ ഒരു മാജിക് നമ്പര്‍ ഉണ്ടാകും. ഓരോ തരം ഫയലുകള്‍ക്കും ഒരു മാജിക്ക് നമ്പര്‍ ഉണ്ട്. ഒരു ഫയല്‍ ഏതുതരമാണ് എന്ന് കണ്ടുപിടിക്കാന്‍ ആ ഫയലിന്റെ പേരിലുള്ള എക്സ്റ്റന്‍ഷന്‍ മാത്രമല്ല ഉപയോഗിക്കുന്നത്. ഈ മാജിക് നമ്പര്‍ കൂടി ഉപയോഗിക്കും. ഈ മാജിക് നമ്പര്‍ അടങ്ങുന്ന ആ ഫയലിലെ വിവരങ്ങളെക്കുറിച്ചുള്ള വിവരങ്ങള്‍ (മെറ്റാഡാറ്റ) ഉള്‍പ്പെടുന്ന ഒരു ഭാഗം മിക്കവാറും ഫയലുകളില്‍ കാണും. ഈ മെറ്റാ ഡാറ്റ കണ്ടുപിടിച്ചാല്‍ ആ ഫയലിനെക്കുറിച്ചുള്ള ചില വിവരങ്ങള്‍ ലഭിക്കും. ചിലപ്പോള്‍ ആ ഫയലിന്റെ വലിപ്പം അടക്കം. അപ്പോള്‍ ഒരു ഫ്രീ ബ്ലോക്കില്‍ ഒരു ഫയലിന്റെ മെറ്റാഡാറ്റ കണ്ടെത്തിയാല്‍ അതിന്റെ വലിപ്പം മനസ്സിലാക്കി അത്രയും വിവരങ്ങള്‍ വേറൊരു ഫയലിലേക്ക് നീക്കുന്നത് വഴി ആ ഫയലിനെ തിരികെ കിട്ടും. പക്ഷേ ആ ഫയല്‍ ഫ്രാഗ്‌‌മെന്റഡ് ആയിരുന്നെങ്കില്‍ ഈ രീതി വലിയ ഗുണം ചെയ്യില്ല. മാത്രമല്ല ആ ഫയല്‍ ഉള്‍പ്പെട്ടിരുന്ന ഫോള്‍ഡര്‍ കണ്ടെത്താന്‍ ഇങ്ങനെ സാധിക്കുകയില്ല. ആ ഫയലിന്റെ പേരും  മിക്കവാറും നഷ്ടമാകും. റിക്കവറി ചെയ്യുമ്പോള്‍ കൂടുതലും ആ ഫയലുകള്‍ക്ക് മുന്‍പുണ്ടായിരുന്ന പേരുകളോ അവയെ ഉള്‍ക്കൊണ്ടിരുന്ന ഡയറക്റ്ററിയോ കണ്ടത്താന്‍ സാധിക്കില്ല. ലിനക്സിലെ ഫയല്‍ സിസ്റ്റങ്ങള്‍ മിക്കതും ഫയല്‍ നീക്കം ചെയ്യുമ്പോള്‍ ഐനോഡിലെ വിവരങ്ങള്‍ നശിപ്പിച്ചുകളയുന്നു. അതുകൊണ്ടുതന്നെ റിക്കവറി വിഷമമാണ്. ഫയലുകളുടെ പേരുകള്‍ കണ്ടെത്തല്‍ മിക്കവാറും അസാധ്യവും.

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

ഫയല്‍ സിസ്റ്റങ്ങള്‍ - 2

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

ഒരു ഫയല്‍ സിസ്റ്റത്തില്‍ രണ്ടുതരത്തില്‍ ഉള്ള വിവരങ്ങള്‍ ഉണ്ടാകും. ആദ്യത്തേത് ആ ഫയല്‍ സിസ്റ്റത്തിന്റെ വലിപ്പം, ഘടന, അതില്‍ ശേഖരിക്കപ്പെട്ട ഫയലുകളെ കുറിച്ചുള്ള വിവരങ്ങള്‍ എന്നിവ ഉള്‍പ്പെടുന്ന മെറ്റാഡാറ്റ ആണ്. രണ്ടാമതായി ഉപഭോക്താവ് അതില്‍ ശേഖരിച്ചിരിക്കുന്ന വിവരങ്ങളും. ലിനക്സ്/യൂണിക്സ് സിസ്റ്റങ്ങളില്‍ സാധാരണ ഉപയോഗിക്കുന്ന ഫയല്‍സിസ്റ്റങ്ങളില്‍ എല്ലാം ഒരു സൂപ്പര്‍ബ്ലോക്ക് ഉണ്ടായിരിക്കും. ഇത് ആ ഫയല്‍സിസ്റ്റം ഉള്‍ക്കൊള്ളുന്ന പാര്‍ട്ടീഷ്യനിലെ ആദ്യത്തെ ബ്ലോക്ക് ആണ്. മെറ്റാഡാറ്റയില്‍ ഉള്‍ക്കൊള്ളൂന്ന വിവരങ്ങളെ പരാമര്‍ശിക്കുമ്പോള്‍ സാധാരണ ഉപയോഗിക്കുന്ന ചില സാങ്കേതിക പദങ്ങളെ പരിചയപ്പെടാം.
  • സൂപ്പര്‍ബ്ലോക്ക് - ഒരു ഡിസ്ക് പാര്‍ട്ടീഷ്യന്‍ ഉള്‍ക്കൊള്ളുന്ന ഫയല്‍ സിസ്റ്റത്തെക്കുറിച്ചുള്ള വിവരങ്ങള്‍ ഇതില്‍ അടങ്ങിയിരിക്കുന്നു. ഫയല്‍ സിസ്റ്റം ടൈപ്പ്, പാര്‍ട്ടീഷ്യന്റെ വലിപ്പം, പാര്‍ട്ടീഷ്യനില്‍ ബാക്കിയുള്ള സ്ഥലത്തിന്റെ വലിപ്പ (ഫ്രീ സ്പേസ്), ഫയലുകള്‍ ശേഖരിക്കാവുന്ന, ഇപ്പോള്‍ ഉപയോഗിക്കപ്പെട്ടിട്ടില്ലാത്ത ബ്ലോക്കുകളുടെ എണ്ണം, ആ ബ്ലോക്കുകളുടെ പട്ടിക സൂക്ഷിച്ചിരിക്കുന്ന സ്ഥലം, ഉപയോഗിക്കപ്പെട്ടിട്ടില്ലാത്ത ഐനോഡൂകളുടെ പട്ടിക എന്നിവയൊക്കെ സൂപ്പര്‍ബ്ലോക്കില്‍ ഉണ്ടായിരിക്കും.
  • ഐനോഡ് - ലിനക്സ്/യൂണിക്സ് ഫയല്‍ സിസ്റ്റങ്ങളില്‍ എല്ലാ ഫയലുകള്‍ക്കും ഡയറക്റ്ററികള്‍ക്കും ഒരു ഐനോഡ് ഉണ്ടാകും. ഈ പേര് വന്നതിന്റെ ശരിയായ കാരണം ആര്‍ക്കും  വലിയ പിടിയില്ല. ഇന്‍ഡക്സ് നോഡ് ലോപിച്ചതാണെന്ന് ഡെന്നിസ് റിച്ചി ഒരിക്കല്‍ പറഞ്ഞിരുന്നു. ഒരു ഫയലിന്റെ വലിപ്പം, പേര്, അത് തുറക്കാനും  വായിക്കാനും  മാറ്റങ്ങള്‍ വരുത്താനും ആര്‍ക്കൊക്കെ അനുവാദമുണ്ട്, അത് എന്ത് തരം ഫയലാണ്, ആ ഫയലിലെ വിവരങ്ങള്‍ ഡിസ്കില്‍ എവിടെയാണ് രേഖപ്പെടുത്തിയിരിക്കുന്നത് തുടങ്ങിയ വിവരങ്ങള്‍ ഐനോഡില്‍ ഉണ്ടാകും. ചുരുക്കിപ്പറഞ്ഞാല്‍ ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തിന് ആ ഫയല്‍ കണ്ടെത്താനുള്ള എല്ലാ വിവരങ്ങളും.
ഒരു ഫയല്‍സിസ്റ്റം സജ്ജീകരിക്കാന്‍ ഡിസ്കിലെ അല്പം സ്ഥലം ആവശ്യമാണ്. മേല്‍പ്പറഞ്ഞ പട്ടികകള്‍ സജ്ജീകരിക്കുകയാണ് ഇതിന്റെ ആദ്യപടി. ഡിസ്കിന്റെ വലിപ്പം കൂടുന്നതിനനുസരിച്ച് ഈ പട്ടികകളുടെ വലിപ്പവും കൂടുന്നു. പുതിയതായി ഫോര്‍മാറ്റ് ചെയ്ത ഒരു ഡിസ്കില്‍ ഒരു ഫയല്‍ പോലും ഇല്ലെങ്കിലും അല്‍പ്പം സ്ഥലം ഉപയോഗിക്കപ്പെട്ടിരിക്കുന്നതായി കാണാന്‍ സാധിക്കും. ഓരോ ഫയല്‍ സിസ്റ്റങ്ങളും ഈ വിവരങ്ങള്‍ സൂക്ഷിക്കാന്‍ ഉപയോഗിക്കുന്ന പട്ടികയിലെ ഓരോ ഘടകങ്ങള്‍ക്കുമായി നീക്കി വച്ചിരിക്കുന്ന ബൈറ്റുകളുടെ എണ്ണം വ്യത്യസ്തമായിരിക്കും. അതിനാല്‍ തന്നെ വ്യത്യസ്ത ഫയല്‍ സിസ്റ്റങ്ങളില്‍ ഒരു ഫയലിന്റെ പേരില്‍ ഉണ്ടാകാവുന്ന പരമാവധി അക്ഷരങ്ങളുടെ എണ്ണം, ഒരൊറ്റ ഫയലിന് അനുവദനീയമായ പരമാവധി വലുപ്പം, ആ ഫയല്‍ സിസ്റ്റം സജ്ജീകരിക്കാവുന്ന ഡിസ്ക്/പാര്‍ട്ടീഷ്യന് ഉണ്ടാകാവുന്ന പരമാവധി വലിപ്പം ഇവയൊക്കെ വ്യത്യസ്തമായിരിക്കും. ഉദാഹരണത്തിന് സാധാരണ നമ്മുടെ പെന്‍ഡ്രൈവുകളിലും  മെമ്മറി കാര്‍ഡൂകളിലും  ഒക്കെ ഉണ്ടാകാറുള്ള FAT32 ഫയല്‍ സിസ്റ്റത്തില്‍ ഒരു ഫയലിന്റെ പരമാവധി വലിപ്പം 4,294,967,295 ബൈറ്റുകള്‍ ആണ്. ഇതിനെക്കാള്‍ വലിപ്പമുള്ള ഫയലുകള്‍ അതിലേക്ക് കോപ്പി ചെയ്യാനാവില്ല. അതുപോലെ ഫയലിന്റെ പേരില്‍ ഉണ്ടാകാവുന്ന പരമാവധി അക്ഷരങ്ങളുടെ എണ്ണം 255 ആണ്.

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

ഡിസ്കില്‍ ഒരു ഫയല്‍ സൃഷ്ടിക്കപ്പെടുന്നത്, നീക്കം ചെയ്യപ്പെടുന്നത് ഒക്കെ എങ്ങനെയെന്ന് അടുത്തഭാഗത്തില്‍..

Sunday, August 12, 2012

ഫയല്‍ സിസ്റ്റങ്ങള്‍ - 1

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

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

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

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

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

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

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

Saturday, August 11, 2012

നിങ്ങളുടെ ലിനക്സിനെ അറിയൂ.. - 2

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

/bin - വിവിധ പ്രോഗ്രാമുകള്‍ ഇതില്‍ ഉണ്ടാകും. ബൈനറി എന്നതിന്റെ ചുരുക്കപ്പേരാണ് ബിന്‍. വിന്‍ഡോസില്‍ C:\WINDOWS\System32 എന്ന ഫോള്‍ഡറിന് സമാനമാണിത്.
/sbin - ഇതിലും വിവിധ പ്രോഗ്രാമുകള്‍ തന്നെ. എന്നാല്‍ ബിന്‍ ഡയറക്ടറിയില്‍ ഉള്ള പ്രോഗ്രാമികളില്‍ നിന്നും വ്യത്യസ്തമായി ഇതിലെ മിക്കവാറും പ്രോഗ്രാമുകള്‍ ഉപയോഗിക്കാന്‍ സാധാരണ ഉപഭോക്താവിന് കഴിയില്ല. റൂട്ട് യൂസര്‍ എന്ന സിസ്റ്റം അഡ്മിനിസ്റ്റ്രെറ്റര്‍ക്ക് ഉള്ളവയാണ് ഇവ. റൂട്ട് യൂസറിന്റെ പാസ് വേര്‍ഡ്  അറിയാമെങ്കില്‍ ആര്‍ക്കും ഉപയോഗിക്കാം.
/usr - ഇതില്‍ തീമുകള്‍, ഫോണ്ടുകള്‍, യൂസര്‍ മാനുവലുകള്‍ ഒക്കെ.
/usr/bin - /bin പോലെ തന്നെ. വിന്‍ഡോസില്‍ C:\Program Files എന്ന ഫോള്‍ഡറിന് സമാനമാണിത്.
/usr/sbin - /sbin പോലെ തന്നെ.
/etc - വിവിധ പ്രോഗ്രാമുകളുടെ ക്രമീകരണങ്ങള്‍ ഉള്‍ക്കൊള്ളുന്ന ഫയലുകള്‍ ആണ് ഇതില്‍ ഉണ്ടാവുക.
/mnt - ലിനക്സ് വിവിധ ഫയല്‍ സിസ്റ്റങ്ങളെ പിന്തുണക്കുന്നു. ഇപ്പോള്‍ നിങ്ങളുടെ ഹാര്‍ഡ് ഡിസ്കില്‍ നാല് പാര്‍ട്ടീഷ്യനുകള്‍ ഉണ്ടെന്നിരിക്കട്ടെ. വിന്‍ഡോസില്‍ C: D: E: F: എന്നിങ്ങനെ ഇവയെ കാണാം. ലിനക്സില്‍ ഇവ ഉപയോഗിക്കണമെങ്കില്‍ അതിനെ റൂട്ട് ഫയല്‍ സിസ്റ്റത്തിലെ ഏതെങ്കിലും  ഒരു ഡയറക്ടറിയുമായി ബന്ധിപ്പിക്കണം. മൗണ്ടിങ്ങ് എന്നാണ് ഇതിന് പറയുന്നത്. ഒരു ഡിസ്ക് അല്ലെങ്കില്‍ ഡിസ്ക് പാര്‍ട്ടീഷ്യനുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന ഡയറക്റ്ററിയെ ആ ഡിസ്കിന്റെ മൗണ്ട് പോയിന്റ് എന്ന് വിളിക്കുന്നു. നിങ്ങളുടെ കമ്പ്യൂട്ടറുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന വിവിധ ഡിസ്കുകളെ /mnt യില്‍ ഉള്ള വിവിധ ഡയറക്റ്ററികളില്‍ മൗണ്ട് ചെയ്യാം.
/media - /mnt പോലെതന്നെ.
/home - കമ്പ്യൂട്ടറിലെ ഓരോ യൂസര്‍ക്കും ഈ ഡയറക്റ്ററിയില്‍ ഒരു ഡയറക്റ്ററി ഉണ്ടാകും. ആ യൂസറിന്റെ ക്രമീകരണങ്ങള്‍, ഫയലുകള്‍ ഒക്കെ ഇതില്‍ കാണും. വിന്‍ഡോസിലെ My Documents പോലെ. ഈ ഡയറക്റ്ററി ചിലപ്പോളൊക്കെ വേറെ ഒരു ഡിസ്ക് പാര്‍ട്ടീഷ്യന്റെ മൗണ്ട് പോയിന്റ് ആയിരിക്കും. ലിനക്സ് ഇന്സ്റ്റാള്‍ ചെയ്യുന്ന സമയത്ത് റൂട്ട് ഫയല്‍ സിസ്റ്റം ക്രമീകരിക്കാന്‍ ഒരു പ്രത്യേക പാര്‍ട്ടീഷ്യന്‍ നിര്‍ബന്ധമാണല്ലോ. അതുപോലെ ഉപഭോക്താക്കളുടെ വിവരങ്ങള്‍ ശേഖരിക്കാന്‍ വേറെ ഒരു പാര്‍ട്ടീഷ്യന്‍ ഉണ്ടെങ്കില്‍ അതിനെ /home ഇല്‍ മൗണ്ട് ചെയ്യാം. ഇങ്ങനെ ചെയ്യുന്നതിന് പല മെച്ചങ്ങളും  ഉണ്ട്. ഉബുണ്ടു പോലെയുള്ള ലിനക്സ് ഡിസ്ട്രിബ്യൂഷനുകള്‍ കൂടെക്കൂടെ പുതിയ പതിപ്പുകള്‍ ഇറക്കാറുണ്ട്.പുതിയ പതിപ്പുകള്‍ ഇന്‍സ്റ്റാള്‍ ചെയ്യുമ്പോള്‍ പഴയതില്‍ ഉണ്ടായിരുന്ന വിവരങ്ങള്‍ മിക്കവാറും നഷ്ടമാകും. ഡെസ്ക്ടോപ്പില്‍ സൂക്ഷിച്ച ഫയലുകള്‍, ക്രമീകരണങ്ങള്‍, വെബ് ബ്രൗസറിലെ ബുക്ക് മാര്‍ക്കുകള്‍ ഒക്കെ. ഉപഭോക്താക്കളുടെ വിവരങ്ങള്‍ക്കായി വേറെ പാര്‍ട്ടീഷ്യന്‍ ഉണ്ടെങ്കില്‍ ഇതിനെ ഫോര്‍മാറ്റ് ചെയ്യാതെ റൂട്ട് ഫയല്‍ സിസ്റ്റം മാത്രം ഫോര്‍മാറ്റ് ചെയ്ത് പുതിയ പതിപ്പുകള്‍ സജ്ജീകരിക്കാം. അപ്പോള്‍ ഉപഭോക്താക്കളുടെ വിവരങ്ങള്‍ നഷ്ടപ്പെടാതെ ഇരിക്കും.
/var - ഇത് ഏകദേശം /etc പോലെ തന്നെ.
/boot - കെര്‍ണല്‍, ബൂട്ട് ലോഡര്‍ തുടങ്ങിയവ ഇതില്‍ കാണും. /boot/vmlinuz ആണ് ലിനക്സ് കെര്‍ണല്‍. ബൂട്ട് ലോഡറുകളെ പറ്റി വഴിയെ..

മേല്‍പ്പറഞ്ഞ ഡയറക്റ്ററികളിലെ വിവരങ്ങള്‍ ഡിസ്കില്‍ സൂക്ഷിക്കപ്പെട്ടവയും കമ്പ്യൂട്ടര്‍ ഓഫ് ചെയ്താലും നഷ്ടപ്പെടാത്തവയും ആണ്. ഇനി വരുന്നവ ലിനക്സ് ഉപയോഗിക്കുന്ന യതാര്‍ഥങ്ങള്‍ അല്ലാത്ത (സ്യൂഡോ) ഫയല്‍ സിസ്റ്റങ്ങളുടെ മൗണ്ട് പോയിന്റുകള്‍ ആണ്. ഈ ഡയറക്റ്ററികളിലെ വിവരങ്ങള്‍ ഓരോ തവണ കംപ്യൂട്ടര്‍ ഓഫ് ചെയ്യുമ്പോളും ഇല്ലാതാകും. ഇതിലെ ഫയലുകളില്‍ ഉള്ള വിവരങ്ങള്‍ എവിടേയും രേഖപ്പെടുത്തിയവ അല്ല, ഓരോ തവണ ആ ഫയലുകള്‍ വായിക്കുമ്പോളും താല്‍ക്കാലികമായി ഉണ്ടാക്കപ്പെടുന്നവയാണ്.

/tmp - പ്രോഗ്രാമുകള്‍ പ്രവര്‍ത്തിക്കുമ്പോള്‍ താല്‍ക്കാലിക വിവരങ്ങള്‍ സൂക്ഷിക്കാന്‍.
/dev - ലിനക്സ്/യൂണിക്സ് സിസ്റ്റങ്ങള്‍ എല്ലാത്തിനെയും ഫയലുകള്‍ ആയിട്ടാണ് പരിഗണിക്കുക എന്ന് ആദ്യത്തെ പോസ്റ്റില്‍ പറഞ്ഞിരുന്നല്ലോ. കംപ്യൂട്ടറുമായി ഘടിപ്പിച്ചിരിക്കുന്ന ഓരോ ഉപകരണങ്ങള്‍ക്കും ആയുള്ള ഫയലുകള്‍ ആണ് ഇതില്‍ ഉണ്ടാകുക.
/proc - ലിനക്സില്‍ പ്രവര്‍ത്തിച്ചുകൊണ്ടിരിക്കുന്ന എല്ലാ പ്രോഗ്രാമുകളെയും സമ്ബന്ധിച്ച വിവരങ്ങള്‍ അടങ്ങിയ ഫയലുകള്‍, പ്രോസസറിനെയും മെമ്മറിയെയും കുറിച്ചുള്ള വിവരങ്ങള്‍ ഒക്കെ.
/sys - /dev പോലെ തന്നെ. ചില്ലറ വ്യത്യാസങ്ങള്‍ ഉണ്ട്.

ഫയല്‍ സിസ്റ്റങ്ങളെ കുറിച്ച് വിശദമായി അടുത്ത് പോസ്റ്റ്. സംശയങ്ങളും അഭിപ്രായങ്ങളും അറിയിക്കുമല്ലോ..

നിങ്ങളുടെ ലിനക്സിനെ അറിയൂ.. - 1

     ഉബുണ്ടു പോലെയുള്ള ഡസ്ക്ടോപ്‌ ലിനക്സ് ഡിസ്ട്രിബ്യൂഷനുകളുടെ വരവോടെ അല്ലെങ്കില്‍ മെച്ചപ്പെടലിലൂടെ ഇന്ന് ആര്‍ക്കും ലിനക്സ് സിസ്റ്റങ്ങള്‍ എളുപ്പത്തില്‍ ഉപയോഗിക്കാവുന്ന സ്ഥിതി വന്നിട്ടുണ്ട്. ഗ്രാഫിക്കല്‍ യൂസര്‍ ഇന്റര്‍ഫേസ് (ജി യു ഐ) ഉള്‍പ്പെടെ വരുന്ന ഈ ഡിസ്ട്രിബ്യൂഷനുകള്‍ ഒരു കമാന്‍ഡ് ലൈന്‍ ഇന്റര്‍ഫേസ് ഉപയോഗിച്ച് കമാന്‍ഡുകള്‍ വഴി കമ്പ്യൂട്ടര്‍ പ്രവര്‍ത്തിപ്പിക്കേണ്ട ആവശ്യം ഇല്ലാതാക്കി. തുടക്കക്കാര്‍ക്കും ഒരുപാട് നാള്‍ വിന്‍ഡോസോ മാക്കോ ഒക്കെ ഉപയോഗിച്ചവര്‍ക്കും വേഗത്തില്‍ തന്നെ മനസ്സിലാക്കി എടുക്കാന്‍ കഴിയുന്ന രീതിയില്‍ ആണ് ഇപ്പോള്‍ ലിനക്സ് അധിഷ്ടിത ഡസ്ക്ടോപ്‌ സിസ്റ്റങ്ങള്‍. ഇവയെ പൊതുവേ ലിനക്സ് എന്ന് പറയാറുണ്ടെങ്കിലും ഗ്നു/ലിനക്സ് സിസ്റ്റങ്ങള്‍ എന്നതാണ് ശരിയായ പ്രയോഗം. ലിനക്സ് എന്നത് ഈ സിസ്റ്റങ്ങളില്‍ ഉപയോഗിക്കുന്ന കെര്‍ണല്‍ ആണ്. ഒരു ലിനക്സ് ഡിസ്ട്രിബ്യൂഷന്‍ എന്നത് ലിനക്സ് കെര്‍ണല്‍, ഗ്രാഫിക്കല്‍ ഡെസ്ക്ടോപ്പ് എന്‍വയോണ്‍മെന്റ്, അത്യാവശ്യമുള്ള പ്രോഗ്രാമുകള്‍ (ഒരു ടെക്സ്റ്റ് എഡിറ്റര്‍, മ്യൂസിക് പ്ലെയര്‍, ഓഫീസ് ഉപകരണങ്ങള്‍), പുതിയ പ്രോഗ്രാമുകള്‍ ചേര്‍ക്കാനും ചേര്‍ത്തവ ഒഴിവാക്കാനും ഉള്ള പാക്കേജ് മാനെജ്മെന്റ് സംവിധാനം, നെറ്റ്‌വര്‍ക്ക്, മോണിറ്ററുകള്‍, പ്രിന്ററുകള്‍ പോലെയുള്ള ഉപകരണങ്ങള്‍ ഒക്കെ സജ്ജീകരിക്കാനും പ്രവര്‍ത്തിപ്പിക്കാനും സഹായിക്കുന്ന പ്രോഗ്രാമുകള്‍ എന്നിവയൊക്കെ അടങ്ങിയതാണ്.
     എല്ലാ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിലേയും പോലെ ഇവിടെയും ഏറ്റവും പ്രധാനപ്പെട്ടത് കെര്‍ണല്‍ തന്നെയാണ്. കംപ്യൂട്ടറുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന എല്ലാ ഉപകരണങ്ങളെയും നിയന്ത്രിക്കുന്നത്‌ കെര്‍ണല്‍ വഴിയാണ്, അല്ലെങ്കില്‍ കെര്‍ണല്‍ ആണ്. ഒരു സമയത്ത് പ്രവര്‍ത്തിച്ചുകൊണ്ടിരിക്കുന്ന പ്രോഗ്രാമുകളെ നിയന്ത്രിക്കുക, വിവിധ പ്രോഗ്രാമുകള്‍ക്ക് ഒരേ സമയം പ്രവര്‍ത്തിക്കാന്‍ ഉള്ള ഒരു അന്തരീക്ഷം ഒരുക്കുക, പ്രോഗ്രാമുകള്‍ ആവശ്യപ്പെടുന്നത് അനുസരിച്ച് ഡിസ്കുകളില്‍ നിന്നും വിവരങ്ങള്‍ ലഭ്യമാക്കുക, ഡിസ്കുകളിലേക്ക് വിവരങ്ങള്‍ രേഖപ്പെടുത്തുക, വിവിധ ഉപഭോക്താക്കള്‍ ഉള്ള ഒരു കമ്പ്യൂട്ടറില്‍ ഓരോ ഉപഭോക്താവും ശേഖരിച്ചിരിക്കുന്ന വിവരങ്ങളുടെ സ്വകാര്യത ഉറപ്പു നല്‍കുക തുടങ്ങിയവയെല്ലാം കെര്‍ണലിന്റെ ജോലിയില്‍ പെടുന്നു. വിവിധ ഉപകരണങ്ങളെ നിയന്ത്രിക്കാനുള്ള ഡ്രൈവറുകള്‍ കെര്‍ണലിന്റെ ഭാഗമാണ്. മോണോലിത്തിക്‌ കെര്‍ണല്‍ രീതി പിന്‍തുടരുന്ന ലിനക്സിന്റെ കെര്‍ണല്‍ ഒരൊറ്റ ഫയല്‍ ആണ്. ഇതിന് ഉള്‍പ്പെടുത്തിയിരിക്കുന്ന സൌകര്യങ്ങളുടെ അടിസ്ഥാനത്തില്‍ പല വലിപ്പം ഉണ്ടാകും. പൊതുവേ നിങ്ങളുടെ ഒരുമാതിരി ഉപകരണങ്ങള്‍ ഒക്കെ പ്രവര്‍ത്തിപ്പിക്കാനുള്ള ഡ്രൈവറുകള്‍ അടങ്ങിയ ഒരു ഫുള്‍ ഓപ്ഷന്‍ കെര്‍ണലിന്റെ വലിപ്പം ഏതാണ്ട് മൂന്നര എം ബി മാത്രമേ വരികയുള്ളൂ.. അഞ്ചു മിനിറ്റ് തികച്ച് പാടുന്ന ഒരു എം പി ത്രീ ഫയല്‍ മോശമില്ലാത്ത നിലവാരത്തില്‍ ഉള്ളത്, അല്ലെങ്കില്‍ നല്ല ഒരു ഡിജിറ്റല്‍ ക്യാമറയില്‍ എടുക്കുന്ന ചിത്രം ഇതിനേക്കാള്‍ വലുതായിരിക്കും..
     കെര്‍ണല്‍ കഴിഞ്ഞാല്‍ പിന്നെ ഫയല്‍ സിസ്റ്റം ആണ് പ്രധാനപ്പെട്ടത്. യൂനിക്സ് സിസ്റ്റങ്ങളില്‍ അടിസ്ഥാനപരമായി എല്ലാം ഫയലുകള്‍ ആണ്. കമ്പ്യൂട്ടറില്‍ ഘടിപ്പിച്ചിരിക്കുന്ന ഉപകരണങ്ങളും കമ്പ്യൂട്ടര്‍ പ്രവര്‍ത്തിപ്പിക്കുന്ന നിങ്ങളും പ്രോഗ്രാമുകളും പ്രോസസുകളും എല്ലാം ഫയലുകള്‍ തന്നെ.. ഇതിന് ഒരേ ഒരു അപവാദം നെറ്റ്‌വര്‍ക്ക് ഉപകരണങ്ങള്‍ ആണ്. ഇതിന്റെ വിശദാംശങ്ങള്‍ പിന്നാലെ.. ഓരോ ഉപകരണങ്ങളെ പ്രവര്‍ത്തിപ്പിക്കുന്ന പ്രോഗ്രാമുകളും അതുമായി ബന്ധപ്പെട്ട ഫയലുകള്‍ തുറക്കുകയും അവയില്‍ നിന്ന് വായിക്കുകയും അവയിലേക്ക് എഴുതുകയും ചെയ്യുന്നു. ഒരു സാധാരണ ടെക്സ്റ്റ് ഫയല്‍ ഉപയോഗിക്കുന്ന ലാഘവത്തോടെ.. ഒരു ലിനക്സ് സിസ്റ്റത്തിന്റെ ഫയല്‍ സിസ്റ്റത്തെ കുറിച്ചുള്ള വിശദാംശങ്ങളും ആയി അടുത്ത പോസ്റ്റ്‌..