Changeset 690b7f9 in rtems-docs
- Timestamp:
- 03/07/18 13:10:50 (5 years ago)
- Branches:
- 5, am, master
- Children:
- 464d541
- Parents:
- c2ee227
- git-author:
- Sebastian Huber <sebastian.huber@…> (03/07/18 13:10:50)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (03/07/18 14:32:41)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
c-user/configuring_a_system.rst
rc2ee227 r690b7f9 3307 3307 configuration macros. 3308 3308 3309 .. index:: CONFIGURE_SCHEDULER_PRIORITY 3310 3311 .. _CONFIGURE_SCHEDULER_PRIORITY: 3312 3313 CONFIGURE_SCHEDULER_PRIORITY 3314 ---------------------------- 3315 3316 CONSTANT: 3317 ``CONFIGURE_SCHEDULER_PRIORITY`` 3318 3319 DATA TYPE: 3320 Boolean feature macro. 3321 3322 RANGE: 3323 Defined or undefined. 3324 3325 DEFAULT VALUE: 3326 This is defined by default. This is the default scheduler and specifying 3327 this configuration parameter is redundant. 3328 3329 DESCRIPTION: 3330 The Deterministic Priority Scheduler is the default scheduler in RTEMS for 3331 uni-processor applications and is designed for predictable performance 3332 under the highest loads. It can block or unblock a thread in a constant 3333 amount of time. This scheduler requires a variable amount of memory based 3334 upon the number of priorities configured in the system. 3335 3336 NOTES: 3309 .. index:: CONFIGURE_SCHEDULER_CBS 3310 3311 .. _CONFIGURE_SCHEDULER_CBS: 3312 3313 CONFIGURE_SCHEDULER_CBS 3314 ----------------------- 3315 3316 CONSTANT: 3317 ``CONFIGURE_SCHEDULER_CBS`` 3318 3319 DATA TYPE: 3320 Boolean feature macro. 3321 3322 RANGE: 3323 Defined or undefined. 3324 3325 DEFAULT VALUE: 3326 This is not defined by default. 3327 3328 DESCRIPTION: 3329 The Constant Bandwidth Server Scheduler (CBS) is an alternative scheduler 3330 in RTEMS for uni-processor applications. The CBS is a budget aware 3331 extension of EDF scheduler. The goal of this scheduler is to ensure 3332 temporal isolation of tasks. The CBS is equipped with a set of additional 3333 rules and provides with an extensive API. 3334 3337 3335 This scheduler may be explicitly selected by defining 3338 ``CONFIGURE_SCHEDULER_PRIORITY`` although this is equivalent to the default 3339 behavior. 3340 3341 .. index:: CONFIGURE_SCHEDULER_SIMPLE 3342 3343 .. _CONFIGURE_SCHEDULER_SIMPLE: 3344 3345 CONFIGURE_SCHEDULER_SIMPLE 3346 -------------------------- 3347 3348 CONSTANT: 3349 ``CONFIGURE_SCHEDULER_SIMPLE`` 3350 3351 DATA TYPE: 3352 Boolean feature macro. 3353 3354 RANGE: 3355 Defined or undefined. 3356 3357 DEFAULT VALUE: 3358 This is not defined by default. 3359 3360 DESCRIPTION: 3361 When defined, the Simple Priority Scheduler is used at the thread 3362 scheduling algorithm. This is an alternative scheduler in RTEMS. It is 3363 designed to provide the same task scheduling behaviour as the Deterministic 3364 Priority Scheduler while being simpler in implementation and uses less 3365 memory for data management. It maintains a single sorted list of all ready 3366 threads. Thus blocking or unblocking a thread is not a constant time 3367 operation with this scheduler. 3368 3369 This scheduler may be explicitly selected by defining 3370 ``CONFIGURE_SCHEDULER_SIMPLE``. 3371 3372 NOTES: 3373 This scheduler is appropriate for use in small systems where RAM is limited. 3336 ``CONFIGURE_SCHEDULER_CBS``. 3337 3338 NOTES: 3339 None. 3374 3340 3375 3341 .. index:: CONFIGURE_SCHEDULER_EDF … … 3435 3401 None. 3436 3402 3437 .. index:: CONFIGURE_SCHEDULER_CBS3438 3439 .. _CONFIGURE_SCHEDULER_CBS:3440 3441 CONFIGURE_SCHEDULER_CBS3442 -----------------------3443 3444 CONSTANT:3445 ``CONFIGURE_SCHEDULER_CBS``3446 3447 DATA TYPE:3448 Boolean feature macro.3449 3450 RANGE:3451 Defined or undefined.3452 3453 DEFAULT VALUE:3454 This is not defined by default.3455 3456 DESCRIPTION:3457 The Constant Bandwidth Server Scheduler (CBS) is an alternative scheduler3458 in RTEMS for uni-processor applications. The CBS is a budget aware3459 extension of EDF scheduler. The goal of this scheduler is to ensure3460 temporal isolation of tasks. The CBS is equipped with a set of additional3461 rules and provides with an extensive API.3462 3463 This scheduler may be explicitly selected by defining3464 ``CONFIGURE_SCHEDULER_CBS``.3465 3466 NOTES:3467 None.3468 3469 .. index:: CONFIGURE_SCHEDULER_PRIORITY_SMP3470 3471 .. _CONFIGURE_SCHEDULER_PRIORITY_SMP:3472 3473 CONFIGURE_SCHEDULER_PRIORITY_SMP3474 --------------------------------3475 3476 CONSTANT:3477 ``CONFIGURE_SCHEDULER_PRIORITY_SMP``3478 3479 DATA TYPE:3480 Boolean feature macro.3481 3482 RANGE:3483 Defined or undefined.3484 3485 DEFAULT VALUE:3486 This is not defined by default.3487 3488 DESCRIPTION:3489 The Deterministic Priority SMP Scheduler is derived from the Deterministic3490 Priority Scheduler but is capable of scheduling threads across multiple3491 processors.3492 3493 In a configuration with SMP enabled at configure time, it may be explicitly3494 selected by defining ``CONFIGURE_SCHEDULER_PRIORITY_SMP``.3495 3496 NOTES:3497 This scheduler is only available when RTEMS is configured with SMP support3498 enabled.3499 3500 This scheduler is currently the default in SMP configurations and is only3501 selected when ``CONFIGURE_MAXIMUM_PROCESSORS`` is greater than one.3502 3503 .. index:: CONFIGURE_SCHEDULER_SIMPLE_SMP3504 3505 .. _CONFIGURE_SCHEDULER_SIMPLE_SMP:3506 3507 CONFIGURE_SCHEDULER_SIMPLE_SMP3508 ------------------------------3509 3510 CONSTANT:3511 ``CONFIGURE_SCHEDULER_SIMPLE_SMP``3512 3513 DATA TYPE:3514 Boolean feature macro.3515 3516 RANGE:3517 Defined or undefined.3518 3519 DEFAULT VALUE:3520 This is not defined by default.3521 3522 DESCRIPTION:3523 The Simple SMP Priority Scheduler is derived from the Simple Priority3524 Scheduler but is capable of scheduling threads across multiple processors.3525 It is designed to provide the same task scheduling behaviour as the3526 Deterministic Priority Scheduler while distributing threads across multiple3527 processors. Being based upon the Simple Priority Scheduler, it also3528 maintains a single sorted list of all ready threads. Thus blocking or3529 unblocking a thread is not a constant time operation with this scheduler.3530 3531 In addition, when allocating threads to processors, the algorithm is not3532 constant time. This algorithm was not designed with efficiency as a primary3533 design goal. Its primary design goal was to provide an SMP-aware3534 scheduling algorithm that is simple to understand.3535 3536 In a configuration with SMP enabled at configure time, it may be explicitly3537 selected by defining ``CONFIGURE_SCHEDULER_SIMPLE_SMP``.3538 3539 NOTES:3540 This scheduler is only available when RTEMS is configured with SMP support3541 enabled.3542 3543 3403 .. index:: CONFIGURE_SCHEDULER_NAME 3544 3404 … … 3575 3435 NOTES: 3576 3436 None. 3437 3438 .. index:: CONFIGURE_SCHEDULER_PRIORITY 3439 3440 .. _CONFIGURE_SCHEDULER_PRIORITY: 3441 3442 CONFIGURE_SCHEDULER_PRIORITY 3443 ---------------------------- 3444 3445 CONSTANT: 3446 ``CONFIGURE_SCHEDULER_PRIORITY`` 3447 3448 DATA TYPE: 3449 Boolean feature macro. 3450 3451 RANGE: 3452 Defined or undefined. 3453 3454 DEFAULT VALUE: 3455 This is defined by default. This is the default scheduler and specifying 3456 this configuration parameter is redundant. 3457 3458 DESCRIPTION: 3459 The Deterministic Priority Scheduler is the default scheduler in RTEMS for 3460 uni-processor applications and is designed for predictable performance 3461 under the highest loads. It can block or unblock a thread in a constant 3462 amount of time. This scheduler requires a variable amount of memory based 3463 upon the number of priorities configured in the system. 3464 3465 NOTES: 3466 This scheduler may be explicitly selected by defining 3467 ``CONFIGURE_SCHEDULER_PRIORITY`` although this is equivalent to the default 3468 behavior. 3469 3470 .. index:: CONFIGURE_SCHEDULER_PRIORITY_SMP 3471 3472 .. _CONFIGURE_SCHEDULER_PRIORITY_SMP: 3473 3474 CONFIGURE_SCHEDULER_PRIORITY_SMP 3475 -------------------------------- 3476 3477 CONSTANT: 3478 ``CONFIGURE_SCHEDULER_PRIORITY_SMP`` 3479 3480 DATA TYPE: 3481 Boolean feature macro. 3482 3483 RANGE: 3484 Defined or undefined. 3485 3486 DEFAULT VALUE: 3487 This is not defined by default. 3488 3489 DESCRIPTION: 3490 The Deterministic Priority SMP Scheduler is derived from the Deterministic 3491 Priority Scheduler but is capable of scheduling threads across multiple 3492 processors. 3493 3494 In a configuration with SMP enabled at configure time, it may be explicitly 3495 selected by defining ``CONFIGURE_SCHEDULER_PRIORITY_SMP``. 3496 3497 NOTES: 3498 This scheduler is only available when RTEMS is configured with SMP support 3499 enabled. 3500 3501 This scheduler is currently the default in SMP configurations and is only 3502 selected when ``CONFIGURE_MAXIMUM_PROCESSORS`` is greater than one. 3503 3504 .. index:: CONFIGURE_SCHEDULER_SIMPLE 3505 3506 .. _CONFIGURE_SCHEDULER_SIMPLE: 3507 3508 CONFIGURE_SCHEDULER_SIMPLE 3509 -------------------------- 3510 3511 CONSTANT: 3512 ``CONFIGURE_SCHEDULER_SIMPLE`` 3513 3514 DATA TYPE: 3515 Boolean feature macro. 3516 3517 RANGE: 3518 Defined or undefined. 3519 3520 DEFAULT VALUE: 3521 This is not defined by default. 3522 3523 DESCRIPTION: 3524 When defined, the Simple Priority Scheduler is used at the thread 3525 scheduling algorithm. This is an alternative scheduler in RTEMS. It is 3526 designed to provide the same task scheduling behaviour as the Deterministic 3527 Priority Scheduler while being simpler in implementation and uses less 3528 memory for data management. It maintains a single sorted list of all ready 3529 threads. Thus blocking or unblocking a thread is not a constant time 3530 operation with this scheduler. 3531 3532 This scheduler may be explicitly selected by defining 3533 ``CONFIGURE_SCHEDULER_SIMPLE``. 3534 3535 NOTES: 3536 This scheduler is appropriate for use in small systems where RAM is limited. 3537 3538 .. index:: CONFIGURE_SCHEDULER_SIMPLE_SMP 3539 3540 .. _CONFIGURE_SCHEDULER_SIMPLE_SMP: 3541 3542 CONFIGURE_SCHEDULER_SIMPLE_SMP 3543 ------------------------------ 3544 3545 CONSTANT: 3546 ``CONFIGURE_SCHEDULER_SIMPLE_SMP`` 3547 3548 DATA TYPE: 3549 Boolean feature macro. 3550 3551 RANGE: 3552 Defined or undefined. 3553 3554 DEFAULT VALUE: 3555 This is not defined by default. 3556 3557 DESCRIPTION: 3558 The Simple SMP Priority Scheduler is derived from the Simple Priority 3559 Scheduler but is capable of scheduling threads across multiple processors. 3560 It is designed to provide the same task scheduling behaviour as the 3561 Deterministic Priority Scheduler while distributing threads across multiple 3562 processors. Being based upon the Simple Priority Scheduler, it also 3563 maintains a single sorted list of all ready threads. Thus blocking or 3564 unblocking a thread is not a constant time operation with this scheduler. 3565 3566 In addition, when allocating threads to processors, the algorithm is not 3567 constant time. This algorithm was not designed with efficiency as a primary 3568 design goal. Its primary design goal was to provide an SMP-aware 3569 scheduling algorithm that is simple to understand. 3570 3571 In a configuration with SMP enabled at configure time, it may be explicitly 3572 selected by defining ``CONFIGURE_SCHEDULER_SIMPLE_SMP``. 3573 3574 NOTES: 3575 This scheduler is only available when RTEMS is configured with SMP support 3576 enabled. 3577 3577 3578 3578 .. index:: CONFIGURE_SCHEDULER_USER
Note: See TracChangeset
for help on using the changeset viewer.