ফাইল সিস্টেম (File System) কি?

একটি ফাইল সিস্টেম (File System) হল একটি স্টোরেজ ডিস্কের ডেটা কীভাবে এবং কোথায় তা পরিচালনা করার একটি প্রক্রিয়া, যা ফাইল ম্যানেজমেন্ট বা FS নামেও পরিচিত। এটি একটি লজিক্যাল ডিস্ক উপাদান যা গ্রুপে বিভক্ত ফাইলগুলিকে সংকুচিত করে, যা ডিরেক্টরি হিসাবে পরিচিত। এটি একটি মানব ব্যবহারকারীর কাছে বিমূর্ত এবং একটি কম্পিউটারের সাথে সম্পর্কিত; সুতরাং, এটি একটি ডিস্কের ইন্টারনাল ক্রিয়াকলাপ পরিচালনা করে। ফাইল এবং অতিরিক্ত ডিরেক্টরি ডিরেক্টরিতে থাকতে পারে। উইন্ডোজের সাথে বিভিন্ন ফাইল সিস্টেম থাকলেও, আধুনিক সময়ে এনটিএফএস সবচেয়ে সাধারণ। একই নামের একটি ফাইলের অস্তিত্ব থাকা অসম্ভব এবং ইনস্টল করা প্রোগ্রামগুলি সরানো এবং ফাইল পরিচালনা ছাড়া নির্দিষ্ট ফাইলগুলি পুনরুদ্ধার করাও অসম্ভব, সেইসাথে ফাইলের কাঠামো ছাড়া ফাইলগুলির কোনও সংগঠন থাকবে না। ফাইল সিস্টেম আপনাকে বর্তমান ডিরেক্টরিতে একটি ফাইল দেখতে সক্ষম করে কারণ ফাইলগুলি প্রায়শই একটি শ্রেণিবিন্যাসে পরিচালিত হয়।

একটি ডিস্কের (যেমন, হার্ড ডিস্ক ড্রাইভ) টাইপ এবং ব্যবহার সত্ত্বেও একটি ফাইল সিস্টেম থাকে। এছাড়াও, এতে ফাইলের আকার, ফাইলের নাম, ফাইলের অবস্থানের খণ্ডের তথ্য এবং যেখানে ডিস্ক ডেটা সংরক্ষণ করা হয় সে সম্পর্কে তথ্য রয়েছে এবং এটি বর্ণনা করে যে কীভাবে একজন ব্যবহারকারী বা অ্যাপ্লিকেশন ডেটা অ্যাক্সেস করতে পারে। মেটাডেটা, ফাইলের নামকরণ, স্টোরেজ ম্যানেজমেন্ট এবং ডিরেক্টরি/ফোল্ডারগুলির মতো ক্রিয়াকলাপগুলি ফাইল সিস্টেম দ্বারা পরিচালিত হয়।

একটি স্টোরেজ ডিভাইসে, ফাইলগুলি সেক্টরে সংরক্ষণ করা হয় যেখানে ডেটা ব্লক নামক সেক্টরের গ্রুপে সংরক্ষণ করা হয়। ফাইলগুলির আকার এবং অবস্থান ফাইল সিস্টেম দ্বারা চিহ্নিত করা হয় এবং এটি কোন সেক্টরগুলি ব্যবহার করার জন্য প্রস্তুত তা সনাক্ত করতে সহায়তা করে। উইন্ডোজ ছাড়াও, আরও কিছু অপারেটিং সিস্টেম রয়েছে যেগুলিতে FAT এবং NTFS ফাইল সিস্টেম রয়েছে। কিন্তু অ্যাপল পণ্য (iOS এবং macOS এর মত) HFS+ ব্যবহার করে কারণ অপারেটিং সিস্টেমটি বিভিন্ন ধরণের ফাইল সিস্টেম দ্বারা দিগন্ত।

সিস্টেম File System কি

