উদাহরণস্বরূপ pdflush
, kjournald, and
বিশদটি সম্পর্কে আলোচনা করার আগে প্রথমে আমরা লিনাক্স কার্নেলের ক্ষেত্রে ঠিক কী সম্পর্কে কথা বলছি তার প্রসঙ্গে একটি সামান্য ব্যাকগ্রাউন্ড পান।
জিএনইউ / লিনাক্স আর্কিটেকচার
জিএনইউ / লিনাক্সের আর্কিটেকচারটি 2 স্পেস হিসাবে বিবেচনা করা যেতে পারে:
মধ্যে ব্যবহারকারী স্পেস এবং কার্নেল স্পেস অস্ত GNU C লাইব্রেরি ( glibc
)। এটি সিস্টেম কল ইন্টারফেস সরবরাহ করে যা কার্নেলটিকে ব্যবহারকারী-স্থান অ্যাপ্লিকেশনগুলির সাথে সংযুক্ত করে।
কার্নেল স্পেসটি আরও 3 স্তরে বিভক্ত করা যেতে পারে:
- সিস্টেম কল ইন্টারফেস
- আর্কিটেকচারাল ইন্ডিপেন্ডেন্ট কার্নেল কোড
- আর্কিটেকচারাল নির্ভরশীল কোড
সিস্টেম কল ইন্টারফেসটির নাম হিসাবে বোঝানো হয়, glibc
এবং কার্নেলের মধ্যে একটি ইন্টারফেস সরবরাহ করে । স্থাপত্য স্বাধীন কার্নেল কোড যেমন ভিএফএস (ভার্চুয়াল ফাইল সিস্টেম) এবং VMM (ভার্চুয়াল মেমরি ম্যানেজমেন্ট) যেমন যৌক্তিক ইউনিট গঠিত হয়। স্থাপত্য নির্ভরশীল কোড উপাদান যে একটি প্রদত্ত হার্ডওয়্যার আর্কিটেকচারের জন্য প্রসেসর এবং প্ল্যাটফর্ম-নির্দিষ্ট কোড হয়।
জিএনইউ / লিনাক্স আর্কিটেকচারের ডায়াগ্রাম
এই নিবন্ধটির বাকী অংশের জন্য, আমরা কার্নেল স্পেসের মধ্যে ভিএফএস এবং ভিএমএম লজিক্যাল ইউনিটগুলিতে মনোযোগ নিবদ্ধ করব।
জিএনইউ / লিনাক্স কার্নেলের সাব-সিস্টেমগুলি
ভিএফএস সাবসিস্টেম
জিএনইউ / লিনাক্স কার্নেলটি কীভাবে কাঠামোবদ্ধ করা হয়েছে তার একটি উচ্চ স্তরের ধারণা নিয়ে আমরা ভিএফএস সাবসিস্টেমের আরও গভীরতর গভীরতা আনতে পারি। এই উপাদানটি বিভিন্ন ব্লক স্টোরেজ ডিভাইসগুলিতে অ্যাক্সেস সরবরাহের জন্য দায়বদ্ধ যা শেষ পর্যন্ত কোনও শারীরিক ডিভাইসে (এইচডিডি / ইত্যাদি) কোনও ফাইল-সিস্টেমের (মেশিন 3 / এক্সট্রোল / ইত্যাদি) ম্যাপ করে।
ভিএফএস এর চিত্র
এই চিত্রটি দেখায় যে কোনও write()
ব্যবহারকারীর প্রক্রিয়া থেকে একজন ভিএফএসকে কীভাবে অনুসরণ করে এবং শেষ পর্যন্ত ডিভাইস ড্রাইভারের যেখানে এটি দৈহিক স্টোরেজ মিডিয়ামে লেখা থাকে সেখানে চলে। এটিই আমাদের প্রথম স্থানে pdflush
। এটি একটি ডেমন যা ব্যাকগ্রাউন্ডে স্টোরেজ মিডিয়ামে নোংরা ডেটা এবং মেটাডেটা বাফার ব্লকগুলি ফ্লাশ করার জন্য দায়ী। চিত্রটি এটি দেখায় না তবে আরও একটি ডিমন রয়েছে kjournald
, যা পাশাপাশি বসে pdflush
, ডিস্কে নোংরা জার্নাল ব্লক লেখার অনুরূপ কাজ সম্পাদন করে। দ্রষ্টব্য: জার্নাল ব্লকগুলি হল কীভাবে ext4 ও জেএফএসের মতো ফাইল সিস্টেমগুলি কোনও ফাইলের ডিস্কে পরিবর্তনগুলি ট্র্যাক করে রাখে, তার পরিবর্তনের পূর্বে।
উপরের বিশদটি এই গবেষণাপত্রে আরও আলোচনা করা হয়েছে ।
write()
পদক্ষেপের ওভারভিউ
আই / ও সিবসিস্টেম অপারেশনগুলির একটি সাধারণ ওভারভিউ সরবরাহ করতে, আমরা একটি উদাহরণ ব্যবহার করব যেখানে write()
ইউজার স্পেস অ্যাপ্লিকেশন দ্বারা ফাংশনটি ডাকা হয়।
- একটি প্রক্রিয়া
write()
সিস্টেম কলের মাধ্যমে একটি ফাইল লেখার অনুরোধ করে ।
- কার্নেলটি ফাইলটিতে ম্যাপ করা পৃষ্ঠা ক্যাশে আপডেট করে।
- একটি পিডিফ্লুশ কার্নেল থ্রেড পৃষ্ঠা ক্যাশে ডিস্কে ফ্লাশ করার যত্ন নেয়।
- ফাইল সিস্টেম স্তর প্রতিটি ব্লক বাফারকে একসাথে একটি
bio struct
( 23 পৃষ্ঠার 1.4.3, "ব্লক স্তর" দেখুন ) এবং ব্লক ডিভাইস স্তরটিতে একটি লিখন অনুরোধ জমা দেয়।
- ব্লক ডিভাইস স্তরটি উপরের স্তরগুলির থেকে অনুরোধগুলি গ্রহণ করে এবং একটি I / O লিফট ক্রিয়াকলাপ সম্পাদন করে এবং অনুরোধগুলি I / O অনুরোধ সারিতে রাখে।
- কোনও ডিভাইস ড্রাইভার যেমন এসসিএসআই বা অন্যান্য ডিভাইস নির্দিষ্ট ড্রাইভার লেখার ক্রিয়াকলাপের যত্ন নেবে।
- একটি ডিস্ক ডিভাইস ফার্মওয়্যার হার্ডওয়্যার অপারেশনগুলি সন্ধান করে যেমন মাথা, ঘোরানো এবং প্ল্যাটারে সেক্টরে ডেটা স্থানান্তর।
ভিএমএম সাবসিস্টেম
আমাদের গভীর ডুব চালিয়ে যাওয়া, আমরা এখন ভিএমএম সাবসিস্টেমটি সন্ধান করতে পারি। এই উপাদানটি মূল মেমরি (র্যাম), অদলবদল এবং শারীরিক সঞ্চয়স্থানের মাধ্যমের মধ্যে ধারাবাহিকতা বজায় রাখার জন্য দায়ী। ধারাবাহিকতা বজায় রাখার প্রাথমিক প্রক্রিয়াটি হ'ল bdflush
। মেমরির পৃষ্ঠাগুলিকে নোংরা বলে মনে করা হয় এগুলি স্টোরেজ মিডিয়ামের সাথে থাকা ডেটার সাথে সিঙ্ক্রোনাইজ করা দরকার। স্টোরেজ মিডিয়ামের সাথে এই ডেটা সিঙ্ক্রোনাইজ করার জন্য ডেমনগুলির bdflush
সাথে সমন্বয় করবে pdflush
।
ভিএমএম এর চিত্র
বিনিময়
যখন সিস্টেমের মেমোরি দুষ্প্রাপ্য হয়ে যায় বা কার্নেল অদলবদল টাইমারটির মেয়াদ শেষ হয়ে যায়, তখন kswapd
ডিমন পৃষ্ঠা খালি করার চেষ্টা করবে। তাই দীর্ঘ বিনামূল্যে পৃষ্ঠার সংখ্যার উপরে অবশেষ হিসাবে free_pages_high
, kswapd
কিছুই করতে হবে না। তবে, যদি নিখরচায় পৃষ্ঠাগুলির সংখ্যা নীচে নেমে যায় kswapd
তবে পৃষ্ঠাটি পুনরুদ্ধার প্রক্রিয়া শুরু হবে। স্থান পরিবর্তন করার kswapd
জন্য চিহ্নিত পৃষ্ঠাগুলি চিহ্নিত করার পরে bdflush
, pdflush
ডিমনগুলির মাধ্যমে স্টোরেজ মিডিয়ামের যে কোনও উল্লেখযোগ্য পরিবর্তনকে সমন্বয় করতে যত্ন নেবে ।
তথ্যসূত্র এবং আরও পড়া