Ce didacticiel est destiné aux utilisateurs sachant écrire un peu de code de la Simple Virtual Machine.
Dans ce didacticiel, vous allez découvrir l'entité responsable de l'exécution de tout le code au sein de la machine virtuelle.
Le temps de lecture de ce didacticiel est estimé à 10 minutes.
Pour commencer, créez le canevas de l'application dans le fichier exécutable systeme.svm en utilisant ce code :
#!/usr/bin/env svm
DESCRIPTION
System exploration
END
LOG
DEBUG "System"
PLUGIN "svmrun.so"
PLUGIN "svmint.so"
PROCESS "application"
CODE "main" INLINE
:debug BREAK "application"
:memory INT/i
0 -> &i
:label loop
:run.parallel_call $"child" i "child" SCHED=run.parallel PARAMS=COPY
:shift &i
:goto loop :when @&i IN &0*3
:shutdown
:symbol child
:memory STR/s
:int.print @&P -> &s
:debug BREAK @&s
END
END
Le système est l'entité de la machine virtuelle qui contrôle l'exécution de tout le code de l'application.
Il contient notamment les ordonnanceurs et les processus créés dans la machine, et surveille leur terminaison.
Pour orchestrer l'exécution des processus avec leurs ordonnanceurs, le système met à disposition de ces derniers une file d'événements servant de canal de communication entre processus et ordonnanceurs.
Ces événements sont affichés dans le débugueur. Lancez l'application en mode débugueur, puis cliquez sur "Events" dans le menu principal. Executez l'application pas à pas :
Le système contrôle l'exécution du code dans la machine virtuelle.
Le système et les éléments qui le composent communiquent entre eux grâce à des événements.
Vous venez de voir la plus haute entité d'exécution de code de la machine virtuelle.
Les événements qui sont échangés au sein du système permettent de mettre au point un nouvel ordonnanceur, ou de comprendre l'enchaînement d'actions pouvant mener à un comportement incorrect de l'application.