summaryrefslogtreecommitdiffstats
path: root/doc/user/task.t
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-05-04 19:45:17 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-05-04 19:45:17 +0000
commitadee597960ce3c5ff0ce303ae9ac25b7eebdfe32 (patch)
tree4c316747f2c69a4a96edc22964add7939a965c72 /doc/user/task.t
parentNew file. (diff)
downloadrtems-adee597960ce3c5ff0ce303ae9ac25b7eebdfe32.tar.bz2
Numerous changes based on comments from Stephan Wilms <Stephan.Wilms@CWA.de>
including a new section in the Getting Started called "Where to Go From Here", lots of index entries added, and more configuration table information.
Diffstat (limited to '')
-rw-r--r--doc/user/task.t30
1 files changed, 22 insertions, 8 deletions
diff --git a/doc/user/task.t b/doc/user/task.t
index e399f2ea74..5db64eeca3 100644
--- a/doc/user/task.t
+++ b/doc/user/task.t
@@ -120,10 +120,15 @@ current state and priority.
@cindex task priority
@cindex priority, task
+@findex rtems_task_priority
A task's priority determines its importance in relation to the
other tasks executing on the same processor. RTEMS supports 255
-levels of priority ranging from 1 to 255. Tasks of numerically
+levels of priority ranging from 1 to 255. The data type
+@code{@value{DIRPREFIX}task_priority} is used to store task
+priorities.
+
+Tasks of numerically
smaller priority values are more important tasks than tasks of
numerically larger priority values. For example, a task at
priority level 5 is of higher privilege than a task at priority
@@ -143,8 +148,10 @@ processor execution time.
@subsection Task Mode
@cindex task mode
+@findex rtems_task_mode
-A task's mode is a combination of the following four components:
+A task's execution mode is a combination of the following
+four components:
@itemize @bullet
@item preemption
@@ -154,7 +161,9 @@ A task's mode is a combination of the following four components:
@end itemize
It is used to modify RTEMS' scheduling process and to alter the
-execution environment of the task.
+execution environment of the task. The data type
+@code{@value{DIRPREFIX}task_mode} is used to manage the task
+execution mode.
@cindex preemption
@@ -210,6 +219,7 @@ specifies that the task will execute at interrupt level n.
@subsection Accessing Task Arguments
@cindex task arguments
+@cindex task prototype
All RTEMS tasks are invoked with a single argument which is
specified when they are started or restarted. The argument is
@@ -218,6 +228,8 @@ The simplest manner in which to define a task which accesses it
argument is:
@ifset is-C
+@findex rtems_task
+
@example
rtems_task user_task(
rtems_task_argument argument
@@ -240,7 +252,8 @@ single argument as an index into an array of parameter blocks.
@cindex floating point
-Creating a task with the @code{@value{RPREFIX}FLOATING_POINT} flag results
+Creating a task with the @code{@value{RPREFIX}FLOATING_POINT} attribute
+flag results
in additional memory being allocated for the TCB to store the state of the
numeric coprocessor during task switches. This additional memory is
@b{NOT} allocated for @code{@value{RPREFIX}NO_FLOATING_POINT} tasks. Saving
@@ -726,10 +739,6 @@ This directive will not cause the calling task to be preempted.
Valid task priorities range from a high of 1 to a low of 255.
-RTEMS supports a maximum of 256 interrupt levels which are
-mapped onto the interrupt levels actually supported by the
-target processor.
-
The requested stack size should be at least
@code{@value{RPREFIX}MINIMUM_STACK_SIZE}
bytes. The value of @code{@value{RPREFIX}MINIMUM_STACK_SIZE}
@@ -760,6 +769,11 @@ The following task mode constants are defined by RTEMS:
@item @code{@value{RPREFIX}INTERRUPT_LEVEL(n)} - execute at interrupt level n
@end itemize
+The interrupt level portion of the task execution mode
+supports a maximum of 256 interrupt levels. These levels are
+mapped onto the interrupt levels actually supported by the
+target processor in a processor dependent fashion.
+
Tasks should not be made global unless remote tasks must
interact with them. This avoids the system overhead incurred by
the creation of a global task. When a global task is created,