Architettura dei sistemi operativi real-time

Architettura dei sistemi operativi real-time

Architettura dei sistemi operativi real-time

I sistemi operativi real-time fornisco alle applicazioni un’astrazione dell’hardware (Hardware Abstraction Layer, HAL). L’Hardware Abstraction Layer mette a disposizione delle applicazioni una serie di servizi (primitive real-time). E’ un insieme di funzioni di I/O il più possibile generiche e semplici, il cui compito è di tenere conto di tutte le differenze fra dispositivi fisici diversi, al posto del programma che li userà, nascondendogli la vera identità e natura di essi: per esempio il programma, invece di aprire personalmente un file chiederà all’HAL di farlo per lui e l’HAL, appena esaudita la richiesta, gli passerà un riferimento al file per la lettura (o lo leggerà per lui).

I programmi comunicano al sistema operativo real-time le operazioni da compiere e il sistema operativo provvede a effettuare le modifiche necessarie. Questo consente di modificare l’hardware deposto alla visualizzazione senza dover modificare tutti i programmi. Basta modificare lo strato che accede all’hardware!

L’Hardware Abstraction Layer può essere utilizzato per emulare componenti non presenti nel sistema operativo o nell’hardware. Per esempio le moderne schede grafiche non gestiscono nativamente le modalità CGA, EGA o VGA. Queste modalità vengono emulate dall’HAL che provvede a tradurre le istruzioni che gestiscono queste modalità in comandi comprensibili dalla scheda grafica. L’emulazione sfruttando un HAL viene utilizzata in molti sistemi per consentire la retro compatibilità con applicazioni arcaiche.

 

Precedente Caratteristiche e differenze tra sistemi Hard e Soft real time Successivo Come funziona lo scheduling nei sistemi real-time?

Lascia un commento

*