واجهة الوضع المحمي DOS

واجهة الوضع المحمي DOS
اختصاردي بي إم آي
حالةنُشرت
بدأت السنة1989 ؛ منذ 35 سنة ( 1989 )
منظمةلجنة DPMI
اِختِصاصواجهات برمجة التطبيقات

في الحوسبة ، واجهة الوضع المحمي DOS ( DPMI ) هي مواصفات تم تقديمها في عام 1989 والتي تسمح لبرنامج DOS بالعمل في الوضع المحمي ، مما يتيح الوصول إلى العديد من ميزات معالجات الكمبيوتر الجديدة في ذلك الوقت والتي لم تكن متوفرة في الوضع الحقيقي . تم تطويره في البداية بواسطة Microsoft لنظام التشغيل Windows 3.0 ، على الرغم من أن Microsoft سلمت لاحقًا التحكم في المواصفات إلى لجنة صناعية ذات عضوية مفتوحة. [1] [2] تعتمد جميع موسعات DOS الحديثة تقريبًا على DPMI وتسمح لبرامج DOS بمعالجة جميع الذاكرة المتوفرة في الكمبيوتر الشخصي والعمل في الوضع المحمي (معظمها في الحلقة 3، الأقل امتيازًا). [3]

ملخص

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

يمكن أن تكون خدمة DPMI 16 بت أو 32 بت أو "عالمية" وتسمى نواة DPMI أو مضيف DPMI أو خادم DPMI . يتم توفيرها إما بواسطة نظام التشغيل المضيف ( مضيف DPMI الافتراضي ) أو بواسطة موسع DOS ( مضيف DPMI الحقيقي ). يمكن أن تكون نواة DPMI جزءًا من موسع DOS كما هو الحال في DOS/4GW أو DOS/32A ، أو منفصلة، ​​مثل CWSDPMI أو HDPMI .

الاستخدام الأساسي لواجهة برمجة تطبيقات DPMI هو السماح لموسعات DOS بتوفير بيئة مستقلة عن نظام التشغيل المضيف. يتحقق موسع DOS من وجود نواة DPMI، ويثبت نواة خاصة به فقط إذا لم تكن مثبتة بالفعل. يسمح هذا للبرامج الممتدة لنظام DOS بالعمل إما في نظام تشغيل متعدد المهام يوفر نواة DPMI خاصة به، أو مباشرة تحت نظام DOS العادي ، وفي هذه الحالة يستخدم موسع DOS نواة DPMI الخاصة به. تم بناء نوى وضع المستخدم في Windows 3.x و9x باستخدام موسع DOS، لذا فهي تعتمد بشكل كامل على واجهة برمجة تطبيقات DPMI التي توفرها نواة Windows ring-0.

تاريخ

