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