دوس (نظام تشغيل)

Question: هل الدوس لغة برمجة؟


نظام التشغيل دوس  هو أحد الأنظمة المستخدمة في إدارة وتشغيل الحاسوب .[1][2][3]
نبذه عن البرنامج
مرت أجيال الحاسب بعدة تطورات فكان بداية الجيل الرابع للحاسب (1971/1980) التطور الكبير لتاريخ الحاسبات، حيث تم صناعة أول معالج صغير للحاسبات (microprocessor) من قبل شركة إنتل وكان يسمى 4004، مما أدى إلى البدء بصناعة الحاسبات الشخصية وتتطور لغات برمجة، وتبع المعالج 4004 المعالج 8008 ومن ثم المعالج 8080 الذي استخدم على نطاق واسع، وبسبب انتشار الحاسبات الشخصية كان لابد من وجود نظام يدير الحاسب، ففي عام 1973 قام جيري كيلديل (Gary Kildall) بكتابة نظام تشغيل جديد باسم (CP/M) وهي اختصار للكلمة (Control Program/Monitor or Control Program for Microcomputer) وذلك للأجهزة الشخصية التي تعمل على المعالج 8080، فكان أول نظام تشغيل للأجهزة الشخصية (PC).
ففي عام 1980 صنع أول قرص صلب للأجهزة الشخصية (PC) وانتشر بشكل كبير، حدث تطور في إنتاج الأقراص المرنة وفي كبر حجمها.
مما أدى إلى أن يقوم تيم باترسون (Tim Patterson) إلى كتابة نظام تشغيل جديد هو (DOS) للأجهرة الشخصية (PC) التي تعمل على المعالج 8086 المطور من قبل إنتل لشركة سياتل كمبيوتر (Seattle Computer)، مما أدى إلى أن تقوم شركة سياتل كمبيوتر (Seattle Computer) في الشهر السابع من عام 1980 بإصدار النسخة (QDOS 0.1) وهي اختصار (Quick and Dirty Operating System)، وفي الشهر الثاني عشر من 1980 تم كتابة الجزء 0.3 وقام تيم باترسون (Tim Patterson) مصمم النظام بعرضه على شركة مايكروسوفت، فقامت شركة مايكروسوفت في بشراء الحقوق التجارية (QDOS) وأسمته MS/DOS، وأبرمت شركة أي بي أم (IBM) وشركة مايكروسوفت اتفاق يقضي باستخدام (MS/DOS) كنظام تشغيل الأساسي للأجهزة الشخصية لشركة (IBM) وذلك بإنشاء نسخة من نظام (MS/DOS) لشركة (IBM) بمسمى (PC/DOS)، وتم تطوير النظام وإصدار عدة نسخ مطورة فأصبح أقوى وأكبر نظم تشغيل على مستوى الحاسب الشخصي، علما أنه تم اصدار نظم (DOS) أخرى من عدة شركات وفرق عمل ومنها (SuperDOS) و(XDOS) و(Free/DOS) وغيرها.
واجهة النظام
يعتمد نظام التشغيل دوس على الواجهات النصية، التي تتطلب من المستخدم التعامل بالأوامر الكتابية، ويستطيع استقبال الأحرف والرموز من المستخدم, الملفات الدفعية Batch Files, أو برنامج اخر أعلى مستوى تم تشغيله في الذاكرة.
مزايا النظام
يقوم بتأمين عملية استخدام موارد الحاسب بشكل مثالي بحيث يسهل على المسخدم إدارة الحاسب دون الخوض في تفاصيل التقنية للحاسب، حيث يقوم بالأموار التالية:
إدارة الملفات، يقوم بإدارة وتنظيم الأدلة والملفات التي على القرص من إنشاء وحذف وتعديل.
إدارة الإدخال والإخراج، وذلك دون التأثير على أدارة باقي الأمور.
تحميل البرامج وتنفيذها، حيث يقوم بتحمل الملف من القرص إلى الذاكرة الرئيسية ومن ثم تنفيذ البرنامج.
إدارة الذاكرة، حيث يهيئ مكان المخصص للتعليمات وبيانات البرنامج في الذاكرة وإزالة البرنامج بعد تنفيذه من الذاكرة الرئيسية، وكذلك إدارة عدة برامج محملة في الذاكرة الرئيسية.
المقاطعات، حيث من الممكن استخدام المقاطعات لتسهيل على المستخدم عملية المخاطبة مع الموارد بشكل غير مباشر.
استقلالية المستخدم حيث لا يمكن مشاركة المستخدمين في هذا النوع من الأنظمة.
سهولة تشخيص البرامج, وتتبع العمليات كونها تتم أولا بأول.
عيوب النظام
أحد أهم القيود على هذا النظام والتي تم التغلب عليها في أنظمة التشغيل اللاحقة هو عدم قدرته على تسمية الملفات بأكثر من ثمانية أحرف أو حتى قراءتها.
عدم قدرته على تشغيل أكثر من برنامج تطبيقي في نفس الوقت (مشاركة المهام).
نسبة الخطأ فيه عالية خصوصاً في إعطائه الأوامر النصية وذلك لإحتمالية الخطأ بنسبة كبيرة.
لا يتعرف سوى على نظام جدولة الملفات FAT وبالتالي عدم التعرف على أقراص بسعات تفوق 4GB.
حفظ جميع الاوامرالمتعلقه بالبرنامج
إصداراته
بدأ دوس كنظام مستقل ثم ظهرت من إصدارات ونسخ مختلفة باختلاف الشركات كان أبرزها مايكروسوفت دوس MS-DOS. ظهر هذا الأخير بإصدار ذي أرقام مختلفة اعتمادا على التحديث منها: MS-DOS 4, MS-DOS 5, MS-DOS 6.00,MS-DOS 6.22, MS-DOS 7, MS-DOS 8.
مر (MS-DOS) بعد مراحل وذلك من بداية إصدار النسخة الأولى عام 1981 من التطورات والتغيرات الكبيرة والتي سوف توجزها في الجدول التالي:
MS-DOS 1.00
4-Aug-1981
النسخة الأولية من (MS/DOS) بعد شراء حقوق (QDOS)
MS-DOS 1.10
1-Jun-1982
-
MS-DOS 1.24
1-Jun-1982
-
MS-DOS 1.25
1-Jul-1982
أصبح يدعم الأقراص الثنائية الأوجه
MS-DOS 2.00
8-Mar-1983
يدعم القرص الصلب ذات السعبة 10 ميجابايت المصنع من قبل شركة (IBM)، والأقراص المرنة 5.52 ذات الوجهين، والأقراص المرنة ذات سعة 360 كيلوبايت.
MS-DOS 2.01
1-May-1983
تصحيح بعض المشاكل في الإصدار السابق.
MS-DOS 2.11
17-Nov-1983
دعم لحروف الموسعة.
MS-DOS 2.12

