Paging v/s Swapping

Swapping is the procedure of copying out the entire process(its address space) from main memory to some sort of secondary storage(typically hard disk or tape storage). Usually this is done as a result of CPU scheduling. Operating System typically maintains a read-to-run queue of processes. The queue comprises of information about processes that are ready... Continue Reading →

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 →

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: