منطقة الذاكرة العليا

في إدارة الذاكرة في نظام DOS ، تُعرف منطقة الذاكرة العليا ( UMA ) بأنها الذاكرة الواقعة بين عنواني 640 كيلوبايت و1024 كيلوبايت ( 0xA0000–0xFFFFF ) في أجهزة IBM PC أو الأجهزة المتوافقة معها . خصصت IBM الجزء العلوي من مساحة عناوين المعالج 8088، البالغ 384 كيلوبايت، والبالغة 1024 كيلوبايت، لـ BIOS ROM ، وVideo BIOS ، و Option ROM ، وVideo RAM، وRAM على الأجهزة الطرفية ، ووحدات الإدخال/الإخراج المُرتبطة بالذاكرة ، ولغة ROM BASIC القديمة . [ 1 ]
مع ذلك، حتى مع وجود ذاكرة الفيديو، ونظام الإدخال والإخراج الأساسي (BIOS) للقراءة فقط ، ونظام الإدخال والإخراج الأساسي للفيديو ، وذاكرة القراءة فقط الاختيارية ، ومنافذ الإدخال والإخراج للأجهزة الطرفية، ظل جزء كبير من مساحة العناوين البالغة 384 كيلوبايت غير مستخدم. ومع تزايد صعوبة تجاوز قيود الذاكرة البالغة 640 كيلوبايت، تم ابتكار تقنيات لملء المساحات الفارغة بذاكرة الوصول العشوائي (RAM). وقد أُطلق على هذه المساحات اسم كتل الذاكرة العليا ( UMBs ).
الاستخدام
تمثلت المرحلة التالية في تطور نظام التشغيل DOS في استخدام كتل الذاكرة العليا (UMBs) ومنطقة الذاكرة العالية (HMA). وقد حدث ذلك مع إصدار DR DOS 5.0 في عام 1990. [ 2 ] وكان مدير الذاكرة المدمج في DR DOS، EMM386.EXE ، قادرًا على أداء معظم الوظائف الأساسية لبرنامج QEMM والبرامج المشابهة.
تكمن ميزة نظام DR DOS 5.0 مقارنةً بنظام DOS قديم مع QEMM في إمكانية تحميل نواة DR DOS نفسها ومعظم هياكل بياناتها في ذاكرة عالية. هذا الأمر يُتيح استخدام معظم الذاكرة الأساسية، مما يسمح بتكوينات تصل فيها المساحة الحرة إلى 620 كيلوبايت من أصل 640 كيلوبايت.
لم تكن عملية التهيئة تلقائية، بل كان لا بد من تحديد وحدات الذاكرة غير المحمية (UMBs) يدويًا، وإضافتها يدويًا إلى سطر تحميل برنامج EMM386 من ملف CONFIG.SYS ، ثم تحميل برامج التشغيل وغيرها يدويًا إلى وحدات الذاكرة غير المحمية من ملفي CONFIG.SYS و AUTOEXEC.BAT . لم تكن هذه العملية سهلة. ولأن برنامج تثبيت QEMM كان يُؤتمتها إلى حد كبير، فقد استمر هذا البرنامج في السوق؛ بل إنه عمل بكفاءة مع دعم DR DOS لوحدات الذاكرة غير المحمية (HMA) ووحدات الذاكرة غير المحمية (UMBs)، وأصبح فيما بعد أحد أكثر البرامج مبيعًا لأجهزة الكمبيوتر الشخصية.
نُسخت هذه الخاصية من قِبل مايكروسوفت مع إصدار نظام التشغيل MS-DOS 5.0 في يونيو 1991. [ 2 ] لاحقًا، نُقلت المزيد من هياكل بيانات DOS من الذاكرة التقليدية، مما أتاح مساحة تصل إلى 631 كيلوبايت من أصل 640 كيلوبايت. بدءًا من الإصدار 6.0 من MS-DOS، أضافت مايكروسوفت برنامجًا يُسمى MEMMAKER، والذي استُخدم لتحسين الذاكرة التقليدية تلقائيًا عن طريق نقل البرامج التي تُنهي عملها وتبقى فيه (TSR) إلى الذاكرة العلوية.
خلال فترة من أوائل التسعينيات، أصبحت عملية تحسين خريطة ذاكرة نظام التشغيل DOS يدويًا مهارةً بالغة الأهمية، إذ سمحت بتشغيل أكبر التطبيقات حتى على أكثر تكوينات أجهزة الكمبيوتر تعقيدًا. كانت التقنية تقوم أولًا على إنشاء أكبر عدد ممكن من وحدات UMB، بما في ذلك إعادة تعيين كتل الذاكرة المخصصة ولكن غير المستخدمة، مثل منطقة العرض أحادية اللون في أجهزة الكمبيوتر الملونة. بعد ذلك، كان لا بد من تحميل المكونات الفرعية العديدة لنظام DOS في وحدات UMB هذه بالتسلسل الصحيح لاستخدام كتل الذاكرة بأكبر قدر ممكن من الكفاءة. تطلبت بعض برامج TSR ذاكرة إضافية أثناء التحميل، والتي كانت تُحرر مرة أخرى بمجرد اكتمال التحميل. لحسن الحظ، كانت هناك تبعيات قليلة بين هذه الوحدات، لذا كان من الممكن تحميلها بأي تسلسل تقريبًا. الاستثناءات كانت أنه لكي يتم تخزين أقراص CD-ROM مؤقتًا بنجاح، كان لا بد من تحميل معظم ذاكرات التخزين المؤقت للقرص بعد أي برامج تشغيل لأقراص CD-ROM، وكان لا بد من تحميل وحدات معظم حزم الشبكة بتسلسل معين، أي العمل تدريجيًا عبر طبقات نموذج OSI .
إحدى الطرق الأساسية والفعّالة لتحسين استخدام الذاكرة التقليدية هي تحميل HIMEM.SYS كجهاز، ثم تحميل EMM386.EXE كجهاز مع خيار "RAM AUTO" الذي يسمح بالوصول إلى وحدة إدارة الذاكرة الموحدة (UMA) عن طريق تحميل برامج تشغيل الأجهزة كأجهزة عالية. تُحمّل هذه الطريقة مديري الذاكرة الأساسيين في الذاكرة التقليدية، ثم تُحمّل باقي البرامج في وحدة إدارة الذاكرة الموحدة (UMA). ويمكن أيضًا تحميل البرامج التي تستهلك الكثير من الذاكرة التقليدية، مثل MSCDEX، في وحدة إدارة الذاكرة الموحدة (UMA) بطريقة مماثلة، مما يُحرر مساحة كبيرة من الذاكرة التقليدية.
ويندوز
مع ازدياد شعبية نظام التشغيل ويندوز 3.0، تضاءلت الحاجة إلى مساحة الذاكرة العليا، إذ لم تتأثر تطبيقات ويندوز مباشرةً بحدود الذاكرة الأساسية لنظام DOS، بينما ظلت برامج DOS التي تعمل ضمن ويندوز (حيث يعمل ويندوز نفسه كمدير للمهام المتعددة) مقيدة بهذه الحدود. ومع إصدار ويندوز 95 ، تضاءلت هذه الحاجة أكثر، إذ يوفر هذا الإصدار من ويندوز معظم وظائف برامج تشغيل أجهزة DOS لتطبيقات DOS التي تعمل ضمن ويندوز، مثل دعم الأقراص المضغوطة والشبكة والصوت؛ كما تم تحسين خريطة ذاكرة DOS في ويندوز 95 تلقائيًا. مع ذلك، لم تتمكن جميع برامج DOS من العمل في هذه البيئة. على وجه التحديد، لم تكن البرامج التي تحاول التبديل مباشرةً من الوضع الحقيقي إلى الوضع المحمي تعمل، لأن ذلك غير مسموح به في وضع 8086 الافتراضي الذي كانت تعمل فيه. كذلك، لم تكن البرامج التي تحاول التبديل باستخدام واجهة برمجة تطبيقات التحكم الافتراضي (VCPI) (التي طُرحت للسماح لبرامج DOS التي تحتاج إلى الوضع المحمي بالدخول إليه من وضع 8086 الافتراضي الذي يُهيئه مدير الذاكرة، كما ذُكر أعلاه) تعمل في نظام التشغيل Windows 95. كانت واجهة برمجة تطبيقات الوضع المحمي لنظام DOS (DPMI) هي الوحيدة المدعومة للتبديل إلى الوضع المحمي.
تطبيق
وضع 8086 الافتراضي
يمكن إنشاء كتل الذاكرة العليا عن طريق ربط الذاكرة الموسعة بمنطقة الذاكرة العليا عند التشغيل في وضع 8086 الافتراضي . يشبه هذا كيفية محاكاة الذاكرة الموسعة باستخدام الذاكرة الموسعة، لذا فإن هذه الطريقة لتوفير كتل الذاكرة العليا عادةً ما يوفرها مدير الذاكرة الموسعة (على سبيل المثال EMM386 ). يتم تحديد واجهة برمجة التطبيقات لإدارة كتل الذاكرة العليا في مواصفات الذاكرة الموسعة .
شادو رام
في العديد من الأنظمة، بما في ذلك الأنظمة الحديثة، يُمكن استخدام الذاكرة المحجوزة لذاكرة القراءة فقط (ROM) الخاصة ببطاقات التوسعة كذاكرة رئيسية. تخصص العديد من الشرائح ما يصل إلى 384 كيلوبايت من ذاكرة الوصول العشوائي (RAM) لهذا الغرض، وبما أن هذه الذاكرة غير مستخدمة عادةً، فيمكن استخدامها كذاكرة رئيسية في الوضع الفعلي باستخدام برنامج تشغيل مخصص ، مثل UMBPCI. [ 3 ]
آي بي إم إكس تي
في أجهزة كمبيوتر IBM XT ، كان من الممكن إضافة ذاكرة إضافية إلى اللوحة الأم واستخدام ذاكرة قراءة فقط قابلة للبرمجة (PROM) مخصصة لفك تشفير العناوين لجعلها تظهر في منطقة الذاكرة العلوية. [ 4 ] وكما هو الحال مع الذاكرة العلوية القائمة على معالج 386 الموصوفة أعلاه، يمكن استخدام ذاكرة الوصول العشوائي الإضافية لتحميل ملفات TSR، أو كقرص RAM .
سمحت وحدة إدارة الذاكرة الإضافية AllCard لأجهزة الكمبيوتر من فئة XT بربط الذاكرة العادية بنطاق العناوين 0xA0000-EFFFF، مما وفر مساحة تصل إلى 952 كيلوبايت لبرامج DOS. كانت برامج مثل Lotus 1-2-3 ، التي تصل إلى ذاكرة الفيديو مباشرةً، بحاجة إلى تعديل لتتوافق مع هذا التخطيط للذاكرة. وبالتالي، تم تجاوز حاجز 640 كيلوبايت على حساب توافق البرامج. يختلف استخدام منطقة الذاكرة العليا هذه عن استخدام كتل الذاكرة العليا، الذي كان يُستخدم لتحرير الذاكرة التقليدية عن طريق نقل برامج تشغيل الأجهزة وسجلات المعاملات (TSRs) إلى الجزء العلوي من مساحة العناوين البالغة 1 ميجابايت (384 كيلوبايت) ، مع الحفاظ على مقدار الذاكرة القابلة للعنونة (640 كيلوبايت) كما هو.
انظر أيضاً
مراجع
- ↑ "خريطة الذاكرة (x86) - ويكي مطوري أنظمة التشغيل" . wiki.osdev.org . تم الاطلاع عليه بتاريخ 20-12-2020 .
- 1 2 دريفوس، مايك، محرر. (18-09-1991) [19-07-1991]. "تقرير ما بعد تطوير MS-DOS 5.0" (ملف PDF) (يُرسل كوثيقة محكمة). مايكروسوفت . ص 10. MS-PCA1179169 (MS-PCA1179159-MS-PCA1179191). MS7020988 (MS7020978-MS7021010). وثيقة الإفادة، الملحق 1109. كومز ضد مايكروسوفت ، الملحق 3473 للمدعي. القضية رقم 2:96CV645B، الملحق 477 للمدعي. مؤرشف (PDF) من الأصل بتاريخ 02-04-2019 . تم الاطلاع عليه بتاريخ 22-07-2019 .
كان أحد أهم المحفزات لإضافة الميزات هو الضغط التنافسي من
نظام DRDOS 5.0
، الذي علمنا به لأول مرة في ربيع عام 1990. دفعتنا مجموعة ميزات DRDOS إلى إضافة دعم
UMB
، وتبديل المهام، واستعادة الملفات المحذوفة. وتم توجيه جزء كبير من اهتمام إدارة الفريق إلى ميزات جديدة مثل برامج نقل الملفات، واستعادة الملفات المحذوفة، والتثبيت عبر الشبكة. وفي نهاية المطاف، وصل هذا الوضع إلى نقطة حرجة في نهاية يوليو 1990، وبقيادة
براد إس
، أمضت إدارة الفريق سلسلة من الاجتماعات الشاقة لوضع جدول زمني وآلية لإغلاق المشروع.
(صفحة واحدة + 32 صفحة)
- ↑ "UMBPCI V3.89 - برنامج تشغيل UMB للأجهزة من مجلة c't لأنظمة DOS وWin95/98" . مؤرشف من الأصل بتاريخ 30 ديسمبر 2019. تم الاطلاع عليه بتاريخ 7 فبراير 2020 .
- ↑ أتكينسون، سي (2001). "ما هي الذاكرة عالية الأداء، ولماذا أهتم بها، وكيف يمكنني استخدامها؟" . سان خوسيه، كاليفورنيا، الولايات المتحدة الأمريكية. مؤرشف من الأصل بتاريخ 5 أكتوبر 2018. تم الاطلاع عليه بتاريخ 7 فبراير 2020 .
- إدارة الذاكرة في نظام التشغيل DOS
- نظام الإدخال والإخراج الأساسي (BIOS)
