[Bug 1912] Add Scheduler Documentation

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Wed Oct 5 15:58:39 UTC 2011


https://www.rtems.org/bugzilla/show_bug.cgi?id=1912

--- Comment #2 from Gedare <giddyup44 at yahoo.com> 2011-10-05 10:58:38 CDT ---
(In reply to comment #1)
> Created attachment 1347 [details]
> Merge of my and Petr's doc changes
> 
> I had outstanding changes to reorganize the scheduler chapter when Petr sent me
> a patch for his changes.  His changes were to the configuring a system chapter
> and the scheduler chapter. The scheduler chapter changes largely fit into new
> subsections I had added to the outline.  
> 
> Please review and comment.  Once we are both OK, I will commit.
The content seems fine. Coupled with the sptests I think it is enough to get
someone going at any rate.

My notes follow, most of which are grammatical.

> Moreover, multiple background tasks are scheduled according their priority
s/according their/according to their/

> extention of EDF scheduler. The goal of this scheduler is to ensure temporal
s/extention/extension/

> provides with an extensive API. This scheduler may be explicitly selected
s/provides with an//

> When a task is added to the ready chain, it is placed behind all other tasks of the same priority.  T
Add line breaks please! :)

> There are a few common methods of accomplishing the mechanics of this
> algorithm.  These ways involve a list or chain of tasks in the ready state.
> 
> @itemize @bullet
> @item The least efficient method is to randomly place tasks in the ready
> chain forcing the scheduler to scan the entire chain to determine which
> task receives the processor.
> 
> @item A more efficient method is to schedule the task by placing it
> in the proper place on the ready chain based on the designated scheduling
> criteria at the time it enters the ready state.  Thus, when the processor
> is free, the first task on the ready chain is allocated the processor.
> 
> @item Another mechanism is to maintain a list of FIFOs per priority.
> When a task is readied, it is placed on the rear of the FIFO for its
> priority.  This method is often used with a bitmap to assist in locating
> which FIFOs have ready tasks on them.
> 
> @end itemize
This seems like bloat to me.

> on different cores, this algorithm favors preemptible threads which have
s/preemtible/preempting/

> and adherence to the model of real-time theory where tasks have priorities
> equal to deadlines.
Cut this, it is not very precise. RT tasks may be priority-based,
deadline-based, or both, and need not have priorities equal to deadlines.

> This implementation of EDF allows to schedule two different types of task
s/allows to schedule/schedules/

> task which priority in equal to priority assigned upon initialization in the
s/which priority in equal to priority/with priority equal to that/

> to claim deadline until which specific set of instructions has to be
> executed. This is carried out using the Rate Monotonic manager which
> 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
Rewrite to:
to claim a deadline. The Rate Monotonic manager is responsible for managing
periodic and deadline-driven tasks. In RTEMS periods are equal to deadlines.

> The CBS is a budget aware extention of EDF scheduler. The main goal of this
s/extention/extension/

> on task per server). The server is characterized by period (deadline) and
s/on/one/

> computation time (budget). The ratio budget/period yields bandwidth, 
s/bandwidth,/bandwidth, which is the/

> ensuring that deadline miss because of another task can not occur.
s/can not/cannot/

> In case a task breaks one of the rules, it's priority is pulled to background
s/it's/its/

> until the end of period and then restored again. The rules are:
s/of period/of its period/

> @item Task can not exceed it's registered budget, @item Task can not be
s/can not/cannot/g
s/it's/its/

> The CBS provides with an extensive API. Unlike EDF, the
s/with//

> RTEMS provides four mechanisms which allow the user to impact the task
> scheduling decision process:
s/impact the task/change task/
s/decision process:/decisions:/

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the bugs mailing list