واجهة برمجة تطبيقات DOS
واجهة برمجة تطبيقات DOS هي واجهة برمجة تطبيقات نشأت مع نظام 86-DOS وتُستخدم في أنظمة MS-DOS و PC DOS وغيرها من أنظمة التشغيل المتوافقة مع DOS . يتم استدعاء معظم وظائف واجهة برمجة تطبيقات DOS باستخدام مقاطعة البرنامج 21h ( INT 21h). من خلال استدعاء INT 21h مع رقم وظيفة فرعية في سجل المعالج AH ومعاملات أخرى في سجلات أخرى، يمكن استدعاء خدمات DOS المختلفة. تشمل هذه الخدمات معالجة مدخلات لوحة المفاتيح، وإخراج الفيديو، والوصول إلى ملفات القرص، وتنفيذ البرامج، وتخصيص الذاكرة، والعديد من الأنشطة الأخرى. في أواخر ثمانينيات القرن الماضي، سمحت موسعات DOS ، إلى جانب واجهة وضع الحماية DOS (DPMI)، للبرامج بالعمل في وضع حماية 16 بت أو 32 بت مع الحفاظ على إمكانية الوصول إلى واجهة برمجة تطبيقات DOS.
تاريخ واجهة برمجة تطبيقات نظام التشغيل DOS
صُممت واجهة برمجة تطبيقات DOS الأصلية في نظامي 86-DOS وMS-DOS 1.0 لتكون متوافقة وظيفيًا مع نظام CP/M . وكان الوصول إلى الملفات يتم باستخدام كتل التحكم في الملفات (FCBs). وشهدت واجهة برمجة تطبيقات DOS توسعًا كبيرًا في MS-DOS 2.0 بإضافة العديد من مفاهيم يونكس ، بما في ذلك الوصول إلى الملفات باستخدام مقابض الملفات ، والمجلدات الهرمية ، والتحكم في إدخال/إخراج الأجهزة. [ 1 ] وفي DOS 3.1، أُضيف دعم إعادة توجيه الشبكة . وفي MS-DOS 3.31، جرى تحسين وظائف INT 25h/26h لدعم الأقراص الصلبة التي تزيد سعتها عن 32 ميجابايت. وأضاف MS-DOS 5 دعمًا لاستخدام كتل الذاكرة العليا (UMBs). وبعد MS-DOS 5، ظلت واجهة برمجة تطبيقات DOS دون تغيير في الإصدارات المستقلة اللاحقة من DOS.
واجهة برمجة تطبيقات DOS ونظام التشغيل Windows
في نظام التشغيل ويندوز 9x ، كان نظام DOS يُحمّل نظام الوضع المحمي وواجهة المستخدم الرسومية. وكان الوصول إلى DOS يتم عادةً من خلال جهاز DOS افتراضي (VDM)، ولكن كان من الممكن أيضًا الإقلاع مباشرةً إلى وضع MS-DOS 7.0 الحقيقي دون تحميل ويندوز. تم توسيع واجهة برمجة تطبيقات DOS (DOS API) بدعم مُحسّن للتدويل ودعم أسماء الملفات الطويلة ، مع العلم أن دعم أسماء الملفات الطويلة كان متاحًا فقط في جهاز VDM. مع إصدار ويندوز 95 OSR2، تم تحديث DOS إلى الإصدار 7.1، والذي أضاف دعمًا لنظام الملفات FAT32 ، كما أُضيفت وظائف إلى واجهة برمجة تطبيقات DOS لدعم هذا النظام. يُطبّق كل من ويندوز 98 وويندوز Me أيضًا واجهة برمجة تطبيقات MS-DOS 7.1، مع أن ويندوز Me يُعرّف نفسه على أنه MS-DOS 8.0.
لا تعتمد أنظمة التشغيل Windows NT والأنظمة المبنية عليها (مثل Windows XP و Windows Vista ) على نظام MS-DOS، بل تستخدم آلة افتراضية تُسمى NTVDM للتعامل مع واجهة برمجة تطبيقات DOS. تعمل NTVDM عن طريق تشغيل برنامج DOS في وضع 8086 افتراضي (محاكاة للوضع الحقيقي ضمن الوضع المحمي المتوفر في معالجات 80386 وما فوق). تدعم NTVDM واجهة برمجة تطبيقات DOS 5.0. يستخدم برنامج DOSEMU لنظام Linux نهجًا مشابهًا.
متجهات المقاطعة المستخدمة بواسطة نظام التشغيل DOS
فيما يلي قائمة متجهات المقاطعة التي تستخدمها البرامج لاستدعاء وظائف واجهة برمجة تطبيقات نظام التشغيل DOS.
| متجه المقاطعة | وصف | إصدار | ملحوظات |
|---|---|---|---|
20h | إنهاء البرنامج | 1.0+ | تم تنفيذه في نواة نظام التشغيل DOS |
21h | واجهة برمجة تطبيقات DOS الرئيسية | 1.0+ | تم تنفيذه في نواة نظام التشغيل DOS |
22h | إنهاء عنوان البرنامج | 1.0+ | عنوان المرسل في برنامج الاتصال |
23h | عنوان معالج Control-C | 1.0+ | المعالج الافتراضي موجود في موجه الأوامر (عادةً COMMAND.COM) |
24h | عنوان معالج الأخطاء الحرجة | 1.0+ | المعالج الافتراضي موجود في موجه الأوامر (عادةً COMMAND.COM) |
25h | قراءة القرص المطلقة | 1.0+ | تم تنفيذه في نواة نظام التشغيل DOS، وتم تحسينه في الإصدار 3.31 من نظام التشغيل DOS لدعم أقسام تصل سعتها إلى 2 جيجابايت |
26h | كتابة القرص المطلقة | 1.0+ | تم تنفيذه في نواة نظام التشغيل DOS، وتم تحسينه في الإصدار 3.31 من نظام التشغيل DOS لدعم أقسام تصل سعتها إلى 2 جيجابايت |
27h | إنهاء الإقامة والبقاء فيها | 1.0+ | تم التنفيذ في COMMAND.COM في DOS 1.0، وDOS kernel في DOS 2.0+ |
28h | نداء الخمول | 2.0+ | يتم استدعاؤها بواسطة نواة نظام التشغيل DOS عند انتظار الإدخال |
29h | مخرجات Fastconsole | 2.0+ | يتم تنفيذ ذلك بواسطة برنامج تشغيل جهاز وحدة التحكم المدمج أو برنامج تشغيل بديل مثل ANSI.SYS |
2Ah | التواصل والقسم الحرج | 3.0+ | يتم استدعاؤها بواسطة نواة نظام التشغيل DOS للتفاعل مع برامج الشبكات |
2Bh | غير مستخدم | ||
2Ch | غير مستخدم | ||
2Dh | غير مستخدم | ||
2Eh | إعادة تحميل عابرة | 2.0+ | تم تنفيذه في COMMAND.COM |
2Fh | مجمع سينمائي | 3.0+ | يتم تنفيذه في نواة نظام التشغيل DOS وبرامج مختلفة (PRINT، MSCDEX، DOSKEY، APPEND، إلخ) اعتمادًا على رقم الوظيفة الفرعية |
خدمات DOS INT 21h
فيما يلي قائمة بالوظائف التي يتم توفيرها عبر متجه مقاطعة البرامج الأساسي لواجهة برمجة تطبيقات نظام التشغيل DOS.
AH | وصف | إصدار |
|---|---|---|
00h | إنهاء البرنامج | 1.0+ |
01h | إدخال الأحرف | 1.0+ |
02h | إخراج الأحرف | 1.0+ |
03h | مدخل إضافي | 1.0+ |
04h | مخرج مساعد | 1.0+ |
05h | مخرجات الطابعة | 1.0+ |
06h | إدخال/إخراج وحدة التحكم المباشرة | 1.0+ |
07h | إدخال مباشر إلى وحدة التحكم بدون صدى | 1.0+ |
08h | إدخال وحدة التحكم بدون صدى | 1.0+ |
09h | سلسلة العرض | 1.0+ |
0Ah | إدخال لوحة المفاتيح المخزن مؤقتًا | 1.0+ |
0Bh | الحصول على حالة الإدخال | 1.0+ |
0Ch | قم بتفريغ مخزن الإدخال المؤقت والإدخال | 1.0+ |
0Dh | إعادة ضبط القرص | 1.0+ |
0Eh | تعيين محرك الأقراص الافتراضي | 1.0+ |
0Fh | فتح الملف | 1.0+ |
10h | إغلاق الملف | 1.0+ |
11h | ابحث عن الملف الأول | 1.0+ |
12h | ابحث عن الملف التالي | 1.0+ |
13h | حذف الملف | 1.0+ |
14h | قراءة متسلسلة | 1.0+ |
15h | الكتابة المتسلسلة | 1.0+ |
16h | إنشاء ملف أو اقتطاعه | 1.0+ |
17h | إعادة تسمية الملف | 1.0+ |
18h | محجوز | 1.0+ |
19h | الحصول على محرك الأقراص الافتراضي | 1.0+ |
1Ah | قم بتعيين عنوان نقل القرص | 1.0+ |
1Bh | احصل على معلومات تخصيص محرك الأقراص الافتراضي | 1.0+ |
1Ch | احصل على معلومات تخصيص محرك الأقراص المحدد | 1.0+ |
1Dh | محجوز | 1.0+ |
1Eh | محجوز | 1.0+ |
1Fh | الحصول على كتلة معلمات القرص لمحرك الأقراص الافتراضي | 1.0+ |
20h | محجوز | 1.0+ |
21h | قراءة عشوائية | 1.0+ |
22h | كتابة عشوائية | 1.0+ |
23h | احصل على حجم الملف بالسجلات | 1.0+ |
24h | رقم السجل العشوائي | 1.0+ |
25h | مجموعة متجه المقاطعة | 1.0+ |
26h | إنشاء PSP | 1.0+ |
27h | قراءة عشوائية من كتلة | 1.0+ |
28h | كتابة عشوائية في كتلة | 1.0+ |
29h | تحليل اسم الملف | 1.0+ |
2Ah | الحصول على التاريخ | 1.0+ |
2Bh | تحديد التاريخ | 1.0+ |
2Ch | احصل على الوقت | 1.0+ |
2Dh | ضبط الوقت | 1.0+ |
2Eh | قم بتعيين علامة التحقق | 1.0+ |
2Fh | احصل على عنوان نقل القرص | 2.0+ |
30h | احصل على نسخة DOS | 2.0+ |
31h | إنهاء الإقامة والبقاء فيها | 2.0+ |
32h | الحصول على كتلة معلمات القرص لمحرك الأقراص المحدد | 2.0+ |
33h | احصل على أو اضبط مفتاح Ctrl-Break | 2.0+ |
34h | الحصول على مؤشر علامة InDOS | 2.0+ |
35h | احصل على متجه المقاطعة | 2.0+ |
36h | احصل على مساحة تخزين مجانية | 2.0+ |
37h | الحصول على أو تعيين شخصية التبديل | 2.0+ |
38h | الحصول على معلومات البلد أو تعيينها | 2.0+ |
39h | إنشاء دليل فرعي | 2.0+ |
3Ah | إزالة الدليل الفرعي | 2.0+ |
3Bh | تغيير الدليل الحالي | 2.0+ |
3Ch | إنشاء ملف أو اقتطاعه | 2.0+ |
3Dh | فتح الملف | 2.0+ |
3Eh | إغلاق الملف | 2.0+ |
3Fh | قراءة ملف أو جهاز | 2.0+ |
40h | كتابة ملف أو جهاز | 2.0+ |
41h | حذف الملف | 2.0+ |
42h | نقل مؤشر الملف | 2.0+ |
43h | الحصول على سمات الملف أو تعيينها | 2.0+ |
44h | التحكم في الإدخال/الإخراج للأجهزة | 2.0+ |
45h | مقبض مكرر | 2.0+ |
46h | مقبض إعادة التوجيه | 2.0+ |
47h | الحصول على الدليل الحالي | 2.0+ |
48h | تخصيص الذاكرة | 2.0+ |
49h | تحرير الذاكرة | 2.0+ |
4Ah | إعادة تخصيص الذاكرة | 2.0+ |
4Bh | تنفيذ البرنامج | 2.0+ |
4Ch | إنهاء العملية برمز إرجاع | 2.0+ |
4Dh | احصل على رمز إرجاع البرنامج | 2.0+ |
4Eh | ابحث عن الملف الأول | 2.0+ |
4Fh | ابحث عن الملف التالي | 2.0+ |
50h | اضبط جهاز PSP الحالي | 2.0+ |
51h | احصل على أحدث إصدار من PSP | 2.0+ |
52h | الحصول على مؤشرات DOS الداخلية (SYSVARS) | 2.0+ |
53h | إنشاء كتلة معلمات القرص | 2.0+ |
54h | احصل على علامة التحقق | 2.0+ |
55h | إنشاء برنامج PSP | 2.0+ |
56h | إعادة تسمية الملف | 2.0+ |
57h | الحصول على تاريخ ووقت الملف أو تعيينهما | 2.0+ |
58h | الحصول على استراتيجية التخصيص أو تحديدها | 2.11+ |
59h | احصل على معلومات إضافية عن الخطأ | 3.0+ |
5Ah | إنشاء ملف فريد | 3.0+ |
5Bh | إنشاء ملف جديد | 3.0+ |
5Ch | قفل أو فتح الملف | 3.0+ |
5Dh | وظائف تبادل الملفات | 3.0+ |
5Eh | وظائف الشبكة | 3.0+ |
5Fh | وظائف إعادة توجيه الشبكة | 3.0+ |
60h | تحديد اسم الملف | 3.0+ |
61h | محجوز | 3.0+ |
62h | احصل على أحدث إصدار من PSP | 3.0+ |
63h | احصل على مؤشر جدول البايت الرئيسي لـ DBCS | 3.0+ |
64h | قم بتعيين علامة انتظار حدث خارجي | 3.2+ |
65h | احصل على معلومات موسعة عن البلد | 3.3+ |
66h | الحصول على صفحة الرمز أو تعيينها | 3.3+ |
67h | تحديد عدد المقابض | 3.3+ |
68h | ملف الالتزام | 3.3+ |
69h | الحصول على معرّف الوسائط أو تعيينه | 4.0+ |
6Ah | ملف الالتزام | 4.0+ |
6Bh | محجوز | 4.0+ |
6Ch | فتح/إنشاء ملف موسع | 4.0+ |
أنظمة التشغيل ذات الدعم الأصلي
- نظام التشغيل MS-DOS – التطبيق الأكثر انتشارًا
- نظام التشغيل PC DOS – إصدار IBM OEM من نظام التشغيل MS-DOS
- نظام التشغيل OS/2 1.x – خليفة مايكروسوفت/آي بي إم لنظامي التشغيل MS-DOS و PC DOS
- SISNE plus – نسخة مقلدة تم إنشاؤها بواسطة شركتي Itautec و Scopus Tecnologia في البرازيل
- DR-DOS – عائلة DOS للأبحاث الرقمية، بما في ذلك Novell DOS و PalmDOS و OpenDOS وما إلى ذلك.
- PTS-DOS – استنساخ PhysTechSoft وParagon DOS، بما في ذلك S/DOS
- ROM-DOS – إصدار Datalight ROM DOS
- نظام التشغيل DOS المدمج - إصدار البرنامج العام
- FreeDOS – نسخة مجانية ومفتوحة المصدر من نظام التشغيل DOS
- ReactOS ( إصدارات IA-32 و x86-64 )
- ويندوز 95 – يحتوي على نظام التشغيل MS-DOS 7.0
- ويندوز 98 – يحتوي على نظام التشغيل MS-DOS 7.1
- نظام التشغيل Windows 98 SE – يحتوي على MS-DOS 7.1
- نظام التشغيل ويندوز إم إي - يحتوي على نظام التشغيل إم إس-دوس 8.0
أنظمة التشغيل المزودة بطبقة محاكاة DOS
- نظام تشغيل CP/M-86 المتزامن (الإصدار 3.1 فقط) مع وضع PCMODE – نظام تشغيل Digital Research قائم على CP/M-86 مع محاكي PC DOS اختياري
- نظام التشغيل Concurrent DOS – عائلة أنظمة التشغيل CDOS من Digital Research مع محاكي PC DOS مدمج
- DOS Plus – نسخة مبسطة أحادية المستخدم من نظام التشغيل Concurrent PC DOS 4.1–5.0
- نظام التشغيل متعدد المستخدمين DOS – عائلة Digital Research/Novell MDOS بما في ذلك مدير نظام Datapac ، وIMS REAL/32 ، وما إلى ذلك.
- نظام التشغيل OS/2 (الإصدار 2.x والإصدارات الأحدث) – نظام تشغيل من شركة IBM يستخدم نظام MS-DOS 5.0 مرخصًا بالكامل في جهاز افتراضي
- ويندوز إن تي (جميع الإصدارات باستثناء إصدارات 64 بت وإصدارات ARM 32 بت)
محاكيات أخرى
- NTVDM لنظام التشغيل ويندوز NT
- DOSEMU لنظام التشغيل Linux
- DOSBox
- ReactOS
انظر أيضاً
مراجع
- ↑ راي دنكان (1988). برمجة MS-DOS المتقدمة: دليل مايكروسوفت لمبرمجي لغة التجميع ولغة C. مطبعة مايكروسوفت. ISBN 0914845772.
للمزيد من القراءة
- ألين، بول ؛ غيتس، بيل ؛ كينغ، أدريان؛ لارسون، كريس؛ ليتوين، غوردون ؛ أورير، بوب ؛ باترسون، تيم ؛ بيترز، كريس؛ فيليبس، بروس؛ رينولدز، آرون ؛ ستيلماكر، بيتي؛ زبيكوفسكي، مارك (1986). "المستشارون التقنيون". موسوعة المراجع التقنية لنظام التشغيل MS-DOS (الإصدارات 1.0-3.2) . تحرير: بورنشتاين، هوارد؛ بريديهوفت، لورانس؛ دنكان، راي؛ موريس، كارول؛ روز، ديفيد؛ سوشا، جون ؛ توملين، جيم؛ فيان، كاثلين؛ وولفرتون، فان بيلي، جيم؛ بريبيرناو، باري؛ بيسون، بام؛ لويس، أندريا؛ ريغمير، ديفيد. مكتبة مراجع مايكروسوفت. المجلد 1 (الطبعة الأصلية المسحوبة ). ريدموند، واشنطن، الولايات المتحدة الأمريكية: مطبعة مايكروسوفت . ISBN 0-914845-69-1LCCN 86-8640 . OCLC 635600205 . (١٧ صفحة + ١٠٥٣ صفحة؛ ٢٩ سم) (ملاحظة: تحتوي هذه الطبعة الأصلية على مخططات انسيابية لآليات عمل النظام الداخلية. سحبتها مايكروسوفت قبل توزيعها على نطاق واسع عام ١٩٨٦ لاحتوائها على العديد من الأخطاء الواقعية، بالإضافة إلى بعض المعلومات السرية التي ما كان ينبغي نشرها. لم يبقَ منها سوى عدد قليل من النسخ المطبوعة. وقد استُبدلت بطبعة مُنقّحة بالكامل عام ١٩٨٨.))
- زبيكوفسكي، مارك ؛ ألين، بول ؛ بالمر، ستيف ؛ بورمان، روبن؛ بورمان، روب؛ بتلر، جون؛ كارول، تشاك؛ تشامبرلين، مارك؛ تشيل، ديفيد؛ كولي، مايك؛ كورتني، مايك؛ دريفوس، مايك؛ دنكان، راشيل؛ إيكهارت، كورت؛ إيفانز، إريك؛ فارمر، ريك؛ غيتس، بيل ؛ جيري، مايكل؛ غريفين، بوب؛ هوغارث، دوغ؛ جونسون، جيمس دبليو؛ كرماني، كامل؛ كينغ، أدريان؛ كوخ، ريد؛ لاندوفسكي، جيمس؛ لارسون، كريس؛ لينون، توماس؛ ليبكي، دان؛ ماكدونالد، مارك ؛ ماكيني، بروس؛ مارتن، باسكال؛ ماذرز، إستيل؛ ماثيوز، بوب؛ ميلين، ديفيد؛ ميرجنتايم، تشارلز؛ نيفين، راندي؛ نيويل، دان؛ نيويل، تاني؛ نوريس، ديفيد؛ أوليري، مايك؛ أورير، بوب ؛ أولسون، مايك؛ أوسترمان، لاري؛ أوستلينغ، ريدج؛ باي، سونيل؛ باترسون، تيم ؛ بيريز، غاري؛ بيترز، كريس؛ بيتزولد، تشارلز ؛ بولوك، جون؛ رينولدز، آرون ؛ روبين، داريل؛ رايان، رالف؛ شولمايسترز، كارل؛ شاه، راجين؛ شو، باري؛ شورت، أنتوني؛ سليفكا، بن؛ سميرل، جون؛ ستيلمايكر، بيتي؛ ستودارد، جون؛ تيلمان، دينيس؛ ويتن، غريغ؛ يونت، ناتالي؛ زيك، ستيف (1988). "المستشارون التقنيون". موسوعة MS-DOS: الإصدارات من 1.0 إلى 3.2 . بقلم: دنكان، راي؛ بوستويك، ستيف؛ بورغوين، كيث؛ بايرز، روبرت أ.؛ هوغان، ثوم؛ كايل، جيم؛ ليتوين، غوردون ؛ بيتزولد، تشارلز ؛ رابينوفيتز، تشيب؛ توملين، جيم؛ ويلتون، ريتشارد؛ وولفرتون، فان؛ وونغ، ويليام؛ وودكوك، جوان ( طبعة منقحة بالكامل). ريدموند، واشنطن، الولايات المتحدة الأمريكية: مطبعة مايكروسوفت . ISBN 1-55615-049-0LCCN 87-21452 . OCLC 16581341 . (xix+1570 صفحة؛ 26 سم) (ملاحظة: تم نشر هذه الطبعة في عام 1988 بعد إعادة صياغة واسعة النطاق للطبعة الأولى المسحوبة عام 1986 من قبل فريق مختلف من المؤلفين.)
- نورتون، بيتر ؛ ويلتون، ريتشارد (1987). دليل بيتر نورتون الجديد للمبرمجين لأجهزة IBM PC وPS/2 . مطبعة مايكروسوفت. ISBN 1-55615-131-4.
- راي دنكان (1988). برمجة MS-DOS المتقدمة: دليل مايكروسوفت لمبرمجي لغة التجميع ولغة C. مطبعة مايكروسوفت. ISBN 0914845772.
- هوجان، ثوم (1991). كتاب مصادر الحاسوب الشخصي للمبرمج . مطبعة مايكروسوفت. رقم ISBN 155615321X.
- مرجع مبرمجي نظام التشغيل MS-DOS - المرجع التقني الرسمي لنظام التشغيل MS-DOS . منشورات مايكروسوفت. 1993. ISBN 1556155468.
- تحديث تقني لنظام التشغيل IBM PC DOS 7
- سلسلة مراجع مطوري OpenDOS — دليل مبرمج OpenDOS — دليل النظام والمبرمج . شركة كالدرا، أغسطس 1997. رقم جزء كالدرا 200-DOPG-003. مؤرشف من الأصل بتاريخ 7 أكتوبر 2017. تم الاطلاع عليه بتاريخ 28 يونيو 2012 .(طُبع في المملكة المتحدة.)
روابط خارجية
- قائمة المقاطعات x86 (المعروفة أيضًا باسم RBIL، قائمة مقاطعات رالف براون )
- ctyme.com - استدعاءات INT بواسطة دالة
- wustl.edu - وصف خدمات MS-DOS
- مقاطعات نظام التشغيل MS-DOS، مؤرشفة بتاريخ 13 أكتوبر 2011 على موقع Wayback Machine
- تقنية DOS
- واجهات برمجة تطبيقات نظام التشغيل
- معمارية X86
- المقاطعات
