ما هو برنامج تشغيل الواجهة؟

برنامج تشغيل الواجهة هو برنامج كمبيوتر صغير ، أو مجموعة من البرامج ، تعمل كحلقة وصل بين برامج الكمبيوتر وأجهزة بطاقة واجهة الشبكة (NIC). يستخدم صانعو ومبرمجو NIC واجهة برمجة تطبيق معينة (API) تُعرف باسم مواصفات واجهة برنامج تشغيل الشبكة (NDIS). وهي تحدد جميع القواعد اللازمة لبرنامج كمبيوتر ، مثل نظام التشغيل ، للتفاعل مع بطاقة واجهة الشبكة (NIC). توجد بالفعل عدة أنواع من برامج تشغيل الواجهة الموصوفة في NDIS ، ولكن في جوهرها ، تتمثل مهمة NDIS الأساسية في الحصول على طبقتين من نموذج ربط الأنظمة المفتوحة (OSI) للتعاون مع بعضها البعض.

يتكون نموذج OSI من سبع طبقات ، بعضها يحتوي على طبقات فرعية متعددة. الطبقة الأولى هي الطبقة المادية ، التي تتعامل مع المواصفات المادية لبطاقة واجهة الشبكة (NIC) مثل دونجل ناقل تسلسلي عالمي (USB) ، وبطاقة إيثرنت ، وبطاقة محول لاسلكي ، وما إلى ذلك. الطبقتان الثانية والثالثة من نموذج OSI هما المكان الذي يحدث فيه سحر NDIS. الطبقة الثانية هي طبقة ارتباط البيانات وتتكون من طبقتين فرعيتين ، يشار إلى الطبقة العلوية باسم التحكم في الارتباط المنطقي (LLC) والطبقة السفلية المسماة بالتحكم في الوصول إلى الوسائط (MAC). يتعامل برنامج تشغيل الجهاز مع طبقة MAC الفرعية ، بينما يتعامل برنامج تشغيل الواجهة مع الطبقة الفرعية LLC ، مما يوفر واجهة بينها وبين الطبقة الثالثة من نموذج OSI ، طبقة الشبكة.

من خلال العمل كوسيط ، تقوم NDIS بشكل أساسي بإغلاق كل التعقيدات المربكة لأجهزة NIC وتوفر مجموعة من الوظائف لتفاعلها مع بروتوكولات الشبكة اللازمة للاتصال. يتعين على المبرمج ببساطة اتباع القواعد المنصوص عليها في NDIS لإنشاء برامج تشغيل الواجهة الفعلية. على مستوى الأجهزة الأدنى ، تُعرف برامج التشغيل هذه باسم برامج تشغيل المنفذ المصغر ، بينما تتم كتابة برامج تشغيل المستوى العلوي باستخدام NDIS API للتعامل مع بروتوكولات الشبكة الأساسية مثل بروتوكول الإنترنت (IP) ، وأمان بروتوكول الإنترنت (IPsec) ، وبروتوكول رسائل التحكم في الإنترنت (ICMP) ، وتبادل حزم الإنترنت (IPX) ، من بين أمور أخرى.

عندما يحدث اتصال الشبكة عبر NIC ، يتم استلام بتات البيانات أولاً بواسطة الجهاز المادي ، ثم من خلال بنية نموذج OSI ، يتم نقل البيانات من الأجهزة إلى طبقات مختلفة من نموذج OSI حتى يتم تقديمها بتنسيق أكثر يسهل على المستخدم فهمها. وبالتالي ، توفر كل طبقة من النموذج خدمات لجيرانها. تترك البيانات الطبقة الأولى ، الطبقة المادية ، وتضرب MAC للطبقة الفرعية السفلية في الطبقة الثانية ، حيث يمررها برنامج تشغيل الجهاز إلى LLC. تقوم برامج تشغيل بروتوكول LLC بنقلها إلى طبقة الشبكة.

نوع آخر من برامج تشغيل الواجهة هو المحرك الوسيط ، الذي يعمل كشيء من السكن ، يحتوي على واجهات لكل من برامج تشغيل المنفذ المصغر وبرامج تشغيل بروتوكول الشبكة. يمكن بعد ذلك ربط برامج التشغيل الوسيطة هذه ببعضها البعض وتوفير القدرة لمحرك الواجهة على التحكم في حركة المرور التي يتلقاها NIC. تعد المحركات الوسيطة مفيدة للعديد من الاحتياجات ، مثل تصفية البيانات وموازنة الحمل ومراقبة حركة مرور الشبكة وجمع المعلومات الإحصائية. كما أنها تعمل بشكل جيد كمترجم بين سائقي النقل الأقدم وسائق منفذ صغير يتحدث إلى تنسيق وسائط لا يمكن للسائق الأكبر سناً فهمه.
تم تصميم NDIS في الأصل بواسطة Microsoft ، حيث تعمل جنبًا إلى جنب مع 3Com® ، لذلك يكتب العديد من صانعي الأجهزة برامج التشغيل الخاصة بهم لدعم أنظمة تشغيل Microsoft® أولاً. نتيجة لذلك ، يقتصر NDIS على معماريات أجهزة الكمبيوتر بناءً على عائلة Intel® 80386 من معالجات 32 بت أو 64 بت. طورت حركة البرمجيات الحرة أيضًا برنامجًا يسمى NDISWrapper قادرًا على تحميل برامج تشغيل الواجهة التي تم تطويرها في الأصل لـ Microsoft® Windows® للاستخدام مع أنظمة تشغيل مجانية تشبه Unix® مثل Linux®. وجد مستخدمو المشتقات المجانية لتوزيعات Berkley Software Distributions (BSD) ، مثل FreeBSD® و NetBSD® ، أيضًا القدرة على استخدام برامج تشغيل واجهة Windows® من خلال استخدام برنامج تم تطويره بواسطة مشروع يُعرف باسم Project Evil. أدت قيود أجهزة x86 الخاصة بـ NDIS إلى مشروع آخر ، تم تطويره بواسطة Apple و Novell® ، يسمى واجهة ارتباط البيانات المفتوحة (ODI) ، والتي قدمت الكثير من نفس القواعد والوظائف مثل NDIS ولكن مع التركيز على Apple® Macintosh &؛ وأنظمة Novell NetWare®.