亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ctask.doc

?? 一個多任務操作系統CTask的源代碼 用C語言編寫
?? DOC
?? 第 1 頁 / 共 5 頁
字號:
             the malloc/free run-time routines. This option has no effect
             if TSK_DYNAMIC is FALSE. The default is TRUE.

             This option is normally enabled (TRUE).

        TSK_NAMEPAR
             If TRUE, all create_xxx calls accept an additional
             parameter, the name of the created control block. This name
             should contain only printeable characters, and should not be
             longer than 8 characters plus the zero terminator. This
             option is used together with TSK_NAMED (see below).

             This option is normally enabled (TRUE).
             It must be enabled for DOS.


        
        
        Ctask Manual       - Version 2.2 - 90-10-12 -             Page 17


        TSK_NAMED
             If TRUE, all control blocks (except timer control blocks)
             are named and linked on creation. This allows the snapshot
             dump routine to display the system state, and also allows
             linking to control blocks from secondary kernels.
             TSK_NAMEPAR must be defined for this option to work. Since
             it may be desirable to switch off the handling of the names
             after the debugging phase, without having to change all
             create_xxx calls to omit the name parameter, the name
             parameter is ignored if TSK_NAMED is undefined, but
             TSK_NAMEPAR is defined.

             This option is normally enabled (TRUE).
             It must be enabled for DOS.

        GROUPS
             If enabled, task groups, i.e. multiple invocations of CTask,
             are supported.

             This option is normally enabled (TRUE).
             It must be enabled for DOS.

        CLOCK_MSEC
             If TRUE, all timeouts are specified in milliseconds instead
             of timer ticks. This allows programming of delays and
             timeouts independent of the speedup-parameter or the system
             tick rate.

             This option is normally disabled (FALSE).

        PRI_TIMER
             Specifies the priority of the timer task. Normally the timer
             task should have a higher priority than any other task in
             the system.

             The value is normally 0xf000.

        PRI_STD
             This value may be used in your programs as the standard
             priority of user tasks. Its value is arbitrary. It is not
             used in the kernel except for the definition of PRI_INT9
             (see below).

             The value is normally 100 (decimal).









        
        
        Ctask Manual       - Version 2.2 - 90-10-12 -             Page 18


        PRI_INT8
             Determines the priority of the "int8"-task. This task chains
             to the previous interrupt vector for the sytem timer tick,
             and thus may activate resident TSR's. Since TSR's normally
             use polling when accessing the keyboard and other devices,
             the priority of the int8-task should be equal to or lower
             than normal user-defined tasks to allow your program to con-
             tinue to run while the TSR is active. You can tune this
             value so that some tasks are blocked by the TSR to avoid
             trashing the screen.

             The value is normally  PRI_STD.

        AT_BIOS
             If enabled, the AT BIOS wait/post handler is installed. May
             be disabled when compatibility problems arise. You can also
             disable installation of this handler with an install flag in
             the install_tasker call, but using the configuration flag
             will save some code. Embedded systems likely will use FALSE.

             This option is normally enabled (TRUE).

        INT8_EARLY
             If TRUE, the timer interrupt always uses early INT8 proces-
             sing, regardless of the IFL_INT8_EARLY installation flag.
             Setting this flag saves some code and data, but eliminates
             some flexibility. Under DOS, timer ticks can be missed under
             certain circumstances when set, so DOS based configurations
             always should use FALSE. The installation flag has a
             slightly different effect, and may be used under DOS with no
             adverse effects. Embedded systems likely will always use
             TRUE.

             This option is normally disabled (FALSE).

        INT8_LATE
             If TRUE, the timer interrupt always uses late INT8 proces-
             sing, regardless of the IFL_INT8_EARLY installation flag.
             Setting this flag saves some code, but eliminates some
             flexibility. Embedded systems likely will always use FALSE.

             This option is normally disabled (FALSE).

        IBM
        DOS
             Both IBM and DOS are more or less of informative value only,
             to point out those areas in the kernel that need attention
             when converting to non-IBM or non-DOS environments.
             Disabling one or both of this options requires the
             substitution of your own routines for installation, timer,
             and keyboard handling.

             Both options must normally be enabled (TRUE).
        
        
        Ctask Manual       - Version 2.2 - 90-10-12 -             Page 19


        SINGLE_DATA
             If enabled, only a single global data block is used. This
             speeds up processing, but prohibits linkage of multiple
             groups. Useful for dedicated systems, and also if your
             program is known to never interact with another copy of
             CTask. Should be left FALSE if you're not so sure, must be
             FALSE if GROUPS is enabled. The current version of the DOS
             handler requires GROUPS to be used, so it should only be
             TRUE for embedded systems.

             This option is normally disabled (FALSE).

        EMS
             If TRUE, EMS support is included. For DOS applications using
             spawn or going TSR, this should always be TRUE, unless it is
             known that the program will never be executed in an EMS
             environment. It must also be TRUE for programs using EMS.

             This option is normally enabled (TRUE).

        EMS_SAVE_SIZE
             Size of the EMS page info save area. For LIM 4.0 drivers,
             only four pages are saved, so 16 bytes should be sufficient.
             If the partial page map function is not available in the
             driver, more space may be required for holding the full page
             map.

             The value is normally 16.

        NDP
             If TRUE, 80x87 support is included. If this option is
             enabled, and no coprocessor is present, the machine can hang
             if the BIOS equipment configuration is set incorrectly.
             NOTE: Coprocessor support is not yet tested. Please report
             your experiences with this option.

             This option is normally disabled (FALSE).

        HOTKEYS
             If TRUE, keyboard hotkey support is included. Embedded
             systems likely will not use hotkeys, and may set this to
             FALSE.

             This option is normally enabled (TRUE).


        CHECKING
             Enables pointer and stack checks when TRUE. Checking
             pointers and task stacks slows down the system, but it is
             highly recommended to enable this option during development.
             Only turn off checking after debugging is complete.

             This option is normally disabled (FALSE).
        
        
        Ctask Manual       - Version 2.2 - 90-10-12 -             Page 20


                                Memory Allocation

        TSKALLOC.C is needed if TSK_DYNAMIC is enabled in tskconf.h to
        handle the allocation and free calls. If you want to use dynamic
        allocation in your own tasks, you should also use the functions
        tsk_alloc and tsk_free to avoid the reentrancy problems mentioned
        in the introduction. If you should need other forms of alloc
        (like calloc) the recommended way is to add those functions to
        TSKALLOC.C, requesting the resource alloc_resource before calling
        the C memory-allocation function.

        Joe Urso provided the following tip on how to force all memory
        allocation to pass through the resource handling functions:

        "I have found that some MS Library functions call the allocate
        and free library functions, namely the first call to fread(),
        fopen(), and fclose().

        To fix this situation I have

           - extracted FMALLOC from the llibce library,

           - renamed the functions within that object (via the Norton
             Utilities) to the upper case spelling of the functions
             (FREE, MALLOC, _FFREE and _FMALLOC) and replaced the file in
             the lib. I also did the same for object EXPAND because of
             the function REALLOC.

           - then modified TSKALLOC.C to contain the lower case spelling
             of malloc, free, and expand. These functions aquire the
             alloc resource, then call the upper case spelling of the
             name.

        At link time I now link with /NOIGNORECASE and /NODEFAULTLIB."

        An option is provided in tskalloc.c to compile the module with
        the modifications suggested by Joe Urso.


                                     Snapshot

        TSKSNAP.C is only needed if you want to include the snapshot dump
        into your program. Note that you can *not* use snapshot if you
        disable TSK_NAMED in tskconf.h.









        
        
        Ctask Manual       - Version 2.2 - 90-10-12 -             Page 21


                                   Task Stacks

        When compiling your application, turn stack checking off. The
        standard stack check is of little use with task stacks, and may
        interfere with CTask's operation. The stack area for tasks should
        be allocated on the main program's stack, not in the static or
        heap data space. The reason for this is that some of the C
        library routines check for stack overflow regardless of your
        compile-time switches, and will crash your application if you use
        stacks outside the normal stack. The stack allocation parameter
        with LINK (MS-C), or the _stacksize variable (Turbo C) have to be
        increased to reflect the additional stack space. When calculating
        task stack sizes, keep in mind that library routines (esp.
        printf) allocate a lot of space on the stack for temporary
        variables. A minimum of 1k for tasks using library routines is
        recommended, 2k puts you on the safe side. Tasks not using C
        library routines may use a smaller stack, about 256 bytes at a
        minimum, plus space for any local variables and nested routines.
        Then add up all task stacks, and add space for the main task (the
        function calling install_tasker), with this size also dependent
        on what you will do in the main task while CTask is active.
        Stacks for tasks that do not use C library routines may be
        allocated anywhere.

        If you have the CHECKING option enabled, the snapshot dump will
        output the number of unused bytes of stack for each task. This
        can help you determine the optimum stack size for your
        application.


                                     Drivers

        The keyboard and DOS handlers are always installed with CTask.
        Using the serial I/O and printer drivers is optional, so you have
        to 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久99| 午夜电影一区二区三区| 亚洲成a人v欧美综合天堂| 麻豆成人久久精品二区三区红 | 亚洲欧美另类小说| 玖玖九九国产精品| 欧美午夜不卡在线观看免费| 国产精品人成在线观看免费| 免费亚洲电影在线| 欧美日韩国产在线观看| 最新国产精品久久精品| 国产成人小视频| 精品久久久久久无| 日日骚欧美日韩| 欧美性色aⅴ视频一区日韩精品| 国产精品福利一区| 国产福利一区二区三区视频在线 | 亚洲欧美一区二区三区国产精品| 国产真实精品久久二三区| 91麻豆精品国产91久久久久久久久| 亚洲人成精品久久久久| 成人亚洲精品久久久久软件| 26uuu亚洲婷婷狠狠天堂| 日日骚欧美日韩| 欧美美女黄视频| 综合激情成人伊人| av一区二区不卡| 国产精品成人网| 国产成人亚洲综合a∨猫咪| 久久午夜羞羞影院免费观看| 六月丁香综合在线视频| 日韩女优毛片在线| 精久久久久久久久久久| 精品国内二区三区| 国产精品一区免费在线观看| 日韩一二在线观看| 久久电影网站中文字幕| 精品久久一区二区三区| 国产高清在线观看免费不卡| 国产午夜亚洲精品午夜鲁丝片| 国产98色在线|日韩| 欧美激情一区二区三区在线| 99国产精品99久久久久久| 亚洲精品第1页| 欧美va日韩va| 国产精品三级电影| 亚洲精品视频在线看| 色婷婷综合中文久久一本| 国产精品二三区| 欧美制服丝袜第一页| 午夜精品免费在线| 精品成人在线观看| 国产a精品视频| 亚洲一二三专区| 日韩一区二区三区免费看| 国产成人午夜片在线观看高清观看| 国产精品久久久久永久免费观看 | 亚洲人成亚洲人成在线观看图片| 色综合中文字幕国产| 亚洲六月丁香色婷婷综合久久 | 国产亚洲精品aa午夜观看| 播五月开心婷婷综合| 亚洲午夜视频在线观看| 欧美成人免费网站| 色屁屁一区二区| 久久国产成人午夜av影院| 国产精品二三区| 日韩欧美视频一区| 91看片淫黄大片一级在线观看| 男女性色大片免费观看一区二区 | 久久久久久久久久看片| 日本道色综合久久| 国产一区二区美女| 天堂成人国产精品一区| 中文字幕不卡在线播放| 在线电影一区二区三区| 白白色亚洲国产精品| 免费久久精品视频| 一区二区三区在线观看国产 | 国产91丝袜在线播放九色| 亚洲国产aⅴ成人精品无吗| 亚洲国产精品激情在线观看| 91精品在线观看入口| 一本色道久久加勒比精品| 国内欧美视频一区二区| 亚洲777理论| 亚洲色图视频网| 国产亚洲欧美日韩在线一区| 日韩一区二区三区精品视频| 色欧美日韩亚洲| 高清不卡一区二区| 久久激情综合网| 爽好多水快深点欧美视频| 亚洲欧美日本韩国| 中文字幕精品综合| 国产亚洲精品aa午夜观看| 欧美大胆一级视频| 7777精品伊人久久久大香线蕉超级流畅 | 精品88久久久久88久久久 | 色综合久久中文综合久久牛| 久久99深爱久久99精品| 亚洲国产乱码最新视频| 怡红院av一区二区三区| 国产精品国产三级国产| 国产精品色在线观看| 2024国产精品视频| 欧美白人最猛性xxxxx69交| 日韩一区和二区| 欧美一区二区三区在线观看视频| 欧美午夜理伦三级在线观看| 欧洲一区在线电影| 色欧美日韩亚洲| 在线观看国产日韩| 欧美日韩精品一区二区在线播放| 色呦呦一区二区三区| 色偷偷88欧美精品久久久| 在线观看视频91| 色94色欧美sute亚洲13| 在线亚洲免费视频| 欧美日韩精品系列| 日韩一区二区三区电影在线观看 | 亚洲免费av观看| 一区二区三区国产精华| 亚洲图片自拍偷拍| 日韩电影在线观看电影| 美女视频一区二区三区| 国产在线观看免费一区| 国产成a人亚洲精| 91麻豆精品在线观看| 在线观看av不卡| 91精品国产乱码| 久久久久久久久久久久久女国产乱| 国产亚洲一二三区| 亚洲另类春色国产| 免费观看日韩电影| 国产69精品一区二区亚洲孕妇| 99热这里都是精品| 欧美三级午夜理伦三级中视频| 4438成人网| 国产亚洲午夜高清国产拍精品 | 日本高清不卡视频| 7777精品伊人久久久大香线蕉的 | 欧美成人一级视频| 中文字幕 久热精品 视频在线| 亚洲裸体xxx| 日韩精品高清不卡| 国产一区二区伦理| 欧美三区免费完整视频在线观看| 日韩免费在线观看| 一区免费观看视频| 美女视频免费一区| 一本色道久久综合精品竹菊| 欧美成人一区二区三区片免费| 国产精品久久久久影院老司| 亚洲成人午夜影院| 懂色av一区二区三区免费看| 欧美羞羞免费网站| 久久精品视频在线免费观看| 亚洲综合成人在线视频| 国产中文字幕精品| 欧美人体做爰大胆视频| 国产精品免费丝袜| 日本亚洲视频在线| 一本一本大道香蕉久在线精品| 欧美成人激情免费网| 亚洲综合无码一区二区| 国产成人免费视| 欧美一区二区视频在线观看2020 | 国产精品久久久久四虎| 日本欧美一区二区三区乱码 | 337p日本欧洲亚洲大胆精品| 亚洲精品少妇30p| 国产精品91xxx| 日韩精品中午字幕| 亚洲午夜免费福利视频| av中文字幕不卡| 久久综合中文字幕| 欧美a级一区二区| 欧美日韩不卡一区二区| 一区二区国产视频| 99久久婷婷国产综合精品电影 | 成人av资源站| 欧美日韩综合不卡| 欧美日本在线观看| 中文字幕日韩一区二区| 黄一区二区三区| 在线成人av影院| 亚洲成人先锋电影| 欧洲精品一区二区三区在线观看| 国产精品午夜久久| 国产suv一区二区三区88区| 欧美成人bangbros| 久久电影网电视剧免费观看| 91精品国产一区二区三区香蕉| 亚洲一区成人在线| 欧美伊人精品成人久久综合97| 亚洲欧美偷拍卡通变态| 99国产欧美久久久精品| 国产毛片精品国产一区二区三区| 精品国产sm最大网站|