الذاكرة التقليدية

مناطق الذاكرة في عائلة أجهزة الكمبيوتر الشخصية من IBM

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

حاجز 640 كيلوبايت

كتل الذاكرة لأجهزة IBM PC و PC/XT و 3270 PC و PCjr [ 1 ] [ 2 ]
كتلة صفريةأول 64  كيلوبايتذاكرة المستخدم العادية تصل إلى 64  كيلوبايت (منطقة الذاكرة المنخفضة)
كتلة واحدة2nd 64  KBذاكرة المستخدم العادية تصل إلى 128  كيلوبايت
كتلة من 23rd 64  KBذاكرة المستخدم العادية تصل إلى 192  كيلوبايت
3-مربع4th 64  KBذاكرة المستخدم العادية تصل إلى 256  كيلوبايت
4-مربع5th 64  KBذاكرة المستخدم العادية تصل إلى 320  كيلوبايت
خمسة مربعات64  كيلوبايتذاكرة المستخدم العادية تصل إلى 384  كيلوبايت
ستة مربعات7th 64  KBذاكرة المستخدم العادية تصل إلى 448  كيلوبايت
سبعة مربعات8th 64  KBذاكرة المستخدم العادية تصل إلى 512  كيلوبايت
ثمانية مربعات9th 64  KBذاكرة المستخدم العادية تصل إلى 576  كيلوبايت
9-مربع10th 64  KBذاكرة المستخدم العادية تصل إلى 640  كيلوبايت
الكتلة أ11th 64  KBذاكرة الفيديو الموسعة ( EGA )
الكتلة ب12th 64  KBذاكرة الفيديو القياسية ( MDA / CGA )
الكتلة ج13th 64  KBتوسيع ذاكرة القراءة فقط (XT، EGA، 3270 PC)
الكتلة د14th 64  KBاستخدامات أخرى (خراطيش PCjr، LIM EMS )
الكتلة E15th 64  KBاستخدامات أخرى (خراطيش PCjr، LIM EMS)
كتلة F16th 64  KBنظام ROM-BIOS و ROM-BASIC

يُعدّ حدّ 640 كيلوبايت قيدًا معماريًا لأجهزة الكمبيوتر المتوافقة مع IBM PC . كان معالج Intel 8088 ، المستخدم في جهاز IBM PC الأصلي ، قادرًا على عنونة 1  ميجابايت (2^ 20  بايت)، نظرًا لأن الشريحة توفر 20 خط عنونة . في تصميم الكمبيوتر، كانت الذاكرة التي تقلّ عن 640  كيلوبايت مخصصة لذاكرة الوصول العشوائي على اللوحة الأم أو على لوحات التوسعة، وتُعرف بمنطقة الذاكرة التقليدية.يُطلق على الجزء الأول من الذاكرة (64  كيلوبايت ) في منطقة الذاكرة التقليدية اسم الذاكرة السفلية . أما الجزء المتبقي، وهو 384 كيلوبايت، والذي يقع خارج منطقة الذاكرة التقليدية، فيُسمى منطقة الذاكرة العلوية (UMA)، وقد خُصص لاستخدام النظام والأجهزة الاختيارية. استُخدمت منطقة الذاكرة العلوية (UMA) لذاكرة القراءة فقط (ROM BIOS) ، وذاكرة إضافية للقراءة فقط ، وامتدادات BIOS لمحركات الأقراص الثابتة ومحولات الفيديو، وذاكرة محول الفيديو، وأجهزة الإدخال والإخراج الأخرى المُرتبطة بالذاكرة . وقد وضع تصميم جهاز IBM PC الأصلي خريطة ذاكرة محول الرسومات الملونة (CGA) في منطقة الذاكرة العلوية (UMA). 

تزايدت الحاجة إلى ذاكرة الوصول العشوائي (RAM) بوتيرة أسرع من حاجة الأجهزة إلى استخدام العناوين المحجوزة، مما أدى في النهاية إلى ربط ذاكرة الوصول العشوائي بهذه المناطق العلوية غير المستخدمة لاستغلال كامل المساحة المتاحة للعنونة. وقد أدى ذلك إلى ظهور "فجوة" محجوزة (أو عدة فجوات) في مجموعة العناوين التي تشغلها الأجهزة، والتي يمكن استخدامها لبيانات عشوائية. وكان تجنب هذه الفجوة صعبًا وغير عملي، ولم يكن مدعومًا من قِبل نظام التشغيل DOS أو معظم البرامج التي تعمل عليها. لاحقًا، استُخدمت المساحة بين الفجوات ككتل ذاكرة علوية (UMBs).

