title: VRTX
text: # VRTX
  
  VRTX - Versatile Real-Time Executive è un sistema operativo real-time orientato ai sistemi embedded e SoC e sviluppato perciò per poter essere eseguito su hardware minimi: gli unici requisiti indispensabili perché possa essere eseguito sono un microprocessore e della RAM. È un sistema operativo proprietario in grado di fornire prestazioni hard real-time con il pieno supporto al multitasking. Il core del sistema operativo è costituito da un nanokernel, cioè un kernel minimo che fornisce le capacità di base per il multitasking e per i servizi di sincronizzazione tra processi. Questo sistema operativo supporta diverse architetture, tra cui ARM, MIPS, PowerPC e altri microprocessori RISC.
  
  ## Storia
  
  Lo sviluppo di VRTX comincia nei primi anni 80 per mano di James Ready e Colin Hunter, fondatori della Hunter & Ready, che successivamente divenne Ready Systems. Questa società si fuse poi con la Microtec Research. La Microtec nel 1995 venne acquisita dalla Mentor Graphics, che a tutt'oggi fornisce un supporto minimo per VRTX con il marchio Microtec, ma distribuisce un nuovo RTOS chiamato Nucleus, il quale supporta lo standard POSIX.
  
  ## Caratteristiche
  
  Essendo un sistema operativo hard real time non è dotato degli strumenti standard a cui è abituato un utente comune: non ha file system, non ha strumenti di controllo di alto livello (bensì esclusivamente console emulate su protocollo ethernet).
  
  * Supporta il multitasking.
  * È dotato di uno scheduler a priorità e a eventi che gestisce la coda di priorità con politica FIFO.
  * La Comunicazione e sincronizzazione tra task può avvenire in vari modi: mailbox, code FIFO, eventi, semafori e mutex.
  * È in grado di allocare e deallocare memoria in modo dinamico: ogni oggetto può essere creato e distrutto grazie a dei pool di strutture libere.
  * È in grado di eseguire processi in user mode e kernel mode.
  
  VTRXsa è fully preemptable al contrario di VRTX32. Quest'ultimo permette il rescheduling solo dopo il termine di una chiamata di sistema. VRTXsa invece può interrompere i task e avviare la procedura di rescheduling anche durante l'esecuzione di una chiamata di sistema, ovvero quando un task è in esecuzione in kernel mode.
  
  ## Versioni
  
  L'ultima versione di VRTX distribuita è VRTXsa.
  
  Altre versioni distribuite: VRTX32, VRTXmc, VRTX.
  
  ## Curiosità
  
  VRTX viene utilizzato per gestire il Telescopio spaziale Hubble e il Mars Science Laboratory.
  
  