Monday, July 22, 2013

Essential and Influential Readings(Textbooks and Research Papers) in Operating Systems, Computer Architecture, and Computer Networks

If you are a new researcher in the Systems area of Computer Science , you might ask yourself how you should get started. First off is to define what Systems is. A good description from Stanford University is given below:
"Systems is the study of the design and implementation of computer systems such as compilers, databases, networks, and operating systems. Topics include the hardware/software interface, the networking stack, digital architecture, memory models, optimization, concurrency, privacy, security, distributed and large-scale systems, reliability and fault tolerance, and related algorithms and theoretical topics." -http://csmajor.stanford.edu/Tracks.shtml

In this post, I will list some of the books and research papers that will introduce you to the area. Some items were taken from http://thor.cs.ucsb.edu/~ravenben/papers/coreos/. Reading these books/papers is important because they will introduce you to the vocabulary used in the field. There are three subareas that I'd like to emphasize: Computer Architecture/Organization, Operating Systems, Computer Networks. Each of these subareas may also have subareas.


Texbooks
  • Computer Organization and Design: The Hardware/Software Interface by Patterson and Hennessy
  • Operating Systems Concepts by Silberschatz, Galvin, Gagne
  • Computer Architecture: A Quantitative Approach
  • Database System Concepts by Silberschatz, Forth, and Sudarshan
  • Advanced Programming in the Unix Environment by Stevens
  • The Design of the UNIX Operating System by Bach
  • Readings in Computer Architecture by Hill et al

Research Papers

 (more to follow)