للحفاظ على التوافق مع أنظمة التشغيل والتطبيقات القديمة،  ظلّ حاجز 640 كيلوبايت جزءًا من تصميم الحاسوب الشخصي حتى بعد استبدال معالج 8086/8088 بمعالج Intel 80286 ، الذي كان بإمكانه الوصول إلى 16  ميجابايت من الذاكرة في الوضع المحمي . كما ظلّ حاجز 1  ميجابايت قائمًا طالما كان معالج 286 يعمل في الوضع الحقيقي ، لأن نظام DOS كان يتطلب هذا الوضع الذي يستخدم سجلات القطاعات والإزاحات بطريقة متداخلة، ما يجعل العناوين التي تتجاوز 20 بت غير ممكنة. ولا يزال هذا الحاجز موجودًا في أجهزة IBM PC المتوافقة اليوم إذا كانت تعمل في الوضع الحقيقي كما هو الحال في نظام DOS. حتى أحدث أجهزة Intel PC لا تزال تحتفظ بالمساحة المحجوزة بين 640 و1024 كيلوبايت . [ 3 ] [ 4 ] مع ذلك، فإن هذه المساحة غير مرئية للبرامج (أو حتى لمعظم نظام التشغيل) على أنظمة التشغيل الأحدث (مثل Windows و Linux و Mac OS X ) التي تستخدم الذاكرة الافتراضية ، لأنها لا تدرك عناوين الذاكرة الفعلية على الإطلاق. بدلاً من ذلك، تعمل هذه الأجهزة ضمن مساحة عناوين افتراضية ، يتم تعريفها بشكل مستقل عن عناوين ذاكرة الوصول العشوائي المتاحة. [ 5 ] 

تتضمن بعض اللوحات الأم خيار "فتحة ذاكرة بسعة 15 ميجابايت"، وهو ضروري لبعض بطاقات الفيديو VGA التي تتطلب الوصول الحصري إلى ميجابايت واحد لذاكرة الفيديو. أما بطاقات الفيديو الأحدث التي تستخدم ناقل AGP (مساحة ذاكرة PCI)، فيمكن أن تحتوي على ذاكرة بسعة 256 ميجابايت مع فتحة بحجم 1 جيجابايت .  

ذاكرة إضافية

إحدى التقنيات المستخدمة في أجهزة IBM XT المبكرة كانت تثبيت ذاكرة وصول عشوائي إضافية (RAM) في نطاق عناوين ذاكرة الفيديو، ورفع الحد الأقصى إلى بداية محول العرض أحادي اللون (MDA). في بعض الأحيان، كان يلزم استخدام برامج أو وحدة فك تشفير عناوين مخصصة لكي تعمل هذه التقنية. وقد أدى ذلك إلى رفع الحد الأقصى إلى 704  كيلوبايت (مع MDA/HGC) أو 736  كيلوبايت (مع CGA). [ 6 ] [ 7 ]

يمكن لبرامج إدارة الذاكرة في الأنظمة القائمة على معالجات 386 (مثل QEMM أو MEMMAX (+V) في DR-DOS ) تحقيق التأثير نفسه، وذلك بإضافة ذاكرة تقليدية بحجم 640  كيلوبايت ونقل الحاجز إلى 704  كيلوبايت (حتى المقطع B000، بداية MDA/HGC) أو 736  كيلوبايت (حتى المقطع B800، بداية CGA). [ 7 ] في هذه الحالة، لا يمكن استخدام سوى CGA، لأن ذاكرة الفيديو الخاصة بمحول الرسومات المحسّن (EGA) كانت مجاورة مباشرة لمنطقة الذاكرة التقليدية أسفل  خط 640 كيلوبايت؛ ولا يمكن استخدام منطقة الذاكرة نفسها لكل من مخزن إطارات بطاقة الفيديو والبرامج المؤقتة.

سمحت وحدات إدارة الذاكرة الإضافية AllCard من شركة All Computers لأجهزة XT- [ 8 ] [ 9 ] و Chargecard [ 10 ] لأجهزة الكمبيوتر من فئة 286/386SX، بالإضافة إلى لوحة ECM (الذاكرة التقليدية الموسعة) الإضافية من شركة MicroWay [ 11 ] ، بربط الذاكرة العادية بنطاق العناوين A0000–EFFFF ( سداسي عشري )، مما وفر مساحة تصل إلى 952  كيلوبايت لبرامج DOS. كانت البرامج مثل Lotus 1-2-3 ، التي تصل إلى ذاكرة الفيديو مباشرةً، بحاجة إلى تعديل برمجي للتعامل مع هذا التخطيط للذاكرة. وبالتالي،  تم تجاوز حاجز 640 كيلوبايت على حساب توافق الأجهزة. [ 10 ]

كان من الممكن أيضًا استخدام إعادة توجيه وحدة التحكم [ 12 ] (إما بتحديد جهاز وحدة تحكم بديل مثل AUX: عند استدعاء COMMAND.COM في البداية ، أو باستخدام CTTY لاحقًا) لتوجيه المخرجات واستقبال المدخلات من طرفية بسيطة أو جهاز كمبيوتر آخر يعمل بمحاكي طرفية . وبافتراض أن نظام BIOS لا يزال يسمح للجهاز بالتشغيل (وهو ما يحدث غالبًا، على الأقل مع أنظمة BIOS لأجهزة الكمبيوتر المدمجة)، فإنه يمكن إزالة بطاقة الفيديو في ما يُسمى بالكمبيوتر بدون شاشة تمامًا، ويمكن للنظام توفير ما مجموعه 960  كيلوبايت من ذاكرة DOS المستمرة لتحميل البرامج.

كان من الممكن استخدام مماثل على العديد من أجهزة الكمبيوتر المتوافقة مع نظام التشغيل DOS ولكن ليس مع IBM والتي تتميز بتخطيط ذاكرة غير مجزأ، على سبيل المثال أنظمة ناقل SCP S-100 المزودة ببطاقة وحدة المعالجة المركزية 8086 CP-200B وما يصل إلى ستة عشر  بطاقة ذاكرة SCP 110A (مع 64  كيلوبايت من ذاكرة الوصول العشوائي على كل منها) بإجمالي يصل إلى 1024 كيلوبايت (بدون بطاقة فيديو، ولكن باستخدام إعادة توجيه وحدة التحكم، وبعد رسم خريطة التمهيد/BIOS ROM)، [ 13 ] Victor 9000 / Sirius 1 الذي يدعم ما يصل إلى 896  كيلوبايت، أو Apricot PC مع ذاكرة DOS متصلة أكثر لاستخدامها تحت إصدارها المخصص من MS-DOS.

برامج تشغيل نظام التشغيل DOS و TSRs

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

بعض برامج تشغيل DOS وTSRs الشائعة جدًا التي تستخدم الذاكرة التقليدية تتضمن ما يلي:

  • ANSI.SYS - دعم النصوص الملونة ودقة عرض النصوص المختلفة
  • يجب تحميل الملفات التالية لكي تعمل محركات أقراص SCSI وأقراص CD-ROM من Adaptec : ASPixDOS.SYS، وASPIDISK.SYS، وASPICD.SYS
  • DOSKEY.EXE - يسمح باستدعاء أوامر DOS التي تم إدخالها مسبقًا باستخدام مفتاح السهم العلوي
  • يجب تحميل الملفات التالية: LSL.EXE، E100BODI.EXE (أو أي برنامج تشغيل شبكة آخر)، IPXODI.EXE، NETX.EXE - وذلك لتمكين الوصول إلى أحرف محركات أقراص خادم ملفات NetWare
  • MOUSE.EXE - دعم أجهزة الماوس في برامج DOS
  • MSCDEX.EXE - يدعم الوصول إلى محرك أقراص CD-ROM وحرف محرك الأقراص، ويُستخدم مع برنامج تشغيل خاص بالشركة المصنعة. وهو مطلوب بالإضافة إلى برامج تشغيل SCSI المذكورة أعلاه للوصول إلى جهاز SCSI CD-ROM.
  • SBCONFIG.EXE - دعم جهاز الصوت Sound Blaster 16 ؛ تم استخدام برنامج تشغيل باسم مختلف لبطاقات الصوت الأخرى المختلفة، والتي تشغل أيضًا الذاكرة التقليدية.
  • SMARTDRV.EXE - تثبيت ذاكرة التخزين المؤقت للقرص لتسريع عمليات قراءة وكتابة القرص؛ على الرغم من أنه يمكنه تخصيص عدة ميغابايت من الذاكرة تتجاوز 640  كيلوبايت لتخزين القرص المؤقت، إلا أنه لا يزال بحاجة إلى جزء صغير من الذاكرة التقليدية للعمل.

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

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

