Веб-версияОткрыть в Telegram

Пост⚙️ کالبدشکافی فنی AhuraRTOS

8 августа 2026
A
Amin Hosseini
Ответ🧩 کالبدشکافی فنی AhuraRTOS رویکردی نوین در طراحی RTOS برای ARM Cortex-M بخش ۱ | معماری Kernel و فلسفه Portability 🔹 ۱. فراتر از انتزاع‌های رایج در Embedded اگر با سیستم‌های نهفته کار کرده باشید، احتمالاً با یک سؤال مهم روبه‌رو شده‌اید: ❓ چرا با تغییر معماری یا مدل پردازنده، باید بخش‌هایی از Kernel
⚙️ کالبدشکافی فنی AhuraRTOS بخش ۲ | Scheduling، Priority و Context Switching 🧠 ۳. مکانیسم Scheduling و مدیریت Priority یکی از ویژگی‌های مهم AhuraRTOS، استفاده از Scheduler با پیچیدگی O(1) است. یعنی زمان انتخاب Task بعدی به تعداد Taskهای سیستم وابسته نیست؛ چه ۲ Task داشته باشیم و چه ۳۲ Task، انتخاب Task آماده با زمان ثابت انجام می‌شود. 🔹 ۳۲ سطح Priority AhuraRTOS از ۳۲ سطح اولویت، از 0 تا 31، استفاده می‌کند. این ساختار با یک 32-bit Bitmap هماهنگ است و وضعیت Taskهای Ready را به‌صورت فشرده نگهداری می‌کند. 🔹 Bitmap + CLZ برای پیدا کردن بالاترین Priority آماده، Bitmap بررسی می‌شود. در ARMv7-M و معماری‌های بالاتر، دستور سخت‌افزاری CLZ (Count Leading Zeros) می‌تواند برای پیدا کردن موقعیت بیت موردنظر استفاده شود. در نتیجه Scheduler به‌جای بررسی Priorityها به‌صورت ترتیبی، مستقیماً به Priority مناسب دسترسی پیدا می‌کند. 🔹 Round-Robin اگر چند Task دارای Priority یکسان باشند، AhuraRTOS امکان اجرای چرخشی آن‌ها را فراهم می‌کند. پارامتر: OS_CONFIG_TIME_SLICE_TICKS تعداد Tickهای مربوط به Time Slice را مشخص می‌کند. با قرار دادن مقدار آن روی 0، Round-Robin غیرفعال شده و سربار Context Switching کاهش پیدا می‌کند. 🛡 ۴. چرا PendSV و نه SVC؟ در بسیاری از RTOSها از SVC برای ورود به Kernel یا شروع اولین Task استفاده می‌شود. اما AhuraRTOS رویکرد متفاوتی دارد: SVC → Application PendSV → Context Switching در این طراحی، SVC برای Application آزاد باقی می‌ماند و RTOS برای Context Switch از PendSV استفاده می‌کند. حتی شروع اولین Task نیز از مسیر PendSV انجام می‌شود. Kernel با بررسی وضعیت PSP می‌تواند تشخیص دهد که آیا هنوز Taskای اجرا نشده است یا خیر. ⚡️ Context Switch در سطح پایین در PendSV، وضعیت Context مربوط به Task فعلی ذخیره و Context مربوط به Task بعدی بازیابی می‌شود. رجیسترهای: R4 – R11 در این فرآیند مدیریت می‌شوند. همچنین مدیریت FPU به‌صورت هوشمند انجام می‌شود تا در Taskهایی که از محاسبات Floating-Point استفاده نمی‌کنند، هزینه اضافی Context Switching ایجاد نشود. 🎯 در نهایت، این طراحی سه هدف مهم را دنبال می‌کند: O(1) Scheduling Context Switching بهینه آزاد ماندن SVC برای Application 🔜 ادامه دارد... @Amin_Techlab
3 · 591 ·

Рядом в ленте

AAmin Hosseini🚀 معرفی یک پروژه مهم در دنیای Embedded Systems؛ AhuraRTOS دوستانی که در حوزه الکترونیک و سیستم‌های Embedded فعالیت می‌کنیم، احتمالاً با پروژه‌ها و کتابخانه‌های AAmin Hosseini🧩 کالبدشکافی فنی AhuraRTOS رویکردی نوین در طراحی RTOS برای ARM Cortex-M بخش ۱ | معماری Kernel و فلسفه Portability 🔹 ۱. فراتر از انتزاع‌های رایج در Embedded اگر
это сообщение
AAmin Hosseini⚙️ کالبدشکافی فنی AhuraRTOS بخش ۳ | IPC، Preemption، Atomics و مدیریت حافظه 🔐 ۵. ارتباطات بین‌تسکی و کنترل Preemption در یک RTOS، فقط انتقال داده بین Taskها مهمAAmin Hosseini⚙️ کالبدشکافی فنی AhuraRTOS بخش ۴ | Security، TrustZone و فلسفه Debugging 🛡 ۷. امنیت و قابلیت‌های پیشرفته در نسل‌های جدید ARM، امنیت فقط یک قابلیت نرم‌افزاری نی

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем