In the part -I, we got a basic understanding of Linux processes and saw how the various Linux commands help us to explore the various processes running in the system. In this part of the discussion, we shall get our hands dirty by creating certain processes and get hold of the memory layout in the RAM.
Sometimes we use the terms process and program interchangeably. However, under legitimate glossary, programs and processes are absolutely different terms. When we write a source code of some logic, it is a file which is stored in the hard disk. This file on the hard disk is called as a program. However, when we run this program (i.e. the program executable, obtained after compiling and linking), it creates its own memory space in the RAM. This running instance is a process. A process can be initiated in two significant ways. One, as we just mentioned above, by running a built executable/command from a Linux shell and other, from within a program. We shall discuss programmatic approach more in further sections.
Generally, on any operating system, we say we have so many programs running. These running programs introduce the concept of processes. Let’s Define as to what is a process – A process is a program in execution.
Robert Love expresses his definition of a process in one of his books as :
The Process is one of the fundamental abstractions in Unix Operating Systems, the other fundamental abstraction being files
Linux is a multi-user and multi-tasking operating system(seemingly, discussed later in the article). A Linux process is a program in execution on a Linux system. Therefore, whenever a program is executed, a new process is created. A process also consumes resources like the file system, memory or other CPU resources. This gives rise to the need of process management in Linux.
Opening files with the right program – Are we really stuck with the same brain-dead extension system that Windows uses? Well, this was a topic suggested by an anonymous website viewer to our team and as part of ‘You suggest, We publish‘ ideology that our website follows, here is an article that explains how important are file extensions in Linux.