سؤال

هل لدى أي شخص أي كتب/برامج تعليمية قد تكون مفيدة للبدء في تطوير برامج تشغيل أجهزة Windows؟

بالنسبة لتطوير Win32/GUI البسيط، يبدو أن كتاب Petzold هو المرجع الأساسي.هل يوجد مثل هذا للسائقين؟

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

بيلي3

هل كانت مفيدة؟

المحلول

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

وهنا إدخال بلوق التي تستعرض مختلف الكتب: <لأ href = "http://blogs.msdn.com/iliast/archive/2006/10/25/Windows-Device-Drivers-Book-Reviews.aspx" يختلط = "noreferrer"> ويندوز برامج تشغيل الأجهزة مراجعات الكتب .

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

نصائح أخرى

لتعلم تطوير النواة بشكل جيد:

أ.الكثير من نماذج برامج النواة:

نموذج Windows DDK:

http://social.msdn.microsoft.com/Forums/en-US/softwaretesting/thread/08690203-1757-4129-b59a-6bae10bcdce8/

عينات WDK:

http://msdn.microsoft.com/en-us/windows/hardware/gg487428

أو فقط ابحث:

http://www.google.com/search?q=windows+ddk+samples

(لأن عنوان URL أعلاه قد يتغير، ولكن من المرجح أن يُرجع لك Google عنوان URL الأكثر ملاءمة/الذي يمكن الوصول إليه)

ب.الكثير من تقنيات تصحيح الأخطاء، والتي وجدت أن أفضلها هو VMware (أو VirtualBox) + Windbg + تصحيح أخطاء المنفذ التسلسلي:

http://www.google.com/search?q=windbg+vmware+kernel+debug

وهذه الورقة كلاسيكية لاستخدام VMWare + Windbg (Lord of the Ring0):

http://silverstr.ufies.org/lotr0/windbg-vmware.html

ج.بالإضافة إلى أدوات إدارة النظام التي أنشأها الآخرون:

http://technet.microsoft.com/en-us/sysinternals/bb545021

(في الماضي كان يسمى SysInternals الذي أنشأه مارك روسينوفيتش، المؤلف المشارك لكتاب "Windows Internal" - يجب قراءته!!)

http://technet.microsoft.com/en-us/sysinternals/bb963901

من هذه الأدوات سيكون لديك خيارات تصحيح هائلة.

د.انضم إلى القائمة البريدية لـ OSR (يعد ntdev نشطًا جدًا على وجه الخصوص، ولكن هناك آخرين مثل Windbg):

http://www.osronline.com/page.cfm?name=ListServer

ه.شاهد الكثير من مقاطع الفيديو المتعلقة بنظام Windows + kernel على القناة 9 (أرجعت Google أكثر من 1000 رابط):

http://www.google.com/search?q=site:channel9.msdn.com+kernel+video&num=100

F.منتدى المناقشة مثل:

http://social.microsoft.com/Forums/en-us/kernel/threads

http://social.msdn.microsoft.com/Forums/en-US/wdk/threads

اشتركت في مجلة OSR المجانية أيضًا (نسخة ورقية).لقد استلمت رسالتي منذ عام 1998 وحتى الآن - ويتم تسليمها في منتصف الطريق حول الأرض!

وأود أن البحث عن الدروس مع أمثلة غنية، مثل هذا واحد . جوهر في التنمية نوافذ السائق للحصول على صورة عن طبقات والمعاد توطينهم عنوة، IRQLs، وأيضا معرفة مصطلحات مثل برامج تشغيل عامل التصفية. إذا كنت تبحث عن رموز سبيل المثال، وهنا هو بلدي سبوديك رمز السائق: sf.net صلة . سوف تجد هناك برنامج تشغيل عامل تصفية (للوحة المفاتيح، keyb.c)، الطابور الفضاء النواة (queue.c) والتقنيات لإخفاء وجودها في النظام. إنها إرث (SYS) سائق بالرغم من ذلك.

وربما يجب عليك استخدام مؤسسة برنامج تشغيل Windows (WDF) الإطار الأخير تماما بدلا من إطار WDM السن. وهناك نقطة انطلاق جيدة بقراءة WDF نظرة عامة كلمة .

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

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

<اقتباس فقرة>   

والجذور الخفية ارسنال: الهروب والتهرب في الزوايا المظلمة للنظام

وينبغي أن يكون كافيا للحصول على انك بدأته أن يكون كود بعض التوالي التي لا "شيء" ثم بعد أن يكون لديك صورة عامة قد أسهب في الحديث عن موضوعات مثل - الفرق بين التخزين المؤقت / لا / الأساليب المباشرة وخصوصيات المرتبطة بها .

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top