বর্তমানে অনেক ধরনের ডাটা ষ্টোরেজ ডিভাইসে ডিজিটাল ডাটা সংরক্ষন করা হচ্ছে - যেমন - হার্ডডিস্ক ড্রাইভ, মেমোরি ষ্টিক, পেন ড্রাইভ/ফ্ল্যাশ ড্রাইভ, সিডি/ডিভিডি/ব্লুরে ডিস্ক, এস.এস.ডি. ইত্যাদি। এই সকল ডিভাইসে যে ডাটা সংরক্ষণ করা হচ্ছে সেগুলো কোন একটা সিষ্টেমের মাধ্যমেই ষ্টোর হয়ে থাকে। এই সিস্টেমটাকেই বলে ফাইল সিষ্টেম। ফাইল সিস্টেম সম্পর্কে বিস্তারিত জানাটা অনেক বেশি গুরুত্ব বহন করে থাকে একজন ডেটা রিকভারি স্পেশালিষ্ট এর। কেননা, এই সম্পর্কে জানা না থাকলে কেন ডাটা রিকভার হবে, কেন হবেনা, কি ধরনের সিচুয়েশনে কতটুকু ডাটা রিকভার হবে কি হবেনা তা ডিফাইন করা কোন ক্রমেই সম্ভব না। আল্টিমেটলি তখন ড্রাইভের ব্যাপারে কনসিউমারকে আমাদের ভ্রান্ত ধারনা দেয়া ছাড়া আর কোন অবকাশ থাকবে না।
চলুন জানা যাক, ফাইল সিস্টেম সম্পর্কে...
আমি পূর্ববর্তীতে ডাটা কিভাবে ষ্টোর হয় তার একটা ধারণা দিয়েছি এবং আরো স্পেসিফিক হ্ওয়ার জন্য আজকের লেখাটাকে আগানোর চেষ্টা করছি। ষ্টোরেজ ডিভাইসে সিকুয়েন্সিয়াল অর্ডারে ব্লক্ওয়াইজ ডাটা রাইট হয়ে থাকে। ধরুন আপনি একটি ফাইল রাখলেন যার সাইজ ১০মেগাবাইট তাহলে একেকটি ব্লক যদি ৪০৯৬ বাইটের (৪কিলোবাইট) হয়ে থাকে তাহলে নির্দিষ্ট ফাইলটি টোটাল [(১০*১০২৪)=১০২৪০কিলোবাইট/৪=২৫৬০টি ] ২৫৬০টি ব্লক দখল করে নিল এবং প্রত্যেকটি ফাইল যখন সংরক্ষন হয় তখন ফাইলটি যে ব্লকটিকে দখল করে তার জন্য যদি ২০০০ বাইট্ও ডাটা রাখার দরকার হয়, সে পুরো ব্লকটিই দখল করে নেয়। যখন আপনার নির্দিষ্ট ড্রাইভ/ভলিউম/পার্টিশনটিতে ছড়ানো ছিটানো ভাবে্ও ডাটা থেকে থাকে তাবলে সে সিকুয়েন্স অনুযায়ী পরবর্তী অব্যবহৃত ব্লকটিতে রাইট হয়। এই এলোমেলো অবস্থাটাকে বলা হয় ফ্র্যাগমেন্ট। বিস্তারিত জানার জন্য আমার লেখা"ডাটা কিভাবে ষ্টোর হয়" আর্টিক্যালটি পড়ে নিলে ভাল হয়। কিন্তু এই ফাইলগুলো যখন এভাবে ছাড়ানো ছিটানোভাবে ষ্টোর হয়ে থাকে তখন কিভাবে সম্ভব ফাইলের সাইজ এবং পজিশন জানা, কিংবা ফাইলের নামটাই বা কি? কোন সেক্টর এবং ব্লকটি ব্যবহৃত হয়েছে? এসব স্পেসিফিকভাবে লোকেট করার জন্য ফাইল সিস্টেম আামাদের হেল্প করে।
ফাইল সিস্টেম যেহেতু অপারেটিং সিষ্টেম নির্ভর তাই এটা ব্লক ব্যবহার করে ডাটা ষ্টোরের জন্য, একেকটা ব্লক এক বা একাধিক সেক্টরের সমন্বয়ে এলোকেট হয়ে থাকে। যে কোন ফাইল ব্লকের শুরু থেকেই ষ্টোর শুরু হয় এবং পুরো ব্লকটাই সে ব্যবহার করে পুরো ব্লকটা ব্যবহৃত হোক কিংবা না হোক। বর্তমান সময়ে ফাইল সিষ্টেম অনুযায়ী একেকটি ব্লক ১ থেকে ১২৮টি সেক্টর নিয়ে থাকে।
কেন ফ্র্যগমেন্টেশন হয় তা্ও আপনার আমার পূর্ববর্তী আর্টিক্যাল "ডাটা কিভাবে ষ্টোর হয়" পড়লে বুঝতে পারবেন। অর্থাত, নতুন করে ফাইল রাইট করা এবং ডিলেটের মাধ্যমেই এটা হয়ে থাকে। বিভিন্নভাগে ভাগ হয়ে ফাইলটি যখন ফ্র্যগমেন্ট অবস্থাতে থাকে এবং কোন অংশটা কোথায় আছে এইসকল ইনফরমেশন ফাইল সিষ্টেম রেখে থাকে, তাছাড়া্ও ফাইল সিষ্টেমটি তার ফাইলের সাইজ, ফাইলের লোকেশন, ফাইলের নাম, ডিরেক্টরি ইত্যাদি তথ্য ষ্টোর করে রাখে, যখন আমার একটি ফাইলকে নক করি তখন ফাইল সিষ্টেম এই সকল ইনফরমেশন এর ভিত্তিতে আমাদেরকে তথ্য প্রদান করে থাকে।
বিভিন্ন ব্যবহারকারীর বিভিন্ন প্রয়োজনীয়তা যেমন পার্ফমেন্স, ষ্ট্যবিলিটি এবং অনেকগুলো ব্যপার ভেবেই ফাইল সিষ্টেম তৈরি করা হয়েছে। এসব কারণে আমরা অনেক ধরনের ফাইল সিষ্টেম দেখে থাকি যেমন - FAT, FAT32, NTFS, EXT2/3/4/RFS/JFS, HFS, HFS+ ইত্যাদি। এইগুলোর ক্যরেকটারিষ্টিক এবং ফিচার নিয়েই আলোচনা করব পরবর্তীতে।
চলুন জানা যাক, ফাইল সিস্টেম সম্পর্কে...
আমি পূর্ববর্তীতে ডাটা কিভাবে ষ্টোর হয় তার একটা ধারণা দিয়েছি এবং আরো স্পেসিফিক হ্ওয়ার জন্য আজকের লেখাটাকে আগানোর চেষ্টা করছি। ষ্টোরেজ ডিভাইসে সিকুয়েন্সিয়াল অর্ডারে ব্লক্ওয়াইজ ডাটা রাইট হয়ে থাকে। ধরুন আপনি একটি ফাইল রাখলেন যার সাইজ ১০মেগাবাইট তাহলে একেকটি ব্লক যদি ৪০৯৬ বাইটের (৪কিলোবাইট) হয়ে থাকে তাহলে নির্দিষ্ট ফাইলটি টোটাল [(১০*১০২৪)=১০২৪০কিলোবাইট/৪=২৫৬০টি ] ২৫৬০টি ব্লক দখল করে নিল এবং প্রত্যেকটি ফাইল যখন সংরক্ষন হয় তখন ফাইলটি যে ব্লকটিকে দখল করে তার জন্য যদি ২০০০ বাইট্ও ডাটা রাখার দরকার হয়, সে পুরো ব্লকটিই দখল করে নেয়। যখন আপনার নির্দিষ্ট ড্রাইভ/ভলিউম/পার্টিশনটিতে ছড়ানো ছিটানো ভাবে্ও ডাটা থেকে থাকে তাবলে সে সিকুয়েন্স অনুযায়ী পরবর্তী অব্যবহৃত ব্লকটিতে রাইট হয়। এই এলোমেলো অবস্থাটাকে বলা হয় ফ্র্যাগমেন্ট। বিস্তারিত জানার জন্য আমার লেখা"ডাটা কিভাবে ষ্টোর হয়" আর্টিক্যালটি পড়ে নিলে ভাল হয়। কিন্তু এই ফাইলগুলো যখন এভাবে ছাড়ানো ছিটানোভাবে ষ্টোর হয়ে থাকে তখন কিভাবে সম্ভব ফাইলের সাইজ এবং পজিশন জানা, কিংবা ফাইলের নামটাই বা কি? কোন সেক্টর এবং ব্লকটি ব্যবহৃত হয়েছে? এসব স্পেসিফিকভাবে লোকেট করার জন্য ফাইল সিস্টেম আামাদের হেল্প করে।
ফাইল সিস্টেম যেহেতু অপারেটিং সিষ্টেম নির্ভর তাই এটা ব্লক ব্যবহার করে ডাটা ষ্টোরের জন্য, একেকটা ব্লক এক বা একাধিক সেক্টরের সমন্বয়ে এলোকেট হয়ে থাকে। যে কোন ফাইল ব্লকের শুরু থেকেই ষ্টোর শুরু হয় এবং পুরো ব্লকটাই সে ব্যবহার করে পুরো ব্লকটা ব্যবহৃত হোক কিংবা না হোক। বর্তমান সময়ে ফাইল সিষ্টেম অনুযায়ী একেকটি ব্লক ১ থেকে ১২৮টি সেক্টর নিয়ে থাকে।
কেন ফ্র্যগমেন্টেশন হয় তা্ও আপনার আমার পূর্ববর্তী আর্টিক্যাল "ডাটা কিভাবে ষ্টোর হয়" পড়লে বুঝতে পারবেন। অর্থাত, নতুন করে ফাইল রাইট করা এবং ডিলেটের মাধ্যমেই এটা হয়ে থাকে। বিভিন্নভাগে ভাগ হয়ে ফাইলটি যখন ফ্র্যগমেন্ট অবস্থাতে থাকে এবং কোন অংশটা কোথায় আছে এইসকল ইনফরমেশন ফাইল সিষ্টেম রেখে থাকে, তাছাড়া্ও ফাইল সিষ্টেমটি তার ফাইলের সাইজ, ফাইলের লোকেশন, ফাইলের নাম, ডিরেক্টরি ইত্যাদি তথ্য ষ্টোর করে রাখে, যখন আমার একটি ফাইলকে নক করি তখন ফাইল সিষ্টেম এই সকল ইনফরমেশন এর ভিত্তিতে আমাদেরকে তথ্য প্রদান করে থাকে।
বিভিন্ন ব্যবহারকারীর বিভিন্ন প্রয়োজনীয়তা যেমন পার্ফমেন্স, ষ্ট্যবিলিটি এবং অনেকগুলো ব্যপার ভেবেই ফাইল সিষ্টেম তৈরি করা হয়েছে। এসব কারণে আমরা অনেক ধরনের ফাইল সিষ্টেম দেখে থাকি যেমন - FAT, FAT32, NTFS, EXT2/3/4/RFS/JFS, HFS, HFS+ ইত্যাদি। এইগুলোর ক্যরেকটারিষ্টিক এবং ফিচার নিয়েই আলোচনা করব পরবর্তীতে।
very good.
উত্তরমুছুন