Ennobros


Télécharger au format pdf

02

TD 2

Q1

Q1.1

Mode système, la pile système

Q1.2

  1. horloge
  2. disque/controleur
  3. Exception
  4. Appel système

Q2

Q2.1

proc.ct proc.regs

Q2.2

void clock () {
walltime += QX - rtempo;
proc[current] += QX - rtempo;
rtempo = QX;
process_alarm();

save(current);
current = election();
restore(current);
}

rtempo est décrémenté à chaque tick.
rtempo peut devenir négatif
on update l’horloge uniquement à chaque fin de quantum

Q2.2

void clock () {
walltime += TCK;
proc[current] += TCK;
rtempo = TCK;
process_alarm();

if (n_tck == (QX/TCK - 1)) {
save(current);
current = election();
restore(current);
n_tck = 0;
}
else
n_tck++;
}

Page incomplète ou erronée? Contribuez sur le repo