CS3013 Reading Details
The text for the course is: Operating Systems Concepts.
Fourth Edition. by A. Silberschatz and P.B. Galvin. Addison-Wesley,
While the Silbershatz book is an excellent text, there is more
material inside than can be absorbed for an introductory operating
systems course (like this one). Therefore, I have tried to break the
reading chapters down into a rough idea of the sections that are most
relevant to the course.
Chapter 1 is meant to introduce the general topic of operating
systems. There are a handful of important concepts (multiprogramming,
time sharing, and so on). The development is meant to show why
operating systems are what they are by showing how they developed. In
operating systems, as in much of computer science, we are led to the
present by the paths we took in the past and we can better understand
both the present and the future by understanding the past. This is
still just a general overview, as specific interfaces are considered
in Chapter 3.
Chapter 2 is an overview to the hardware of a computer system that is
important to the operating system. If you have a good hardware
background, you can skip most of this chapter. If you do not, you
will want to at least skim parts of this chapter.
Chapter 3 examines the operating system from the services it provides,
the view from a programmer's perspective and the inner-details of the
system components. In class, we presented a simple view of four
fundamental operating system concepts; processes, files, system calls
and shells. Keep our breakdown in mind as you read this chapter,
especially the early sections.
Chapter 4 goes into depth on the most important fundamental concept in
operating systems: the process. All other aspects of operating
systems hinge upon understanding of a process and it's needs. Pay
attention as you read this chapter!
- 4.2 (Skim)
- 4.3 - 4.4
- 4.5 (except 4.5.2)
Chapter 5 describes CPU scheduling, the basis for multiprogrammed
and time-sharing systems. There are several basic algorithms that are
important to understand to give meaning to the more complicated
algorithms that are generally employed.
Chapter 6 talks about how two processes might cooperate safely. In
particular, it details tools and algorithms to maintain data
Chapter 8 deals with the basics of memory management.
Chapter 9 deals with Virtual memory, which allows processes to
execute without being completely in memory.
to the CS3013 Home Page