STUDY GUIDECS 490TEST 1

GENERAL GUIDELINES:

  • Review your notesand the textbook. Use the Power Points as a guideline for what to study, but don’t limit your study to the Power Points alone. Power Points not discussed in class won’t be on the test.
  • Check out the summary at the end of each chapter as well as the chapter review questions; some of them are helpful.
  • Review homework assignments.
  • Learn to prioritize; not every item is of equal importance. For example, understanding concurrency and the need formutual exclusion is more important than knowing what a mailbox is.

CHAPTER 1 – COMPUTER SYSTEM OVERVIEW

  • Know the purpose/function of the Program Counter, Instruction Register, MAR and MBR
  • Understand the basic instruction execution cycle, including interrupt check/processing.
  • What was the original motivation for mutltiprogramming?
  • Four classes of interrupts; interrupt processing
  • Be able to describe the memory hierarchy, define hit ratio, and compute average system access time (as on your homework). Know the purpose of cache memory
  • How does DMA I/O improve performance in a multiprogrammed computer system?
  • State a difference/similarity between a Symmetric MultiProcessor(SMP) and a multicore computer.

CHAPTER 2 – OPERATING SYSTEM OVERVIEW

  • Three objectives of an operating system.
  • What is an OS kernel?
  • Why are the following hardware features (originally introduced to support batch processing) important in multiprogrammed operating systems?
  • Memory protection
  • Timers
  • Privileged instructions
  • Interrupts
  • Difference between user mode and kernel mode of execution
  • Difference between batch multiprocessing and time sharing systems
  • Definition of process
  • What is the execution context, or state, of a process?
  • Be sure you understand the concepts of interleaved and overlapped execution.

CHAPTER 3 –PROCESSES

  • How does a process differ from a program?
  • What’s the purpose a Process Control Block? (PCB) What are some of its contents?
  • Be able to describe the 5-State process model on page 117. Know the meaning of each state and the events that cause a process to transition from one state to another.
  • How does the addition of swapping and suspended states modify the 5-state model?
  • Explain the role of system calls (supervisor calls) in a typical operating system.
  • Mechanisms for interrupting process execution (p. 137) and examples of events that might trigger them.
  • Be able to distinguish between a mode switch and a process switch and give an example of an event that would cause each type of switch.
  • In UNIX, what is the difference between the user running and kernel running state?

CHAPTER 4 – THREADS

  • What is the relation between a process and a thread?
  • Be able to give one use for threads in a single-user multiprocessing system.
  • Disadvantage of structuring an application as multiple cooperating programs versus a single multithreaded program.
  • State the difference between a KLT and a ULT and give advantages and disadvantages of each type of thread.
  • In Windows, what is the purpose of the Standby state?

CHAPTER 5 –CONCURRENCY: MUTUAL EXCLUSION AND SYNCHRONIZATION

  • Multiprogramming versus multiprocessing
  • Table 5.1: understand/be able to define and discuss these terms (except livelock)
  • Understand how interleaved or overlapped execution of critical sections can cause data incoherence. See examples on page 201 & 203 which demonstrate the problem on a uniprocessor and a multiprocessor.
  • Process Interaction, Table 5.2 (p. 205). Have a general idea of the various degrees of awareness.
  • What are some hardware techniques for guaranteeing mutual exclusion? What are their disadvantages?
  • What is a semaphore? Be able to state the algorithm for a general counting semaphore and trace its behavior.
  • Know how semaphores can be used to guarantee mutual exclusion.
  • Understand Figure 5.7 (page 219)
  • Be able to state the conditions of the Producer Consumer problem. Understand the solution to the bounded-buffer PC problem with semaphores (page 225). No need to memorize, but know how it works.
  • What are the basic characteristics of a monitor? What is a difference between a condition variable and semaphore?
  • How does message-based communication differ from other types of process communication such as in the Producer-Consumer problem or the Readers & Writers problem?
  • Can messages be used for process synchronization?
  • What is the difference between a blocking and a non-blocking message send or receive?
  • What is a mailbox, with respect to message passing?