VRTX
# 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.