কখনও কখনও পার্টিশনের রেফারেন্সে “ফাইল সিস্টেম” শব্দটি ব্যবহার করা হয়। উদাহরণস্বরূপ, “হার্ড ড্রাইভে, দুটি ফাইল সিস্টেম উপলব্ধ” বলা, এর অর্থ এই নয় যে ড্রাইভটি দুটি ফাইল সিস্টেম, NTFS এবং FAT এর মধ্যে বিভক্ত। কিন্তু এর অর্থ হল দুটি পৃথক পার্টিশন রয়েছে যা একই শারীরিক ডিস্ক ব্যবহার করে।

কাজ করার জন্য, আপনার সংস্পর্শে আসা বেশিরভাগ অ্যাপ্লিকেশনের জন্য একটি ফাইল সিস্টেমের প্রয়োজন হয়; অতএব, প্রতিটি পার্টিশনে একটি থাকা উচিত। তদ্ব্যতীত, যদি একটি প্রোগ্রাম ম্যাকওএস-এ ব্যবহারের জন্য তৈরি করা হয়, আপনি উইন্ডোজে এই প্রোগ্রামটি ব্যবহার করতে অক্ষম হবেন কারণ প্রোগ্রামগুলি ফাইল সিস্টেম-নির্ভর।

ফাইল সিস্টেমের উদাহরণ

ফাইল সিস্টেমের উদাহরণ নিচে দেওয়া হল:

  • FAT: FAT হল এক ধরনের ফাইল সিস্টেম, যা হার্ড ড্রাইভের জন্য তৈরি করা হয়। এটি ফাইল বরাদ্দ টেবিলের জন্য দাঁড়িয়েছে এবং এটি প্রথম 1977 সালে চালু করা হয়েছিল, যা ফাইল বরাদ্দ টেবিল (FAT) এ প্রতিটি ক্লাস্টার অ্যাক্সেসের জন্য 12 বা 16 বিটের জন্য ব্যবহৃত হয়। হার্ড ড্রাইভ এবং অন্যান্য কম্পিউটার সিস্টেমে, এটি মাইক্রোসফ্ট অপারেটিং সিস্টেমে ফাইলগুলি পরিচালনা করতে সহায়তা করে। ডিজিটাল ক্যামেরা, ফ্ল্যাশ মেমরি এবং অন্যান্য পোর্টেবল ডিভাইসের মতো ডিভাইসগুলিতে, এটি প্রায়শই পাওয়া যায় যা ফাইলের তথ্য সংরক্ষণ করতে ব্যবহৃত হয়। এটি হার্ড ড্রাইভের আয়ু বাড়াতেও সাহায্য করে কারণ এটি হার্ড ডিস্কের পরিধান এবং অশ্রু কমিয়ে দেয়। বর্তমানে, মাইক্রোসফট উইন্ডোজের পরবর্তী সংস্করণ যেমন Windows XP, Vista, 7, এবং 10 দ্বারা FAT ব্যবহার করা হয় না কারণ তারা NTFS ব্যবহার করে। FAT8, FAT12, FAT32, FAT16 হল বিভিন্ন ধরণের FAT (ফাইল বরাদ্দ টেবিলের জন্য)।
  • GFS: একটি GFS হল একটি ফাইল সিস্টেম, যা গ্লোবাল ফাইল সিস্টেম নামেও পরিচিত। এটি একটি সমন্বিত মেশিন হিসাবে কাজ করার জন্য একাধিক কম্পিউটারকে সক্ষম করার ক্ষমতা রাখে, যা মিনেসোটা বিশ্ববিদ্যালয়ে প্রথম বিকশিত হয়। কিন্তু এখন এটি রেড হ্যাট দ্বারা রক্ষণাবেক্ষণ করা হয়। যখন দুই বা ততোধিক কম্পিউটারের শারীরিক দূরত্ব বেশি হয়, এবং তারা একে অপরের সাথে সরাসরি ফাইল পাঠাতে অক্ষম হয়, তখন একটি GFS ফাইল সিস্টেম তাদের ফাইলের একটি গ্রুপকে সরাসরি ভাগ করতে সক্ষম করে। একটি কম্পিউটার গ্লোবাল ফাইল সিস্টেমের সাহায্যে ফাইল সিস্টেম সংরক্ষণের জন্য তার I/O সংগঠিত করতে পারে।
  • এইচএফএস: এইচএফএস (হাইরার্কিক্যাল ফাইল সিস্টেম) হল একটি ফাইল সিস্টেম যা ম্যাকিনটোশ কম্পিউটারে একটি হার্ড ডিস্ক ফরম্যাট করার সময় একটি ডিরেক্টরি তৈরি করার জন্য ব্যবহৃত হয়। সাধারণত, এর মৌলিক কাজ হল ম্যাকিনটোশ হার্ড ডিস্কে ফাইলগুলিকে সংগঠিত করা বা ধরে রাখা। OS X বাজারে আসার পর থেকে Apple HFS ডিস্কগুলিতে লিখতে বা ফর্ম্যাট করতে সমর্থন করতে সক্ষম নয়৷ এছাড়াও, এইচএফএস-ফরম্যাটেড ড্রাইভগুলি উইন্ডোজ কম্পিউটার দ্বারা স্বীকৃত নয় কারণ এইচএফএস একটি ম্যাকিনটোশ ফর্ম্যাট। WIN32 বা NTFS ফাইল সিস্টেমের সাহায্যে, উইন্ডোজ হার্ড ড্রাইভ ফরম্যাট করা হয়।
  • NTFS: NTFS হল ফাইল সিস্টেম, যা NT ফাইল সিস্টেম নামে জানা যায় এবং Windows NT অপারেটিং সিস্টেম এবং Windows 2000, Windows XP, Windows 7, এবং Windows 10-এর মতো উইন্ডোজের অন্যান্য ভার্সনে ফাইলগুলি সঞ্চয় করে এবং পুনরুদ্ধার করে। কখনও কখনও, এটিকে বলা হয় নতুন প্রযুক্তি ফাইল সিস্টেম। এফএটি এবং এইচপিএফএস ফাইল সিস্টেমের তুলনায়, এটি ফাইল পুনরুদ্ধার এবং ডেটা সুরক্ষার আরও ভাল পদ্ধতি সরবরাহ করে এবং প্রসারিততা, সুরক্ষা এবং কার্যকারিতার ক্ষেত্রে অনেকগুলি উন্নতির প্রস্তাব দেয়।
  • UDF: একটি UDF হল একটি ফাইল সিস্টেম, যা ইউনিভার্সাল ডিস্ক ফরম্যাটের জন্য চিনেথাকি এবং 1995 সালে OSTA (অপটিক্যাল স্টোরেজ টেকনোলজি অ্যাসোসিয়েশন) দ্বারা তৈরি করা হয়েছে বিভিন্ন অপটিক্যাল মিডিয়াতে লেখা ডেটার মধ্যে ধারাবাহিকতা নিশ্চিত করার জন্য। এটি CD-ROM এবং DVD-ROM-এর সাথে ব্যবহার করা হয় এবং সমস্ত অপারেটিং সিস্টেমে সমর্থিত। এখন, এটি CD-R’s এবং CD-RW’s প্রক্রিয়ায় ব্যবহৃত হয়, যাকে প্যাকেট লেখা বলা হয়।

