Blog

  • The key take away for scheduling is that as OS designers you want to follow this mantra: “keep the caches warm“. Following this principle will ensure that the scheduler performs well. There are many different scheduling algorithms including first come first serve (FCFS), fixed processor (focus on fairness), fixed processor (thread runs on the same…

    Parallel Systems – Scheduling (notes)
  • I’m (re) learning how to doodle! I’d like to incorporate art and sprinkle sketches into notes that I scribble down while studying for graduate school.  Also, I just miss drawing, an activity I used to do a lot as little boy. But somewhere between then and becoming an adult I’ve lost my way, losing touch with…

    (Re) learning how to doodle & Daily Review – Day ending in 2020/09/20
  • Remote procedure call (RPC) is a framework offered within operating systems (OS) to develop client/server systems and they promote good software engineering practices and promote logical protection domains . But without careful consideration, RPC calls (unlike simple procedure calls) can be cost prohibitive in terms over overhead incurred when marshaling data from client to server…

    Remote Procedure Call (RPC) notes
  • Another installment of my weekly reviews. I think the practice of carving out around 30 minutes on Sunday to look back at the previous week and look forward for the next week helps me in several ways. First, the posts help me recognize my tiny little victories that I often neglect and they also help…

    Weekly Review: week ending in 2020/09/06
  • Part 1 of barrier synchronization covers my notes on the first couple types of synchronization barriers including the naive centralized barrier and the slightly more advanced tree barrier. This post is a continuation and covers the three other barriers: MCS barrier, tournament barrier , dissemination barrier. Summary In the MCS tree barrier, there are two…

    Barrier Synchronization (Part 2/2)
  • My wife’s apple iPhone X saves images she captured with her camera as .heic format1 , a relatively new file format that compresses high quality images and I needed a way to convert these type of files to .jpeg (which apparently dates back to 1992) so that they can be uploaded to my blog and…

    How to convert .heic images to .jpeg using command line on MacBook
  • Hooray! Today is the first day in a couple weeks that air quality is considered good, at least according to the EPA. I’m so pleased and so grateful for clean air because my wife and daughter have not left the house since the wild fires started a week ago (or was it two weeks —…

    Finally clean air & Daily Review – Day ending in 2020/09/18
  • As mentioned previously, there are different types of synchronization primitives that us operating system designers offer.  If as an application designer you nee to ensure only one thread can access a piece of shared memory at a time, use a mutual exclusion synchronization primitive. But what about a different scenario in which you need all…

    Barrier Synchronization (Part 1/2)
  • With working remote and establishing a (somewhat) daily routine (that has become pretty monotonous), it’s sometimes easy to forget that we’re in the midst of a global pandemic. But that reality is amplified because of the recent wild fires, forcing those of us living in the pacific north west (PNW) — and those living in…

  • What’s the deal with a sense reversing barrier? Even after watching the lectures on the topic, I was still confused as to how a single flag could toggle between two values (true and false) can communicate whether or not all processes (or threads) are running in the same critical section. This concept completely baffled me.…

    Making sense of the “sense reversing barrier” (synchronization)