Due September 29th (Friday)
This project will have you explore concepts related to hardware and lists/queues.
Type up answers to the following questions:
- 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?
- 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?
- In what sense is the queue stucture desribed in the textbook an implicit data structure?
- If priority values range from -8 to +8, how many bits are required to store each key in queuetab?
- Does insert work correctly for all possible key values? If not, for which key(s) does it fail?
- Compare the complexity of functions like isempty implemented with pointers and with array-indexing.
- 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
to Moodle by the due date.