ফাইল সিস্টেমের আর্কিটেকচার

ফাইল সিস্টেমে দুই বা তিনটি স্তর থাকে। কখনও কখনও, এই স্তরগুলি মিলিতভাবে কাজ করে এবং কখনও কখনও স্পষ্টভাবে পৃথক করা হয়। ফাইল ক্রিয়াকলাপের জন্য, API (অ্যাপ্লিকেশন প্রোগ্রাম ইন্টারফেস) লজিক্যাল ফাইল সিস্টেম দ্বারা সরবরাহ করা হয়, যেমন OPEN, CLOSE, READ, এবং আরও অনেক কিছু কারণ এটি ব্যবহারকারীর অ্যাপ্লিকেশনের সাথে মিথস্ক্রিয়া করার জন্য দায়ী। এছাড়াও, প্রক্রিয়াকরণের জন্য, অনুরোধকৃত ক্রিয়াকলাপটি তার নীচে অবস্থিত স্তরটিতে ফরোয়ার্ড করা হয়। উপরন্তু, ভৌত ফাইল সিস্টেমের বিভিন্ন সমবর্তী উদাহরণের জন্য, দ্বিতীয় ঐচ্ছিক স্তরটি সমর্থনের অনুমতি দেয়, যা একটি ভার্চুয়াল ফাইল সিস্টেম। এবং প্রতিটি সমবর্তী উদাহরণকে একটি ফাইল সিস্টেম বাস্তবায়ন বলা হয়।

