برنامج تشغيل الجهاز
| أنظمة التشغيل |
|---|
| الميزات المشتركة |
|
في سياق نظام التشغيل ، يُعد برنامج تشغيل الجهاز برنامج كمبيوتر يعمل أو يتحكم في نوع معين من الأجهزة المتصلة بجهاز كمبيوتر أو آلة أوتوماتيكية . [1] يوفر برنامج التشغيل واجهة برمجية لأجهزة الكمبيوتر ، مما يتيح لأنظمة التشغيل وبرامج الكمبيوتر الأخرى الوصول إلى وظائف الأجهزة دون الحاجة إلى معرفة تفاصيل دقيقة حول الأجهزة المستخدمة.
يتواصل برنامج التشغيل مع الجهاز من خلال ناقل الكمبيوتر أو نظام الاتصالات الفرعي الذي يتصل به الجهاز. عندما يستدعي برنامج الاتصال روتينًا في برنامج التشغيل، يصدر برنامج التشغيل أوامر للجهاز (يقوده). بمجرد أن يرسل الجهاز البيانات مرة أخرى إلى برنامج التشغيل، قد يستدعي برنامج التشغيل الروتينات في برنامج الاتصال الأصلي.
تعتمد برامج التشغيل على الأجهزة وتعتمد على نظام التشغيل. وعادةً ما توفر معالجة المقاطعات المطلوبة لأي واجهة أجهزة غير متزامنة تعتمد على الوقت. [2]
غاية
الغرض الرئيسي من برامج تشغيل الأجهزة هو توفير التجريد من خلال العمل كمترجم بين جهاز مادي والتطبيقات أو أنظمة التشغيل التي تستخدمه. [1] يمكن للمبرمجين كتابة كود تطبيق عالي المستوى بشكل مستقل عن أي جهاز مادي يستخدمه المستخدم النهائي. على سبيل المثال، قد يكون لتطبيق عالي المستوى للتفاعل مع منفذ تسلسلي وظيفتان ببساطة "لإرسال البيانات" و"استقبال البيانات". على مستوى أدنى، سيتواصل برنامج تشغيل الجهاز الذي ينفذ هذه الوظائف مع وحدة تحكم المنفذ التسلسلي المحددة المثبتة على كمبيوتر المستخدم. تختلف الأوامر اللازمة للتحكم في UART 16550 كثيرًا عن الأوامر اللازمة للتحكم في محول المنفذ التسلسلي FTDI ، لكن كل برنامج تشغيل جهاز محدد للأجهزة يلخص هذه التفاصيل في نفس واجهة البرنامج (أو واجهة مشابهة).
تطوير
تتطلب كتابة برنامج تشغيل الجهاز فهمًا عميقًا لكيفية عمل الأجهزة والبرامج لوظيفة منصة معينة . نظرًا لأن برامج التشغيل تتطلب وصولاً منخفض المستوى إلى وظائف الأجهزة من أجل التشغيل، فإن برامج التشغيل تعمل عادةً في بيئة عالية الامتيازات ويمكن أن تتسبب في حدوث مشكلات تشغيلية للنظام إذا حدث خطأ ما. على النقيض من ذلك، يمكن إيقاف معظم برامج مستوى المستخدم على أنظمة التشغيل الحديثة دون التأثير بشكل كبير على بقية النظام. حتى برامج التشغيل التي يتم تنفيذها في وضع المستخدم يمكن أن تتسبب في تعطل النظام إذا تمت برمجة الجهاز بشكل خاطئ . تجعل هذه العوامل من الصعب والخطير تشخيص المشكلات. [3]
تقع مهمة كتابة برامج التشغيل عادةً على عاتق مهندسي البرمجيات أو مهندسي الكمبيوتر الذين يعملون في شركات تطوير الأجهزة. وذلك لأنهم يمتلكون معلومات أفضل من معظم الغرباء حول تصميم أجهزتهم. وعلاوة على ذلك، كان من المعتاد أن يُنظر إلى ضمان قدرة عملائهم على استخدام أجهزتهم بالطريقة المثلى على أنه من مصلحة الشركة المصنعة للأجهزة. عادةً، يكتب بائع نظام التشغيل برنامج تشغيل الجهاز المنطقي (LDD)، بينما ينفذ بائع الجهاز برنامج تشغيل الجهاز المادي (PDD). ومع ذلك، في السنوات الأخيرة، كتبت شركات غير بائعة العديد من برامج تشغيل الأجهزة لأجهزة خاصة، بشكل أساسي للاستخدام مع أنظمة التشغيل المجانية والمفتوحة المصدر . في مثل هذه الحالات، من المهم أن تقدم الشركة المصنعة للأجهزة معلومات حول كيفية اتصال الجهاز. وعلى الرغم من أنه يمكن بدلاً من ذلك تعلم هذه المعلومات عن طريق الهندسة العكسية ، إلا أن هذا أصعب بكثير مع الأجهزة مقارنة بالبرمجيات.
حاولت شركة Microsoft الحد من عدم استقرار النظام بسبب برامج تشغيل الأجهزة المكتوبة بشكل سيئ من خلال إنشاء إطار عمل جديد لتطوير برامج التشغيل، يُسمى Windows Driver Frameworks (WDF). ويتضمن هذا إطار عمل برنامج التشغيل في وضع المستخدم (UMDF) الذي يشجع على تطوير أنواع معينة من برامج التشغيل—في المقام الأول تلك التي تنفذ بروتوكولاً قائمًا على الرسائل للتواصل مع أجهزتها—كبرامج تشغيل في وضع المستخدم. إذا تعطلت مثل هذه البرامج، فإنها لا تتسبب في عدم استقرار النظام. يستمر نموذج إطار عمل برنامج التشغيل في وضع النواة (KMDF) في السماح بتطوير برامج تشغيل الأجهزة في وضع النواة، ولكنه يحاول توفير تنفيذات قياسية للوظائف المعروفة بأنها تسبب مشكلات، بما في ذلك إلغاء عمليات الإدخال/الإخراج وإدارة الطاقة ودعم الأجهزة التي تعمل بنظام التوصيل والتشغيل.
لدى Apple إطار عمل مفتوح المصدر لتطوير برامج التشغيل على macOS ، يسمى I/O Kit.
في بيئات Linux ، يمكن للمبرمجين إنشاء برامج تشغيل الأجهزة كجزء من النواة ، أو بشكل منفصل كوحدات قابلة للتحميل ، أو كبرامج تشغيل في وضع المستخدم (لأنواع معينة من الأجهزة حيث توجد واجهات النواة، مثل أجهزة USB). يتضمن Makedev قائمة بالأجهزة في Linux، بما في ذلك ttyS (الطرفية)، وlp ( المنفذ الموازي )، وhd (القرص)، والحلقة، والصوت (تتضمن هذه الخلاط ، والمُسلسل ، ومعالج الإشارات الرقمية ، والصوت). [4]
يمكن أن تحتوي ملفات Microsoft Windows .sys وملفات Linux .ko على برامج تشغيل أجهزة قابلة للتحميل. تتمثل ميزة برامج تشغيل الأجهزة القابلة للتحميل في إمكانية تحميلها فقط عند الضرورة ثم إلغاء تحميلها، وبالتالي توفير ذاكرة kernel.
مستويات الامتياز
اعتمادًا على نظام التشغيل، قد يُسمح لبرامج تشغيل الأجهزة بالعمل عند مستويات امتياز مختلفة . يتم تحديد مستوى الامتياز الذي تتمتع به برامج التشغيل إلى حد كبير من خلال نوع النواة التي يستخدمها نظام التشغيل. عادةً ما يقوم نظام التشغيل الذي يستخدم نواة متجانسة ، مثل نواة Linux ، بتشغيل برامج تشغيل الأجهزة بنفس الامتياز مثل جميع كائنات النواة الأخرى. على النقيض من ذلك، فإن النظام المصمم حول النواة الصغيرة ، مثل Minix ، سيضع برامج التشغيل كعمليات مستقلة عن النواة ولكنها تستخدمها لوظائف الإدخال والإخراج الأساسية وتمرير الرسائل بين برامج المستخدم وبعضها البعض. [5] في Windows NT ، وهو نظام به نواة هجينة ، من الشائع أن تعمل برامج تشغيل الأجهزة إما في وضع النواة أو وضع المستخدم . [6]
الآلية الأكثر شيوعًا لفصل الذاكرة إلى مستويات امتياز مختلفة هي من خلال حلقات الحماية . في العديد من الأنظمة، مثل تلك التي تحتوي على معالجات x86 و ARM ، يفرض التبديل بين الحلقات عقوبة على الأداء، وهو عامل يأخذه مطورو أنظمة التشغيل ومهندسو البرامج المضمنة في الاعتبار عند إنشاء برامج تشغيل للأجهزة التي يفضل تشغيلها بزمن انتقال منخفض، مثل بطاقات واجهة الشبكة . الفائدة الأساسية لتشغيل برنامج تشغيل في وضع المستخدم هي تحسين الاستقرار، حيث لا يمكن لبرنامج تشغيل جهاز وضع المستخدم المكتوب بشكل سيئ أن يتسبب في تعطل النظام عن طريق الكتابة فوق ذاكرة النواة. [7]
التطبيقات
بسبب تنوع [تحديث]الأجهزة الحديثة وأنظمة التشغيل، تعمل برامج التشغيل في العديد من البيئات المختلفة. [8] قد تتفاعل برامج التشغيل مع:
- الطابعات
- محولات الفيديو
- بطاقات الشبكة
- بطاقات الصوت
- شرائح الكمبيوتر الشخصي
- الحافلات المحلية من مختلف الأنواع - على وجه الخصوص، لإتقان الحافلات على الأنظمة الحديثة
- حافلات الإدخال/الإخراج ذات النطاق الترددي المنخفض من أنواع مختلفة ( لأجهزة الإشارة مثل الفئران ولوحات المفاتيح وما إلى ذلك)
- أجهزة تخزين الكمبيوتر مثل محركات الأقراص الصلبة ، والأقراص المضغوطة ، والأقراص المرنة ( ATA ، SATA ، SCSI ، SAS )
- تنفيذ الدعم لأنظمة الملفات المختلفة
- ماسحات الصور
- الكاميرات الرقمية
- موالفات التلفزيون الأرضي الرقمي
- محولات إرسال واستقبال اتصالات التردد اللاسلكي للشبكات الشخصية اللاسلكية المستخدمة في الاتصالات اللاسلكية قصيرة المدى ومنخفضة السرعة في أتمتة المنزل، (مثل Bluetooth Low Energy (BLE) و Thread و Zigbee و Z-Wave ).
- محولات الأشعة تحت الحمراء
تتضمن مستويات التجريد الشائعة لبرامج تشغيل الأجهزة ما يلي:
- بالنسبة للأجهزة:
- التفاعل المباشر
- الكتابة إلى سجل التحكم في الجهاز أو القراءة منه
- استخدام بعض الواجهات ذات المستوى الأعلى (على سبيل المثال Video BIOS )
- استخدام برنامج تشغيل جهاز آخر بمستوى أقل (على سبيل المثال، برامج تشغيل نظام الملفات باستخدام برامج تشغيل القرص)
- محاكاة العمل باستخدام الأجهزة، أثناء القيام بشيء مختلف تمامًا [9]
- بالنسبة للبرمجيات:
- السماح لنظام التشغيل بالوصول المباشر إلى موارد الأجهزة
- تنفيذ العناصر البدائية فقط
- تنفيذ واجهة للبرامج غير المرتبطة بالتشغيل (على سبيل المثال TWAIN )
- تنفيذ لغة، في بعض الأحيان تكون عالية المستوى (على سبيل المثال PostScript )
لذا فإن اختيار وتثبيت برامج التشغيل الصحيحة للأجهزة المحددة غالبًا ما يكون مكونًا أساسيًا لتكوين نظام الكمبيوتر. [10]
برامج تشغيل الأجهزة الافتراضية
تمثل برامج تشغيل الأجهزة الافتراضية نوعًا معينًا من برامج تشغيل الأجهزة. تُستخدم لمحاكاة جهاز مادي، وخاصة في بيئات المحاكاة الافتراضية ، على سبيل المثال عند تشغيل برنامج DOS على كمبيوتر يعمل بنظام Microsoft Windows أو عند تشغيل نظام تشغيل ضيف على مضيف Xen على سبيل المثال . بدلاً من تمكين نظام التشغيل الضيف من الحوار مع الأجهزة، تلعب برامج تشغيل الأجهزة الافتراضية دورًا معاكسًا وتحاكي قطعة من الأجهزة، بحيث يمكن لنظام التشغيل الضيف وبرامج التشغيل الخاصة به التي تعمل داخل آلة افتراضية أن يكون لها وهم الوصول إلى الأجهزة الحقيقية. يتم توجيه محاولات نظام التشغيل الضيف للوصول إلى الأجهزة إلى برنامج تشغيل الجهاز الظاهري في نظام التشغيل المضيف على سبيل المثال، استدعاءات الوظائف . يمكن لبرنامج تشغيل الجهاز الظاهري أيضًا إرسال أحداث محاكاة على مستوى المعالج مثل المقاطعات إلى الآلة الافتراضية.
يمكن للأجهزة الافتراضية أيضًا أن تعمل في بيئة غير افتراضية. على سبيل المثال، يتم استخدام محول شبكة افتراضي مع شبكة خاصة افتراضية ، بينما يتم استخدام جهاز قرص افتراضي مع iSCSI . يمكن أن يكون Daemon Tools مثالاً جيدًا لبرامج تشغيل الأجهزة الافتراضية .
هناك عدة أنواع من برامج تشغيل الأجهزة الافتراضية، مثل VxDs ، و VLMs ، وVDDs.
برامج تشغيل مفتوحة المصدر
- برنامج تشغيل جهاز الرسوميات
- الطابعات: CUPS
- RAIDs: CCISS [11] (واجهة أوامر Compaq لدعم SCSI-3 [12] )
- الماسحات الضوئية: SANE
- فيديو: Vidix ، البنية التحتية للعرض المباشر
أوصاف Solaris لبرامج تشغيل الأجهزة المستخدمة بشكل شائع:
- fas: وحدة تحكم SCSI سريعة/واسعة النطاق
- hme: إيثرنت سريع (10/100 ميجابت/ثانية)
- isp: وحدات التحكم SCSI التفاضلية وبطاقة SunSwift
- glm: (وحدة Gigabaud Link [13] ) وحدات تحكم UltraSCSI
- SCSI: أجهزة واجهة تسلسلية صغيرة للكمبيوتر (SCSI)
- sf: soc+ أو حلقة تحكيم قناة الألياف الاجتماعية (FCAL)
- soc: وحدات التحكم في مجموعة تخزين SPARC (SSA) وجهاز التحكم
- اجتماعي: وحدات تحكم بصرية تسلسلية لـ FCAL (soc+)
واجهات برمجة التطبيقات
- نموذج برنامج تشغيل عرض Windows (WDDM) – بنية برنامج تشغيل العرض الرسومي لنظام التشغيل Windows Vista والإصدارات الأحدث.
- نموذج الصوت الموحد (UAM) [14]
- مؤسسة برامج تشغيل Windows (WDF)
- مكونات الأجهزة المعلنة (DCH) - برنامج تشغيل منصة Windows العالمية [15]
- نموذج برنامج تشغيل Windows (WDM)
- مواصفات واجهة برنامج تشغيل الشبكة (NDIS) – واجهة برمجة تطبيقات قياسية لبرنامج تشغيل بطاقة الشبكة
- هندسة الصوت المتقدمة لنظام Linux (ALSA) – واجهة برنامج تشغيل الصوت القياسية لنظام Linux
- Scanner Access Now Easy (SANE) – واجهة عامة للأجهزة الماسحة الضوئية للصور النقطية
- نظام الملفات القابل للتثبيت (IFS) – واجهة برمجة تطبيقات نظام الملفات لنظام IBM OS/2 وMicrosoft Windows NT
- واجهة ربط البيانات المفتوحة (ODI) – واجهة برمجة تطبيقات بطاقة الشبكة المشابهة لـ NDIS
- واجهة برنامج التشغيل الموحدة (UDI) – مشروع واجهة برنامج تشغيل متعدد الأنظمة الأساسية
- إطار عمل برنامج التشغيل Dynax (dxd) – إطار عمل مفتوح المصدر متعدد الأنظمة الأساسية بلغة C++ لـ KMDF وIOKit [16]
المعرفات
يتم تحديد الجهاز الموجود على ناقل PCI أو USB من خلال معرفين يتكون كل منهما من بايتين . يحدد معرف البائع بائع الجهاز. يحدد معرف الجهاز جهازًا معينًا من هذا المصنع/البائع.
غالبًا ما يحتوي جهاز PCI على زوج معرف للشريحة الرئيسية للجهاز، بالإضافة إلى زوج معرف النظام الفرعي الذي يحدد البائع، والذي قد يكون مختلفًا عن الشركة المصنعة للشريحة.
حماية
غالبًا ما تحتوي الأجهزة على عدد كبير من برامج التشغيل المتنوعة والمخصصة التي تعمل في نواة نظام التشغيل (OS) الخاص بها وغالبًا ما تحتوي على العديد من الأخطاء والثغرات الأمنية ، مما يجعلها هدفًا للاستغلال . [17] يستخدم Bring Your Own Vulnerable Driver (BYOVD) برامج تشغيل قديمة وموقعة تحتوي على عيوب تسمح للمتسللين بإدراج تعليمات برمجية ضارة في نواة النظام. [18]
هناك نقص في أدوات الكشف عن نقاط الضعف في النواة، وخاصة بالنسبة لأنظمة التشغيل ذات المصدر المغلق مثل Microsoft Windows [19] حيث لا يكون الكود المصدري لبرامج تشغيل الأجهزة عامًا في الغالب (مفتوح المصدر) [20] وغالبًا ما تتمتع برامج التشغيل أيضًا بالعديد من الامتيازات. [21] [22] [23] [24]
توجد مثل هذه الثغرات الأمنية أيضًا في برامج التشغيل في أجهزة الكمبيوتر المحمولة، [25] وبرامج التشغيل الخاصة بشبكات WiFi والبلوتوث، [26] [27] وبرامج تشغيل الألعاب/الرسومات، [28] وبرامج التشغيل في الطابعات. [29]
تعتبر مجموعة من الباحثين الأمنيين أن الافتقار إلى العزل هو أحد العوامل الرئيسية التي تقوض أمان النواة ، [30] ونشروا إطار عمل للعزل لحماية أنوية نظام التشغيل، وخاصة نواة لينكس المتجانسة والتي، وفقًا لهم، تحصل على حوالي 80000 عملية التزام / سنة لبرامج التشغيل الخاصة بها. [31] [32]
من الاعتبارات المهمة في تصميم النواة هو الدعم الذي توفره للحماية من الأخطاء ( التسامح مع الأخطاء ) ومن السلوكيات الضارة ( الأمان ). عادةً لا يتم التمييز بين هذين الجانبين بوضوح، ويؤدي تبني هذا التمييز في تصميم النواة إلى رفض الهيكل الهرمي للحماية . [33]
يمكن تصنيف الآليات أو السياسات التي توفرها النواة وفقًا لعدة معايير، بما في ذلك: ثابتة (يتم فرضها في وقت التجميع ) أو ديناميكية (يتم فرضها في وقت التشغيل )؛ وقائية أو اكتشاف لاحق؛ وفقًا لمبادئ الحماية التي تلبيها (على سبيل المثال، Denning [34] [35] )؛ سواء كانت مدعومة بالأجهزة أو تعتمد على اللغة؛ سواء كانت آلية مفتوحة أكثر أو سياسة ملزمة؛ وغير ذلك الكثير.انظر أيضا
مراجع
- ^ ab "ما هو برنامج تشغيل الجهاز؟". WhatIs.com . TechTarget. مؤرشف من الأصل في 13 فبراير 2021 . تم الاسترجاع 19 مارس 2018 .
- ^ خدمات التعليم EMC (2010). تخزين المعلومات وإدارتها: تخزين المعلومات الرقمية وإدارتها وحمايتها. جون وايلي وأولاده. رقم ISBN 9780470618332. تم أرشفة النسخة الأصلية في 2021-02-13 . تم استرجاعها في 2020-11-10 .
- ^ بيرك، تيموثي (1995). كتابة برامج تشغيل الأجهزة: البرنامج التعليمي والمرجع. ديجيتال بريس. رقم ISBN 9781555581411. تم أرشفة النسخة الأصلية في 2021-01-26 . تم استرجاعها في 2016-08-05 .
- ^ "MAKEDEV — Linux Command — Unix Command". Linux.about.com. 2009-09-11. مؤرشف من الأصل في 2009-04-30 . تم الاسترجاع في 2009-09-17 .
- ^ تانينباوم، أندرو؛ وودهول، ألبرت (2006). أنظمة التشغيل، التصميم والتنفيذ (الطبعة الثالثة). أبر سادل ريفر، نيوجيرسي: بيرسون بريتنس هول. ص. 256. ISBN 0-13-142938-8.
- ^ Yosifovich, Pavel; Ionescu, Alex; Russinovich, Mark; Solomon, David (2017). Windows Internals, Part 1 (Seventh ed.). Redmond, Washington: Microsoft Press. ISBN 978-0-7356-8418-8.
- ^ "مقدمة إلى إطار عمل برنامج التشغيل في وضع المستخدم (UMDF)". Microsoft . 2006-10-10. مؤرشف من الأصل في 2010-01-07 . تم الاسترجاع في 2008-03-04 .
- ^ ديبورا مورلي (2009). فهم أجهزة الكمبيوتر 2009: اليوم والغد. Cengage Learning. ISBN 9780324830132. تم أرشفة النسخة الأصلية في 2021-06-09 . تم استرجاعها في 2020-11-10 .
- ^ الأجهزة الطرفية والواجهات الحاسوبية. المنشورات الفنية، بوني. يناير 2008. ص 5-8. ISBN 978-8184314748. تم الاسترجاع بتاريخ 2016-05-03 .[ رابط ميت دائم ]
- ^ "ما هي برامج تشغيل الأجهزة ولماذا نحتاج إليها؟". drivers.com . 17 أبريل 2015. مؤرشف من الأصل في 20 نوفمبر 2016 . تم الاسترجاع 19 مارس 2018 .
- ^ "CCISS". SourceForge . 2010. مؤرشف من الأصل في 2010-08-21 . تم الاسترجاع في 2010-08-11 .
برامج تشغيل لوحدات التحكم HP (Compaq سابقًا) Smart Array التي توفر إمكانية RAID للأجهزة.
- ^ راسل، ستيف؛ وآخرون. (2003-10-21). الاختصارات والكلمات الأولية. منظمة الدعم الفني الدولية لشركة آي بي إم. ص. 207. رقم ISBN 0-7384-2684-9. تم الاسترجاع بتاريخ 2011-08-14 .
{{cite book}}:|work=تم تجاهله ( مساعدة ) [ رابط معطل دائم ] - ^ "براءة اختراع أمريكية رقم 5969841 - وحدة ارتباط جيجابود مع إشارة اكتشاف الطاقة المستقبلة". PatentStorm LLC. مؤرشف من الأصل في 2011-06-12 . تم استرجاعه في 2009-09-08 .
تم توفير وحدة ارتباط جيجابود (GLM) محسنة لإجراء عمليات نقل بيانات ثنائية الاتجاه بين جهاز مضيف ووسيلة نقل تسلسلية.
- ^ "Unified Audio Model (Windows CE 5.0)". شبكة مطوري Microsoft . مؤرشف من الأصل في 2017-06-22 . تم الاسترجاع في 2016-09-19 .
- ^ Dell US. "ما هي برامج تشغيل DCH ولماذا تحتاج إلى معرفتها؟ | Dell US". www.dell.com . تم الاسترجاع في 2020-10-29 .
- ^ "dxd - dynax driver framework: Main Page". dxd.dynax.at . مؤرشف من الأصل في 2016-05-29 . تم الاسترجاع في 2016-09-19 .
- ^ طالبي، سيد محمد جواد سيد؛ توكلي، حامد؛ تشانغ، هانج؛ تشانغ، تشنغ؛ ساني، أردالان أميري؛ تشيان، تشيون (2018). السحر: تسهيل التحليل الديناميكي لبرامج تشغيل الأجهزة للأنظمة المحمولة. ص 291-307. ISBN 9781939133045. مؤرشف من الأصل في 5 نوفمبر 2022 . استرجاع 5 نوفمبر 2022 .
- ^ Goodin, Dan (14 أكتوبر 2022). "كيف تسبب خطأ ارتكبته شركة Microsoft في تعرض ملايين أجهزة الكمبيوتر لهجمات قوية من البرامج الضارة". Ars Technica . مؤرشف من الأصل في 8 نوفمبر 2022 . تم الاسترجاع في 8 نوفمبر 2022 .
- ^ بان، جيانفينج؛ يان، قوانجلو؛ فان، شياوكاو (2017). Digtool: إطار عمل {يعتمد على المحاكاة الافتراضية} للكشف عن نقاط ضعف النواة. ص 149-165. ISBN 9781931971409تم الاسترجاع بتاريخ 5 نوفمبر 2022 .
- ^ King, Bertel (18 يونيو 2022). "برامج تشغيل الأجهزة ذات المصدر المغلق مقابل برامج تشغيل الأجهزة ذات المصدر المفتوح: لماذا هذا مهم". MUO . مؤرشف من الأصل في 5 نوفمبر 2022 . تم الاسترجاع 5 نوفمبر 2022 .
- ^ برانسكومب، ماري (7 أبريل 2022). "كيف تحظر مايكروسوفت برامج التشغيل الضعيفة والخبيثة في Defender وأدوات الأمان التابعة لجهات خارجية وفي Windows 11". TechRepublic . مؤرشف من الأصل في 5 نوفمبر 2022 . تم الاسترجاع في 5 نوفمبر 2022 .
- ^ Goodin, Dan (5 أكتوبر 2022). "لا يوجد حل في الأفق لثغرة أمنية واسعة النطاق تبتلي نظام دفاع رئيسي في Windows لسنوات". Ars Technica . مؤرشف من الأصل في 5 نوفمبر 2022 . تم الاسترجاع في 5 نوفمبر 2022 .
- ^ دافنبورت، كوربين. "هجمات "إحضار برنامج التشغيل الخاص بك المعرض للخطر" تؤدي إلى تحطيم نظام التشغيل Windows". How-To Geek . مؤرشف من الأصل في 5 نوفمبر 2022 . تم الاسترجاع في 5 نوفمبر 2022 .
- ^ "تنبيه أمني لنظام التشغيل Windows 10: تم العثور على ثغرات أمنية في أكثر من 40 برنامج تشغيل". BleepingComputer . مؤرشف من الأصل في 5 نوفمبر 2022 . تم الاسترجاع في 5 نوفمبر 2022 .
- ^ Goodin, Dan (13 يوليو 2022). "الثغرات الأمنية التي قد تسمح بإصابات غير قابلة للكشف تؤثر على 70 طرازًا من أجهزة الكمبيوتر المحمولة من Lenovo". Ars Technica . مؤرشف من الأصل في 5 نوفمبر 2022 . تم الاسترجاع في 5 نوفمبر 2022 .
- ^ ريدلي، جاكوب (9 فبراير 2022). "ستحتاج إلى تحديث برامج تشغيل Wi-Fi وBluetooth اليوم". PC Gamer . مؤرشف من الأصل في 5 نوفمبر 2022 . تم الاسترجاع 5 نوفمبر 2022 .
- ^ "هجمات 'BlueBorne' اللاسلكية تستهدف مليارات الأجهزة المزودة بتقنية البلوتوث". threatpost.com . مؤرشف من الأصل في 5 نوفمبر 2022 . تم الاسترجاع في 5 نوفمبر 2022 .
- ^ Spadafora, Anthony (12 يناير 2022). "قد يؤدي تثبيت برامج تشغيل الألعاب إلى تعريض جهاز الكمبيوتر الخاص بك للهجمات الإلكترونية". TechRadar . مؤرشف من الأصل في 5 نوفمبر 2022 . تم الاسترجاع 5 نوفمبر 2022 .
- ^ "HP تصلح ثغرة أمنية خطيرة كانت موجودة في الطابعات لمدة 16 عامًا". ZDNET . مؤرشف من الأصل في 5 نوفمبر 2022 . تم الاسترجاع في 5 نوفمبر 2022 .
- ^ "عزل النواة الدقيقة". mars-research.github.io . مؤرشف من الأصل في 15 سبتمبر 2022 . تم الاسترجاع 15 سبتمبر 2022 .
- ^ Fetzer, Mary. "العزل التلقائي لبرنامج تشغيل الجهاز يحمي من الأخطاء في أنظمة التشغيل". جامعة ولاية بنسلفانيا عبر techxplore.com . مؤرشف من الأصل في 15 سبتمبر 2022 . تم الاسترجاع في 15 سبتمبر 2022 .
- ^ هوانغ، يونغزي؛ نارايانان، فيكرام؛ ديتويلر، ديفيد؛ هوانغ، كايمينغ؛ تان، جانج؛ جايجر، ترينت؛ بورتسيف، أنطون (2022). "KSplit: أتمتة عزل برامج تشغيل الأجهزة" (PDF) . مؤرشف من الأصل (PDF) في 15 سبتمبر 2022. تم الاسترجاع في 15 سبتمبر 2022 .
- ^ وولف 1974 ص 337-345
- ^ دينينج 1976
- ^ سويفت 2005، ص 29 اقتباس: "العزل، والتحكم في الموارد، والتحقق من القرار (الفحص)، واستعادة الخطأ".
روابط خارجية
- مركز تطوير الأجهزة لنظام التشغيل Windows
- قوائم توافق الأجهزة وبرامج التشغيل لنظام Linux
- فهم برامج تشغيل الأجهزة الحديثة (لينكس)
- BinaryDriverHowto، أوبونتو.
- مصدر برامج تشغيل Linux

