أولًا:
ما هو الفرق بين جدول الواصفات العامة، وجدول الواصفات المحلي.
ثانيًا:
في المعالجات التي تدعم الذاكرة الإفتراضية، يصل حجم الذاكرة الإفتراضية إلى الحجم الذي يمكن أن يعنونه مسجل الإزاحة (أي ما يصل إلى 4 قيقات لمعالجات 32 بت)، هل هذه المساحة لكل البرامج، كل على حدى؛ أي أن لكل برنامج مساحة افتراضية هي 4 قيقات. أم أن هذه المساحة مقسمة على جميع البرامج؟
التعليقات
أولا:
جدول الواصافات العامة GDT Global Descriptor Table يقوم بوصف ال segment لكل المهام او البرامج Task و يحوي على عدة جدول واصفات محلية
جدول الواصافات المحلي Global Descriptor Table هو خاص لاحد البرامج يتم العثور عليه داخل GDT باستخدام سجل LDTR
ثانيا:
نعم هذه المساحة لكل برنامج على حدى و ليس لجميع البرامج
اذا الرام(الذاكرة) لم تكفي يتم الاستعانة بالهاردستك و طبعا يؤدي الى بطيء كبير
أولًا:
حسنًا حسب ما فهمته من كلامك، فجدول الواصفات العامة يحتوي مؤشرات للجداول المحلية. وأن لكل مهمة جدول محلي منفصل؟
أم أن الجدول العام يحتوي بداخليه الجدول المحلي (وليس مؤشرات إليه)؟
وسؤال آخر: هل للبرامج الحق في تعديل جدول الواصفات المحلي الخاص بها؟
ثانيًا:
إذا كان الأمر كذلك، فما الحاجة لوامر مثل: malloc، وغيرها؟!، ما دام عندي ذاكرة بهذا الحجم (ومن الأصل لن يكون بالإمكان العنونة أكثر من ذلك)؟!
أولا: الجدول العام يحتوي على مؤشر الجدول المحلي (مكان الجدول المحلي) و ليس الجدول المحلي نفسه
لا ليس من حق البرنامج هذه مهمة نظام التشغيل كي لا يحدث تداخل بين المهام
ثانيا: الغاية من اعطاء ذاكرة افتراضية حتى لا يحدث تداخل بين البرامج مع بعضها البعض مع امكانية التبديل بين ذاكرة RAM و الهارد او اي وسيلة تخزين اخرى