তৃতীয় স্তরটি বাফারিং এবং মেমরি ব্যবস্থাপনা পরিচালনার জন্য দায়ী, যাকে বলা হয় ফিজিক্যাল ফাইল সিস্টেম। এটি স্টোরেজ ডিভাইসের শারীরিক ক্রিয়াকলাপের সাথে সম্পর্কিত এবং শারীরিক ব্লকগুলি পড়া বা লেখার প্রক্রিয়া করে। উপরন্তু, স্টোরেজ ডিভাইস চালাতে, এই স্তরটি চ্যানেল এবং ডিভাইস ড্রাইভারের সাথে যোগাযোগ করে।

ফাইল সিস্টেমের প্রকার

বিভিন্ন ধরণের ফাইল সিস্টেম রয়েছে, যা নিম্নরূপ:

ডিস্ক ফাইল সিস্টেম

ডিস্ক স্টোরেজ মিডিয়ামে, একটি ডিস্ক ফাইল সিস্টেমে কিছু সময়ের মধ্যে এলোমেলোভাবে ডেটা অ্যাড্রেস করার ক্ষমতা রয়েছে। এছাড়াও, এতে এমন প্রত্যাশা রয়েছে যা ডেটা অ্যাক্সেস করার গতির দিকে পরিচালিত করে। ডেটার ক্রমিক অবস্থান বিবেচনা না করে, একাধিক ব্যবহারকারী একটি ডিস্ক ফাইল সিস্টেমের সাহায্যে ডিস্কের বিভিন্ন ডেটা অ্যাক্সেস করতে পারে।

ফ্ল্যাশ ফাইল সিস্টেম

একটি ফ্ল্যাশ ফাইল সিস্টেম ফ্ল্যাশ মেমরির সীমাবদ্ধতা, কর্মক্ষমতা এবং বিশেষ ক্ষমতার জন্য ব্যাবহার করা হয়। এটি একটি ফ্ল্যাশ ডিভাইসের জন্য ডিজাইন করা একটি ফাইল সিস্টেম ব্যবহার করা উচ্চতর; যাইহোক, একটি ডিস্ক ফাইল সিস্টেম হল মৌলিক স্টোরেজ মিডিয়া, যা একটি ফ্ল্যাশ মেমরি ডিভাইস ব্যবহার করতে পারে।

টেপ ফাইল সিস্টেম

একটি টেপ ফাইল সিস্টেম টেপে ফাইলগুলি ধরে রাখতে ব্যবহৃত হয় কারণ এটি একটি টেপ ফরমেট এবং ফাইল সিস্টেম। ডিস্কের তুলনায়, চৌম্বকীয় টেপগুলি দীর্ঘ সময়ের জন্য ডেটা অ্যাক্সেস করতে আরও শক্তিশালী, যা তৈরি এবং দক্ষ পরিচালনার ক্ষেত্রে একটি সাধারণ-উদ্দেশ্য ফাইল সিস্টেমের জন্য চ্যালেঞ্জ।

ডাটাবেস ফাইল সিস্টেম

একটি ডাটাবেস-ভিত্তিক ফাইল সিস্টেম ফাইল পরিচালনার জন্য আরেকটি পদ্ধতি। ফাইলগুলি তাদের বৈশিষ্ট্য দ্বারা স্বীকৃত হয় (যেমন ফাইলের ধরন, লেখক, বিষয়, ইত্যাদি) শ্রেণীবদ্ধ কাঠামোগত ব্যবস্থাপনার পরিবর্তে।

লেনদেন সংক্রান্ত ফাইল সিস্টেম