نُشرت المسودات الأولى لمواصفات DPMI في عام 1989 بواسطة رالف ليب من شركة Microsoft. [4] [1] وبينما كانت تستند إلى إصدار نموذجي من DPMI لنظام التشغيل Windows 3.0 في وضع 386 المحسن، فقد تمت إزالة العديد من ميزات هذا التنفيذ من المواصفات الرسمية، بما في ذلك ميزة تسمى ملحقات MS-DOS [5] أو ترجمة واجهة برمجة تطبيقات DOS التي اقترحها رالف ليب في المسودات الأصلية. [6] كان معظمها ينفذ واجهات DOS وBIOS (نظرًا لهذا التاريخ، يجب تنفيذ بعض واجهات برمجة تطبيقات INT 21h مثل 4Ch بواسطة جميع تطبيقات DPMI). نُشر إصدار DPMI 0.9 في عام 1990 بواسطة لجنة DPMI التي تم تشكيلها حديثًا. تم اختيار رقم الإصدار 0.9 للمواصفات الناتجة ليعكس الطبيعة المختصرة والحالة غير المكتملة للمعيار الذي يمكن لأعضاء لجنة DPMI الاتفاق عليه. [1] في حين أن Windows يبلغ عن إصدار DPMI 0.9 للتوافق، فإنه في الواقع ينفذ الأجزاء الأخرى أيضًا، لأنها تمثل جزءًا حيويًا من النظام. [5] [1] أصبحت هذه الطبيعة الكاملة غير الموثقة لـ DPMI معروفة باسم " DPMI الحقيقي " في الصناعة. [7] لم يكن معيار DPMI هو الجهد الوحيد للتغلب على أوجه القصور في مواصفات VCPI . في نفس الوقت الذي طورت فيه Microsoft DPMI لنظام التشغيل Windows 3.0، قام تحالف صناعي آخر بما في ذلك مجموعة Intel Software Focus Group ، [8] [1] Lotus ، [8] Digital Research ، Interactive Systems وآخرون بتطوير مواصفات تسمى Extended VCPI ( XVCPI ) لجعل إدارة الذاكرة وقدرات تعدد المهام لـ 386 متاحة لتطبيقات DOS الموسعة. [8] [1] [9] عندما تبين أن اقتراح DPMI الخاص بشركة Microsoft تناول عددًا من المشكلات المماثلة وكان مدعومًا من قبل Windows، أدت هذه الجهود إلى إنشاء لجنة DPMI في فبراير 1990 أثناء اجتماع في Intel في سانتا كلارا. [8] [1]

في عام 1991، قامت لجنة DPMI بمراجعة DPMI إلى الإصدار 1.0 بهدف دمج عدد من التوضيحات والإضافات، ولكنها ما زالت لا تتضمن بتات "DPMI الحقيقية" المفقودة التي تم تنفيذها في Windows. في الواقع، لم تصبح "DPMI الحقيقية" جزءًا من مواصفات DPMI الرسمية، وبالمثل لم تنفذ Windows أبدًا امتدادات DPMI 1.0 (ولم يقم بذلك العديد من مضيفات DPMI).

في حين أن DPMI مصمم لتشغيل برامج تطبيقات DOS الموسعة في الوضع المحمي والذاكرة الموسعة، [10] فإنه ليس مناسبًا بشكل خاص لإضافات النظام المقيم. هناك مواصفات أخرى تسمى DPMS ، [10] طورتها شركة Digital Research / Novell حوالي عام 1992، وتتناول على وجه التحديد المتطلبات اللازمة لنقل برامج تشغيل DOS المعدلة بسهولة إلى الذاكرة الموسعة وتشغيلها في الوضع المحمي، وبالتالي تقليل بصمتها التقليدية في الذاكرة إلى أجزاء صغيرة . وهذا مدعوم أيضًا بواسطة Helix Cloaking .

إن "طريقة" DPMI خاصة بنظامي التشغيل DOS وIBM PC. وقد تمت ترقية أنواع أخرى من أجهزة الكمبيوتر من 16 بت إلى 32 بت، وتم توفير الدعم المتقدم للبرامج من خلال ترقية نظام التشغيل بواجهة برمجة تطبيقات جديدة 32 بت وقدرات جديدة لإدارة الذاكرة/العنونة. على سبيل المثال، يدعم نظام التشغيل OS/2 الأساسي البرامج 32 بت، ويمكن تشغيله بدون واجهة المستخدم الرسومية. ويبدو أن حل DPMI مطلوب بشكل أساسي لتلبية حاجة الجهات الخارجية إلى تشغيل برامج الوضع المحمي DOS بشكل مستقر على Windows 3.x قبل أن تتمكن شركة Microsoft، وهي الشركة المهيمنة على أنظمة التشغيل، من معالجة مستقبل Windows 32 بت. بالإضافة إلى ذلك، لم ترَ Microsoft أن الحل للتحول إلى 32 بت هو نظام DOS 32 بت، بل نظام Windows 32 بت مع واجهة برمجة تطبيقات مختلفة تمامًا (وغير متوافقة).

التوافق

