<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 高效輕型線(xiàn)程助力提高Linux實(shí)時(shí)性能

高效輕型線(xiàn)程助力提高Linux實(shí)時(shí)性能

作者: 時(shí)間:2012-09-07 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/148447.htm

采用PTHREADS的

  Pthreads是由IEEE規劃的可移植操作系統接口(POSIX)創(chuàng )建的,目的是為了解決Unix中存在的高、多問(wèn)題,之后被用在最早的版本中,用于為企業(yè)實(shí)施可移植Unix,目前用于嵌入式應用中。

  創(chuàng )建pthreads模型是為了解決原始Unix Fork/Join模型創(chuàng )建Unix子進(jìn)程時(shí)出現的問(wèn)題。由于該模型涉及到創(chuàng )建(還可能涉及刪除)整個(gè)受內存保護的環(huán)境及執行模式,因此Unix進(jìn)程模型非常龐大。需要在Unix下采用適用于多的較模型,因此pthreads應運而生。

  但Unix(也包括)模型是專(zhuān)為將內核與用戶(hù)空間應用完全分離而設計的,其優(yōu)勢之一在于提供的保護、安全性和可靠性遠勝于其他實(shí)施方案(包括過(guò)去10幾年間使用的RTOS)。實(shí)質(zhì)上,這意味著(zhù)Linux用戶(hù)空間中的每個(gè)pthread都會(huì )由Linux內核線(xiàn)程表示,因此,全部或大部分Linux系統調用(特別是設備驅動(dòng)器)均可通過(guò)用戶(hù)空間進(jìn)行訪(fǎng)問(wèn)。但是,由于OEM制造的產(chǎn)品并不具備GPL,因此用戶(hù)空間中實(shí)際存儲了所有嵌入式Linux應用。因此,在每種情況下,使用pthreads都涉及到調用Linux內核,從而為本可以在本地實(shí)施的應用帶來(lái)了額外的系統開(kāi)銷(xiāo)。

  但請您稍稍考慮一下。采用上文提到的Linux擴展怎么樣?是的,PREEMPT_RT可以解決Linux內核中存在的許多關(guān)于響應性的問(wèn)題,但不能真正解決多線(xiàn)程問(wèn)題。實(shí)施用戶(hù)空間 Linux可解決設備驅動(dòng)器/中斷問(wèn)題,但并不能真正解決多線(xiàn)程問(wèn)題。Linux容器可解決部分問(wèn)題,但實(shí)時(shí)容器只是一種基于標準Linux的用戶(hù)空間Linux可視化技術(shù),并不能真正解決根本的多線(xiàn)程問(wèn)題。

  線(xiàn)程(LWT)--復雜Linux應用的真正解決方案

  之前針對Linux提出了多種線(xiàn)程模型的建議,但沒(méi)有一種模型能夠真正解決問(wèn)題。原因何在?因為大多數模型的功能都不是很強大。涉及復雜多線(xiàn)程應用的下一代Linux解決方案真正需要的是適用于用戶(hù)空間Linux應用的全新Linux模型。下文概括介紹了這種名為L(cháng)inux輕型線(xiàn)程(LWT)的解決方案。將高、低系統開(kāi)銷(xiāo)、多線(xiàn)程調度器植入Linux用戶(hù)空間,來(lái)代替單獨的pthread.原因何在?

  ●Pthread系統開(kāi)銷(xiāo)

  ●進(jìn)程和pthreads是Linux了解的唯一調度實(shí)體。

  ●LWT pthread只是一個(gè)Linux編碼執行背景,可用于永久運行pthread.由于用戶(hù)空間調度器始終保持控制,因此pthread絕不會(huì )被掛起,省電模式除外。這種情況不在本文的討論范圍。

  該用戶(hù)空間調度器的運行和操作方式與某些傳統RTOS高性能、低延遲實(shí)施完全相同,但不會(huì )涉及到Linux內核。

  實(shí)施過(guò)程利用新用戶(hù)空間Linux實(shí)施過(guò)程來(lái)直接訪(fǎng)問(wèn)硬件。同樣也不涉及Linux內核。

  上述LWT解決方案可在任何Linux實(shí)時(shí)應用中實(shí)現動(dòng)態(tài)性能的提升。Enea已設計出上述LWT的一些原型,事實(shí)證明,與Linux pthreads在調度器系統開(kāi)銷(xiāo)、特別是上下文切換和線(xiàn)程間消息發(fā)送/通信延遲方面的性能相比,LWT性能可10倍。

  但是除了調度性能和線(xiàn)程間通信功能之外,LWT解決方案還應帶來(lái)什么?LWT概念除了在性能方面勝過(guò)Linux pthreads之外,還有更多優(yōu)勢。解決方案穩健性的概念如何?與歷史悠久的RTOS實(shí)時(shí)解決方案一樣,LWT也需要具有以下額外Linux特性:

  ●決定性調度

  ●調度系統開(kāi)銷(xiāo)低--上下文切換成本低

  ●線(xiàn)程間信號系統開(kāi)銷(xiāo)低

  ●線(xiàn)程創(chuàng )建成本低

  多核設備中Linux輕型線(xiàn)程模型的結構圖

  LWT實(shí)施方案的結構圖如下。涉及整個(gè)共享內存空間的Linux進(jìn)程可能跨多核設備的多個(gè)內核。為了達到最率,LWT模型需要將Linux進(jìn)程中的單個(gè)pthread鎖定至某一個(gè)內核,但并不特別要求這樣做。LWT鎖定至pthread之后,便可遷移到Linux SMP需要的任何內核中。

圖1:多核設備中Linux輕型線(xiàn)程模型的結構圖

圖1:多核設備中Linux輕型線(xiàn)程模型的結構圖

  結論

  輕型線(xiàn)程(LWT)將成為下一個(gè)Linux實(shí)時(shí)性能和行為問(wèn)題。需要強調的是,并非所有實(shí)時(shí)應用都需要使用功能強大的類(lèi)似LWT的解決方案。但是一些實(shí)時(shí)應用,尤其是電信/網(wǎng)絡(luò )中的應用以及無(wú)線(xiàn)接入網(wǎng)、移動(dòng)基礎設施核心/邊緣中的那些需要使用某些復雜網(wǎng)絡(luò )協(xié)議的應用、或任何具有類(lèi)似實(shí)時(shí)需求的其他系統均可受益于Linux輕型線(xiàn)程--下一代 Linux 實(shí)時(shí)擴展。同時(shí),實(shí)時(shí)嵌入式Linux的整個(gè)發(fā)展過(guò)程證明了Linux的運行效果與傳統RTOS解決方案一樣優(yōu)異。Linux已取得了一些進(jìn)展,但是作者認為,最重要的電信/網(wǎng)絡(luò )應用中使用的Linux尚未達到預期的要求。但也許通過(guò)Linux輕型線(xiàn)程,我們可以更接近這一目標??偟膩?lái)說(shuō),Linux實(shí)時(shí)嵌入式行業(yè)的一個(gè)側重點(diǎn)是研發(fā)出可用于要求最高的實(shí)時(shí)應用的解決方案。下圖中描述了該目標:

圖2:輕型線(xiàn)程和Linux概念--Linux和RTOS最重要的概念

圖2:輕型線(xiàn)程和Linux概念--Linux和RTOS最重要的概念

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>