-
Répartition des fichiers:
vm.hetvm.cimplémentent les fonctions de la vmrr.hetrr.cimplémentent la fonction de scheduling pour Round Robinhm_main.hethm_main.cimplémentent les fonctions d'interfaces du heap memory managerhmc.hethmc.cimplémentent les fonctions du heap memory manager utilisant les canaryshmgp.hethmgp.cimplémentent les fonctions du heap memory manager utilisant les pages de gardes
-
Fonctions de la vm:
yield(n)qui met en pause l'exécution d'un uthread jusqu'à la fin du quantum courant et empêche son scheduling durant lesnquantums suivantscreate_vcpu(n)qui créénvCPUs pour le prochain lancement de VM. A noter qui si l'on exécutecreate_vcpu(n)puiscreate_vcpu(m)avantrun(), alors la VM aura m vCPUsconfig_scheduler(q, s)qui configure le scheduler avec un quantum deqsecondes et un mode de scheduling attribué en fonction des(Round Robin pours=1et CFS pours=0)create_uthread(f)créé un uthread pour la prochaine VM qui exécutera la fonctionfconfigure_hmm(n)qui configure le heap memory manager, et permet de choisir entre la sécurisation par canarys ou par pages de gardes (canarys sin=0et pages de gardes sin=1)run()qui lance la VM (bloquant)
-
Utilisation: Pour que la VM fonctionne, il faut tout d'abord configurer le heap memory manager, et il faut configurer le scheduler avant de créer des uthread et de lancer la VM, des messages d'erreurs seront envoyés dans la sortie standard si ce n'est pas la fonction appelée ne s'exécutera pas. Un exemple d'utilisation de la librarie est fourni dans
exemple.c -
Fonctionnalités manquantes:
- Fréquences et classes pour les heap memory manager
-
Notifications
You must be signed in to change notification settings - Fork 0
gdehame/vm-library
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published