A process in operating system informally is a program in execution. A program (usually represented by the executable file) becomes a process only when it is load in main memory.

The process memory layout is represented by the following figure:

  • text section: stores the code
  • data section: stores the global variables
  • stack section: temporary storage when invoking functions
  • heap section: dynamically allocated memory

In Linux specifically, each process is represented by a task_struct in a double-linked list which serves as the process table.

References

  • A. Silberschatz, P. B. Galvin, e G. Gagne, «Operating System Concepts».

See also