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