Jun 11, 2011

File System என்றால் என்ன?





பைல் சிஸ்டம் எனப்படுவது ஹாட் டிஸ்கில் புதியப்படும் பைல்களை இயங்கு தளம் கையாளும் ஒரு வழி முறையாகும். பல்லாயிரம் பைல்கள் உங்கள் கணனியில் இருக்கலாம் எனினும் அவற்றை ஒழுங்காகப் பேணவும் நிர்வகிக்கவும் ஒரு வழி முறை இல்லையெனின் கணனி நத்தை வேகத்திலேயே இயங்கும்.

உதாரணமாக ஒரு அலுவலகத்தில் உள்ள ஆவணங்களை முறைப்படி ஒழுங்காக வைக்காமல் ஒவ்வோரிடத்தில் சிதறிக் கிடந்தால் தேவையான நேரத்தில் ஒரு பைலைத் தேடிப் பெற எவ்வளவு நேரத்தைச் செலவிட வேண்டியிருக்கும்? முறையான ஒரு பைல் சிஸ்டம் இல்லையாயின் இது போன்ற ஒரு நிலையையே கணனியும் எதிர்கொள்ளும்.

வீடுகளிலோ அலுவலகத்திலோ பலரும் பல விதமான முறைகளில் பொருட்களை ஒழுங்குபடுத்துவது போல கணனியிலும் பைல்களை ஒழுங்கு படுத்துவதில் FAT 16, FAT 32, NTFS எனப் பல வழி முறைகள் உள்ளன. இவை ஒவ்வொன்றும் தமக்கேயுரிய சிறப்பியல்புகளைக் கொண்டுள்ளதுடன் அவற்றிற்கிடையே சில பொதுவான பண்புகளும் உள்ளன.

* ஹாட் டிஸ்கில் உள்ள வெற்றிடத்தில் டேட்டாவை சேமிப்பதில் காட்டும் திறன்.

* ஹாட் டிஸ்கில் உள்ள பைல்கள் அனைத்தையும் பட்டியலிடுதல் மூலம் அவற்றை விரைவாக மீட்டுக் கொள்ளும் திறன்.

* பைல்களை அழித்தல், பெயரிடுதல், பிரதி செய்தல், இடம்மாற்றுதல் போன்ற பைல் சார்ந்த அடிப்படை விடயங்களை மேற்கொள்ளுதல் என்பன பொதுவான பண்புகளாகும்.

இந்த அடிப்படை விடயங்களுடன் சில பைல் சிஸ்டம், பைல்களைச் சுருக்குதல் (Compression) குறியீட்டு முறைக்கு மாற்றுதல் (encryption), கடவுச் சொல் (Pass word) மூலம் பாதுகாப்பளித்தல் போன்ற கூடுதல் வசதிகளையும் கொண்டிருக்கும்.

FAT16 (File Allocation Table) என்றால் என்ன? எம். எஸ். டொஸ் இயங்கு தளத்துடன் அறிமுகப்படுத்தப்பட்ட இந்த பைல் சிஸ்டம் அதிக பட்சம் 2GB கொள்ளளவு கொண்ட ஹாட் டிஸ்கிற்கே பொருந்தும். ஹாட் டிஸ்கில் டேட்டா மெல்லீய பொது மையம் கொண்ட ட்ரேக்ஸ் (Tracks) எனும் பாதையிலேயே பதியப்படுகின்றன.

ஒவ்வொரு டரேக்கும் செக்டர்ஸ் (Sectors) எனும் பகுதிகளாகப் பிரிக்கப்படுகின்றன. அத்தோடு ஒவ்வொரு ட்ரேக்கும் ஒரே அளவான செக்டர்களாகக் கொண்டிருக்கும். டிஸ்கில் உள்ள டேட்டாவை பதியும் மிகவும் சிறிய பகுதியே செக்டர் ஆகும். ஒரு செக்டரின் அளவு 512 பைட்டுகளாகும். ஹாட் டிஸ்கை போமட் செய்யும் போதே இவ்வாறு பிரிக்கப்படுகின்றன.

இந்த இடத்தில் நான் ஒரு ‘கணக்கு வாத்தியார்,’ வேலை பார்க்க வேண்டியுள்ளது.

