تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
دورة التحكم في الكاميرات/المحور 1/ الدرس 3. أنواع الدرايفرات و دورة المعلومات بينها
#1
كاتب المقال
[COLOR="#006400"] Boutemine Oualid
كبار الشخصيات[/COLOR]

بسم الله الرحمن الرحيم.
الدرس الثالث من المحور الأول النظري.

أنواع الدرايفرات .

المحتويات
1- تعريف الدرايفر.
2- أنواع الدرايفرات.
- التقسيم من منظور الجاهزية.
1/ الدرايفرات الآتية مع نظام التشغيل.
أ/ الدرايفرات المدمجة مع نواة نظام التشغيل.
ب/ الدرايفرات المخزنة في القرص المدمج الخاص بنظام التشغيل.
2/ الدرايفرات الآتية مع العتاد.
أ/ الدرايفر الآمن
ب/ الدرايفر غير الآمن.
- التقسيم من منظور هندسي: حسب مستوى التخاطب مع العتاد و طريقة التحميل مع نواة نظام التشغيل.
1/ الدرايفرات الحقيقية (Kernel Mode Drivers).
2/ الدرايفرات الوهمية (User mode Drivers).
أ/ الواجهات.
ب/ محولات الأوامر.


بسم الله الرحمن الرحيم
* وقل رب زدني علما *

خلال هذا الدرس، سنتعرف سويا على أنواع الدرايفرات حسب تقسيمات مختلفة سنعرج عليها جميعها إن شاء الله.

1- تعريف الدرايفر:
الدرايفر عبارة عن برنامج جاهز يأتي مع الأجهزة الجديدة التي تثبتها على جهازك, هذا البرنامج يمثل حلقة الوصل بين الجهاز الجديد و نظام التشغيل حيث يقوم الدرايفر بدور الوسيط في عملية التخاطب بين العتاد و نظام التشغيل.
يقوم الدرايفر بتسهيل عملية التخاطب مع العتاد حيث يوفر لنظام التشغيل أوامر و دوال جاهزة تغنيه عن معرفة البنية التحتية للعتاد.
التخاطب مع العتاد من البرامج العاملة تحت نظام التشغيل (User Mode) غير ممكن بدون الدرايفر لأن التخاطب مع الأجهزة الخارجية لا يملك صلاحيته إلا نظام التشغيل، لذلك يوفر الدرايفر واجهة (أو طريق) لتمكين البرامج العاملة تحت نزام التشغيل من التخاطب مع العتاد دون عوائق (و لنا عودة إن شاء الله في الدرس الأخير).
2- أنواع الدرايفرات:
هذه هي الفقرة الأساسية في الدرس و أرجو أن يتم التركيز عليها لأن موضوع التخاطب مع الكاميرات يتطلب فهم النقاط الأساسية في هذه الفقرة و سترون لاحقا أن عملية التخاطب مع الكاميرا تتطلب عدة مستويات و أنواع من الدرايفرات.
- التقسيم من منظور الجاهزية:
عندما نتكلم عن الجاهزية فنقصد هل أن الدرايفر متوفر لدى المستعمل

1/ الدرايفرات الآتية مع نظام التشغيل:
أ/ الدرايفرات المدمجة مع نواة نظام التشغيل:
هذا النوع من الدرايفرات يكون مدمجا في تعليمات خوارزميات الإدخال و الإخراج (I/O Algos) الخاصة بنواة نظام التشغيل أي أنها جاهزة في الشيفرة البرمجية الخاصة بنظام التشغيل و من الأمثلة الدرايفرات الخاصة بالأجهزة اللازمة لعمل نظام التشغيل كالفأرة و لوحة المفاتيح.
الأجهزة التي يتم التخاطب معها عبر هذا النوع عادة ما تدعم خاصية ال PnP (Plug-and-play) التي سبق و أن شرحناها و سنتوسع فيها في الدرس القادم (التخاطب مع العتاد – أهم درس نظري في الدورة كاملة -) من هذا المحور النظري، لنعرف كيفية التخاطب مع هذا النوع من الأجهزة التي تدعمها.

ويمكن معرفة ذلك من خلال حقل الشركة المصنعة للدرايفر في باب خصائص الدرايفر في نافذة خصائص العتاد في الHardware manager ، أي أن microsoft هي المصنع للدرايفر كما يظهر في حقل مصنع العتاد في الصورة التالية.

[ATTACH=CONFIG]967[/ATTACH]

