Computer Systems: A Programmer's Perspective Mark