next up previous contents
suivant: Entrée dans le kernel, monter: Le scheduling précédent: Le scheduling   Table des matières

Mise en place du timer

Nous avons choisi de mettre en place un timer a 100 HZ, de la façon suivante

-- ./include/sched.h
#define HZ 100

-- ./src/process.c
#define LATCH (1193180/HZ)

static void init_timer()
{
    outb_p(0x36,0x43);
    outb_p(LATCH & 0xff,0x40);
    outb(LATCH >> 8,0x40);
}

add_idt(0x20,&switch_task);
outb(inb_p(0x21)&~0x01,0x21);



2003-03-30