Task (computing): Difference between revisions

Content deleted Content added
m Adding local short description: "Unit of execution or work in software", overriding Wikidata description "computing term; execution path through address space"
Citation bot (talk | contribs)
Misc citation tidying. | Use this bot. Report bugs. | Suggested by AManWithNoPlan | #UCB_CommandLine
 
Line 13:
===Examples===
In the [[Java (programming language)|Java]] programming language, these two concepts (unit of work and unit of execution) are conflated when working directly with threads, but clearly distinguished in the [https://docs.oracle.com/javase/tutorial/essential/concurrency/executors.html Executors] framework:
{{quote|When you work directly with threads, a <code>Thread</code> serves as both a unit of work and the mechanism for executing it. In the executor framework, the unit of work and the execution mechanism are separate. The key abstraction is the unit of work, which is called a ''task''.<ref>{{cite book |author-link = Joshua Bloch |first = Joshua |last = Bloch |title = Effective Java |edition = Third |page=[https://books.google.com/books?id=BIpDDwAAQBAJ&lpg=PT431&ots=LwbKdbR4_b&dq=%22the%20key%20abstraction%20is%20the%20unit%20of%20work+key+abstraction+is+the+unit+of+work%22&pg=PT431#v=onepage&q=%22the%20key%20abstraction%20is%20the%20unit%20of%20work%22&f=false p. 272], Item 68}}</ref>}}
 
===IBM terminology===
Line 49:
==History==
The term ''task'' for a part of a job dates to [[multiprogramming]] in the early 1960s, as in this example from 1961:
{{quote |The serial model has the ability to process tasks of one job in an independent manner similar to the functioning of the [[IBM 709]].<ref>{{cite book |title=Simultaneous multiprogramming of electronic computers |year=1961 |author=James Larrimore McKenney |page=[https://books.google.com/books?id=ThYcAQAAMAAJ&dqq=%22tasks+of+one+job%22 154]}}</ref>}}
 
The term was popularized with the introduction of [[OS/360 and successors|OS/360]] (announced 1964), which featured [[OS/360 and successors#MFT|Multiprogramming with a Fixed number of Tasks]] (MFT) and [[OS/360 and successors#MVT|Multiprogramming with a Variable number of Tasks]] (MVT). In this case tasks were identified with light-weight processes, a job consisted of a number of tasks, and, later, tasks could have sub-tasks (in modern terminology, [[child process]]es).