コード例 #1
0
ファイル: start.c プロジェクト: darkrossi/TPs-PratiqueSys
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();
	}
}
コード例 #2
0
ファイル: processus.c プロジェクト: medjo/PS-TP
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");
}
コード例 #3
0
ファイル: processus.c プロジェクト: medjo/PS-TP
void idle()
{
    cree_processus( proc1, "proc1");
    for (;;)
    {
        sti();
        hlt();
        cli();
    }
}