{
    "api": "YAML JSON TOON Database",
    "version": "1.0.0",
    "format": "json",
    "dataset": {
        "slug": "process-management",
        "title": "Process Management",
        "description": "Core concepts of process and thread management.",
        "summary": "The vocabulary of process and thread management: processes, threads, control blocks, context switches, fork and exec, and the zombie and orphan states, plus process states, inter-process communication primitives and daemons.",
        "use_when": [
            "You need the precise meaning of a process term for debugging or teaching.",
            "You are choosing between threads, processes and IPC mechanisms."
        ],
        "caveats": [
            "Linux, Windows and macOS implement these ideas differently; fork and exec are the Unix model, while Windows creates processes with a single call.",
            "Zombie processes are already dead; they cannot be killed, only reaped by their parent."
        ],
        "related": [
            "cpu-scheduling-algorithms",
            "deadlock-handling",
            "process-management-commands"
        ],
        "category": "Operating Systems",
        "category_slug": "operating-systems",
        "tags": "os,process,thread,scheduler",
        "view_count": 0,
        "entry_count": 16,
        "fields": [
            {
                "section": "data",
                "field": "term",
                "type": "string",
                "example": "Process"
            },
            {
                "section": "data",
                "field": "description",
                "type": "string",
                "example": "An instance of a program in execution with its …"
            }
        ]
    },
    "data": [
        {
            "term": "Process",
            "description": "An instance of a program in execution with its own address space."
        },
        {
            "term": "Thread",
            "description": "A single flow of control within a process sharing its resources."
        },
        {
            "term": "Process Control Block",
            "description": "Data structure storing process state, registers, and scheduling info."
        },
        {
            "term": "Context Switch",
            "description": "Saving and restoring CPU state when switching between processes."
        },
        {
            "term": "Fork",
            "description": "System call creating a child process as a copy of the parent."
        },
        {
            "term": "Exec",
            "description": "System call replacing the current process image with a new program."
        },
        {
            "term": "Zombie Process",
            "description": "A terminated process whose exit status has not been collected."
        },
        {
            "term": "Orphan Process",
            "description": "A process whose parent has terminated before it."
        },
        {
            "term": "Process States",
            "description": "The lifecycle states of a process: new, ready, running, waiting (blocked) and terminated."
        },
        {
            "term": "Inter-Process Communication",
            "description": "Mechanisms for processes to exchange data, such as pipes, sockets, shared memory and message queues."
        },
        {
            "term": "Pipe",
            "description": "A one-way byte channel between processes, the basis of shell command chains."
        },
        {
            "term": "Signal",
            "description": "An asynchronous notification delivered to a process, such as SIGTERM to ask it to exit."
        },
        {
            "term": "Semaphore",
            "description": "A counter used to control access to a shared resource by multiple processes or threads."
        },
        {
            "term": "Mutex",
            "description": "A lock that allows one thread at a time to hold it, used to protect critical sections."
        },
        {
            "term": "Daemon",
            "description": "A long-running background process, usually started at boot and detached from a terminal."
        },
        {
            "term": "Scheduler",
            "description": "The kernel component that decides which ready process or thread runs next."
        }
    ]
}