কিছু প্রোগ্রাম যেকোন কারণে ব্যর্থ হওয়ার জন্য এক বা একাধিক পরিবর্তনের প্রয়োজন হয় বা একাধিক ফাইল সিস্টেম পরিবর্তনের প্রয়োজন হয় কিন্তু কোনো পরিবর্তন করে না। উদাহরণস্বরূপ, সফ্টওয়্যার ইনস্টল বা আপডেট করার সময় একটি প্রোগ্রাম কনফিগারেশন ফাইল বা লাইব্রেরি এবং এক্সিকিউটেবল লিখতে পারে। আপডেট বা ইনস্টল করার সময় সফ্টওয়্যারটি বন্ধ হয়ে গেলে সফ্টওয়্যারটি অব্যবহারযোগ্য বা ভেঙে যেতে পারে। এছাড়াও, সফ্টওয়্যারটি ইনস্টল বা আপডেট করার প্রক্রিয়াটি অসম্পূর্ণ থাকলে পুরো সিস্টেমটি একটি অব্যবহারযোগ্য অবস্থায় ছেড়ে যেতে পারে।

নেটওয়ার্ক ফাইল সিস্টেম

একটি নেটওয়ার্ক ফাইল সিস্টেম একটি সার্ভারে ফাইল অ্যাক্সেস অফার করে। দূরবর্তী নেটওয়ার্ক-সংযুক্ত কম্পিউটার গুলিতে, স্থানীয় ইন্টারফেসের সাহায্যে, প্রোগ্রামগুলি স্বচ্ছভাবে শ্রেণীবদ্ধ ফাইল এবং ডিরেক্টরিগুলি তৈরি করতে, পরিচালনা করতে এবং অ্যাক্সেস করতে সক্ষম হয়। FTP এবং WebDAV-এর জন্য ফাইল-সিস্টেম-সদৃশ ক্লায়েন্ট এবং AFS, SMB প্রোটোকল, NFS হল নেটওয়ার্ক ফাইল সিস্টেমের সব উদাহরণ।

শেয়ার্ড ডিস্ক ফাইল সিস্টেম

একটি শেয়ার্ড-ডিস্ক ফাইল সিস্টেম একই এক্সটার্নাল ডিস্ক সাবসিস্টেমকে একাধিক মেশিন দ্বারা অ্যাক্সেস করার অনুমতি দেয়, কিন্তু যখন মেশিনের সংখ্যা একই বহিরাগত ডিস্ক সাবসিস্টেম অ্যাক্সেস করে, তখন এই অবস্থায় সংঘর্ষ ঘটতে পারে; সুতরাং, সংঘর্ষ প্রতিরোধ করার জন্য, ফাইল সিস্টেম সিদ্ধান্ত নেয় কোন সাবসিস্টেমে অ্যাক্সেস করা হবে।

ন্যূনতম ফাইল সিস্টেম

1970 এর দশকে, কিছু প্রাথমিক মাইক্রোকম্পিউটার ব্যবহারকারীদের জন্য, ডিস্ক এবং ডিজিটাল টেপ ডিভাইসগুলি অনেক ব্যয়বহুল ছিল। সাধারণ অডিও ক্যাসেট টেপ ব্যবহার করা কয়েকটি সস্তা বেসিক ডেটা স্টোরেজ সিস্টেম ডিজাইন করা হয়েছিল। ক্যাসেট রেকর্ডারে, যখন সিস্টেম দ্বারা ডেটা লেখার প্রয়োজন হয় তখন ব্যবহারকারীকে “RECORD” চাপার বিষয়ে অবহিত করা হয়। এবং, সিস্টেমকে অবহিত করতে, কীবোর্ডে “রিটার্ন” টিপুন। এছাড়াও, ক্যাসেট রেকর্ডারে, সিস্টেমের ডেটা পড়ার জন্য ব্যবহারকারীকে “প্লে” বোতাম টিপতে হবে।

ফ্ল্যাট ফাইল সিস্টেম

সাবডিরেক্টরিগুলি ফ্ল্যাট সিস্টেমে উপলব্ধ নয়। এটিতে একমাত্র ডিরেক্টরি রয়েছে এবং সমস্ত ফাইল একটি একক ডিরেক্টরিতে রাখা হয়। তুলনামূলকভাবে অল্প পরিমাণে ডেটা স্পেস উপলব্ধ থাকার কারণে, এই ধরনের ফাইল সিস্টেম পর্যাপ্ত ছিল যখন ফ্লপি ডিস্ক মিডিয়া প্রথমবারের মতো উপলব্ধ ছিল।