精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

增量式軟件現(xiàn)代化可最大限度地降低風(fēng)險(xiǎn),降低成本

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:DR. KEVIN NILSEN ? 2022-11-08 10:59 ? 次閱讀

實(shí)際上,軟件現(xiàn)代化包括用更好的替換壞的漸進(jìn)過程。選擇專注于軟件可移植性而不是條件編譯是現(xiàn)代化不可或缺的一部分。

考慮與部署平臺現(xiàn)代化相關(guān)的工作。假設(shè)最初在Windows上使用C++語言開發(fā)的應(yīng)用程序現(xiàn)在需要集成到運(yùn)行專有操作系統(tǒng)ARM處理器的現(xiàn)代智能手機(jī)中。移植活動(dòng)需要標(biāo)識并替換 Microsoft 基礎(chǔ)類上的所有依賴項(xiàng)。它還必須分析和解決對Microsoft編譯器和Microsoft Windows實(shí)現(xiàn)的底層線程調(diào)度模型的所有依賴關(guān)系。雖然其中一些移植問題是由手機(jī)供應(yīng)商的編譯器和鏈接器輸出的診斷消息識別的,但 Microsoft 和智能手機(jī)編譯器的代碼生成方法之間的細(xì)微差異只能通過對各自技術(shù)進(jìn)行廣泛的測試和/或仔細(xì)審查和分析來檢測。同樣,Microsoft 和智能手機(jī)操作系統(tǒng)對線程調(diào)度隊(duì)列、互斥鎖和優(yōu)先級反轉(zhuǎn)避免策略的處理之間的差異必須取決于對各自操作系統(tǒng)和應(yīng)用程序源代碼以及任何可用應(yīng)用程序設(shè)計(jì)文檔的廣泛測試和/或仔細(xì)審查和分析。

請注意,通過獨(dú)立開發(fā)的可重用軟件組件的模塊化組合來構(gòu)建新應(yīng)用程序的能力取決于這些組件的可移植性。因此,實(shí)現(xiàn)軟件可移植性對于開發(fā)新系統(tǒng)和維護(hù)現(xiàn)有系統(tǒng)至關(guān)重要。

條件編譯增加了復(fù)雜性

對于典型的C++移植工作,必須更改以支持新平臺的代碼量相對較小,通常不到總代碼的 10%。找出必須更改的 10% 的線路是任何移植工作的最大障礙之一。隨著各種移植障礙的識別和解決,盡職盡責(zé)的軟件工程師通過插入有條件編譯的代碼塊并創(chuàng)建文檔來幫助闡明將此代碼移植到另一個(gè)平臺(如 Linux、INTEGRITY 或 VxWorks)可能需要的額外工作,從而使應(yīng)用程序現(xiàn)代化。當(dāng)然,不能保證從Windows到智能手機(jī)的端口可以識別到另一個(gè)操作系統(tǒng)或處理器的后續(xù)端口可能出現(xiàn)的所有問題。但是,從第一個(gè)端口中吸取的經(jīng)驗(yàn)教訓(xùn)為其他端口提供了寶貴的指導(dǎo)。

軟件現(xiàn)代化的一個(gè)相互沖突的目標(biāo)是減少糾正錯(cuò)誤、解決性能缺陷或隨著系統(tǒng)需求的發(fā)展添加增量新功能所需的工作量。通過插入條件編譯指令和每個(gè)新端口要考慮的問題的文檔列表來使應(yīng)用程序變得可移植,這很難發(fā)展。如果對原始應(yīng)用程序的更改影響有條件編譯的代碼,則必須將更改傳播到表示對每個(gè)相關(guān)平臺的支持的所有有條件編譯的代碼塊中。此外,每個(gè)增量更改都必須使用合法條件編譯選項(xiàng)的每個(gè)組合進(jìn)行測試。這大大增加了與常見軟件維護(hù)活動(dòng)相關(guān)的工作量。

可移植語言避免條件編譯

