We can think
of a thread as basically a lightweight process. In order to
understand this let us consider the two main characteristics of a process:
Unit of
resource ownership
-- A process is allocated:
·
a virtual
address space to hold the process image
·
control of
some resources (files, I/O devices...)
Unit of
dispatching
- A process is an execution path
through one or more programs:
·
execution
may be interleaved with other processes
·
the process
has an execution state and a dispatching priority