في حين أن Windows 3.0 ينفذ "DPMI الحقيقي" [5] ويبلغ عن دعمه لـ DPMI 0.9، [11] لم يتم تنفيذ DPMI الإصدار 1.0 في Microsoft Windows ، لذا فإن معظم البرامج وموسعات DOS كانت مكتوبة في الغالب للإصدار 0.9 فقط. ومع ذلك، فإن القليل من الموسعات تنفذ "DPMI الحقيقي".

لقد طبقت الإصدارات التجريبية من Qualitas 386MAX "DPMI الحقيقي" ويمكنها تشغيل KRNL386.EXE الخاص بنظام Windows من سطر الأوامر، ولكن تم الادعاء بأن هذا معطل في المنتج الصادر في رسالة بريد إلكتروني داخلية. [5] ومع ذلك، يمكن لـ DPMIONE (من تصميم Bob Smith استنادًا إلى كود 386MAX) القيام بذلك. حاليًا، يعد DPMIONE و 386 MAX أيضًا المضيف الوحيد لـ DPMI الذي يدعم DPMI 1.0 بالكامل (على سبيل المثال الذاكرة غير الملتزمة) وهما الداعم الرئيسي لـ DPMI 1.0. [12]

إن KRNL386.SYS (المعروف أيضًا باسم "MultiMAX") من DR DOS "Panther" و "StarTrek" ، والذي كان قيد التطوير منذ عام 1991، [nb 1] ومديري الذاكرة EMM386.EXE من Novell DOS 7 ، [10] تحتوي Caldera OpenDOS و DR-DOS 7.02 والإصدارات الأحدث على دعم مدمج لـ DPMI عند تحميلها بالخيار /DPMI[=ON]. حتى أن KRNL386.SYS كان لديه خيار سطر أوامر /VER=0.9|1.0لتوفير الدعم لـ DPMI 1.0 أو 0.9. [13] تمت الإشارة إلى ترجمة واجهة برمجة تطبيقات DOS باسم "تسمى المقاطعة 21 من الوضع المحمي". يدعم Multiuser DOS و System Manager و REAL/32 DPMI أيضًا.

ربما يكون نواة DPMI المنفصلة الأكثر شهرة هي CWSDPMI ؛ فهي تدعم DPMI 0.9، ولكن لا يوجد بها "ترجمة واجهة برمجة تطبيقات DOS" غير موثقة. كان هناك متغير آخر يسمى PMODE بواسطة "TRAN" المعروف أيضًا باسم Thomas Pytel، وكان شائعًا بين مبرمجي 32 بت أثناء مشهد العرض التوضيحي في التسعينيات. استخدمت العديد من الألعاب DOS/4GW، الذي طورته Rational Systems كمجموعة فرعية من DOS/4G وتم توزيعه مع مُجمِّع Watcom C.

يوفر HDPMI (جزء من HX DOS Extender ) "ترجمة API DOS" وتنفيذ DPMI 1.0 الكامل تقريبًا.

لجنة DPMI

اجتمعت لجنة DPMI 1.0 بين عامي 1990 و1991 وتألفت من 12 مجموعة:

انظر أيضا

ملحوظات

  1. ^ KRNL386.SYS من DR DOS "Panther" لديه سلاسل حقوق الطبع والنشر "1991،1992".