إصدار خاص لتقني المعلومات المحترفين (TI Pro)
MS-DOS 2.25
1-Oct-1985
يدعم عدة لغات برمجة
MS-DOS 3.00
14-Aug-1984
دعم للقرص الصلب 32 ميجابايت والأقراص الصلبة ذات السعة 1.2 ميجابايت.
MS-DOS 3.10
7-Mar-1985
يدعم العمل مع الشبكات
MS-DOS 3.20
7-Jul-1986
-
MS-DOS 3.21
1-May-1987
-
MS-DOS 3.30
24-Jul-1987
دعم الأقراص الصلبة ذات الأحجام التي أكبر من 32 ميجابايت والأقراص المرنة ذات الإحجام 3.5
MS-DOS 3.3a
2-Feb-1988
تصحيح بعض المشاكل في الإصدار السابق.
MS-DOS 4.00
6-Oct-1988
دعم تقنية (XMS) ودعم الأقراص الصلبة ذات الأحجام التي تصل إلى 2 جيجابايت، ودعم الواجهة الرسومية، بالإضافة لإصدار نسخ للغة الأوربية
MS-DOS 4.01
30-Nov-1988
أصلاح بعض العيوب في الإصدار السابق، إصدار خاص للغة الروسية.
MS-DOS 4.01a
7-Apr-1989
تصحيح بعض المشاكل في الإصدار السابق.
MS-DOS 5.00
9-Apr-1991
تم تحديثه بشكل كبير حيث أصبح يحمل نفسه في الذاكرة العليا واستخدام برامج السواقة وتحسين المقاطع وإضافة برامج مساندة كمحرر النصوص وبرنامج التراجع عن المسح، بالإضافة إلى اصدار نسخ خاصة باللغة العربية (1992/05/06) وباللغة العبرية (1993/06/03)
MS-DOS 5.0a

