Blog

  • A couple days ago, I spent maybe an hour whipping together a vary naive CPU scheduler for project 1 in advanced operating systems. This naive scheduler pins each of the virtual CPUs in a round robin fashion, not taking utilization (or any other factor) into consideration. For example, say we have four virtual CPUs and…

    A naive round robin CPU scheduler
  • I fixed a silly bug just now and wrote working code that can pin multiple virtual CPUs to the physical CPUs. Identifying the bug in my code was another classic example of how I needed to distance myself from the problem. Instead of staying up late into the night (late is now 09:30 pm on…

    Distancing oneself from a difficult problem
  • Writing I’m getting much more comfortable with publishing blog posts that are not completely polished. The fear of letting the world see less my less the perfect propose is utter non-sense. In fact, writing and publishing frequently offers two benefits. The first is that the sheer act of writing and setting words on (digital) paper…

    Weekly Review – Week ending in 2020/09/06
  • Project 1 requires that we write a CPU scheduler and memory coordinator. Right now, I’m focusing my attention on the former and the objective for this part of the project is write some C code that pins virtual CPUs to physical CPUs based off of the utilization statistics gathered with the libvrt library (I was…

    Advanced Operating Systems (Project 1) – monitoring CPU affinity before launching my own scheduler
  • Yesterday Writing Blogged and published an entry for my daily review Blogged and published an entry explaining the libvrt’s bit map data structures that map virtual CPUs to physical CPUs Music Noodled around on the guitar,  playing chords in a minor key up the neck (need to start structuring and mixing up my practice sessions…

    Daily Review – Day ending in 2020/09/04
  • On my iPad this morning, I doodled the above figure to help me better understand how I should be calling the function virDomainPinVcpu (as part of project 1 for my advanced operating systems course).  The function requires two parameters which I found a bit confusing: a pointer to the cpu map (i.e. bit map) and…

    Making sense of libvrt bit map when calling virDomainPinVcpu
  • Writing Blogged and published an entry for my daily review Blogged and published an entry on L3 Microkernel Mental and Physical Health At the park, ran around in circles while holding Elliott in my arms … that sort of counts as exercise, right? Music Nothing at all Graduate School Migrated from my Virtualbox environment to…

    Daily Review – Day ending in 2020/09/03
  • I learned that with an L3 Microkernel approach, each OS runs in their own address space and that they are indistinguishable from the end-user applications running in user land. Because they run in user land, it seems intuitive that this kill performance due to border crossings (not just necessarily context switching, but address space switching…

    L3 Microkernel
  • Writing Blogged and published an entry for my daily review Blogged and published an entry that shows the steps for building librty’s documentation from source code (since the manual no longer exists on the official website) Mental and Physical Health Met with my therapist, who I see every week (except last week since I had…

    Daily Review – Day ending in 2020/09/02
  • If just download the libvert application development guide, click here. How to build the documentation   The libvrt developer documentation link is broken (i.e. HTTP 404). But I need the development guide for my advanced OS course so I downloaded the repository and built the documentation from source. If you want to do the same…

    How to build the libvrt documentation from source