COSC 360

Operating Systems

Project 3

Due September 29th (Friday)


This project will have you explore concepts related to hardware and lists/queues.

To Do

Type up answers to the following questions:

  1. Some systems use a programmable interrupt address machanism that allows the system to choose the address to which the processor jumps when an interrupt occurs. What is the advantage of a programmable interrupt address?
  2. DMA introduces the possibiltiy of unexpected errors. What happens if a DMA operation that transfers N bytes of data begins at a memory location less than N bytes from the highest memory address?
  3. In what sense is the queue stucture desribed in the textbook an implicit data structure?
  4. If priority values range from -8 to +8, how many bits are required to store each key in queuetab?
  5. Does insert work correctly for all possible key values? If not, for which key(s) does it fail?
  6. Compare the complexity of functions like isempty implemented with pointers and with array-indexing.
  7. Larger systems sometimes use a data structure known as a heap to contain a priority queue. What is heap? Will its use be more or less expensive than an ordered, doubly linked list when the list size is between 1 and 3?


To submit, type up your answers in any text editor, convert the file to a PDF, name the file "project3", and submit it to Moodle by the due date.