一区二区三区中文国产亚洲_另类视频区第一页_日韩精品免费视频_女人免费视频_国产综合精品久久亚洲

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 如何最大限度地提高物聯(lián)網(wǎng)項(xiàng)目的效率

如何最大限度地提高物聯(lián)網(wǎng)項(xiàng)目的效率

來源:千鋒教育
發(fā)布人:syq
時(shí)間: 2022-07-21 16:02:00 1658390520

  如何最大限度地提高物聯(lián)網(wǎng)項(xiàng)目的效率?對(duì)于閱讀最新微控制器數(shù)據(jù)表的開發(fā)人員來說,很容易假設(shè) CPU 資源的有效使用,包括內(nèi)存和時(shí)鐘周期,充其量只是當(dāng)今硬件的次要問題。對(duì)于嵌入式開發(fā)人員來說,現(xiàn)在可能比以往任何時(shí)候都更重要的是確保他們的軟件以最高效率運(yùn)行并且他們自己的時(shí)間以一種有效的方式度過。

如何最大限度地提高物聯(lián)網(wǎng)項(xiàng)目的效率

  在現(xiàn)代嵌入式系統(tǒng)上運(yùn)行的軟件往往來自多種來源。應(yīng)用程序開發(fā)人員編寫的代碼通常與來自 RTOS(實(shí)時(shí)操作系統(tǒng))提供商的現(xiàn)成軟件組件相結(jié)合,而后者又可能使用最初由半導(dǎo)體公司提供的驅(qū)動(dòng)程序代碼??梢跃帉懨慷未a來優(yōu)化效率,但本文將重點(diǎn)關(guān)注現(xiàn)成軟件組件的效率。特別是兩個(gè)組件將作為此處介紹的資源效率檢查的基礎(chǔ):實(shí)時(shí)內(nèi)核和事務(wù)文件系統(tǒng)。

  實(shí)時(shí)內(nèi)核:高效系統(tǒng)的核心

  實(shí)時(shí)內(nèi)核是當(dāng)今許多嵌入式系統(tǒng)中運(yùn)行的軟件的核心。簡單來說,內(nèi)核就是一個(gè)調(diào)度器;為基于內(nèi)核的系統(tǒng)編寫應(yīng)用程序代碼的開發(fā)人員將該代碼劃分為任務(wù),而內(nèi)核負(fù)責(zé)調(diào)度任務(wù)。因此,內(nèi)核是main()中無限循環(huán)的替代方案,在裸機(jī)嵌入式系統(tǒng)中常被用作主要的調(diào)度機(jī)制。

  使用實(shí)時(shí)內(nèi)核有很多好處,包括提高效率。選擇基于內(nèi)核的應(yīng)用程序代碼的嵌入式開發(fā)人員可以優(yōu)化系統(tǒng)中處理器資源的使用,同時(shí)更有效地利用他們的時(shí)間。然而,并不是所有的內(nèi)核都是平等的,并且僅僅決定為一個(gè)新項(xiàng)目采用一個(gè)內(nèi)核并不能保證效率的提高。

  核心可能不同以及 CPU 資源可以以不同程度的效率使用的關(guān)鍵領(lǐng)域是調(diào)度。通過提供允許任務(wù)響應(yīng)事件運(yùn)行的智能調(diào)度機(jī)制,內(nèi)核幫助開發(fā)人員在無限循環(huán)中實(shí)現(xiàn)效率提升,其中任務(wù)(或函數(shù))以固定順序執(zhí)行?;趦?nèi)核的應(yīng)用程序的確切效率部分取決于其調(diào)度程序的實(shí)現(xiàn)方式。內(nèi)核的調(diào)度程序——它只是決定何時(shí)運(yùn)行每個(gè)任務(wù)的一段代碼——最終會(huì)產(chǎn)生開銷,而這種開銷并不會(huì)抵消從裸機(jī)系統(tǒng)轉(zhuǎn)移所獲得的好處。

  內(nèi)核可以通過兩種方式分配多任務(wù)處理所需的基本資源:分配這些資源的責(zé)任可以留給應(yīng)用程序代碼,或者內(nèi)核本身可以處理分配。任何內(nèi)核中都不可避免地存在某些變量和數(shù)據(jù)結(jié)構(gòu),因?yàn)樗鼈儗?duì)于多任務(wù)服務(wù)的實(shí)現(xiàn)至關(guān)重要,因此它們完全位于內(nèi)核范圍內(nèi)。但是對(duì)于用于記錄每個(gè)任務(wù)狀態(tài)的TCB(或任務(wù)控制塊)等數(shù)據(jù)結(jié)構(gòu),甚至對(duì)于上下文切換時(shí)存儲(chǔ)CPU寄存器值的棧,內(nèi)核提供者可以選擇內(nèi)部分配或者依賴應(yīng)用程序代碼。

  文件系統(tǒng)效率

  大多數(shù)設(shè)備都需要存儲(chǔ)數(shù)據(jù)和記錄事件的選項(xiàng),或者作為傳輸?shù)皆浦暗呐R時(shí)休息場所,或者更永久地保存在設(shè)備上。為此目的設(shè)計(jì)的任何代碼都是文件系統(tǒng),無論是由嵌入式開發(fā)人員編寫和測試,還是作為 RTOS 解決方案的一部分提供。文件系統(tǒng)還可以提供提高效率的選項(xiàng)。這些范圍從簡單(要保留多少內(nèi)存緩沖區(qū))到復(fù)雜(是否支持完整的 POSIX 操作)。

  首先,一些 RTOS 提供類似 FAT 的文件系統(tǒng)。這包括使用標(biāo)準(zhǔn)媒體格式(包括文件夾和文件)執(zhí)行 I/O 的代碼。通常,這不是非??啥ㄖ频?,并且它很少能防止電源故障期間的數(shù)據(jù)丟失。另一種選擇是 Datalight 的 Reliance Edge,它使用事務(wù)點(diǎn)來提供電源故障安全環(huán)境。這里令人興奮的是設(shè)計(jì)的靈活性如何提高效率。

  Reliance Edge 提供存儲(chǔ)選項(xiàng)的自定義。在稱為“文件系統(tǒng)要素”的最小用例中,不使用文件夾甚至文件名。數(shù)據(jù)存儲(chǔ)在編號(hào)的 inode 中。這些位置的數(shù)量是在編譯時(shí)確定的,但大小不是預(yù)先確定的。一個(gè)“文件”可以包含比其他“文件”更多的數(shù)據(jù),并且僅當(dāng)“文件”的總大小達(dá)到閾值時(shí)媒體才滿。文件也可以自由截?cái)?、讀取和寫入。

  除了資源使用問題,多年來,效率一直是開發(fā)人員購買內(nèi)核、文件系統(tǒng)和其他軟件模塊的首要考慮因素。這是因?yàn)橛糜谧C明采用此類模塊的理由通常是從頭開始編寫等效代碼將浪費(fèi)時(shí)間。換句話說,應(yīng)用程序開發(fā)人員的時(shí)間最有效地用于編寫應(yīng)用程序,而不是花費(fèi)數(shù)萬行基礎(chǔ)設(shè)施代碼。

  如何最大限度地提高物聯(lián)網(wǎng)項(xiàng)目的效率?主要是通過選擇高質(zhì)量的現(xiàn)成組件作為其項(xiàng)目的基礎(chǔ),嵌入式開發(fā)團(tuán)隊(duì)可以確保有效利用自己的資源以及嵌入式硬件的資源,并可以專注于編寫創(chuàng)新的應(yīng)用程序代碼以提供他們的工作站站穩(wěn)腳跟。更多關(guān)于物聯(lián)網(wǎng)培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項(xiàng)目實(shí)操的話可以點(diǎn)擊咨詢課程顧問,獲取試聽資格來試聽我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門到精通。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
