سؤال

أنا أقرأ مفهوم أنظمة التشغيل وأنا في الفصل الثامن! ومع ذلك ، يمكنني استخدام بعض التوضيح ، أو الطمأنينة بأن فهمي صحيح.

العناوين المنطقية: يتم إنشاء العناوين المنطقية بواسطة وحدة المعالجة المركزية ، وفقًا للكتاب. ماذا يعني حقا هذا؟ (في نظام العناوين الذي تم إنشاؤه في التنفيذ ..) أفترض متى يتم تجميع الكود لبرنامج ما ، لدى البرنامج رقم فكرة حيث سيتم تحميل الرمز في الذاكرة. يتم إعداد جميع البرمجيات التي يقوم بها برنامج التحويل البرمجي برسم عام لتخطيط البرنامج وكيف ينبغي وضع الصورة ، ولكن لا يعين أي عناوين حقيقية لها. عند تنفيذ البرنامج ، يأخذ وحدة المعالجة المركزية هذه الصورة التي قام بها المترجم ويسلم بعض العناوين (العناوين المنطقية) إلى تلك التي تم إنشاؤها من الكود.

العناوين المادية: لا يتم إنشاء العناوين المادية حتى بعد أن تقوم وحدة المعالجة المركزية بإنشاء مجموعة من العناوين المنطقية (تتكون من عنوان أساسي وإزاحة). تمر العناوين المنطقية عبر MMU أو جهاز آخر وفي مكان ما على طول الخط ، يتم تعيين العناوين المنطقية لعناوين ذاكرة الوصول العشوائي المادية.

ما هو إذن الفرق الفعلي؟ أستطيع أن أرى فائدة واحدة. يعطي استخدام العناوين المنطقية المزيد من الحرية للتطبيقات. إذا كانت العناوين المادية مشفرة شاقة ، فسوف يعتمد نجاح البرنامج اعتمادًا كبيرًا على جهاز الكمبيوتر الفعلي ، وعناوين ذاكرة الوصول العشوائي المتاحة وما إلى ذلك.

ألا يفرض استخدام العناوين المنطقية التي تم تحويلها إلى عنوان فعلي خطوتين بدلاً من واحدة إلى واحدة ، وبالتالي أكثر على الرأس؟

أين ثم توجد العناوين المنطقية بعد الجيل؟ قد تكون موجودة في سجل على وحدة المعالجة المركزية بينما تقوم وحدة المعالجة المركزية بخدمة العملية ، ولكن قبل وبعد ، أين يذهبون؟ أنا أفهم أن هذا يعتمد على التنفيذ. أفترض أنه قد يتم تخزينه في بعض مساحة التسجيل الخاصة أو المخزن المؤقت على وحدة المعالجة المركزية مثل TLB ، صحيح؟ إذا لم يكن الأمر كذلك ، فقد يكون الجدول موجودًا في ذاكرة الوصول العشوائي الفعلية نفسها ، وتحمل وحدة المعالجة المركزية فقط مؤشر/عنوان على العنوان الأساسي للجدول في ذاكرة الوصول العشوائي ، صحيح؟

يبدو أن عقد العناوين في ذاكرة الوصول العشوائي مضادة لغرض عناوين الذاكرة المنطقية. لا يمكنني إلا أن أفترض أن فهمي غير صحيح.

هل كانت مفيدة؟

المحلول

هذه الإجابة ليست شاملة بأي حال من الأحوال ولكنها قد تفسرها بما يكفي لجعل الأشياء تنقر.

في أنظمة الذاكرة الافتراضية ، هناك فصل بين العناوين المنطقية والمادية.

يمكن إعطاء التطبيق مساحة عنوان افتراضية لـ (دعنا نقول) 4G. هذه هي ذاكرتها القابلة للاستخدام وهي مجانية لاستخدامها كما ترى مناسبة. إنها كتلة متجاورة لطيفة من الذاكرة (من وجهة نظر التطبيق).

ومع ذلك ، فهي ليست فقط تشغيل التطبيق ، ونظام التشغيل يجب أن يتوسط بينهما جميعًا. تحت هذا النموذج المتجاوب الجميل ، هناك الكثير من الخرائط التي تستمر لتحويل العناوين المنطقية إلى العناوين المادية.

باستخدام هذا التعيين ، يعد نظام التشغيل والأجهزة (سأسمي هذه الطبقات السفلية من هنا) مجانًا لوضع صفحات التطبيق في أي مكان تريده (إما في الذاكرة الفعلية أو تم تبديلها إلى التخزين الثانوي).

عندما يحاول التطبيق الوصول إلى الذاكرة في العنوان المنطقي 50 ، يمكن للمستويات الأدنى ترجمة ذلك إلى عنوان فعلي باستخدام جداول الترجمة. وإذا حاولت الوصول إلى الذاكرة المنطقية التي تم تبديلها على القرص ، يتم رفع خطأ في الصفحة ويمكن للمستويات الأدنى إعادة البيانات ذات الصلة إلى الذاكرة ، في أي شيء بدني عنوانه يريد.

