title: Femto OS
text: # 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.
  
  