int main(int argc, char **argv) { uint32_t retardo; char *operation_code; inicializar_CPU(argv[1],&retardo); while(true) { obtener_siguiente_hilo(); /* Solicita un nuevo hilo para ejecutar (TCB y quantum) al Kernel */ ejecucion_hilo(&Hilo,Quantum); /* LOG */ eu_cargar_registros(); while(Quantum || KernelMode) { if(Execution_State != CPU_ABORT) { eu_fetch_instruccion(operation_code); eu_decode(operation_code); eu_ejecutar(operation_code,retardo); avanzar_puntero_instruccion(); eu_actualizar_registros(); } } devolver_hilo(); /* Devuelve el hilo al kernel */ fin_ejecucion(); /* LOG */ } return EXIT_SUCCESS; }
void ansisop_fin_tcb() { fin_ejecucion(); }