تصحيح بعض المشاكل في الإصدار السابق.
MS-DOS 6.00
10-Mar-1993
تم اضافة بعض الإمكانيات الجديد ضغط الملفات وبرنامج الحماية من الفيروسات وبرنامج تجزئية القرص الصلب وبرنامج النسخ الإحتاطية وملفات إعداد النظام، إدارة افوى للذاكرة من الإصدارات السابقة.
MS-DOS 6.20
30-Sep-1993
الأمن الأكبر من ناحية فقد البيانات، برنامج لتصحيح اخطاء القرص الصلب وبرامج للإدارة الأقراص مثل نسخ الأقراص.
MS-DOS 6.21

تصحيح بعض المشاكل في الأصدار السابق
MS-DOS 6.22
31-May-1994
إمكانية أكبر في ضغط القرص، وإصدار نسخة خاصة تدعم اللغة اليابانية.
MS-DOS 7.00

هذا الإصدار جزء من نظام التشغل وندوز 95، حيث وفر الدعم للأسماء الطويل، وإزالة بعض البرامج المساعدة أو الخدمية.
MS-DOS 7.10

هذا الإصدار جزء من نظام التشغل وندوز 95 المحسن، حيث يدعم نظام ملفات FAT32 وإمكانية الاستفادة من الأجهزة ذات التخزين الكبيرة.
MS-DOS 8.00

هذا الإصدار جزء من نظام التشغيل وندوز 98.
أما مايتعلق بنظم التشغيل وندوز للشبكات (Windows NT) مثل (windows XP) فيوجد بها برنامج محاكاة أو ألة افتراضية (VM) تحاكي بيئة نظام الدوس حيث تعمل البرامج دوس كما لو أنك تعمل على أحد إصدارات دوس.
المكونات الأساسية لنظام
يتألف نظام (DOS) من ثلاث ملفات رئيسية هي:
IO.SYS
MSDOS.SYS
COMMAND.COM
وهناك عدة ملفات مساعدة أو مكملة لنظام (DOS) ومن أهمها:
CONFIG.SYS
AUTOEXEC.BAT
شرح وعمل وفوائد الملفات المذكورة في الأعلى كلا على حده:


1- ملف عمليات الإدخال والإخراج (IO.SYS):
يقوم بتهيئة النظام عن إقلاع الحاسب.
تنظيم عملية الإدخال والإخارج الأساسية.
ملف مخفي.
موجود على القرص.
2- ملف النواة لنظام (MSDOS.SYS):
مسؤول عن إدارة الملفات.
مسؤول عن إدارة الذاكرة.
مسؤول عن إدارة الإدخال والإخراج.
ملف مخفي.
موجود على القرص.
3- ملف مفسر الأوامر لنظام (COMMAND.COM):
يعمل كمفسر أوامر.
يراقب لوحدة الفاتيح.
يعتبر الواجهة بين المستخدم والنظام.
ملف غير مخفي.
موجود على القرص.
4- ملف التكوين (CONFIG.SYS):
يوجد فيها تكوينات الموارد.
يمكن التعديل عليها من قبل المستخدم.
ملف مخفي.
موجود على القرص.
5- ملف أوامر بدء التشغيل (AUTOEXEC.BAT):
يقوم بتنفيذ بعض الأوامر إثناء إقلاع الحاسب.
يمكن التعديل على الأوامر من قبل المستخدم.
ملف مخفي.
موجود على القرص.
كيفية عمل نظام (MS-DOS)
هناك علاقة بين نظام (BIOS) ونظام (MS-DOS) حيث أن نظام (MS-DOS) يعتمد على نظام (BIOS)، مسؤولية (BIOS) هي التعامل مع الأجهزة المحيطة وفحصها وتهيئتها ويضع روتينات لكي تمكن نظام (MS-DOS) من التعامل مع الأجهزة الحاسب.