كتل الذاكرة العليا والتحميل العالي

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

تم توفير هذه الميزة لأول مرة من قبل منتجات الطرف الثالث مثل QEMM ، قبل أن يتم دمجها في DR DOS 5.0 في عام 1990 ثم MS-DOS 5.0 في عام 1991. استخدم معظم المستخدمين برنامج تشغيل EMM386 المصاحب المتوفر في MS-DOS 5، ولكن منتجات الطرف الثالث من شركات مثل QEMM أثبتت شعبيتها أيضًا.

عند بدء التشغيل، يمكن تحميل برامج التشغيل في مستوى عالٍ باستخدام التوجيه " DEVICEHIGH "، بينما يمكن تحميل سجلات المعاملات (TSRs) في مستوى عالٍ باستخدام التوجيهات " LOADHIGH " أو " LH " أو " HILOAD ". في حال فشل العملية، يتم تحميل برنامج التشغيل أو سجل المعاملات تلقائيًا في الذاكرة التقليدية العادية.

CONFIG.SYS ، تحميل ANSI.SYS في وحدات UMB، لم يتم تفعيل دعم EMS:

الجهاز=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE NOEMS DEVICEHIGH=C:\DOS\ANSI.SYS

ملف AUTOEXEC.BAT ، مع تحميل MOUSE وDOSKEY وSMARTDRV في وحدات الذاكرة المحمولة (UMBs) إن أمكن:

LH C:\DOS\MOUSE.EXE LH C:\DOS\DOSKEY.EXE LH C:\DOS\SMARTDRV.EXE

أعطت قدرة إصدارات DOS 5.0 وما بعدها على نقل رمز النظام الأساسي الخاص بها إلى منطقة الذاكرة العالية (HMA) من خلال أمر DOS =HIGH دفعة أخرى للذاكرة الحرة.

تحسين أداء السائق ونسبة التروس

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

من الجوانب غير المألوفة لبرامج التشغيل وسجلات المعاملات (TSRs) استخدامها كميات مختلفة من الذاكرة التقليدية و/أو الذاكرة العليا، بناءً على ترتيب تحميلها. يمكن استغلال هذه الميزة إذا تم تحميل البرامج بشكل متكرر بترتيبات مختلفة، مع التحقق من مقدار الذاكرة المتاحة بعد كل عملية تحميل. على سبيل المثال، إذا كانت هناك  ذاكرة UMB بحجم 50 كيلوبايت وأخرى بحجم 10 كيلوبايت، وتم تحميل  برنامجين يحتاجان إلى 8  كيلوبايت و45 كيلوبايت على التوالي، فقد يتم استخدام ذاكرة UMB بحجم 50 كيلوبايت للبرنامج الثاني، مما يمنع تحميله. سمحت الإصدارات اللاحقة من نظام DOS باستخدام عنوان تحميل محدد لبرنامج التشغيل أو سجل المعاملات، مما يسمح بدمج برامج التشغيل وسجلات المعاملات بشكل أكثر دقة.   

في نظام التشغيل MS-DOS 6.0، قدمت مايكروسوفت ميزةً تُسهّل عملية مطابقة الكتل، مُحاكيةً بذلك وظائف برامج إدارة الذاكرةMEMMAKER الخارجية . مع ذلك، لم تُحقق هذه الميزة التلقائية في كثير من الأحيان نفس نتائج التحسين اليدوي، من حيث توفير أكبر قدر ممكن من الذاكرة التقليدية المتاحة.

في بعض الحالات، قامت شركات خارجية بتطوير برامج تشغيل متعددة الوظائف تجمع بين إمكانيات العديد من برامج تشغيل DOS القياسية وبرامج TSR في برنامج واحد صغير الحجم لا يستهلك سوى بضعة كيلوبايتات من الذاكرة. على سبيل المثال، يتم دمج وظائف برنامج تشغيل الفأرة، وبرنامج تشغيل محرك الأقراص المضغوطة، ودعم ANSI، واستدعاء أوامر DOSKEY، والتخزين المؤقت للقرص في برنامج واحد، يستهلك فقط من 1 إلى 2 كيلوبايت من الذاكرة التقليدية للوصول العادي إلى برنامج التشغيل/المقاطعة، ويخزن باقي كود البرنامج متعدد الوظائف في ذاكرة EMS أو XMS.

