ما هي الأجهزة التي تحتاج السائقين. كيف أعرف برنامج تشغيل الصوت الذي أحتاجه

إذا قمت بتجميع جهاز الكمبيوتر الخاص بك بنفسك ، وشراء مكونات له بشكل منفصل ، ففي هذه الحالة لم يعد من الممكن العثور على جميع برامج تشغيل الكمبيوتر على موقع ويب جهة تصنيع واحدة ، حيث سيكون من السهل القيام بذلك عند شراء جهاز كمبيوتر مكتمل (هذا موصوف في المقالة "كيفية العثور على برامج تشغيل ، إذا تم شراء كمبيوتر محمول أو كمبيوتر مكتبي جاهز!"). بعد كل شيء ، كنت تشتري جهاز كمبيوتر غير مكتمل ينتمي إلى بعض الشركات المصنعة ، وسيكون له طرازه وبرامج تشغيله الخاصة به والتي يمكنك تنزيلها كلها مرة واحدة من موقع واحد. نظرًا لأن الكمبيوتر تم تجميعه من قطع غيار اخترتها بنفسك ، فهذا يعني أنه لن يتوافق بعد الآن مع أي طراز وينتمي إلى بعض الشركات المصنعة ، لأن هذا هو من صنعك بالفعل :) لذلك ، سيتعين عليك البحث عن برامج التشغيل بشكل منفصل للجميع الأجهزة التي تم تجميع الكمبيوتر منها. وهذا يشمل أيضًا الحالة عندما تقرر بعد فترة من الوقت استبدال بعض "قطعة من الحديد" بعد شراء جهاز كمبيوتر مكتمل (تم تجميعه بالفعل).

سأوضح لك الآن كيفية العثور على جميع برامج التشغيل الضرورية لجهاز كمبيوتر تم تكوينه ذاتيًا يدويًا ، عبر الإنترنت.

حول ما وصفه السائق في المقالة:

لذلك ، قمت أنت بنفسك باختيار جميع المكونات ، وتجميع الكمبيوتر ، وتثبيت Windows ، وترى أن برامج التشغيل غير مثبتة لجميع الأجهزة ، وربما لم يتم تثبيتها لأي جهاز تقريبًا. يمكنك معرفة ما إذا تم تثبيت جميع برامج التشغيل من خلال الأداة المساعدة "إدارة الأجهزة" القياسية. كيف أفعل هذا ، قلت في مقال منفصل.

ولتثبيت برامج التشغيل في هذه الحالة ، هناك عدة خيارات.

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

الخيار رقم 1. ابحث عن برامج التشغيل يدويًا عن طريق كود الجهاز من خلال موقع devid.drp.su

أنا أعتبر أن هذا الخيار هو الأفضل. تتمثل الطريقة في تحديد رمز الجهاز والبحث عن برامج التشغيل على الإنترنت باستخدام هذا الرمز في مواقع مختلفة.

افترض أننا نرى شيئًا كهذا في مدير الجهاز:

أولئك. لم يتم تثبيت برامج تشغيل للعديد من الأجهزة على الكمبيوتر. ومع ذلك ، من الصعب تحديد الأجهزة التي لا توجد برامج تشغيل لها من خلال مدير الجهاز ، لأن الأسماء ضبابية إلى حد ما. لا يمكن فهمه إلا بشكل تقريبي. على سبيل المثال ، "Ethernet controller" هو الأكثر احتمالاً بطاقة LANللاتصال السلكي بالإنترنت. " تحكم الشبكةربما محول واي فاي، أي. بطاقة شبكة للوصول إلى الإنترنت عبر Wi-Fi.

لكن لكل جهاز رقم فريد خاص به ، والذي يمكن لمدير الجهاز عرضه علينا فقط. وبعد معرفة الرقم ، يمكننا العثور على برنامج تشغيل الجهاز عبر الإنترنت.

لنلقِ نظرة على مثالين لكيفية العثور على برامج التشغيل يدويًا حسب رمز الجهاز:

في البداية ، سأجد برنامج تشغيل للجهاز الغامض "Simple Communications PCI Controller".

    تحديد كود الجهاز الذي نريد إيجاد سائق له.

    لتحديد رمز الجهاز ، انقر بزر الماوس الأيمن فوقه في مدير الجهاز وحدد "خصائص" من القائمة التي تظهر:

    في النافذة التي تفتح ، حدد علامة التبويب "التفاصيل" ، ثم أدناه ، أسفل "خصائص" ، حدد "معرف الجهاز":

    بادئ ذي بدء ، نحاول البحث عن طريق الكود من السطر الأدنى (الرابع). انقر بزر الماوس الأيمن أدناه على السطر الرابع الذي يحتوي على الرمز وحدد "نسخ".

    محاولة العثور على برنامج تشغيل عن طريق الكود على devid.drp.su.

    بعد نسخ الكود افتح الموقع:

    David.drp.su

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

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

    على سبيل المثال ، قمت بنسخ الرمز:
    PCI \ VEN_8086 & DEV_0166 & CC_0300

    لذلك بعد إزالة الأحرف من "&" ، يجب أن يكون لديك الرمز:
    PCI \ VEN_8086 & DEV_0166

    إذا كنت لا تعرف النظام الذي لديك ، فافتح بحث Windowsوادخل "معلومات النظام" هناك ، ثم حدد البرنامج الذي يظهر من القائمة:

    في البرنامج الذي يفتح ، في النافذة الموجودة على اليسار ، حدد "معلومات النظام" وعلى اليمين في السطر "OS Name" سيتم عرض إصدار Windows الخاص بك (في المثال الخاص بي في الصورة أدناه "Windows 10") ، وفي السطر "النوع" - عمق البت: x64 أو x86:

    بناءً على هذه البيانات ، نشير إلى نوع النظام وعمقه على الموقع devid.drp.su.

    بعد تحديد رمز الجهاز وتحديد إصدار Windows ، انقر فوق الزر "Search Drivers".

    نتيجة لذلك ، ستعرض الصفحة قائمة ببرامج التشغيل التي تتطابق مع رمز الجهاز الذي حددته ولجهازك إصدارات Windows. باستخدام الزر "تنزيل" ، قم بتنزيل أحد برامج التشغيل على جهاز الكمبيوتر.

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

    بالنقر فوق الزر "تنزيل" ، سيتم تنزيل برنامج التشغيل على جهاز الكمبيوتر الخاص بك وسيكون عليك فقط تثبيته. لا يوجد شيء معقد على الإطلاق في تثبيت برامج التشغيل ، وقد تطرقت إلى هذه النقطة في مقال منفصل.

    ملحوظة!

    يحدث أنه سيتم عرض برامج تشغيل مختلفة في قائمة برامج التشغيل ، على سبيل المثال:

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

كما ترى ، لم يكن من الصعب العثور على السائق. الآن سألقي نظرة على مثال آخر لتوضيح ذلك :) على سبيل المثال ، سأعثر على برنامج تشغيل لجهاز تم تعيينه على أنه "وحدة تحكم Ethernet" في مدير الجهاز.

أنقر بزر الماوس الأيمن على الجهاز ، وافتح الخصائص:

في النافذة ، حدد علامة التبويب "التفاصيل" ، وحدد عنصر "معرف الجهاز" من القائمة وانسخ الرمز من السطر الرابع:

أفتح موقع devid.drp.su ، وأشر إلى الرقم المنسوخ هناك ، واحذف كل شيء فيه ، بدءًا من الرمز "&". بعد ذلك ، حدد إصدار Windows وأجري بحثًا:

بالنسبة لجهازي وإصدار Windows الذي حددته ، يوجد إصدار واحد فقط من برنامج التشغيل يمكنني تنزيله وتثبيته:

هذا كل شئ!

ومع ذلك ، لا يزال يحدث أحيانًا أن موقع devid.drp.su لا يجد برامج تشغيل لرمز الجهاز الذي حددته. في هذه الحالة ، هناك خيار بديل سننظر فيه أدناه.

طريقة بديلة للبحث عن برامج التشغيل حسب رمز الجهاز

إذا لم تكن هناك برامج تشغيل للجهاز الذي تحتاجه على الموقع الشهير devid.drp.su ، فيمكنك استخدام هذه الطريقة البسيطة:

    تحديد كود الجهاز. وبالمثل ، انسخ سطر كود الجهاز (الرابع):

    نحن نبحث عن سائق في مواقع مختلفة.

    ننتقل الآن إلى موقع Google.com ونلصق الكود المنسوخ مباشرةً في شريط البحث ، وبعد ذلك نزيل الرمز "&" وكل ما يتبعه من الكود ، على سبيل المثال:

    PCI \ VEN_8086 & DEV_1C3A & SS_0780= PCI \ VEN_8086 & DEV_1C3A

    نضغط على زر البحث ونرى قائمة بالمواقع التي تطابق استعلامنا:

    أنت الآن بحاجة إلى فتح المواقع بدوره ، بدءًا من الأول (أعلى) ومعرفة ما إذا كان يمكنك تنزيل برامج التشغيل على الموقع.

    من الجدير بالذكر على الفور أنه لن تجد كل المواقع برنامج التشغيل الذي تحتاجه ، لأن بعضها لن يكون لديه برنامج تشغيل لإصدار Windows الخاص بك ، وبعضها سيحتوي على أي حماقة بدلاً من برامج التشغيل.

    في المثال أعلاه ، قمت بدائرة حول تلك المواقع حيث يمكن العثور على برامج التشغيل في أغلب الأحيان وتنزيلها دون أي مشاكل. ها هي المواقع:

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

    والآن دعونا نلقي نظرة على بعض الأمثلة على تنزيل برامج التشغيل من مواقع مختلفة.

    مثال على تنزيل برنامج تشغيل من driver.ru:

    عندما تصل إلى الموقع من نتائج البحث ، ستعرض الصفحة بالفعل برامج تشغيل ، معظمها متوافق مع جهازك.

    هنا يمكنك ببساطة تنزيل جميع برامج التشغيل التي يعرضها الموقع وتحاول تثبيتها حتى يتم تثبيت برنامج التشغيل المطلوب. لن يتم تثبيت جميع برامج التشغيل غير المتوافقة أو ببساطة لن تعمل ، لذلك لا تخشى تثبيت شيء خاطئ.

    تذكر الانتباه إلى إصدار Windows الذي تم تصميم برنامج التشغيل من أجله.

    تذكر!
    غالبًا ما تكون برامج تشغيل Windows 8 و Windows 8.1 و Windows 10 متوافقة ، وإذا لم تتمكن ، على سبيل المثال ، من العثور على برامج تشغيل خاصة لنظام التشغيل Windows 8.1 ، فحاول تثبيت برامج التشغيل لنظام التشغيل Windows 8. أو إذا لم تتمكن من العثور على برامج تشغيل لنظام التشغيل Windows 10 ، فجرّب التثبيت من Windows 8.1 أو Windows 8. يحدث أيضًا أن تكون برامج تشغيل Windows 7 متوافقة مع Windows 8 و 8.1 و Windows 10. أي. يمكنك محاولة تثبيت برامج تشغيل من أنظمة مختلفة.

    ضع في اعتبارك مثالاً لعملية التنزيل من هذا الموقع. بعد العثور على برنامج التشغيل الذي تحتاجه ، انقر فوق زر التنزيل أدناه:

    في النافذة التالية ، تحتاج إلى تأكيد أنك لست روبوتًا عن طريق تحديد المربع المتوفر (انظر الصورة أدناه). ثم انقر فوق الزر "تنزيل" أدناه:

    وأخيرًا ، في الصفحة التالية ، سنرى في الجزء العلوي رابط تنزيل في شكل اسم ملف بامتداد:

    اضغط عليها وقم بتنزيل الملف.

    مثال على تنزيل برنامج تشغيل من members.driverguide.com:

    بالانتقال إلى الموقع من محرك بحث ، ستعرض الصفحة قائمة من المحتمل أن تكون برامج التشغيل المتوافقة مع جهازك:

    النقر فوق زر التنزيل سيفتح صفحة جديدةحيث يلفت الانتباه كمية كبيرة من الإعلانات.

    انتباه!
    لا تنقر في أي مكان إذا كان هناك الكثير من الإعلانات على الموقع ، فكن حذرًا ، وإلا يمكنك التقاط الفيروسات والإصابات الأخرى على جهاز الكمبيوتر الخاص بك!

    في النافذة التالية ، ستظهر نافذة في المنتصف لتأكيد أنك شخص حقيقي ، ولست برنامجًا :) أنت بحاجة إلى الانتظار حتى يتم تحميل محتويات النافذة والنقر فوق الزر "إظهار":

    ستفتح نافذة جديدة ، حيث ننتظر مرة أخرى بضع ثوانٍ حتى يتم تحميل المحتوى. سيظهر رمز في النافذة المجاورة للنقش: "أدخل". يجب إعادة كتابة هذا الرمز تمامًا كما هو في السطر أدناه ("إجابتك") والنقر فوق "الرجوع إلى الصفحة":

    ستتم إعادتك إلى الصفحة الأصلية حيث سيظهر الزر "متابعة" الآن. سيؤدي النقر فوقه إلى بدء تنزيل برنامج التشغيل على الكمبيوتر:

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

لكنني أميل أكثر إلى أنه يمكنك بسهولة العثور على برامج تشغيل باستخدام الطريقة الرئيسية المقترحة في الخيار رقم 1.

الخيار رقم 2. ابحث عن برامج التشغيل على المواقع الرسمية لمصنعي الأجهزة

إذا لم تتمكن من العثور على برامج تشغيل لأجهزتك باستخدام الخيار الأول ، فيمكن القيام بذلك بهذه الطريقة.

ستحتاج إلى البحث عن الشركة المصنعة وطراز كل جهاز في جهاز الكمبيوتر الخاص بك من خلال وثائقهم أو برامج خاصة(على سبيل المثال ، Aida64 أو Sysinfo Detector) ، ثم ابحث بشكل منفصل عن برامج التشغيل لكل جهاز من خلال الموقع الرسمي للشركة المصنعة أو (إذا لم يكن هناك برنامج تشغيل على الموقع الرسمي) على الإنترنت وفقًا لطراز الجهاز.

لنأخذ هذا المثال. في مدير الجهاز ، أستطيع أن أرى أن برنامج تشغيل بطاقة الفيديو وبعض الأجهزة الغريبة الأخرى غير مثبتة في النظام:

كيف حددت ما كان على بطاقة الفيديو؟ ولكن لأنه في حالة وجود جهاز "محول رسومات VGA قياسي" في قائمة الأجهزة في قسم "محولات الفيديو" ، فلا يوجد برنامج تشغيل لبطاقة الفيديو ، وإلا فسيكون للجهاز اسم بطاقة الفيديو الخاصة بك ، على سبيل المثال "NVIDIA GeForce GTX980".

