Final Exam, CM*C 4000, Spring 2024
Name ______________________________________
- The weight for each question is given.
- Use as much paper as you wish, but make your answers are legible.
- Please label your answers with the question number.
- Please answer each question thoughtfully and carefully.
- Please staple this page on top of your answers.
- Answer should reflect the material presented in class.
- Processes/Threads
- [3 points] What is the classical definition of a process?
- [3 points] What is the difference between a thread an a process?
- [4 points] What memory is shared by threads? What memory is not shared by threads?
- IPC
- [4 points] Name two and describe IPC mechanisms.
- Context Switch
- [3 points] What is a context switch?
- [3 points] Why should a context switch be as fast as possible?
- [4 points] Name/describe at least one algorithm/computation that impacts the speed of a context switch. Justify your answer.
- Process Scheduling
- [3 points] Name, describe and defend two important criteria for evaluating a scheduling algorithm.
- [3 points] Describe a problem with first come first served as an scheduling algorithm for processes.
- [4 points] Describe round robin scheduling with preemption.
- Memory Management
- [4 points] Discuss the pros and cons of contiguous memory allocation for a process.
- [4 points] Describe the relationship between pages and frames in a virtual memory system.
- [2 points] Name at least two "bits" that are present in a page table, describe their use and justify their presence.
- Overview
- [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.