دوره جامع: ساخت سیستمعامل لینوکس توکار از پایه تا استقرار عملی همراه با فلشکارت آموزشی — ارائه روی فلش مموری
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب جامع: ساخت سیستمعامل لینوکس توکار از پایه تا استقرار عملی
موضوع کلی: سیستمهای توکار
موضوع میانی: توسعه و مهندسی سیستمعامل لینوکس توکار
📋 سرفصلهای کتاب (100 موضوع)
- 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
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.