دعنا نلقي نظرة على تسلسل أفعالك:

    تعرف على الشركة المصنعة وطراز الجهاز.

    ملحوظة!
    إذا كان لديك "جهاز غير معروف" في مدير الجهاز ، فمن المحتمل أن برنامج التشغيل لبعض الأجهزة غير مثبت اللوحة الأمأو برنامج خاص باللوحة الأم. لذلك ، يجب عليك أولاً تثبيت جميع برامج التشغيل الخاصة باللوحة الأم والبرامج الخاصة بها.

    إذا قمت بتجميع جهاز كمبيوتر من مكونات منفصلة ، فقد يكون لديك مستندات لكل جهاز تم شراؤه ، والتي تشير إلى ما نحتاج إليه - الشركة المصنعة والطراز. إذا لم تكن هناك وثائق متبقية ، فسيساعدك أحد البرامج التي تحدد أجهزة الكمبيوتر في معرفة الطراز. أوصي بـ Aida64 أو Sysinfo Detector. الأول مدفوع ، ولكن يمكنك استخدامه مجانًا لمدة 30 يومًا. والثاني إصدار مجاني تمامًا. إذا كنت تفكر في ما تختاره ، فاختر مؤقتًا - Aida64 ، لأن جودة هذا البرنامج ستظل أعلى.

    كيفية تثبيت واستخدام برنامج Aida64 موصوف في المقالة:

    كيفية تثبيت واستخدام Sysinfo Detector موصوفة في المقالة:

    إذا اكتشفت أجهزة من خلال برنامج Aida64ثم يمكنك تحديد نوع الأجهزة التي لا تحتوي على برامج تشغيل عن طريق تحديد قسم "الأجهزة \ u003e \ u003e أجهزة Windows"ثم على اليمين افتح الفئة" غير معروف "(غير معروف). ستظهر معلومات حول الجهاز المحدد أدناه:

    لذلك ، في المثال الخاص بي ، يسمى الجهاز غير المعروف "Asus ATK-110 ACPI Utility".

    لقد ذكرت أعلاه أن الجهاز غير المعروف هو على الأرجح شيء موجود على اللوحة الأم ، لذلك دعونا نحدد على الفور اللوحة الأم الموجودة في الجهاز. للقيام بذلك ، افتح قسم "اللوحة الأم" وانتقل إلى نفس القسم الفرعي. على اليمين في النافذة سنرى الشركة المصنعة وطراز اللوحة الأم: Asus P5KPL-AM EPU.

    الآن دعونا نتعامل مع بطاقة الفيديو. عادةً ما يتم تحديد بطاقة الفيديو بشكل صحيح في Aida64 ضمن "العرض"> "Video PCI / AGP". كما ترى اكتشف البرنامج بطاقة الفيديو: نفيديا غيفورسي GT 430 ":

    إذا كنت تشاهد الأجهزة من خلال Sysinfo Detector، يمكنك حينئذٍ رؤية الأجهزة التي تحتوي على برامج تشغيل غير مثبتة بطريقتين. الأول في قسم "الانحرافات":

    كما ترى ، تم اكتشاف نفس الجهاز من خلال برنامج Aida64: ACPI / ATK0110

    والطريقة الثانية - في قسم "أجهزة PCI" ، حدد القسم الفرعي "أجهزة غير معروفة". هنا ، شاهد البرنامج على الفور 3 أجهزة "مشكلة" واحد منهم ، اللوحة الأم فقط: Asus P5KPL-AM EPU.

    من الأفضل إلقاء نظرة على الشركة المصنعة لطراز بطاقة الفيديو في قسم "أجهزة PCI". في القائمة ، ابحث عن القسم الفرعي "Display Controller":

    يوضح المثال أن الشركة المصنعة للبطاقة هي NVIDIA ، والنموذج هو GeForce GT 430.

    لذلك ، تعلمنا البيانات اللازمة والآن سنبحث عن السائق.

    نحن نبحث عن برنامج تشغيل على مواقع الويب الخاصة بمصنعي الأجهزة.

    اكتشفنا أن برنامج التشغيل مفقود ، على الأرجح بالنسبة لبعض الأجهزة على اللوحة الأم ، أو ربما بعض البرامج المخصصة للوحة الأم. الشركة المصنعة للوحة هي Asus ، والنموذج في مثالي هو P5KPL-AM EPU. نظرًا لأن الشركة المصنعة هي Asus ، فسنبحث في موقع الويب الخاص بالموقع الرسمي لشركة Asus.

    يتم وصف كيفية البحث عن الموقع الرسمي للشركة المصنعة للجهاز وتنزيل برامج التشغيل منه بالتفصيل. باختصار ، تحتاج إلى فتح محرك بحث نظام جوجل، اكتب اسم الشركة المصنعة هناك وافتح الموقع الأول في نتائج البحث. بعد ذلك ، انتقل إلى قسم "الخدمة" أو "الدعم" وحدد طراز الجهاز ، على سبيل المثال:

    بالإضافة إلى برامج التشغيل ، انتبه إلى قسم "الأدوات المساعدة" (يمكن رؤيته في القائمة الموجودة في الصورة أعلاه) ، لأنه في بعض الأحيان يكون "الجهاز غير المحدد" نوعًا من البرامج الخاصة باللوحة الأم غير المثبتة. من الأفضل تثبيت مجموعة اللوحة الأم الكاملة المتوفرة على الموقع للتحقق مما إذا كانت هذه هي المشكلة.

    يوضح هذا المثال العثور على برامج تشغيل للوحة الأم. إذا قمت بتثبيت جميع برامج التشغيل والأدوات المساعدة لذلك ، فيجب أن يختفي "الجهاز غير المعروف" من مدير الجهاز.

    لنجد الآن برنامج تشغيل بطاقة الفيديو. استنادًا إلى البيانات المأخوذة من برامج Aida64 و Sysinfo Detector ، فإن الشركة المصنعة لبطاقة الفيديو هي NVIDIA ، والنموذج هو GeForce GT 430. نظرًا لأن الشركة المصنعة هي NVIDIA ، فإننا نبحث عن الموقع الرسمي لهذه الشركة في نفس عبر جوجل:

    على الموقع ، نرى على الفور قسم "برامج التشغيل" وفيه عنصر "تنزيل برامج التشغيل". نفتح:

    ستفتح نافذة حيث تحتاج إلى تحديد بيانات حول بطاقة الفيديو. نوع المنتج في المثال الخاص بي هو "GeForce" ، إذا كان النموذج هو GeForce GT 430 ، فإن سلسلة المنتج هي "GeForce 400 Series". ليس من الصعب الحصول على اتجاهاتك هنا. بعد ذلك ، في قائمة "عائلة المنتجات" ، حدد الطراز المحدد - "GeForce GT 430". ويبقى اختيار إصدار Windows المثبت على جهاز الكمبيوتر الخاص بك ولغة برنامج التشغيل فقط. ثم انقر فوق "بحث":

    ستفتح صفحة تنزيل برنامج التشغيل الصحيح. انقر فوق الزر "تنزيل الآن":

    في الصفحة التالية ، نقبل شروط الاتفاقية وننقر على الزر "قبول وتنزيل":

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

كحل أخير ، إذا لم تتمكن ، على سبيل المثال ، من العثور على برامج تشغيل على الموقع الرسمي ، فيمكنك البحث عنها في مواقع أخرى من خلال تحديد بحث جوجلأحد الأمثلة على الطلب هو: "driver for Asus P5KPL-AM EPU". بدلاً من Asus P5KPL-AM EPU ، فإنك ، وفقًا لذلك ، تحتاج إلى تحديد الشركة المصنعة وطراز جهازك المعين الذي تبحث عن برامج تشغيل له.

حسنًا ، في الختام ، ألاحظ أنه إذا كنت تستخدم نظام التشغيل Windows 8 والإصدارات الأقدم ، فعلى الأرجح لن تواجه مشكلات مع برامج التشغيل. تقوم هذه الأنظمة في معظم الحالات بتثبيت جميع برامج التشغيل تلقائيًا فور تثبيت Windows. حاولت إعادة تثبيت Windows 8.1 و Windows 10 على العديد من أجهزة الكمبيوتر المحمولة ، وتم تثبيت جميع برامج التشغيل تلقائيًا على كل منهما ، ونتيجة لذلك لم تكن هناك حاجة للبحث عنها بنفسي.

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

من الممكن أيضًا تثبيت برامج التشغيل تلقائيًا على جهاز كمبيوتر باستخدام برامج خاصة. تم وصف هذا الاحتمال في مقال منفصل:

أتمنى لك كل خير! نراكم في مشاركات أخرى :)

اليوم سنلقي نظرة على:

هناك العديد من الأسباب التي تجعلك بحاجة إلى جهاز كمبيوتر شخصي. لا يتم ذلك دائمًا باستخدام البرامج ذات التحديد التلقائي للسائقين.

بالإضافة إلى ذلك ، ماذا سائق الصوتضروري لجهاز الكمبيوتر الخاص بك ، فأنت بحاجة أيضًا إلى معرفة أسباب تدهور أجهزة الصوت على جهاز الكمبيوتر الخاص بك.

بطاقة الصوت لم يكتشفها نظام التشغيل

لنفكر في الحالات التي يتعذر فيها على نظام التشغيل تحديد برنامج تشغيل لبطاقة الصوت للكمبيوتر الشخصي بشكل مستقل. في عملية إعادة تثبيت النظام وإعادة تشغيله ، يتم تحديد ذلك من خلال عدم وجود إشارات صوتية.

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

تساعد Microsoft في تحديد برنامج تشغيل الصوت

يقدم نظام تشغيل الكمبيوتر مساعدته في تحديد برنامج تشغيل الصوت الصحيح. من الضروري توجيه المؤشر إلى مجلد "My Computer" انقر فوق الزر الايمنالماوس (RMB) ، ثم "خصائص" ، ثم "الأجهزة". يمكنك تسهيل الأمر: مجلد "جهاز الكمبيوتر" ، انقر بزر الماوس الأيمن ، وانتقل إلى قسم مدير الجهاز.

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

خيار يدوي للبحث عن برنامج تشغيل الصوت

عندما يفشل الاختيار التلقائي لبرنامج تشغيل الصوت ، فأنت بحاجة إلى محاولة العثور عليه يدويًا ، لذلك ننتقل إلى أي محرك بحث (Google ، Yandex). بعد ذلك ، في مربع البحث ، أدخل اسم جهاز الصوت الخاص بك على جهاز الكمبيوتر وأضف "+ برنامج تشغيل" ، في النافذة التي تفتح ، حدد الجهاز الذي تريده لنا.

ما هو السائق المطلوب لجهاز الكمبيوتر الشخصي؟ من السهل رؤية ذلك في علامة التبويب إدارة الأجهزة. يوصى بتنزيل برنامج التشغيل على الموقع الرسمي للشركة المصنعة للوحة الأم المثبتة (متى كارت الصوتالمضمنة فيه). يُقترح أيضًا تنزيل برنامج التشغيل من موقع ويب متخصص في تحديث أجهزة الكمبيوتر.

بعد تنزيل برنامج التشغيل ، نعود إلى علامة التبويب "إدارة الأجهزة" ، ونفتح "البحث عن برامج التشغيل على الكمبيوتر" ، ونشير إلى المكان الذي تم حفظه فيه ، و "تثبيت".

تثبيت برنامج تشغيل الصوت مع البرنامج

هناك أوقات يصعب فيها على مستخدم الكمبيوتر العثور على برنامج تشغيل صوت يدويًا واستخدام نظام التشغيل ، ثم يتم تقديم برنامج خاص للبحث عنه. يوجد حاليًا العديد من البرامج لهذه الأغراض: Driver Checker و Sam Drivers و Device Doctor وبرامج أخرى.

للعمل مع واجهة برامج من هذا النوع ، من الواضح ، على مستوى حدسي.

هناك حالات مختلفة تحتاج فيها إلى تحديد برنامج تشغيل الصوت لجهاز الكمبيوتر الخاص بك ، ينصح الخبراء بما يلي:

  • حدد طراز جهاز الصوت المثبت على الكمبيوتر (اقرأ على الكمبيوتر). ربما يرجع نقص الصوت إلى عدم تركيب المعدات ، مما يحظر استخدامه في BIOS.
  • عندما يتم دمج الصوت على جهاز الكمبيوتر ، يوصى بتنزيل برنامج تشغيل الصوت فقط من موقع الويب الخاص بالشركة المصنعة لـ "اللوحة الأم" ، أو في الحالة تركيب منفصلبطاقة الصوت لشطب رقاقة بمناسبة منها. ابحث عن السائق المطلوب من خلال نظام البحث عن العلامات.
  • يوصى باستخدام برنامج AIDA 64 ، فهو لن يعرض فقط برنامج تشغيل الصوت الضروري ، ولكن كل شيء المعدات المركبة، يمكنك تحديد وسم الشريحة.

تعرف على كيفية العثور على برامج التشغيل المناسبة لتشغيل أي جهاز متصل بجهاز الكمبيوتر الخاص بك دون عناء.

على الرغم من حقيقة أن القرن الحادي والعشرين موجود بالفعل في الساحة وأن كل شخص تقريبًا لديه أجهزة كمبيوتر ، إلا أن الكثيرين يعتبرونها نوعًا من معجزة التكنولوجيا التي لا يمكن انتهاكها. علاوة على ذلك ، اعتقادًا راسخًا بأن لديهم أفضل جهاز كمبيوتر (لأن البائع قال ذلك :)) ، فإن هؤلاء المستخدمين لا يقومون بتثبيت أي برامج عليه ولا يكلفون أنفسهم عناء التحقق مما إذا كان الكمبيوتر يعمل بشكل صحيح ...

لماذا أنا؟ بالإضافة إلى ذلك ، اضطررت مؤخرًا إلى التعامل مع حالة لم يكن لدى بعض الرفاق لمدة عام ونصف تقريبًا بعد شراء جهاز كمبيوتر برنامج تشغيل بطاقة فيديو عادي !!! الشكوى كانت عادية - "" :) ولماذا لا يبطئ إذا لم يكن هناك سائق ؟!

بشكل عام ، سنتحقق اليوم من أجهزة الكمبيوتر الخاصة بنا بحثًا عن وجود جميع برامج التشغيل اللازمة فيها ...

ما هو السائق وكيفية تثبيته؟

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

بدون سائق ، لن تعمل المعدات المتصلة على الإطلاق (الطابعات والماسحات الضوئية وغيرها من المعدات المكتبية) ، أو ستعمل ، ولكن ليس في الوضع الأمثل (بطاقات الفيديو ، والشرائح ، وما إلى ذلك). هذا هو السبب ل عملية عاديةلا يكفي مجرد إعادة تثبيت النظام للكمبيوتر الشخصي ، بل من المهم أيضًا العثور على برامج تشغيل لجميع مكوناته!

يمكن توفير برنامج التشغيل في ثلاثة إصدارات:

  1. تثبيت ملف EXE(أو MSI) ؛
  2. غلاف رسومي مع إمكانية الاختيار الشامل والتركيب ؛
  3. مجموعة من المكتبات وملفات الخدمة ، يكملها ملف INF.

غالبًا ما يوجد الخيار الأول لتوصيل برامج التشغيل على الإنترنت وعلى أقراص التثبيت التي تأتي مع المعدات التي اشتريتها. يكفي تنزيل ملف EXE (أو فتحه على القرص) وتشغيله ، وسيظهر معالج التثبيت أمامنا ، مما سيسمح لك بتهيئة كل شيء خطوة بخطوة. في هذه الحالة ، لا يعد تثبيت برنامج التشغيل أكثر صعوبة من تثبيت أي برنامج.