使用條件編譯指令的一種流行的替代方法是使用更可移植的編程語言實(shí)現(xiàn)軟件。Java通常是首選,許多人使用短語“軟件現(xiàn)代化”來描述將Ada,C或C++軟件遷移到Java語言的過程。Java,包括某些實(shí)時(shí)版本的Java,解決了Java運(yùn)行時(shí)環(huán)境(所謂的虛擬機(jī))本身的可移植性問題,而不是要求應(yīng)用程序中的條件編譯指令。Java 語言甚至提供了用于解決多處理問題的特殊控制結(jié)構(gòu),包括用于識別互斥代碼區(qū)域的語法以及各個(gè)處理器緩存之間的一致性。通過抽象這些可移植性注意事項(xiàng),Java 語言在典型的軟件維護(hù)活動(dòng)中節(jié)省了大量成本。一個(gè)開發(fā)團(tuán)隊(duì)報(bào)告說,與 C 語言相比,在一個(gè)項(xiàng)目中節(jié)省了 20 倍的成本,該項(xiàng)目包括組裝獨(dú)立開發(fā)的現(xiàn)成軟件組件以部署到新的嵌入式平臺上。

在一次整體式工作中將整個(gè)遺留應(yīng)用程序重寫為 Java 語言在經(jīng)濟(jì)上很少可行。當(dāng)今的典型應(yīng)用程序由數(shù)十萬或數(shù)百萬行代碼組成;因此,以增量步驟對舊版應(yīng)用程序進(jìn)行現(xiàn)代化改造更為常見。隨著每個(gè)功能的添加,新功能都在Java中實(shí)現(xiàn),并固定在現(xiàn)有的遺留系統(tǒng)上。如果維護(hù)活動(dòng)顯示遺留應(yīng)用程序的特定方面難以移植或發(fā)展,則應(yīng)用程序的一部分將替換為更現(xiàn)代的 Java 實(shí)現(xiàn)。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 智能手機(jī)
    +關(guān)注

    關(guān)注

    66

    文章

    18431

    瀏覽量

    179862
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6739

    瀏覽量

    123190
