Search code examples
hardwarecomputer-science

Hardware knowledge in computer science?


How much hardware understanding does one need to fully comprehend "Operating System" and "Computer Architecture" courses one takes as a computer science student?


Solution

  • Two thoughts:

    First, everything is going parallel. Multi-threading is one thing, multi-core is another. There are oodles of issues around caching, memory architecture, resource allocation, etc. Many of these are 'handled'' for you but the more you know about the metal the better.

    Second, number representations in hardware. This as old as computer science itself, but it still trips everyone up. Not sure who said this, but it's prefect: "Mapping an infinity of numberrs onto a finite number of bits involves approximations." Understanding this and numerical analysis in general will save your bacon time and again. Serialization and endian-ness, etc.

    Besides, it's fun!