Os
- user vs. kernel
- user-level threading is its lightweight context switches
- user-level threads are non-preemptive
- No need for locks to create critical section
- Q1: design of a multi-processor job scheduler. you will be asked to write pseudo code. Check review session recording for further details.
Study the lecture on scheduling
- Study Section 5.5 (minus 5.5.2) from the textbook.
- You can do the study questions given for the quizzes.
- Study A2 (thread scheduler design) assignment
- It would help to remember the scheduling algorithms and their trade-offs
- Study the lecture on deadlocks – won’t be asked to apply deadlock algorithms on toy problems as is normally done. Instead you need to understand the differences among the different deadlock management approaches and what to pick for a given scenario.
- Q2: memory management and virtual memory management problem. There is no pseudo code here. You will be asked to proceed through a step-by-step design and incrementally add more features to the design.
- Study the lectures on memory management and virtual memory
- It is important to know the concepts as explained in the lectures.
- Do the questions given for quizzes
- You can look at the answers for the quizzes
- Look at the questions from the past finals (only focus on the questions from memory and virtual memory).
- Q3: a simplified and more focused file system problem similar to A4
- Study the lectures on file system
- Q4: virtual machines and cloud computing question
- Study the lectures on VMs
- Study the lectures on Cloud computing
- Do the following problems
- Describe the three types of traditional hypervisors.
- Type 0 hypervisors - Hardware-based solutions that provide support for virtual machine creation and management via firmware
- Type 1 hypervisors - Operating-system-like software built to provide virtualization and Also includes general-purpose operating systems that provide standard functions as well as VMM functions
- Type 2 hypervisors - Applications that run on standard operating systems but provide VMM features to guest operating systems
- Describe four benefits of virtualization.
- Why VMMs are unable to implement trap-and-emulate based virtualization is some CPUs? What methods can we use in such CPUs to implement virtualization?
- But kernel mode privilege mode code runs slower due to trap-and-emulate
- Binary rewriting
- Hardware virtualization (new processor mode)
- Paravirtualization
- Why is live migration possible in virtual environments?
- How is live migration useful for cloud computing?
- What is an advantage of public clouds? Why do we need private clouds (that is why all clouds are not public)?
- Consider 100 machines in a public cloud and these machines are used to serve M users. Suppose those 100 machines are put in a private cloud. Would you expect those machines to serve more, less, or equal number of users there?
- Why would we want to use serverless computing over SaaS?
- Why would we want to use serverless computing over PaaS?
- Why is edge computing better than cloud computing for certain applications?
Written on December 16, 2020