韩青:多核和多操作系统
来源:客服 发布时间:2018-08-26 分享至微信

      来自风河公司的韩青因为最近英特尔收购风河的事情,格外受到关注,他的发言《多核和多OS》让大家了解到多核、虚拟化和多OS在嵌入式系统中的应用,以及风河技术和产品的特色。

     

                      韩青 风河中国区首席代表

      大家早上好,很高兴有这个机会和大家交流。

      在讲multicore和multi-OS之前,先讲一讲Intel收购Wind River这件事。刚才邵老师也提到这个话题,刚才我一来,也是大伙问我最多的话题。在此给大家一个官方的正式的解释。其实这次Intel收购Wind River是Intel的软件部,是把Wind River作为一个独立的子公司进行运作的,Wind River公司的名字,品牌的名字都还在。公司的政策也不会变,包括除了Intel外,我们对PowerPC,对ARM,MIPS这些芯片的支持,也都不会变。

      其实可以观察一点,看看Intel收购wind River的目的是在什么地方,如果收购一个软件公司只是作为硬件芯片的一个拐棍,基本上它就会只支持这种芯片,如果它把软件作为一个独立的business来运作,它一定会支持很多种处理器,否则没办法生存。看它背后的目的,就可以知道它下一步会怎么做。

      其实这个可以看IBM,IBM有很多软件,它并没有限定IBM的软件一定要用在IBM服务器上,还可以支持它的竞争对手的服务器上。软件作为一种业务来运作的话,如果把软件限定在一个很小的市场上,就没办法和别人去竞争,一定会越做越小,所以从这方面可以继续观察形势的发展,这是我从公司的一些讨论,发布的一些信息看到一些情况,给大家做一个交代。另外,的确根据这个,网上有很多的一些猜测,比如说,是不是会在Linux上会用劲越来越大?其他VxWorks会不会越来越小?我觉得有这种猜想也算正常,以前从看Intel基本上Linux这一块,因为收购的消息宣布很突然,对我们也很突然,对业界也很突然。

      我们得到消息的时候也是突然宣布的时候,其实回过头来再往前看,感觉其实两个公司的上层是有一些动作的,在过去1到2年当中,Vxworks在Intel芯片上有很多的东西,以前是没有的。以前Intel合作多的还是Linux,但是做过去1、2年,很多方面Vxworks在Intel芯片上来做,回过头来一想,两个公司是不是有预谋,也不敢讲(呵呵)。所以从目前情况来讲,我觉得按照目前它的指导思路和想法应该不会有大的变化,但是business总是随时会变的,大家可以密切观察,但是我觉得观察点还是把Wind River放在一个什么位置去看。我觉得这是一个最根本的观察点,如果你作为一个独立软件公司,我觉得不会走的太偏,这是我的一些观点。[page]

      何小庆最早给我出的题目是一些嵌入式商用OS的一些发展趋势等等。第一个我觉得可能题目有点大,第二个呢,有个观点:前一阵在广州跟周立功老师,我们谈了好几个小时,其实我们觉得嵌入式软件这一块,制高点是在操作系统之上的平台,并非操作系统本身。这是很关键的一个地方,周老师他们做的方向非常好。这个只是一个建议,虽然你的名字叫anywhere,目标有点大,可能会有点问题,可以先从somewhere开始,做到最后可以是anywhere,会做的越来越好。架构上要支持最终的anywhere,这种坐下来可能会更踏实一些,ok,回到最初的题目上。操作系统本身就很大,我只能尽可能选择小一点、能讲出具体东西的题目来讲,就取名为《multicore and multiOS》了。

      第一个,大家接受多核的速度远比我们想象的要快,特别在通讯行业。今天这个多核,可以说在嵌入式行当,尤其在通讯行当,已经是很普遍的事情了,但是接受多核的地方和我们一开始想象的不太一样。刚开始,以为多核之所以多核主要还是性能上,觉得一个应用需要更多的在性能,嵌入式里面功耗不能太大,不能光靠提高主频还提高性能,所以觉得多核才是一个出路。其实今天看到用的更多的是降低成本,原来可能是2块板子或者3块板子来完成的事,现在因为有了多核,一块板子就可以做了,这是最大的地方。而且可以看到许多半导体厂家,两核可能比单核价格高那么一点,也不高到哪去,这是降低成本,融合,反而是多核最大的一个应用。我们所看到,不管是华为中兴还是更小一点的客户,基本上都是这样子的一个情况。

      其实多核,可能我刚才谈到的很多是同构的,其实异构的多核很多都是手机上,或者其他一个CPU带一个ARM,或一个DSP等等,但是这种方式往往对编程模式或者对软件影响可能不像同构影响那么大,还是两个独立的自编自的程序,互相视为外设等这样一个方式,所以我这块讲的主要还在同构这个多核下对编程的一些影响。多核为什么要和多OS绑在一起?其实,如果多核情况下,最典型的我们知道,多核可以按照对称多处理,对称多往往就是一个操作系统把所有的核都管上了,应用程序大体透明,这样一种方式。

      今天我们看到的情况是AMP多于SMP,在网络这一块我看到是这样一个情况。那么在AMP下,未必每个核上操作系统都一样,就会带来多操作系统的情况,那么多操作系统和虚拟化有什么关系呢?这是在架构融合上考虑的一个问题,其实不光虚拟化,我们知道一台计算机不光要有CPU,存储器,I/O,把这些东西放在一起,可以叫做一台计算机,虚拟化把这三部分都虚拟,这叫完全虚拟化;其实在多核上,就是说它的核可能是实的,有2个核或者3个核是实的,I/O、memory做一定的虚拟化,这也是一种虚拟。虚拟的概念可以是部分虚拟,虚虚实实结合在一起,所以多OS和虚拟化有通过这个融合在一起。这样在软件上,无论是给用户提供的编程模式,还是软件的体系架构上面,都会带来一些方便。这是为什么multi-OS和Visualization(虚拟)又给连在一起了。[page]

      从这张图可以看出,如果大家了解windriver,可能知道有很多操作系统,有Linux,Vxworks,还有其他很多版本,左边这个可能很多人不太清楚,是特种的OS(基于vxwork),其实这个上面就是说现在我们所看到的发展趋势在操作系统之下有个我们叫做hypervisor的一层,这层就实现对multi-OS和virtualization的支持,这样一层,可以是Vxworks也可以是Linux。如果把这个hypervisor以及多核、多OS放在一起,用这样四张图,大家可能看得比较清楚,最左上角这个是传统一点的,一个CPU上面有一个OS,这样的一种方式;左下角这个是SMP的,底下有多个处理器,上面有一个操作系统,这是一种方式;那么右上角这个呢,是大家理解的典型的虚拟化,就是一个CPU,在一个计算机上虚拟化,虚拟出两个虚拟计算机,然后运行两个操作系统;值得关注的就是右下角这样子的配置,它是多个核,但是中间还有一层虚拟化的一层,然后上面有两个OS,我们管这样的一个配置,它实际上是一个叫做supervisor,比hypervisor它的功能低一点,因为它不需要虚拟CPU,有时候我们把这个叫做带管理的AMP,也就是supervised AMP,或者叫做managed AMP,作为这样子的一种方式。

      就是在多核以后,AMP的各种配置可以说千奇百怪,用户可以各种各样地进行配置,这张图上举了几个例子,有点核上可能没有操作系统,有的核上是Linux操作系统,有的是Vxworks操作系统,也有可能是μC/OS系列操作系统,实际上就是说,有了这么复杂,有各种各样应用的情况下,其实这么多核,这么多操作系统,在这些底下,有一层相对有点统一的管理对解决它的复杂度,包括对解决它编程的方便程度,以及它的可重配置工作,都是很大好处的,这时候可以感到为什么会出现supervisor和hypervisor这样一个东西。打个比方,supervisor和hypervisor有点像PC上BIOS那一层,是操作系统下面的这样一层。
   
      这张图就稍微细的展开了一点hypervisor的一些情况,最底下可以看到物理上有IDE,有时钟、以太网、有串口,可能有若干个CPU、核,在上面呢,可能通过hypervisor就是指的这个部分,configuration相当于资源的配置表,在这之上,是虚拟出三块板子,可以看到三块板子中有一块板子所谓的Vcore就是物理对应的实核,另两块板子所谓的虚CPU可能就是两块板子共享的同一个物理的CPU,虚虚实实是混在一起的,而且这里面I/O口,可能某一个以太网口是专门给一个板子,对它来讲,虚设备和实设备是完全匹配的,可能对另外两个板子上它的以太网是共享同一个以太网,所以虚虚实实可以通过配置来实现用户的一个选择,有了这个hypervisor,实际上就把多核多OS放在一起,使得这样一个环境下可管理、可编程、可调试,这样可能更好一些。

      我讲的基本就是这样一些,谢谢大家。

      (感谢嵌入式系统联谊会提供本次文字实录,相关PPT下载请访问:http://www.esbf.org.cn/img/0906hq.pdf

[ 新闻来源:嵌入式系统联谊会,更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj]
存入云盘 收藏
举报
全部评论

暂无评论哦,快来评论一下吧!