اپلیکیشن اندرویدی فلشکارت آموزشی کتاب جامع: ساخت سیستمعامل لینوکس توکار از پایه تا استقرار عملی
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره جامع: ساخت سیستمعامل لینوکس توکار از پایه تا استقرار عملی
موضوع کلی: سیستمهای توکار
موضوع میانی: توسعه و مهندسی سیستمعامل لینوکس توکار
📋 سرفصلهای دوره
- 1. مقدمهای بر سیستمهای توکار و لینوکس
- 2. چرا از لینوکس در سیستمهای توکار استفاده میکنیم؟
- 3. معماری یک سیستم لینوکس توکار
- 4. مروری بر اجزای اصلی: زنجیره ابزار، بوتلودر، هسته و فایل سیستم ریشه
- 5. محیط توسعه: انتخابها و راهاندازی (Host vs. Target)
- 6. راهاندازی ماشین مجازی برای توسعه (QEMU)
- 7. آشنایی با خط فرمان لینوکس و اسکریپتنویسی Shell
- 8. کنترل نسخه با Git برای پروژههای توکار
- 9. مقدمهای بر زنجیره ابزار (Toolchain)
- 10. مفهوم کامپایل متقاطع (Cross-Compilation)
- 11. معرفی اجزای زنجیره ابزار: GCC, Binutils, GDB
- 12. کتابخانههای C: Glibc, uClibc-ng, musl
- 13. پیوند ایستا در مقابل پیوند پویا (Static vs. Dynamic Linking)
- 14. ساخت زنجیره ابزار با Crosstool-NG
- 15. استفاده از زنجیرههای ابزار از پیش ساخته شده (Pre-built Toolchains)
- 16. بررسی فایلهای باینری با ابزارهای Binutils (objdump, readelf)
- 17. مقدمهای بر اشکالزدایی (Debugging) با GDB
- 18. اشکالزدایی از راه دور با GDBServer
- 19. مبانی بهینهسازی کامپایلر (Compiler Optimizations)
- 20. نقش و اهمیت بوتلودر (Bootloader)
- 21. آشنایی با بوتلودر U-Boot
- 22. دریافت سورس و کامپایل U-Boot برای یک برد هدف
- 23. آشنایی با خط فرمان U-Boot و دستورات اصلی
- 24. متغیرهای محیطی در U-Boot و ذخیرهسازی آنها
- 25. اسکریپتنویسی در U-Boot
- 26. بوت کردن هسته از طریق شبکه (TFTP)
- 27. بوت کردن هسته از روی حافظههای جانبی (eMMC, SD Card, NAND)
- 28. مفهوم Second-Program Loader (SPL)
- 29. سفارشیسازی و افزودن دستورات جدید به U-Boot
- 30. مقدمهای بر هسته لینوکس (Linux Kernel)
- 31. دریافت سورس هسته و بررسی ساختار دایرکتوریها
- 32. پیکربندی هسته: Kconfig و ابزارهای مرتبط (menuconfig, xconfig)
- 33. فرآیند ساخت (Build) هسته لینوکس
- 34. ایمیجهای مختلف هسته (zImage, uImage, bzImage)
- 35. ماژولهای هسته (Kernel Modules): ساخت و مدیریت
- 36. مفهوم درخت دستگاه (Device Tree)
- 37. نحو و ساختار فایلهای DTS (Device Tree Source)
- 38. کامپایل DTS به DTB (Device Tree Blob)
- 39. بارگذاری و ارسال پارامترهای بوت به هسته
- 40. مقدمهای بر درایورهای دستگاه در لینوکس
- 41. فایل سیستم اولیه در RAM (initramfs)
- 42. ایجاد و استفاده از initramfs
- 43. پچ کردن و مدیریت سورس هسته
- 44. مفهوم فایل سیستم ریشه (Root Filesystem)
- 45. ساختار دایرکتوری استاندارد در لینوکس
- 46. ایجاد یک فایل سیستم ریشه حداقلی به صورت دستی
- 47. معرفی BusyBox: جعبه ابزار سیستمهای توکار
- 48. کامپایل و پیکربندی BusyBox
- 49. پر کردن فایل سیستم ریشه با استفاده از BusyBox
- 50. مفهوم مقداردهی اولیه سیستم (System Initialization)
- 51. فرایند init سنتی (SysVinit)
- 52. آشنایی با systemd به عنوان یک سیستم init مدرن
- 53. مدیریت دستگاهها در دایرکتوری /dev (devtmpfs, mdev)
- 54. مدیریت کتابخانههای اشتراکی (Shared Libraries)
- 55. انتخاب و پیکربندی کتابخانه C برای فایل سیستم ریشه
- 56. مبانی مدیریت بستهها (Package Management) در سیستمهای توکار
- 57. استراتژیهای انتخاب فایل سیستم (Filesystem Selection)
- 58. آشنایی با انواع حافظههای ذخیرهسازی (NAND, NOR, eMMC, SD)
- 59. زیرسیستم MTD (Memory Technology Devices)
- 60. پارتیشنبندی حافظههای فلش با MTD
- 61. فایل سیستم JFFS2 برای حافظههای NOR
- 62. لایه UBI (Unsorted Block Images)
- 63. فایل سیستم UBIFS برای حافظههای NAND
- 64. کار با حافظههای eMMC و کارتهای SD
- 65. ایجاد و فلش کردن ایمیجهای فایل سیستم
- 66. چرا به سیستمهای ساخت خودکار (Build Systems) نیاز داریم؟
- 67. معرفی Buildroot
- 68. راهاندازی یک پروژه با Buildroot
- 69. پیکربندی Buildroot (menuconfig)
- 70. افزودن بستههای سفارشی به Buildroot
- 71. سفارشیسازی فایل سیستم ریشه در Buildroot
- 72. معرفی Yocto Project و OpenEmbedded
- 73. مفاهیم اصلی Yocto: لایهها، رسپیها و کلاسها (Layers, Recipes, Classes)
- 74. ساخت یک ایمیج با استفاده از BitBake
- 75. سفارشیسازی یک ایمیج در Yocto Project
- 76. مقایسه Buildroot و Yocto Project
- 77. استراتژیهای اشکالزدایی در سیستمهای توکار
- 78. استفاده از پورت سریال (Serial Console) برای اشکالزدایی
- 79. اشکالزدایی سختافزاری با JTAG
- 80. اشکالزدایی هسته با KGDB
- 81. استفاده از printk برای ردگیری در هسته
- 82. ردیابی (Tracing) با ftrace
- 83. پروفایلینگ و تحلیل عملکرد با ابزار perf
- 84. تحلیل لاگهای سیستم (dmesg, journalctl)
- 85. اشکالزدایی برنامههای کاربردی
- 86. تشخیص نشت حافظه (Memory Leak Detection)
- 87. مقدمهای بر لینوکس بیدرنگ (Real-Time Linux)
- 88. پچ PREEMPT_RT و کاربردهای آن
- 89. مبانی امنیت در سیستمهای لینوکس توکار
- 90. بوت امن (Secure Boot) و زنجیره اعتماد (Chain of Trust)
- 91. سختسازی (Hardening) هسته و فضای کاربری
- 92. شبکهبندی در لینوکس توکار
- 93. مدیریت انرژی و بهینهسازی مصرف توان
- 94. توسعه برنامههای کاربردی (Application Development)
- 95. چارچوبهای گرافیکی و رابط کاربری (Qt Embedded, Framebuffer)
- 96. استراتژیهای بهروزرسانی نرمافزار از راه دور (OTA Updates)
- 97. مطالعه موردی: ساخت یک سیستم کامل برای برد Raspberry Pi یا BeagleBone
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.