Capítulo 5. Aspectos relevantes del desarrollo

El ciclo de vida elegido ha sido el incremental. En primer lugar se ha realizado la infraestructura del sistema para luego diseñar e implementar cada uno de los subsistemas: procesador, memoria y entrada/salida.

En todo momento se ha tenido en cuenta la genericidad del código. Siempre que ha sido implementada alguna funcionalidad se ha realizado de manera que pudiera ser utilizada en otras circunstancias similares y por otros subsistemas.

Para minimizar los posibles efectos secundarios y dada la característica concurrente del proyecto, cada subsistema se ejecuta en un proceso diferente y se comunica mediante paso de mensajes (actualmente mediante sockets).

El Reloj (CLOCK) es el encargado de dar una referencia de tiempo común a los demás subsistemas. El tiempo se expresa en "Unidades de tiempo" que representan el tiempo mínimo que puede transcurrir entre dos eventos consecutivos. Esto quiere decir que se pueden ejecutan varias instrucciones en cada "unidad de tiempo". En el caso de la memoria secundaria la cabeza lectora tarda en volar por encima de una pista una "unidad de tiempo" y otra en cada acceso lo que no es muy realista, pues tendría que ser más lento. Esto, sin embargo, no quita generalidad y resulta más didáctico.