Difference between revisions of "Process"

From Computer History Wiki
Jump to: navigation, search
(An OK start)
 
m (Lilnks)
Line 1: Line 1:
A '''process''' is the most common computational abstraction on a [[multitasking]] [[operating system]]. It is effectively a 'virtual computer' (but not in the sense of a [[virtual machine]]),  to which the OS provides resources ([[main memory|memory]], computing time, I/O, etc) as required.
+
A '''process''' is the most common computational abstraction in a [[multi-tasking]] [[operating system]]. It is effectively a 'virtual computer' (but not in the sense of a [[virtual machine]]),  to which the OS provides resources ([[main memory|memory]], computing time, [[input/output|I/O]], etc) as required.
  
 
The virtual computer is basically a restricted version of the underlying [[Central Processing Unit|CPU]], but also enhanced with other capabilities, provided by the OS (e.g. I/O to a [[file system]], as well as devices attached to the system).
 
The virtual computer is basically a restricted version of the underlying [[Central Processing Unit|CPU]], but also enhanced with other capabilities, provided by the OS (e.g. I/O to a [[file system]], as well as devices attached to the system).
  
(The limitations are to remove the ability to peform those operations which could damage/etc other processes; these limitations are usually enforced by the hardware of the CPU, as directed by the OS.)  
+
(The limitations are to remove the ability to peform those operations which could damage/etc other processes; these limitations are usually enforced by the [[hardware]] of the CPU, as directed by the OS.)  
  
 
A process is usually provided with a complete [[address space]] all its own, implemented using real memory on the underlying hardware - although [[virtual memory]] may be used to provide it.
 
A process is usually provided with a complete [[address space]] all its own, implemented using real memory on the underlying hardware - although [[virtual memory]] may be used to provide it.

Revision as of 05:12, 20 June 2018

A process is the most common computational abstraction in a multi-tasking operating system. It is effectively a 'virtual computer' (but not in the sense of a virtual machine), to which the OS provides resources (memory, computing time, I/O, etc) as required.

The virtual computer is basically a restricted version of the underlying CPU, but also enhanced with other capabilities, provided by the OS (e.g. I/O to a file system, as well as devices attached to the system).

(The limitations are to remove the ability to peform those operations which could damage/etc other processes; these limitations are usually enforced by the hardware of the CPU, as directed by the OS.)

A process is usually provided with a complete address space all its own, implemented using real memory on the underlying hardware - although virtual memory may be used to provide it.

Other capabilities usually provided to a proceess by the OS include:

  • timers;
  • the ability to run programs;
  • tools to debug programs;
  • the ability to communicate with other processes;
  • the ability to create new processes, or shut this one down;
  • the ability to wait for some event.