دوره آموزشی درایورهای دستگاه لینوکس: خواندن، نوشتن و اشکالزدایی
2 ساعت 57 دقیقهپیشرفته2025-06-09
مدرسین

Kevin Dankwardt
Linux Leader, Embedded Linux Authority
جزئیات دوره
یکی از مهمترین وظایف هر سیستم عامل، اینه که بتونه سختافزارهای مختلفی که به سیستم وصل میشن رو مدیریت کنه؛ از چیزای ساده مثل پورتهای سریال و کیبورد گرفته تا سختافزارهای پیچیدهتر مثل دوربینهای USB، هارد دیسکها و دستگاههای شبکهای.
اگه بفهمی در لینوکس درایورهای دستگاه چطور کار میکنن، میتونی خیلی بهتر درک کنی که هسته لینوکس چه جوری رفتار میکنه و کاربران یا برنامهنویسها چطوری میتونن با دستگاهها تعامل داشته باشن و چطوری نه.
تو این دوره، «کوین دانکواردت» بهت یاد میده که ماژولهای قابل بارگذاری (Loadable Kernel Modules) چیه و چطور کار میکنن. بعدش بهت سه نوع اصلی درایور لینوکس رو معرفی میکنه:
درایورهای کاراکتری (Character Device Drivers)
درایورهای بلوکی (Block Device Drivers)
و درایورهای شبکهای (Network Device Drivers)
کوین برات از پایه این درایورها رو توضیح میده، بعدش تو رو قدم به قدم میبره تا یاد بگیری چطوری درایور بنویسی، دیباگ کنی، خطاها رو ردیابی کنی و ویژگیهای جدید بهش اضافه کنی.
🎯 اهداف یادگیری:
آشنایی با فایلهای دستگاه در لینوکس و استفاده درست از آنها.
نوشتن یک درایور ساده لینوکس به عنوان ماژول قابل بارگذاری.
استفاده از تکنیکهای مختلف برای دیباگ کردن کدهای هسته لینوکس، مخصوصاً درایورها.
تعریف و پیادهسازی درایورهای کاراکتری لینوکس.
آشنایی با درایورهای بلوکی و شبکهای لینوکس و کاربردهای آنها.
اگه بفهمی در لینوکس درایورهای دستگاه چطور کار میکنن، میتونی خیلی بهتر درک کنی که هسته لینوکس چه جوری رفتار میکنه و کاربران یا برنامهنویسها چطوری میتونن با دستگاهها تعامل داشته باشن و چطوری نه.
تو این دوره، «کوین دانکواردت» بهت یاد میده که ماژولهای قابل بارگذاری (Loadable Kernel Modules) چیه و چطور کار میکنن. بعدش بهت سه نوع اصلی درایور لینوکس رو معرفی میکنه:
درایورهای کاراکتری (Character Device Drivers)
درایورهای بلوکی (Block Device Drivers)
و درایورهای شبکهای (Network Device Drivers)
کوین برات از پایه این درایورها رو توضیح میده، بعدش تو رو قدم به قدم میبره تا یاد بگیری چطوری درایور بنویسی، دیباگ کنی، خطاها رو ردیابی کنی و ویژگیهای جدید بهش اضافه کنی.
🎯 اهداف یادگیری:
آشنایی با فایلهای دستگاه در لینوکس و استفاده درست از آنها.
نوشتن یک درایور ساده لینوکس به عنوان ماژول قابل بارگذاری.
استفاده از تکنیکهای مختلف برای دیباگ کردن کدهای هسته لینوکس، مخصوصاً درایورها.
تعریف و پیادهسازی درایورهای کاراکتری لینوکس.
آشنایی با درایورهای بلوکی و شبکهای لینوکس و کاربردهای آنها.
مهارت ها
Software AdministrationLinuxNetwork and System AdministrationOpen SourceOne-Off
سرفصل ها
۰. مقدمه
- 01 - بررسی درایورهای دستگاه لینوکس
- 02 - آنچه باید بدانید
۱. کار با هسته لینوکس
- 03 - دریافت کد منبع هسته لینوکس
- 04 - درخت مستندات هسته لینوکس
- 05 - سیستم ساخت هسته
- 06 - هدرهای هسته لینوکس
- 07 - چالش - دانلود و ساخت هسته لینوکس
- 08 - راه حل - دانلود و ساخت هسته لینوکس
۲. نحوه کار ماژولهای قابل بارگذاری
- 09 - مزایای ماژولهای قابل بارگذاری
- 10 - آشنایی با دستورات ماژول
- 11 - دِپمود و مدپروب
- 12 - پارامترهای ماژول
- 13 - پارامترهای ماژول در کد درایور دستگاه
- 14 - کار با مجوزها و ماژولها
- 15 - چالش - کار با ماژولهای قابل بارگذاری
- 16 - راه حل - کار با ماژولهای قابل بارگذاری
۳. کامپایل و اشکالزدایی
- 17 - نوشتن یک ماژول هسته قابل بارگذاری
- 18 - ساخت و بارگذاری یک ماژول قابل بارگذاری
- 19 - استفاده از printk() و pr()
- 20 - ردیابی و اشکالزدایی
- 21 - چالش - نوشتن، ردیابی، اشکالزدایی
- 22 - راه حل - نوشتن، ردیابی، اشکال زدایی
۴. درایورهای دستگاه کاراکتری
- 23 - استفاده از فایلهای دستگاه
- 24 - ایجاد فایلهای دستگاه
- 25 - عملیات فایل درایور دستگاه کاراکتری
- 26 - پیادهسازی توابع عملیاتی
- 27 - یک درایور دستگاه کاراکتری بنویسید
- 28 - درایور dev null
- 29 - آشنایی با فضاهای آدرس کاربر و هسته
- 30- چالش - نوشتن یک محرک شخصیت
- 31 - راه حل - یک محرک شخصیت بنویسید
۵. درایورهای بلوک
- 32 - استفاده از فایلهای دستگاه بلوکی
- 33 - عملکرد لایه بلوک را شرح دهید
- 34 - مسدود کردن عملیات درایور
- 35 - مدیریت درخواستهای IO
- 36 - چالش - بررسی لایه بلوک و دستگاهها
- 37 - راه حل - بررسی لایه بلوک و دستگاهها
۶. درایورهای شبکه
- 38 - نگاهی به نقش درایورهای دستگاههای شبکه
- 39 - مدیریت وقفه درایور شبکه
- 40 - ساختار عملیات دستگاه شبکه را بررسی کنید
- 41 - بررسی APIهای مرتبط با PCI در درایورهای شبکه
- 42 - چالش - استفاده از ابزارها با درایور شبکه
- 43 - راه حل - استفاده از ابزارها با درایور شبکه
۷. درایورهای دستگاه فضای کاربر
- 44- مقدمهای بر درایورهای دستگاه فضای کاربر
- 45 - رابط کاربری کاربر، نگاشت حافظه دستگاه و وقفهها
- 46 - ماژولهای هسته برای درایورهای فضای کاربر
- 47 - درایور اترنت فضای کاربر
- 48 - I2C از فضای کاربر
- 49 - چالش - اصلاح و آزمایش یک درایور فضای کاربری
- 50 - راه حل - اصلاح و آزمایش یک درایور فضای کاربری
نتیجهگیری
- 51 - مراحل بعدی
دوره های مرتبط
- دوره آموزشی AWS: مانیتورینگ، ثبت وقایع و رفع مشکلات
- دوره آموزشی آمادگی گواهینامه AWS Certified SysOps Administrator - Associate (SOA-C02)
- دوره آموزشی راهنمای کامل مدیریت Jira: پیکربندی، مدیریت و خودکارسازی
- دوره آموزشی ویندوز سرور 2025: مدیریت، نظارت و نگهداری سرورها
- دوره آموزشی یادگیری SFTP
- دوره آموزشی مجازیسازی: پیکربندی ماشینهای مجازی در پلتفرمهای مختلف با VMware، Hyper-V، VirtualBox، Vagrant و KVM
- دوره آموزشی فناوریهای پیشرفته 5G NR (رادیوی جدید)
- دوره آموزشی رادیو دسترسی نرم و سبز (Green and Soft RAN) برای 5G