Process Protection

Process Protection

Copyright(c) Management Analytics, 1995 - All Rights Reserved

Copyright(c), 1990, 1995 Dr. Frederick B. Cohen - All Rights Reserved

Each process has its own ``virtual machine'' with corresponding memory, registers, input and output files, peripheral devices, etc. In order for processes to behave properly, the operating system separates processes from each other so that they don't interact. The cases where they do interact are controlled by the operating system.

The separation mechanism under UNIX allows a parent process to control a child process in a few ways. Processes can be killed, delayed, stopped, or restarted, by their parent process.

In addition to ancestry, each process is ``owned'' by a user, and a user can send signals to any owned process to affect the same general class of operations as a parent process.

The superuser, by definition, is an owner of all processes, and can thus send signals to processes in place of the user who owns a process.

Certain group operations are allowed in order to facilitate controlling large numbers of processes. Process group IDs are inherited from parents, and can be changed by requesting a new process group from the operating system. A typical operation is to create a process group and run a set of interrelated processes from that same group. If an error occurs that calls for stopping the entire operation, the whole group can be killed without having to keep track of each process.