קורסLinux מוטמעמתקדמים

Linux Kernel Programming for Embedded Systems Course

קורס Linux Kernel Programming for Embedded System מקצועי, מקיף ומעשי שנולד בהייטק עבור מפתחים!

🏅 מה תקבלו מהקורס? ✅ הבנה מעמיקה של עקרונות הקרנל בלינוקס למערכות Embedded ✅ דוגמאות מעשיות להמחשת תהליכי הפיתוח ✅ ניתוח וניהול מתקדם של תהליכים, זיכרון ותקשורת בין ה User Space לקרנל ✅ פיתוח שירותים ויישומים מתקדמים באמצעות כלי Cross-compilation ✅ כתיבת והטמעת מודולים ב-Linux Kernel וניהול קבצים בצורה יעילה 📅 פרטי הקורס שעות: 19:30 – 21:30 יום בשבוע: חמישי פלטפורמה: Zoom תאריכים: 8.5.2025 | 15.5.2025 | 22.5.2025 | 29.5.2025 | 5.6.2025 | 12.6.2025 | 19.6.2025 | 26.6.2025 | 3.7.2025 | 10.7.2025 סה”כ: 10 מפגשים של שעתיים יצירת קשר ב- WhatsApp חלוקה לתשלומים | מענה אנושי מהיר סילבוס הקורס Lesson 0: Introduction and Environment Setup Instructor Introduction Course objectives and overview Setting up the development environment Cross-compilation toolchain Virtual machines and emulators Required software packages General-purpose OS vs Real-time OS fundamentals Linux in embedded systems: history and use cases Introduction to the Linux Kernel Getting Started with the Kernel Lesson 1: Kernel Basics and Process Management Understanding the kernel architecture Linux kernel subsystems overview Process fundamentals Process descriptor and task structure Process states and lifecycle Process scheduling Scheduling classes and policies Priority management Building and configuring the kernel Menuconfig and defconfig Cross-compilation for embedded targets Lesson 2: System Calls and Kernel/User Space Communication System call mechanism Implementation and registration Parameter passing Kernel ABI considerations procfs and sysfs interfaces Creating kernel interfaces Reading/writing kernel parameters Communication with the user space Ioctl communication Lab: Implementing custom system calls Lesson 3: Synchronization Mechanisms Critical sections and race conditions Kernel synchronization primitives Spin locks Semaphores and mutexes Reader-writer locks Avoiding deadlocks and livelocks Practical synchronization patterns Kernel Data Structures Linked Lists The Linux Kernel’s Implementation Queues Maps Binary Trees Binary Search Trees Lab: Implementing thread-safe kernel modules Lesson 4: Interrupts and Bottom Halves Interrupt handling fundamentals IRQ management Registering interrupt handlers Top-half vs bottom-half processing Deferring work mechanisms Softirqs Tasklets Work queues Interrupt context restrictions Lab: Implementing efficient interrupt handlers Lesson 5: Timers and Time Management Kernel notion of time Jiffies and timevals High-resolution timers Timer implementation Creating and using timers Timer callbacks Delayed execution techniques Sleep and wait queues schedule_timeout() Real-time considerations Deterministic timing Minimizing latency Lesson 6: Memory Management Memory management fundamentals Virtual memory concepts Page tables and address spaces Kernel memory allocation techniques kmalloc vs vmalloc Slab allocator Low-level memory operations Atomic operations Memory barriers Memory considerations for embedded systems Working with limited resources Memory optimization techniques The Virtual Filesystem Common Filesystem Interface The Superblock Object File Operations Lesson 7: The Block IO Layer Anatomy of a Block Device Buffers and Buffer Heads The bio Structure I/O vectors I/O Schedulers The Job of an I/O Scheduler The Linus Elevator The Deadline I/O Scheduler The Complete Fair Queuing I/O Scheduler The Noop I/O Scheduler I/O Scheduler Selection Virtual Memory Areas VMA Flags VMA Operations Lists and Trees of Memory Areas Memory Areas in Real Life Manipulating Memory Areas Lesson 8: Power Management & Process Management Power management framework Sleep states Runtime PM CPU frequency scaling Dynamic power management Device suspend/resume System suspend Battery-operated design considerations Lab: Implementing power-aware kernel code Lesson 9: Debugging and Profiling Kernel debugging techniques printk and log levels KGDB and kernel debuggers Tracing and profiling Ftrace Perf SystemTap basics Memory debugging KASAN, UBSAN Memory leak detection Performance analysis Identifying bottlenecks Optimizing critical paths יצירת קשר ב- WhatsApp חלוקה לתשלומים | מענה אנושי מהיר על המרצה 👨‍🏫 אור פוקס – מהנדס Embedded ומרצה בכיר באקדמיה, עם ניסיון של מעל 10 שנים בפיתוח Real-Time Embedded בסביבות High-Performance Multi-Process על לינוקס, פיתוח Firmware ופיתוח אוטומציה על מגוון רחב של MCUs. מרצה באקדמיה את קורסי ה- Embedded Linux וה- Bare Metal. 📽️ כל ההרצאות מוקלטות – ותינתן גישה מלאה לנרשמים. 💬 תמיכה וליווי – הנרשמים יצורפו לקבוצת וואטסאפ ייעודית עבור הקורס לצורך עזרה, תמיכה ושאלות. 🥇 למידה בקבוצות קטנות – לשמירה על יחס חניכה גבוה.

המרצים

צוות Embedded Academy

מהנדסי מערכות מוטמעות מנוסים מהתעשייה — אנשים שבונים מוצרים אמיתיים, לא רק מלמדים עליהם.

ספרו לי על קורסים חדשים