previous |
start |
next
Processes and IPC
A process in the context of a general-purpose
computing system is generally defined as[1]:
- A program which is currently in execution (ie, running),
including:
- the instantaneous value of all of its variables (in memory and
registers)
- the "current" value of its program counter , etc
Note that we also sometimes use the term
application instead of process --
and even application process is sometimes used.
They're basically all equivalent to one another.
Inter-Process Communications (IPC) occurs when a
process "talks to" another process. Apart from TCP-based IPC, there
have historically been many other flavours of IPC:
- Shared files (only useful where two process
share a common filesystem)
- Unix pipes (only useful between process which
have a common "parent process")
- Others: shared memory, named pipes, message passing, remote
procedure call, etc.
[1] The definition
becomes a little blurred in some multi-threaded
environments (eg, Java): a thread is kind-of a "light
weight" process. We ignore threads for the moment.
previous |
start |
next