In this work, we answer the fundamental question: Why does the same program compiled with the same tool-chain and libraries take different amounts of time on different operating systems (OSs)? To answer this question, it is necessary to perform a detailed architectural characterization of popular OS intensive workloads, and then analyze their detailed execution traces.