Fading Coder

One Final Commit for the Last Sprint

Process Management in Linux

Process Overview A process represents a running program instance. Beyond the executable code segment, a process includes open files, pending signals, kernel data structures, processor state, virtual memory mappings, threads, and global variables' data segment. Threads are scheduling units managed by...

Understanding Processes, Threads, Coroutines, Synchronization, Asynchronous Execution, Blocking vs Non-blocking, Concurrency, Parallelism, and Serial Execution

Processes A process represents an instance of a running program. It is the fundamental unit for system resource allocation, with each process maintaining its own isolated memory space. This isolation ensures that data between processes is not shared directly, which increases overhead but enhances se...

Linux Process Virtual Address Space: Mapping and Management

Memory Regions of a Process When studying dynamic memory management in C/C++, we often categorize the address space into several logical regions: stack, heap, data segment (BSS, initialized data), and text (code). However, these addresses are not physical memory addresses. Consider the following exa...