Blog

  • Yesterday was September 11. On this day, every year, Americans grieve and we are all reminded of the unforgettable day back in 2001 when the New York twin towers collapsed to the ground after being struck by the hijacked planes. I sure remember the day. I was about 12 years old at the time and…

    Remembering September 11 & Daily Review (day ending on 09/11/2020)
  • This post is a continuation of virtualization. In the previous post, I talked about memory virtualization. This post instead discusses CPU and device virtualization. Ultimately, as system designers, one of our chief aims is to provide an illusion to the underlying guest operating systems that they each individually won the underlying hardware, the CPU and…

    CPU and Device Virtualization (notes)
  • I’m getting ready to begin developing a memory coordinator for project 1 but before I write a single line of (C) code, I want to run the provided test cases and read the output of the tests so that a get a better grip of the memory coordinator’s actual objective. I’ll refer back to these…

    Memory coordinator test cases (and expected outcome)
  • We often talk about work life balance, separating the two major parts of our lives. On some level, I agree with the philosophy, believe that work is work and life is life. But at least for me, what happens at work bleeds into my personal life, and vice versa. When I have a shitty day…

    Daily Review – Day ending in 2020/09/10
  • The operating system maintains a per process data structure called a page table, creating a protection domain and hardware address space: another virtualization technique. This page table maps the virtual address space to physical frame number (PFN). The same virtualization technique is adopted by hypervisors (e.g. VMWare). They too have the responsibility of mapping the…

    Memory Virtualization (notes)
  • After freeing a spider into the front yard, I noticed that the coffee mug (in which I trapped the spider in) was decorated with a beautiful web that the spider must’ve spun overnight. Almost every other day, I spot a spider dancing across the white walls of my bedroom. Instead of squishing them to death…

    Daily Review – Day ending in 2020/09/09
  • Below are some memory management research papers that my classmate shared with the rest of us on Piazza1. Quickly scanning over the papers, I think the material will point me in the right direction and will paint a clearer picture of how I might want to approach writing my memory coordinator. I do wonder if…

    Papers to read for designing and writing up the C memory coordinator
  • Up to ‘nr_stats’ elements of ‘stats’ will be populated with memory statistics from the domain. Only statistics supported by the domain, the driver, and this version of libvirt will be returned. What does the above API description even mean by nr_stats? How do you determine the number of elements that need to be populated? For…

    How to obtain the length of the memory statistics array when calling virDomainMemoryStats
  • The most interesting side effect of writing these daily reviews is that they stir up meaningful conversations with my wife. Apparently, much of what words I set on paper never make their way out of my mouth (despite thinking that I did verbally share them). Surely this situation of my brain tricking me into thinking…

    Daily Review – Day ending in 2020/09/08
  • Now that I finished writing the vCPU scheduler for project 1, I’m moving on to the second part of the project called the “memory coordinator” and here I’m posting a similar blog post to a snapshot of my understanding of project 1 , the motivation being that I take for granted what I learned throughout…

    A snapshot of my understanding before tackling the memory coordinator