<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > VxWorks操作系統(tǒng)及實(shí)時(shí)多任務(wù)程序設(shè)計(jì)

          VxWorks操作系統(tǒng)及實(shí)時(shí)多任務(wù)程序設(shè)計(jì)

          作者: 時(shí)間:2012-03-27 來源:網(wǎng)絡(luò) 收藏
            系統(tǒng)概況

            本系統(tǒng)運(yùn)行于(MVME177)上,通過VME背板總線與各模件交換數(shù)據(jù)對(duì)各處理模件進(jìn)行控制并顯示信號(hào)處理結(jié)果。MVME177模件運(yùn)行于嵌入式下,人機(jī)交互界面基于X窗口系統(tǒng)。

            一、 嵌入式簡(jiǎn)介

            由于聲納系統(tǒng)在探測(cè)到某些目標(biāo)(如魚雷)后要迅速作出反應(yīng),所以要求控制及顯示系統(tǒng)必須是。實(shí)時(shí)操作系統(tǒng)要求能夠隨時(shí)打斷正在執(zhí)行的任務(wù), 對(duì)內(nèi)部和外部發(fā)生的事件在確定的時(shí)間內(nèi)作出響應(yīng)。本系統(tǒng)采用的 是由美國(guó)WindRiver開發(fā)的一種類UNIX的高性能嵌入式實(shí)時(shí)操作系統(tǒng)。它是目前世界上用戶數(shù)量最大的實(shí)時(shí)操作系統(tǒng),具有優(yōu)越的技術(shù)性能、豐富的應(yīng)用軟件支持、良好的技術(shù)服務(wù)和可靠的系統(tǒng)穩(wěn)定性。

            VxWorks的主要性能特點(diǎn)有:

             (1) 高度可剪裁的微內(nèi)核結(jié)構(gòu)。VxWorks所需要的存儲(chǔ)器空間大約為8KB~488KB(ROM)、620KB~29.3KB(RAM),具有極好的可伸縮性。
           ?。?) 高效的多任務(wù)調(diào)度。VxWorks 支持中斷驅(qū)動(dòng)的優(yōu)先級(jí)搶占式調(diào)度和時(shí)間片輪轉(zhuǎn)調(diào)度,并具有確定的、快速的上下文切換能力。
           ?。?) 靈活的任務(wù)間通信手段。支持信號(hào)燈、消息隊(duì)列、管道、信號(hào)和套接字等進(jìn)程間通信和互斥手段。
           ?。?) 支持諸如Ring buffer、Link list 等共享內(nèi)存技術(shù)。
            (5) 確定的μs級(jí)的中斷延遲時(shí)間。
            (6) 適用于多種物理介質(zhì)的TCP/IP協(xié)議族支持和幾乎所有常用的基于TCP/IP協(xié)議的應(yīng)用層協(xié)議。
           ?。?) 極其豐富的板級(jí)支持軟件包(BSP),支持多種處理器板。
            (8) 支持POSIX 1003.1b (實(shí)時(shí)擴(kuò)充)。
            (9) 快速、靈活的I/O系統(tǒng)。
           ?。?0) 支持MS DOS、RT 11和RAW等文件系統(tǒng)和網(wǎng)絡(luò)文件系統(tǒng)(NFS)。
            (11) 靈活的啟動(dòng)方法。支持從ROM、本地磁盤以及網(wǎng)絡(luò)啟動(dòng)。

            二、 VxWorks的一些技術(shù)特點(diǎn)

            VxWorks的特點(diǎn)主要在于嵌入式和實(shí)時(shí)性。由于嵌入式的特點(diǎn),系統(tǒng)內(nèi)核只有任務(wù)管理和簡(jiǎn)單的內(nèi)存管理,在此之上可以根據(jù)需要配置各種功能模塊,包括網(wǎng)絡(luò)管理、文件系統(tǒng)、虛擬存儲(chǔ)器等等。實(shí)時(shí)性則體現(xiàn)在實(shí)時(shí)調(diào)度算法和實(shí)時(shí)內(nèi)核(高效的進(jìn)程間通信、內(nèi)存管理等)。

            VxWorks支持POSIX標(biāo)準(zhǔn),所以POSIX的概念和接口以及一些策略都被支持。但為了提高系統(tǒng)性能,VxWorks另有一套接口及實(shí)現(xiàn)策略稱為wind內(nèi)核。下面的討論主要針對(duì)wind內(nèi)核。POSIX標(biāo)準(zhǔn)可以參見相關(guān)資料。

           ?。?) 任務(wù)在VxWorks中,最小的程序運(yùn)行單位稱為任務(wù)(task)。每個(gè)任務(wù)包含一段固定的代碼和數(shù)據(jù)空間。操作系統(tǒng)內(nèi)核通過任務(wù)控制塊(task control block)對(duì)它的執(zhí)行、通信、資源等情況進(jìn)行控制。任務(wù)具有就緒、阻塞、掛起和延遲等狀態(tài)。

            與Linux和 WindowsNT下的進(jìn)程不同的是:在VxWorks中,所有任務(wù)共同享有物理內(nèi)存,存在于統(tǒng)一的線性空間中。每個(gè)任務(wù)沒有自己獨(dú)立的代碼段和堆,只有獨(dú)立的動(dòng)態(tài)棧。任務(wù)中的地址即是真正的物理地址。由于不需要進(jìn)行地址空間映射,在任務(wù)切換時(shí)的上下文切換(context switch)時(shí)間大為減少,符合實(shí)時(shí)操作系統(tǒng)要求快速響應(yīng)的原則。從這個(gè)意義上來說,VxWorks的任務(wù)更接近Linux和WindowsNT下的線程(thread)。 VxWorks的代碼段與堆共享減少了上下文切換時(shí)間,卻帶來了共享代碼的可重入性(reentrancy)問題。如1個(gè)函數(shù)被2個(gè)任務(wù)所調(diào)用,當(dāng)其中包含對(duì)全局、靜態(tài)變量等從堆中分配空間的數(shù)據(jù)進(jìn)行訪問時(shí),就有可能產(chǎn)生沖突,從而引發(fā)錯(cuò)誤。在應(yīng)用軟件開發(fā)時(shí)要加以注意。解決方法是使用局部變量(從棧中分配空間)或使用信號(hào)燈對(duì)臨界代碼進(jìn)行監(jiān)控。

            (2) 任務(wù)調(diào)度 VxWorks有2種任務(wù)調(diào)度策略:優(yōu)先級(jí)搶先調(diào)度和時(shí)間片輪轉(zhuǎn)調(diào)度。這2種調(diào)度策略都是系統(tǒng)級(jí)的,與POSIX進(jìn)程級(jí)的調(diào)度策略不同,即整個(gè)系統(tǒng)里要么是優(yōu)先級(jí)搶先調(diào)度,要么是時(shí)間片輪轉(zhuǎn)調(diào)度;而POSIX標(biāo)準(zhǔn)下可以每個(gè)進(jìn)程使用自己的調(diào)度策略。系統(tǒng)共有256個(gè)優(yōu)先級(jí)。

            優(yōu)先級(jí)搶先調(diào)度指的是一個(gè)優(yōu)先級(jí)較低的任務(wù)正在執(zhí)行中,另一個(gè)優(yōu)先級(jí)高的任務(wù)進(jìn)入就緒狀態(tài),則馬上進(jìn)行處理器搶先,執(zhí)行高優(yōu)先級(jí)任務(wù),直到高優(yōu)先級(jí)釋放處理器(完成、掛起、阻塞等)才繼續(xù)執(zhí)行低優(yōu)先級(jí)任務(wù)。

            優(yōu)先級(jí)搶先調(diào)度可以保證實(shí)時(shí)系統(tǒng)的迅速響應(yīng)特性,但是也帶來1個(gè)問題:當(dāng)系統(tǒng)中存在幾個(gè)相同優(yōu)先級(jí)的任務(wù)時(shí),就會(huì)使單一任務(wù)獨(dú)占處理器,直至完成。為此加入了基于優(yōu)先級(jí)的時(shí)間片輪轉(zhuǎn)調(diào)度方式。在不同優(yōu)先級(jí)的任務(wù)間以搶先方式調(diào)度,相同優(yōu)先級(jí)的任務(wù)則以時(shí)間片進(jìn)行輪轉(zhuǎn)。

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();