الصورة 1. خصائص الدرايفر الخاص بلوحة المفاتيح Keyboard.
ب/ الدرايفرات المخزنة في القرص المدمج الخاص بنظام التشغيل:
هذه الدرايفرات مخزنة في القرص المدمج الخاص بتنصيب نظام التشغيل، هذه الدرايفرات ينصبها نظام التشغيل عند القيام بعملية تنصيب عتاد جديد معروف من قبل نظام التشغيل (مسجل على ال HCL) حيث بمجرد ربطه بالحاسوب يقوم نظام التشغيل بالتعرف عليه (إن كان يدعم خاصية الPnP) و يطلب منك الCD الخاص به لتنصيب الدرايفر الخاص بالعتاد الجديد.
2/ الدرايفرات الآتية مع العتاد:
أ/ الدرايفر الآمن(المعلمSigned Driver ): هذا النوع من التقسيم ظهر مع أنظمة تشغيل مايكروسوفت، و خاصية الإمضاء الرقمي (أو التعليم) هي مجموعة من المعلومات تضاف إلى ملفات الدرايفر تمكن نظام التشغيل وينداوز من التأكد من أن الدرايفر آمن و يمكن أن يثبته على الجهاز لاستعماله دون خوف لأنه خضع لجميع اختبارات مايكروسوفت و تم التأكد من أمانها 100% و توافقها مع نظام التشغيل.
و سنعرف لاحقا أهمية الأمان الخاصة بالدرايفر لنظام التشغيل.
يمكن معرفة أن الدرايفر المنصب آمن من خلال شعار الأمان أو عند مرحلة تنصيبه أو من خلال ال hardware manager

من خلال شعار الأمان: شعار الأمان يأتي على العلبة الخاصة بالجهاز الجديد:

[ATTACH=CONFIG]968[/ATTACH]

الصورة 2. شعار الأمان.

خلال مرحلة تنصيب الدرايفر: عند بدأ عملية التنصيب، فإن مساعد تنصيب العتاد الجديد لا يوجه لك تحذير عن حالة الدرايفر و يطلب رأيك لإكمال عملية التنصيب.

[ATTACH=CONFIG]969[/ATTACH]

الصورة 3. رسالة الإنذار التي يعرضها مساعد تنصيب العتاد الجديد.

من خلال الhardware manager: يمكن الاستعلام عن خاصية الآمان عن طريق خصائص العتاد من نافذة الHardware Manager، و ذلك بالذهاب إلى التبويب Driver و معرفة قيمة الحقل Digital Signature.

[ATTACH=CONFIG]970[/ATTACH]

الصورة 4. باب خصائص الدرايفر، حقل الإمضاء الرقمي.
ب/ الدرايفر غير الآمن (غير المعلم non signed driver): بطليعة الحال، لم يخضع لاختبارات مايكروسوفت و هو غير آمن و قد يسبب أضرار لنظام التشغيل، ويمكن التأكد عبر رسالة التحذير السابقة أثناء عملية التنصيب

[ATTACH=CONFIG]971[/ATTACH]

الصورة 5. رسالة التحذير حول عدم موثوقية الدرايفر
أو من خلال حقل الإمضاء الرقمي للدرايفر كما في الصورة التالية.

[ATTACH=CONFIG]972[/ATTACH]

الصورة 6. الدرايفر الخاص بالمحول InfraRed غير خاضع للاختبارات وهو غير موثوق.

بعض الملاحظات:

لماذا الدرايفر غير المعلم غير آمن؟ و ما هو الخطر الذي يشكله؟

أولا Microsoft تلح على عدم الثقة في الدرايفرات غير المعلمة لخطرها على استقرار نظام التشغيل، ببساطة لأن الدرايفر الذي تقوم بتنصيبه سيستعمل كجزئ من نواته و بالتالي فإن خلل فيه سؤدي إلى انهيار النظام كاملا، لذلك قررت Microsoft أن تجعل الوينداوز Vista النسخة 64 Bit لا يقبل إلا الدرايفرات المعلمة و هي خاصية جديدة كليا.
ببساطة هذه هي أهم ميزات في الدرايفر الآمن:
- ضمان نوعية جيدة لعمليات التخاطب مع العتاد دون مشاكل غير متوقعة أثناء تطوير الدرايفر.
- زيادة ثبات نظام التشغيل بإبعاد احتمال تحميل الأخطاء البرمجية إلى نواة نظام التشغيل.
- الأشخاص الذين لا ينتمون إلى مجموعة الإدارة الخاصة بالكمبيوتر لا يستطيعون تثبيت الدرايفرات غير المعلمة.

