CSCE 313 quiz 1

True/False Questions

  1. [TRUE] The executable image of a program must be loaded into the main memory first before executing
  2. [TRUE] An Operating System (OS) does not trust application programs because they can be either buggy or malicious
  3. [TRUE] There was no concept of OS in first generation computers
  4. [TRUE] The PC register of a CPU points to the next instruction to execute in the main memory
  5. [TRUE] Second generation computers still executed programs in a sequential manner
  6. [TRUE] Time sharing computers gave a fixed time quantum to each program
  7. [TRUE] An OS resides in-between the hardware and application programs
  8. [TRUE] The primary goal of OS is to make application programming convenient
  9. [FALSE] Operating Systems do not need to be portable, application programs do
  10. [FALSE] Context switching does not contribute much to the OS overhead
  11. [TRUE] Page tables contain Virtual to Physical memory address mappings
  12. [TRUE] There is one page table for each process
  13. [FALSE] The memory allocated by an application cannot be swapped back to the disk
  14. [TRUE] Virtual memory allocates pages of memory via Page Fault
  15. [TRUE] Main Memory access is slower than register/cache access because it is physically outside the CPU

Short Questions

  1. [10 pts] Define multiprogramming. How is this better than sequential program execution? Explain with a diagram and a mix of jobs that have CPU and I/O activity.
  2. [2 pts] Why do we keep the OS always in main memory?

Because OS runs very frequently, and it would be wasteful to store it back to disk and load again.

  1. [3 pts] Give an example of the “Referee” role of the OS.

Resource allocation, memory management, managing device access

  1. [4 pts] Give an example of a “Reliable but Unavailable” system, and one for a “Unpredictable” system.
  1. A computer that does what it is supposed to, but restarts all the time
  2. A computer that gets much slower over time
  1. [5 pts] How does an OS make ensure that each application is kept disjoint in the main memory? Describe the mechanism very briefly.

Through virtual memory. VM allocates virtual pages to physical pages in a disjoint manner and only the OS can manipulate the page table entries. 

  1. Define Latency and Throughput metrics of an OS with examples

Latency: The time to finish a task

Throughput: The number of tasks finished per unit of time

  1. [3 pts] Explain why accessing memory (e.g., read a word/byte) may take twice as much as the memory access latency? Explain your answer.

Because addresses are virtual, and you must get virtual to physical memory mapping from the page table first which is also in the memory. So, to access memory, you must access memory once for the page table and then for the actual access.