Content deleted Content added
Safety Tags: Reverted Visual edit Mobile edit Mobile web edit |
Citation bot (talk | contribs) Removed URL that duplicated identifier. | Use this bot. Report bugs. | #UCB_CommandLine |
||
(One intermediate revision by one other user not shown) | |||
Line 1:
{{Short description|Running of a program by a computer}}
{{Short description|Running of a program by a computer}}'''Execution''' in [[computer engineering|computer]] and software engineering is the process by which a [[computer]] or [[virtual machine]] interprets and acts on the instructions of a [[computer program]]. Each instruction of a program is a description of a particular action which must be carried out, in order for a specific problem to be solved. Execution involves repeatedly following a "[[Instruction cycle|fetch–decode–execute]]" cycle for each instruction done by the [[control unit]]. As the executing machine follows the instructions, specific effects are produced in accordance with the [[Formal semantics of programming languages|semantics]] of those instructions. ▼
{{Program execution}}
▲
Programs for a computer may be executed in a [[Batch processing|batch process]] without human interaction or a [[User (computing)|user]] may type [[Command (computing)|commands]] in an [[Session (computer science)|interactive session]] of an [[Interpreter (computing)|interpreter]]. In this case, the "commands" are simply program instructions, whose execution is chained together.
Line 22 ⟶ 25:
{{Main|Context switch}}
In order for programs and [[interrupt handler]]s to work without interference and share the same hardware memory and access to the I/O system, in a [[Computer multitasking|multitasking operating system]] running on a digital system with a single CPU/MCU, it is required to have some sort of software and hardware facilities to keep track of an executing process's data (memory page addresses, registers etc.) and to save and recover them back to the state they were in before they were suspended. This is achieved by a context switching.<ref name=":0">{{Cite book |last=Bovet |first=Daniel P.
In Linux-based operating systems, a set of data stored in [[Processor register|registers]] is usually saved into a process descriptor in memory to implement switching of context.<ref name=":0" /> PCIDs are also used.
|