على كل حال، جعلت هذه الإستراتيجية الوينداوز Vista 64 bit أكثر ثباتا خاصة و أن نواته تمت مراجعتها و إعادة بنائها بالكامل عكس ما كان سابقا حيث كانت جميع الإصدارات من النظام ويندوز لها نفس النواة بالتقريب.
هذا الأمر الجديد في الVista جعل مبرمجي الدرايفرات (تحت نظام التشغيل ويندوز) ملزمين بأخذ شهادة PIC (Publisher Identity Certificate) و هي شهادة و مجموعة من التعليمات لبناء الدرايفر الآمن و أهم الطرق لإخضاعه لاختبارات الأمان و تزويده بإمضاء رقمي باستعمال ال WDK(Windows Driver Kit).

عند اختيار استكمال عملية التنصيب لدرايفر غير معلم فإن المساعد تنصيب العتاد الجديد يقوم بإضافة نقطة استعادة نظام (System Restore Point) للاستفادة منها في حالة وجود أي عطب، كما يظهر في الصورة التالية:

[ATTACH=CONFIG]973[/ATTACH]
الصورة 7. المساعد يقوم بإضافة نقطة استعادة النظام في حال وجود أي خلل

إذا كنت ممن يستعملون الDeep Freez فعليك تعطيله أولا ببساطة لأنه سيقوم بحذف جميع التعديلات على صورة القرص الصلب و بالتالي حذف ملفات الدرايفر المثبت.


الملفات المرفقة صورة/صور
                           
الرد }}}
تم الشكر بواسطة:
#2
- التقسيم من منظور هندسي: حسب مستوى التخاطب مع العتاد و طريقة التحميل مع نواة نظام التشغيل.
قبل الخوض في غمار هذا التقسيم، علينا التفريق بين مستويين من التخاطب مع العتاد
· المستوى الأول: نظام التشغيل، أو التخاطب حسب ال Kernel mode.
أولا ال Kernel هي نواة نظام التشغيل، أو منطقة من الذاكرة الحية مخصصة لأوامر و تعليمات نظام التشغيل, وهذه النواة هي وحدها من يستطيع أن يتخاطب مع العتاد (عن طريق الدرايفر المحمل معها) أي أن التطبيقات العاملة تحت نظام التشغيل لا تستطيع التخاطب مع العتاد دون المرور بنواة نظام التشغيل، وبالتلي فأن جميع التطبيقات المستفيدة عليها أن ترسل أوامرها عبر درايفرات وهمية (ولنا عودة إليها) إلى النواة (الدرايفر الحقيقي بصورة أدق).
· المستوى الثاني: البرامج و التطبيقات المستفيدة: أو التخاطب حسب ال User mode، و كما قلنا التخاطب مع العتاد يتطلب المرور عن طريق النواة للاستفادة من العتاد و خدماته.

1/ الدرايفرات الحقيقية:
الدرايفرات الحقيقة هي البرامج المسؤولة عن التخاطب المباشر مع العتاد و عن طريقها تحول جميع الأوامر أو الطلبات التي ترسلها البرامج العاملة تحت نظام التشغيل عبر الدرايفرات الوهمية (الواجهات)، كما أنها هي المسؤولة عن إعلام نظام التشغيل بالأحداث الطارئة في العتاد الخارجي عن طريق الInterruptions ولنا عودة لها في الدرس النظري القادم الذي سيكون الأطول و الأوسع في مجال العتاد و التخاطب معه.
تعمل الدرايفرات الحقيقية في الوضع Kernel Mode حيث يقوم نظام التشغيل برفها مع النواة.
2/ الدرايفرات الوهمية:
أ/ الواجهات: أولا نقول عن برنامج أنه واجهة إذا كان يشكل طبقة إعاقة (Abstraction layer) عن برنامج آخر،
في حالتنا هذه، فإن الدرايفر الحقيقي لا تستطيع التخاطب معه برمجيا مباشرة إلا بالمرور عن طريق درايفر آخر وهمي الذي يقوم بدوره بتحويل الطلبات أو الخدمات التي تريدها من العتاد إلى الدرايفر الحقيقي
تعمل الدرايفرات الوهمية في الوضع User Mode و يمكن الاستفادة منها عن طريق دوال الAPI التي توفرها للبرامج المستفيدة من العتاد.
الفائدة من الدرايفرات الوهمية يمكن تلخيصها في النقاط التالية:
· توحيد عمليات التخاطب بين البرامج المستفيدة و بين الدرايفرات من نفس الفئة.
- خذ كمثال الدرايفر الوهمي الذي يوفر دوال جاهزة للتخاطب مع الكاميرا أيا كان نوعها أو بنية الدرايفر الخاص بها (و هو الذي سنستعمله في باقي الدروس التطبيقية إن شاء الله – الاستفادة من الدوال الجاهزة و الأوامر المحدة بين جميع الدرايفرات الحقيقية التي يوفرها الدرايفر الوهمي- ).
· جعل التخاطب مع الدرايفر الحقيقي من خصوصيات الدرايفر الوهمي، فلا يمكن للمبرمج أن يقوم بعمليات برمجية قد تكون خطيرة على نظام التشغيل.
· الابتعاد قدر الإمكان عن العتاد و تسهيل عملية التخاطب معه من مستويات عالية عن طريق دوال برمجية و أوامر جاهزة (دوال ال Application Programming Interface (API)).