ஹாட் டிஸ்கின் மொத்த கொள்வனவு 10 கிலோ பைட் எனின் அந்த ஹாட் டிஸ்க்
20 செக்டாக்களாகப் பிரிக்கப்படும் எனினும் இயங்குதளமானது நேரடியாக ஒவ்வொரு செக்டரையும் அணுகுவதில்லை. மாறாக அது பல செக்டர்களை ஒன்று சேர்த்து க்ளஸ்டர் (Cluster) எனும் ஒரு அணியாக மாற்றி அதனையே அணுகுகின்றது இதனை (Allocation Unit) எனவும் அழைக்கப்படும்.

உதாரணமாக ஒவ்வொரு செக்டரையும் ஒரு பையை கையில் வைத்திருக்கும் ஒரு நபருக்கு ஒப்பிடுங்கள். ஒவ்வொரு பையிலும் 512 பைட் டேட்டாவையே சேமிக்க முடியும்.

ஒவ்வொரு நபரையும் 1, 2, 3 என இலக்கமிடாமல், பைல் சிஸ்டமானது ஒன்றுக்கு மேற்பட்ட நபர்களை ஒன்று சேர்த்து ஒரு அணியாக மாற்றி அவர்களை முதலாவது அணி எனப் பெயரிடுகிறது. மொத்தமாக 400 பேர் இருப்பார்கள் எனின் பைல் சிஸ்டம் அணிக்கு நால்வராக 100 அணிகளாகப் பிரித்துக் கொள்ளும்.

இன்னொரு வகையில் சொல்வதானால் 400 செக்டர்கள் கொண்ட ஒரு ஹாட் டிஸ்கில் (200 கிலோபைட்) அளவாக 4 செக்டர்களை ஒரு க்ளஸ்டர் கொண்டிருப்பின் மொத்தமாக 100 க்ளஸ்டர்கள் காணப்படும்.

பைல் சிஸ்டமானது ஒரு குறித்த செக்டரை அணுக வேண்டுமானால் முதலில் அந்த செக்டர் இடம் பெறும் க்ளஸ்டர் இலக்கத்தையே அணுகும். அந்த க்ளஸ்டருக்குள் செக்டரின் தொடரிலக்கத்தின் மூலம் உரிய செக்டரை அடையும் அதாவது ரிம்ஸி எனும் நபரைக் கண்டு பிடிக்க ரிம்ஸி இடம்பெறும் அணியை முதலில் அணுகி அங்கு ரிம்ஸியைக் கண்டு பிடிப்பதற்கு ஒத்ததாகும்.

FAT16, Fat32 மற்றும் NTFS எனும் மூன்று பைல் சிஸ்டங்களும் இம்முறையிலேயே இயங்குகின்றன. இப்படியானால் இவற்றுக்கிடையே என்ன வேறுபாடுகள் உள்ளன?

முக்கிய வேறுபாடு யாதெனில் ஒவ்வொரு பைல் சிஸ்டமும் ஹாட் டிஸ்கில் எவ்வளவு வெற்றிடத்தைக் கையாளும் திறன் வாய்ந்தது என்பதிலேயே தங்கியுள்ளது. பைல்களைக் கையாளும் திறனில் காணப்படும் பாரிய சிக்கல் யாதெனில் ஹாட் டிஸ்கில் ஒவ்வொரு க்ளஸ்டரும் ஒரு பைலை மட்டுமே சேமிக்கும் அதாவது ஒவ்வொரு அணியும் ஒரு விடயத்தை மாத்திரமே கையாளும்.


FAT16, FA 32 மற்றும் NTFS எனும் மூன்று பைல் சிஸ்டங்களும் ஒரே விதத்திலேயே இயங்குகின்றன. இவற்றுக்கிடையே உள்ள முக்கிய வேறுபாடு யாதெனில் ஒவ்வொரு பைல் சிஸ்டமும் ஹாட் டிஸ்கில் எவ்வளவு வெற்றிடத்தைக் கையாளும் திறன் வாய்ந்தது என்பதாகும்.

பைல்களைக் கையாளும் திறனில் காணப்படும் பாரிய சிக்கல் யாதெனில் ஹாட் டிஸ்கில் ஒவ்வொரு க்ளஸ்டரும் ஒரு பைலை மட்டுமே சேமிக்கும். அதாவது ஒவ்வொரு அணியும் ஒரு விடயத்தை மாத்திரமே கையாளும். கீழே தரப்படும் உதாரணங்களைக் கவனியுங்கள்.

