Il y a actuellement 263 visiteurs
Mercredi 24 Avril 2024
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

OS Trampoline - Utilisation des ticks et counter

L'informatique, ce n'est pas qu'un PC équipé de Windows. Ce forum est dédié aux utilisateurs de systèmes d'exploitation dérivés d'unix (GNU/Linux, *BSD, etc...) et aux autres OS alternatifs.

OS Trampoline - Utilisation des ticks et counter

Message le 16 Fév 2012 15:05

Bonjour,

Nous sommes étudiants en informatique, pour l'avancement de notre projet nous devons calculer le temps que prend notre algorithme A* sur un système embarqué (noyaux OSEK/VDX), ce post s'adresse essentiellement au personne connaissant l'OS trampoline.

Dans un premier nous calculons juste le temps d'execution d'un petit algo simple.

Voici notre programme qui est lancé par l'OS au démarrage (la partie importante correspondant à la tache définit dans le fichier oil) :

lonely.c :

Code: Tout sélectionner
....

TASK(periodicTask)
{
   AlarmType alarm1;
   TickType avant;
   TickType apres;
   StatusType erreur;
   
   int nbci_tps = 0;
   int nbci_avt = 0;
   int nbci_apr = 0;
   TickType tempsEcoule;
   TickType tempsEcouleMoyen;
   int i = 0;
   int j = 0;
   
   while ( i < 1000000 )
   {
      erreur = GetAlarm(alarm1,&avant);
      
      nbci_avt = nb_chiffres(avant);
      putString("valeur de avant : ");
      putInt((int)avant,nbci_avt);
      putString("\n");
      
      if ( erreur == E_OS_NOFUNC )
      {
         putString("Alarm non utilisé");
      } else {
         if ( erreur == E_OS_ID )
         {
            putString("Alarm invalide");
         } else {
            while(j < 10000){
               j = j + 1;
            }
         }   
      }
      erreur = GetAlarm(alarm1,&apres);
      tempsEcoule += apres-avant;
      
      putString("\n");
      
      nbci_apr = nb_chiffres(apres);
      putString("valeur de apres : ");
      putInt((int)apres,nbci_apr);
      putString("\n");
   
      i = i + 1;
   }   
   
    TerminateTask();
   
}

...


Le fichier oil (partie importante avec les Alarm, counter etc..) :

Code: Tout sélectionner
....

 TASK periodicTask {
    PRIORITY = 1;
    AUTOSTART = FALSE;
    ACTIVATION = 1;
    SCHEDULE = FULL;
  };   
       
  COUNTER SystemCounter {
    SOURCE = it_timer1; //see target.cfg
    MAXALLOWEDVALUE = 2000;
    TICKSPERBASE = 10; //10 ms.
    MINCYCLE = 1;
  };
   
  ALARM Alarm1{
    COUNTER = SystemCounter;
    ACTION = ACTIVATETASK {
      TASK = periodicTask;
    };
    AUTOSTART = TRUE {
      ALARMTIME = 100; //first activation in 1s after StartOS
      CYCLETIME = 50; //period 0.5s
      APPMODE = std;
    };
  };


....


Un déroulement typique après avoir démarré l'OS est :
avant : 50
apres : 47
avant : 45
apres : 43
...
apres : 2
avant : 50
apres : 47

Alors voila, nous recherchons des explications sur l'utilisation des ticks dans notre programme lonely.c, il semblerait qu'au bout des 50 ticks il repassent à 50 et ainsi de suite, seulement si nous executons un programme qui prend plus de 50 ticks alors nous ne savons pas combien de fois ces ticks sont repassés à 50 ?
Il semblerait qu'il y ai un "counter" qui serait lié à cela, mais nous ne savons pas trop comment récupérer ce résultat et l'utiliser ?

En gros on voudrait des explications sur les ticks et counter ? La différence ? Et comment pourrions nous calculer l'execution d'un programme en prenant en compte le retour à 50 des ticks ?

J'entends bien que mon post n'est pas très clair, étant moi même un peu dans le flou, nous avons consulté la doc (en anglais) mais assez difficile à comprendre, si quelqu'un est assez calé au niveau de l'OS trampoline et de OSEK/VDX peut-être aura-t-il compris nos interrogations ?

PS: ici c'est 50 ticks mais cette valeur peut changer selon le fichier oil.
Etudiant-IUT-INFO
Visiteur
Visiteur
 
Messages: 1
Inscription: 16 Fév 2012 15:02
 



Sujets similaires

Message utilisation cpu erronée
bonjourl'utilisation cpu n'est correcte que dans le gestionnaire de taches, elle est mal reportée dans les applis qui mesurent la charges cpu (driver adrénalin ou aida64 ...), la seule valeur correcte est seulement le gestionnaire des tacheschez vous aussi ça le fait ?pour info je suis sous win11, t ...
Réponses: 0

Message PC portable lent avec disque dur à 100% d'utilisation
Bonjour,j'ai un pc portable Lenovo ideapad 510 qui m'a été confié parce qu'il était lent. En regardant j'ai vite vu que le disque dur était utilisé à 100% même quand rien n'est ouvert. J'ai donc passer plusieurs scan et nettoyage de ccleaner, adwcleaner, ZHPcleaner et j'ai supprimé un antivirus car ...
Réponses: 9

Message Quel portable choisir pour une utilisation "astronomique"
Bonjour tout le monde,Je me permets de venir vers vous, pour avoir des conseils & suggestions par rapport à ma demande.J'avais actuellement un MacBook Pro 2015 que je viens de vendre pour la somme de 1000 euros.Celui-ci était utilisé à 95% du temps pour ma passion, la photo astronomique sous boo ...
Réponses: 2

Message [Résolu] Utilisation elevé de WMI provider host
Merci beaucoup !Voici les liens :https://cjoint.com/c/ILCuWuxPG5Bhttps://cjoint.com/c/ILCuXCOt4jBhttps://cjoint.com/c/ILCuYsSOOIBJ'utilise google chrome avec un compte synchronisé google.Merci d'avanceNyco
Réponses: 28

Message utilisation CPU anormale
hello,un petit soucis depuis quelques semaines sur ma bécane depuis quelques semaine j'ai mon widget cpu/RAM qui m'informe que mon cpu tourne beaucoup, la RAM elle tourne en moyenne a 40% des 4Go, ce qui est normal.la seule chose qui pourrait être à l'origine de ce soucis est qu'un jour j'ai par er ...
Réponses: 29

Message PC pour utilisation basique à moindre coût
Bonjour, je viens vers vous car mon PC vient de me lacher et que je vais devoir en racheter un très vite !J'aimerai un PC portable qui ne soit pas trop grand (environ 13-14") et qui me permettent d'avoir une utilisation basique (Youtube, Spotify, Netflix, Office ...) J'aimerai qu'il tourne sous ...
Réponses: 6

Message utilisation de grsync
Bonjour à tous (et à Diogène en particulier)!Voilà: Suite à la non récupération de me mes données avec l'application prévue dans les outils, j'ai installé grsync et j'ai fait une sauvegarde sur une partition d'un D.D. séparé formatée en ext4.Celle ci s'est bien passée semble t-il.Si j'examine cette ...
Réponses: 3


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.