![]() | |
מפתח |
Amazon Web Services ![]() |
---|---|
סוג רישיון |
רישיון MIT ![]() |
פלטפורמות |
ARM, RISC-V, PowerPC, TI MSP430, V850, TI MSP432, Xtensa, NXP ColdFire, מיקרו-בקר 8051, Atmel AVR, Nios II, AVR32, Infineon TriCore, 68HC12, x86 ![]() |
אתר אינטרנט |
https://www.freertos.org ![]() |
![]() ![]() |
FreeRTOS היא ליבת מערכת הפעלה זמן אמת (RTOS)[1][2][3] עבור מערכות משובצות שהותאמה ל-35 פלטפורמות מיקרו-בקר, ומופצת תחת רישיון MIT.
ליבת FreeRTOS פותחה במקור על ידי ריצ'רד בארי בסביבות 2003, ומאוחר יותר פותחה עוד ותוחזקה על ידי החברה של בארי, Real Time Engineers. בשנת 2017 העבירה החברה את ניהול פרויקט FreeRTOS ל-Amazon Web Services. בארי ממשיך לעבוד ב- FreeRTOS כחלק מצוות AWS.[4]
FreeRTOS נועדה להיות קטנה ופשוטה. הליבה מורכבת משלושה קובצי קוד מקור בלבד. היא כתובה בעיקר ב-C כדי שיהיה קל לנייד ולתחזק אותה. היא כוללת גם כמה פונקציות שפת סף הכרחיות, בעיקר בשגרות מתזמן ספציפיות לארכיטקטורה.
FreeRTOS מספקת שיטות מרובות אשכולות או משימות, מנעולי mutex, סמפורים וקוצבי זמן תוכנתיים. מצב ללא תקתוקי זמן סדורים מסופק עבור יישומי צריכת חשמל נמוכה. הליבה תומכת בתעדוף תהליכונים. ניתן להקצות יישומי FreeRTOS באופן סטטי לחלוטין. לחלופין, ניתן להקצות אובייקטים של RTOS באופן דינמי עם חמש סכמות של ניהול זיכרון:
FreeRTOS אינה כוללת תכונות מתקדמות יותר הנמצאות בדרך כלל במערכות הפעלה כמו Linux או Microsoft Windows, כגון מנהלי התקנים, ניהול זיכרון מתקדם, חשבונות משתמשים ורשתות. הדגש הוא על קומפקטיות ומהירות ביצוע. ניתן לחשוב על FreeRTOS כעל ספריית תהליכונים ולא כעל מערכת הפעלה, אם כי קיימים ממשק שורת פקודה ואבסטרקציה של תוספי קלט/פלט דמוית POSIX.
A kernel is not an RTOS, but this can be a confusing issue because of the inappropriate naming chosen for some popular kernels, ‘freeRTOS’ for example.
What is FreeRTOS? … The size constraints, and dedicated end application nature, rarely warrant the use of a full RTOS implementation - or indeed make the use of a full RTOS implementation possible. FreeRTOS therefore provides the core real-time scheduling functions, inter-task communication, timing, and synchronisation primitives only. This means it is more accurately described as a real time kernel, or real time executive. …
{{cite web}}
: (עזרה)
{{cite web}}
: (עזרה)