FreeRTOS: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Aggiunte per lo più le fonti (7) con l'inserimento del relativo paragrafo, ma la voce rimane gravemente carente. Aggiornati i dati relativi l'ultima release (dopo 3 anni) |
Nessun oggetto della modifica |
||
(15 versioni intermedie di 12 utenti non mostrate) | |||
Riga 1:
{{F|
{{Sistema operativo
| nome = FreeRTOS
| sviluppatore = Real Time Engineers Ltd.
| famiglia = Sistemi operativi real-time
|prima_versione_pubblicata = 0.1 <ref name="ReleaseHistory">{{cita web |url=https://www.freertos.org/History.txt|sito=FreeRTOS|lingua=EN|accesso=22 settembre 2018}}</ref>
|data_prima_pubblicazione = 2003 <ref>{{cita web
| ultima_versione_pubblicata = 10.2.1
| data_ultima_pubblicazione = 13 maggio 2019 <ref name="ReleaseHistory"/>
Riga 15 ⟶ 14:
| sito_web = [http://www.freertos.org Il sito di FreeRTOS.]
}}
'''FreeRTOS''' (Free Real-Time Operating System) è
== Implementazione ==
Riga 28 ⟶ 27:
* una [[Libreria standard del C|libreria in C]] di allocazione e deallocazione con protezione in mutua esclusione.
Non esiste nessuna delle funzioni più avanzate che si trovano in genere in sistemi operativi come [[Linux]] o [[Microsoft Windows]], come driver per dispositivi esterni, gestione avanzata della memoria, account utente e rete. L'enfasi viene posta piuttosto sulla compattezza e sulla velocità di esecuzione. FreeRTOS può essere considerato come una ''libreria di supporto ai thread,'' piuttosto che come un 'sistema operativo', anche se sono disponibili interfacce a riga di comando e degli addon compatibili [[POSIX]] per l'astrazione degli I/O.
FreeRTOS implementa i thread facendo in modo che il programma host richiami un metodo "thread tick" a brevi intervalli regolari. Il metodo ''thread tick'' abilita i task in base ad una schedulazione con priorità ed a round-robin. L'intervallo di tick è solitamente compreso in un range tra 1/1000 ed 1/100 di secondo, innescato da un interrupt proveniente da un realtime clock hardware, ma viene spesso modificato per adattarsi alla particolare applicazione.
Il download di FreeRTOS contiene configurazioni preimpostate e programmi demo per ogni port di architettura e per ogni [[compilatore]], permettendo un rapido utilizzo. Sul sito [http://www.freertos.org FreeRTOS.org] è presente una vasta sezione di documentazione e molti tutorial (manuali aggiuntivi e altro materiale sono disponibili a pagamento), così come dettagli sulla struttura dell'RTOS.
== Caratteristiche principali ==
* Esistono manuali in PDF e guide di riferimento gratuiti;<ref>{{cita web |url=https://freertos.org/Documentation/RTOS_book.html |titolo=FreeRTOS Documentation |sito=FreeRTOS |lingua=EN |accesso=22 settembre 2019 }}</ref><ref>{{cita web |url=https://freertos.org/wp-content/uploads/2018/07/161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf |titolo=Mastering the FreeRTOS Real Time Kernel-A Hands-On Tutorial Guide Documentation |formato=pdf |lingua=EN |accesso=22 settembre 2019 |dataarchivio=22 settembre 2019 |urlarchivio=https://web.archive.org/web/20190922063811/https://freertos.org/wp-content/uploads/2018/07/161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf |urlmorto=sì }}</ref>
* Minima occupazione di memoria, basso [[overhead]], e veloce esecuzione dei programmi;
* Modalità [[Tickless kernel|tickless]] opzionale per applicazioni che richiedono basso consumo;
* È ideale sia per gli hobbisti alle prime armi con i sistemi operativi che per gli sviluppatori professionisti che creano prodotti commerciali;
* Lo schedulatore può essere configurato sia per le operazioni preemptive che per le cooperative;
* Supporta le coroutine (la coroutine in FreeRTOS è molto semplice ed è formata da processi leggeri che hanno un limitato impatto d'uso dello
* Supporto al tracing del programma, tramite macro generiche di traccia. Strumenti come Tracealyzer (cioè FreeRTOS + Trace, fornite dal partner Percepio di FreeRTOS) possono quindi registrare e visualizzare il comportamento di runtime dei sistemi basati su FreeRTOS. Ciò include la pianificazione delle attività e le chiamate del kernel per operazioni di [[Semaforo (informatica)|semaforo]] e [[Coda (informatica)|coda]]. Tracealyzer è uno strumento commerciale, ma è anche disponibile in una versione libera a funzionalità limitata. La versione completa ha un prezzo di 1066 € (US$1,200).
== Progetti correlati ==
Riga 51 ⟶ 47:
SafeRTOS è stato sviluppato dalla ''WITTENSTEIN'', che produce sistemi ad elevata integrazione, in collaborazione con la ''Real Time Engineers Ltd'', sviluppatore principale del progetto FreeRTOS. Sia ''SafeRTOS'' che FreeRTOS condividono lo stesso algoritmo di schedulazione, hanno simili [[Application programming interface|API]], e altre caratteristiche in comune, ma sono stati sviluppati con obiettivi differenti.
SafeRTOS è stato sviluppato interamente in [[C (linguaggio)|C]], al fine di uniformarsi con i requisiti richiesti dalla [[certificazione]] [[
SafeRTOS è conosciuto per la sua capacità, unica tra i sistemi operativi, di risiedere esclusivamente nella [[Read Only Memory|memoria di sola lettura]] nei chip di un microcontrollore, consentendo così la pre-certificazione di sistemi hardware e software completi all'[[
SafeRTOS è incluso nella [[Read Only Memory|ROM]] di alcuni microcontrollori Stellaris della [[Texas Instruments Incorporated|Texas Instruments]]. È possibile implementare SafeRTOS senza dover acquistare il codice sorgente. In questo campo di applicazione, per mappare le funzioni API nella loro posizione all'interno della ROM viene usato un semplice file ''header ''in [[C (linguaggio)|C]]. È consigliabile l'utilizzo della ROM perché il codice che contiene il file in questione non è modificabile - scartando la possibilità che un utente erroneamente acceda al codice e lo modifichi - e garantisce che la versione originale testata rimanga identica per tutto il periodo di utilizzo. Non sarà necessario riesaminare il codice dell'applicazione in modo che si evolva attorno ad esso. Il test del kernel complesso non più viene effettuato in quanto le prove di certificazione già approvate, inclusi il piano di prova, il codice e i risultati, possono essere acquistati "fuori dal piano".
|