يمكن العثور على خيار التسليم الثاني على الأقراص ذات التجميعات المختلفة التي تحتوي على العديد من برامج التشغيل المختلفة (على سبيل المثال ، برامج تشغيل اللوحة الأم أو ما يسمى حزم برامج التشغيل). تسمح لك هذه التجميعات عادةً بتثبيت برامج تشغيل فردية (أو كلها مرة واحدة) بشكل انتقائي وليست أكثر تعقيدًا من المثبتات المعتادة ، لكنها كبيرة.

يعد تثبيت برنامج التشغيل بالطريقة الثالثة هو الأكثر غموضًا. غالبًا ما يتم العثور على برامج التشغيل هذه للتكنولوجيا القديمة ولا تحتوي على مثبت رسومي ، ولكنها تتضمن ملفًا (أحيانًا أكثر من واحد) بامتداد INF ، والذي يحتوي على جميع مسارات التثبيت لحزمة المكتبة للجهاز المتصل للعمل:

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

ستفتح نافذة يتعين علينا أن نسير منها بهذه الطريقة (بالنقر فوق الأزرار المناسبة): "ابحث عن برامج تشغيل على هذا الكمبيوتر" - "حدد برنامج تشغيل من قائمة مثبتة بالفعل" - "تثبيت من القرص" ، ثم انقر فوق الزر "استعراض" وحدد موقع ملف INF الذي تحتاجه:

بعد تأكيد اختيار ملف INF ، ستظهر رسالة حول التثبيت الناجح ، أو أن الملف الذي حددته غير مناسب وتحتاج إلى تحديد ملف آخر (إن وجد). إذا لم يسمح لك أي من ملفات INF بتثبيت برنامج التشغيل الصحيح ، فسيتعين عليك البحث عن برنامج بديل أو حتى تغيير الأجهزة أو النظام لجعل الجهاز متوافقًا مع جهاز الكمبيوتر الخاص بك.

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

البحث عن طريق اسم الجهاز

أي جهاز (إذا لم يكن بعض الطائرات الصينية غير المسماة) له اسمه الخاص. بمعرفة هذا الاسم وإصدار نظامك ، يمكنك ، في معظم الحالات ، صياغة الاسم الصحيح استعلام بحثللادخال محرك البحث. على سبيل المثال: "driver طابعة كانون IP1500 لنظام التشغيل Windows 7 64 بت "أو" برنامج تشغيل Radeon HD 8700M Windows 8 ".

ستحتوي نتائج البحث على مواقع يمكنك من خلالها تنزيل برنامج التشغيل الذي تحتاجه. ومع ذلك ، لا يمكن تنزيل جميع المواقع مجانًا! لتجنب المخاوف غير الضرورية بسبب الموارد المالية أو تثبيت برنامج منخفض الجودة ، أوصي باستخدام بوابة باللغة الروسية مجربة:

هذا الموقع يحتوي على واحد من مجموعات كاملةالسائقين من جميع أنحاء الإنترنت بحجم إجمالي يزيد عن 300 تيرابايت! هنا يمكنك البحث عن برنامج تشغيل حسب نوع الجهاز (القائمة الرئيسية "فئات الأجهزة") ، وباسم الشركة المصنعة (الفهرس الأبجدي في أعلى الصفحة).

في الصفحة التي تحتوي على المكون المطلوب ، سيكون هناك عدد من خيارات التنزيل. انتبه إلى الحقول "نوع البرنامج" (يجب أن تكون كلمة "برنامج التشغيل" موجودة هناك ، وإلا يمكنك فقط تنزيل أداة مساعدة أو مكون إضافي) ، "الوصف" (يوضح أيضًا الغرض من هذا الملف أو ذاك) ، وكذلك "النظام". يمكنك تنزيل برنامج التشغيل نفسه من الرابط بعد الوصف ، مؤكدا أنك لست روبوت :)

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

بطاقات الفيديو:

كروت الصوت:

معدات المكتب:

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

البحث عن طريق معرف الجهاز

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

كل جهاز ، حتى في الداخل كتلة النظام، على الرغم من توصيله بواسطة كبل خارجي ، إلا أنه يحتوي على معرف أو معرف خاص به في النظام. يمكننا التعرف عليه في "إدارة الأجهزة" المألوف بالفعل عن طريق استدعاء "خصائص" للمكون المطلوب ، والانتقال إلى علامة التبويب "التفاصيل" واختيار "معرف الجهاز" أو عنصر "المعرف" في القائمة المنسدلة "الخاصية" قائمة:

بادئ ذي بدء نظام التشغيل Windows Vista، يمكنك نسخ قيمة سلسلة المعرف إلى الحافظة باستخدام قائمة السياق. في الإصدارات السابقة ، لا توجد وظيفة نسخ ، لذلك يجب إعادة كتابة المعرف يدويًا.

الآن ، بمعرفة معرف الجهاز الذي نحتاجه ، يمكننا العثور على برامج تشغيل مناسبة له باستخدام الخدمات المتخصصة. هنا مرة أخرى ، يمكن لبرنامج Driver.ru المذكور بالفعل مساعدتنا:

للقيام بذلك ، انقر فوق الزر "بحث" في الزاوية اليمنى العليا والصق معرّف الجهاز المنسوخ في الحقل الموجود على الصفحة التي تفتح ، ثم تأكد من التحقق من عنصر "البحث بالمعرف" والنقر فوق الزر "بحث" ضمن حقل الإدخال. من بين النتائج التي تفتح ، يمكنك بسهولة العثور على برنامج تشغيل مناسب لنظامك ويمكنك تنزيله.

تعمل العديد من البوابات الكبيرة للبحث عن السائقين بالمثل. أفضلها DevID.info و DevID.drp.su. بالمناسبة ، كلتا الخدمتين لها عملائها الخاصين الذين يسمحون لك باكتشاف برامج التشغيل التي تحتاجها وتثبيتها تلقائيًا. سنتحدث أكثر عن هذه البرامج المتخصصة.

برامج البحث عن السائقين

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

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

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

لهذا السبب ، يمكن استخدام برامج من هذا النوع مجانًا فقط لتحديث برنامج تشغيل واحد ، ولكن ليس للتثبيت دفعة واحدة على Windows تم تثبيته حديثًا. إذا كنت تريد كل شيء مرة واحدة ، فاختيارك هو حزم برامج التشغيل!

حزمة السائق (من الإنجليزية ". حزمة السائقغالبًا ما تكون "-" مجموعة من برامج التشغيل ") عبارة عن مجموعة من قاعدة بيانات غير متصلة بالإنترنت مع برامج تشغيل محددة وبرنامج shell. يقوم البرنامج بفحص جهاز الكمبيوتر الخاص بك ، وبعد ذلك يعرض تثبيت أو تحديث عدد من برامج التشغيل. كل ما تحتاجه لتحديد ما تحتاجه وتأكيد اختيارك. سيحدث التثبيت تلقائيًا!

في اتساع Runet ، فإن حزمة برامج التشغيل الأكثر اكتمالاً وشعبية هي:

حتى الآن ، يتجاوز حجم حزمة التسليم القصوى لحزمة برنامج التشغيل هذه 10 غيغابايت. هذا ليس مثيرًا للإعجاب مثل قاعدة بيانات 30 تيرابايت الخاصة بـ Driver.ru ، ولكن ، مع ذلك ، فإن هذا العدد من برامج التشغيل يكفي تمامًا بحيث لا يتعين عليك البحث عن بعد إعادة تثبيت النظام أقراص التثبيتالتي جاءت مع اللوحة الأموبطاقة الفيديو والمكونات الأخرى لجهاز الكمبيوتر أو الكمبيوتر المحمول.

إذا كنت لا ترغب في تنزيل 10 غيغابايت من برامج التشغيل ، فيمكنك تنزيل الإصدار Lite من DriverPack Online. إنه برنامج ماسح ضوئي فقط يحدد برامج التشغيل التي تحتاجها ، ويتصل بقاعدة بيانات عبر الإنترنت ويسمح لك بتنزيل ما تحتاجه فقط.

الاستنتاجات

اليوم ، العثور على برامج تشغيل لجهاز كمبيوتر وجهاز كمبيوتر محمول ليس بالأمر الصعب. ومع ذلك ، مثل أي برنامج ، يحتاجون إلى تحديثات من وقت لآخر ، والتي ينسى الكثير من الناس. وبالمناسبة ، يمكن أن تساعد التحديثات كثيرًا!

لذلك ، على سبيل المثال ، منذ الربيع ، بدأت "" في الظهور من وقت لآخر مع شكاوى حول نوع ما من مكتبات DLL. لقد تحملت هذا الوضع لبعض الوقت ، لكن بعد ذلك سئمت وقررت البحث عن حل للمشكلة. اتضح أن الجاني كان خطأ في برنامج تشغيل بطاقة الفيديو. بعد تحديث برنامج التشغيل ، أصبح كل شيء أفضل ولعدة أشهر الآن أصبحت "الرحلة" طبيعية :)

العبرة من كل ما سبق هو: إذا بدأت فجأة في وجود "مواطن خلل" في جهاز الكمبيوتر الخاص بك أو تمت ملاحظتها منذ شراء الكمبيوتر / إعادة تثبيت النوافذ، تحقق من وجود تحديثات لبرنامج التشغيل الحرجة مكونات مهمةجهاز الكمبيوتر الخاص بك. إذا كان هناك أي منها ، فحاول تثبيتها وربما سيعمل نظامك بشكل صحيح مرة أخرى!

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

ربما كان لدى كل من أعاد تثبيت نظام التشغيل مرة واحدة على الأقل من تلقاء نفسه سؤالًا شائعًا: كيف تعرف برامج التشغيل التي يجب تثبيتها على الكمبيوتر لتشغيلها المستقر؟ هذا هو السؤال الذي سنحاول الإجابة عليه في هذا المقال. دعونا نفهم بمزيد من التفصيل.

نظريًا ، تحتاج إلى تثبيت برنامج لجميع الأجهزة التي تتطلب ذلك على جهاز كمبيوتر أو كمبيوتر محمول. بمرور الوقت ، المطورين أنظمة التشغيلتوسيع قاعدة بيانات برامج تشغيل Microsoft باستمرار. وإذا كان في مرات Windowsكان على XP تثبيت جميع برامج التشغيل يدويًا تقريبًا ، ولكن في حالة أنظمة التشغيل الأحدث ، تم بالفعل تثبيت العديد من برامج التشغيل تلقائيًا. ومع ذلك ، هناك أجهزة يجب تثبيت البرامج عليها يدويًا. نلفت انتباهك إلى عدد من الطرق التي ستساعدك في حل هذه المشكلة.

الطريقة 1: المواقع الرسمية للمصنعين

من أجل تثبيت جميع برامج التشغيل الضرورية ، تحتاج إلى تثبيت البرنامج لجميع اللوحات في جهاز الكمبيوتر الخاص بك. يشير هذا إلى اللوحة الأم وبطاقة الفيديو واللوحات الخارجية ( محولات الشبكة، وبطاقات الصوت ، وما إلى ذلك). في نفس الوقت ، في "مدير الجهاز"قد لا يشير ذلك إلى أن الجهاز يتطلب برامج تشغيل. عند تثبيت نظام التشغيل ، تم استخدام البرنامج القياسي للجهاز ببساطة. ومع ذلك ، يجب تثبيت برامج هذه الأجهزة الأصلية. تقع معظم البرامج المثبتة على اللوحة الأم ويتم دمج الرقائق فيها. لذلك ، سنبحث أولاً عن جميع برامج تشغيل اللوحة الأم ، ثم عن بطاقة الفيديو.

  1. اكتشف الشركة المصنعة وطراز اللوحة الأم. للقيام بذلك ، اضغط على المفاتيح Win + R.على لوحة المفاتيح وفي النافذة التي تفتح ، أدخل الأمر كمدلفتح سطر الأوامر.
  2. في سطر الأوامرتحتاج إلى إدخال الأوامر واحدة تلو الأخرى:
    الحصول على اللوح wmic الشركة المصنعة
    الحصول على المنتج اللوح wmic
    لا تنس الضغط "يدخل"بعد إدخال كل أمر. نتيجة لذلك ، سترى على الشاشة الشركة المصنعة وطراز اللوحة الأم.
  3. الآن نحن نبحث عن موقع الشركة المصنعة على الإنترنت والذهاب إليه. في حالتنا ، هذا هو.
  4. في الموقع ، نبحث عن حقل بحث أو الزر المقابل في شكل عدسة مكبرة. كقاعدة عامة ، بالنقر فوق هذا الزر ، سترى حقل بحث. في هذا المجال ، يجب عليك إدخال طراز اللوحة الأم والنقر فوقها "يدخل".
  5. في الصفحة التالية ، سترى نتيجة البحث. يجب عليك تحديد اللوحة الأم الخاصة بك من القائمة. عادة ، هناك عدة أقسام فرعية تحت اسم نموذج اللوحة. إذا كان هناك قسم "السائقين"أو "التحميلات"، انقر فوق اسم هذا القسم وانتقل إليه.
  6. في بعض الحالات ، قد يتم تقسيم الصفحة التالية إلى أقسام فرعية للبرنامج. إذا كان الأمر كذلك ، فابحث عن قسم فرعي وحدده "السائقين".
  7. الخطوة التالية هي تحديد نظام التشغيل وعمق البت من القائمة المنسدلة. يرجى ملاحظة أنه في بعض الحالات قد تكون هناك اختلافات في قوائم السائقين عند اختيار نظام تشغيل مختلف. لذلك ، لا تعرض فقط النظام الذي قمت بتثبيته ، ولكن أيضًا الإصدارات أدناه.
  8. بعد تحديد نظام التشغيل ، سترى قائمة بجميع البرامج التي تحتاجها اللوحة الأم للتفاعل مع مكونات الكمبيوتر الأخرى. تحتاج إلى تنزيلها وتثبيتها جميعًا. يتم التنزيل تلقائيًا بعد النقر فوق الزر ، تحميلأو الرمز المقابل. إذا قمت بتنزيل الأرشيف باستخدام برامج التشغيل ، فقبل التثبيت ، تأكد من استخراج جميع محتوياته في مجلد واحد منفصل. بعد ذلك ، قم بتثبيت البرنامج.
  9. بعد تثبيت جميع البرامج الخاصة باللوحة الأم ، دعنا ننتقل إلى بطاقة الفيديو.
  10. اضغط على مجموعة المفاتيح مرة أخرى Win + R.وفي النافذة التي تظهر ، أدخل الأمر "dxdiag". انقر للمتابعة "يدخل"أو زر "نعم"في نفس النافذة.
  11. في نافذة أداة التشخيص التي تفتح ، انتقل إلى علامة التبويب "شاشة". يمكنك هنا معرفة الشركة المصنعة وطراز محول الرسومات الخاص بك.
  12. إذا كان لديك جهاز كمبيوتر محمول ، فيجب عليك أيضًا الانتقال إلى علامة التبويب "محول". هنا يمكنك الاطلاع على معلومات حول بطاقة الرسومات المنفصلة الثانية.
  13. بعد اكتشاف الشركة المصنعة لبطاقة الفيديو وطرازها ، يجب عليك الانتقال إلى الموقع الرسمي للشركة. فيما يلي قائمة بصفحات التنزيل الخاصة بشركات تصنيع بطاقات الرسومات الرئيسية.
  14. تحتاج إلى تحديد طراز بطاقة الفيديو الخاصة بك ونظام التشغيل مع الشاهد على هذه الصفحات. بعد ذلك ، يمكنك تنزيل البرنامج وتثبيته. يرجى ملاحظة أنه يفضل تثبيت برنامج محول الرسوميات من الموقع الرسمي. في هذه الحالة فقط سيتم تثبيت مكونات خاصة من شأنها زيادة أداء بطاقة الفيديو والسماح بضبطها.
  15. عندما تقوم بتثبيت برنامج محول الرسومات واللوحة الأم ، فأنت بحاجة إلى التحقق من النتيجة. لهذا نفتح "مدير الجهاز". اضغط على مجموعة من الأزرار يفوزو "R"على لوحة المفاتيح ، وفي النافذة التي تفتح ، اكتب الأمر devmgmt.msc. بعد ذلك نضغط "يدخل".
  16. نتيجة لذلك ، سترى نافذة "مدير الجهاز". يجب ألا تحتوي على أجهزة ومعدات مجهولة الهوية ، بجانب اسمها يوجد استفهام أو نقاط أستفهام. إذا كانت هذه هي الحالة ، فقد قمت بتثبيت جميع برامج التشغيل الضرورية. وفي حالة وجود هذه المكونات ، نوصي باستخدام إحدى الطرق التالية.

