Exercise: Wednesday, November 25, 2015


I said that a process is the basic unit of work on a computer. A process, I said, is a program in execution. Other professors and students have posted notes on the Web for courses like ours. How does my definition compare to theirs? Did I get it right?

We can classify processes in several ways. Elaborate. What do these terms mean?

  • kinds of processes
    • interactive processes
    • real time processes
    • batch processes
  • kinds of processes
    • I/O bound
    • compute-bound

We can classify scheduling algorithms in several ways. Elaborate. What do these terms mean?

  • kinds of scheduling algorithms
    • nonpreemptive
    • preemptive
  • kinds of scheduling algorithms
    • first-come, first-served
    • shortest job first
    • shortest remaining time next
    • round-robin
    • priority
What is a process switch (also called a context switch)? How does the time required for a context switch bear on the design of a round-robin scheduler?

Identify several criteria that we might use in evaluating scheduling algorithms.

Andrew Tanenbaum says that "Debugging programs containing race conditions is no fun at all." Why is this so?

What is a critical region? What is mutual exclusion?

Edsger Dijkstra invented semaphores as a means of enforcing mutual exclusion. He defined two operations on this new kind of variable. He called these operations "P" and "V". Dijkstra was Dutch. The letters he used to label the operations are the first letters of Dutch words. "P" stands for "proberen," a Dutch word that is very close to the German word "probieren" and close enough to an English word that you might be able to guess some of what this operation does even if you know no Dutch or German. What is that English word?





Last modified: Wednesday, November 25, 2015, 8:41 AM