Traditional Unix Inode Block Map

I had written this answer for a number of related questions on Quora. I think the topic is worth a small article. An inode for a file maintains the complete information about physical layout of file data. This information is stored in the form of a multi-level block map. Taking the example of a Unix... Continue Reading →

Call Stack Internals (Part 1)

In this post, I will be discussing the internal working of a function call stack. The content will be divided into multiple posts for better understanding. Major focus will be on the following: Creation of stack frames, Saving/restoring registers to/from the stack. Saving function local variables, arguments, and return address on the stack. Usage and... Continue Reading →

Advisory File Locking – My take on POSIX and BSD locks

I had a chance to do several Advisory File-Locking experiments on NFS and local file system.  In this article, I would like to give some insight into the concept of advisory locking and share some useful results from my tests. Some Background File Locking is generally useful in an environment where multiple applications or processes may... Continue Reading →

What is the difference between scaling horizontally vs scaling vertically? How can this affect the design decisions that are made?

[Sharing my answer to the above question on Quora] Horizontal Scaling - also referred to as "scale-out" is basically the addition of more machines or setting up a cluster or a distributed environment for your software system. This usually requires a load-balancer program which is a middle-ware component in the standard 3 tier client-server architectural... Continue Reading →

Create a free website or blog at

Up ↑

%d bloggers like this: