虚拟化进入手机领域-Motorola Evoke QA4采用基于微内核OKL4的解决方案
作者 coder | 2009-07-24 15:14 | 类型 行业动感 | 23条用户评论 »
Gernot 在他的 blog 中提到, Motorola Evoke 采用了 基于OKL4的虚拟化解决方案。Evoke 用了一个 ARM9 CPU。 OKL4运行在内核态,Linux 和 AMSS/BREW baseband 作为两个虚拟机运行在用户态。 这个方案能够得到比较不错性能的关键在于 OKL4 的 “Single Address Space” 特性。由于ARM9 的 cache 是 virtual address index & tag, Linux 上每一次 context switch 的时候都需要 flush TLB 和 cache。 在OKL4上,可以将一个single address space 划分为不同的部分分配给运行在用户态的 Linux 进程和 AMSS/BREW,这样他们有了不重叠的虚拟地址空间。在context switch的时候,不需要flush TLB 和 cache。 | |
雁过留声
“虚拟化进入手机领域-Motorola Evoke QA4采用基于微内核OKL4的解决方案”有23个回复
虚拟化技术在手机上的应用其实早已经展开,并且有许多案例了。这篇文章写的略微单薄,应该展开写成一篇文章才好。我有时间的时候补充一些内容。。。
我记得弯曲上曾经发了一篇paper有讨论过
那文章好像叫《嵌入式领域中的虚拟化技术》
是的。许多厂商都在开展和已经demo其虚拟化解决方案。兵锋直指Smart Phone高端市场。为了解决之前Feature Phone Baseband的平台过渡并与Window Mobile或者Linux(Android)有机结合,虚拟技术被无缝的应用在这方面。
这个变化是slowly but surly的。 我们的方案里叶在慢慢加,不过非常慢。。
同意这个“slowly yet surely”. 我曾经与MTK的一个副总聊起这个话题。他说:目前单芯片解决方案是必然的。单芯片里,两个ARM核。一个run full OS(Android,WM or…),一个run Baseband。
曾经接触过一位系统厂商的人士,在评估虚拟化在router上面的应用。比如多业务板直接的功能融合。
ASR1000上的Linux的KVM的使用,其实就是虚拟化技术在通信领域的一个漂亮应用,从而多个IOS同时运行,实现HA。
手机不以os论英雄!!
同意8楼!手机拼的还是有没有杀手级的应用,能不能快速进入市场,吸引到大量消费者,终端消费者不是engineer,根本不care windows mobile还是linux based。在这个行业来钱快,你就弄好app就行了,os那是chip厂商的事(apple例外)。qualcomm的新方案l4是跑基带那边的协议栈的,不用来运行虚拟化,l4针对arm9的快速上下文切换确实不错,v6,v7改进了tlb和cache,已经是phy tagged了,没必要像arm9那样使用了。
》》qualcomm的新方案l4是跑基带那边的协议栈的
Evoke 上边的Linux 没有跑在 L4 上边? Gernot在白皮书里边说跑了两个VM。 http://www.ok-labs.com/blog/entry/white-paper-the-motorola-evoke-qa4-a-case-study-in-moble-virtualization/
evoke是l4linux,笔误,是新的chip。
》》evoke是l4linux,笔误,是新的chip。
恩, 去年有一批HTC的机子用了L4跑baseband。
多个系统怎么通信的?
okl下载不了
IPC 或者 共享内存
okl4在ok-labs可以下载,除了l4,ok-labs还有一个更精简的’l4′,或者google一下iguana,下载那个开发包,几十个M,有点老但还是有研究价值的。
开源的ok-labs可以下载
有意思。HURD/L4感觉是起不来。Linux/L4要起来了。L4跑基带。有点意思。。。。。。
陈首席对llvm怎么看?
>有意思。HURD/L4感觉是起不来。Linux/L4要起来了。L4跑基带。有点意思。。。。。。
仔细看了这个白皮书. 实际上 QA4的BB 还是单独的OS. 这里的 OKL4主要解决了 BREW和LINUX 之间的融合问题.
issue: UI是linux的,但是有一些application 是BREW的. 如果要是采用单独的 linux 解决方案需要把 BREW的应用都移植到 linux上面来. 当然,这个是可以完成的.但是 需要时间/人力等等.
方案: 在AP上跑两个VM.一个是linux,一个是 BREW. 然后 BREW的应用在linux UI中. 当用户在linux UI中点击BREW应用的图标的时候, VM通过IPC告诉BREW VM去 start 这个应用.
联想: 既然linux和BREW可以融合, why linux和android不可以融合呢? 现在对于android有一个问题,application必须要用JAVA来开发,这对于一些已经有的linux下的c应用需要重新port. 当然你可以通过包装成JNI的方式,但是这仍然需要时间成本. 如果通过OKL4来融合这两者的应用, 是一个方案.
PS: 现在甚至于 native 的OKL4的android. 也就是说 将ANDROID那一套framework直接port到OKL4,跳过ANDROID下面的linux. 当然目前还是在原型阶段.是 UNSW的一个本科毕业论文.名字叫 native ANDROID OKL4 stack
李先静,我对着单芯片和单核上的虚拟化技术很感兴趣。你是手机的精英,你谈谈看法。谢谢了。
据OKL4的宣传,对开源license的限制特别严格,要求基于该软件的所有应用都要开源。感觉一般以技术作为核心竞争力的企业无法接受。不知道moto是怎么解决这个问题的。
21楼需要仔细阅读license
从license说明看,只要是修改了代码,就必须开源。不知道是否还有另外一套license?
——license说明如下————–
1. Redistribution and use of OKL4 (Software) in source and binary
* forms, with or without modification, are permitted provided that the
* following conditions are met:
*
* (a) Redistributions of source code must retain this clause 1
* (including paragraphs (a), (b) and (c)), clause 2 and clause 3
* (Licence Terms) and the above copyright notice.
*
* (b) Redistributions in binary form must reproduce the above
* copyright notice and the Licence Terms in the documentation and/or
* other materials provided with the distribution.
*
* (c) Redistributions in any form must be accompanied by information on
* how to obtain complete source code for:
* (i) the Software; and
* (ii) all accompanying software that uses (or is intended to
* use) the Software whether directly or indirectly. Such source
* code must:
* (iii) either be included in the distribution or be available
* for no more than the cost of distribution plus a nominal fee;
* and
* (iv) be licensed by each relevant holder of copyright under
* either the Licence Terms (with an appropriate copyright notice)
* or the terms of a licence which is approved by the Open Source
* Initative. For an executable file, “complete source code”
* means the source code for all modules it contains and includes
* associated build and other files reasonably required to produce
* the executable.
*
* 2. THIS SOFTWARE IS PROVIDED “AS IS” AND, TO THE EXTENT PERMITTED BY
* LAW, ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
* PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED. WHERE ANY WARRANTY IS
* IMPLIED AND IS PREVENTED BY LAW FROM BEING DISCLAIMED THEN TO THE
* EXTENT PERMISSIBLE BY LAW: (A) THE WARRANTY IS READ DOWN IN FAVOUR OF
* THE COPYRIGHT HOLDER (AND, IN THE CASE OF A PARTICIPANT, THAT
* PARTICIPANT) AND (B) ANY LIMITATIONS PERMITTED BY LAW (INCLUDING AS TO
* THE EXTENT OF THE WARRANTY AND THE REMEDIES AVAILABLE IN THE EVENT OF
* BREACH) ARE DEEMED PART OF THIS LICENCE IN A FORM MOST FAVOURABLE TO
* THE COPYRIGHT HOLDER (AND, IN THE CASE OF A PARTICIPANT, THAT
* PARTICIPANT). IN THE LICENCE TERMS, “PARTICIPANT” INCLUDES EVERY
* PERSON WHO HAS CONTRIBUTED TO THE SOFTWARE OR WHO HAS BEEN INVOLVED IN
* THE DISTRIBUTION OR DISSEMINATION OF THE SOFTWARE.
*
* 3. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY OTHER PARTICIPANT BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.