অদলবদলের একটি ফাইল সিস্টেম আছে?


26

স্টোরেজ ডিভাইসগুলির সাথে কাজ করার জন্য আমাদের একটি ফাইল সিস্টেমের দরকার, অদলবদলের স্থান সম্পর্কে কী বলা যায়?

যদি এটির কোনও ফাইল সিস্টেম না থাকে তবে অপারেটিং সিস্টেম এটির সাথে কীভাবে কাজ করবে? কীভাবে ডেটা (র‌্যাম থেকে) ডিস্কে লেখা হয় এবং কীভাবে এটি আবার অ্যাক্সেস হয়?


6
অদলবদলের জন্য কোনও ফাইল সিস্টেমের দরকার নেই। এটি ফাইল সংরক্ষণ করে না।
পাইলট

3
এটি র‍্যাম পৃষ্ঠাগুলি সঞ্চয় করে।
পাইলট

2
আপনি দয়া করে যা করতে চেষ্টা করছেন তা দয়া করে ব্যাখ্যা করতে পারেন? আপনি কি বলছেন যে অস্থায়ীভাবে ডেটা সঞ্চয় করার জন্য আপনার প্রয়োজন সমস্ত কিছু?
জেক 11

6
"আমি জানতে চাই যে ফাইল সিস্টেম ছাড়া স্টোরেজ স্পেসে লেখা কীভাবে সম্ভব?" - আপনি কেবল স্টোরেজ স্পেসে লিখুন। এটি সম্পর্কে চিন্তা করুন: কোনও ফাইল সিস্টেমের যদি কোনও স্টোরেজ স্পেসে লেখার প্রয়োজন হয়, তবে ফাইল সিস্টেমের অস্তিত্ব থাকতে পারে না, কারণ ফাইল সিস্টেমগুলি কোনও ফাইল সিস্টেম ছাড়াই কোনও স্টোরেজে সিদ্ধান্ত নিতে লিখতে সক্ষম হতে হবে। "আপনার উত্তর অনুসারে আমি কি বলতে পারি যে র‌্যামের একটি ছোট ফাইল সিস্টেম রয়েছে এবং সোয়েপ ফাইল পৃষ্ঠাগুলির সাথে কাজ করার জন্য এই ফাইল সিস্টেমটি ব্যবহার করে?" - নং একটি ফাইল সিস্টেম ফাইল সংরক্ষণের জন্য। অদলবদল ফাইল ফাইল সংরক্ষণ করে না।
Jörg ডব্লু মিট্টাগ

4
অরক্ষিত স্টোরেজটিতে একটি ফাইল (আলা টর এবং ডিডি) লিখতে পারা যায় এবং নেস্টেড ফাইল সিস্টেম (ভার্চুয়াল ডিস্ক, .iso, স্কোয়াশফ) পাওয়া আরও সাধারণ। ফ্লপি-তে থাকা গেমগুলি কখনও কখনও নিখুঁত (স্থির) স্থানে উচ্চ স্কোর লিখত এবং কিছু অ্যাপ্লিকেশন সিলিন্ডার, প্রধান, সেক্টর ভিত্তিক। অদলবদল পার্টিশনগুলি এখনও পার্টিশন, কিন্তু না, কোনও ফাইল সিস্টেম নেই, বা অফসেট এবং রান ব্যতীত "ম্যাপিং" নেই?
mckenzm

উত্তর:


28

প্রযুক্তিগতভাবে অদলবদলে নির্দিষ্ট ফাইল সিস্টেম নেই। ফাইল সিস্টেমের পুরো উদ্দেশ্যটি নির্দিষ্ট উপায়ে ডেটা গঠন করা। বিশেষত অদলবদলের বিভাজনের কাঠামো নেই তবে এটিতে একটি নির্দিষ্ট শিরোনাম রয়েছে যা mkswapপ্রোগ্রাম দ্বারা তৈরি করা হয় । বিশেষত, এটি ( কর্নেল.অর্গ থেকে নেওয়া ):

 25 union swap_header {
 26     struct 
 27     {
 28         char reserved[PAGE_SIZE - 10];
 29         char magic[10];
 30     } magic;
 31     struct 
 32     {
 33         char     bootbits[1024];
 34         unsigned int version;
 35         unsigned int last_page;
 36         unsigned int nr_badpages;
 37         unsigned int padding[125];
 38         unsigned int badpages[1];
 39     } info;
 40 };

প্রতিটি পার্টিশনের সাথে নির্দিষ্ট কোড যুক্ত থাকে এবং টিএলডিপি অনুসারে :

ext2 এর জন্য কোড 0x83 এবং লিনাক্স অদলবদল 0x82

যখন অদলবদল ফাইল জড়িত থাকে, তখন এটি কিছুটা আলাদা গল্প। কার্নেলের অবশ্যই এই তথ্যটিকে সম্মান করতে হবে যে ফাইল সিস্টেমের নিজস্ব কাঠামোর ডেটা কাঠামোর নিজস্ব পদ্ধতি থাকতে পারে। একই কার্নেল.org লিঙ্ক থেকে:

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

উপসংহারে, প্রযুক্তিগতভাবে আপনি স্ব্যাপ স্পেসটিকে নিজস্ব ধরণের একটি ফাইল সিস্টেম বলতে পারেন, তবে এটি এনটিএফএস বা এক্সট 4 এর মতো ফাইল সিস্টেমের সাথে তুলনামূলক খুব বেশি নয় not

আপনিও জিজ্ঞাসা করেছেন

ফাইল সিস্টেম ছাড়া স্টোরেজ স্পেসে কীভাবে এটি লেখা সম্ভব তা আমি জানতে চাই

কড়া কথায় বলতে গেলে র‌্যামকে কাঠামোগত করার দরকার নেই। তবে র‌্যামের কিছু অংশ ইউনিক্স-এর মতো ওএসের অধীনে tmpfs হিসাবে কাঠামোযুক্ত করা যেতে পারে । এছাড়াও র‌্যামফ এবং ইনি্রামফ রয়েছে যা বুট প্রক্রিয়া চলাকালীন লোড হয়ে যায়। তবে প্রযুক্তিগতভাবে র‌্যাম ডেটা কেবল কাঁচা 1s এবং 0 এর দশকের বলে মনে করা হচ্ছে, সুতরাং যাইহোক সেগুলি গঠনের দরকার নেই।


1
ফাইলটি না থাকা সত্ত্বেও, এটির একটি মৌলিক কাঠামো রয়েছে যা এটি কী তা সনাক্ত করার অনুমতি দেয় Good ভুল করে অন্য পার্টিশনটি ওভাররাইট করা রোধ করে।
স্পেকট্রা

আমি মনে করি তারা এখানে ডিস্ক স্পেস বোঝায় "আমি কীভাবে ফাইল সিস্টেম ছাড়া স্টোরেজ স্পেসে লিখতে সম্ভব তা জানতে চাই" র্যামের পরিবর্তে সম্ভবত?
আনোয়ার

@ আনোয়ার, হ্যাঁ তবে আমি এটি পেয়েছি
সিনোশ

টার একটি ফ্ল্যাশ ড্রাইভের মতো ফর্ম্যাট না করা ডিভাইসে একটি RAW স্ট্রিম হিসাবে একাধিক ফাইল লিখতে ব্যবহার করা যেতে পারে। অন্যথায় একটি একক ফাইল লিখিত হতে পারে (তবে নাম নেই) এবং এটিকে আবার লিখতে আপনার প্রক্রিয়াটি বিপরীত করতে হবে। এটি সাধারণত আইএসও থেকে অপটিকাল মিডিয়াতে করা হয়, তবে ফলাফলটি একটি স্থানের ফাইলসিস্টেম।
mckenzm

1
একমত। মূলত এটি তখন ম্যাপ করা অঞ্চল হিসাবে বর্ণনা করা যেতে পারে। এটি বাস্তব মেমরির এক্সটেনশন নয়, বরং খণ্ডগুলি সঞ্চয় করার জন্য একটি কাজের জায়গা যা চাহিদা অনুসারে ওভারলেড করা যায়।
mckenzm

14

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

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


13

অদলবদল স্পেসটিকে ব্লকগুলিতে মেমরি পৃষ্ঠাগুলির মতো একই আকারে বিভক্ত করা হয় (সাধারণত 4 কেবি), এবং অ্যাপ্লিকেশন মেমোরিতে এই পৃষ্ঠাগুলির ম্যাপিংয়ের একটি রেকর্ড সিপিইউ এবং ওএসে ভার্চুয়াল মেমরি সাবসিস্টেমের একটি এক্সটেনশন গঠন করে।

এটি হ'ল অ্যাপ্লিকেশন মেমরি স্পেস এবং প্রকৃত শারীরিক মেমরি ঠিকানার মধ্যে ইতিমধ্যে একটি ম্যাপিং সিস্টেম রয়েছে। একটি অ্যাপ্লিকেশনকে একটি বৃহত মেমরি ঠিকানা স্থান দেওয়া হয় যা তারা যতটা পারে তত কম ব্যবহার করতে পারে। যেহেতু এই মেমরির ঠিকানার আরও জায়গাগুলি বাস্তবে ব্যবহৃত হয়, স্টোরেজ মিডিয়াম হিসাবে পরিবেশন করতে সেই অ্যাপ্লিকেশনটিতে শারীরিক মেমরি ম্যাপ করা হয়।

যখন মেমরিটি ডিস্কে অদলবদল করা হয়, তখন একটি সম্পর্কিত সিস্টেম একটি অ্যাপ্লিকেশনটির মেমরির স্থানটিকে ডিস্কের ব্লকে ম্যাপিং করে।

ম্যাপিং টেবিলটি নিজেই ডিস্কে সঞ্চয় হয় না এবং ডিস্কে থাকা ডেটাটি পুনরায় বুট করার পরে অকেজো।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.