STUDY GUIDE – CS 490 – TEST 1



GENERAL GUIDELINES:

• Review your notes and 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 for mutual 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?

o Memory protection

o Timers

o Privileged instructions

o 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?

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download