Process Map

I am in love with Process Maps. What are they?

Whenever a program is loaded into memory and executed as a process, the OS doesn’t simply dump the executable, rather, arranges and structures various sections into segments – code, data, heap, stack etc. In case of dynamic languages there may not be a binary executable to begin with, so their process maps are populated gradually. C/C++ have relatively simple process maps where as others can be quite complex, like .NET has 9 distinct types of heap alone.

To understand how something works, it’s best to look it how it works internally. Visualise opening up the engine of a car to understand what gears do, what happens when we press the accelerator etc. Similarly, to understand programming, visualising the process map instead of just reading the syntax will make us understand it better

Compilation Process and Process Map of C/C++

Here is a video which explains what happens when we compile a program, say in C/C++, and execute it. It is interesting to visualise process maps of Java, C# and more interesting are JavaScript and Python as they are dynamic languages.

One thought on “Process Map

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s