الطريقة الثانية: أدوات تحديث البرامج التلقائية

إذا كنت كسولًا جدًا للبحث عن جميع البرامج وتثبيتها يدويًا ، فيجب عليك إلقاء نظرة فاحصة على البرامج المصممة لتسهيل هذه المهمة. راجعنا أكثر البرامج شيوعًا للبحث عن البرامج وتحديثها تلقائيًا في مقالة منفصلة.

يمكنك استخدام أي من المرافق الموصوفة. لكننا ما زلنا نوصي باستخدام DriverPack Solution أو Driver Genius. هذه هي البرامج التي تحتوي على أكبر قاعدة بيانات لبرامج التشغيل والأجهزة المدعومة. لقد أخبرناك بالفعل عن كيفية استخدام DriverPack Solution.

لذلك ، دعنا نخبرك بكيفية العثور على جميع برامج التشغيل وتثبيتها باستخدام برنامج Driver Genius. لذا ، لنبدأ.

  1. نبدأ البرنامج.
  2. سوف تجد نفسك عليها على الفور الصفحة الرئيسية. يوجد زر أخضر في المنتصف "بدء التحقق". نضغط عليه بجرأة.
  3. ستبدأ عملية فحص جهاز الكمبيوتر أو الكمبيوتر المحمول. بعد بضع دقائق ، سترى قائمة بجميع الأجهزة التي تحتاج إلى تنزيل البرامج وتثبيتها. نظرًا لأننا لا نبحث عن برنامج تشغيل محدد ، فإننا نتحقق من جميع العناصر المتاحة. بعد ذلك ، اضغط على الزر "إضافي"في الجزء السفلي من نافذة البرنامج.
  4. في النافذة التالية ، سترى قائمة بالأجهزة التي تم تحديث برامج التشغيل لها بالفعل باستخدام هذه الأداة المساعدة ، وتلك الأجهزة التي لا يزال البرنامج بحاجة إلى تنزيلها وتثبيتها. يتم تمييز نوع الجهاز الأخير بدائرة رمادية بجوار الاسم. من أجل الموثوقية ، فقط اضغط على الزر "تحميل الكل".
  5. بعد ذلك سيحاول البرنامج الاتصال بالخوادم لتنزيل الملفات الضرورية. إذا سارت الأمور على ما يرام ، فستعود إلى النافذة السابقة ، حيث يمكنك تتبع تقدم تنزيل البرنامج في السطر المقابل.
  6. عند تنزيل جميع المكونات ، سيتحول لون الرمز الموجود بجوار اسم الجهاز إلى اللون الأخضر مع سهم لأسفل. لسوء الحظ ، لن يعمل تثبيت جميع البرامج بزر واحد. لذلك ، حدد الخط مع الجهاز المطلوب واضغط على الزر "ثَبَّتَ".
  7. اختياريًا ، قم بإنشاء نقطة استعادة. سيُطلب منك ذلك في مربع الحوار التالي. اختر الإجابة التي تتوافق مع قرارك.
  8. بعد ذلك ، ستبدأ عملية تثبيت برنامج التشغيل للجهاز المحدد ، والتي قد تظهر خلالها مربعات الحوار القياسية. في نفوسهم ، ما عليك سوى قراءة اتفاقيات الترخيص والضغط على الأزرار "إضافي". لا ينبغي أن يكون لديك أي مشاكل في هذه المرحلة. بعد تثبيت هذا البرنامج أو ذاك ، قد يُطلب منك إعادة تشغيل النظام. في حالة ظهور مثل هذه الرسالة ، نوصيك بالقيام بذلك. عندما يتم تثبيت برنامج التشغيل بنجاح ، برنامج السائقستكون Genius بجوار السطر الذي يحتوي على الجهاز علامة اختيار خضراء.
  9. وبالتالي ، تحتاج إلى تثبيت برنامج لجميع المعدات من القائمة.
  10. في النهاية ، يمكنك فحص الكمبيوتر مرة أخرى لتكون مقنعًا. إذا قمت بتثبيت جميع برامج التشغيل ، فسترى رسالة مماثلة.
  11. بالإضافة إلى ذلك ، يمكنك التحقق مما إذا كان قد تم تثبيت جميع البرامج باستخدام "مدير الجهاز"كما هو موضح في نهاية الطريقة الأولى.
  12. إذا كانت لا تزال هناك أجهزة غير معروفة ، فجرّب الطريقة التالية.

الطريقة الثالثة: الخدمات عبر الإنترنت

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

ستجد فيه معلومات مفصلة حول كيفية العثور على المعرف وماذا تفعل به بعد ذلك. بالإضافة إلى دليل لاستخدام أكبر خدمتين للبحث عن برامج التشغيل عبر الإنترنت.

الطريقة الرابعة: تحديث يدوي لبرنامج التشغيل

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


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

كما نعلم ، على مستوى الأجهزة كمبيوتر حديثيتكون من وحدات وظيفية ، وهي مكونات إلكترونية معينة. مجموعة واسعة من المستخدمين حواسيب شخصيةعلى دراية بالكتل الوظيفية مثل: المعالج ، والذاكرة ، وبطاقة الفيديو ، وبطاقة الصوت ، HDD، وحدة تحكم الإدخال / الإخراج (توفر تشغيل لوحة المفاتيح والماوس وعصا التحكم ووسائط USB (محركات أقراص فلاش)) والطابعة والماسح الضوئي وبعض الأجهزة الأخرى. على المستوى المادي ، تتفاعل هذه الأجهزة مع بعضها البعض من خلال حافلات وبروتوكولات خاصة ، مما يخلق مزيجًا من تفاعلها مع تكافل العمليات ، والذي يميز ، بشكل عام ، أداء الكمبيوتر. لكن الكمبيوتر مجرد مجموعة من مكونات الكترونية؟ بالطبع لا ، لأن إحدى وحدات الأجهزة الرئيسية ، وحدة المعالجة المركزية، مصمم لتنفيذ تعليمات الآلة ، والتي تتكون البرامج كما نعلم ، في ضوء ذلك ، من المناسب ذكر مستوى آخر - البرنامج. لنعد الآن إلى الماضي غير البعيد ؛ في الأيام الأولى من عصر الكمبيوتر ، يمكن أن يتفاعل رمز البرنامج (الذي غالبًا ما كان يُكتب مباشرةً في رموز الآلة / اللغات منخفضة المستوى) بسهولة مع الأجهزة مباشرةً لأن بنية الأجهزة كانت بسيطة نسبيًا. ومع ذلك ، مع مرور الوقت ، تطورت التقنيات ، وتطورت مستويات الأجهزة والبرامج بشكل مترابط ، وجاء الأول إلى ظهور مجموعة كبيرة ومتنوعة من الأجهزة ، والثاني لظهور مجموعة متنوعة ضخمة وحدات البرامج، مما أدى لاحقًا إلى ظهور أنظمة التشغيل. كان نظام التشغيل معلمًا رئيسيًا في تاريخ تطور صناعة الكمبيوتر ، حيث أنه ، من بين أمور أخرى ، كان بمثابة رابط ، نوع من المنسق (المرسل) الذي يضمن التفاعل بين الأجهزة والبرامج: لقد تم قبوله الطلبات من طبقة البرنامج (على سبيل المثال ، برامج المستخدم) لتبادل البيانات مع هذا الجهاز أو ذاك والعكس صحيح ، أي أنها تعمل بالفعل كواجهة بين أجزاء الأجهزة والبرامج. كما أن أنظمة التشغيل لم تكن صامدة ، وإذا كان تفاعل نظام التشغيل مع أجهزة الكمبيوتر في البداية بسيطًا نسبيًا ، فعندما أصبحت البنية أكثر تعقيدًا وتم إدخال قدرات جديدة للأجهزة ، أصبح هيكل نظام التشغيل أكثر تعقيدًا. خلال تطوير أنظمة التشغيل ، حاول المطورون إنشاء رمز يوفر تفاعلًا كاملاً مع أكبر عدد ممكن من الأجهزة المتوفرة في السوق. ومع ذلك ، فإن مثل هذا النهج ، حيث أصبحت بنية أجهزة الكمبيوتر الشخصية x86 أكثر تعقيدًا ، أدى إلى ظهور مفهوم طبقة برامج منفصلة تسمى السائق المسؤول عن التفاعل مع فئة / نوع معين من الأجهزة. تبين أن مفهوم السائق كان ناجحًا للغاية لدرجة أنه بالإضافة إلى الاتجاه الرئيسي - دعم الأجهزة المادية ، فقد تم استقراءه لبعض فئات الأجهزة المنطقية / الافتراضية. في هذا المقال سنتحدث عن ماهيته سائق الويندوز.

نظرية

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

أوضاع تشغيل المعالج

يعتمد الهيكل الداخلي لأي نظام تشغيل على ميزات الأجهزة في النظام الأساسي الذي يعمل عليه. الرابط المركزي هو المعالج ، وللمعالجات المعمارية x86-64 عدة طرق تشغيل:

  • الوضع الحقيقي
  • الوضع الافتراضي (الوضع الافتراضي) ؛
  • وضع حماية؛
  • الوضع الطويل (الوضع الطويل).

في فجر عصر تطوير أجهزة الكمبيوتر الشخصية بمعمارية x86 ، كان المعالج يعمل في الوضع الحقيقي. ومع ذلك ، أصبح الوضع الحقيقي شيئًا من الماضي تدريجيًا ، نظرًا لأنه يحتوي على عدد من الميزات التي جعلت من المستحيل تطوير التقنيات بشكل أكبر: ناقل بيانات 16 بت وناقل عنوان 20 بت (قيود عنونة) ، مقطع عنونة بـ أحجام المقطع 64 كيلو بايت (إزعاج لاستخدام مساحة العنوان) ، وعدم وجود قيود الوصول إلى مساحة العنوان. من أجل إزالة القيود الحالية ، تم تطوير وضع محمي يوفر عددًا من الميزات المهمة لتطوير أنظمة التشغيل: "تعدد المهام" ، وهي آلية حماية (الوصول إلى الأوامر ذات الامتيازات) ، والتي توفر التحكم في الوصول إلى رمز مختلف أقسام (برامج) لبعضها البعض نموذجا ذاكرة افتراضية. في الوضع المحمي معالجات إنتلتقوم معماريات x86 بتنفيذ ما يسمى بحلقات الحماية أو مستويات الامتياز. هناك أربعة منهم: 0 (الأكثر امتيازًا) و 1 و 2 و 3 (الأقل امتيازًا). تهدف مستويات الامتياز إلى حماية رمز وضع kernel من برامج المستخدم وبرامج المستخدم من بعضها البعض ، حيث يمكن أن يؤدي ذلك إلى الفساد. ومع ذلك ، لا يستخدم نظام التشغيل Windows جميع المستويات المذكورة ، فقط اثنان منهم متورطان فيه: 0 و 3.
لتوضيح هذا الأمر ، نقدم مخططًا مبسطًا لتفاعل مكونات Windows:

كما ترى ، تنقسم البيئة الداخلية لنظام التشغيل Windows إلى جزأين وتدعم وضعين للتنفيذ:

  • وضع المستخدم- الوضع غير المميز المرتبط بحلقة حماية المعالج الثالث للجهاز ؛
  • وضع Kernel هو وضع امتياز مرتبط بحلقة حماية المعالج رقم 0 للأجهزة ؛

ربما تكون هذه الميزة هي أهم نقطة في فهم البنية الداخلية لنظام Windows: على الصعيد العالمي ، ينقسم نظام التشغيل ، كما كان ، إلى جزأين رئيسيين: وضع المستخدم ووضع النواة.

الأمر يستحق الفهم والإدراك والتذكر مرة واحدة وإلى الأبد ، لأنه ، في الواقع ، هذا هو أحد المفاهيم الأساسية والأساسية للعديد من أنظمة التشغيل الحديثة.
توجد الاختلافات التالية بين أوضاع المستخدم ووضع kernel:

  • مساحات العنوان الافتراضية المعزولة (غير المتداخلة): مساحة وضع المستخدم تشغل الجزء السفلي (العناوين من إلى) ، مساحة وضع النواة تحتل الجزء العلوي (العناوين من إلى) ؛
  • امتيازات الوصول إلى الكود المختلفة للموارد (الذاكرة ، المعالج ، الأجهزة ، إلخ).

يتم تشغيل العمليات التالية في وضع المستخدم:

النظام الفرعي وصف
عمليات دعم النظام
  • عملية تسجيل الدخول إلى Winlogon (winlogon.exe)
  • عملية الملقم المحليمصادقة lsass (lsass.exe)
  • عملية إدارة التحكم بالخدمة (services.exe)
  • عملية إدارة الجلسة (smss.exe)
  • عملية وحدة التحكم (conhost.exe)
  • عملية إدارة الجلسة المحلية (lsm.exe)
  • . . .
عمليات الخدمة
  • عملية المضيف للخدمات (ملف Svchost.exe)
  • عملية التخزين المؤقت (spoolsv.exe)
  • عملية إدارة خدمة WMI (winmgmt.exe)
  • . . .
التطبيقات
  • تطبيقات المستخدم (جميع التطبيقات غير المدرجة في الفئات الأخرى).
  • مدير المهام (taskmgr.exe)
  • إكسبلورر (explorer.exe)
  • وحدة التحكم بالإدارة (mmc.exe)
  • . . .
