久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Linux2.6內(nèi)核嵌入式系統(tǒng)有哪些特點(diǎn)

共計(jì) 2271 個(gè)字符,預(yù)計(jì)需要花費(fèi) 6 分鐘才能閱讀完成。

這篇文章主要介紹“Linux2.6 內(nèi)核嵌入式系統(tǒng)有哪些特點(diǎn)”,在日常操作中,相信很多人在 Linux2.6 內(nèi)核嵌入式系統(tǒng)有哪些特點(diǎn)問(wèn)題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Linux2.6 內(nèi)核嵌入式系統(tǒng)有哪些特點(diǎn)”的疑惑有所幫助!接下來(lái),請(qǐng)跟著丸趣 TV 小編一起來(lái)學(xué)習(xí)吧!

1. 可搶占內(nèi)核

在先前的內(nèi)核版本中 (包括 2.4 內(nèi)核) 不允許搶占以核心態(tài)運(yùn)行的任務(wù)(包括通過(guò)系統(tǒng)調(diào)用進(jìn)入內(nèi)核模式的用戶任務(wù)), 只能等待它們自己主動(dòng)釋放 CPU。這樣必然導(dǎo)致一些重要任務(wù)延時(shí)以等待系統(tǒng)調(diào)用結(jié)束。

一個(gè)內(nèi)核任務(wù)可以被搶占, 為的是讓重要的用戶應(yīng)用程序可以繼續(xù)運(yùn)行。這樣做最主要的優(yōu)勢(shì)是極大地增強(qiáng)系統(tǒng)的用戶交互性。

2.6 內(nèi)核并不是真正的 RTOS(Real Time Operation System), 其在內(nèi)核代碼中插入了搶占點(diǎn), 允許調(diào)度程序中止當(dāng)前進(jìn)程而調(diào)用更高優(yōu)先級(jí)的進(jìn)程, 通過(guò)對(duì)搶占點(diǎn)的測(cè)試避免不合理的系統(tǒng)調(diào)用延時(shí)。2.6 內(nèi)核在一定程度上是可搶占的, 比 2.4 內(nèi)核具備更好的響應(yīng)性。但也不是所有的內(nèi)核代碼段都可以被搶占, 可以鎖定內(nèi)核代碼的關(guān)鍵部分, 確保 CPU 的數(shù)據(jù)結(jié)構(gòu)和狀態(tài)始終受到保護(hù)而不被搶占。

軟件需要滿足最終時(shí)間限制與虛擬內(nèi)存請(qǐng)求頁(yè)面調(diào)度之間是相互矛盾的。慢速的頁(yè)錯(cuò)誤處理將會(huì)破壞系統(tǒng)的實(shí)時(shí)響應(yīng)性, 而 2.6 內(nèi)核可以編譯無(wú)虛擬內(nèi)存系統(tǒng)避免這個(gè)問(wèn)題, 這是解決問(wèn)題的關(guān)鍵, 但要求軟件設(shè)計(jì)者有足夠的內(nèi)存來(lái)保證任務(wù)的執(zhí)行。

2. 有效的調(diào)度程序

2.6 版本的 Linux 內(nèi)核使用了由 Ingo Molnar 開(kāi)發(fā)的新的調(diào)度器算法, 稱(chēng)為 O(1)算法, 如圖 1 所示。它在高負(fù)載情況下執(zhí)行得極其出色, 并且當(dāng)有很多處理器并行時(shí)也可以很好地?cái)U(kuò)展 [2]。過(guò)去的調(diào)度程序需要查找整個(gè) ready task 隊(duì)列, 并且計(jì)算它們的重要性以決定下一步調(diào)用的 task, 需要的時(shí)間隨 task 數(shù)量而改變。O(1) 算法則不再每次掃描所有的任務(wù), 當(dāng) task 就緒時(shí)被放入一個(gè)活動(dòng)隊(duì)列中, 調(diào)度程序每次從中調(diào)度適合的 task, 因而每次調(diào)度都是一個(gè)固定的時(shí)間。任務(wù)運(yùn)行時(shí)分配一個(gè)時(shí)間片, 當(dāng)時(shí)間片結(jié)束, 該任務(wù)將放棄處理器并根據(jù)其優(yōu)先級(jí)轉(zhuǎn)到過(guò)期隊(duì)列中。活動(dòng)隊(duì)列中任務(wù)全部調(diào)度結(jié)束后, 兩個(gè)隊(duì)列指針互換, 過(guò)期隊(duì)列成為當(dāng)前隊(duì)列, 調(diào)度程序繼續(xù)以簡(jiǎn)單的算法調(diào)度當(dāng)前隊(duì)列中的任務(wù)。這在多處理器的情況更能提高 SMP 的效率, 平衡處理器的負(fù)載, 避免進(jìn)程在處理器間的跳躍。

3. 同步原型與共享內(nèi)存

