খাঁটি চাহিদা পেজিংয়ের সময় স্থান অদলবদল করুন


12

নিম্নলিখিতটি একটি OS এর হোম অ্যাসাইনমেন্টটি করার সময় আমি এসে পৌঁছেছিলাম - তবে, এটি কোনও সোজা কোডিং প্রশ্নের চেয়ে বেশি ধারণা-ভিত্তিক বলে মনে হয়, তাই আইএমএইচওও আমি মনে করি না যে হোমওয়ার্ক ট্যাগটি এর জন্য উপযুক্ত।

একযোগে র‌্যাম এবং অদলবদ মেমরির একাধিক প্রক্রিয়া চলার জন্য খাঁটি চাহিদা পেজিং স্কিমটিতে, নিম্নলিখিত 2 টি ক্ষেত্রে স্বাপের স্থানটি সঙ্কুচিত হলে কখন ঘটবে

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

  2. যখন কোনও প্রক্রিয়াটির কোনও নির্দিষ্ট পৃষ্ঠায় পৃষ্ঠাগুলির প্রয়োজন হয় তখন এটি অদলবদলের স্মৃতিতে কোথায় দেখায় এবং সেই নির্দিষ্ট পৃষ্ঠাটি আদৌ স্যুপে উপস্থিত থাকলে তা কীভাবে জানতে পারে?

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


3
একটি দুর্দান্ত হার্ড-কোর সিএস প্রশ্ন!
ডেভ ক্লার্ক

উত্তর:


8

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

x86 প্রসেসরগুলি ভার্চুয়াল অ্যাড্রেস স্পেস এবং পৃষ্ঠা ম্যাপিংয়ের পাশাপাশি অ্যাক্সেস প্রাইভেলাইজগুলি সম্পর্কে বিটগুলি এবং আরও প্রাসঙ্গিক, এমনকি পৃষ্ঠাটি শারীরিক স্মৃতিতে উপস্থিত কিনা তা ট্র্যাক রাখতে একটি পৃষ্ঠার টেবিল বলা হয় use লঙ্ঘনগুলি পৃষ্ঠা ত্রুটিগুলি ট্রিগার করে যা ওএস দ্বারা আটকে থাকে।

সে সম্পর্কে আরও তথ্যের জন্য এই নিবন্ধটি দেখুন

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

পৃষ্ঠা ফ্রেম বরাদ্দ সম্পর্কিত আরও তথ্যের জন্য, এখানে দেখুন । সেখানে আপনি কিছু উপযুক্ত ডেটাস্ট্রাকচারের একটি সাধারণ ওভারভিউ দেখতে পাবেন।

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

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

আমি আশা করি যে আমি এটির সাথে তুলনামূলক স্বল্পতা নিয়ে চলা সত্ত্বেও আপনার প্রশ্নের উত্তর দিয়েছি। আমি খুঁজে পেয়েছি যে অপারেটিং সিস্টেমগুলি সম্পর্কে জানার সর্বোত্তম উপায় হ'ল উইকি.ওসदेव.অর্গ এবং www.osdever.net এর মতো সাইটগুলিতে পাওয়া যায় যা কখনও কখনও বাজে অভ্যাসের নির্দিষ্ট বিবরণে ডুব দেয় যা বিশেষত শখের ওএস তৈরির ক্ষেত্রে কাজ করে এবং দুর্দান্ত টিউটোরিয়াল সরবরাহ করে যেমন বিশদ।


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