https://blog.faltutech.com/2017/operating-system/12/28/the-computer-system-hardware-view/