Topic: multi-tasking

topics > computer science > Group: parallel processing

communicating sequential processes
critical regions
defining a process
multi-user systems
multiple processors
operating system kernel
process threads
real time systems
task scheduling


Parallel processing has traditionally been implemented by multiple tasks defined and interleaved by a system scheduler. A task is a program with an independent procedure stack and context descriptor. Tasks may be always active, event initiated, or periodically executed. The following operations are usually provided: task creation with stack size and priority, round-robin scheduling, prioritized scheduling, dynamic memory allocation, pause/suspend/ready, time delays, task removal, message passing and queuing, interrupt waiting, and terminate task. An alternative scheduler is round-robin execution with one statement of each task executed per cycle (time critical tasks are executed as one statement). Tasking is often used in real-time applications and simulation. A task may be seen as a data object with component values accessible by other tasks. In this case an inactive task may still provide useful data. (cbb 5/80)

A process thread is a task restricted to a process context. Except for embedded systems, threads have largely replaced tasks. (cbb 5/06)

Subtopic: tasks up

Quote: a task is the basic unit of resource allocation. It includes a paged virtual address space and protected access to system resources
Quote: Mach tasks form a tree structure defined by task creation; controls how memory is shared [»acceM6_1986]
Quote: a Unix fork operation is equivalent to a Mach task creating a child task with all memory copy-on-write
Quote: a real-time program consists of a fixed number of concurrent processes that do not share variables [»brinP11_1978]

Subtopic: implementation of multi-tasking up

Quote: an entity frame needs binding link for local variables, access link for arguments, control link for return, and process state [»bobrDG9_1974]
Quote: one step of each active sequential task is executed per scan; eliminates time-slice interrupts and active task queues [»weavAC_1978]
Quote: write simulation programs in ALGOL by a task loop and a scheduler [»willJW4_1964, OK]
Quote: a process interleaves its initial statement and external requests by other processes; it may delay an operation until a condition becomes true [»brinP11_1978]
Quote: parallelism in Ocra based on processes that execute programs and shared objects passed as parameters
Quote: Ocra-based systems are easy to program with good performance for problems with moderate grain size where reads predominate over writes [»taneAS8_1992]

Subtopic: upcall up

Quote: if an upcall fails, need to recover the calling task; the simple solution is to fail; i.e., tasks are expendable [»clarDD12_1995]
Quote: organize a layer as tasks made of subroutines; all interfaces are subroutine calls instead of intertask communication [»clarDD12_1995]

Subtopic: examples up

Quote: Thoth's operating system includes memory management, messaging, multi-tasking, delays, and file I/O [»cherDR2_1979, OK]
Quote: under Thoth a function is either invoked as a subroutine using the current stack, or as a process with its own stack [»cherDR2_1979]
QuoteRef: wulfWA12_1971 ;;785 Tasks and co-routines created by CREATE function(args) AT stack-loc Length stack-size THEN termination-statement value is task name executed by exchj (routine-name, value of other routines exchj)
QuoteRef: rossJP_1970 ;; Element is a process (task) on which can create, destroy, activate, stopfork (explicitly stop (implicit) quit, continue.
QuoteRef: ichbJD_1972 ;;68 A detached object exists on its own right but not necessarily executing
QuoteRef: dahlOJ_1972a ;;14 Terminated object may not be called or resumed but may be accessed
QuoteRef: burrou_1972 ;;6-22 attributes associated with tasks e.g., t.status:=-1 terminates task T
QuoteRef: kayAC6_1968 ;;36 process as task or procedure
Quote: a sequential task may include steps for wait until, if..then, delay, turn on, restart, etc. [»weavAC_1978]
Quote: CONTROL's named sets use FORTRAN-type expressions and library functions; lower priority than numbered sets

Related Topics up

Topic: co-routines (13 items)
Topic: communicating sequential processes (33 items)
Topic: critical regions (58 items)
Topic: defining a process (23 items)
Topic: multi-user systems (4 items)
Topic: multiple processors (10 items)
Topic: operating system kernel (67 items)
Topic: process threads (25 items)
Topic: real time systems (14 items)
Topic: task scheduling
(49 items)

Updated barberCB 9/04
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.