ক্লক পৃষ্ঠা প্রতিস্থাপন অ্যালগরিদম - ইতিমধ্যে বিদ্যমান পৃষ্ঠাগুলি


9

ঘড়ি পৃষ্ঠার প্রতিস্থাপন অ্যালগরিদম অনুকরণ করার সময়, যখন ইতিমধ্যে মেমরিতে থাকা একটি রেফারেন্স আসে তখন কি ঘড়ির হাতটি আরও বাড়বে?

এখানে একটি উদাহরণ:

4 টি স্লট সহ ক্লক পৃষ্ঠা প্রতিস্থাপন অ্যালগরিদম ব্যবহার করে

রেফারেন্স তালিকা: 1 2 3 4 1 2 5 1 3 2 4 5

প্রাথমিক তালিকাটি এর মতো দেখবে:

-> [1][1]
   [2][1]
   [3][1]
   [4][1]

সন্নিবেশের পরবর্তী রেফারেন্সটি 1, তারপরে 2 হবে the অন্য কথায়, 5 টি সন্নিবেশ করার পরে, ঘড়ির মতো দেখতে হবে:

-> [5][1]
   [2][0]
   [3][0]
   [4][0]

?

উত্তর:


9

আমি মনে করি এই উদাহরণটি আপনার সমস্ত সন্দেহকে পরিষ্কার করতে পারে।

উদাহরণস্বরূপ: ধরে নিন
মূল পৃষ্ঠার সূচনা পৃষ্ঠার রেফারেন্স ক্রমটি হ'ল:
3 2 3 0 8 4 2 5 0 9 8 3 2ফ্রেম প্রতি একটি রেফারেন্স বিট ("ব্যবহৃত" বিট নামে পরিচিত)

  PU 3 PU 2 PU 3 PU 0 PU 8 PU 4
+ --- + --- + + --- + + + + + + + + + + + + + + + + + + + + --- + --- + +
| | 0 | * | 3 | 1 | | 3 | 1 | | 3 | 1 | | 3 | 1 | | 3 | 1 |
+ --- + --- + + --- + + + + + + + + + + + + + + + + + + + + --- + --- + +
| | 0 | | | 0 | * | 2 | 1 | | 2 | 1 | | 2 | 1 | | 2 | 1 |
+ --- + --- + + --- + + + + + + + + + + + + + + + + + + + + --- + --- + +
| | 0 | | | 0 | | | 0 | * | | 0 | * | 0 | 1 | | 0 | 1 |
+ --- + --- + + --- + + + + + + + + + + + + + + + + + + + + --- + --- + +
| | 0 | | | 0 | | | 0 | | | 0 | | | 0 | * | 8 | 1 |
+ --- + --- + + --- + + + + + + + + + + + + + + + + + + + + --- + --- + +
| | 0 | | | 0 | | | 0 | | | 0 | | | 0 | | | 0 | *
+ --- + --- + + --- + + + + + + + + + + + + + + + + + + + + --- + ----  


  PU 2 PU 5 PU 0 PU 9 PU 8 PU 3
+ --- + --- + + --- + + + + + + + + + + + + + + + + + + + + --- + --- + +
| 3 | 1 | * | 3 | 1 | * | 5 | 1 | | 5 | 1 | | 5 | 1 | | 5 | 1 |
+ --- + --- + + --- + + + + + + + + + + + + + + + + + + + + --- + --- + +
| 2 | 1 | | 2 | 1 | | 2 | 0 | * | 2 | 0 | * | 9 | 1 | | 9 | 1 |
+ --- + --- + + --- + + + + + + + + + + + + + + + + + + + + --- + --- + +
| 0 | 1 | | 0 | 1 | | 0 | 0 | | 0 | 1 | | 0 | 1 | * | 0 | 1 | *
+ --- + --- + + --- + + + + + + + + + + + + + + + + + + + + --- + --- + +
| 8 | 1 | | 8 | 1 | | 8 | 0 | | 8 | 0 | | 8 | 0 | | 8 | 1 |
+ --- + --- + + --- + + + + + + + + + + + + + + + + + + + + --- + --- + +
| 4 | 1 | | 4 | 1 | | 4 | 0 | | 4 | 0 | | 4 | 0 | | 4 | 0 |
+ --- + --- + + --- + + + + + + + + + + + + + + + + + + + + --- + ----  


  পিইউ 2 পিইউ   
+ --- + --- + + --- + + + + 
| 5 | 1 | * | 5 | 0 |
+ --- + --- + + --- + + + + 
| 9 | 1 | | 9 | 0 |
+ --- + --- + + --- + + + +
| 0 | 0 | | 2 | 1 |   
+ --- + --- + + --- + + + +  
| 8 | 0 | | 8 | 0 | *
+ --- + --- + + --- + + + + 
| 3 | 1 | | 3 | 1 |  
+ --- + --- + + --- + + + +  

