পিডিফ্লুশ, কেজার্নাল্ড, অদলবদল ইত্যাদি কীভাবে আন্তঃসংযোগ স্থাপন করে?


17

সম্প্রতি একটি প্রশ্ন দেখেছিল যা এই চিন্তার উদ্রেক করেছিল। এখানে বা গুগল মেশিনের মাধ্যমে সত্যই উত্তর খুঁজে পাওয়া যায়নি। মূলত, আমি কীভাবে কার্নেল I / O আর্কিটেকচার স্তরযুক্ত তা জানতে আগ্রহী। উদাহরণস্বরূপ, kjournaldপ্রেরণে pdflushবা অন্য পথে কাছাকাছি না? আমার ধারণাটি হ'ল pdflush(ভর স্টোরেজ I / O তে বেশি জেনারেল হওয়া) একটি নিম্ন স্তরে বসে এসসিএসআই / এটিএ / ট্রিগারগুলি kjournaldলিখবে যা আসলে লেখাগুলি সম্পাদন করতে প্রয়োজনীয় হবে এবং লেখার আগে উচ্চ স্তরের ফাইল সিস্টেম ডেটা কাঠামো পরিচালনা করে। আমি এটিকে অন্যদিকেও দেখতে পেলাম, যদিও kjournaldফাইল সিস্টেমের ডেটা স্ট্রাকচারের সাথে সরাসরি pdflushহস্তক্ষেপ করা এবং এখনই জাগ্রত করা এবং তারপরে ডিভাইসে নোংরা পৃষ্ঠাগুলি লেখার জন্যkjournald। এটিও সম্ভব যে অন্য কোনও কারণে দুজনে একে অপরের সাথে যোগাযোগ না করে।

মূলত: লিনাক্স কার্নেলের অভ্যন্তরে I / O- র ভর স্টোরেজে প্রেরণের জন্য ব্যবহৃত প্রাথমিক আর্কিটেকচারটি ভিজ্যুয়ালাইজ করার জন্য আমার কিছু উপায় (গ্রাফ বা কেবল একটি ব্যাখ্যা) প্রয়োজন।


1
আপনি কি এই জাতীয় সন্ধান করছেন? oss.org.cn/ossdocs/linux/kernel/a1/index.html
SLM

1
এছাড়াও এই উপস্থাপনাটি রয়েছে: সপ্তম স্লাইড এতে: slideshare.net/LukCzerner/local-file-
সিস্টেমেস

1
: এই চিত্রটি আমি খুব পেয়েছিলাম thomas-krenn.com/en/oss/linux-io-stack-diagram/...
SLM

1
: আমি এই ইন্টারেক্টিভ কার্নেল মানচিত্র কীভাবে কার্নেল বিভিন্ন উপাদান একসাথে যেতে দেখানোর জন্য সাহায্য করে পাওয়া makelinux.net/kernel_map
SLM

1
আরও একটি সংস্থান, 19-24 পৃষ্ঠাগুলি: লিনাক্স পারফরম্যান্স এবং টিউনিংয়ের গাইডলাইন । আপনি যা খুঁজছেন ঠিক তেমন এটি দেখতে একরকম দেখাচ্ছে।
slm

উত্তর:


21

উদাহরণস্বরূপ pdflush, kjournald, andবিশদটি সম্পর্কে আলোচনা করার আগে প্রথমে আমরা লিনাক্স কার্নেলের ক্ষেত্রে ঠিক কী সম্পর্কে কথা বলছি তার প্রসঙ্গে একটি সামান্য ব্যাকগ্রাউন্ড পান।

জিএনইউ / লিনাক্স আর্কিটেকচার

জিএনইউ / লিনাক্সের আর্কিটেকচারটি 2 স্পেস হিসাবে বিবেচনা করা যেতে পারে:

  • ব্যবহারকারী
  • শাঁস

মধ্যে ব্যবহারকারী স্পেস এবং কার্নেল স্পেস অস্ত GNU C লাইব্রেরি ( glibc)। এটি সিস্টেম কল ইন্টারফেস সরবরাহ করে যা কার্নেলটিকে ব্যবহারকারী-স্থান অ্যাপ্লিকেশনগুলির সাথে সংযুক্ত করে।

কার্নেল স্পেসটি আরও 3 স্তরে বিভক্ত করা যেতে পারে:

  • সিস্টেম কল ইন্টারফেস
  • আর্কিটেকচারাল ইন্ডিপেন্ডেন্ট কার্নেল কোড
  • আর্কিটেকচারাল নির্ভরশীল কোড

সিস্টেম কল ইন্টারফেসটির নাম হিসাবে বোঝানো হয়, glibcএবং কার্নেলের মধ্যে একটি ইন্টারফেস সরবরাহ করে । স্থাপত্য স্বাধীন কার্নেল কোড যেমন ভিএফএস (ভার্চুয়াল ফাইল সিস্টেম) এবং VMM (ভার্চুয়াল মেমরি ম্যানেজমেন্ট) যেমন যৌক্তিক ইউনিট গঠিত হয়। স্থাপত্য নির্ভরশীল কোড উপাদান যে একটি প্রদত্ত হার্ডওয়্যার আর্কিটেকচারের জন্য প্রসেসর এবং প্ল্যাটফর্ম-নির্দিষ্ট কোড হয়।