什么是PlatformIo?

PlatformIO是什么PlatformIO是一個(gè)全面的物聯(lián)網(wǎng)開發(fā)平臺(tái),它為眾多硬件平臺(tái)和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡化了開發(fā)過程,并能兼容各種...詳情>>

2023-10-14 12:55:06
云快照與自動(dòng)備份有什么區(qū)別?

1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時(shí)間點(diǎn)后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動(dòng)備份的主要目標(biāo)...詳情>>

2023-10-14 12:48:59
服務(wù)器為什么要用Linux?

服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨(dú)特的優(yōu)勢和特點(diǎn)。包括其...詳情>>

2023-10-14 12:34:11
ORM解決的主要問題是什么?

ORM(對(duì)象關(guān)系映射)解決的主要問題是將關(guān)系數(shù)據(jù)庫與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)以表格的形式存儲(chǔ),而在面向?qū)ο?..詳情>>

2023-10-14 12:26:19
Go為什么不支持三元運(yùn)算符?

Go為什么不支持三元運(yùn)算符Go語言是一種以簡潔和有效性為目標(biāo)的編程語言,因此在設(shè)計(jì)過程中,Go的設(shè)計(jì)者刻意排除了一些他們認(rèn)為可能導(dǎo)致復(fù)雜性或...詳情>>

2023-10-14 12:12:36