সিপিইউ সুবিধাদির রিং: 1 এবং 2 এর রিংগুলি কেন ব্যবহার করা হয় না?


103

X86 সিপিইউ সুবিধার্থে রিংগুলি নিয়ে কয়েকটি প্রশ্ন:

  • বেশিরভাগ অপারেটিং সিস্টেম দ্বারা 1 এবং 2 এর রিংগুলি ব্যবহার করা হয় না কেন? এটি কি কেবল অন্য আর্কিটেকচারের সাথে কোডের সামঞ্জস্যতা বজায় রাখা, বা এর থেকে আরও ভাল কারণ আছে?

  • এমন কি কোনও অপারেটিং সিস্টেম রয়েছে যা আসলে সেই রিংগুলি ব্যবহার করে? না তারা পুরোপুরি অব্যবহৃত?


উত্তর:


114

শখের অপারেটিং সিস্টেমের লেখক হিসাবে, আমি দেখতে পেলাম যে পেজিংয়ের (আধুনিক সুরক্ষা মডেলের একটি বড় অংশ) কেবল সুবিধাদির ধারণা রয়েছে (রিং 0,1,2) এবং অনিবদ্ধ, 1 এবং 2 এর রিংয়ের সুবিধাটি খুব হ্রাস পেয়েছে।

ডিভাইস ড্রাইভারদের সেই স্তরে ডিভাইস স্থাপনের জন্য ইন্টেলের দ্বারা ইচ্ছাকৃত 1 এবং 2 এর উদ্দেশ্যটি হ'ল তাই তারা সুবিধাভোগী, তবে বাকি কার্নেল কোড থেকে কিছুটা পৃথক।

1 এবং 2 এর রিংগুলি একটি উপায়ে "বেশিরভাগ ক্ষেত্রে" সুবিধাযুক্ত। তারা তত্ত্বাবধায়ক পৃষ্ঠাগুলি অ্যাক্সেস করতে পারে তবে তারা যদি কোনও সুবিধাপ্রাপ্ত নির্দেশিকা ব্যবহার করার চেষ্টা করে তবে তারা জিপিএফ 3 রিংয়ের মতো করে। সুতরাং ইন্টেল যেমন পরিকল্পনা করেছে তেমন চালকদের পক্ষে খারাপ জায়গা নয় ...

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


28
ডাব্লুএইচওএ ভার্চুয়ালবক্স রিং 1 ব্যবহার করে ?! এটা খাঁটি অসাধারণতা !! তথ্যের জন্য অনেক ধন্যবাদ, এটি একটি দুর্দান্ত উত্তর! +1
ব্যবহারকারী541686

10
আই / ও কোডের জন্য ওএস / 2 রিং 2 ব্যাপকভাবে ব্যবহার করেছে। এই কারণেই ভার্চুয়ালাইজেশন করা এত কঠিন।
কিনোকিজুফ

সুপারউজার.com / উকশনস / ১40৪০২3737//২ থেকে : "রিং ১ এ রিং 0 কোড চালনা করায় অতিরিক্ত নির্দেশের ত্রুটিগুলি অনেকটা ঘটায়, কারণ রিং 1 তে কোনও সুবিধাপ্রাপ্ত নির্দেশাবলী কার্যকর করার অনুমতি নেই, যার মধ্যে অতিথির রিং -0 রয়েছে প্রচুর contains এই ত্রুটিগুলির মধ্যে, ভিএমএমকে অবশ্যই পছন্দসই আচরণটি অর্জনের জন্য কোডটি অনুকরণ করা উচিত এবং অনুকরণ করতে হবে this এটি কাজ করার সময়, এই হাজার হাজার ত্রুটিগুলি অনুকরণ করা খুব ব্যয়বহুল এবং ভার্চুয়ালাইজ অতিথির অভিনয়কে মারাত্মকভাবে আঘাত দেয়। "
ডাস্টিন ওরেপা

24

ওএস ডিজাইনের দৃষ্টিকোণে, একাধিক সুবিধাযুক্ত রিং থাকা x86 এর অদ্ভুততা most বেশিরভাগ অন্যান্য সিপিইউতে কেবল দুটি মোড থাকে (তত্ত্বাবধায়ক এবং ব্যবহারকারী)। যেমন, একাধিক সুবিধাযুক্ত মোডগুলির প্রয়োজনের জন্য একটি ওএস ডিজাইন করা তা অবিলম্বে অন্য কোনও সিপিইউতে পোর্ট করা থেকে রোধ করবে। অধিকন্তু, অনেকগুলি আধুনিক ভার্চুয়ালাইজেশন প্যাকেজগুলি 0 এবং 3 ব্যতীত সুবিধাগুলির স্তরগুলি সঠিকভাবে অনুকরণ করে না, ওএসগুলি এই স্তরগুলিকে পরীক্ষা করা আরও বেশি কঠিন করে তোলে।


7

রিং সিকিউরিটির উইকিপিডিয়ায় পৃষ্ঠা অনুসারে ড্রাইভারগুলি (রিং 1), অতিথি অপারেটিং সিস্টেম (রিং 1), এবং i / o সুবিধাপ্রাপ্ত কোড (রিং 2) এর জন্য রিং 1 এবং 2 ব্যবহার করা হয়, হাইপারভাইজাররা -1/0 এ বসে (উপর নির্ভর করে) হাইপার-ভিসর) 1 যেমনটি আমি আগে বলেছি not

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


4
আমি মনে করি আপনি -কোথাও মিস করেছেন আপনি কি হাইপারভাইজাররা রিং 1 ব্যবহারের বিষয়ে নিশ্চিত?
ব্যবহারকারী541686

হেই ভাবছিল না, -১-তে হাইপার-ভিজার হওয়া উচিত এবং 1-তে অতিথি
ওএসগুলি

4
উইন্ডোজ কেবল দুটি রিং ব্যবহার করে কারণ এটি অন্যান্য প্রসেসরগুলিতে চালিত করার জন্য ডিজাইন করা হয়েছিল (বর্তমানে অচল হয়ে পড়ে) যার কেবল দুটি ছিল।
ডেভিড

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