জিএনইউ / লিনাক্স আর্কিটেকচারের ডায়াগ্রাম

                                 ss gnu / লিনাক্স খিলান।

এই নিবন্ধটির বাকী অংশের জন্য, আমরা কার্নেল স্পেসের মধ্যে ভিএফএস এবং ভিএমএম লজিক্যাল ইউনিটগুলিতে মনোযোগ নিবদ্ধ করব।

জিএনইউ / লিনাক্স কার্নেলের সাব-সিস্টেমগুলি

                                    কর্নেল এর এস এস

ভিএফএস সাবসিস্টেম

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

ভিএফএস এর চিত্র

এসএস অফ ভিএফএস

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

উপরের বিশদটি এই গবেষণাপত্রে আরও আলোচনা করা হয়েছে ।

write()পদক্ষেপের ওভারভিউ

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

  1. একটি প্রক্রিয়া write()সিস্টেম কলের মাধ্যমে একটি ফাইল লেখার অনুরোধ করে ।
  2. কার্নেলটি ফাইলটিতে ম্যাপ করা পৃষ্ঠা ক্যাশে আপডেট করে।
  3. একটি পিডিফ্লুশ কার্নেল থ্রেড পৃষ্ঠা ক্যাশে ডিস্কে ফ্লাশ করার যত্ন নেয়।
  4. ফাইল সিস্টেম স্তর প্রতিটি ব্লক বাফারকে একসাথে একটি bio struct( 23 পৃষ্ঠার 1.4.3, "ব্লক স্তর" দেখুন ) এবং ব্লক ডিভাইস স্তরটিতে একটি লিখন অনুরোধ জমা দেয়।
  5. ব্লক ডিভাইস স্তরটি উপরের স্তরগুলির থেকে অনুরোধগুলি গ্রহণ করে এবং একটি I / O লিফট ক্রিয়াকলাপ সম্পাদন করে এবং অনুরোধগুলি I / O অনুরোধ সারিতে রাখে।
  6. কোনও ডিভাইস ড্রাইভার যেমন এসসিএসআই বা অন্যান্য ডিভাইস নির্দিষ্ট ড্রাইভার লেখার ক্রিয়াকলাপের যত্ন নেবে।
  7. একটি ডিস্ক ডিভাইস ফার্মওয়্যার হার্ডওয়্যার অপারেশনগুলি সন্ধান করে যেমন মাথা, ঘোরানো এবং প্ল্যাটারে সেক্টরে ডেটা স্থানান্তর।

ভিএমএম সাবসিস্টেম

আমাদের গভীর ডুব চালিয়ে যাওয়া, আমরা এখন ভিএমএম সাবসিস্টেমটি সন্ধান করতে পারি। এই উপাদানটি মূল মেমরি (র‌্যাম), অদলবদল এবং শারীরিক সঞ্চয়স্থানের মাধ্যমের মধ্যে ধারাবাহিকতা বজায় রাখার জন্য দায়ী। ধারাবাহিকতা বজায় রাখার প্রাথমিক প্রক্রিয়াটি হ'ল bdflush। মেমরির পৃষ্ঠাগুলিকে নোংরা বলে মনে করা হয় এগুলি স্টোরেজ মিডিয়ামের সাথে থাকা ডেটার সাথে সিঙ্ক্রোনাইজ করা দরকার। স্টোরেজ মিডিয়ামের সাথে এই ডেটা সিঙ্ক্রোনাইজ করার জন্য ডেমনগুলির bdflushসাথে সমন্বয় করবে pdflush

ভিএমএম এর চিত্র

                এসএমএস ভিএমএম

বিনিময়

যখন সিস্টেমের মেমোরি দুষ্প্রাপ্য হয়ে যায় বা কার্নেল অদলবদল টাইমারটির মেয়াদ শেষ হয়ে যায়, তখন kswapdডিমন পৃষ্ঠা খালি করার চেষ্টা করবে। তাই দীর্ঘ বিনামূল্যে পৃষ্ঠার সংখ্যার উপরে অবশেষ হিসাবে free_pages_high, kswapdকিছুই করতে হবে না। তবে, যদি নিখরচায় পৃষ্ঠাগুলির সংখ্যা নীচে নেমে যায় kswapdতবে পৃষ্ঠাটি পুনরুদ্ধার প্রক্রিয়া শুরু হবে। স্থান পরিবর্তন করার kswapdজন্য চিহ্নিত পৃষ্ঠাগুলি চিহ্নিত করার পরে bdflush, pdflushডিমনগুলির মাধ্যমে স্টোরেজ মিডিয়ামের যে কোনও উল্লেখযোগ্য পরিবর্তনকে সমন্বয় করতে যত্ন নেবে ।

তথ্যসূত্র এবং আরও পড়া


1
আমি এটিকে উত্তর হিসাবে গ্রহণ করার আগে এবং অনুগ্রহ প্রদান করার আগে আমি একদিন অপেক্ষা করতে যাচ্ছি যাতে এটি "অনুগ্রহী" পৃষ্ঠায় থাকে। যেভাবে আগে এটি যে কেউ দেখেছেন তার কাছে এটির উত্তর দেওয়ার সুযোগ রয়েছে।
ব্র্যাচলে

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