Dada la secuencia de instrucciones que se incluye a continuación correspondiente a la programación en C de una operación de lectura de un hipotético disco (uno de tipo CHS, que requiere especificar el cilindro, la cabeza y el sector implicados) usando MMIO, explique qué tipo de problemas de sincronización pueden presentarse durante la ejecución de la misma, a qué son debidos y cómo pueden solucionarse, reflejando en el seudo-codigo dicha solución.
Programación de la lectura de un sector del cilindro 7, cabeza 2 y sector 16, en la dirección física de memoria 10000 (se supone que la variable d es de un tipo que refleja la disposición en memoria de los distintos registros del dispositivo):
d->cilindro = 7;
d->cabeza = 2;
d->sector = 16;
d->dir=10000;
d->nsect=1;
d->tipo = OP_LECTURA;
d->control = INICIO_OPER;