ECE344

Operating Systems

Study Guide


The midterm and final exams will examine material covered in lecture, from the textbook (Chapters 1-9,11-12), and from the assignments. Below is a summary of the textbook chapters: particular attention should be paid to the important topics and important sections that are listed.


Chapter 1

It is important for you to be familiar with this material on Computer Organization -- but you should have seen it before in your past courses. Skim the chapter to make sure you remember the essential elements.

Important Topics:

Suggested Problems: 1.2, 1.3, 1.7, 1.8, 1.12


Chapter 2

This chapters sets the foundation for the rest of the course material.

Important Sections: 2.1, 2.2, 2.4

Important Topics:

Suggested Problems: 2.1, 2.2, 2.5, 2.6, Appendix 2A


Chapter 3

This chapters outlines the concepts of processes, process control and process states.

Important Sections: 3.1, 3.3

Important Topics:

Suggested Problems: 3.1, 3.3, 3.4, 3.5, 3.8, 3.9, 3.10, 3.11


Chapter 4

This process introduces threads, and expands the earlier discussion of microkernels and multiprocessing.

Important Sections: 4.1, 4.2, 4.3

Important Topics:

Suggested Problems: 4.1, 4.2, 4.3, 4.4, 4.7


Chapter 5

This chapter introduces problems of syncronization and dealing with critical regions. Several methods of dealing with these issues (mutexes, semaphores, hardware support, monitors) are introduced.

Important Sections: 5.1, 5.2, 5.3, 5.4, 5.5, 5.6

Important Topics:

Suggested Problems: 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 5.10, 5.11, 5.12, 5.13, 5.14, 5.16, 5.21


Chapter 6

This chapter discusses when deadlocks can occur and how can one deal with deadlocks.

Important Sections: 6.1, 6.2, 6.3, 6.4

Important Topics:

Suggested Problems: 6.13, 6.14


Chapter 7

This chapter discusses the role of memory management and various management techniques. Also appendix 7A discusses linking and loading

Important Sections: 7.1, 7.2, 7.3, 7.4, appendix 7A

Important Topics:

Suggested Problems: 7.2, 7.3, 7.4, 7.9, 7.10


Chapter 8

This chapter discusses virtual memory. The whole chapter is important.

Suggested Problems: 8.1, 8.2, 8.3, 8.7, 8.8, 8.9, 8.12, 8.13, 8.14


Chapter 9

This chapter introduces uniprocessor scheduling. Why is it necessary? How should it be done?

Important Sections: 9.1, 9.2 (except for performance comparisons)

Important Topics:

Suggested Problems: 9.1, 9.2, 9.3, 9.10, 9.13, 9.14, 9.15


Chapter 11

This chapter discusses disk I/O and disk management.

Important Sections: 11.1, 11.2, 11.4, 11.5, appendix 11A

Important Topics:

Suggested Problems: 11.1, 11.3, 11.6, 11.7, 11.8, 11.12


Chapter 12

This chapter discusses file organization and access.

Important Sections: 12.1, 12.2, 12.5, 12.6

Important Topics:

Suggested Problems: 12.4, 12.6, 12.7