آموزش درایورهای دستگاه لینوکس: نوشتن، خواندن و عیب‌یابی - آخرین آپدیت

دانلود Linux Device Drivers: Reading, Writing, and Debugging

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: یکی از مهم‌ترین وظایف هر سیستم‌عامل، مدیریت انواع سخت‌افزارهای متصل به سیستم است؛ از موارد ساده‌ای مانند پورت‌های سریال و کیبورد گرفته تا سخت‌افزارهای پیچیده‌تر مانند دوربین‌های USB، هارد دیسک‌ها و دستگاه‌های شبکه‌ای. با درک نحوه عملکرد درایورهای دستگاه لینوکس، می‌توانید بینش‌های مفیدی درباره رفتار هسته (Kernel) لینوکس و نحوه تعامل کاربران و توسعه‌دهندگان با دستگاه‌ها به دست آورید. در این دوره، کوین دانک‌وارت نحوه عملکرد ماژول‌های قابل بارگذاری هسته را توضیح می‌دهد و سپس به بررسی دقیق سه نوع مختلف از درایورهای دستگاه لینوکس یعنی درایورهای کاراکتری (Character)، درایورهای بلوکی (Block) و درایورهای شبکه (Network) و کاربردهای هر یک می‌پردازد. وی مبانی هر نوع درایور را پوشش داده و سپس شما را در مسیر نوشتن، عیب‌یابی، ردیابی و افزودن قابلیت‌های جدید به درایورهای مختلف هدایت می‌کند.

سرفصل ها و درس ها

مقدمه Introduction

  • بررسی درایورهای دستگاه لینوکس Explore Linux device drivers

  • پیش‌نیازهای لازم What you should know

1. کار با هسته لینوکس 1. Working with the Linux Kernel

  • راهکار: دانلود و ساخت هسته لینوکس Solution: Download and make a Linux kernel

  • سیستم ساخت (Make) هسته The kernel make system

  • هدرهای هسته لینوکس Linux kernel headers

  • چالش: دانلود و ساخت هسته لینوکس Challenge: Download and make a Linux kernel

  • درخت مستندات هسته لینوکس Linux kernel documentation tree

  • دریافت سورس کد هسته لینوکس Getting Linux kernel source code

2. نحوه عملکرد ماژول‌های قابل بارگذاری 2. How Loadable Modules Work

  • چالش: کار با ماژول‌های قابل بارگذاری Challenge: Work with loadable modules

  • پارامترهای ماژول Module parameters

  • پارامترهای ماژول در کد درایور دستگاه Module parameters in device driver code

  • مزایای ماژول‌های قابل بارگذاری The benefits of loadable modules

  • دستورات Depmod و modprobe Depmod and modprobe

  • راهکار: کار با ماژول‌های قابل بارگذاری Solution: Work with loadable modules

  • آشنایی با دستورات مدیریت ماژول Introduction to module commands

  • کار با لایسنس‌ها و ماژول‌ها Work with licensing and modules

3. کامپایل و عیب‌یابی 3. Compiling and Debugging

  • نوشتن یک ماژول قابل بارگذاری برای هسته Writing a loadable kernel module

  • چالش: نوشتن، ردیابی و عیب‌یابی Challenge: Write, trace, debug

  • ردیابی (Tracing) و عیب‌یابی (Debugging) Tracing and debugging

  • استفاده از توابع printk() و pr_*() Use printk() and pr_*()

  • راهکار: نوشتن، ردیابی و عیب‌یابی Solution: Write, trace, debug

  • ساخت و بارگذاری یک ماژول Build and load a loadable module

4. درایورهای دستگاه کاراکتری 4. Character Device Drivers

  • درک فضای آدرس کاربر و هسته Understand the user and kernel address spaces

  • عملیات فایل در درایورهای دستگاه کاراکتری Character device driver file operations

  • ایجاد فایل‌های دستگاه Create device files

  • بررسی درایور /dev/null The /dev/null driver

  • پیاده‌سازی توابع عملیاتی Implementing operation functions

  • چالش: نوشتن یک درایور کاراکتری Challenge: Write a character driver

  • راهکار: نوشتن یک درایور کاراکتری Solution: Write a character driver

  • نوشتن درایور دستگاه کاراکتری Write a character device driver

  • استفاده از فایل‌های دستگاه Use device files

