تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
دورة منفذ الطابعة: الدرس الرابع-برمجة منافذ الكومبيوتر
#1
بسم الله الرحمن الرحيم .


السلام عليكم ورحمة الله وبركاته .

كنا في الدرس السابق قد تعلمنا كيفية كتابة الكود ، في هذا الدرس سنتعلم كيف يتم تنفيذ هذه الأوامر فعلياً قبل أن ننطلق في الدرس القادم في عالم الهاردوير .

يتم التعامل مع المنافذ في الكومبيوتر أو مع الهاردوير عموماً مروراً بأربعة مراحل :

1- Device Driver : وهو عبارة عن برنامج خاص بالتعامل مع هاردوير معين يتم انتاجه من قبل الشركة المصنعة لهذا الجهاز ، حيث أن الشركة المصنعة للطابعة تقوم مثلاً بعمل البرنامج الخاص بالطابعة بحيث يحتوي على مجموعة من الأوامر مثل : Print Page ، Print Pages ... الخ ، حيث يقوم المبرمج أو نظام التشغيل بالتعامل مع هذه الأوامر فقط دون الدخول في تفاصيل كيفية عمل هذه الأوامر والتي تهتم بها فقط الشركة المصنعة .

2- Operating System : في اصدارات قديمة من نظام التشغيل Windows كان يمكن للمبرمج التعامل مباشرة مع منافذ الكومبيوتر أو تحديداً مع ال Device Driver مباشرة ، وكان هذا في DOS و Window 9x حيث كان الموضوع يقتر على مجموعة من ال API's للتعامل مباشرة ، ولكن بعد هجوم CIH عام 98 الشهير بدأت نظم التشغيل تحمي الهاردوير عن طريق عدم السماح لأي شخص بالتعامل معه مباشرة .
مع الاصدارت التالية تم فقط تعريف نظامين للتعامل مع الهاردوير ، 0 و 3 ، حيث يقوم المبرمج بالعمل في 3 في حين يعمل الهاردوير وال Kernel في ال 0 أو ما يعرف باسم الحلقة 0 - ring 0 - حيث لا يمكن للمستخدم الوصول مباشرة إلى الهاردوير إلا عن طريق kernel وهو المرحلة الثالثة من عملنا .

3- Kernel Mode Driver : وهو برنامج مخصص يمكنه نقل البيانات من وإلى ال Device Driver ، ويتم استخدامه في نظم التشغيل التي لا تسمح بالوصول المباشر إلى الهاردوير .

أشهر أنواع ال KMD كمبرمج ويندوز هي inpout32.dll - ارفقناها في الدرس السابق- والتي تحتوي على جزء منها Kernel Mode Driver والجزء الآخر خاص بدول API العادية التي تحتويها المكتبة .

4- Programming : المرحلة الأخيرة من هذه العملية ، حيث يتم من خلالها عمل البرنامج الخاص بالتعامل مع المستخدم من جهة ومع الهاردوير من جهة أخرى ، لن تفرق لغات البرمجة كثيراً في هذه النقطة ، في الدرس السابق شرحنا كيفية التعامل من خلال C#,VB.net وفيجوال بيسك 6 ، هنا نضيف انه في ال Java سوف نستخدم Javax.comm.parallelport ، في ال PHP سوف نستخدم إحدى السيرفس والتي تسمى lptout ،بخصوص C++ فهي مثلها مثل C# تحت الويندوز ، أما C++ في نظام التشغيل لينوكس فسوف نستخدم ioperm الموجودة في <asm/io.h> .

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

والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
يا عالما بحالي 
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تطبيق : تشغيل الأجهزة الكهربائية من خلال الكومبيوتر - دورة منفذ الطابعة Ahmad Jawad 2 4,570 17-12-12, 05:05 AM
آخر رد: جمال موسي
  سلسلة دروس التحكم بالأجهزة الخارجية عن طريق منفذ الطابعة - الجزء الأول : مقدمة Ahmad Jawad 1 2,096 17-12-12, 01:39 AM
آخر رد: جمال موسي
  دورة التحكم : قيادة عربة ريموت كنترول من خلال الكومبيوتر Ahmad Jawad 8 1,444 25-10-12, 02:59 PM
آخر رد: Mido9
  دروة التحكم بمنفذ الطابعة : انتهاء الدروس النظرية والبدء بالتطبيق Ahmad Jawad 1 1,130 23-09-12, 01:36 PM
آخر رد: m.sami.ak
  دورة منفذ الطابعة: الدرس الخامس-مدخل إلى الهاردوير - الجزء الأول Ahmad Jawad 1 1,845 23-09-12, 01:34 PM
آخر رد: m.sami.ak
  الدرس الأخير : مقدمة إلى عالم الروبوتات Ahmad Jawad 2 1,383 22-09-12, 10:40 AM
آخر رد: Ahmad Jawad
  دورة منفذ الطابعة: الدرس الثامن - وسائل المعالجة Ahmad Jawad 0 919 22-09-12, 09:53 AM
آخر رد: Ahmad Jawad
  دورة منفذ الطابعة: الدرس السابع-مدخل إلى الهاردوير - الجزء الثالث Ahmad Jawad 0 1,612 22-09-12, 09:45 AM
آخر رد: Ahmad Jawad
  دورة منفذ الطابعة: الدرس السادس-مدخل إلى الهاردوير - الجزء الثاني Ahmad Jawad 0 975 22-09-12, 09:29 AM
آخر رد: Ahmad Jawad
  دورة منفذ الطابعة:الدرس الثالث-منفذ الطباعة Parallel Port وطريقة التعامل معه بالتفصيل Ahmad Jawad 0 3,071 22-09-12, 09:08 AM
آخر رد: Ahmad Jawad

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


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