多進(jìn)程應(yīng)用程序需要共享內(nèi)存和外設(shè)資源, 為避免競(jìng)爭(zhēng)采用了互斥的方法保證資源在同一時(shí)刻只被一個(gè)任務(wù)訪? 省inux 內(nèi)核用一個(gè)系統(tǒng)調(diào)用來(lái)決定一個(gè)線程阻塞或是繼續(xù)執(zhí)行來(lái)實(shí)現(xiàn)互斥, 在線程繼續(xù)執(zhí)行時(shí), 這個(gè)費(fèi)時(shí)的系統(tǒng)調(diào)用就沒(méi)有必要了。Linux2.6 所支持的 Fast User-Space Mutexes 可以從用戶空間檢測(cè)是不是需要阻塞線程, 只在需要時(shí)執(zhí)行系統(tǒng)調(diào)用終止線程。它同樣采用調(diào)度優(yōu)先級(jí)來(lái)確定將要執(zhí)行的進(jìn)程[4]。多處理器嵌入式系統(tǒng)各處理器之間需要共享內(nèi)存, 對(duì)稱(chēng)多處理技術(shù)對(duì)內(nèi)存訪問(wèn)采用同等優(yōu)先級(jí), 在很大程度上限制了系統(tǒng)的可量測(cè)性和處理效率。Linux2.6 則提供了新的管理方法――NUMA(Non Uniform Memory Access)。NUMA 根據(jù)處理器和內(nèi)存的拓?fù)洳季? 在發(fā)生內(nèi)存競(jìng)爭(zhēng)時(shí), 給予不同處理器不同級(jí)別權(quán)限以解決內(nèi)存搶占瓶頸, 提高吞吐量。

4.POSIX 線程及 NPTL

新的線程模型基于一個(gè) 1:1 的線程模型 (一個(gè)內(nèi)核線程對(duì)應(yīng)一個(gè)用戶線程), 包括內(nèi)核對(duì)新的 NPTL(Native POSIX Threading Library) 的支持, 這是對(duì)以前內(nèi)核線程方法的明顯改進(jìn)。2.6 內(nèi)核同時(shí)還提供 POSIX signals 和 POSIX high-resolution timers。POSIX signals 不會(huì)丟失, 并且可以攜帶線程間或處理器間的通信信息。嵌入式系統(tǒng)要求系統(tǒng)按時(shí)間表執(zhí)行任務(wù),POSIX timer 可以提供 1kHz 的觸發(fā)器使這一切變得簡(jiǎn)單, 從而可以有效地控制進(jìn)度。

5. 微控制器的支持

Linux2.6 內(nèi)核加入了多種微控制器的支持。無(wú) MMU 的處理器以前只能利用一些改進(jìn)的分支版本, 如 uClinux, 而 2.6 內(nèi)核已經(jīng)將其整合進(jìn)了新的內(nèi)核中, 開(kāi)始支持多種流行的無(wú) MMU 微控制器, 如 Dragonball、ColdFire、Hitachi H8/300。Linux 在無(wú) MMU 控制器上仍舊支持多任務(wù)處理, 但沒(méi)有內(nèi)存保護(hù)功能。同時(shí)也加入了許多流行的控制器的支持, 如 S3C2410 等。

6. 面向應(yīng)用

嵌入式應(yīng)用有用戶定制的特點(diǎn), 硬件設(shè)計(jì)都針對(duì)特定應(yīng)用開(kāi)發(fā), 這給系統(tǒng)帶來(lái)對(duì)非標(biāo)準(zhǔn)化設(shè)計(jì)支持的問(wèn)題 (如 IRQ 的管理)。為了更好地實(shí)現(xiàn), 可以采用部件化的操作系統(tǒng)。Linux2.6 采用的子系統(tǒng)架構(gòu)將功能模塊化, 可以定制而對(duì)其他部分影響最小。同時(shí) Linux2.6 提供了多種新技術(shù)的支持以實(shí)現(xiàn)各種應(yīng)用開(kāi)發(fā), 如 Advanced Linux Sound Architecture(ALSA) 和 Video4Linux 等, 對(duì)多媒體信息處理更加方便; 對(duì) USB2.0 的支持, 提供更高速的傳輸, 增加藍(lán)牙無(wú)線接口、音頻數(shù)據(jù)鏈接和面向鏈接的數(shù)據(jù)傳輸 L2CAP, 滿足短距離的無(wú)線連接的需要; 而且在 2.6 內(nèi)核中還可以配置成無(wú)輸入和顯示的純粹無(wú)用戶接口系統(tǒng)。

到此,關(guān)于“Linux2.6 內(nèi)核嵌入式系統(tǒng)有哪些特點(diǎn)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-16發(fā)表,共計(jì)2271字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 皋兰县| 博爱县| 巩留县| 黄冈市| 崇明县| 德阳市| 南开区| 渭源县| 曲阜市| 赤壁市| 宁强县| 吉安市| 肃宁县| 屯昌县| 江都市| 盖州市| 崇左市| 濮阳县| 叙永县| 红原县| 温宿县| 乾安县| 福建省| 石泉县| 霍林郭勒市| 苏尼特左旗| 临泉县| 壤塘县| 济南市| 汉川市| 海南省| 滁州市| 遂溪县| 石台县| 香格里拉县| 韶关市| 松阳县| 平乡县| 安岳县| 哈尔滨市| 塘沽区|