”Tillhandahålla en gratis produkt som överträffar den kvalitet och service som krävs av användare av kommersiella alternativ”
Dedikerade FreeRTOS-utvecklare har arbetat i nära samarbete med världens ledande chipföretag i mer än 15 år för att förse dig med marknadsledande, kommersiell kvalitet och helt gratisRTOS och verktyg av hög kvalitet…men vad är ett RTOS?
Denna sida börjar med att definiera ett operativsystem, förfinar sedan detta till att definiera ett realtidsoperativsystem (RTOS), förfinar sedan detta ännu en gång till att definiera en realtidskärna (eller realtidsexekutiv).
Se även FAQ-posten ”varför ett RTOS” för information om när och varför det kan vara användbart att använda ett RTOS i din mjukvarudesign för inbyggda system.
Vad är ett allmänt operativsystem?
Ett operativsystem är ett datorprogram som stödjer en dators grundläggande funktioner och tillhandahåller tjänster till andra program (eller applikationer) som körs på datorn.Applikationerna tillhandahåller den funktionalitet som datorns användare vill ha eller behöver. De tjänster som operativsystemet tillhandahåller gör det möjligt att skriva programmen snabbare, enklare och lättare att underhålla.Om du läser den här webbsidan använder du en webbläsare (det tillämpningsprogram som tillhandahåller den funktionalitet som du är intresserad av), som i sin tur körs i en miljö som tillhandahålls av ett operativsystem.
Vad är ett RTOS?
De flesta operativsystem verkar tillåta att flera program kan exekveras samtidigt. Detta kallas multitasking. I verkligheten kan varje processorkärna bara köra en enda exekveringstråd vid varje given tidpunkt.En del av operativsystemet som kallas schemaläggaren ansvarar för att bestämma vilket program som skall köras när, och ger illusionen av samtidig exekvering genom att snabbt växla mellan varje program.
Typen av ett operativsystem definieras av hur schemaläggaren bestämmer vilket program som skall köras när. Den schemaläggare som används i ett operativsystem för flera användare (t.ex. Unix) ser till att varje användare får en rimlig andel av bearbetningstiden. Som ett annat exempel kan nämnas att schemaläggaren i ett skrivbordsoperativsystem (t.ex. Windows) försöker se till att datorn förblir lyhörd för användaren.
Skemaläggaren i ett realtidsoperativsystem (RTOS) är utformad för att ge ett förutsägbart (normalt beskrivet som deterministiskt) exekveringsmönster.Detta är särskilt intressant för inbyggda system eftersom inbyggda system ofta har krav på realtid. Ett realtidskrav är ett krav som specificerar att det inbyggda systemet måste reagera på en viss händelse inom en strikt definierad tid (deadline).En garanti för att uppfylla realtidskraven kan endast göras om beteendet hos operativsystemets schemaläggare kan förutsägas (och därför är deterministisk).
Traditionella realtidsschemaläggare, såsom den schemaläggare som används i FreeRTOS, uppnår determinism genom att låta användaren tilldela en prioritet till varje exekveringssträng. Schemaläggaren använder sedan prioriteten för att veta vilken exekveringstråd som ska köras härnäst. I FreeRTOS kallas en exekveringstråd för en uppgift.
Vad är FreeRTOS?
FreeRTOS är en klass av RTOS som är utformad för att vara tillräckligt liten för att kunna köras på en mikrokontroller – även om dess användning inte är begränsad till mikrokontrollertillämpningar.
En mikrokontroller är en liten och resurssnål processor som på ett enda chip innehåller själva processorn, ett skrivskyddat minne (ROM eller Flash) för det program som skall exekveras och det slumpmässiga minnet (RAM) som behövs för de program som den exekverar. Vanligtvis utförs programmet direkt från det skrivskyddade minnet.
Mikrokontroller används i djupt inbäddade tillämpningar (de tillämpningar där man aldrig ser själva processorn eller programvaran som körs) som normalt har en mycket specifik och dedikerad uppgift att utföra. Storleksbegränsningarna och den dedikerade slutapplikationens natur motiverar sällan användningen av en fullständig RTOS-implementation – eller gör det möjligt att använda en fullständig RTOS-implementation.FreeRTOS tillhandahåller därför endast kärnfunktionaliteten för schemaläggning i realtid, kommunikation mellan arbetsuppgifter, timing och synkroniseringsprimitiver. Detta innebär att det är mer korrekt beskrivet som en realtidskärna eller en realtidsexekutiv. Ytterligare funktionalitet, t.ex. ett kommandokonsolgränssnitt eller nätverksstackar, kan sedan inkluderas med tilläggskomponenter.
Nästa: RTOS grunder