Old Tests

Making old tests available does not guarantee that any of the old questions from the tests will be used on future exams or the answers provided with these tests are correct. You must use your own judgement to look up the answers for the questions.

Midterm

 

Textbook Study Guide

Here is a list of questions that are at the end of teach chapter. If you can answer these questions then you are adequately familiar with the material in the chapter.

 

Chapter 1:   1, 3, 6, 7, 11

Chapter 2:    1, 3, 9, 11

Chapter 3:    1, 2, 3, 4, 5, 6, 12

 

 

Questions marked with an asterisk are the ones that students should pay particular attention to as they are core to the concept of the chapter.

  Chapter 4: 

Review questions: 1, 4*

Chapter 5:

  Review questions: 3*, 4*, 5, 6*

What is a thread?

  What is the difference between user-level threads and kernel level threads?

  How does a thread differ from a process from the user-level programmer’s perspective?

  How does scheduling for user-level threads vs. kernel-level threads?

  Is it possible to use both user-level threads and kernel-level threads at the same time?

  With respect to operating systems, what is a “context switch”?

  What are the four major benefits of multi-threaded programming?

  \What are the three multi-threaded models?

  Chapter 6:

  Review questions: 1, 2*, 3b, 3c, 5a, 5b, 9*

  What is multi-programming?

  What is the primary objective of multi-programming?

  What do we mean by an “I/O burst” or a “CPU burst”?

  What does the short-term scheduler do in an operating system?

  How does preemptive scheduling differ from non-preemptive scheduling?

  What does the dispatcher do in the scheduling process? (i.e. what functions is it responsible for)

  What are the five scheduling criteria that are most often used by scheduling algorithms?

  Briefly describe the following algorithm: First-Come, First-Served, Shortest-Job-First, Priority, Round-Robin

  What is the primary property that differentiates multi-level queue scheduling from other scheduling algorithm types?

  What is multi-level feedback-queue scheduling and how does it differ from multi-level queue scheduling?

  What is symmetric multiprocessing and how does it relate to scheduling?

  What is asymmetric multiprocessing and how does it relate to scheduling?

  How does hard real-time scheduling differ from soft real-time scheduling?

  Chapter 8:

  Review questions: 2*, 3*

  Give a formal definition for deadlock.

  Give an example of how you can relax each of the necessary and sufficient conditions for deadlock so as to prevent deadlock from ever occurring.

  What is a resource allocation graph?

  How is significant about a resource allocation graph with respect to deadlock.

  What are the 3 principle methods for dealing with the deadlock problem?

  What is deadlock avoidance different from deadlock prevention?

  What are two ways to recover from deadlock?

Chapter 7:

  Review questions: NONE

  What is a critical section with respect to process synchronization?

  What is significant about the Test_And_Set instruction that lets it be used to solve the critical section problem?

  What is a race condition with respect to the critical section problem?

  What is a semaphore?

  What is a monitor and why is it useful for programmers?