عندما ينتهي عمل (BIOS) من فحص وتهئية الأجهزة المحيطة وتكوين الروتينات، يقوم بتنفيذ برنامج التحفيز الذاتي (BOOTSTAP) الموجود في أول القرص حيث يقوم بتحميل الملفين (IO.SYS) و(MSDOS.SYS) إلى الذاكرة ترك زمام الأمور عليهم فينفذ (IO.SYS) ويقوم يتشغيل (MSDOS.SYS) فيقوم بتهئية النظام ومن ثم يقرأ ملف الإعداد (CONFIG.SYS) ومن بعده يشغل مفسر الأوامر (COMMAND.COM) حيث يقوم مشغل الأوامر بتشغيل الملف (AUTOEXEC.BAT) الذي يقوم بتنفيذ بعض الأوامر المعينة، وبهذا يكون النظام قد استقر.
زوال النظام
بدأت أنظمة التشغيل مثل ويندوز, لينكس بالتفوق على هذا النظام لكونها تفادت العيوب السابقة بالإضافة إلى دعمها واجهة مستخدمين أكثر مرونة تفاعلها الكائناتي مع المستخدم. كان نظام ويندوز Windows 3x  مثلا يعتمد نظام التشغيل MS-DOS 6.22 في بدء عمليات الإقلاع, ثم تم تطوير نظام ويندوز Window 95, Windows 98 كي تعمل بشكل مستقل عن نظام دوس ولكن مع السماح للإقلاع بنظام دوس أيضا. ومع ظهور ويندوز ملينيم Windows Me توقفت عملية دعم إقلاع MS-DOS. مع ذلك ظلت واجهة دوس الافتراضية مع Windows Me, Windows 2000, Windows XP وذلك لدعم البرامج والألعاب التي تعمل بنظام دوس إلا أن شركة مايكروسوفت توقفت عن دعم تطبيقات دوس بدءا من نظام ويندوز فيستا (مع السماح بمحث الأوامر والتطبيقات التي لاتستخدم شاشة الرسومات).
بدء تشغيل النظام
عند تشغيل الجهاز ونجاح عملية الإقلاع الأولي  عبر البيوس, يبدأ البحث عن ملف يسمى IO.SYS ويجب أن يكون موقعه في قطاع الإقلاع. بعد ذلك يقوم هذا الملف بالاستعانة بلمفات أخرى هي MSDOS.SYS (في حالة نظام مايكروسوفت دوس), CONFIG.SYS لتحميل إعدادات المستخدم الإضافية (مثل بيانات تعريف وحدة جديدة). أخيرا يتم تحميل ملف تنفيذي يدعى COMMAND.COM إلى الذاكرة لتنفيذ أوامر دوس الأساسية والتي يدخلها المستخدم من لوحة المفاتيح. هناك ملف إضافي (اختياري) يدعى AUTOEXEC.BAT وهو ملف دفعي تخزن فيها تفضيلات المستخدم لاستكمال عملية الإقلاع. عادة ما يتم تجنب تنفيذ الملفين AUTOEXEC.BAT و CONFIG.SYS بالضغط المتواصل على مفتاح Shift في لوحة المفاتيح أثناء الإقلاع وتسمى هذه العملية (تشغيل دوس في الوضع الامن) لضمان تشخيص مشاكل بدء الإقلاع.
الملفات التنفيذيه لنظام (MS-DOS)
يوجد نوعين من البرامج التنفيذيه هي:
برامج تنتهي بامتداد (COM):
هي برامج لا يتعدى حجمها 65 كليوبايت ويحمل محتوى البرنامج إلى الذاكرة كما هو على القرص الصلب أي لايوجد أختلف بين البرنامج الذي على القرص والبرنامج المحمل في الذاكرة إلى أن البرنامج المحمل في الذاكرة يضاف في أوله مقدمة بداية البرنامج، ويتكون من ثلاث أجزاء هي مقطع للتعليمات مقطع للبيانات مقطع للمكدس.
برامج تنتهي بامتداد (EXE):
هي برامج يتعدى حجمها عن 65 كليوبايت حيث يمكن أن يكون لها أكثر من مقطع للتعليمات وللبيانات وللمكدس، يختلف شكل الملف على القرص لما هو موجود على الذاكرة حيث يزيد الملف الموجود على القرص بمقدمة برامج (EXE).
أوامر الدوس
هناك نوعان من أوامر الدوس هي:
أوامر داخلية: وهي البرامج التي تكون محملة في الذاكرة (RAM) وليس لها نظير على القرص الصلب، وتحمل عند إقلاع الحاسب حيث يمكن استخدمها مباشرة بكتابة الأمر على سطر الأوامر وتبقى محملة عن انتهاء تنفيذ الأمر.
أوامر خارحية: وهي البرامج الموجودة على القرص الصلب وليست محملة في الذاكرة (RAM) عند إقلاع الحاسب، لكي تعمل يجب أن يكتب اسم البرنامج على سطر الأوامر ويجب أن يكون البرنامج في الدليل الحالي لكي يستخدم، حيث يحمل في الذاكرة (RAM) وينفذ ثم بعد الإنهاء من التنفيذ يزال من الذاكرة (RAM).
الأوامر الداخلية
BREAK
يقوم بتعطيل أو السماح بستخدام (CTRL+C)
CALL
يستدعي برنامج من داخل برنامج الدفعة
CD (CHDIR)
تغيير الدليل الحالي
CHCP
يحدد أو يظهر صفحة الترميز النشط
COPY
ينسخ الملفات
COMMAND
تشغيل مفسر أوامر اخر غير الذي يستخدمه النظام
CTTY
يغير شاشة القرص المستخدمة
DATE
يظهر ويغير التاريخ
DEL (ERASE)
يحذف ملف أو عدة ملفات أو دليل
DIR
عرض الملفات في دليل معين
ECHO
يعطل أو يسمح بعرض المخرجات من تنفيذ برنامج معين
EXIT
الخروج من المفسر الأوامر (command.com)
FOR
ينفذ أمر معين على أكثر من ملف
GOTO
ينقل تنفيذ أمر ميعن داخل برنامج الدفعة
IF
يستخدم في تنفيذ أمر معين حسب صحة شرط معين
LH
يجمل البرنامج في الذاكرة العليا
MD (MKDIR)
ينشى دليل جديد
PATH
يظهر أو يعدل مكان البحث عن ملف غير موجود في الدليل الحالي
PAUSE
إيقاف مؤقت إلى أن يقوم المستخدم بضغط على لوحة المفاتيح
PROMPT
تغير شكل محث الأوامر
RD (RMDIR)
حذف دليل معين
REM
يستخدم مع الملفات المدفعية لكتابة ملاحظة معينه
REN (RENAME)
تغير اسم أو امتداد ملف أو عدة ملفات
SET
يحدد قيمة متغير بيئة معينة تكون محملة في الذاكرة
shift
يستخدم مع برامج الدفعة لإزاحة البيانات التي تدخل الملف
TIME
عرض أو تغير الوقت الحالي
TYPE
يعرض محتويات ملف معين
VER
يعرض رقم الإصدار الحالي للنظام
VERIFY
تشغيل او تعطيل التحقق من صحة كتابة الملفات على القرص
VOL
يظهر اسم القرص ورقمة التسلسلي
الأوامر الخارجية