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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 實(shí)時(shí)操作系統(tǒng)到Linux系統(tǒng)的移植

          實(shí)時(shí)操作系統(tǒng)到Linux系統(tǒng)的移植

          作者: 時(shí)間:2011-05-11 來源:網(wǎng)絡(luò) 收藏
          編程模型的內(nèi)部編譯的可靠性

          本文引用地址:http://www.ex-cimer.com/article/150768.htm

            作為一個(gè)unix兼容的操作代表著一個(gè)更加強(qiáng)大的應(yīng)用和編程模型。應(yīng)用程序執(zhí)行在他們受保護(hù)的地址空間,因?yàn)樗鼈冎g的地址相互是不可見的,并且它們通過硬件的MMU來預(yù)防覆蓋掉他們自己的代碼,MMU出現(xiàn)在多數(shù)現(xiàn)代化的32位64位的處理器中。

            當(dāng)他們共享內(nèi)核的虛擬地址空間時(shí),他們不能夠覆蓋內(nèi)核代碼或數(shù)據(jù)。既然進(jìn)程不能夠相互看到,他們就不能夠相互破壞數(shù)據(jù)或代碼

            API和庫(kù)

            在開源標(biāo)準(zhǔn)以前,RTOS的制作者定義了他們自己的調(diào)用或API,這對(duì)于每個(gè)RTOS的制作者來說都是獨(dú)一無二的。接口函數(shù)是為流行的編程語(yǔ)言而提供的,諸如c、c++,這使得API函數(shù)對(duì)于使用高級(jí)語(yǔ)言的程序員是合適的。

            在過去的十年中,盡管只有POSIX規(guī)范的一部分和嵌入式應(yīng)用程序相關(guān),大多數(shù)的RTOS制作者還是給標(biāo)準(zhǔn)的POSIX提供了兼容庫(kù)。很多客戶使用他們自己的API集使本地RTOS接口分層以獲得獨(dú)立性和便捷性,而不是想被鎖定成為一個(gè)私有的特殊版權(quán)的接口。

            開發(fā)人員使用標(biāo)準(zhǔn)的API建立應(yīng)用程序來獲得兩個(gè)另外的目的:允許代碼被成像Linux那樣的標(biāo)準(zhǔn)以及允許以后同樣的代碼在這樣的一個(gè)環(huán)境下比使用私有的API更加容易。

            很多包括標(biāo)準(zhǔn)調(diào)用的商業(yè)RTOS以POSIX或者BSD來設(shè)定,但是那些API經(jīng)常只存在于windows下。特別是一個(gè)內(nèi)核私有的API是最常被使用的,就是這些API鎖定了項(xiàng)目到一個(gè)特殊的平臺(tái)或者解決方案。

            如果開發(fā)人員正在標(biāo)準(zhǔn)的代碼或者考慮哪個(gè)API運(yùn)用到新的代碼中,那么理解在Linux和其他中使用的最普遍的標(biāo)準(zhǔn)是非常重要的。

            POSIX

            POSIX流行在基于UNIX的開源系統(tǒng)中、政府和軍事舞臺(tái)。然而POSIX對(duì)于傳統(tǒng)的嵌入式系統(tǒng)幾乎沒有影響。POSIX標(biāo)準(zhǔn)家族起源于美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所,現(xiàn)在有被歸入IEEE、IEEE1003和其他標(biāo)準(zhǔn)的預(yù)兆。在過去的十年中,POSIX經(jīng)歷了多次的修訂,最近的一次是在2000年。

            兼容性和一致性是兩個(gè)關(guān)于POSIX的重要觀點(diǎn)。兼容性意味著一個(gè)特定的平臺(tái)貫徹標(biāo)準(zhǔn)的一些子集,這種貫徹是備有文件證明的。甚至那些執(zhí)行微小子集的平臺(tái)能夠兼容于POSIX標(biāo)準(zhǔn)。POSIX的一致性,相反的,代表了更加嚴(yán)格的標(biāo)準(zhǔn),意味著一個(gè)操作系統(tǒng)服從于過去的已證明測(cè)試。

            SVR4,BSD和其他UNIX的API

            事實(shí)上SVR4和UNIX的BSD版本是流行的系統(tǒng)標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)對(duì)于Linux的影響是巨大的。Linux貫徹了那些UNIX API的大的子集(舉個(gè)例子,對(duì)于共享內(nèi)存、隊(duì)列、信號(hào)量、BSD套接口和TCP/IP堆的Linux的ipc系統(tǒng)調(diào)用)。

            熟悉SVR4、BSD,或者像AIX,HP-UX等其他通用的UNIX的開發(fā)人員對(duì)于Linux他們也能夠很快的掌握。

            c語(yǔ)言庫(kù)

            在嵌入式設(shè)計(jì)、RTOS或其他方面,很多API僅僅是標(biāo)準(zhǔn)c庫(kù),這些庫(kù)或者是直接執(zhí)行函數(shù)或者是作為系統(tǒng)調(diào)用的包裝。Linux有熟悉的libc/glibc,盡管尺寸很大,但易于理解。

            glibc的運(yùn)行時(shí)間是對(duì)嵌入式應(yīng)用程序內(nèi)存尺寸的挑戰(zhàn)。很多Linux的供應(yīng)商為對(duì)于尺寸敏感的應(yīng)用程序提供了經(jīng)過裁減了的庫(kù)。

            RTOS接口層

            RTOS的核心是對(duì)于進(jìn)程間通訊調(diào)用的使用,這種調(diào)用提供了在任務(wù)中同步和通訊的機(jī)制。

            表1提供了在典型的RTOS進(jìn)程間通訊調(diào)用和同等的Linux調(diào)用之間的映射總結(jié)。

            盡管在RTOS的調(diào)用和同等的Linux調(diào)用之間的映射是直接的,但是移植的工作量會(huì)被增加,如果使用仿真庫(kù),這種仿真庫(kù)為其他RTOS移植過來的Linux應(yīng)用程序提供了同樣的調(diào)用接口。

            對(duì)于Xenomai開源項(xiàng)目,這樣的一個(gè)仿真技術(shù)是適用的。而這里,不同的仿真層提供給POSIX、VxWorks、VRTX和Itron這些被廣泛使用的RTOS。注意,像很多開源項(xiàng)目,Xenomai和它的外殼是正在進(jìn)行的工作,他們可能還沒有完成或者還要進(jìn)行修改。不過,它代表了一個(gè)在移植過程中潛在的高價(jià)值的出發(fā)點(diǎn)。

            舉個(gè)例子,POSIX模塊主要是用來提供PSE51兼容的API.為了幫助移植其他PSE51兼容

            API的應(yīng)用程序,它包含了一些對(duì)于POSIX規(guī)范的擴(kuò)展。

            POSIX外殼已經(jīng)包含了以下這些基本的特色:

            線程

            互斥量

            信號(hào)量

            條件變量

            信號(hào)的支持

            放棄和放棄處理

            特殊線程數(shù)據(jù)

            消息隊(duì)列

            定時(shí)器支持

            共享內(nèi)存

            POSIX外殼創(chuàng)建實(shí)時(shí)線程,他們或是運(yùn)行在Linux內(nèi)核模塊或者在用戶空間的周期應(yīng)用程序中。

            實(shí)時(shí)內(nèi)核的API允許內(nèi)核和用戶空間的編程。開發(fā)人員通常更喜歡在用戶空間編程,因?yàn)樗麄冎g的延遲小,特別是在硬件上,MMU的切換開銷很小。目前為止在用戶空間編程比直接從內(nèi)核空間運(yùn)行應(yīng)用程序更為容易。在用戶空間編程帶來了內(nèi)存保護(hù)和在這個(gè)環(huán)境中調(diào)試實(shí)時(shí)應(yīng)用程序的GNU調(diào)試器的支持。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          電磁爐相關(guā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); })();