walidos09
Messages postés5Date d'inscriptiondimanche 19 décembre 2004StatutMembreDernière intervention24 décembre 2004
-
20 déc. 2004 à 16:22
walidos09
Messages postés5Date d'inscriptiondimanche 19 décembre 2004StatutMembreDernière intervention24 décembre 2004
-
24 déc. 2004 à 01:09
/*
l'ennoncé de mon projet :
on désire concevoir par l'approche objet, une application pour simuler
le fonctionnement du noyau du systéme le fonctionnement du noyau du systéme
d'exploitation permettant d'executer les différentes tâches qui se présentent au syéstéme .
pour chaque tâche présentée, un processus est crée.il est identifié par un code unique,
son nom, l'instant de son arrivée, son état (actif ou en attente) , sa priorité, le temps d'exécution demandé sur le processeur
et le temps consommé.
plusieurs types d'ordonnancement sont possibles (fifo, lifo, par priorité, par quantum de temps ...).Pour chacun de ces types,
on put associer un objet ordonnanceur qui simule l'execution des processus selon l'algorithme approprié.
on demande de:
1- canccevoir une classe Processus en imaginant tous les services possibles de creation,suppression , affichage , modification , ect...
2- concevoir une classe ordonnanceur intégrant les services permettant de simuler l'execution selon l'algorithme choisi .
3- proposer un programme permettant de simuler l'exécution d'une liste de processusselon un algorithme choisi d'ordonnancemant et d'afficher a chaque instant l'évolution de l'exécution.
4-imaginer et proposer une classe dérivée processus_specifique pour gérer certaines tâches spécifiques et proposer un programme
manipulant des objets polymorphes.
nb:les processus sera traité par des listes chainés.
void processus::modification(int m)
{
int i;
while(cur!= NULL)
if(cur->val.code=m)
{
cprintf("donner le nouveau code de processus :");cin>>cur->val.code;
cprintf("donner le nouveau nom de processus :");cin>>cur->val.nom;
cprintf("donner the new instant d'arriver :");cin>>cur->val.intar ;
cprintf("donner the new temps d'execution :");cin>>cur->val.tpsex;
cprintf("donner son new priorité :");cin>>cur->val.prio ;
}
}
/******************************/
class ordonnanceur
{
friend class processus;
public:
processus l;
void ordonner(int,int);
friend processus::creation(int);
};
void ordonnanceur::ordonner(int k,int nb)
{
int i=0;
switch(k)
{
case 1 :
cout<<nb; //lifo
while(l.cur)
{cout<val.code<<endl;i++;
l.cur=l.cur->suiv;}
break;
case 2 :
for(i=0;i<nb;i++) //fifo
cout<<l.cur->val.code<<endl;break;
default:;
}
}
/***********************************/
void main()
{
processus x;ordonnanceur o;int w,b;
cprintf("donner le nombre de processus a traite : ");cin>>w;
x.creation(w);
clrscr();
gotoxy(3,3);cprintf("vous pouvez ordonner les processus inseré suivant les algorithmes : ");
gotoxy(3,7);cprintf("1 - lifo");
gotoxy(3,9);cprintf("2 - fifo");
do{
gotoxy(3,12);
cprintf("choisir le nombre correspondant a ton algorithme : "),cprintf(" "),cin>>b,cprintf(" ");
}
while((b!=1)&&(b!=2));clrscr();
o.ordonner(b,w);
getch();
}
cs_psycho
Messages postés232Date d'inscriptionsamedi 11 mai 2002StatutMembreDernière intervention27 octobre 2007 20 déc. 2004 à 20:27
Ici, on fait pas le boulot des autres.
T attends quoi? Qu'on fasse tes études pour toi?
Personnellement je ne suis pas d'accord.
Je demande d'ailleurs si un admin lis ce poste qu'il le supprime purement et simplement.
Bonne soirée.