Esempio n. 1
0
void kernel_start(void){

	/* Initialisation de l'écran et du curseur */
	efface_ecran();
	place_curseur(0,0);

	/* Initialisation des interruptions */
	masque_IRQ(0, false);
	init_traitant_IT(32, traitant_IT_32);

	/* Initialisation de l'horloge */
	set_clock();

	/* Initialisation des processus */
	
	cree_processus("idle", NULL, ELU);
	cree_processus("proc_proc1", proc1, ACTIVABLE);
	cree_processus("proc_proc2", proc2, ACTIVABLE);
	cree_processus("proc_proc3", proc3, ACTIVABLE);

	processus_elu = tab_processus[0];

	
	/* Démarrage du processus par defaut */
	idle();

 	while(1) {
		hlt();
	}
}
Esempio n. 2
0
void proc3(void)
{
    for (uint32_t i = 0 ; i < 1 ; i++)
    {
        printf("[temps = %u] processus %s pid = %i\n", nbr_secondes(), mon_nom(), mon_pid());
        dors(1);
    }
    cree_processus( proc1, "proc1");
    cree_processus( proc2, "proc2");
}
Esempio n. 3
0
void idle()
{
    cree_processus( proc1, "proc1");
    for (;;)
    {
        sti();
        hlt();
        cli();
    }
}