Reading the basics from the course textbook is sufficient for passing
the course. However, your will need much more knowledge to get a top
grade (and to really understand about OSes).
For those actually interested in the topic, there are some scientific papers and other original research that you should be aware of. (Those not so interested can skip directly to "How to read the course textbook".) The following three old papers are very central for computer science:
- Dijkstra, E. (1965). Solution of a problem in concurrent programming control. Communications of the ACM, 8(9):569, doi:10.1145/365559.365617.
- The paper is the first propose a N-process concurrency solution. Note that the paper is only a single page. Science is not about writing a lot of pages - it is more about saying something fundamental in your paper.
- Liu, C. L.; Layland, J. (1973). Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the ACM, 20(1):46–61, doi:10.1145/321738.321743.
- The paper is the first to propose a proper N-process realtime solution. It is one of the most cited computer science works ever published. And, basically almost the sole paper by the second author. Science is not about writing a lot of papers - it is more about saying something fundamental even once in your lifetime.
- Lamport, L. (1978). Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558-565, doi:10.1145/359545.359563.
- The paper is one of the most fundamental papers in computing (and one of the most misunderstood). Basically, the "Einstein paper" of computing that deals with the relativity of time by defining logical clocks.
Considering the area of operating systems, not all of the research has been originally in scientific papers. This is because the inventions have significant commercial (and other) value. A nice example of this is the TLB-based technology, which is central for virtual memories. The technology was originally published only partly using a patent (see US3412382A).
Many of the details are hard to understand from the original papers (e.g., see the nice writing
by James H. Anderson as a roadmap to one thread of research).
Therefore, we have the textbooks to clarify things up (and, e.g., some
course slides to guide you through the textbooks). But remember, the
textbooks do not hold the whole story (nor the course slides or readings). We do
have lectures in universities, and we also have examples,
technical manuals, thesis works, etc., ..., but ultimately also the
How to read the course textbook
Reading a textbook is not easy. There is usually no sense in reading a textbook from the front cover to the back cover (it takes lot of time and your learning is inefficient). You should use a proper learning technique.
- Check, e.g., the nice guide by Paul N. Edwards and improve your reading skills.
For the basic understanding required by the course, you can use the lecture outline slides (attached below) as a guide to navigate inside the textbook. The outline slides do not list page ranges of the textbook or point to individual paragraphs. The outline slides list and structure the topics that you should concentrate on when you read the textbook.