في الأيام الخوالي السيئة التي كانت فيها العناوين المادية كل ما لديك ، كان لا بد من نقل الكود (أو إصلاحه عند الحمل) لأنه قد يتم تحميله في أي مكان. مع الذاكرة الافتراضية ، يمكن أن يكون هذا الرمز (والبيانات) في موقع الذاكرة المنطقي 50 في عشرات العمليات المختلفة في نفس الوقت - إنه فعلي بدني سيكون العنوان مختلفًا.

يمكن مشاركته حتى بدني النسخة موجودة في مساحة العنوان للعديد من العمليات في وقت واحد. هذا هو جوهر التعليمات البرمجية المشتركة (لذلك لا نستخدم ذاكرة فعلية أكثر مما نحتاج) والذاكرة المشتركة للسماح بتواصل سهولة بين العمليات).

إنها ، بطبيعة الحال ، أقل كفاءة من بيئة مادية خالصة ، لكن مصنعي وحدة المعالجة المركزية يحاولون جعلها فعالة بجنون قدر الإمكان ، لأنها تستخدم بشكل كبير. مزايا بعيد تفوق العيوب.

نصائح أخرى

العنوان المنطقي هو العنوان بالنسبة للبرنامج. إنه يخبر مقدار الذاكرة التي ستستغرقها عملية معينة ، ولا تخبرنا ما الذي سيحدده الموقع الدقيق للعملية وهذا الموقع الدقيق الذي نولده باستخدام بعض التعيين ، ويعرف باسم العنوان المادي.

العنوان المنطقي:- العنوان المنطقي الذي تم إنشاؤه بواسطة وحدة المعالجة المركزية. عندما نقدم المشكلة للكمبيوتر ، فإن جهاز الكمبيوتر الخاص بنا يمرر المشكلة إلى المعالج من خلال العنوان المنطقي ، والذي لم نر هذا العنوان يسمى العنوان المنطقي.

العنوان الفعلي:- عندما يقوم معالجنا بإنشاء العملية وحل مشكلتنا ، فإننا نقوم بتخزين البيانات في الذاكرة الثانوية من خلال العنوان المسمى العنوان الفعلي

  1. يشار إلى العنوان الذي تم إنشاؤه بواسطة وحدة المعالجة المركزية عادة باسم عنوان منطقي. تُعرف مجموعة جميع العناوين المنطقية التي تم إنشاؤها بواسطة برنامج باسم مساحة العنوان المنطقية. بينما ، يشار إلى العنوان الذي تراوحته وحدة الذاكرة- أي العنوان الذي تم تحميله في سجل الذاكرة للذاكرة- باسم العنوان الفعلي. تُعرف مجموعة جميع العناوين المادية المقابلة للعناوين المنطقية باسم مساحة العنوان المادية.
  2. تولد أساليب ربط العناوين وقت الترجمة وحمل عناوين منطقية وجسدية متطابقة. ومع ذلك ، في مخطط ربط عناوين الوقت في التنفيذ ، تختلف المساحات المنطقية والبدنية.
  3. لا يرى برنامج المستخدم أبدًا العناوين المادية. يقوم البرنامج بإنشاء مؤشر لعنوان منطقي ، على سبيل المثال ، 346 ، يخزنه في الذاكرة ، ويعالجه ، ويقارنه بالعناوين المنطقية الأخرى- كلها مثل الرقم 346. فقط عند استخدام عنوان منطقي كعنوان ذاكرة ، يتم نقله بالنسبة إلى سجل القاعدة/النقل. يقوم جهاز جهاز رسم خرائط الذاكرة المسمى وحدة إدارة الذاكرة (MMU) بتحويل العناوين المنطقية إلى عناوين فعلية.
  4. تتراوح العناوين المنطقية من 0 إلى الحد الأقصى. يعتقد برنامج المستخدم الذي ينشئ عنوانًا منطقيًا أن العملية تعمل في المواقع 0 إلى الحد الأقصى. يجب تعيين العناوين المنطقية للعناوين المادية قبل استخدامها. تتراوح العناوين المادية من (R + 0) إلى (R + Max) للحصول على قيمة سجل قاعدة/نقل R.
  5. مثال:enter image description hereرسم الخرائط من العناوين المنطقية إلى العناوين المادية باستخدام وحدة إدارة الذاكرة (MMU) والتسجيل/القاعدة تسجيل يتم إضافة القيمة في النقل/الأساس إلى كل عنوان منطقي تم إنشاؤه بواسطة عملية مستخدم ، في الوقت الذي يتم فيه إرساله إلى الذاكرة ، لإنشاء المادية المقابلة تبوك. في الشكل أعلاه ، تكون قيمة القاعدة/ النقل هي 14000 ، ثم يتم تعيين محاولة للمستخدم للوصول إلى الموقع 346 إلى 14346.

مساحة العنوان المادي المنطقي

