Mini projet systéme d'exploitation en c++

Fermé
bilel87 Messages postés 1 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 21 janvier 2008 - 21 janv. 2008 à 11:14
 saad - 27 févr. 2009 à 15:52
il s'agit de réaliser à travers l'utilisation de l'approche oreintée objet,la simulation du fonctionnement du noyau d'un systéme d'exploitation qui soit capable d'exécuter les différentes tâches qui se présentent au systéme.
pour chaque tâches présentée, un processus est crée.il est identifié par son code unique,son nom,l'instant de son arrivée,son état(actif ou enattente),sa priorité,le temps d'exécution demandé et le temps d'exécution consomme.
plusieurs types d'ordonnancements sont possibles(fifo,lifo,par priorité, par quantum de temps,etc.).pour chacun de ces types, on peut associer un objet ordononceur qui simule l'execution des processus selon l'algorithme approprié.
1 concevoir une classe processus en imaginant tous les services possibles de creation, affichage, modification...
2 concevoir une classe ordonnanceur intégrant les services permettant de simuler l'exécution selon l'algorithme choisi.
3 proposer un programme permettant de stimuler l'exécution d'une liste de processus selon un algorithme choisi d'ordonnancement et afficher à chaque instant l'évolution de l'exécution.
svp aidez moi
A voir également:

2 réponses

il existe un bon site tu connait le site bosokernel il est tres tres bien pour toi
3
BASSOUDILUS Messages postés 15 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 22 mai 2011 2
28 sept. 2008 à 15:30
slt bolbol
ben je pe taider pour lordenancement des processus avec ceci et il est simple a comprendre
# include< stdio.h >
#define max 100
// declaration des variables
struct process /* structure des processus */
{
int da,tex;
int pid;
}p[1000];
int main ()
{
//npr : nombre de processus //
//da : date d'arrivée //
//tex :temps d"execution//
// p processus
//tmt
int npr,minda,aux,tmt[max];
int k=1,j=0,i=0;
minda=0;
printf("SVP introduire le nombre de processus \n ");
scanf("%d",&npr);
printf("\n****information sur les processus**** \n");
// cette partie permet d introduire le nombre des procesuss anisi que leurs temps d execution , le PID ,et la date d arriver de
puts("ordonnancement avec SJF(shortest job first");
puts("*********************************************************");
for (i=1;i<=npr;i++)
{
puts(">>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<");
printf ("***les donnees de la processus numero %i*** \n",i);
printf ("le P____I____D de P[%i]=",i);
scanf("%i",&p[i].pid);
printf("la date d arriver de P[%i]=",i);
scanf("%d",&p[i].da);
if (p[i].da>minda)
minda =p[i].da;
printf("temps d execution de P[%d]=",i);
scanf("%d",&p[i].tex);
puts("<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>");
}
puts("********************************************************");
// traitement du programme principal

//partie de trie du tableau qui va ordonner les processus selon leurs dates d execution


for(i=npr;i>=1;i--)
{
for(j=0;j<i;j++)
{
if(p[j].tex>p[j+1].tex)
{
aux=p[j+1].tex;
p[j+1].tex=p[j].tex;
p[j].tex=aux;
tmt[i]
}
}
}
for (i=1;i<=npr;i++)
{
printf("%i ",p[i].tex);

}

// partie affichage des diagramme de GANTT
// la partie de l execution

puts ("diagramme");

k=minda;
for(i=1;i<=npr;i++)
{

for(j=1;j<=p[i].tex;j++)
{
printf("%i",k);
printf("E %d\n",i);
k++;

}

}
puts ("\nfin de programmes \n ");
return 0;
}
0
peux tu m'expliquer la gestion par priorité ?? je pourrai par la suite te filer des codes qui peuvent etre utiles pour ton mini projet
1