M.T.M. OS : Micro Task Manager Operating System
( da non confondere con methyltrimethoxysilane )

MTM OS è un semplice scheduler di task non bloccanti, eseguiti in modalità cooperativa, dove lo scheduler viene eseguito nel main all’interno di un ciclo infinito.

L’elenco dei task viene gestito da una singola funzione (os-run()) eseguita nel loop infinito del main, senza l’uso di ISR, e senza interruzioni asincrone.
L’esecuzione di ogni task non è quindi interrompibile da altri task e i tempi di esecuzione nei casi migliore e peggiore sono calcolabili e deterministici.

E’ possibile gestire task periodici aggiungendo la funzione os_refresh() in un timer ISR, in modo da far rinfrescare il timing dei task.
I task periodici verranno quindi eseguiti ad ogni scadenza del tempo impostato.

Tutti i task possono essere messi in attesa su evento, in modo da poter semplicemente realizzare delle macchine a stati finiti (FSM).
Per la gestione delle FSM, nell’os è incluso un modulo che permette di definire e implementare stati ed eventi in grado di modellare sistemi di media complessità.

l’MTM OS è semplice da portare su differenti architetture, soprattutto su CORTEX-Mx, ma anche su differenti architetture ridefinendo queste tre MACRO : OS_SAVE_EXCEPTION_MASK, OS_RESTORE_EXCEPTION_MASK e DISABLE_IRQ.

L’ultima versione pubblica è disponibile al link sottostante. Per l’ultima versione con personalizzazioni, nuove funzionalità o porting su nuove architetture contattare NERINFORMATICA.

https://www.nerinformatica.it/nerinfo/mtmos-public-release-1-04-04/