FreeRTOS: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Gamon2 (discussione | contributi)
Implementazione: aggiustamento della traduzione Wipkipedia in Inglese.
Gamon2 (discussione | contributi)
Riga 16:
 
== Implementazione ==
FreeRTOS è stato ideato per essere compatto e semplice da utilizzare. Il [[kernel]] è composto da solosoli tre file in [[linguaggio C]]. Per rendere il codice più leggibile, quindi facile da trasferire"portare" a nuove architetture, e da gestire, la maggior parte del sorgente è scritto in [[C (linguaggio)|C]], ma, dove necessario, sono presenti varie funzioni in [[assembly]] (soprattutto nelle routine di schedulazione relative alle specifiche architetture).
 
FreeRTOS fornisce alcuni metodi per la creazione di [[Thread (informatica)|threads]] o istruzioni multiple, [[mutex]], [[Semaforo (informatica)|semafori]] e software [[temporizzatori|timer]]. Per le applicazioni a basso consumo è possibile utilizzare una modalità [[tickless kernel]]. FreeRTOS supporta e gestisce le priorità dei thread. I programmi FreeRTOS possono essere allocati in modo completamente statico. In alternativa gli oggetti RTOS possono essere allocati in modo dinamico con cinque schemi di allocazione possibili:
Riga 22:
* solo allocazione;
* allocazione e deallocazione con un semplice e rapido algoritmo;
* unaun algoritmo più complessacomplesso ma più veloce per la allocazione e la deallocazione che fa uso di [[Coalescenza (informatica)|memoria coalescente]];
* un'alternativa allo schema più complesso che usa la coalescenza della memoria, che consente ad un heap di essere frammentato in più aree di memoria;
* una di [[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 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. in casi di interrupt derivanti dal timer dell'hardware. Questo intervallo spesso viene variato per configurare particolari applicazioni.
 
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.