النظم البيئية الفرعية
  • نظام Win32 الفرعي (csrss.exe ، و kernel32.dll ، و advapi32.dll ، و user32.dll ، و gdi32.dll ، ...)
  • نظام Linux الفرعي (lxss.sys ، lxcore.sys)
  • نظام POSIX الفرعي (psxss.exe ، psxrun.exe ، posix.exe ، psxdll.dll)
  • النظام الفرعي OS / 2 (os2.exe ، os2ss.exe ، os2srv.exe)
  • النظام الفرعي WOW / WOW64 (wow64win.dll ، wow64.dll ، wow64cpu.dll)
  • . . .
واجهة وظائف النواة
  • يوفر نقل التحكم إلى kernel للوظائف التي تتطلب ذلك. بدعم من ntdll.dll

في وضع kernel:

النظام الفرعي وصف
النظام التنفيذي (تنفيذي)
  • مدير I / O
  • مدير العمليات
  • مدير الموضوع
  • مدير الذاكرة الافتراضية
  • مدير الكائن
  • مدير PnP
  • مدير الطاقة
  • مدير النافذة
  • . . .
نواة تهيئة برامج التشغيل الحاسمة للنظام أثناء مرحلة التمهيد ، ومزامنة المعالجات ، وجدولة العمليات / الخيوط / المقاطعات وإرسالها ، ومعالجة / إرسال الاستثناءات / الأخطاء وبعض الوظائف الأخرى (ntoskrnl.exe ، ntkrnlmp.exe ، ntkrnlpa.exe ، ntkrpamp .إملف تنفيذى ).
برامج تشغيل الأجهزة برامج تشغيل الأجهزة المادية / المنطقية / الافتراضية: نظام الملفات والشبكة والقرص وبرامج التشغيل الأخرى.
النظام الفرعي للرسوم / الإطارات (نظام النوافذ والرسومات) نظام فرعي لدعم الإطارات والرسومات يوفر دعمًا لوظائف الرسومات. واجهة المستخدم(واجهة المستخدم الرسومية ، واجهة المستخدم الرسومية). (win32k.sys)
طبقة تجريد الأجهزة (HAL) يوفر الاستقلال عن أجهزة النظام الأساسي ، ويعزل مكونات kernel عن التفاصيل المعدات. (hal.dll)

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

يبقى السؤال: هل تتفاعل جميع مكونات وضع kernel مع الأجهزة حصريًا من خلال طبقة HAL؟ هل هناك استثناءات؟ على الويب ، توفر العديد من المصادر رسومًا بيانية تتفاعل فيها برامج تشغيل محول الرسومات مع بطاقات الفيديو كما لو كانت "مباشرة" ، متجاوزة HAL. بقدر ما أتذكر ، تم منح الرسومات الأولوية القصوى في بعض إصدارات Windows ، لذلك تم تقسيمها إلى فئة منفصلة من الأجهزة التي تعمل مباشرة مع محول الرسومات، وتم ذلك من أجل الإسراع واجهة المستخدم الرسوميةالأنظمة.

مستويات طلب المقاطعة (IRQL)

من بين الآليات الداخلية الرئيسية التي تحدد عمل نظام التشغيل Windows ، هناك موضوع مهم جدًا لفهم مبادئ تشغيل برامج التشغيل ، والتي من غير المرجح تجاوزها. هذه الآلية تسمى مستوى طلب المقاطعة(مستوى طلب المقاطعة ، مستوى IRQ ، IRQL) ويصعب فهمه ، لذا فإن دراسته المتعمقة تتجاوز نطاق المواد المقدمة ، ومع ذلك ، في هذه المقالة سنحاول تلخيصًا (حسنًا ، في المستقبل سنحاول سيخصص لها مقالة منفصلة). بصراحة ، ما زلت مرتبكًا بشأن مفهوم IRQL ، لذلك سأذكر فهمي الخاص بشكل منهجي ، خطوة بخطوة ، بناءً على المعرفة المكتسبة في كل مرحلة من المراحل.
لطالما ارتبط مصطلح المقاطعة معي بالوضع الحقيقي لتشغيل المعالج ، والانتقال إلى أيام نظام التشغيل MSDOS ، حيث كان كل شيء بسيطًا للغاية: كانت هناك مجموعة من 256 مقاطعة متوفرة من خلال جدول متجه المقاطعة. كانت بعض هذه المقاطعات عبارة عن أجهزة ، على التوالي ، تم إنشاؤها بشكل مستقل بواسطة بعض أحداث الأجهزة الخارجية ، بينما كان البعض الآخر عبارة عن برمجيات ، على التوالي ، يمكن استدعاؤها من رمز التطبيق. يمكن إعادة تعريف الإدخالات في جدول المقاطعة ، أي أن متجه معالج المقاطعة كان متاحًا للتغيير حسب الرغبة إلى إجراء المعالجة الخاص به. لم تكن مفاهيم مثل مستوى طلبات المقاطعة موجودة ، وكان كل شيء بسيطًا وواضحًا. ومع ذلك ، مع تطور المعالجات وأنظمة التشغيل ، ظهر الوضع المحمي أولاً ، ثم Windows ، منذ تلك اللحظة بدأ كل شيء يصبح أكثر تعقيدًا بسرعة.
فجأة ، ظهر نوع من الجدول في الإصدارات الأولى من Windows 95 / NT (يتكون من 32 مستوى طلب مقاطعة) ، والتي تم تصنيف مستوياتها من أدنى 0 (خامل) إلى أعلى 31 (مرتفع):

اسم فصل غاية مستوى Intel x86-64
عالي المعدات أعلى مستوى. NMI وأنواع أخرى. 31
قوة المعدات أحداث انقطاع التيار الكهربائي 30
IPI المعدات إشارة المعالجات. إشارات التواصل بين المعالجين. 29
ساعة المعدات دورة مؤقت النظام 28
حساب تعريفي المعدات مراقبة الأداء. مؤقت تشكيل النواة (آلية لقياس أداء النظام). 27
جهاز المعدات DIRQL (أجهزة IRQL). مقاطعة أجهزة الجهاز. 3-26
إرسال برنامج عمليات الجدولة / استدعاءات الإجراءات المؤجلة (DPCs). 2
APC برنامج استدعاءات الإجراء غير المتزامن. 1
سلبي برنامج المستوى السلبي. لا توجد انقطاعات. مستوى تنفيذ التعليمات البرمجية في وضع المستخدم العادي 0

كما ترى ، هناك ميزة مثيرة للاهتمام للغاية في الجدول أعلاه: يتم الجمع بين كل من مستويات البرامج والأجهزة (0-2 هي مستويات البرامج ، و3-31 هي مستويات الأجهزة).

IRQL هي سمة برمجة خاصة قدمها مطورو Microsoft. لا تحتوي هذه الآلية على أي دعم للأجهزة من المعالج. يدير النظام بشكل مستقل جميع أنواع المقاطعات التي تحدث من خلال آلية تعيين مستويات المقاطعة لوحدة التحكم في مقاطعة الأجهزة (PIC) ومستويات البرامج الخاصة بها في جدول مستوى مقاطعة واحد مستقل عن الأجهزة.

ويترتب على هذا البيان أن النموذج خاص به ، وبرمجياته ، والمستويات الموجودة فيه غير مرتبطة بأي مواصفات للأجهزة ، وهذا يسمح للنظام بتجميع أنواع المقاطعات والأجهزة غير المادية في تسلسل هرمي واحد للأولويات. تُستخدم مستويات IRQL المنخفضة (غير الأجهزة / البرامج) (PASSIVE ، APC ، DPC / DISPATCH) لمزامنة الأنظمة الفرعية لبرامج نظام التشغيل: تشغيل عمليات الجدولة مثل تبديل مؤشر الترابط أو معالجة إكمال الإدخال / الإخراج. دعونا نلقي نظرة عليها بالتفصيل:

  • 0th (الأدنى) أولوية IRQL (سلبية):هو مستوى طلب المقاطعة النموذجي الذي يتم فيه العمل في نظام التشغيل ، سواء في وضع المستخدم أو في وضع kernel. الكود (البرنامج) قيد التنفيذ مستوى معين، يمكن ببساطة مقاطعتها (استباقها) بأي شيء: على سبيل المثال ، يتم استباق الخيوط التي يتم تنفيذها بمستوى IRQ PASSIVE بواسطة المجدول بعد انتهاء الوقت الكمي المخصص لها.
  • APC و DPC / DISPATCH IRQLs هي مستويات مقاطعة للبرامج مرتبطة بالمجدول.
  • المستوى 1 IRQL (APC):في هذا المستوى ، يتم تنفيذ ما يسمى بإجراءات APC ، أي الإجراءات التي يتم تنفيذها بشكل غير متزامن في سياق مؤشر ترابط معين ، بمعنى آخر ، تنظيم الإدخال / الإخراج غير المتزامن ، أو العنوان / الانتظار حتى يتم إصدار أي (خارجي ، عالمي) كائنات النظام. لا يؤدي استخدام وظائف APC (على سبيل المثال ، WaitForSingleObjectEx) في الكود إلى التنفيذ الفوري للوظيفة ، وبدلاً من ذلك ، يدخل الخيط (في سياق تنفيذ الوظيفة) حالة خاصة ويتم إنشاء مقاطعة برنامج APC ، يتم وضع استدعاء الوظيفة في قائمة انتظار داخلية. في المرة التالية التي يحين فيها تشغيل مؤشر الترابط هذا ، يتم تنفيذ وظيفة APC المجدولة في طبقة APC. وبالتالي ، لا تتلقى الخيوط التي تعمل في طبقة APC طلبات من طبقة APC الخاصة بها ، والتي يستخدمها النظام لعمليات إكمال الإدخال / الإخراج.
  • المستوى 2 IRQL (DPC / إرسال):
    • تُستخدم لمعالجة استدعاءات الإجراءات المؤجلة (DPCs): استدعاءات الإجراء المؤجلة هي إجراءات رد الاتصال التي تم تأجيلها للتنفيذ حتى حدوث تبديل إلى مستوى IRQL DISPATCH ؛ عادةً ما يتم طلب DPCs من IRQLs عالية لأداء عمل إضافي لا يكون وقت وحدة المعالجة المركزية فيه حرجًا. هذه مرحلة مهمة جدًا للأداء ، والآن سأشرح السبب. تحاول برامج تشغيل الأجهزة تنفيذ أقل عدد ممكن من العمليات داخل إجراءات خدمة المقاطعة الخاصة بهم (ISRs) حتى لا تستغرق وقتًا طويلاً على مستوى DIRQL ، وبالتالي لا تمنع المقاطعات الأخرى ولا تبطئ ، نتيجة لذلك ، النظام بأكمله .

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

      إذا فهم السائق أن هناك حاجة إلى عمل إضافي ، الأمر الذي يستغرق وقتًا طويلاً للمعالج ، فإنه يطلب DPC وينقل هذه المهمة إليه. عندما ينخفض ​​IRQL إلى DISPATCH ، يتم استدعاء وظيفة برنامج التشغيل المؤجل مرة أخرى وتقوم ببقية المعالجة. من خلال تنفيذ خوارزمية مماثلة على مستوى IRQL DISPATCH ، يقضي السائق وقتًا أقل على مستوى DIRQL ، وبالتالي يقلل من وقت التأخير لمعالجة المقاطعة الخاصة به ، وبالتالي تحريره لأجهزة النظام الأخرى.

    • تستخدم لتنفيذ مهام الجدولة: كما تعلم ، تقوم أنظمة تشغيل Windows NT بتنفيذ مهام متعددة وقائية ، مما يعني أن كل عملية تعمل على نظام التشغيل مخصصة للتنفيذ وقت محدد. نظرًا لأن IRQL لجدولة مؤشر الترابط و DPC هي 2 ، فهي أعلى من أولوية سلاسل رسائل المستخدم (التنفيذ على المستوى 0). في المقابل ، تكون أولوية المجدول أقل من أولوية مقاطعات الأجهزة (المقاطعات من الأجهزة) ، أي أنه يمكن مقاطعتها بسبب مقاطعات الأجهزة.

حسنًا ، لكني ما زلت لا أفهم لماذا لم يكن من الممكن التخلي عن كل هذه المستويات وإنشاء نموذج قائمة انتظار "مسطح" ، أو أداء كل هذه الأنواع من المهام فور ظهورها؟ لنحاكي حالة العمل:
تخيل بعض التعليمات البرمجية مثل برنامج صغيرمكتوب "على الركبة". لذلك أطلقناها للتنفيذ ، على التوالي ، تم تشكيل عملية في نظام برنامجنا ، وفي سياقها بدأ تنفيذ الموضوع الرئيسي. يتم تشغيل مؤشر ترابط نموذجي (وضع المستخدم أو وضع kernel) عند أدنى مستوى لـ IRQL PASSIVE. خلال تنفيذ مؤشر الترابط ، تقوم الساعة (شريحة المؤقت) بشكل دوري بإنشاء المقاطعات الخاصة بها لحساب الفواصل الزمنية ، والتي تُستخدم للإشارة إلى نظام التشغيل بأن فترة زمنية محددة قد مرت. يتم تنفيذ إجراء معالجة مقاطعة الساعة على مستوى IRQL CLOCK ، والذي (إذا نظرت إلى الجدول) يكون أعلى في الأولوية من معظم المستويات: مستوى DISPATCH ، الذي يقوم بتشغيل المجدول ، والمستوى السلبي الذي يدير برنامجنا. وهكذا ، يستبدل المؤقت باستمرار عمل كل من المجدول وبرنامجنا. مع مرور كل علامة في جهاز ضبط الوقت ، يقلل روتين مقاطعة جهاز ضبط الوقت المتبقي من جهاز ضبط الوقت هذه اللحظةوقت موضوع المستخدم لدينا الكم. في الوقت الذي تنخفض فيه الشريحة الزمنية لمؤشر الترابط المنفذ إلى الصفر ، يقوم معالج مقاطعة الساعة بإنشاء مقاطعة مستوى DISPATCH ، مما يتسبب في تشغيل المجدول لتحديد مؤشر الترابط التالي لتنفيذه. عند إنشاء مقاطعة مستوى DISPATCH ، يقوم معالج مقاطعة المؤقت بإنهاء تنفيذ التعليمات البرمجية الخاصة به ويتم إرجاع التحكم إلى نواة النظام. يجد kernel المقاطعة التالية ذات المستوى الأعلى من الأولوية في قائمة انتظار الطلبات ، والتي تكون في وضع الانتظار. تتم خدمة كل مقاطعة بدورها. عندما تتم خدمة كافة المقاطعات فوق مستوى DISPATCH ، يتم تنفيذ روتين مقاطعة DISPATCH. معالج المقاطعة هذا يعالج قائمة DPC ثم يستدعي المجدول. يكتشف المجدول أن الوقت الكمي لمؤشر الترابط الحالي قد تم استنفاده ، أي أنه تم تقليله إلى الصفر ، وبعد ذلك يقوم المجدول بتنفيذ خوارزمية الجدولة لتحديد سلسلة المحادثات التالية لتنفيذه. سيتم تنفيذ رمز الخيط الذي تم تعيينه ليتم تنفيذه عندما ينخفض ​​النظام إلى مستوى IRQL PASSIVE.
هذه هي الطريقة التي يتم بها تنفيذ الأولويات ، وبالتالي ، تعدد المهام الوقائي. تخيل الآن أنك قمت بإزالة التسلسل الهرمي لمستويات طلبات المقاطعة من النظام ، كيف سيتصرف النظام في هذه الحالة؟ في هذه الحالة ، سيكون من غير الواضح ما الذي يجب تنفيذه ومتى ، سيقوم النظام بتنفيذ جميع المهام الواردة بدوره ، مما قد يؤدي إلى حقيقة أن الخيوط يمكن بسهولة استباق المجدول وبالتالي تدمير أو تعطيل المهام المتعددة الوقائية بشكل عام ، مما قد يؤدي إلى وراء عملية غير متوقعة لنظام التشغيل. هكذا:

