Femto OS
# Femto OS

Femto OS è un sistema operativo real-time del tipo con prelazione per microcontrollori ad 8 bit della famiglia Atmel AVR sviluppato da Ruud Vlaming. Femto OS è open source e disponibile sia con licenza GPLv3 sia con una licenza di tipo commerciale.

## Caratteristiche tecniche

Femto OS è stato scritto ispirandosi a FreeRTOS, un altro sistema operativo real-time che supporta i microcontrollori Atmel AVR. Rispetto a FreeRTOS, sviluppato per i microcontrollori a 32 bit delle famiglie SAMx, AT91 e AVR32, Femto OS è stato progettato per essere utilizzato sui microcontrollori Atmel ad 8 bit delle famiglie ATtiny e ATmega, che hanno ridotti quantitativi di memoria flash per l'applicazione e di memoria RAM per le variabili ed i dati. Per questo motivo Femto OS non permette di eseguire molti processi contemporaneamente ma, al contempo, impiega un limitato quantitativo di memoria: l'autore dichiara che la più piccola applicazione sviluppata con Femto OS occupa solo 258 byte di flash e 10 byte di SRAM..

L'elenco seguente riporta le caratteristiche principali di Femto OS:

* numero massimo di processi: 16
* livelli di priorità: 8
* numero massimo di lock: 15
* dimensione minima dello stack per processo: 4 byte
* dimensione minima dello stack del SO: 9 byte

## Il nome Femto OS

Il nome "Femto OS" è stato scelto per indicare un sistema operativo molto piccolo (femto è un prefisso SI che esprime un fattore di $10^{-15},$ ossia di 1 milionesimo di miliardesimo), più piccolo di un altro sistema operativo di ridotte dimensioni, pico]OS, non più sviluppato.

