Midterm -- A real Fight for Knowledge                                      Name: ________________________

  1. Very Basic Stuff (batch vs real time vs timeshare, multiprogramming and multiprocessing, I/O and computation overlap, storage heirarchy, virtual machines, privelaged instructions. interrupts. system structure)
    1. Putting sixty pounds on your back, getting in a long line with lots of other soldiers, and marching slowly towards the enemy's machine gun nest is
    2. (True/False) The machine-level instruction to read the real-time clock should be a privledged instruction.
    3. Which functions would one normally find in a micro-kernel? (circle ONE)
    4. (Yes/No) Consider a machine with no hard drive or floppy drive or tape or virtual memory but does include a normal, modern CPU. Does this machine still have a memory heirarchy?
    5. What is a "virtual machine"? ______________________________________
      ___________________________________________________________
    6. Which are normally functions of an interrupt? Circle all that apply.
    7. (Yes/No) Some O.S.'s use interrupts to implement system calls. In these O.S.'s should the interupt instruction be a privledged instruction.
    8. When an interrupt occurs, what happens to the Program Counter?
      ______________________________________________________________
      ______________________________________________________________
    9. Which nation lost the most people in World War II?
    10. What is the difference between 'hard real time' and 'soft real time' (circle JUST ONE).
    11. Which of the following things are needed to make a multi-user operating system with protection between users? (circle all that apply)
  2. Process Management (process and thread definitions, process queues, scheduling algorithms, definition of critical section, semaphores, starvation, hardware support for semaphores, deadlocks, fork and system paradym, context switching, short vs medium vs long term scheduling)
    1. Which type of operating system is most likely to accept process starvation if need be?
    2. Consider a process with multiple threads. Put a 'P' next to those things that all threads in the process share. Put a 'T' next to those things that are not shared.
    3. What processes are on the "ready" queue? ______________________
      _____________________________________________________
      _____________________________________________________
    4. When a process is finished waiting for an I/O to complete, it normally moves to the
    5. What scheduler algorithm is most common among UNIX and WINDOWS NT like machines (machines that are interactive with people and have protection amoung processes) (circle only ONE)?
    6. (True/False) A process does a fork(), creating a parent and a child. The parent and child normally continue to share the same code segment.
    7. (True/False) Implementing semaphores requires special CPU instructions on a multi-CPU computer using shared memory.
    8. Which of the following are reasonable strategies to deal with deadlock? (circle ALL that apply)
    9. Please tell me one advantage of round-robin over first come first serve.
      ____________________________________________________________________
      ____________________________________________________________________
    10. (Yes/No) On a system with a normal page table, does a context switch between two different processes require changing the page table?
    11. What is a TLB (Translation Lookaside Buffer) (chose ONE)
  3. Memory Management (address binding, dynamic libraries, sharing memories, copy-on-write, overlays, MMUs, physical and virtual addresses, segments and pages, virtual memory, page replacement algorithms, required hardware, internal and external fragmentation)
    1. (True/False) No successful kamakazi pilot lived thru his attack.
    2. (True/False) memory management using overlays will likely use memory more effeciently than a paged memory scheme implemented in the O.S.
    3. In a normal paging memory scheme, what is the average waste of memory per allocation due to fragmentation? ________________________________________________
    4. Suppose that some machine has a physical memory size of 16M installed (that's 2^24). How many bits are needed to represent its virtual addresses. ______________________________
    5. Suppose you want multiple processes in memory at one time, and yet have no MMU. What should you do?
    6. On a machine with 32 bit addresses and a page table containing 2^20 pages, how large is each page?
      _______________________
    7. One problem with the Least Recently Used page replacement algorithm is ... (choose ONE)
    8. The clock algorithm chooses as pages suitable for replacement (choose ONE)
      1. Pages that have not been used for a while (like LRU)
      2. Pages that belong to low-priority processes (like process-based schemes)
      3. Pages of the operating system's code
      4. Pages that were brought in longest ago (like FIFO).
    9. One advantage of inverted page tables over normal page tables is (circle ALL that apply)
    10. One advantage of a segmented memory scheme compared to normal page tables is (circle ALL that apply)
    11. If I have to be wounded in battle, I prefer
  4. Extra Credit (not really)
    1. Who wrote "The Art of War"?