Che cos’è l’architettura S.Ha.R.K (Soft Hard Real-time Kernel)?

Che cos’è l’architettura S.Ha.R.K (Soft Hard Real-time Kernel)?

S.Ha.R.K. è l’acronimo di Soft Hard Real-time Kernel. Esso è più precisamente un kernel real-time didattico, sviluppato con l’obiettivo di facilitare l’implementazione e il test di nuovi algoritmi di scheduling, server aperiodici e protocolli di gestione delle risorse.
Nasce nel 2000 all’interno della Scuola Superiore Sant’Anna di Pisa e deriva da un vecchio progetto del medesimo istituto, HaRTiK. Attualmente è alla versione 1.5 ed è rilasciato sotto licenza GPLv2; il kernel supporta i drivers per la maggior parte dei dispositivi hardware, un’interfaccia modulare per la specifica degli algoritmi di scheduling e la gestione avanzata degli eventi temporali.

Si pone i seguenti obiettivi:

  1. Semplicità nello sviluppo di nuove applicazioni;
  2. Ampia flessibilità nella modifica delle politiche di scheduling;
  3. Aderenza allo standard POSIX.

Le principali caratteristiche di S.Ha.R.K. sono:

  1. Kernel fortemente modulare e leggero;
  2. Presenza di device drivers per l’hardware più comune;
  3. Interfaccia modulare per la specifica di politiche di scheduling della CPU;
  4. Interfaccia modulare per la specifica di politiche di gestione delle risorse condivise.

Architettura di S.Ha.R.K.

In altre parole, S.Ha.R.K. è un kernel ad architettura dinamica e configurabile creato per supportare applicazioni hard, soft e non real-time con algoritmi di scheduling intercambiabili. E’ interamente modulare in termini di politiche di scheduling, server aperiodici e protocolli per il controllo del parallelismo, cosa che in un sistema operativo tradizionale non è invece prevista. Tale modularità è ottenuta con il sistema di partizionamento delle attività tra un kernel generico e una serie di moduli che possono essere registrati in fase di inizializzazione per configurare il kernel in base a specifici requisiti di applicazione. Il maggior beneficio di questa architettura del kernel è che un’applicazione può essere sviluppata indipendentemente da ogni configurazione di sistema, così che nuovi moduli possono essere aggiunti o rimpiazzati nella stessa, in maniera da poter valutare gli effetti di una specifica politica di scheduling in termini di predicibilità, overhead e performance. Inoltre, il sistema è conforme a quasi tutte le specifiche POSIX 1003.13 PSE52.

Che cos'è l'architettura S.Ha.R.K (Soft Hard Real-time Kernel)

Programmazione in SHARK

Il sistema SHARK supporta per la compilazione sia la piattaforma Windows con il compilatore DJGPP sia la piattaforma Linux con il compilatore GCC; l’host Windows, per l’esecuzione delle applicazioni realizzate, necessita di un programma di estensione del DOS, mentre Linux utilizza il bootloader GRUB.
La programmazione delle applicazioni viene fatta in linguaggio C; la struttura standard delle applicazioni prevede:

  1. un file di inizializzazione;
  2. un task di inizializzazione;
  3. una funzione principale, main, per la creazione dei vari tasks;
  4. una serie di tasks per effettuare le varie elaborazioni.

 

Precedente Come funziona lo scheduling nei sistemi real-time? Successivo Che cos'è e a cosa serve l'Ingegneria dei Requisiti (Requirements Engineering)?

Lascia un commento

*