Bonjour,
Je commence un nouveau projet, et à ce stade, les questions qui me viennent sont : quel système, quel langage, quelles bibilothèques utiliser.
Je ne suis pas sûr que ce soit le bon endroit pour poster, mais comme par défaut je comptais partir sur du C, je me suis dit autant prendre cette hypothèse et venir sur le forum associé. Dans le cas contraire, corrigez moi.
J'en arrive donc à mon besoin :
Je souhaite développer une application qui a les particularités suivante :
- Il s'agit d'un programme présentant à la fois une partie "temps réel" et une autre "interface avec l'utilisateur (IHM)"
- la partie "temps réel" échange, bien sûr un peu avec l'IHM, mais aussi avec des interfaces physiques, comme le port série. Je dis "temps réel" dans le sens où le programme devra, à intervalle régulier, prendre des informations sur le port série, puis faire des calculs, et renvoyer des informations avant que les nouvelles arrivent, et ce de manière garantie.
- il faut donc pouvoir facilement et efficacement communiquer avec le port série
- A terme la machine sera dédiée à cette application. C'est à dire que cela pourrait marcher sur un ancien système d'exploitation monotâche.
- IHM assez standard, il faut une interface graphique, des interactions clavier/souris, mais attention ce n'est pas juste des boites de dialogues. Il y aura des éléments graphiques à faire évoluer.
- La partie temps réelle devra également être capable de piloter la carte son au plus bas niveau (enfin si cela est possible sur un PC). Que ce soit en lecture ou en écriture. bas niveau c'est à dire que tous les Xms on envoie à la carte son les échantillons à appliquer sur la sortie son. il ne s'agit pas de jouer un fichier préenregistrer de de venir directement bidouiller le buffer de sortie de la carte son (est-ce possible ??)
Donc avec ce cahier des charges je pensais partir sur du C, par exemple sous windows, et en étudiant plusieurs bibliothèques voir s'il est possible de faire ce que j'ai énuméré ci-dessus.
Mais j'aimerais bien prendre un peu de recul, et si possible m'appuyer sur l'expérience d'autres personnes :
- est-ce que le choix du C est pertinent ?
- faut il privilégier un système d'exploitation plutôt qu'un autre?
- est-ce possible, sur un processeur multicore, de dédier par exemple la partie temps réel à un core, et tout le reste à l'autre?
- ne serait il pas plus simple de revenir à un ancien système monotâche où l'on accédait plus facilement au bas niveau et où un programme se déroule du début à la fin dans interruptions ?
Je sais que c'est un peu vague ce que je demande et avec beaucoup de questions, merci d'avance à ceux qui prendront le temps de me lire !
Partager