IRQL هو مستوى أولويات الأجهزة والبرامج المستخدمة للمزامنة في أنظمة تشغيل عائلة Windows ، أي أن مستويات IRQL هي الطريقة الرئيسية المستخدمة لتحديد أولويات جميع الإجراءات التي يتم تنفيذها في نظام التشغيل Windows طوال دورة العمل.

على التوالى:

يشير IRQL إلى أولوية الكود الذي يعمل على المعالج فيما يتعلق بالمقاطعات والأحداث الأخرى غير المتزامنة (المفاجئة).

الغرض من مستويات IRQL في النظام هو كما يلي:

  1. التقنيع: تسمح لك زيادة مستوى المقاطعة بقطع (إخفاء) مستويات مقاطعة الأجهزة الأساسية على وحدة التحكم PIC. يتيح لك هذا تجاهل المقاطعات التي تحدث في المستويات الأدنى مؤقتًا ، وبالتالي كسب الوقت لتنفيذ روتين مقاطعة الأجهزة في هذا المستوى.
  2. تزامن الأجهزة: مزامنة البيانات بين الخيوط التي تعمل على معالجات / نوى مختلفة في نظام متعدد المعالجات.
  3. توقيت البرنامج: لتحديد متى يمكن خدمة إجراءات APC / DPC المختلفة ، لتحديد متى يمكن صيانة تطبيقات وضع المستخدم.

وبالتالي ، على المستوى العالمي ، تسمح آلية IRQL لروتين فرعي لنظام التشغيل بما يلي:

  • إدارة إعادة الدخول (إعادة الدخول)
  • تأكد من أنه يمكن أن يستمر في العمل دون أن يتم استباقه (استباقه) من قبل بعض الأنشطة الأخرى.

مزامنة العملية هي آلية تسمح لك بضمان سلامة المورد (ملف ، بيانات في الذاكرة) عند استخدامه بواسطة عدة عمليات أو خيوط بترتيب عشوائي.

حسنًا ، ولكن كيف يؤثر ذلك على السائقين؟ نحن نعلم أن برامج التشغيل يمكن أن تكون في وضع المستخدم ووضع kernel ، على التوالي ، يتم تشغيلها في وضع المستخدم وفي وضع kernel. من هذا يتبع ما يلي:

يمكن تشغيل كود برنامج التشغيل بمستويات مختلفة من IRQL.

وهذا يؤدي إلى استنتاجين مهمين إلى حد ما:

  1. كود السائق هو استباق وقابل للمقاطعة. مثل أي كود آخر في النظام ، يمكن مقاطعته في أي وقت بعد نهاية الشريحة الزمنية المخصصة ؛
  2. يجب أن يستخدم رمز السائق مجموعات معينة وظائف النظاماعتمادًا على مستوى IRQL الذي يتم تنفيذه فيه.

تخيل موقفًا يتم فيه تنفيذ رمز برنامج التشغيل عند مستوى منخفض من IRQL ، وتعديل بعض الكائنات (على سبيل المثال ، ملف file.txt) ، ثم يقوم رمز آخر في IRQL أعلى فجأة بمقاطعة تنفيذه وتعديل نفس file.txt ببيانات مختلفة. عندما يعود التحكم إلى برنامج التشغيل الخاص بنا ، فإنه سيستمر في تعديل الملف ببياناته الخاصة ، وبالتالي الكتابة فوق البيانات التي جاءت من مصدر آخر. وبالتالي ، سيدخل الملف في حالة غير متسقة. تم إدخال كائنات نظام التزامن المختلفة لحل هذه المشكلات. لكي تقوم التعليمات البرمجية على مستوى kernel بتعديل أنواع معينة من البيانات ، كائنات كائن المزامنة (mutex) ، يجب أن تحصل أولاً على ملكية الأقفال.

مفهوم السائق

لم يتم تصميم جوهر نظام التشغيل Windows للتفاعل مع الأجهزة بمفرده.

وفقًا لذلك ، الاستنتاجات التالية من هذا البيان واضحة: واجهات منفصلة مطلوبة لتفاعل النظام مع الأجهزة ، وربما حتى مجموعة معقدة من عدة واجهات. تم تطوير مفهوم السائق لحل مشكلة الاقتران ويستخدم في معظم النماذج الأنظمة الحديثة، فهو يعتمد على العمل في مساحة عنوان النواة لرمز خاص يضمن تفاعل نواة النظام مع أي نوع من الأجهزة المنطقية / المادية.
نظرًا للتوجه العام للمورد ، سنغطي في المقالة تفاصيل برامج تشغيل نظام التشغيل Windows فقط. وذلك ل برامج تشغيل الويندوز، نظرًا لأنه ، بشكل عام ، محركات أنظمة التشغيل الأخرى ، فإن العبارات التالية صحيحة:

برنامج التشغيل (Driver) - البرنامج الذي بواسطته يتمكن نظام التشغيل (برامج المستخدم ، النواة والمكونات الأخرى) من الوصول إلى وظائف بعض الأجهزة المادية أو المنطقية.

نفس الشيء ، لكن بعبارة أخرى:

برنامج التشغيل - واجهة بين رمز وضع المستخدم ورمز وضع kernel ووظائف الجهاز الفعلية / المنطقية / الافتراضية.

يسلط أحد التعريفات المذكورة أعلاه الضوء على ميزة مهمة للسائق: من الخطأ التفكير في أن السائق يتفاعل فقط مع جهاز مادي ، حيث لا يتعين على السائق توفير الوصول إلى وظائف أي جهاز ، ويمكنه أيضًا توفير وظائف البرنامج فقط. ومن أمثلة هذه الحلول برامج التشغيل المثبتة في النظام بواسطة برامج مكافحة الفيروسات وأنظمة تشفير البيانات وأنظمة المراقبة. الخوارزمية العامةيتم تشغيل أي برنامج تشغيل على النحو التالي: التطبيقات ، من خلال وظائف واجهة المستخدم الخاصة (في Windows ، هذا هو Win32 API) أو طلبات الإدخال / الإخراج ، الوصول بشكل غير مباشر / مباشر إلى وظائف برنامج تشغيل الجهاز. يوفر السائق ، بدوره ، الوصول إلى الميزات الوظيفية للجهاز محل الاهتمام ، كما يتحكم في عملية التفاعل بين طلبات التطبيق والجهاز نفسه. بطبيعة الحال ، يجب على السائق تحديد (وصف) جميع مبادئ التفاعل مع الجهاز المخدوم (التابع ، الخاص) ، يجب أن تكون هناك مجموعة من البيانات حول الكائن المُدار ، والتعليمات (مجموعة من الأوامر) ، والتي بمساعدة منها يمكن لكود النظام / المستخدم تهيئة الجهاز بشكل صحيح والبدء في التفاعل معه.

تحميل برامج التشغيل عند بدء تشغيل نظام التشغيل

سيكون من المثير للاهتمام معرفة في أي مرحلة من بدء تشغيل نظام التشغيل يبدأ برنامج تشغيل Windows الأول في التحميل ويبدأ في التشغيل؟ ومع ذلك ، في عرض تفصيلي ، هذه العملية ليست تافهة إلى حد ما ، وللتفهم العميق فهي تتطلب عكس رمز العديد من مكونات التمهيد ، بالإضافة إلى كل شيء ، من الضروري مراعاة العديد من النقاط ذات الصلة ، مثل: التمهيد التسلسل بسبب التبعية بين السائقين ، بسبب إمكانية تجميع السائقين في ما يسمى "مجموعات التحميل" ، يمكن تقسيم تحميل السائقين نفسه إلى عدة مراحل ، إلخ. في الوقت نفسه ، تجدر الإشارة إلى وجود كمية كبيرة من المواد على الويب فيما يتعلق بأنظمة التشغيل التي عفا عليها الزمن بالفعل ، لذلك سنحاول تحديث عملية التنزيل. برامج تشغيل الويندوزفي مثال نظام التشغيل Windows 7. (الأقرب إلي من حيث الروح). وبالنسبة للمبتدئين ، لن يضر التحدث عن المكونات الرئيسية نواة ويندوزتشارك بنشاط في عملية تحميل السائق:

  • مدير (مدير) الإدخال / الإخراج (I / O Manager)- وحدة نمطية kernel ، وهي جزء من النظام الفرعي التنفيذي ، الذي يتحكم في عمليات الإدخال / الإخراج ، ويوفر تجريدًا للأجهزة المادية والمنطقية لتطبيقات المستخدم و مكونات النظام A الذي يربط تطبيقات وضع المستخدم بالسائقين. يتحكم في مراحل عملية تفاعل السائق. يتم تنفيذ تبادل البيانات بالكامل لمدير الإدخال / الإخراج مع السائقين عن طريق استدعاء إجراءات رد الاتصال الخاصة بالسائق وتمريرها بنية بيانات IRP موحدة ، والتي تصف جوهر المكالمة بالكامل للسائق ؛
  • مدير التوصيل والتشغيل (مدير PnP)- وضع kernel ووحدة نمط المستخدم ، والتي تعد جزءًا من النظام الفرعي التنفيذي ، وهي المسؤولة عن إضافة الأجهزة والتعرف عليها وإزالتها في نظام التشغيل. يتفاعل جزء من وضع kernel مع باقي مكونات النظام وبرامج التشغيل أثناء عملية التثبيت (التمهيد) برمجةاللازمة لخدمة الأجهزة في النظام. جزء وضع المستخدم مسؤول عن التفاعل مع برامج وضع المستخدم (لتجربة مستخدم تفاعلية) في المواقف التي تتطلب تثبيت برامج تشغيل جديدة أو ضبط معلمات التشغيل في البرامج الموجودة. يدير توزيع موارد الأجهزة في النظام ، ويعرف أيضًا كيفية التعرف على الأجهزة ، والاستجابة لاتصالها / فصلها ، وتحميل برامج التشغيل المناسبة عند اكتشاف أجهزة جديدة ؛
  • مدير مراقبة الخدمة (SCM)- عملية نظام مسؤولة عن إنشاء الخدمات وبرامج تشغيل أنظمة التشغيل وحذفها وبدء تشغيلها وإيقافها. كما يوفر: تشغيل سجل الأحداث ، ودعم تقنية استدعاء الإجراء البعيد (RPC) ؛

هذان المديران ، أي مدير I / O ومدير PnP ، يتفاعلان بنشاط مع بعضهما البعض.
سنقوم الآن بوصف عملية تحميل نظام التشغيل ، ومع ذلك ، لن نقوم بذلك بالشكل الذي اعتدنا عليه ، لكننا سنلاحظ بإيجاز النقاط الرئيسية المتعلقة بتشغيل المكونات الموصوفة لنظام التشغيل مع برامج التشغيل:

  1. يقوم Bootmgr (.efi) بتحميل وحدة winload (.efi) ويمرر التحكم إليها.
  2. يفحص Winload (.efi) خلية التسجيل HKEY_LOCAL_MACHINE \ النظام \ الخدماتويحصل على قائمة بجميع برامج التشغيل المثبتة على النظام. تحتوي خلية التسجيل هذه على مفاتيح يتم تعيينها لبرامج التشغيل المستهدفة ، وتحتوي على العديد من الإعدادات المتعلقة ببرنامج التشغيل مثل Group ، و Start ، و Type ، و LoadOrderGroup ، و DependOnGroup ، و DependOnServices ، والتي تحدد معايير معينة لتحميل برنامج التشغيل.
  3. يقوم Winload (.efi) بتحميل برامج التشغيل الضرورية للمرحلة الأولية من تحميل / تشغيل نظام التشغيل ، مثل برامج تشغيل وحدة التحكم في محرك الأقراص وبرامج تشغيل نظام الملفات. من الواضح أن مثل هذه المحركات لها الأولوية القصوى ، نظرًا لأنها تنشئ أساسًا لتحميل برامج تشغيل أخرى ، وبالتالي ، نظرًا لهذه الأسباب وغيرها ، يجب أن تكون في الذاكرة عند نقل التحكم في الوقت إلى النواة. وفقًا لذلك ، يتم تمييزها بنوع خاص SERVICE_BOOT_START. السائقين ل هذه المرحلةبدء التنزيل حسب المجموعات التي ينتمون إليها.
  4. يقوم Winload (.efi) بتحميل النواة مباشرة من ntoskrnl.exe ويمرر التحكم إليه.
  5. يقوم kernel بتحميل I / O Manager ومدير PnP.
  6. يقوم مدير I / O بإنشاء كتالوج عام. يتم استخدام هذا الدليل لاحقًا لتسجيل كائنات الجهاز.
  7. يبدأ مدير PnP برامج التشغيل التي تم تحميلها بالفعل في الذاكرة في الخطوة السابقة (من النوع SERVICE_BOOT_START) عن طريق استدعاء إجراء DriverEntry الخاص بكل برنامج تشغيل. في هذه المرحلة ، يتم أيضًا تحميل برامج التشغيل التابعة.
  8. ينشئ مدير PnP شجرة أجهزة النظام ، ويجتازها من الجذر ، ويحمل برامج تشغيل الأجهزة التي لم يتم تحميلها بعد.
  9. يقوم مدير PnP بتحميل برامج تشغيل الأجهزة غير المحملة المتبقية ، بغض النظر عن قيمة المعلمة Start. العديد من برامج التشغيل هذه من النوع SERVICE_DEMAND_START.
  10. يقوم مدير PnP بتحميل برامج تشغيل الوظائف المتقدمة. تتضمن برامج التشغيل هذه برنامج تشغيل محول الفيديو وبرامج تشغيل الأجهزة الخارجية وبرامج تشغيل مكدس TCP / IP. هذه المحركات من النوع SERVICE_SYSTEM_START.
  11. يقوم kernel بتحميل خدمة النظام الفرعي Session Manager (SMSS) ، والتي بدورها تقوم بتحميل إدارة التحكم في الخدمة (SCM). تفحص SCM خلية التسجيل ( HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ الخدمات) وبناءً على المعلومات الواردة ، يقوم بتركيب قاعدة بيانات داخلية للخدمات / برامج التشغيل ، ويشكل واجهة برمجة لخدمة الخدمات / برامج التشغيل المثبتة. يقوم SCM بتحميل برامج تشغيل غير تابعة لـ PnP (من نوع SERVICE_AUTO_START) "التشغيل التلقائي" وأي برامج تشغيل يعتمدون عليها.

