智能手机背后隐藏的第二系统 -- OSE
一、引 言
每部具有移動通信功能的手機都運行著兩個操作系統:
在終端用戶熟悉的Android和iOS外,
還有一個實時操作系統 (RTOS) 管理著無線電功能。
RTOS 這個操作系統儲存在固件,運行在基帶處理器上,這些基帶RTOS系統都是私有的。
例如,運行在高通基帶處理器的RTOS系統叫AMSS,基于高通私有的REX內核,由69個并發任務構成,處理從USB到GPS的一切事物,它運行在一個 ARMv5處理器上。這些私有閉源的軟件從未經過恰當的同行評審,實際上質量堪憂。
再例如,MTK 平臺采用的是Nucleus OS,Nucleus是Accelerated Technology公司開發的嵌入式RTOS,使用標準C開發,其中Nucleus Plus提供源代碼下載。Nucleus支持FAT、CD-ROM 文件系統。
Luxembourg大學的安全研究員Ralf-Philipp Weinmann 逆向工程了高通和英飛凌的基帶處理器軟件,輕而易舉的就發現了大量的bug。這些漏洞可以讓攻擊者遠程執行代碼,導致設備崩潰,可以用Hayes命令集悄悄啟動自動應答。
每部手機都藏著第二個操作系統
二、瑞典RTOS供應商Enea公司(OSE/OSEck RTOS)
詳情請參考: Enea公司官網: http://www.enea.com/solutions/rtos/ose/
Enea OSE是一款穩定、高性能的實時操作系統,它專門針對要求真正的確定性實時行為和高可用性的多處理器系統進行了優化。對于從手機和汽車到醫療儀器和電信基礎設施的許多系統,它縮短了研發時間,提高了可靠性并降低了生命周期維護成本。
2.針對手機基帶處理器的RTOS: OSE 是一個緊湊的、可靠的、高性能的RTOS,專門針對分布式容錯多內核系統進行了優化。它的目標應用市場是對實時響應性能要求非常高的手機基帶處理器和基站用戶線路接入卡,尤其適用于基于多內核處理器或分布式的多處理器的應用場合。
2008年全球有4億部新手機采用了Enea公司的OSE/OSEck RTOS來實現,同時OSE/OSEck RTOS也被用在全球約50%的基站設備里,而且客戶大多是全球第一流的系統供應商,包括:愛立信、諾基亞、諾基亞-西門子, Alcatel-Lucent、摩托羅拉、富士通、Infineon、Agere、波音、三星、索尼-愛立信、Yamaha、華為、中興、大唐和中國普天等。
“OSE 在手機基帶市場上可以說是一枝獨秀。”Enea 公司亞太區副總裁Dan Andersson 很自豪地說:“OSE 是一種模塊化的解決方案,適用于從超低成本手機到智能手機的全部手機市場。它既支持DSP、RISC基帶處理器和應用處理器,又支持包括Linux在內(OSE 虛擬機技術)的任一應用OS,可擴展性和移植性非常好,是一種非常好的長遠投資選擇。”
OSE 經久不衰的成功奧秘是它的模塊化、分層架構和直接異步消息傳遞設計。這一內在的分布式架構在確保高性能的同時,允許程序員對復雜的應用進行概括、分割和開發,這類應用可以是單一CPU系統,也可以是大型的、分布式多CPU和多內核系統。
Enea 還可提供一個可選的OSE仿真環境,即OSE Soft Kernel,它允許OSE進程運行在Windows、Linux或Solaris宿主機上。它也可以與一個運行中的實時系統一起工作。這使得設計人員能夠建立混合式軟/硬件OSE目標環境,從而使得設計師可以在宿主機上運行一部分應用,并在硬件到位后移植到真正的目標板上。
多核處理器對OS的挑戰是,OS也被要求并行地工作。對多核RTOS的要求是必須為最大程度地發揮出多核應用的性能提供非常好的支持,以及支持擴展到更多內核的處理器,同時保持標準的RTOS實時特性,如響應確定性和中斷時延。RTOS(實時操作系統)必須提供一種簡單的、靈活的和統一的編程環境,它可以提供下列功能,如負載平衡、啟動加載、文件系統和聯網。
OSE 有四大獨特技術優勢,分別是:可移植性好、可擴展性好、更高性能和更好響應確定性。
三、瑞典RTOS供應商Enea公司(OSE/OSEck RTOS)技術詳解
1.純SMP模式的缺點
SMP(對稱多處理) 模式指采用一個RTOS來管理一個處理器上的所有同類內核,或一塊板子上的多個同類處理器。這種模式需要很多個不同的鎖定機制,并需要頻繁進行同步操作。從軟件管理角度來看,SMP 模式是非常容易管理的,因為它創建了一個高度抽象的硬件資源,從而很容易實現各CPU上的負載平衡。
在很多情況下,高度抽象的硬件資源是一種優勢,但當某個應用的I/O變得非常密集時(如在嵌入式數據報轉發/路由應用中),這一抽象層就會帶來很大的開銷。在應用層上的共享存儲編程模型的原則是基于使用存儲器中可變的共享對象,這對多核系統的可擴展性來說是一種固有的瓶頸。這將不可避免地導致很難擴展到更多的內核。
這一點,再加上在許多情況下用SMP來實現多個內核比較復雜這樣一個事實,使得采用SMP模式的多處理器系統的響應確定性不是那么好,從長期角度來看,這也使得傳統的SMP模式不太適合用來實現高速數據包處理應用。
2.純AMP模式的缺點
AMP(非對稱多處理)模式使用的方法是,每個內核都運行一個屬于它自己的完整的、單獨的操作系統或應用框架(一種簡化版RTOS的替代說法)。這種模式允許不同內核運行不同的RTOS。AMP系統的優勢是每個內核可實現高性能,以及它可很好地擴展到多個內核。使用AMP模式和虛擬化技術也是一個能夠復用傳統單核設計的辦法。
AMP模式的缺點是OS不能為分布式應用的負載平衡或OS資源管理提供支持。此外,采用AMP模式應用的配置、加載和啟動也具有內在的設計復雜性。
3.OSE混合模式的獨特優勢
OSE 采用了獨特的SMP(對稱多處理)和AMP(非對稱多處理)混合模式來實現最大的設計靈活性,這一模式既可克服AMP模式或SMP模式的缺點,又可以融合它們各自的優點,OSE 的這種獨特的多核設計架構可以提供裸機(Bare Metal)模式的性能,并同時保有SMP模式的易用性和AMP模式的可擴展性及確定性。OSE 的多核支持可為以前的OSE應用提供完全的向后兼容性,從而使得用戶可以保護它的軟件投資。
OSE 是 一個真正的分布式操作系統,它使用了一個基于消息的編程模型,這可提供應用位置的透明性。OSE 架構是一個非常模塊化和可擴展的架構,由運行在一個微內核頂部的大量運行時組件構成。
OSE 內核的開發基礎是進程之間的消息交換,這一進程間通信(IPC)機制是OSE編程模型的基礎,它的實現形式是一個簡單的API,用于分布式系統上不同進程/線程之間的消息交換,這些進程/線程可運行一個、或幾個處理器節點上。OSE 還提供了一個尋址模式來實現應用的可擴展性,這使得一個系統可以運行在一個處理器節點上或分布式集群的多個節點上,而無須改變程序代碼。
當多處理器在物理上是分開的時,OSE 內核使用IPC協議LINX傳遞消息。LINX 可使得基于同一背板的不同插卡上的處理器、同一插卡上的不同處理器、以及同一芯片上的不同內核之間相互之間保持透明度,它使得用戶很容易實現負載平衡。
4.OSE 同時支持 RISC CPU和DSP
(1).Enea OSE組成
Enea OSE 由OSE Delta、OSEck、OSE Epsilon、Optima和LINX組成:
OSE Delta支持大部分的 RISC CPU,包括:ARM、XScale、MIPS、PowerPC;
OSEck 是 Enea 專門為DSP優化而設計的內核;
OSE Epsilon支持MCU和SoC,該內核100%用匯編編寫,因此占用存儲空間極小;
Optima是基于Eclipse的集成開發環境或工具,主要用于開發應用程序;
LINX 是一個分布式處理器間或多個處理器內核間進行通信的中間件。
(2).Enea OSE支持架構
在RISC處理器方面,目前最新的OSE支持XScale、ARM、PowerPC和MIPS32架構的RISC處理器,包括:ARM7、ARM9E、ARM10、ARM11、XScale、IBM PowerPC4xx、IBM PowerPC7xx、Intel網絡處理器IXP2400/2350、Freescale MPC86xx (支持多核MPC8641D)、Freescale MPC85xx(支持多核MPC8572DS)、Freescale MPC83xx、Freescale MPC82xx、Freescale MPC74xx、TI所有OMAP處理器和MIPS32/64處理器。
在DSP方面,OSE 支持TI的所有DSP器件和內核、Freescale MSC8101/03、Freescale MSC8102/22/26、Freescale MSC8144、SC120/SC1200、SC140/SC1400、SC2400/SC3400、ADI TigerSHARC (TS101S and TS201S)、ADI Blackfin、Freescale MPC5xx/55xx、LSI Logics ZSP400/500、STMicroelectronics ST100/120/…、Agere Systems dsp16k、CEVA的DSP及其內核。
總結
以上是生活随笔為你收集整理的智能手机背后隐藏的第二系统 -- OSE的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++自定义文件压缩/解压的实现
- 下一篇: IDEA建立jsp文件