موسعات نظام التشغيل DOS

لم يُتجاوز هذا العائق إلا بظهور موسعات نظام التشغيل DOS ، التي سمحت بتشغيل تطبيقات DOS في وضع الحماية 16 بت أو 32 بت ، إلا أن استخدامها لم يكن واسع النطاق خارج نطاق ألعاب الكمبيوتر . فباستخدام موسع DOS 32 بت، يُمكن للعبة الاستفادة من مساحة عناوين مسطحة 32 بت ومجموعة تعليمات 32 بت كاملة دون الحاجة إلى بادئات تجاوز المعاملات/العناوين 66h/67h. تطلبت موسعات DOS 32 بت دعمًا من المُترجم (مُترجمات 32 بت)، بينما عملت تقنيتا XMS و EMS مع مُترجم قديم مُصمم لتطبيقات DOS 16 بت في الوضع الحقيقي. وكانت المواصفتان الأكثر شيوعًا لموسعات DOS هما VCPI - ولاحقًا DPMI - المتوافقتان مع نظام التشغيل Windows 3.x.

لعلّ أبرز مُوسِّع لنظام DOS متوافق مع معيار DPMI هو DOS/4GW ، الذي كان يُباع مع Watcom . وقد شاع استخدامه في ألعاب DOS. تتألف هذه الألعاب إما من نواة DOS/4GW 32 بت ، أو من برنامج وسيط يُحمّل نواة DOS/4GW الموجودة في المسار أو في نفس المجلد، بالإضافة إلى ملف تنفيذي خطي 32 بت. تتوفر أدواتٌ تُتيح إزالة DOS/4GW من هذه البرامج، مما يسمح للمستخدم بتجربة أيٍّ من نسخ DOS/4GW المتعددة، وربما المُحسّنة منها.

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

كانت تقنية EMS مواصفةً متوفرةً في جميع أجهزة الكمبيوتر الشخصية، بما في ذلك تلك التي تعتمد على معالجات Intel 8086 و Intel 8088 ، والتي سمحت للأجهزة الإضافية بنقل أجزاء صغيرة من الذاكرة ( تبديل البنوك ) من مساحة عنونة "الوضع الحقيقي" (0x0400–0xFFFF). سمح هذا لبرامج DOS ذات 16 بت في الوضع الحقيقي بالوصول إلى عدة ميغابايت من ذاكرة الوصول العشوائي (RAM) عبر ثغرة في الذاكرة الحقيقية، عادةً (0xE000–0xEFFF). كان على البرنامج حينها طلب الصفحة المراد الوصول إليها صراحةً قبل استخدامها. يمكن بعد ذلك استخدام مواقع الذاكرة هذه بشكل عشوائي حتى يتم استبدالها بصفحة أخرى. يشبه هذا إلى حد كبير الذاكرة الافتراضية الحديثة ذات الصفحات . مع ذلك، في نظام الذاكرة الافتراضية، يتولى نظام التشغيل جميع عمليات الترحيل ، بينما كان الترحيل صريحًا في تقنية EMS.

قدّمت XMS بروتوكولًا أساسيًا يسمح لبرامج DOS ذات 16 بت بتحميل أجزاء من ذاكرة 80286 أو 80386 الموسعة في الذاكرة المنخفضة (العناوين من 0x0400 إلى 0xFFFF). كان على برنامج تشغيل XMS النموذجي التبديل إلى الوضع المحمي لتحميل هذه الذاكرة. تكمن مشكلة هذا الأسلوب في أنه أثناء وجود المعالج 286 في الوضع المحمي، لا يمكن إجراء استدعاءات DOS مباشرة. كان الحل البديل هو تطبيق آلية رد نداء، مما يتطلب إعادة تشغيل المعالج 286. في المعالج 286، شكّلت هذه مشكلة كبيرة. أما معالج Intel 80386 ، الذي قدّم " وضع 8086 الافتراضي "، فقد سمح لنواة النظام الضيف بمحاكاة المعالج 8086 وتشغيل نظام التشغيل المضيف دون الحاجة إلى إجبار المعالج على العودة إلى "الوضع الحقيقي". استخدم برنامج HIMEM.SYS الإصدار 2.03 والإصدارات الأحدث وضعًا غير حقيقي على معالجات 80386 والإصدارات الأحدث، بينما استخدم الإصدار 2.06 والإصدارات الأحدث الأمر LOADALL لتغيير سجلات داخلية غير موثقة على معالج 80286، مما أدى إلى تحسين زمن استجابة المقاطعات بشكل ملحوظ عن طريق تجنب عمليات التبديل المتكررة بين الوضع الحقيقي والوضع المحمي. [ 14 ]

