:PROPERTIES:
:ID: ea9ceb4e-ff99-4939-ad40-90d5dae2d567
:mtime: 20240902021633 20240307034156 20240304105708
:ctime: 20240304105641
:END:
#+title: operating system process
#+filetags: :public:operatingsystems:project:
* What is a Process?
• Process is the *unit of protection* and *resource allocation*
• So you may have multiple running processes created from a single program
* A Process is not a Program
• Process ≠ Program
• A program is static, on-disk
• A process is dynamic, a program in execution
* What is stored in a process?
** Program Counter
as represented by the value of the *program counter*
** Registers
and the contents of the processor’s *registers*.
** Stack
A process generally also includes the process *stack*, which contains temporary data (such as function parameters, return addresses, and local variables),
** Data Section
and a *data section*, which contains global variables.
** Heap
A process may also include a *heap*, which is memory that is dynamically allocated during process run time. The structure of a process in memory.