Running Software Instance
A Running Software Instance is an instance that is an executing program that operates within a digital computing system consuming system resources.
- AKA: Program Instance, Software Process.
- Context:
- It can (typically) maintain Program State through memory structures
- It can (typically) consume System Resources via resource allocation
- It can (typically) execute Program Instructions using processor time
- It can (often) interact with Operating System through system calls
- It can (often) generate Program Output via execution results
- It can (often) handle Program Errors through error handling
- ...
- It can range from being a Simple Program Instance to being a Complex Program Instance, depending on its program complexity
- It can range from being a Single-threaded Instance to being a Multi-threaded Instance, depending on its execution model
- It can range from being a Foreground Instance to being a Background Instance, depending on its interaction mode
- It can range from being a Short-lived Instance to being a Long-running Instance, depending on its execution duration
- It can range from being a Static Instance to being a Dynamic Instance, depending on its resource usage pattern
- ...
- It can contain Data Structures
- It can consume Computer Memory
- It can consume Computing Processing Resources
- It can produce a Software Program Memory Dump or a Software Program Trace
- It can interact with other Running Software Instances
- It can be managed by a Process Manager
- ...
- Example(s):
- Application Instances, such as:
- Browser Software Instances handling web navigation
- Word Processor Instances managing document editing
- Media Player Instances controlling media playback
- ...
- System Service Instances, such as:
- DBMS Instances managing database operations
- Web Server Instances serving web content
- Print Server Instances handling print jobs
- ...
- Background Process Instances, such as:
- System Monitor Instances tracking system health
- Backup Service Instances managing data backup
- Update Service Instances handling system updates
- ...
- Application Instances, such as:
- Counter-Example(s):
- a Software Program Process Thread, which is a component of an instance
- a Program Data Object, which is a passive data structure
- a Static Program File, which is not in execution
- an Unloaded Program, which has not been instantiated
- See: Process, Thread, Program State, Memory Management, Process Management, Software Program State, System Resource, Operating System.
References
2015
- (Economist, 2015) ⇒ The Economist. (2015). “What is Code?.” In: The Economist, Sep 8th 2015 Journal.
- QUOTE: From lifts to cars to airliners to smartphones, modern civilisation is powered by software, the digital instructions that allow computers, and the devices they control, to perform calculations and respond to their surroundings. How did that software get there? Someone had to write it. But code, the sequences of symbols painstakingly created by programmers, is not quite the same as software, the sequences of instructions that computers execute. So what exactly is it? Coding, or programming, is a way of writing instructions for computers that bridges the gap between how humans like to express themselves and how computers actually work.
2013
- http://en.wikipedia.org/wiki/Process_%28computing%29
- In computing, a process is an instance of a computer program or Application that is being executed. It contains the program code and its current activity. Depending on the operating system (OS), a process may be made up of multiple threads of execution that execute instructions concurrently.[1][2]
A computer program is a passive collection of instructions; a process is the actual execution of those instructions. Several processes may be associated with the same program; for example, opening up several instances of the same program often means more than one process is being executed.
Multitasking is a method to allow multiple processes to share processors (CPUs) and other system resources. Each CPU executes a single task at a time. However, multitasking allows each processor to switch between tasks that are being executed without having to wait for each task to finish. Depending on the operating system implementation, switches could be performed when tasks perform input/output operations, when a task indicates that it can be switched, or on hardware interrupts.
A common form of multitasking is time-sharing. Time-sharing is a method to allow fast response for interactive user applications. In time-sharing systems, context switches are performed rapidly. This makes it seem like multiple processes are being executed simultaneously on the same processor. The execution of multiple processes seemingly simultaneously is called concurrency.
For security and reliability reasons most modern operating systems prevent direct communication between independent processes, providing strictly mediated and controlled inter-process communication functionality.
- In computing, a process is an instance of a computer program or Application that is being executed. It contains the program code and its current activity. Depending on the operating system (OS), a process may be made up of multiple threads of execution that execute instructions concurrently.[1][2]
- ↑ SILBERSCHATZ, Abraham; CAGNE, Greg, GALVIN, Peter Baer (2004). "Chapter 4 - Processes". Operating system concepts with Java (Sixth Edition ed.). John Wiley & Sons. ISBN 0-471-48905-0.
- ↑ Vahalia, Uresh (1996). "2 - The Process and the Kernel". UNIX Internals - The New Frontiers. Prentice-Hall Inc.. ISBN 0-13-101908-2.