இயங்குதளமானது ஒரு தொகுதி நபர்களை குழுவுக்கு 8 பேர் வீதம் பிரித்துக் கொள்வதாகக் கற்பனை செய்து கொள்ளுங்கள். ஒவ்வொருவர் கையிலும் ஒரு பையும் உள்ளது. இப்போது இயங்கு தளம் பென்சில்கள் கொண்ட ஒரு பெட்டியை முதல் அணியிடம் கொடுத்து அவற்றை பையில் போடச் சொல்கிறது.

முதல் எட்டுப் பேரும் அந்தப் பென்சில்களை பையில் போட்டு விடுகிறார்கள். ஒரு பை நிரம்பியதும் அடுத்த நபருக்கு கைமாறுகிறது. இவ்வாறு 7 பைகளை அந்தப் பென்சில்கள் நிரப்பி விடுகின்றன.

இப்போது இயங்குதளம் அந்த அணியில் மீதமிருக்கும் எட்டாவது நபரின் பையில் போடுமாறு வேறொரு பொருளைக் கையளிக்க முயற்சிக்கிறது. எனினும் அந்த அணியானது ஏற்கனவே தம்மிடம் பென்சில்கள் தரப்பட்டுள்ளதாகவும் இந்தப் பொருளை ஏற்க முடியாது எனவும் மறுக்கிறது. பதிலுக்கு இயங்கு தளம் ஹாட் டிஸ்கில் (1/8 = 0.125) 12 வீதத்தை விரயம் செய்வதாகச் சொல்கிறது.

எனினும் பைல் சிஸ்டம் தம்மால் அதனைத் தவிர்க்க முடியாது எனச் சொல்லி விடுகிறது.

அடுத்து இயங்கு தளம் 8 பேர் கொண்ட வேறொரு அணியிடம் ஒரே ஒரு பென்சிலை மாத்திரம் கொடுத்து அதனைப் பையில் போடச் சொல்கிறது. அதனை வாங்கிக் கொண்ட அந்த அணி வேறு எதனையும் வாங்கிக் கொள்ள மறுக்கிறது.

இப்போது இயங்கு தளம் 100 வீதமான வெற்றிடம் அங்கு விரயம் செய்யப்படுவதாகச் சொல்கிறது.

எனினும் பைல் சிஸ்டம் தன்னால் எதுவும் செய்ய முடியாது எனச் சொல்லி விடுகிறது.

இந்த உதாரணங்கள் சிறு பிள்ளைத் தனமாக உங்களுக்கு தோன்றலாம். எனினும் இவ்வாறான நிகழ்வே பைல்களைச் சேமிக்கும் போது நடைபெறுகிறது.

க்ளஸ்டரின் எண்ணிக்கை அதிகமாகும் போது விரயமாகும் ஹாட் டிஸ்கின் வெற்றிடமும் அதிகமாகும்.

க்ளஸ்டரின் அளவுக்கேற்ப ஒவ்வொரு பைலையும் மாற்றியமைக்க முடியுமானால் எந்த வித விரயமும் ஏற்படப் போவதில்லை. எனினும் அது சாத்தியமானதல்ல.

ஒவ்வொரு க்ளஸ்டரின் அளவையும் கணனி எவ்வாறு தீர்மானிக்கிறது? இதற்கு மிக எளிதாக விடை காணலாம்.

ஹாட் டிஸ்கின் அளவை எடுத்துக் கொள்ளுங்கள். அதனை மொத்தம் பயன்படுத்தப்பட்டுள்ள க்ளஸ்டர்களின் எண்ணிக்கையால் வகுக்க வருவது ஒரு க்ளஸ்டரின் அளவாகும். அதாவது க்ளஸ்டரின் அளவு = ஹாட்டிஸ்க் வெற்றிடம்/ க்ளஸ்டர்களின் எண்ணிக்கை.

