Operating Systems: Design and Implementation - Tanenbaum, Andrew S.; Woodhull, Albert S.