يقوم نظام التشغيل ويندوز بتثبيت نسخته الخاصة من ملف HIMEM.SYS [ 15 ] على نظام DOS  3.3 والإصدارات الأحدث. يقوم ملف HIMEM.SYS الخاص بنظام ويندوز بتشغيل موفر خدمات XMS (n).0 في الوضع المحمي 32 بت لمدير الأجهزة الافتراضية في ويندوز، والذي بدوره يوفر خدمات XMS (n-1).0 لأنظمة DOS وجهاز ويندوز 16 بت (على سبيل المثال، ملف  HIMEM.SYS في نظام DOS 7 هو XMS  3.0، ولكن تشغيل الأمر 'MEM' في نافذة DOS في نظام ويندوز 95 يُظهر  معلومات XMS 2.0).

انظر أيضاً

مراجع

  1. نورتون، بيتر (1986). داخل جهاز IBM PC، منقح وموسع، برادي. ISBN 0-89303-583-1، ص 108.
  2. براءة اختراع أمريكية رقم 4,926,322 - محاكاة برمجية للذاكرة ذات التبديل بين البنوك باستخدام مراقب DOS افتراضي وإدارة الذاكرة المُصفحة ، الشكل 1
  3. ياو، جيوين؛ زيمر، فنسنت ج. (فبراير 2015). "ورقة بيضاء: جولة تتجاوز تصميم خريطة ذاكرة BIOS في UEFI BIOS" (ملف PDF) . شركة إنتل . مؤرشفة من الأصل (ملف PDF) بتاريخ 30 سبتمبر 2015. تم الاطلاع عليها بتاريخ 25 أغسطس 2016 .
  4. روسينوفيتش، مارك يوجين ؛ سولومون، ديفيد أ.؛ إيونيسكو، أليكس (2012). أساسيات نظام ويندوز . المجلد 2، الجزء 2 (الطبعة السادسة ). مطبعة مايكروسوفت . ص 322. لاحظ الفجوة في نطاق عناوين الذاكرة من الصفحة 9F000 إلى الصفحة 100000...   
  5. ريختر، جيفري. تطبيقات البرمجة لنظام التشغيل مايكروسوفت ويندوز . الصفحات 435 وما بعدها. 
  6. أتكينسون، سي (2001). "ما هي الذاكرة العالية، ولماذا أهتم بها، وكيف يمكنني استخدامها؟" . سان خوسيه، كاليفورنيا، الولايات المتحدة الأمريكية. مؤرشف من الأصل في 3 مارس 2016. تم الاطلاع عليه في 13 مارس 2017 .
  7. ١ ٢ بول، ماتياس ر. (٣٠ يوليو ١٩٩٧). نصائح وحيل حول نوفيل دوس ٧، مع التركيز على التفاصيل غير الموثقة والأخطاء والحلول البديلة . MPDOSTIP (بالألمانية) ( الطبعة الثالثة). مؤرشف من الأصل في ٦ يونيو ٢٠١٦. تم الاطلاع عليه في ٦ يونيو ٢٠١٦ . (ملاحظة: يُعدّ ملف NWDOSTIP.TXT مرجعًا شاملًا حول نظامي التشغيل Novell DOS 7 و OpenDOS 7.01 ، ويتضمن وصفًا للعديد من الميزات والتفاصيل الداخلية غير الموثقة. وهو جزء من مجموعة MPDOSTIP.ZIP الأكبر حجمًا التي احتفظ بها المؤلف حتى عام 2001، والتي تم توزيعها على العديد من المواقع في ذلك الوقت. يشير الرابط المرفق إلى نسخة أقدم من ملف NWDOSTIP.TXT تم تحويلها إلى صيغة HTML.)
  8. بيتزولد، تشارلز (1986). "خيارات إضافية لتوسيع أبعاد الذاكرة". مجلة الكمبيوتر الشخصي . المجلد 5، العدد 11. الرقم الدولي الموحد للدوريات 0888-8507 .   
  9. "مراجعة AllCard". عالم الكمبيوتر الشخصي . سبتمبر 1986. ص 138. 
  10. 1 2 زيربي، كلاوس (نوفمبر 1987). بورجويتز، أندرياس (محرر). "Speicher-Kredit - جميع بطاقات الشحن الخاصة بـ ATs". c't - مجلة لتقنية الكمبيوتر . بروفستاند (في المانيا). المجلد. 1987، لا. 11. شركة Verlag Heinz Heise GmbH & Co. KG . ص 58، 60. ISSN 0724-8679 .    
  11. بيتزولد، تشارلز (16 سبتمبر 1986). "محطم الأرقام/ECM" . مجلة الكمبيوتر الشخصي . لوحات التسريع. المجلد 5، العدد 15. الصفحات 148، 150. الرقم الدولي الموحد للدوريات 0888-8507 . مؤرشف من الأصل في 3 مارس 2020. تم الاسترجاع في 3 مارس 2020 .    
  12. دليل مستخدم كونترون - COMe-cBTi6R . مراجعة الوثيقة 1.0. كونترون . 2021. الصفحات 37، 60، 64. مؤرشف من الأصل بتاريخ 23-09-2023 . تم الاطلاع عليه بتاريخ 23-09-2023 . (89 صفحة)
  13. باترسون، تيم (24-11-2007). "أول جهاز يعمل بنظام DOS" . دوس مان دريفل . مؤرشف من الأصل في 18-09-2021 . تم الاسترجاع في 23-12-2021 . أعادت شركة IBM أيضًا فرض قيود على الذاكرة كنت قد تجنبتها تحديدًا عند تصميم بطاقة المعالج 8086. بالنسبة لأجهزة الكمبيوتر S-100 ، كان البديل منخفض التكلفة لاستخدام طرفية كمبيوتر عادية هو استخدام بطاقة فيديو. ومع ذلك، كانت بطاقة الفيديو تستهلك جزءًا من مساحة عناوين الذاكرة. عادةً ما تستهلك ذاكرة القراءة فقط (ROM) الخاصة بالتمهيد مساحة عناوين أيضًا. صُممت أنظمة SCP للاستخدام مع طرفية، ويمكن تعطيل ذاكرة القراءة فقط (ROM) الخاصة بالتمهيد بعد بدء التشغيل. هذا يجعل مساحة عناوين الذاكرة البالغة 1 ميجابايت متاحة بالكامل لذاكرة الوصول العشوائي (RAM). من ناحية أخرى، حددت IBM مساحة العناوين في جهاز الكمبيوتر الشخصي الخاص بها إلى 640 كيلوبايت من ذاكرة الوصول العشوائي (RAM) بسبب الفيديو وذاكرة القراءة فقط (ROM) الخاصة بالتمهيد/نظام الإدخال والإخراج الأساسي (BIOS). أُطلق على هذا القيد اسم "حاجز DOS 640K"، لكنه لم يكن له أي علاقة بنظام DOS . استغلت مايكروسوفت إمكانيات نظام SCP استغلالًا كاملًا . ففي عام 1988، وبعد سنوات من إيقاف نظام SCP، كانوا لا يزالون يستخدمونه لمهمة واحدة فقط كان النظام قادرًا على أدائها ("ربط الرابط"). كان جهازهم مزودًا بذاكرة وصول عشوائي (RAM) كاملة بسعة 1 ميجابايت - 16 بطاقة من أصل 64 كيلوبايت. ولم يكن بالإمكان الاستغناء عن هذا الجهاز حتى تم تطوير أدوات برمجية 32 بت لمعالج Intel 386 .    
  14. "HIMEM.SYS، الوضع غير الواقعي، وLOADALL" . متحف نظام التشغيل OS/2 .
  15. "نظرة عامة على وظائف إدارة الذاكرة في نظام MS-DOS" . دعم مايكروسوفت. ١٢ مايو ٢٠٠٣. مؤرشف من الأصل في ١٢ فبراير ٢٠٠٧. تم الاطلاع عليه في ١٣ أغسطس ٢٠١٢ .

للمزيد من القراءة