5. درایورهای بلوکی 5. Block Drivers

  • چالش: بررسی لایه بلوکی و دستگاه‌ها Challenge: Investigate block layer and devices

  • استفاده از فایل‌های دستگاه بلوکی Use block device files

  • توضیح عملکرد لایه بلوکی Describe the function of the block layer

  • مدیریت درخواست‌های I/O Handle I/O requests

  • راهکار: بررسی لایه بلوکی و دستگاه‌ها Solution: Investigate block layer and devices

  • عملیات درایور بلوکی Block driver operations

6. درایورهای شبکه 6. Network Drivers

  • مدیریت وقفه (Interrupt) در درایور شبکه Network driver interrupt handling

  • بررسی APIهای مرتبط با PCI در درایورهای شبکه Examine PCI-related APIs in network drivers

  • بررسی نقش درایورهای دستگاه شبکه Look at the role of network device drivers

  • بررسی ساختار net_device_ops Examine the net_device_ops structure

  • چالش: استفاده از ابزارها با یک درایور شبکه Challenge: Using tools with a network driver

  • راهکار: استفاده از ابزارها با یک درایور شبکه Solution: Using tools with a network driver

7. درایورهای دستگاه فضای کاربر (User Space) 7. User Space Device Drivers

  • ماژول‌های هسته برای درایورهای فضای کاربر Kernel modules for user space drivers

  • درایور اترنت در فضای کاربر User space Ethernet driver

  • چالش: اصلاح و تست یک درایور فضای کاربر Challenge: Modify and test a user space driver

  • بررسی UIO، نگاشت حافظه دستگاه و وقفه‌ها UIO, mapping device memory, and interrupts

  • مقدمه‌ای بر درایورهای دستگاه فضای کاربر Introduction to user space device drivers

  • استفاده از I2C در فضای کاربر I2C from user space

  • راهکار: اصلاح و تست یک درایور فضای کاربر Solution: Modify and test a user space driver

جمع‌بندی Conclusion

  • گام‌های بعدی Next steps

نمایش نظرات

آموزش درایورهای دستگاه لینوکس: نوشتن، خواندن و عیب‌یابی
جزییات دوره
2h 57m
51
(آخرین آپدیت)
1,944
- از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Kevin Dankwardt Kevin Dankwardt

دکتر کوین دانکوردت رهبر جامعه لینوکس و مرجعی در مورد لینوکس تعبیه شده است. در سال 1992 ، او شرکت آموزش و مشاوره K Computing را تأسیس کرد. از آن زمان ، این شرکت به یک رهبر در آموزش و مشاوره جاسازی شده لینوکس تبدیل شده است. از سال 1992 ، دکتر Dankwardt آموزش و مشاوره در مورد طیف گسترده ای از موضوعات مانند برنامه نویسی درایور دستگاه لینوکس ، مهندسی سیستم های جاسازی شده لینوکس ، برنامه نویسی در زمان واقعی لینوکس ، سیستم لینوکس و مدیریت شبکه ، برنامه نویسی Perl ، C ++ را طراحی و توسعه داده است. برنامه نویسی ، برنامه نویسی موازی یونیکس ، برنامه نویسی در زمان واقعی ، برنامه نویسی سیستم یونیکس ، و مدیریت شبکه یونیکس ، و همچنین تعداد زیادی از کلاس های ویژه هدفمند در رابطه با شرکای فنی برتر دنیا. دکتر دانکوردت دکترای خود را در رشته کامپیوتر از مرکز مطالعات پیشرفته رایانه در دانشگاه لوئیزیانا (لافایت) به دست آورد و به عنوان استادیار در دانشگاه لوئیزیانا تکنیک خدمت کرد ، و در آنجا به عنوان رئیس موقت بخش علوم کامپیوتر فعالیت کرد. او یک سخنران منظم در کنفرانس های بزرگ است و مرتباً مقالات در مورد موضوعات توسعه لینوکس می نویسد. علاوه بر این ، وی ریاست کمیته آموزش کنسرسیوم Linux Embedded را به عهده داشت ، به عنوان ویراستار مشارکت LinuxDevices.com و Embedded Linux Journal فعالیت داشت ، و بعنوان رئیس فنی کنفرانس های Linux Embedded در سراسر ایالات متحده و اروپا فعالیت می کرد. دکتر دانکوردت در حال حاضر در سیلیکون ولی زندگی می کند و در آنجا فعالیت می کند و در فعالیت های مختلف لینوکس از جمله تأسیس و رهبری گروه ملاقات با فناوری 2،500+ عضو Silicon Valley Linux شرکت می کند.