Linux Architecture Explained: Kernel, User Space, and Hardware