مراجع

  1. ^ abcdefg Duncan, Ray (1991-02-12). "Power Programming – An Introduction to the DOS Protected Mode Interface". مجلة الكمبيوتر الشخصي . 10 (3). Ziff-Davis Publishing Co. : 367–371. ISSN  0888-8507 . تم الاسترجاع في 2016-05-21 . […] كان مبتكرو VCPI مدركين تمامًا لقيوده وكانوا يعملون بجد بالفعل على مواصفات الجيل الثاني المسماة Extended VCPI ( XVCPI )، عندما اقتحمت Microsoft المشهد بإصدارات الاختبار التجريبي لنظام التشغيل Windows 3.0 وDPMI الخاص به. لبضعة أشهر بدا أن سوق موسعات DOS الناشئة ستنقسم إلى اتجاهين متبادلين الحصر […] سلمت Microsoft السيطرة على مواصفات DPMI إلى لجنة صناعية ذات عضوية مفتوحة، وقرر مؤيدو جهد XVCPI توحيد الجهود خلف DPMI. [...] وافقت شركة Microsoft على حذف أجزاء واجهة DPMI التي تجاوزت حدود منطقة توسيع نظام التشغيل DOS - على وجه التحديد، الدعم المباشر لمقاطعات BIOS في نظامي التشغيل DOS وROM في الوضع المحمي . وبالتالي، فإن واجهة DPMI، الإصدار 0.9، أول إصدار عام، أصدرته لجنة واجهة DPMI في مايو 1990، لا تحدد سوى الوظائف منخفضة المستوى أو وظائف البناء [...] بطبيعة الحال، لا تزال واجهة توسيع نظام التشغيل DOS ذات المستوى الأعلى في نظام التشغيل Windows 3.0 موجودة، لكنها تراجعت إلى منطقة الشفق من الوظائف غير الموثقة. غير موثقة، لكنها غير قابلة للاستخدام تقريبًا [...]
  2. ^ Duncan, Ray; Petzold, Charles ; Schulman, Andrew; Baker, M. Steven; Nelson, Ross P.; Davis, Stephen R.; Moote, Robert (1992). Extending DOS: A Programmer's Guide to Protected-Mode DOS . 2 (2 ed.). Addison-Wesley Publishing Company, Inc. pp. 433–436. ISBN 0-201-56798-9.
  3. ^ Schmit, Michael L. (1995). Pentium Processor Optimization Tools (1 ed.). Cambridge, Massachusetts, USA: Academic Press, Inc. ( AP Professional ). ISBN 0-12-627230-1.
  4. ^ مايكروسوفت (خريف 1989)، مواصفات واجهة الوضع المحمي DOS، المراجعة ما قبل الإصدار 0.04 (الطبعة ما قبل الإصدار)
  5. ^ abcd Cole, Dave (1992-05-04). Neiminen, Bruce (ed.). "Re: MS-DOS DPMI extensions" (PDF) (وثيقة محكمة). Microsoft . ص 123-124. MSC 00779372/00779373, MX3232616/3232617, Cole Exhibit 10, 2001-06-21. مؤرشف (PDF) من الأصل في 2018-09-18 . تم الاسترجاع 2018-09-17 – عبر Comes v. Microsoft - عرض المدعي 1306. […] [رالف ليب:] أعتقد أنهم مسجلون في مشروع Win386 . في جذر MSDOS.DOC (انظر إلى جميع ملفات .DOC في الجذر) […] لا! هذه مسألة حساسة للغاية لأنها تخبر بشكل أساسي [...] ISVs (المعروفة أيضًا باسم DR-DOS و IBM ) بكيفية تشغيل Windows في الوضع القياسي . تحتاج إلى توضيح ذلك مع BradSi[lverberg] قبل توزيعه. [Greg Lowney:] تصنع SoftNet جهاز محاكاة . لقد قرأوا في دليل C7 أنه يمكنك تشغيل C7 dos-extended إذا كان جهاز المحاكاة الخاص بك يدعم ملحقات MS-DOS لمواصفات DPMI. لذلك [...] اتصلوا بنا للحصول على مواصفات حول ماهية هذه الملحقات بالضبط. من الواضح أنها غير موثقة. [...] إنها ليست معقدة إلى هذا الحد، في الغالب مجرد مكالمات MS-DOS وBIOS التي نعينها للتطبيق، ولم تواجه Qualitas أي مشكلة في هندستها عكسيًا. (كان بإمكان 386MAX الجديد ، في الإصدار التجريبي، تشغيل KRNL386 من سطر الأوامر، ولكنني أعتقد أنهم عطلوا هذه الميزة في منتجهم النهائي لتجنب إزعاجنا. يدعم 386MAX بالطبع C7.) […] رالف، هل تم توزيع المواصفات على أعضاء لجنة DPMI؟ […] [ديف كول:] لا ينبغي لنا على الإطلاق توثيق هذا. […]
  6. ^ Microsoft (1990-10-31). Sokolov, Michael (ed.). "MS-DOS API EXTENSIONS FOR DPMI HOSTS Version Pre-Release 0.02" (Annotated retyped initial ed.) (published 1999-04-08) . Retrieved 2016-05-23 .
  7. ^ Microsoft (1989). Sokolov, Michael (ed.). "DOS PROTECTED MODE INTERFACE (DPMI) – SPECIFICATION Protected Mode API For DOS Extended Applications" (Annotated incompletely reconstructed ed.) (Posted 1999-04-08) . تم الاسترجاع في 2016-05-23 .
  8. ^ اي بي سي دي وورثمان، جيرولد؛ ووبرر، بيرنهارد. فيسبوك، يوهان (1991). "Die DPMI-Spezifikation – Eine Einführung" [مقدمة لمواصفات DPMI]. Vorträge und Begleittexte zum 2. Entwicklerforum der Design & Elektronik zum Thema: PC-Architektur، 17. سبتمبر 1991، ميونيخ [ عروض تقديمية ومواد تكميلية لمنتدى المطورين الثاني حول بنية الكمبيوتر الشخصي في 17 سبتمبر 1991، ميونيخ ] (كتاب) (باللغة الألمانية) ) (1 طبعة). ميونيخ، ألمانيا: Markt & Technik Verlag Aktiengesellschaft . ص. 223.(ملاحظة: تم تنظيم المنتدى من قبل مجلة Design & Elektronik الألمانية وشركة Intel .)
  9. ^ لجنة DPMI (1991-03-12). مواصفات واجهة الوضع المحمي DOS (DPMI) - الإصدار 1.0 - واجهة برمجة التطبيقات (API) لتطبيقات الوضع المحمي DOS (PDF) . 1.0. Intel . ص. 4-5. رمز طلب Intel 240977-001. مؤرشف من الأصل (PDF) في 2013-05-31 . تم الاسترجاع 2013-05-24 . تم تطوير النموذج الأولي لواجهة DPMI بواسطة Microsoft لإصدار Windows 3.0، مع مدخلات من Lotus Corporation و Rational Systems، كجزء من جهد عام لتحسين أداء Windows من خلال السماح لنواة Windows بالعمل في ذاكرة ممتدة. وبالتوازي، كانت Intel تعمل مع مصنعي بيئات تعدد المهام ومحاكيات EMS وموسعات DOS لضمان أن مواصفات VCPI الموسعة يمكنها الاستفادة الكاملة من ميزات الحماية والمحاكاة الافتراضية لـ 80386. في فبراير 1990، اتفقت الأطراف المشاركة في الأنشطة المذكورة أعلاه على تشكيل لجنة DPMI وصياغة معيار على مستوى الصناعة لتطبيقات DOS ذات الوضع المحمي. أصدرت اللجنة أول مواصفة DPMI عامة، الإصدار 0.9 في مايو 1990.
  10. ^ اي بي سي شنايدر ، ستيفاني (17/06/1994). "Das Ende von DOS ist nur noch eine Frage der Zeit" [نهاية DOS هي مسألة وقت فقط]. كومبيوتر ووش (في المانيا). ميونيخ، ألمانيا: IDG Business Media GmbH . مؤرشفة من الأصلي بتاريخ 2022-01-02 . تم الاسترجاع بتاريخ 2022-01-02 .
  11. ^ "ملف: دعم Windows Int 21h وNetBIOS لـ DPMI". قاعدة المعارف . Microsoft . 2004-08-04 [1999-12-04]. KB65128. Q65128. مؤرشف من الأصل في 2020-02-20 . تم الاسترجاع في 2016-05-21 .
  12. ^ سوكولوف، مايكل (1998-05-06). "تصحيح لمنشور سابق". lynx-dev . مؤرشف من الأصل في 2020-02-20 . تم الاسترجاع في 2020-02-20 .
  13. ^ شولمان، أندرو؛ براون، رالف د .؛ ماكسي، ديفيد؛ ميشيلز، رايموند ج.؛ كايل، جيم (1994) [نوفمبر 1993]. DOS غير الموثق: دليل المبرمج لوظائف MS-DOS وهياكل البيانات المحجوزة - تم توسيعه ليشمل MS-DOS 6 وNovell DOS وWindows 3.1 (الطبعة الثانية). ريدنج، ماساتشوستس، الولايات المتحدة الأمريكية: أديسون ويسلي . ص. 194. رقم ISBN 0-201-63287-X.(xviii+856+vi صفحات، قرص مرن مقاس 3.5 بوصة) أخطاء: [1][2]

