[PATCH 2/2] Spelling/Grammar Mistakes

Joel Sherrill joel at rtems.org
Sun May 17 21:56:25 UTC 2020


Committed. Thanks for the detailed read and fixes.

--joel

On Fri, May 15, 2020 at 7:10 PM Richi Dubey <richidubey at gmail.com> wrote:

> ---
>  c-user/scheduling_concepts.rst | 50 +++++++++++++++++-----------------
>  1 file changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/c-user/scheduling_concepts.rst
> b/c-user/scheduling_concepts.rst
> index dac39a8..d329bc4 100644
> --- a/c-user/scheduling_concepts.rst
> +++ b/c-user/scheduling_concepts.rst
> @@ -16,7 +16,7 @@ Introduction
>  ============
>
>  The concept of scheduling in real-time systems dictates the ability to
> provide
> -immediate response to specific external events, particularly the
> necessity of
> +an immediate response to specific external events, particularly the
> necessity of
>  scheduling tasks to run within a specified time limit after the
> occurrence of
>  an event.  For example, software embedded in life-support systems used to
>  monitor hospital patients must take instant action if a change in the
> patient's
> @@ -38,7 +38,7 @@ The directives provided by the scheduler manager are:
>  - rtems_scheduler_get_maximum_priority_ - Get maximum task priority of a
> scheduler
>
>  - rtems_scheduler_map_priority_to_posix_ - Map task priority to POSIX
> thread
> -  prority
> +  priority
>
>  - rtems_scheduler_map_priority_from_posix_ - Map POSIX thread priority to
> task
>    prority
> @@ -58,8 +58,8 @@ The directives provided by the scheduler manager are:
>  Scheduling Algorithms
>  ---------------------
>
> -RTEMS provides a plugin framework which allows it to support multiple
> -scheduling algorithms. RTEMS includes multiple scheduling algorithms and
> the
> +RTEMS provides a plugin framework that allows it to support multiple
> +scheduling algorithms. RTEMS includes multiple scheduling algorithms, and
> the
>  user can select which of these they wish to use in their application at
>  link-time.  In addition, the user can implement their own scheduling
> algorithm
>  and configure RTEMS to use it.
> @@ -69,8 +69,8 @@ select the algorithm which is most appropriate to their
> use case. Most
>  real-time operating systems schedule tasks using a priority based
> algorithm,
>  possibly with preemption control.  The classic RTEMS scheduling algorithm
> which
>  was the only algorithm available in RTEMS 4.10 and earlier, is a
> fixed-priority
> -scheduling algorithm.  This scheduling algoritm is suitable for
> uniprocessor
> -(e.g. non-SMP) systems and is known as the *Deterministic Priority
> +scheduling algorithm.  This scheduling algorithm is suitable for
> uniprocessor
> +(e.g., non-SMP) systems and is known as the *Deterministic Priority
>  Scheduler*.  Unless the user configures another scheduling algorithm,
> RTEMS
>  will use this on uniprocessor systems.
>
> @@ -87,7 +87,7 @@ in time is the one with the highest priority among all
> tasks in the ready
>  state.
>
>  When a task is added to the ready chain, it is placed behind all other
> tasks of
> -the same priority.  This rule provides a round-robin within priority group
> +the same priority.  This rule provides a round-robin within a priority
> group
>  scheduling characteristic.  This means that in a group of equal priority
> tasks,
>  tasks will execute in the order they become ready or FIFO order.  Even
> though
>  there are ways to manipulate and adjust task priorities, the most
> important
> @@ -100,7 +100,7 @@ rule to remember is:
>
>  Priority scheduling is the most commonly used scheduling algorithm.  It
> should
>  be used by applications in which multiple tasks contend for CPU time or
> other
> -resources and there is a need to ensure certain tasks are given priority
> over
> +resources, and there is a need to ensure certain tasks are given priority
> over
>  other tasks.
>
>  There are a few common methods of accomplishing the mechanics of this
> @@ -127,7 +127,7 @@ algorithm.  These ways involve a list or chain of
> tasks in the ready state.
>    the ready queue.
>
>  RTEMS currently includes multiple priority based scheduling algorithms as
> well
> -as other algorithms which incorporate deadline.  Each algorithm is
> discussed in
> +as other algorithms that incorporate deadline.  Each algorithm is
> discussed in
>  the following sections.
>
>  Uniprocessor Schedulers
> @@ -142,13 +142,13 @@ Deterministic Priority Scheduler
>  --------------------------------
>
>  This is the scheduler implementation which has always been in RTEMS.
> After the
> -4.10 release series, it was factored into pluggable scheduler selection.
> It
> +4.10 release series, it was factored into a pluggable scheduler
> selection.  It
>  schedules tasks using a priority based algorithm which takes into account
>  preemption.  It is implemented using an array of FIFOs with a FIFO per
>  priority.  It maintains a bitmap which is used to track which priorities
> have
>  ready tasks.
>
> -This algorithm is deterministic (e.g. predictable and fixed) in execution
> time.
> +This algorithm is deterministic (e.g., predictable and fixed) in
> execution time.
>  This comes at the cost of using slightly over three (3) kilobytes of RAM
> on a
>  system configured to support 256 priority levels.
>
> @@ -167,7 +167,7 @@ determine where to insert the newly readied task.
>  This algorithm uses much less RAM than the Deterministic Priority
> Scheduler but
>  is *O(n)* where *n* is the number of ready tasks.  In a small system with
> a
>  small number of tasks, this will not be a performance issue.  Reducing RAM
> -consumption is often critical in small systems which are incapable of
> +consumption is often critical in small systems that are incapable of
>  supporting a large number of tasks.
>
>  This scheduler is only aware of a single core.
> @@ -179,23 +179,23 @@ This scheduler is only aware of a single core.
>  Earliest Deadline First Scheduler
>  ---------------------------------
>
> -This is an alternative scheduler in RTEMS for single core applications.
> The
> +This is an alternative scheduler in RTEMS for single-core applications.
> The
>  primary EDF advantage is high total CPU utilization (theoretically up to
>  100%). It assumes that tasks have priorities equal to deadlines.
>
>  This EDF is initially preemptive, however, individual tasks may be
> declared
> -not-preemptive. Deadlines are declared using only Rate Monotonic manager
> which
> -goal is to handle periodic behavior. Period is always equal to deadline.
> All
> +not-preemptive. Deadlines are declared using only Rate Monotonic manager
> whose
> +goal is to handle periodic behavior. Period is always equal to the
> deadline. All
>  ready tasks reside in a single ready queue implemented using a red-black
> tree.
>
>  This implementation of EDF schedules two different types of task priority
> types
>  while each task may switch between the two types within its execution. If
> a
>  task does have a deadline declared using the Rate Monotonic manager, the
> task
> -is deadline-driven and its priority is equal to deadline.  On the
> contrary if a
> +is deadline-driven and its priority is equal to deadline.  On the
> contrary, if a
>  task does not have any deadline or the deadline is cancelled using the
> Rate
>  Monotonic manager, the task is considered a background task with priority
> equal
>  to that assigned upon initialization in the same manner as for priority
> -scheduler. Each background task is of a lower importance than each
> +scheduler. Each background task is of lower importance than each
>  deadline-driven one and is scheduled when no deadline-driven task and no
> higher
>  priority background task is ready to run.
>
> @@ -203,7 +203,7 @@ Every deadline-driven scheduling algorithm requires
> means for tasks to claim a
>  deadline.  The Rate Monotonic Manager is responsible for handling periodic
>  execution. In RTEMS periods are equal to deadlines, thus if a task
> announces a
>  period, it has to be finished until the end of this period. The call of
> -``rtems_rate_monotonic_period`` passes the scheduler the length of
> oncoming
> +``rtems_rate_monotonic_period`` passes the scheduler the length of an
> oncoming
>  deadline. Moreover, the ``rtems_rate_monotonic_cancel`` and
>  ``rtems_rate_monotonic_delete`` calls clear the deadlines assigned to the
> task.
>
> @@ -214,7 +214,7 @@ deadline. Moreover, the
> ``rtems_rate_monotonic_cancel`` and
>  Constant Bandwidth Server Scheduling (CBS)
>  ------------------------------------------
>
> -This is an alternative scheduler in RTEMS for single core applications.
> The
> +This is an alternative scheduler in RTEMS for single-core applications.
> The
>  CBS is a budget aware extension of EDF scheduler. The main goal of this
>  scheduler is to ensure temporal isolation of tasks meaning that a task's
>  execution in terms of meeting deadlines must not be influenced by other
> tasks
> @@ -258,7 +258,7 @@ active deadline are background tasks.  In case
> deadlines are not used, then the
>  EDF scheduler behaves exactly like a fixed-priority scheduler.  The tasks
> with
>  an active deadline have a higher priority than the background tasks.  This
>  scheduler supports :ref:`task processor affinities
> <rtems_task_set_affinity>`
> -of one-to-one and one-to-all, e.g.  a task can execute on exactly one
> processor
> +of one-to-one and one-to-all, e.g.,  a task can execute on exactly one
> processor
>  or all processors managed by the scheduler instance.  The processor
> affinity
>  set of a task must contain all online processors to select the one-to-all
>  affinity.  This is to avoid pathological cases if processors are
> added/removed
> @@ -431,7 +431,7 @@ directive.  While a task occupies this state it does
> not have a TCB or a task
>  ID assigned to it; therefore, no other tasks in the system may reference
> this
>  task.
>
> -When a task is created via the ``rtems_task_create`` directive it enters
> the
> +When a task is created via the ``rtems_task_create`` directive, it enters
> the
>  dormant state.  This state is not entered through any other means.
> Although
>  the task exists in the system, it cannot actively compete for system
> resources.
>  It will remain in the dormant state until it is started via the
> @@ -457,10 +457,10 @@ of the following conditions:
>  - The running task issues a ``rtems_barrier_wait`` directive.
>
>  - The running task issues a ``rtems_message_queue_receive`` directive
> with the
> -  wait option and the message queue is empty.
> +  wait option, and the message queue is empty.
>
> -- The running task issues an ``rtems_event_receive`` directive with the
> wait
> -  option and the currently pending events do not satisfy the request.
> +- The running task issues a ``rtems_event_receive`` directive with the
> wait
> +  option, and the currently pending events do not satisfy the request.
>
>  - The running task issues a ``rtems_semaphore_obtain`` directive with the
> wait
>    option and the requested semaphore is unavailable.
> @@ -498,7 +498,7 @@ conditions:
>    waiting.
>
>  - A running task issues an ``rtems_event_send`` directive which sends an
> event
> -  condition to a task which is blocked waiting on that event condition.
> +  condition to a task that is blocked waiting on that event condition.
>
>  - A running task issues a ``rtems_semaphore_release`` directive which
> releases
>    the semaphore on which the blocked task is waiting.
> --
> 2.17.1
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200517/f719bc9d/attachment-0001.html>


More information about the devel mailing list