க்ளஸ்டரின் அளவு அதிகரிக்கும் போது டிஸ்க் விரயமும் அதிகரிப்பதால் அதிக எண்ணிக்கையிலான க்ளஸ்டர்களைக் கையாளக் கூடிய ஒரு பைல் சிஸ்டமே எமக்கு அவசியமாகிறது. இந்த இடத்திலேயே FAT16 மற்றும் FAT32 என்பன வேறுபடுகின்றன. FAT32 அதிக எண்ணிக்கையிலான க்ளஸ்டர்களைக் கையாள வல்லது.

ஏன் அப்படி? எளிமையான விளக்கம் தருவதானால் FAT32 இல் FAT16 விடவும் அதிக அளவில் க்ளஸ்டர்களை இலக்கமிட முடியும்.

ஒவ்வொரு க்ளஸ்டரும் பைல் சிஸ்டம் மூலம் இலக்கமிடப்படுகிறது என்பதை நீங்கள் அறிந்திருக்கலாம். FAT16 ஆனது 16 இலக்கங்கள் கொண்ட (16 பிட்) பைனரி இலக்க முறையை அதற்குப் பயன்படுத்துகிறது. இதன்படி FAT16 மூலம் இலக்கமிடக் கூடிய அதிகூடிய எண் 65535. ஆகவே FAT16 இல் 65535 க்ளஸ்டர்களை இலக்கமிடலாம்.

இதிலிருந்து என்ன தெளிவாகிறதென்றால், ஹாட் டிஸ்கின் அளவு பெரிதாகும் போது க்ளஸ்டரின் எண்ணிக்கை(Number of clusters) அதே அளவு மாறாமலேயிருக்கும். ஆகவே க்ளஸ்டரின் அளவு (cluster size) அதிகரிக்கும்.

எனினும் ஒரு க்ளஸ்டரின் அளவை எல்லையின்றி அதிகரிக்க முடியும் எனக் கருதுவதும் தவறு. ஏனெனில் ஒவ்வொரு க்ளஸ்டரிலும் உள்ள செக்டர்களும் இலக்கமிடப்பட வேண்டியுள்ளது. ஒவ்வொரு செக்டரும் ஒரு தொடரிலக்கத்தைக் கொண்டிருக்கும்.

அது ஒரு பைட்டின் அளவிற்குள் இருக்கும். ஒரு பைட் என்பது 8 பிட்டுக்களைக் கொண்டிருக்கும். அதாவது செக்டர்களைக் குறிக்கப் பயன்படும் இலக்கம் மூலம் 2-7 (இரண்டின் 7 ஆம் அடுக்கு) அல்லது 128 செக்டர்களை இலக்கமிட முடியும் இதிலிருந்து பின்வரும் முடிவைப் பெறலாம். உங்களிடம் 65536 க்ளஸ்டர்கள் இருக்கின்றன. ஒவ்வொரு க்ளஸ்டரும் 128 செக்டர்களைக் கொண்டுள்ளன.

ஒவ்வொரு செக்டரும் 512 பைட்டுகளைக் கொண்டுள்ளன. இதிலிருந்து FAT16 கையாளக் கூடிய ஹாட் டிஸ்க் அளவு 65535 X 128 X 512 = 4 GB,

FAT16 கையாளும் அதி கூடிய ஹாட் டிஸ்க் அளவு 2GB என நான் ஏற்கனவே கூறியிருக்கிறேன். அப்படியானால் இந்தக் கணக்கு சரிதானா? FAT16 இல ஒவ்வொரு க்ளஸ்டரும் 32 கிலோ பைட்டைக் கொண்டிருக்கும். இங்கு சிக்கல் என்னவென்றால் 128 செக்டர்கள்X512 பைட் தருவது 65536 எனும் இலக்கமாகும்.

இது 16 பிட் இலக்கமொன்றால் கையாளக் கூடிய எண்ணிக்கையை விட ஒன்று அதிகமாகும். எனவே 128ற்குப் பதிலாக 64 செக்டர் கொண்ட க்ளஸ்டராகக் குறைத்துக்கொள்ள வேண்டி ஏற்படுகிறது. அதன்படி க்ளஸ்டரின் அளவு 32 கிலோ பைட்டாக மாறுகிறது. 32 கிலோ பைட் X65535 தருவது அண்ணளவாக 2 GB எனும் பெறுமானமாகும்.






Related Posts

File System என்றால் என்ன?
4/ 5
Oleh