قراءة إضافية

  • مقدمة إلى واجهة الوضع المحمي DOS – ورقة بيضاء . Intel . 1993. رمز طلب Intel 240787-003.(22 صفحة)
  • مواصفات واجهة الوضع المحمي في نظام التشغيل DOS (DPMI) – واجهة برمجة التطبيقات للوضع المحمي لتطبيقات DOS الموسعة – الإصدار 0.9. Intel . 1990-07-26. مؤرشف من الأصل في 2012-04-25.(112 صفحة)
  • لجنة DPMI (1991-03-12). مواصفات واجهة الوضع المحمي DOS (DPMI) - الإصدار 1.0 - واجهة برمجة التطبيقات (API) لتطبيقات الوضع المحمي DOS (PDF) . Intel . رمز طلب Intel 240977-001. مؤرشف من الأصل (PDF) في 2013-05-31 . تم الاسترجاع في 2013-05-31 .(160 صفحة)
  • سوكولوف، مايكل (26 أبريل 1998). "بعض التاريخ عن DPMI". مؤرشف من الأصل في 22 مايو 2016.[3] [4]
  • Chui, Paul (1992-02-01). "Undocumented DOS From Protected-Mode Windows 3". مجلة الدكتور دوب . مؤرشف من الأصل في 2018-09-20 . تم الاسترجاع في 2018-09-20 .
  • "MS-DOS 5.0 DPMI" (باللغتين الإنجليزية واليابانية). 2016-07-24 [2016-06-22]. مؤرشف من الأصل في 2018-09-17 . تم الاسترجاع في 2018-09-17 .(MSDPMI على نظام MS-DOS الياباني 5.00A لمنصة PC-98 .)
  • "مواصفات واجهة الوضع المحمي في نظام التشغيل DOS (DPMI) – واجهة برمجة التطبيقات للوضع المحمي لتطبيقات DOS الموسعة – الإصدار 0.9" (النسخة المحولة إلى HTML). Tenberry Software, Inc. 1998 [1990-07-26]. مؤرشف من الأصل في 2016-05-21 . تم الاسترجاع في 2006-12-19 .
  • "مواصفات واجهة برمجة التطبيقات DPMI 1.0" (الطبعة المحولة إلى HTML). دي جي ديلوري . أبريل 1996 [1991]. مؤرشف من الأصل في 2016-05-21 . تم الاسترجاع في 2019-07-28 .
  • Microsoft (1990-10-31). "إضافات واجهة برمجة تطبيقات MS-DOS لمضيفات DPMI الإصدار ما قبل الإصدار 0.02".(رابط HTTPS البديل)
  • Microsoft (1991-03-11). "ملحقات واجهة برمجة تطبيقات MS-DOS لمضيفات DPMI الإصدار ما قبل الإصدار 0.04" (PDF) .
  • Sandmann, Charles W. "CWSDPMI". مؤرشف من الأصل في 2015-11-16.
  • يافث. "HX DOS Extender". مؤرشف من الأصل في 2014-10-13.
  • سميث، بوب. "ملف توثيق DPMIONE الإصدار 0.91". مؤرشف من الأصل في 2016-05-21 . تم الاسترجاع في 2019-07-28 .
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=واجهة_الوضع_المحمي_DOS&oldid=1230655091"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate