Otra consecuencia es el suministro de abstracciones alejadas del hardware es el aumento en complejidad del sistema. Habitualmente todo, gran parte o la parte más compleja del software necesario para implementar los servicios del sistema está incluido dentro del mismo.
El código del sistema suele ser ya de por si complejo y además concurrente, lo que aumenta aún mas esta complejidad. Introducir nuevos servicios es difícil (lo que empeora la falta de flexibilidad) y a menudo afecta a los servicios existentes con anterioridad [162, 99].
En la arquitectura propuesta, puesto que todos los servicios tradicionales están realizados como extensiones (salvo por la multiplexación del hardware), el sistema es extremadamente simple. Basta tener en cuenta que los servicios suministrados son extremadamente básicos y requieren pocas líneas de código. Por la misma razón, las abstracciones suministradas son más simples y fáciles de entender.
Es cierto que la complejidad se desplaza hacia las aplicaciones y el
espacio de usuario. A pesar de ello el nivel de complejidad del
núcleo es extremadamente menor y las aplicaciones que lo deseen
pueden emplear abstracciones más simples que las suministradas por
los sistemas actuales. Por otro lado, la modularidad introducida por
el empleo de un
kernel de bajo nivel hace más sencilla la realización
de abstracciones, tradicionalmente suministradas por el núcleo, en
área de usuario.