<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • setjmp構建簡單協(xié)作式多任務系統(tǒng)

    時間:2024-08-30 16:35:24 理工畢業(yè)論文 我要投稿
    • 相關推薦

    setjmp構建簡單協(xié)作式多任務系統(tǒng)

    摘要:討論一個利用標準C語言setjmp庫函烽實現(xiàn)查詢式協(xié)作多任務系統(tǒng),給出完整的內(nèi)核和樣例程序并對源代碼進行說明。該系統(tǒng)具有簡單易用的特點,只需要編寫存取堆棧指針的宏就可方便地移植到新的平臺上。文章詳述了系統(tǒng)的優(yōu)缺點,討論一些性能擴展的方法。該內(nèi)核適用于中小規(guī)模的嵌入式軟件。

    引言

    本文介紹的是利用標準C語言setjmp庫函數(shù)實現(xiàn)的具備此特點的協(xié)作式多任務系統(tǒng)。從本質(zhì)上講,實時多任務操作系統(tǒng)應該具備按照優(yōu)先級搶占調(diào)度的內(nèi)核。然而,在實際應用中,搶中式的多任務某種程序上帶來了用戶程序設計時數(shù)據(jù)保護的困難,并且,具備搶占功能的多任務內(nèi)核設計時困難也比較多,這會增加操作系統(tǒng)自身的代碼,也使它在小資源單片機系統(tǒng)中應用較少;而協(xié)作多任務系統(tǒng)的調(diào)度只在用戶指定的時機發(fā)生,這會大大簡化內(nèi)核和用戶系統(tǒng)的設計,尤其本文實現(xiàn)的系統(tǒng)通過條件查詢來放棄CPU,既符合傳統(tǒng)單片機程序設計的思維,又帶來了多任務、模塊化、可重入的編程便利。

    Setjmp是標準C語言庫函數(shù)的組成部分,它可以實現(xiàn)程序執(zhí)行中的遠程轉(zhuǎn)操作。具體來說,它可以在一個函數(shù)中使用setjmp來初始化一個全局標號,然后只要該函數(shù)未曾返回,那么在其它任何地方都可以通過longjmp調(diào)用來跳轉(zhuǎn)到setjmp的下一條語句執(zhí)行。實際上,setjmp函數(shù)將發(fā)生調(diào)用處的局部環(huán)境保存在一個jmp_buf的結構當中,只要主調(diào)函數(shù)中對應的內(nèi)存未曾釋放(函數(shù)返回時局部內(nèi)存就失效了),那么在調(diào)用longjmp的時候就可以根據(jù)已保存的jmp_buf參數(shù)恢復到setjmp的地方執(zhí)行。我們的系統(tǒng)中就是分析了setjmp標準庫函數(shù)的特點,以簡單的方式實現(xiàn)了協(xié)作式多任務。

    1 演示程序

    為了便于理解,首先給出多任務演示程序的源代碼。這個程序演示了協(xié)作式多任務切換、任務的動態(tài)生成、多任務共用代碼等功能,一共使用了init_coos初始化根任務(也就是C語言main函數(shù))、creat_task創(chuàng)建新任務和WAITFOR查詢條件這3個基本的系統(tǒng)調(diào)用。由于面向嵌入式系統(tǒng),因而程序不會中止并且運行中也沒有進行任何輸出,需要借助適合的調(diào)試工具來理解多任務系統(tǒng)的運行。

    example.c文件清單:

    #include

    【setjmp構建簡單協(xié)作式多任務系統(tǒng)】相關文章:

    基于VxWorks的多DSP系統(tǒng)的多任務程序設計03-18

    單片機系統(tǒng)中的多任務多線程機制的實現(xiàn)03-18

    手術排程系統(tǒng)的構建與實踐05-09

    電力營銷管理系統(tǒng)的構建內(nèi)涵11-29

    計算機通信系統(tǒng)的構建論文11-16

    廢舊鋼鐵回收物流系統(tǒng)構建研究11-26

    基于MSP430單片機的實時多任務操作系統(tǒng)03-18

    構建有效的銀行內(nèi)控系統(tǒng)03-18

    顧客投訴行為管理及其系統(tǒng)構建12-07

    談飯店業(yè)人際傳播系統(tǒng)的構建03-22

    主站蜘蛛池模板: 精品国产热久久久福利| 人妻少妇精品无码专区动漫| 久久99国产精品99久久| 四虎精品免费永久在线| 国产精品免费观看| 热久久这里只有精品| 国内精品久久久久久99蜜桃| 精品国产污污免费网站入口| 凹凸69堂国产成人精品视频| 亚洲第一区精品观看| 99精品国产成人一区二区| 久久精品无码专区免费东京热| 国产午夜精品理论片免费观看| 国产精品亚洲а∨无码播放| 色偷偷88欧美精品久久久| 99免费精品国产| 国产精品久久久久久搜索| 久久久久人妻精品一区 | 精品国产三级a乌鸦在线观看| 国产高清国产精品国产专区| 亚洲国产精品无码AAA片| 日韩精品毛片| 久草热8精品视频在线观看| 99热精品毛片全部国产无缓冲| 国产精品视频网| 国产精品免费精品自在线观看| 精品调教CHINESEGAY| 久久99精品久久只有精品| 亚洲第一极品精品无码久久 | 国产精品日韩深夜福利久久| 久久精品国产秦先生| 九九热这里只有在线精品视| 成人精品视频99在线观看免费| 精品一区二区三区自拍图片区| 久久99久久99精品免视看动漫| 少妇人妻无码精品视频| 亚洲精品国产精品乱码在线观看| 亚洲国产精品成人| 亚洲精品无码专区在线在线播放| 亚洲精品无码av人在线观看| 亚洲精品乱码久久久久久按摩|