CS3013 Reading Details

The text for the course is: Operating Systems Concepts. Fourth Edition. by A. Silberschatz and P.B. Galvin. Addison-Wesley, MA 1995.

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 -- Introduction

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.

Important sections:

Chapter 2 -- Computer-System Structures

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.

Important sections:

Chapter 3 -- Operating-System Structures

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.

Important sections:

Chapter 4 -- Processes

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!

Important sections:

Chapter 5 -- CPU Scheduling

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.

Important sections:

Chapter 6 -- Process Synchronization

Chapter 6 talks about how two processes might cooperate safely. In particular, it details tools and algorithms to maintain data consistency.

Important sections:

Chapter 8 -- Memory Management

Chapter 8 deals with the basics of memory management.

Important sections:

Chapter 9 -- Virtual Memory

Chapter 9 deals with Virtual memory, which allows processes to execute without being completely in memory.

Important sections:
Return to the CS3013 Home Page