* = পয়েন্টারটি নির্দেশ করে যা স্ক্যান করার জন্য পরবর্তী অবস্থান চিহ্নিত করে 
পি = পৃষ্ঠা # সেই ফ্রেমে সঞ্চিত 
ইউ = ব্যবহৃত পতাকা, 
0 = সম্প্রতি ব্যবহৃত হয়নি 
1 = সম্প্রতি রেফারেন্স করা হয়েছে

একে বলা হয় লিনিয়ার স্ক্যানিং অ্যালগোরিদম বা দ্বিতীয় চান্স অ্যালগরিদম, যা BSD লিনাক্সে ব্যবহৃত হয়। 
সাধারণত এটি একটি বিজ্ঞপ্তি সারি হিসাবে প্রয়োগ করা হয়।

আপনি কি টেক্সটের দিক থেকে এর অর্থ বোঝাতে পারেন? এটি একটি দুর্দান্ত চিত্র, তবে যখন আমরা এটির অর্থ জানি না তখন এই জাতীয় চিত্রগুলি অকেজো।
বিচ্ছিন্ন টিকটিকি

7

যদি ইতিমধ্যে স্মৃতিতে কোনও পৃষ্ঠার জন্য কোনও রেফারেন্স উপস্থিত হয়, তবে প্রতিস্থাপন অ্যালগরিদম মোটেও অনুরোধ করা হবে না।

ঘড়ি প্রতিস্থাপন অ্যালগরিদম LRU প্রতিস্থাপন সুবিধাগুলো কিছু অর্জন করার চেষ্টা করা হয়, কিন্তু প্রতিটি পৃষ্ঠায় হিট উপর LRU বিট সাধিত ব্যাপক ওভারহেড ছাড়া।

একটি পৃষ্ঠা তিনটি রাজ্যের একটিতে হতে পারে:

  1. স্মৃতিতে উপস্থিত এবং recently-usedবিট হয় true। এই ক্ষেত্রে পৃষ্ঠায় অ্যাক্সেস হয়ে গেলে কোনও পৃষ্ঠা ত্রুটি থাকবে না, সুতরাং কোনও বিট পরিবর্তন হবে না।
  2. স্মৃতিতে উপস্থিত কিন্তু recently-usedবিট হয় false। এক্ষেত্রে পৃষ্ঠাটি পৃষ্ঠার টেবিলে এমনভাবে চিহ্নিত করা হয়েছে যাতে পৃষ্ঠায় অ্যাক্সেস করা থাকলে একটি পৃষ্ঠা ত্রুটি দেখা দেয়। (যদি পেজ ফল্ট এই ক্ষেত্রে ঘটে, শুধু পেজ ফল্ট হ্যান্ডলার করে করতে অবস্থা পরিবর্তন হয় recently-used।)
  3. পৃষ্ঠাটি স্মৃতিতে নেই। এই ক্ষেত্রে আমরা তাকান clock-hand। যদিও clock-handযুক্ত পৃষ্ঠাতে নির্দেশ করা হয় recently-usedবিট সেট trueআমরা টুসকি recently-usedকরতে বিট false, এবং তারপর বাড়ায় clock-handপরবর্তী পৃষ্ঠায় বিন্দু। আমরা যখন recently-usedইতিমধ্যে সাফ হওয়া কোনও পৃষ্ঠা খুঁজে পাই, তখন আমরা সেই পৃষ্ঠাটি প্রতিস্থাপন করি। তারপর আমরা যেমন নতুন পৃষ্ঠা চিহ্নিত recently-usedএবং বাড়ায় clock-handকরার পরবর্তী পাতা।

ঘড়ির কেন্দ্রস্থল, LRU প্রায় অনুমানের জন্য একটি সম্ভাব্য অ্যালগরিদম। পৃষ্ঠায় যে হারে অ্যাক্সেস করা হচ্ছে সেই হারটি clock-handযদি একই পৃষ্ঠায় ফিরে আসার হারের চেয়ে অনেক বেশি হয় তবে পৃষ্ঠাটি চিহ্নিত হওয়ার উচ্চ সম্ভাবনা রয়েছে recently-used। পৃষ্ঠাটি যে হারে অ্যাক্সেস করা হচ্ছে সেই হারটি যে হারে clock-handআবার ফিরে আসছে তার তুলনায় যদি কম হয়, তবে পৃষ্ঠাটি রাজ্যে না হওয়ার সম্ভাবনা বেশি থাকে recently-used। সর্বাধিক ব্যবহৃত পৃষ্ঠাগুলি কখনও প্রতিস্থাপন করা হবে না। (কেন?)

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