Process Accounting

ProcessAccounting describes generally the resource distribution within a software system, where a 'resource' is any precious and limited commodity that can be distributed. Example resources: CPU time, HDD space, RAM. For a laptop, one might also add power and energy consumption, and heat production. Within a POSIX or Windows OS, one might need to add File Handles to that list.

A goal for ProcessAccounting is to achieve it without sacrificing safety, performance, or security. Performance is sacrificed if resources are under-utilized because they are being "reserved". Safety is sacrificed if resources are unavailable when required, or if they can be revoked without well-defined revocation behavior on part of the process from which the resource was revoked. Security is sacrificed if process A can delay process B to a degree that service B is effectively denied without having authority to do so, as might happen if process A holds a lock upon which process B is waiting.

These contentious forces make ProcessAccounting one of the huge, untamed frontiers for possibly massive improvements in ComputerScience.

A good design for ProcessAccounting would help with:

Existing designs involve: Related to ProcessAccounting is SystemAdministration?, which determines which process-configurations are running and policies for distributing resources to them.


EditText of this page (last edited July 9, 2010) or FindPage with title or text search