يتم الحكم عادة العنوان الذي تم إنشاؤه بواسطة وحدة المعالجة المركزية على أنه عنوان منطقي ، في حين أن العنوان الذي تراوحته وحدة الذاكرة ، يتم تحميله في سجل عنوان الذاكرة للذاكرة عادة كعنوان فعلي. يولد العناوين المنطقية والفيزيائية المتطابقة. ومع ذلك ، ينتج عن مخطط ربط عنوان وقت التنفيذ عناوين منطقية وجسدية مختلفة.

تُعرف مجموعة من جميع العناوين المنطقية التي تم إنشاؤها بواسطة برنامج ما باسم مساحة العنوان المنطقية ، في حين أن مجموعة جميع العناوين المادية المقابلة لهذه العناوين المنطقية هي مساحة العنوان الفعلي. الآن ، يتم تعيين وقت التشغيل من العنوان الافتراضي إلى العنوان الفعلي بواسطة جهاز الأجهزة المعروف باسم وحدة إدارة الذاكرة. هنا في حالة تعيين السجل الأساسي يُعرف باسم سجل النقل. تتم إضافة القيمة في سجل النقل إلى العنوان الذي تم إنشاؤه بواسطة عملية المستخدم في الوقت الذي يتم فيه إرساله إلى الذاكرة. هذا الموقف بمساعدة المثال: إذا كان السجل الأساسي يحتوي على القيمة 1000 ، فإن محاولة المستخدم لمعالجة الموقع 0 يتم نقلها ديناميكيًا إلى الموقع 1000 ، يتم تعيين الوصول إلى الموقع 346 إلى الموقع 1346.

لا يرى برنامج المستخدم مساحة العنوان الفعلي الحقيقي ، فهو يتعامل دائمًا مع العناوين المنطقية. نظرًا لأن لدينا نوعان مختلفان من العناوين المنطقية في النطاق (0 إلى أقصى) والعناوين المادية في النطاق (R إلى R+Max) عندما تكون R هي قيمة سجل النقل. يقوم المستخدم بإنشاء عناوين منطقية فقط ويعتقد أن العملية يتم تشغيلها في الموقع إلى 0 إلى Max.as ، من الواضح من النص أعلاه أن برنامج المستخدم يوفر فقط عناوين منطقية ، يجب تعيين هذه العناوين المنطقية إلى العنوان المادي قبل استخدامها.

العنوان المنطقي هو إشارة إلى موقع الذاكرة مستقلة عن التعيين الحالي للبيانات للذاكرة. العنوان الفعلي أو العنوان المطلق هو موقع حقيقي في الذاكرة الرئيسية.

إنه في الفصل 7.2 من المماطلة.

إلى أفضل ما في ذاكرتي ، يكون العنوان الفعلي عبارة عن عنوان صريح ، محدد في الذاكرة ، بينما يتكون العنوان المنطقي من مؤشر قاعدة وإزاحة.

والسبب كما تم تحديده بشكل أساسي. إنه يسمح ليس فقط تجزئة البرامج والعمليات في مؤشرات الترابط والبيانات ، ولكن أيضًا للتحميل الديناميكي لمثل هذه البرامج ، وبدل ما لا يقل عن التوازي الزائفة ، دون أي تشابك فعلي للتعليمات في الذاكرة التي تحتاج إلى إجراء.

لقد وجدت ال مقالة - سلعة حول العنوان المادي المنطقي في نظام التشغيل ، والذي يشرح بوضوح حول هذا الموضوع.

العنوان المنطقي يتم إنشاؤه بواسطة وحدة المعالجة المركزية أثناء تشغيل البرنامج. العنوان المنطقي هو العنوان الظاهري لأنه غير موجود جسديًا ، لذلك يُعرف أيضًا باسم العنوان الافتراضي. يتم استخدام هذا العنوان كمرجع للوصول إلى موقع الذاكرة الفعلية بواسطة وحدة المعالجة المركزية. يتم استخدام مصطلح مساحة العنوان المنطقي لمجموعة جميع العناوين المنطقية التي تم إنشاؤها بواسطة منظور البرامج. يتم استخدام جهاز الأجهزة المسمى وحدة إدارة الذاكرة لرسم خرائط العنوان المنطقي لعنوانه الفعلي المقابل.

العنوان الفعلي يحدد موقع فعلي للبيانات المطلوبة في الذاكرة. لا يتعامل المستخدم بشكل مباشر مع العنوان الفعلي ولكن يمكنه الوصول إلى عنوانه المنطقي المقابل. يقوم برنامج المستخدم بإنشاء العنوان المنطقي ويعتقد أن البرنامج يعمل في هذا العنوان المنطقي ، لكن البرنامج يحتاج إلى ذاكرة فعلية لتنفيذه ، وبالتالي يجب تعيين العنوان المنطقي على العنوان الفعلي BU MMU قبل استخدامه. يتم استخدام مصطلح مساحة العنوان الفعلي لجميع العناوين المادية المقابلة للعناوين المنطقية في مساحة عنوان منطقية.

Logical and Physical Address comparision

مصدر: www.geeksforgeeks.org

العنوان المنطقي هو العنوان الذي يبدو فيه عنصر (خلية الذاكرة ، عنصر التخزين ، مضيف الشبكة) يقيم من منظور برنامج تطبيق تنفيذ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top