
Envoyé par
mohsenuss91
mes questions sont:
-comment implémenté ce fichier en langage C?
-comment le connecté au programme ?
-comment faire pour le temps d’exécution de chaque processus ?
Salut
Tu as là un TP de haut niveau démontrant que tu es déjà bien avancé dans le domaine de prog. Pourtant tes questions sont assez bas de gamme et décalées par rapport au niveau du TP. Donc on ne sait pas trop comment t'aider.
Le langage C est un langage comme tous les autres: il t'offre des outils permettant de modéliser des concepts. Alors comparé à d'autres plus évolués comme VB ou Python ou C++ on a le droit de dire qu'il est assez archaïque car manifestement certains outils de ces langages cités manquent (essayons de faire a=[x*y for x in range(5) for y in range(10) if x%y] en C et on comprendra ce que je veux dire) mais comparé à d'autres comme l'assembleur on sera heureux de l'avoir.
Ainsi le C t'offre des variables de type simple (int, char, float), des variables de type plus complexes comme les structures (que tu peux créer toi-même) et des tableaux sur ces types simples ou complexes. Donc "comment implémenter ce fichier en C" devra se faire par le biais de ces outils.
Par exemple un processus c'est une entité contenant
- un identificateur
- une priorité
- un temps d'exécution
Donc à toi de créer l'outil te permettant de modéliser cette entité. T'as de la chance, le C possède le concept "structure" qui est un concept assez universel pouvant regrouper plusieurs éléments entre eux. Donc ici je verrais bien une structure
1 2 3 4 5
| typedef struct {
unsigned long id;
unsigned short pri;
unsigned short time;
} t_processus; |
Maintenant tu as en main le type "t_processus" te permettant de créer des variables pour gérer ce processus. Par exemple si tu dois gérer 3 processus, alors tu peux écrire
Ou alors si tu dois gérer, et ce de façon plus "robotisée" un nombre de processus plus important, tu peux utiliser un tableau
t_processus tabProcess[100];
A ce qu'il me semble, les processus doivent prendre leurs infos dans un fichier. Ben le fichier devra alors stocker ces infos dans un format de ton choix (texte si tu as envie de le visualiser/modifier au travers d'un éditeur, ou binaire si tu n'as pas besoin de cette possibilité) puis ton code devra s'occuper de lire le fichier et copier les données lues dans le tableau des processus. Moi j'utiliserais fgets() + sscanf() si c'est un fichier texte, et fread() si c'est un fichier binaire.
Bref tu as plein d'outils très généraux permettant de manipuler de la data, mais c'est à toi de
1) organiser ces datas pour qu'elles représentent le concept que tu veux manipuler
2) prendre les outils nécessaires pour effectuer tous les travaux
Le C est un bon langage rapide et solide, mais il n'est pas une marmite de potion magique et ne fera rien par lui-même. Ainsi tu as un outil qui peut lire des datas dans un fichier (fread) et copier ces datas dans une zone mémoire (memcpy) mais tu n'as pas d'outil qui te permette de dire "je veux générer un tableau de processus et les faire communiquer". C'est à toi de découper ce travail en tâches très basiques pour pouvoir ensuite attribuer chaque tâche à l'outil approprié...
Partager