⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scheduler.cdl

📁 eCos1.31版
💻 CDL
字号:
# ====================================================================##      scheduler.cdl##      configuration data related to the kernel schedulers## ====================================================================#####COPYRIGHTBEGIN#####                                                                          # -------------------------------------------                              # The contents of this file are subject to the Red Hat eCos Public License # Version 1.1 (the "License"); you may not use this file except in         # compliance with the License.  You may obtain a copy of the License at    # http://www.redhat.com/                                                   #                                                                          # Software distributed under the License is distributed on an "AS IS"      # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the # License for the specific language governing rights and limitations under # the License.                                                             #                                                                          # The Original Code is eCos - Embedded Configurable Operating System,      # released September 30, 1998.                                             #                                                                          # The Initial Developer of the Original Code is Red Hat.                   # Portions created by Red Hat are                                          # Copyright (C) 1998, 1999, 2000 Red Hat, Inc.                             # All Rights Reserved.                                                     # -------------------------------------------                              #                                                                          #####COPYRIGHTEND##### ====================================================================######DESCRIPTIONBEGIN###### Author(s):      jskov# Original data:  nickg# Contributors:# Date:           1999-07-05######DESCRIPTIONEND###### ====================================================================cdl_interface CYGINT_KERNEL_SCHEDULER {    display  "Number of schedulers in this configuration"    requires 1 == CYGINT_KERNEL_SCHEDULER}# FIXME: The two below options must be mutually exclusivecdl_option CYGSEM_KERNEL_SCHED_MLQUEUE {    display       "Multi-level queue scheduler"    default_value 1    implements    CYGINT_KERNEL_SCHEDULER    description   "        The multi-level queue scheduler supports multiple priority        levels and multiple threads at each priority level.        Preemption between priority levels is automatic. Timeslicing        within a given priority level is controlled by a separate        configuration option."}cdl_option CYGSEM_KERNEL_SCHED_BITMAP {    display       "Bitmap scheduler"    default_value 0    implements    CYGINT_KERNEL_SCHEDULER    description   "        The bitmap scheduler supports multiple priority levels but        only one thread can exist at each priority level. This means        that scheduling decisions are very simple and hence the        scheduler is efficient. Preemption between priority levels is        automatic. Timeslicing within a given priority level is        irrelevant since there can be only one thread at each        priority level."}#cdl_option CYGSEM_KERNEL_SCHED_LOTTERY {#    display      "Lottery scheduler"#    type          radio#    description "#       This scheduler is not yet available."#}cdl_option CYGPRI_KERNEL_SCHED_IMPL_HXX {    display       "Scheduler header file"    flavor        data    description   "	This option sets a preprocessor symbol which names the header	file for the selected scheduler.  It is used internally by the	common scheduler code to include the correct header file."    calculated { \               CYGSEM_KERNEL_SCHED_BITMAP  ? "<cyg/kernel/bitmap.hxx>"  :\               CYGSEM_KERNEL_SCHED_MLQUEUE ? "<cyg/kernel/mlqueue.hxx>" :\               CYGSEM_KERNEL_SCHED_LOTTERY ? "<cyg/kernel/lottery.hxx>" :\               "!!!-- Configuration broken - no scheduler selected --!!!"}}# NOTE: This option only makes sense if the current scheduler#       supports multiple priority levels.cdl_component CYGNUM_KERNEL_SCHED_PRIORITIES {    display       "Number of priority levels"    flavor        data    legal_values  1 to 32    default_value 32    #active_if     CYGINT_KERNEL_SCHED_PRIORITY_SCHEDULER    description "        This option controls the number of priority levels that are        available. For some types of scheduler including the bitmap        scheduler this may impose an upper bound on the number of        threads in the system. For other schedulers such as the        mlqueue scheduler the number of threads is independent from        the number of priority levels. Note that the lowest priority        level is normally used only by the idle thread, although        application threads can run at this priority if necessary."    cdl_option CYGNUM_KERNEL_SCHED_BITMAP_SIZE {        display       "Bitmap size"        flavor        data        calculated    {"CYGNUM_KERNEL_SCHED_PRIORITIES"}	description   "		This option automatically defines the size of bitmap		used to track occupied priority levels."    }}# NOTE: this option only makes sense for some of the schedulers.# Timeslicing is irrelevant for bitmap schedulers.cdl_component CYGSEM_KERNEL_SCHED_TIMESLICE {    display       "Scheduler timeslicing"    requires      !CYGSEM_KERNEL_SCHED_BITMAP    requires      CYGVAR_KERNEL_COUNTERS_CLOCK    default_value 1    description "        Some schedulers including the mlqueue scheduler support        timeslicing. This means that the kernel will check regularly        whether or not there is another runnable thread with the        same priority, and if there is such a thread there will be        an automatic context switch. Not all applications require        timeslicing, for example because every thread performs a        blocking operation regularly. For these applications it is        possible to disable timeslicing, which reduces the overheads        associated with timer interrupts."    cdl_option CYGNUM_KERNEL_SCHED_TIMESLICE_TICKS {        display       "Number of clock ticks between timeslices"        flavor        data        legal_values  1 to 65535        default_value 5        description "            Assuming timeslicing is enabled, how frequently should it            take place? The value of this option corresponds to the            number of clock ticks that should occur before a timeslice            takes place, so increasing the value reduces the frequency            of timeslices."    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -