Final Exam, CM*C 4000, Spring 2024

Name ______________________________________


  1. Processes/Threads
    1. [3 points] What is the classical definition of a process?
    2. [3 points] What is the difference between a thread an a process?
    3. [4 points] What memory is shared by threads? What memory is not shared by threads?

  2. IPC
    1. [4 points] Name two and describe IPC mechanisms.

  3. Context Switch
    1. [3 points] What is a context switch?
    2. [3 points] Why should a context switch be as fast as possible?
    3. [4 points] Name/describe at least one algorithm/computation that impacts the speed of a context switch. Justify your answer.

  4. Process Scheduling
    1. [3 points] Name, describe and defend two important criteria for evaluating a scheduling algorithm.
    2. [3 points] Describe a problem with first come first served as an scheduling algorithm for processes.
    3. [4 points] Describe round robin scheduling with preemption.

  5. Memory Management
    1. [4 points] Discuss the pros and cons of contiguous memory allocation for a process.
    2. [4 points] Describe the relationship between pages and frames in a virtual memory system.
    3. [2 points] Name at least two "bits" that are present in a page table, describe their use and justify their presence.

  6. Overview
    1. [5 points] Name and describe at least two factors that can contribute to consistent performance of processes in a multi user multi tasking operating system.