من هذه الخوارزمية الكاملة لتحميل برامج التشغيل ، نحتاج إلى فهم القواعد الأساسية التالية: يمكن تحميل برنامج التشغيل (اعتمادًا على مرحلة / فئة برنامج التشغيل) باستخدام مدير PnP ، أو باستخدام SCM ، لكن مدير الإدخال / الإخراج يشارك بنشاط في عملية تشغيل السائق.

هيكل برنامج تشغيل Windows

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

السائق هو نوع من "مكتبة وضع النواة" ، المعتاد ملف DLL، الذي يحتوي رأس PE الخاص به (هيكل IMAGE_NT_HEADERS ، البنية الفرعية OptionalHeader) على قيمة الحقل الفرعي = 1 (IMAGE_SUBSYSTEM_NATIVE).

يمكن تعيين نوع النظام الفرعي عند الإنشاء وحدة قابلة للتنفيذ. يعد النظام الفرعي الأصلي نفسه نموذجيًا للتطبيقات التي تعمل وفقًا لقواعد غير القواعد التقليدية: في مرحلة إعداد الصورة للتنفيذ ، لا يحتاجون إلى تهيئة النظام الفرعي Win32. من بين أشياء أخرى ، يتم استخدام النظام الفرعي الأصلي لرمز وضع kernel ، وهو ما تمثله جميع برامج التشغيل تقريبًا.

عن طريق القياس مع DLL ، يمكننا أن نفكر بشكل مبسط في برنامج التشغيل كمجموعة من الإجراءات (تسمى بواسطة التطبيقات الخارجية) ، كل منها مصمم للتعامل مع نوع معين من الاستدعاء للسائق.

دعونا نجري استطرادا صغيرا ونتحدث عن مفهوم ككائن. الحقيقة هي أن العملية الكاملة لتشغيل برنامج تشغيل Windows ، مثل أي وحدات أخرى لنظام التشغيل ، تعتمد على مجموعة متنوعة من هياكل بيانات النظام. تتم إدارة هذه الهياكل بواسطة kernel ويمكن أن تحتوي على سلاسل أحداث وأحداث وطلبات I / O وأجهزة وكيانات أخرى.

  • أشياء. كتل البيانات التي تحتوي على سجلات خصائص كيان معين من نظام التشغيل. يديرها مرسل (مدير) الكائنات. تحتوي العديد من الكائنات على واصفات (واصفات) تجعل الكائن متاحًا للتطبيقات.
  • هياكل البيانات. كتل البيانات التي تحتوي على سجلات خصائص كيان معين من نظام التشغيل. تدار بواسطة النواة. يختلف عن الأشياء ، ولكن (بسبب القصور الذاتي) تسمى أيضًا الأشياء

هذا هو السبب (مع الكثير من الضغط) تسمى جميع الهياكل الداخلية لنظام التشغيل Windows كائنات.
الآن بالعودة إلى إجراءات برنامج التشغيل ، في الواقع ، ما يسمى بـ "إجراءات" برنامج التشغيل عبارة عن كائنات COM لاستعادة الاتصال التي تعالج الأحداث القادمة من كائنات البنية التحتية لنظام التشغيل المقابلة ، ويقال أن برنامج التشغيل يزود نواة نظام التشغيل بـ COM واجهة محددة بسلسلة من الإجراءات التي ينفذها السائق. التصدير ، أي نشر (إعلان) إجراءات السائق لمزيد من الوصول إليها من الخارج ، يتم من خلال التسجيل في إجراء السائق الرئيسي (قياسي لجميع السائقين) ، يسمى DriverEntry.

الغرض الرئيسي من وظيفة DriverEntry هو أن يقوم مطور برنامج التشغيل بتنفيذ ملء الكائن (سجلات البنية) للسائق بمؤشرات للإجراءات الداخلية المختلفة للسائق التي توفر وظيفة أو أخرى. في إجراء DriverEntry ، يمكنك تعيين (تغيير) اسم كائن الجهاز ، والذي تستخدمه التطبيقات بعد ذلك لفتح مقبض الجهاز وإرسال حزم طلبات الإدخال / الإخراج (IRPs).

وظيفة DriverEntry هي في الواقع وظيفة تهيئة عامة ويتم تنفيذها مرة واحدة أثناء تحميل برنامج التشغيل. يمكن أن تكون هذه الوظيفة بسيطة قدر الإمكان ، أو تحتوي على وظائف متقدمة (إجراءات فرعية إضافية) ، مثل ، على سبيل المثال ، إنشاء كائنات إضافية للجهاز ، واستقصاء الجهاز ، ومراحل إضافية من التكوين والتهيئة للجهاز (الأجهزة).
بعد نشر الوظائف الخاصة به ، يصبح برنامج التشغيل النواة "المرئية" لنظام التشغيل. من أجل عدم تعقيد نظرية معقدة بالفعل ، سنفترض أنه من وجهة نظر Windows kernel ، فإن أي جهاز هو نوع من "الجهاز الظاهري" المجرد الذي يعمل بمجموعة قياسية من الأوامر ويمكن الوصول إليه من خلال الواجهات الداخلية . كما ذكرنا سابقًا ، يوجد في نواة نظام التشغيل Windows وحدة نمطية خاصة من النظام التنفيذي تسمى مدير I / O، والذي يوفر واجهة تشغيل تفاعلي واحدة لجميع برامج تشغيل وضع kernel ، بما في ذلك برامج تشغيل الأجهزة الفعلية وبرامج تشغيل الأجهزة المنطقية وبرامج تشغيل نظام الملفات. وفقًا لذلك ، يدير نظام الإدخال / الإخراج kernel برامج التشغيل ، أو يمكننا القول أن برامج التشغيل تستخدم واجهة مدير الإدخال / الإخراج لتعمل في نظام التشغيل. من ناحية أخرى ، يوفر برنامج التشغيل تحويل (تحويل) "الأوامر القياسية" القادمة من نظام التشغيل إلى أوامر "يفهمها" الجهاز الذي يتحكم فيه (إن وجد) ، والعكس صحيح. يحدد مدير الإدخال / الإخراج مجموعة (مجموعة) من الإجراءات التي يمكن تنفيذها في برنامج التشغيل للأسباب التالية:

يحتوي برنامج التشغيل على مجموعة من إجراءات رد الاتصال التي توفر مراحل مختلفة من عملية الإدخال / الإخراج.

لفهم أعمق للوظيفة التي يجب أن يوفرها السائق ، دعنا نقدم مخططًا عامًا لإجراءات المحرك الرئيسي:

في الواقع ، بالنظر إلى الرسم البياني أعلاه ، يصبح من الواضح تمامًا أنواع التفاعل ، أي مجموعات الإجراءات ، التي يجب أن ينفذها برنامج تشغيل Windows المجرد. دعنا الآن نذكر بعض هذه الإجراءات:

  • التهيئة - يبدأ I / O Manager إجراء تهيئة (يسمى DriverEntry) والذي يهدف إلى تنفيذ إجراءات على الإعداد الأوليكائن السائق ، وتسجيل جميع إجراءات السائق الأخرى ، وتكوين العبد ، وتنفيذ الإجراءات الأخرى نيابة عن المطور.
  • إضافة جهاز - أضف كائن جهاز (اختياري). في هذا الإجراء ، يقوم برنامج التشغيل عادةً بإنشاء كائنات الجهاز لكل جهاز يقوم بخدماته السائق. تُستخدم عادةً لبرامج تشغيل التوصيل والتشغيل.
  • المعالجة - مجموعة من إجراءات الإرسال (معالجة حالات مختلفة). يتم وصف الفتح والإغلاق والقراءة والكتابة على الجهاز وحالات طاقة المعالجة وأحداث PnP وحالات النظام بالإضافة إلى بعض أنواع التفاعل الأخرى في إجراءات الإرسال. في الواقع ، هذه هي الإجراءات الرئيسية ، حيث تتم معالجة عمليات الإدخال / الإخراج النموذجية من خلال إجراءات الإرسال.
  • بدء (البداية) الإدخال / الإخراج هو المرحلة الثانية من معالجة طلب الإدخال / الإخراج إلى جهاز ، بدءاً مباشرةً في الإدخال / الإخراج للجهاز. يمكن استخدام هذا الإجراء لبدء نقل البيانات من / إلى الجهاز.
  • إجراء خدمة المقاطعة - عندما يقوم الجهاز بإنشاء مقاطعة ، يقوم مدير المقاطعة بنقل التحكم إلى هذا الإجراء.
  • معالجة استدعاء الإجراء المؤجل - يتولى روتين DPC الجزء الأكبر من معالجة المقاطعة بعد تنفيذ ISR. يتم تشغيل استدعاءات الإجراءات المؤجلة بمستويات IRQL أقل (DPC / DISPATCH) من إجراء ISR نفسه. يتم تنفيذ خوارزمية مماثلة لتجنب حجب المقاطعات الأخرى.
  • روتين إكمال الإدخال / الإخراج - قد يكون لبرنامج التشغيل متعدد المستويات إجراءات إتمام الإدخال / الإخراج التي تُعلم بإكمال معالجة IRP بواسطة برنامج التشغيل ذي المستوى المنخفض.
  • إجراءات إلغاء الإدخال / الإخراج - إذا كان من الممكن مقاطعة عمليات الإدخال / الإخراج ، فقد يحدد السائق واحدًا أو أكثر من هذه الإجراءات. عندما يتلقى برنامج تشغيل IRP لطلب إدخال / إخراج يمكن إلغاؤه ، فإنه يعيّن إجراء إلغاء IRP ويمر IRP عبر خطوات معالجة مختلفة يمكن للإجراء تغييرها أو إزالتها إذا كانت العملية الحالية غير قابلة للإلغاء.
  • روتين الإرسال السريع - عادةً ما توفر برامج التشغيل التي تستخدم مدير ذاكرة التخزين المؤقت بكثافة ، مثل برامج تشغيل نظام الملفات ، إجراءات مماثلة للسماح للنواة بتجاوز خوارزميات معالجة الإدخال / الإخراج الشائعة.
  • يجب تنفيذ إجراء إلغاء التحميل في كل محرك يعمل (عمليات تحرير / استعارة) مع موارد النظام حتى يقوم مدير الإدخال / الإخراج بإلغاء تحميل برنامج التشغيل من الذاكرة.
  • إجراء تنبيه إيقاف التشغيل - يسمح للسائق بتحرير جميع الموارد المشغولة عند إيقاف تشغيل النظام.

يصبح من الواضح أنه في عملية تطوير برنامج تشغيل Windows ، ليس من الضروري تنفيذ المجموعة الكاملة من الإجراءات الموضحة أعلاه ، فكل برنامج تشغيل فريد والمطور حر في توفير مجموعة التطبيقات الخاصة به التي يدعمها برنامج التشغيل. عند تحميل برنامج تشغيل في النظام باستخدام مدير PnP أو SCM ، يقوم مدير الإدخال / الإخراج بإنشاء كائن برنامج تشغيل في مساحة الاسم ويستدعي روتين تهيئة برنامج التشغيل (عادةً DriverEntry) الذي ينفذ خطوات تهيئة أخرى.

يمثل كائن برنامج التشغيل صورة برنامج التشغيل المحمّل في ذاكرة kernel ، ويتحكم النظام في برنامج التشغيل من خلال هذا الكائن.

يمثل كائن السائق رمز السائق والبيانات في النواة: من بين أشياء أخرى ، يقوم السائق بتصدير نقاط دخول إجراءاته من خلال هذا الكائن. يكتب إجراء تهيئة برنامج التشغيل إلى سمات هذا الكائن نقاط الدخول لجميع إجراءات برنامج التشغيل المُصدَّر. بمجرد التحميل ، يمكن للسائق إنشاء كائنات الجهاز لتمثيل الأجهزة أو حتى لتشكيل واجهة برنامج التشغيل. تقوم معظم برامج التشغيل بإنشاء كائنات الجهاز مثل هذا:

  • تقوم برامج تشغيل PnP بإنشاء كائنات الجهاز من خلال إجراءات إضافة الأجهزة الخاصة بهم عندما يعلمهم مدير PnP بوجود جهاز يديرونه.
  • تقوم برامج التشغيل غير PnP بإنشاء كائنات الجهاز عندما يقوم مدير الإدخال / الإخراج الخاص بهم باستدعاء إجراءات التهيئة الخاصة بهم.

عند إنشاء كائن من نوع "الجهاز" (الجهاز) ، يحتاج برنامج التشغيل إلى التعيين هذا الكائناسم. ثم يتم وضع هذا الكائن الذي تم إنشاؤه حديثًا في مساحة الاسم مدير الكائن(مدير الكائنات) ، والذي ، مثل مدير الإدخال / الإخراج (المدير) ، هو جزء من النظام الفرعي التنفيذي لـ kernel. تم تصميم مدير الكائنات للحفاظ على قاعدة بيانات لجميع موارد نظام التشغيل ممثلة ككائنات. يمكن تحديد اسم الكائن بشكل صريح بواسطة برنامج التشغيل نفسه ، أو يتم إنشاؤه تلقائيًا بواسطة مدير الإدخال / الإخراج. حسب الاصطلاح ، يجب أن تتواجد كائنات الجهاز في دليل \ Device لمساحة اسم إدارة الكائنات ، والتي لا يمكن الوصول إليها للتطبيقات من خلال Win32 API. ولكي يصبح كائن "الجهاز" متاحًا للتطبيقات ، يجب أن ينشئ المشغل في \ GLOBAL ؟؟ ارتباط رمزي لاسم هذا الكائن في دليل \ Device. عادةً ما تنشئ برامج التشغيل التي لا تدعم التوصيل والتشغيل ونظام الملفات ارتباطًا رمزيًا باسم معروف (على سبيل المثال ، \ Device \ VMwareKbdFilter). فقط بعد كل الإجراءات المذكورة ، يصبح برنامج التشغيل "مرئيًا" في النظام ومتاحًا للاتصال بواسطة تطبيقات المستخدم.

تفاعل السائق

كيف يمكن لبرنامج المستخدم التفاعل مع سائق في النظام؟ هناك طريقتان للقيام بذلك:

  1. ضمني - استدعاء دالة Win32 API عامة ؛
  2. صريح - طلب إدخال / إخراج مباشر للسائق ؛

حسنًا ، في الحالة الأولى ، كل شيء بسيط للغاية ، في تطبيق برنامجتسمى بعض وظائف Win32 API العادية (على سبيل المثال ، CreateFile) ، والتي ، بناءً على الكائن الهدف (ملف ، دليل) ، يمكنها استدعاء وظيفة التبادل مع برنامج التشغيل في سلسلة مكالماتها. في الواقع ، في هذه الحالة ، لا يحدد كود التطبيق نفسه مهمة التفاعل مع أي سائق ، فقط على طول سلسلة استدعاءات الإجراءات ، في مرحلة معينة ينتقل التنفيذ إلى وضع النواة ويتم استدعاء وظيفة السائق هناك. يظل كل هذا مخفيًا عن المطور ، ولكن من الممكن تتبع التفاعل باستخدام أدوات التصحيح.
الحالة الثانية أكثر إثارة للاهتمام ، فهي تحدث عندما لا تعني مكالمة السائق مكالمة غير مباشرة (عن طريق استدعاء وظيفة عامة) ، ولكن النقل باستخدام وظيفة خاصة (على سبيل المثال ، DeviceIoControl) لما يسمى طلب التحكم في الإدخال / الإخراج ، والذي ، بالإضافة إلى ذلك ، يبدأ في تكوين كتلة بيانات تسمى حزمة طلب الإدخال / الإخراج.

