Dedikerede FreeRTOS-udviklere har arbejdet i tæt samarbejde med verdens førende chipfirmaer i mere end 15 år for at levere markedsledende, kommercielle og helt gratisRTOS og værktøjer af høj kvalitet til dig….men hvad er et RTOS?

Denne side starter med at definere et operativsystem, derefter forfines dette til at definere et realtidsoperativsystem (RTOS), derefter forfines dette endnu en gang til at definere en realtidskerne (eller realtidsekretariat).

Se også FAQ-emnet “hvorfor et RTOS” for at få oplysninger om, hvornår og hvorfor det kan være nyttigt at bruge et RTOS i softwaredesignet til indlejrede systemer.

Hvad er et styresystem til generelle formål?

Et styresystem er et computerprogram, der understøtter en computers grundlæggende funktioner og leverer tjenester til andre programmer (eller applikationer), der kører på computeren.Applikationerne leverer den funktionalitet, som brugeren af computeren ønsker eller har brug for. De tjenester, som operativsystemet leverer, gør det hurtigere, enklere og mere vedligeholdelsesvenligt at skrive applikationerne.Hvis du læser denne webside, bruger du en webbrowser (det applikationsprogram, der leverer den funktionalitet, du er interesseret i), som selv kører i et miljø, der leveres af et operativsystem.

Hvad er et RTOS?

De fleste operativsystemer lader tilsyneladende til at tillade flere programmer at køre på samme tid. Dette kaldes multi-tasking. I virkeligheden kan hver processorkerne kun køre en enkelt eksekveringstråd på et givet tidspunkt.En del af operativsystemet, der kaldes scheduler, er ansvarlig for at afgøre, hvilket program der skal køre hvornår, og giver illusionen af samtidig eksekvering ved hurtigt at skifte mellem de enkelte programmer.

Typen af et operativsystem defineres af, hvordan scheduleren beslutter, hvilket program der skal køre hvornår. F.eks. vil den scheduler, der anvendes i et flerbruger-operativsystem (f.eks. Unix), sikre, at hver bruger får en rimelig del af behandlingstiden. Et andet eksempel er, at scheduleren i et skrivebordsoperativsystem (f.eks. Windows) forsøger at sikre, at computeren forbliver lydhør over for brugeren.

Skemalæggeren i et realtidsoperativsystem (RTOS) er designet til at tilvejebringe et forudsigeligt (normalt beskrevet som deterministisk) udførelsesmønster.Dette er især af interesse for indlejrede systemer, da indlejrede systemer ofte har realtidskrav. Et realtidskrav er et krav, der specificerer, at det indlejrede system skal reagere på en bestemt hændelse inden for et strengt defineret tidsrum (deadline).Det kan kun garanteres, at realtidskravene opfyldes, hvis opførslen af operativsystemets scheduler kan forudsiges (og derfor er deterministisk).

Traditionelle realtids schedulere, såsom den scheduler, der anvendes i FreeRTOS, opnår determinisme ved at give brugeren mulighed for at tildele en prioritet til hver enkelt udførelsestråd. Scheduleren bruger derefter prioriteten til at vide, hvilken udførelsestråd der skal køres næste gang. I FreeRTOS kaldes en udførelsestråd for en opgave.

Hvad er FreeRTOS?

FreeRTOS er en klasse af RTOS, der er designet til at være lille nok til at kunne køre på en mikrocontroller – selv om dets anvendelse ikke er begrænset til mikrocontroller-applikationer.

En mikrocontroller er en lille og ressourcebegrænsetprocessor, der på en enkelt chip indeholder selve processoren, skrivebeskyttet hukommelse (ROM eller Flash) til at indeholde det program, der skal udføres, og den random accessmemory (RAM), der er nødvendig for de programmer, den udfører. Typisk udføres programmet direkte fra den skrivebeskyttede hukommelse.

Mikrocontrollere anvendes i dybt indlejrede applikationer (de applikationer, hvor man aldrig ser selve processoren eller den software, de kører), som normalt har en meget specifik og dedikeret opgave at udføre. Størrelsesbegrænsningerne og den dedikerede slutapplikations karakter berettiger sjældent til brug af en fuld RTOS-implementering – eller gør det faktisk muligt at bruge en fuld RTOS-implementering.FreeRTOS leverer derfor kun de centrale realtidsplanlægningsfunktioner, kommunikation mellem opgaverne, timing og synkroniseringspræmier. Det betyder, at det mere præcist kan beskrives som en realtidskerne eller en realtidsudfører. Yderligere funktionalitet, som f.eks. en kommandokonsolgrænseflade eller netværksstacks, kan derefter inkluderes med add-on-komponenter.

Næste: RTOS grundlæggende principper

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.