收藏 人收藏

    評論

    相關(guān)推薦

    中國AI企業(yè)創(chuàng)新降低成本打造競爭力模型

    在中國,面對美國實(shí)施的芯片限制以及相較于西方企業(yè)更為有限的預(yù)算,人工智能(AI)公司正積極尋求降低成本的方法,以開發(fā)出具有市場競爭力的模型。初創(chuàng)公司如01.ai(零一萬物)和DeepSeek(深度求索)等,通過聚焦小數(shù)據(jù)集進(jìn)行AI模型訓(xùn)練,并聘請價(jià)格適中但技術(shù)熟練的計(jì)算機(jī)工程師,成功
    的頭像 發(fā)表于 10-22 14:56 ?348次閱讀

    最大限度地提高M(jìn)SP430? FRAM的寫入速度

    電子發(fā)燒友網(wǎng)站提供《最大限度地提高M(jìn)SP430? FRAM的寫入速度.pdf》資料免費(fèi)下載
    發(fā)表于 10-18 10:09 ?0次下載
    <b class='flag-5'>最大限度</b>地提高M(jìn)SP430? FRAM的寫入速度

    在飽和狀態(tài)下運(yùn)行UCC2888x離線降壓以降低成本

    電子發(fā)燒友網(wǎng)站提供《在飽和狀態(tài)下運(yùn)行UCC2888x離線降壓以降低成本.pdf》資料免費(fèi)下載
    發(fā)表于 10-14 09:47 ?0次下載
    在飽和狀態(tài)下運(yùn)行UCC2888x離線降壓以<b class='flag-5'>降低成本</b>

    降低成本城域網(wǎng)

    電子發(fā)燒友網(wǎng)站提供《降低成本城域網(wǎng).pdf》資料免費(fèi)下載
    發(fā)表于 10-12 11:46 ?0次下載
    <b class='flag-5'>降低成本</b>城域網(wǎng)

    CC2340系統(tǒng)降低成本的方案剖析

    電子發(fā)燒友網(wǎng)站提供《CC2340系統(tǒng)降低成本的方案剖析.pdf》資料免費(fèi)下載
    發(fā)表于 08-27 09:43 ?0次下載
    CC2340系統(tǒng)<b class='flag-5'>降低成本</b>的方案剖析

    低電容探頭最大限度降低對電路操作的影響

    本應(yīng)用指南介紹了泰克高帶寬、低電容無源電壓探頭怎樣降低示波器用戶的總擁有成本、改善性能和測量精度、節(jié)省用戶設(shè)置時(shí)間。大多數(shù)示波器標(biāo)配的無源電壓探頭都提供了低成本通用探測解決方案。一般來說,這些探頭
    的頭像 發(fā)表于 08-19 10:49 ?217次閱讀
    低電容探頭<b class='flag-5'>最大限度</b>地<b class='flag-5'>降低</b>對電路操作的影響

    600ma線性鋰電池充電方案 兼容CL4054/LP4054/BCC4054 降低成本

    600ma線性鋰電池充電方案 兼容CL4054/LP4054/BCC4054 降低成本
    的頭像 發(fā)表于 06-18 11:05 ?667次閱讀
    600ma線性鋰電池充電方案 兼容CL4054/LP4054/BCC4054 <b class='flag-5'>降低成本</b>

    工業(yè)觸摸顯示屏在提升生產(chǎn)效率、降低成本等方面具有顯著優(yōu)勢

     工業(yè)觸摸顯示屏在提升生產(chǎn)效率、降低成本等方面發(fā)揮著顯著的作用。具體來說,其主要優(yōu)勢體現(xiàn)在以下幾個(gè)方面。
    的頭像 發(fā)表于 04-23 10:16 ?451次閱讀

    如何最大限度降低差分測量誤差?

    今天我們來詳細(xì)講下如何最大限度降低差分測量誤差 首先,我們要清楚,把差分放大器或探頭連接到信號源上一般是最大的誤差來源。為保持輸入匹配,兩條通路應(yīng)盡可能完全相同。對兩個(gè)輸入,任何線纜的長度都應(yīng)該
    的頭像 發(fā)表于 04-19 09:57 ?476次閱讀
    如何<b class='flag-5'>最大限度</b>地<b class='flag-5'>降低</b>差分測量誤差?

    ZR機(jī)械手:提高生產(chǎn)效率,降低成本的有效途徑-速程精密

    ZR機(jī)械手:提高生產(chǎn)效率,降低成本的有效途徑-速程精密 在制造業(yè)中,如何提高生產(chǎn)效率、降低成本一直是企業(yè)追求的目標(biāo)。隨著科技的不斷進(jìn)步,ZR機(jī)械手作為一種新型的自動(dòng)設(shè)備,逐漸成為實(shí)現(xiàn)這一
    的頭像 發(fā)表于 02-28 15:14 ?662次閱讀
    ZR機(jī)械手:提高生產(chǎn)效率,<b class='flag-5'>降低成本</b>的有效途徑-速程精密

    搬運(yùn)機(jī)器人已經(jīng)成為提高效率、降低成本的關(guān)鍵技術(shù)

    物流、制造業(yè)和倉儲(chǔ)等領(lǐng)域,搬運(yùn)機(jī)器人已經(jīng)成為提高效率、降低成本的關(guān)鍵技術(shù)。近年來,隨著技術(shù)的不斷突破,搬運(yùn)機(jī)器人正朝著更加智能、高效和可靠的方向發(fā)展。
    的頭像 發(fā)表于 01-22 12:00 ?506次閱讀
    搬運(yùn)機(jī)器人已經(jīng)成為提高效率、<b class='flag-5'>降低成本</b>的關(guān)鍵技術(shù)

    用于并行采樣的EVADC同步轉(zhuǎn)換,如何在最大化采樣率的同時(shí)最大限度地減少抖動(dòng)?

    在我的應(yīng)用程序中,HSPDM 觸發(fā) EVADC 同時(shí)對兩個(gè)通道進(jìn)行采樣。 我應(yīng)該如何配置 EVADC 以最大限度地減少采樣抖動(dòng)并最大限度地提高采樣率? 在用戶手冊中,它提到 SSE=0,USC=0
    發(fā)表于 01-18 07:59

    如何最大限度減小電源設(shè)計(jì)中輸出電容的數(shù)量和尺寸?

    如何最大限度減小電源設(shè)計(jì)中輸出電容的數(shù)量和尺寸?
    的頭像 發(fā)表于 12-15 09:47 ?453次閱讀
    如何<b class='flag-5'>最大限度</b>減小電源設(shè)計(jì)中輸出電容的數(shù)量和尺寸?

    電路板pcb打樣降低成本的方法

    電路板pcb打樣降低成本的方法
    的頭像 發(fā)表于 12-13 17:25 ?757次閱讀

    最大限度保持系統(tǒng)低噪聲

    最大限度保持系統(tǒng)低噪聲
    的頭像 發(fā)表于 11-27 16:58 ?411次閱讀
    <b class='flag-5'>最大限度</b>保持系統(tǒng)低噪聲