حزمة طلب الإدخال / الإخراج (IRP) هي بنية بيانات Windows kernel تحتوي على معلومات تصف طلب الإدخال / الإخراج.

بشكل رسمي ، IRP عبارة عن حزمة ، ولكنها في الواقع عبارة عن كائن kernel ، أي بنية بيانات (كتلة) مع مجموعة من الإجراءات لمدير الإدخال / الإخراج ، والتي توفر تبادل البيانات بين البرنامج والمحرك ، أو بين السائق والسائق. كما ذكرنا سابقًا ، تم تصميم بنية Windows بطريقة لا تسمح بالتفاعل المباشر بين برنامج وضع المستخدم والسائق ، لذلك يتم تقليل هذا التبادل إلى إرسال رمز IOCTL بواسطة البرنامج ، مما يؤدي بالفعل إلى يقوم مدير الإدخال / الإخراج بإنشاء حزمة طلب IRP. إن مدير الإدخال / الإخراج ، بصفته مسؤولاً عن التفاعل مع السائقين ، هو الذي يقوم بتشغيل IRPs. يتلقى مدير الإدخال / الإخراج طلب إدخال / إخراج من برنامج المستخدم ، ثم ينشئ IRP ويمرره إلى برنامج التشغيل المناسب.
تتكون حزمة IRP من جزأين:

  • جزء دائم
  • مكدس وضع الإدخال / الإخراج.

في الجزء الثابت ، يحتوي IRP على رمز دالة رئيسي و (ليس دائمًا) ثانويًا. Старшие коды: IRP_MJ_CREATE ، IRP_MJ_CLOSE ، IRP_MJ_READ ، IRP_MJ_WRITE ، IRP_MJ_CLEANUP ، IRP_MJ_DEVICE_CONTROL ، IRP_MJ_INTERNAL_DEVICE_CONTROL ، IRP_SCON_STOL تحتوي الحزمة أيضًا على مكدس موضع الإدخال / الإخراج - بنية IO_STACK_LOCATION خاصة تحتوي على معلمات معينة: هذه هي مجموعة الأجهزة التي ستعالج حزمة IRP هذه. علاوة على ذلك ، يتم إرسال هذه الحزمة بالتسلسل من جهاز إلى جهاز على طول المكدس. يشير أكثر من موضع مكدس واحد إلى أنه يمكن معالجة IRP بواسطة برامج تشغيل متعددة. تم تصميم "خلايا المكدس" الخاصة بـ IRP لتخزين المعلومات "المتغيرة" عند عبور حزمة IRP مكدس برنامج التشغيل. يمر IRP عبر الإجراءات المنشورة لكل سائق ، ويسترد كل منها المعلومات التي يحتاجها من موقع مكدس موضع الإدخال / الإخراج "الخاص به". تسمى إجراءات السائق تقليديًا "إجراءات رد الاتصال". كما ذكرنا سابقًا ، تخبر وظيفة التهيئة الخاصة بـ DriverEtnry (تنشر) النواة بأسماء هذه الإجراءات وبعد ذلك تسمي النواة نفسها هذا الإجراء أو ذاك في ظل ظروف معينة.
على عكس البرنامج القياسي ، فإن برنامج التشغيل ليس عملية كلاسيكية مع مساحة عنوان خاصة به ولا يحتوي على سلسلة تنفيذ. بدلاً من ذلك ، يتم تنفيذ وظيفة برنامج التشغيل في سياق مؤشر الترابط والعملية التي تم استدعاؤها. يعتمد سياق (مساحة تنفيذ التعليمات البرمجية) لبرنامج التشغيل على من يتصل (يستدعي) السائق. يمكن بدء الاستئناف:

  1. برنامج التطبيق (برنامج وضع المستخدم). في هذه الحالة ، يكون سياق تنفيذ برنامج التشغيل معروفًا تمامًا ، ويتطابق مع سياق برنامج التطبيق ؛
  2. سائق آخر (طرف ثالث). في هذه الحالة ، يكون تحديد سياق التنفيذ أكثر صعوبة ، ويمكن أن يكون معروفًا أو عشوائيًا ، ويعتمد على سياق تنفيذ وظيفة برنامج التشغيل المستدعي.
  3. مقاطعة الأجهزة / البرامج. في هذه الحالة ، يكون سياق التنفيذ عشوائيًا ، نظرًا لأن المقاطعة (وبالتالي التبديل إلى رمز برنامج التشغيل) يمكن أن تحدث عند تنفيذ أي رمز في نظام التشغيل تمامًا.

مرة أخرى ، على عكس البرنامج القياسي ، لا يمكن للسائق استدعاء وظائف Win32 API القياسية ، ولا يمكنه العمل إلا على الوظائف المتاحة في النواة التي تبدأ بالبادئات Ex .. ، Hal .. ، Io .. ، Ke .. ، Ks .. ، مم .. ، Ob .. ، Po .. ، Ps .. ، Rtl .. ، Se .. ، Zw .. وبعض الآخرين.

أنواع (أنواع) برامج تشغيل Windows

في عملية التطور ، وبالتالي تعقيد مفهوم السائق ، بدأ تقسيم السائقين إلى فئات (أو أنواع) حسب الغرض. فيما يلي أهمها:

  • سائقي الدرجة(برنامج تشغيل فئة) - برامج تشغيل تم تطويرها بواسطة Microsoft لفئة معينة من الأجهزة.
  • برامج تشغيل نظام الملفات(برامج تشغيل نظام الملفات) - برامج التشغيل التي تنفذ أنظمة الملفاتعلى وسائل الإعلام المختلفة.
  • السائقين القديمة(برامج التشغيل القديمة) - برامج تشغيل وضع kernel "القديمة" (المتوافقة مع إصدارات نظام التشغيل الأقدم) والتي تتحكم بشكل مستقل في الجهاز التابع بدون أي برامج تشغيل إضافية للأجهزة. لماذا لديهم مثل هذا الاسم؟ لأن هذا هو نوع من برامج التشغيل التي تم الاحتفاظ بها من الإصدارات الأولى من سطر أنظمة التشغيل Windows NT.
  • سائق الحافلة - برامج التشغيل التي توفر وظائف أي ناقل كمبيوتر (ISA و PCI و USB و IEEE1394 وغيرها) ؛
  • محركات التصفية(برنامج تشغيل الفلتر) - برامج التشغيل المستخدمة لمراقبة / تغيير منطق برنامج تشغيل آخر من خلال العمل مع البيانات التي تمر من خلاله.
    • أعلى محركات التصفية(محركات المرشح العلوي) - نوع فرعي من محركات المرشحات الموجودة أعلى المحرك الوظيفي في المكدس. تمر جميع الطلبات من خلال برامج تشغيل المرشحات العلوية ، مما يعني أنه يمكنهم تغيير و / أو تصفية المعلومات التي تنتقل إلى برنامج التشغيل الوظيفي ، ومن ثم ، ربما ، إلى الجهاز. ومن الأمثلة على ذلك برنامج تشغيل عامل التصفية الذي يراقب / يرشح حركة المرور ، ويقوم بتشفير / اعتراض طلبات القراءة / الكتابة. يتم استخدام برامج التشغيل هذه في جدران الحماية.
    • محركات تصفية القاع(محركات المرشح السفلي) - نوع فرعي من برامج تشغيل المرشحات ، يقع أسفل المحرك الوظيفي في المكدس. كقاعدة عامة ، يمر عدد أقل من الطلبات عبر محركات التصفية الأقل من محركات التصفية الأخرى ، لأن معظم الطلبات يتم تنفيذها وإكمالها بواسطة المحرك الوظيفي نفسه.
  • السائقين الوظيفية(سائق الوظيفة) - برامج التشغيل التي تعمل بشكل مستقل وتحدد جميع الجوانب المتعلقة بالجهاز.
  • برنامج تشغيل PnP (برنامج تشغيل PnP) - برنامج تشغيل يدعم تقنية التوصيل والتشغيل ؛
  • Minidriver (منفذ صغير ، زجاج صغير)(برنامج تشغيل المنفذ المصغر ، Minidriver ، برنامج تشغيل Miniclass) - برامج التشغيل التي تتعامل مع المهام المتعلقة بالجهاز المستهدف وتستخدم برامج تشغيل الفئة للتحكم في الجهاز. يعمل كجزء واحد من زوج من برامج التشغيل ، حيث تعمل هذه الفئة كبرامج تشغيل للأجهزة الطرفية تؤدي مهام معينة على الجهاز.

وفقًا لمستوى المكونات ، فإن الدوافع هي:

  • مستوى واحد - يتم تنفيذ معالجة الإدخال / الإخراج داخل وحدة واحدة قابلة للتنفيذ (برنامج تشغيل).
  • متعدد المستويات - يتم توزيع معالجة الإدخال / الإخراج بين العديد من برامج التشغيل.

تنقسم برامج تشغيل PnP تحت Windows إلى:

  • سائق الوظيفة
  • سائق الحافلة (سائق الحافلة)
  • سائق مرشح (سائق مرشح)

حسب وضع التنفيذ ، يتم تصنيف برامج تشغيل Windows:

  • برنامج تشغيل وضع المستخدم.
  • سائق وضع النواة.

نماذج السائق

طوال فترة وجود نظام التشغيل ، حاول المطورون توحيد وتبسيط تطوير برامج التشغيل. نتيجة لذلك ، ظهرت النماذج.

نموذج WDM

ذات مرة ، كان هناك اتجاهان رئيسيان لتطوير مفهوم برنامج تشغيل Windows:

  1. استخدم Windows 95/98 نموذج VxD (برنامج تشغيل الجهاز الظاهري) ؛
  2. في نظام التشغيل Windows NT3.51 ، تم تطوير نموذج برنامج تشغيل NT (برنامج تشغيل نمط NT ، برنامج تشغيل NT) بالتوازي.

ومع ذلك ، بدءًا من إصدار Windows 98 / NT4.0 ، قام المطورون بمحاولة توحيد (تعميم) تطوير برامج التشغيل ، ونتيجة لذلك تم استبدال النماذج المذكورة بنموذج WDM جديد.

WDM (طراز برنامج تشغيل Windows ، سائق ويندوزالنموذج) هو بيئة تطوير موحدة (إطار عمل) لبرامج تشغيل الأجهزة لنظام التشغيل Windows. تم إنشاؤه لتقليل متطلبات توحيد التعليمات البرمجية للسائقين.

كان نموذج WDM بمثابة خطوة في إعادة تعريف مجموعة برامج تشغيل Windows الكلاسيكية لتوفير الدعم لتقنيات Plug-and-Play و ACPI الثورية آنذاك. يتيح النموذج تحميل / تفريغ برامج التشغيل أثناء التنقل ، دون الحاجة إلى إعادة تشغيل نظام التشغيل ، وتطوير برامج التشغيل كملحقات (فلاتر) للمعيار سائقي النظام، وإدارة توفير الطاقة وتهيئة الجهاز بشكل أكثر مرونة ، وما إلى ذلك.
في إطار نموذج إدارة الطلب على المياه ، أي جهازيدعمه سائقان على الأقل:

  • سائق الوظيفة (سائق الوظيفة) - مسؤول عن جميع الميزات الوظيفية للجهاز الذي يتم تقديمه تقريبًا: عمليات الإدخال / الإخراج ، معالجة المقاطعة والتحكم في الجهاز ؛
  • سائق الحافلة - مسؤول عن الحفاظ على الاتصال بين الجهاز والكمبيوتر ، في الواقع ، دعم ناقل الاتصال (على سبيل المثال ، PCI ، USB ، إلخ).

نموذج WDF

طوال فترة التطوير ، خضع نموذج إدارة الطلب على المياه للعديد من التغييرات ، ونما بشكل ملحوظ. بدءًا من Windows Vista ، تم إجراء محاولة أخرى لتطوير مفهوم برنامج تشغيل Windows ، وهو نموذج WDM الذي كان موجودًا بالفعل في ذلك الوقت ، مما أدى إلى نموذج جديد (إضافة إلى WDM) يسمى WDF.

WDF (Windows Driver Foundation ، Windows Driver Foundation) هي بيئة تطوير (مجموعة من الأدوات) تسهل تطوير برامج تشغيل الأجهزة لأنظمة تشغيل Windows (Windows 2000 والإصدارات الأحدث).

كان هذا بسبب الحقيقة التي لا جدال فيها وهي أن المطورين فشلوا في تحقيق مستوى كافٍ من التجريد لنموذج WDM ، أي التكامل غير الكافي لنظام الإدخال / الإخراج الفرعي مع تقنية التوصيل والتشغيل وإدارة الطاقة. ترك هذا مطور برنامج التشغيل بعبء هائل يتمثل في مزامنة طلبات الإدخال / الإخراج نفسها مع أحداث التوصيل والتشغيل وطلبات الطاقة. من الواضح أن مزيدًا من التبسيط لنموذج السائق كان مطلوبًا. حلت WDF محل WDM وتعتبر أحدث طراز.
يقوم WDF بتنفيذ الميزات التالية:

  1. "إزالة" بعض فئات السائق التي ليست مهمة لوضع التنفيذ في وضع المستخدم ، مما قلل العدد الإجمالي للأعطال في النواة.
  2. تتم الآن معالجة الكثير من معالجة تفاعل نظام الإدخال / الإخراج الفرعي مع التوصيل والتشغيل وإدارة الطاقة من خلال الآليات المضمنة في نموذج WDF.
  3. توفير واجهات داخلية جديدة لنموذج WDF تسمح بالتجريد من واجهات النظام الأكثر صعوبة في الفهم ؛ في نموذج WDM / القديم ، من الصعب جدًا تنفيذ منطق بعض أجزاء التفاعل مع السائق دون تعلم جميع أساسيات بنية النواة المعقدة ، بينما يسمح لك WDF بأتمتة العديد من أنواع التفاعل ؛ يمكن الآن استبدال كمية كبيرة من التعليمات البرمجية عند تطوير برنامج تشغيل WDM باستدعاءات إجراءات WDF.
  4. القدرة على إنشاء سائق "أساسي". وجود قوالب تزود مطورًا تابعًا لجهة خارجية بالقدرة على تجاوز المعايير الفريدة لبرنامج التشغيل الخاص بهم ، وبالتالي تقليل وقت التطوير.

نموذج WDF ينقسم إلى قسمين:

  • UMDF (إطار برنامج تشغيل Kernel-Mode) هو بيئة تطوير برامج تشغيل في وضع kernel.
  • KMDF (إطار برنامج تشغيل وضع المستخدم) عبارة عن بيئة تطوير برنامج تشغيل في وضع المستخدم.

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



تحميل...
قمة