A learning operating system to get a deeper knowledge in the system software design