“Een gratis product leveren dat de kwaliteit en service overtreft die gebruikers van commerciële alternatieven eisen”
De ontwikkelaars van FreeRTOS werken al meer dan 15 jaar nauw samen met de grootste chipfabrikanten ter wereld om u een marktleidend, commercieel hoogwaardig en volledig gratisRTOS en hulpprogramma’s van hoge kwaliteit te bieden…maar wat is een RTOS?
Deze pagina begint met het definiëren van een besturingssysteem, verfijnt dit dan tot een real time operating system (RTOS), verfijnt dit dan nog eens tot een real time kernel (of real time executive).
Zie ook het FAQ item “waarom een RTOS” voor informatie over wanneer en waarom het nuttig kan zijn om een RTOS te gebruiken in uw embedded systeem software ontwerp.
Wat is een General Purpose Operating System?
Een besturingssysteem is een computerprogramma dat de basisfuncties van een computer ondersteunt, en diensten levert aan andere programma’s (of applicaties) die op de computer draaien.De applicaties leveren de functionaliteit die de gebruiker van de computer wenst of nodig heeft. Als u deze webpagina leest, dan gebruikt u een webbrowser (het toepassingsprogramma dat de functionaliteit biedt waarin u geïnteresseerd bent), die zelf draait in een omgeving die wordt geleverd door een besturingssysteem.
Wat is een RTOS?
De meeste besturingssystemen lijken het mogelijk te maken dat meerdere programma’s tegelijk kunnen worden uitgevoerd. Dit wordt multi-tasking genoemd. Een deel van het besturingssysteem, de scheduler, is verantwoordelijk voor de beslissing welk programma wanneer wordt uitgevoerd, en wekt de illusie van gelijktijdige uitvoering door snel tussen de programma’s te schakelen.
Het type besturingssysteem wordt bepaald door de manier waarop de scheduler beslist welk programma wanneer wordt uitgevoerd. De planner in een multi-user besturingssysteem (zoals Unix) zal er bijvoorbeeld voor zorgen dat elke gebruiker een redelijk deel van de verwerkingstijd krijgt. Een ander voorbeeld is de planner in een desktop-besturingssysteem (zoals Windows), die ervoor zorgt dat de computer responsief blijft voor de gebruiker.
De scheduler in een Real Time Operating System (RTOS) is ontworpen om een voorspelbaar (normaliter omschreven als deterministisch) uitvoeringspatroon te leveren. Dit is met name van belang voor ingebedde systemen omdat ingebedde systemen vaak realtime-eisen hebben. Een realtime-eis is er een die specificeert dat het ingebedde systeem moet reageren op een bepaalde gebeurtenis binnen een strikt gedefinieerde tijd (de deadline).Een garantie om aan realtime-eisen te voldoen kan alleen worden gegeven als het gedrag van de planner van het besturingssysteem kan worden voorspeld (en dus deterministisch is).
Traditionele realtime-roosters, zoals de planner die in FreeRTOS wordt gebruikt, bereiken determinisme door de gebruiker toe te staan een prioriteit toe te kennen aan elke uitvoeringsthread. De planner gebruikt dan de prioriteit om te weten welke uitvoeringsdraad als volgende moet worden uitgevoerd. In FreeRTOS wordt een thread of execution een task genoemd.
Wat is FreeRTOS?
FreeRTOS is een klasse RTOS die is ontworpen om klein genoeg te zijn om op een microcontroller te draaien – hoewel het gebruik niet beperkt is tot microcontroller-toepassingen.
Een microcontroller is een kleine processor met beperkte middelen, die op een enkele chip de processor zelf, alleen-lezen-geheugen (ROM of Flash) voor het uit te voeren programma, en het RAM-geheugen (random access memory) bevat, dat nodig is voor de programma’s die hij uitvoert. Typisch wordt het programma direct vanuit het read only geheugen uitgevoerd.
Microcontrollers worden gebruikt in diep ingebedde toepassingen (die toepassingen waarbij je de processoren zelf, of de software die ze draaien, nooit echt ziet) die normaal gesproken een zeer specifieke en specifieke taak hebben te vervullen. De beperkingen in grootte en de specifieke aard van de eindtoepassing rechtvaardigen zelden het gebruik van een volledige RTOS-implementatie – of maken zelfs het gebruik van een volledige RTOS-implementatie mogelijk. FreeRTOS levert daarom alleen de kern van real-time scheduling-functionaliteit, inter-taak communicatie, timing en synchronisatieprimitieven. Dit betekent dat het nauwkeuriger kan worden omschreven als een real time kernel, of real time uitvoerend systeem. Extra functionaliteit, zoals een command console-interface, of netwerk-stacks, kunnen dan worden toegevoegd met add-on-componenten.
Volgende: RTOS grondbeginselen