1. gzyueqian
      13352868059

      嵌入式Linux培訓多線程教程 解決實時多線程的問題

      更新時間: 2019-03-20 14:39:04來源: 嵌入式培訓瀏覽量:6235

        嵌入式Linux多線程為何重要?嵌入式Linux培訓解決實時Linux多線程的問題。

        實際上,很早之前人們就提出了需要采用嵌入式實時操作系統(RTOS) 來實現低延遲、高吞吐量、極具實時特點的應用。操作系統的結構發生了變化,但對這方面的需求卻沒有改變。就便攜性、應用的廣闊生態系統以及設備支持和常規支持來講,Linux在實時嵌入式解決方案中的總體價值是任何RTOS都無法比擬的。

        多線程為何重要?

        如果多線程很重要,那么我們應如何將RTOS多線程性能、行為和特性添加到Linux中,以便取得更大的成功?關鍵問題是了解Linux多線程實施與RTOS,然后考慮可以進行哪些改進。

        就任務的總體執行而言,所有任務均密切相關。但多個任務密切相關意味著這些任務應共享一部分CPU時間才能達到CPU的有效總體利用率。在很多此類應用中,必須禁止執行某些操作、等待某些I/O事件或另一應用發出的其他通信。因此出現了簡單的可執行程序,這些可執行程序可以處理多個線程,同時可禁用線程,并可在各線程之間進行低延遲通信。

        并非所有實時應用都需要支持重要的多線程處理功能。本文并未對相關應用進行分類。但很顯然,需要使用多線程處理功能的應用是那些需要在協議中設定"等待狀態"的任何類型的復雜協議,即等待允許應用繼續進行的響應或事件。之后,應用應放棄對CPU的控制權,允許運行其他類似的線程,來代替該響應或事件。

        也許上述嵌入式Linux培訓教程對于許多人來說很簡單。請注意,很多移動基礎設施和核心網絡設備供應商得出的結論是,雖然Linux是當前或未來系統的,但目前構建的Linux還不足以滿足業界的全部要求。原因是什么?

        采用PTHREADS的Linux多線程

        Pthreads是由IEEE規劃的可移植操作系統接口(POSIX)創建的,目的是為了解決Unix中存在的高性能、多線程問題,之后被Linux用在早的版本中,用于為企業實施可移植Unix,目前用于嵌入式應用中。

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

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

        采用上文提到的Linux實時擴展怎么樣?是的,PREEMPT_RT可以解決Linux內核中存在的許多關于響應性的問題,但不能真正解決多線程問題。實施用戶空間 Linux可解決設備驅動器/中斷性能問題,但并不能真正解決多線程問題。Linux實時容器可解決部分問題,但實時容器只是一種基于標準Linux的用戶空間Linux可視化技術,并不能真正解決根本的多線程問題。

        學習實時Linux多線程課程,粵嵌嵌入式Linux培訓全程圍繞項目展開實戰,項目全部采用企業標準化管理,學員在真實的企業研發環境下進行開發,嚴格按企業產品研發要求。強大的師資團隊,根據市場需求編排出符合各學員的嵌入式開發課程。


      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲国产黄在线观看 | 日本少妇亚洲综合无 | 在线观看激情五月 | 色综合天天综合网中文 | 一区国产亚洲欧美日韩在线一区 | 亚洲va综合va国产产va中 |