وهذه هي هندسة التخاطب بين العتاد، الدرايفر و التطبيق المستفيد عبر مكتبة الدوال و الأوامر WIA الخاصة بالتخاطب مع أجهزة التقاط الصور (Scanners, Cams…) و التي سنستعمل الدرايفرات الوهمية التي تستعملها هذه المكتبة للتخاطب مع العتاد.

[ATTACH=CONFIG]974[/ATTACH]
الصورة 8. هندسة التخاطب مع عتاد التقاط الصور عن طريق مكتبة ال WIA.
ال WIA(Windows Image Acquisition) هي مكتبة نوع Com توفر للمبرمجين دوال و أوامر جاهزة للاستفادة من العتاد الخاص بالتقاط الصور عن طريق استعمال مستويين مختلفين
الأول: ال Device Manager و هو من يحول الأوامر الخاص بكل نوع من الأجهزة إلى الدرايفر الوهمي الخاص به، مثلا الأمر بطلب التقاط صور من كاميرا يحوله إلى الدرايفر الوهمي الخاص بالكاميرات (camera mini driver) و الذي بدوره يقوم بتحويله إلى الدرايفر الحقيقي.

ب/ محولات الأوامر: لا شك أن الكثير منكم يعرف برنامج الVirtual CD أو مبدأ الطابعات الوهمية التي تستعمل لبناء ملفات PDF.
المبدأ بسيط جدا،
· تنصيب درايفر حقيقي لعتاد وهمي (غير موجود).
· تحويل طلبات البرامج المستفيدة من العتاد الوهمي (مثلا طابعة PDF وهمية) إلى الدرايفر الخاص بهذا العتاد الوهمي و الذي يقوم بدوره بتحويلها إلى برنامج آخر يقوم بالعمليات على البيانات أي أنه يحاكي العتاد (مثلا طباعة النص في ملف PDF) ويسمى هذا البرنامج بالمحاكي Simulator
مثلا عند القيام بعملية طباعة مستند عن طريق طابعة وهمية تستعمل لبناء مستند PDF، فإن البرنامج الذي يقوم بعملية الطباعة يرسل النص المراد طباعته إلى الدرايفر الوهمي الخاص بالتخاطب مع الدرايفرات الحقيقية الخاص بالطبعات و الذي يحوله بدوره إلى الدرايفر الحقيقي الخاص بالطابعة المختارة (الوهمية في حالتنا)، لكن الدرايفر الحقيقي -الخاص بالطابعة الوهمية مثلا- لا يرسل البيانات التي يتلقاها إلى العتاد لأنه غير موجود بل يقوم بتحويلها إلى برنامج آخر يقوم بعمليات على المعطيات المرسلة إليه (مثلا البرنامج الذي يقوم لعملية بناء ملف الPDF عن طريق النص المرسل إليه من المحول).
وهذه هي هندسة التخاطب بهذا النوع من الدرايفرات.

[ATTACH=CONFIG]975[/ATTACH]
الصورة 9. دور البيانات مع محولات الأوامر.


هناك تقسيم آخر حسب طريقة استقبال البيانات و هو برمجي بحت ولم أرد الخوض فيه لأنه جد متقدم و خارج عن نطاق الدورة.
سيكون الدرس القادم أهم درس للتخاطب مع العتاد و سنتوسع إن شاء الله فيه بصورة كبيرة جدا.
و أفتح الباب للأسئلة و أرجو من الجميع المشاركة حتى تعم الفائدة.


الملفات المرفقة صورة/صور
       
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم