উত্তরটি কোনও ফাইল সিস্টেম ব্যতীত আপনি আক্ষরিক অর্থে কিনা বা প্রশ্নটি আসলে কীভাবে বর্ণিত হয়েছে তার থেকে কিছুটা আলাদা করে ব্যাখ্যা করার উদ্দেশ্যে করা হচ্ছে তার উপর নির্ভর করবে। প্রশ্নটি কীভাবে ব্যাখ্যা করা হয় তাতে সামান্যতম পরিবর্তনের জন্য উত্তরগুলি:
- কোনও ব্লক ডিভাইস ছাড়াই লিনাক্স চালানো সম্পূর্ণরূপে সম্ভাব্য এবং কিছু বিশেষ ব্যবহারের ক্ষেত্রে কার্যকর।
- কোনও ফাইল সিস্টেম ছাড়াই লিনাক্স চালানোর জন্য কার্নেল কোডের কিছু অংশ পুনর্লিখনের প্রয়োজন হয় এবং এটি কার্যকর প্রচেষ্টা হওয়ার সম্ভাবনা কম।
- কোনও ফাইল বর্ণনাকারী ব্যবহার না করে লিনাক্স চালাতে প্রচুর প্রচেষ্টা প্রয়োজন। আমি দৃ sure় নিশ্চিত যে এটি প্রচেষ্টা সার্থক হবে না।
কোনও ফাইল সিস্টেম ছাড়াই একটি ওয়ার্কিং সিস্টেম তৈরির জন্য আপনাকে কার্নেল কোডের কিছু অংশ পুনরায় লেখার কারণগুলি হ'ল:
- প্রতিটি থ্রেডের একটি রুট ডিরেক্টরি এবং একটি বর্তমান ওয়ার্কিং ডিরেক্টরি রয়েছে যা অবশ্যই কিছু ফাইল সিস্টেমের দিকে নির্দেশ করবে।
- প্রোগ্রামগুলি
execve
কল কল দ্বারা শুরু হয় যার একটি ফাইল সিস্টেম থেকে এক্সিকিউটেবলের প্রয়োজন।
- কার্নেল বুট প্রক্রিয়া চলাকালীন একটি মেমরি ভিত্তিক ফাইল সিস্টেম তৈরি করে।
কোনও প্রোগ্রাম ব্যবহার শুরু হওয়ার পরে execve
এটি যে কার্যকর হতে শুরু হয়েছিল তা আনম্যাপ করা সম্ভব, যদিও তা করার সাথে সাথে তা তাত্ক্ষণিকভাবে ক্র্যাশ না করে প্রথমে একটি এক্সিকিউটেবল মেমরি ম্যাপিং তৈরি করতে হবে যা কোনও ফাইল দ্বারা ব্যাক হয় না, এবং এটিতে লাফানো এবং এক্সিকিউটেবলকে আনম্যাপিংয়ের আগে কিছু দরকারী কোড দিয়ে এটি শুরু করতে হবে।
সুতরাং একটি চলমান ব্যবহারকারী মোড প্রোগ্রাম এমন অবস্থায় উপস্থিত থাকতে পারে যেখানে ফাইলগুলির দ্বারা ব্যাক করা কোনও মেমরি ম্যাপিং নেই এবং এটি ফাইল দ্বারা ব্যাকযুক্ত সমস্ত ফাইল বিবরণকারী বন্ধ করতে পারে। এটি রুট ডিরেক্টরি এবং বর্তমান কার্যনির্বাহী ডিরেক্টরি থাকা বন্ধ করতে পারে না, তবে এটি সেগুলি থেকে বিরত থাকতে পারে।
যদিও এই অবস্থায় আপনি ফাইল সিস্টেমটিকে প্রোগ্রামের আওতা থেকে দূরে ফেলার জন্য কার্নেল কোডটি প্রয়োগ করতে পারেন এবং এটি চালিয়ে যেতে চান, এটি কার্যকর বলে মনে হয় না। এবং কোনও ফাইল সিস্টেম ব্যবহারের মধ্যবর্তী অবস্থার মধ্যে দিয়ে না গিয়ে সেই চূড়ান্ত অবস্থায় প্রবেশ করা কোনও কার্যকর সুবিধার জন্য আরও বেশি কাজ হতে চলেছে।
কিছু বিশেষ ব্যবহারের ক্ষেত্রে দরকারী সেটআপ
ব্লক ডিভাইসগুলির ব্যবহার এড়ানো কার্যকর হতে পারে। বুটের সময় কার্নেল একটি মেমরি ফাইল সিস্টেম তৈরি করে এবং cpio
কার্যকর করার পূর্বে একটি ফাইল সংরক্ষণাগার থেকে এই ফাইল সিস্টেমটি তৈরি করতে পারে init
। এই ভাবে আপনি কোনও সিস্টেমকে সম্পূর্ণরূপে মেমরি ভিত্তিক ফাইল সিস্টেম থেকে কোনও ব্লক ডিভাইস ব্যাক করার জন্য চালাতে পারবেন।
এটি এমন সিস্টেমে কার্যকর হতে পারে যেখানে আপনি কোনও রাজ্য সংরক্ষণ করতে চান না এবং সিস্টেমটি পুনরায় বুট করার পরে একটি পরিষ্কার স্লেট থেকে শুরু করতে চান।
অবশ্যই কার্নেলটি নিয়ন্ত্রণ দেওয়ার আগে কার্নেল এবং সিপিও সংরক্ষণাগারটিকে কোনওভাবে মেমরিতে উপস্থিত থাকতে হবে। তারা কীভাবে সেখানে পেল বুট লোডারটির জন্য একটি কাজ is চূড়ান্ত চলমান সিস্টেম ব্লক ডিভাইসগুলি ব্যবহার না করলেও বুট লোডার একটি ব্লক ডিভাইস থেকে লোড করতে পারত। তবে বুট লোডার দ্বারা কোনও ব্লক ডিভাইস ব্যবহার না করে নেটওয়ার্ক থেকে বুট করে কার্নেল এবং সিপিও সংরক্ষণাগার অর্জন করাও সম্ভব।
useful exposure to the outside world