系统介绍

AliOS 是基于 Linux Kernel 研发的驱动万物智能的操作系统,适用于多种设备类型,如物联网设备、手机、平板电脑、电视、车载系统等。下图是 AliOS Lite整体架构及系统的主要组件模块。  图1 AliOS系统架构和模块

应用层(Applications)

系统包含内置的系统级应用来提供系统各种能力给到最终用户。这些应用包括常见的桌面(Desktop)、系统界面(SystemUI)、浏览器(Browser)、音乐(Music)、录音机(Recorder)、设置(Settings)等。系统定制者和应用开发者可以基于应用框架层的API能力开发新的应用。

应用框架层(Application Framework)

应用开发者使用 JavaScript 语言开发 AliOS系统的应用 (称为“CloudApp”),通过 AliOS 应用框架提供的 JavaScript API 访问 AliOS 系统完整能力集以及系统的“云服务”能力集。同时,系统提供一定程度的本地化接口(C/C++ API),方便应用开发者在一些场景下来获得更好性能的能力。应用框架层主要包括以下组件和服务:

  • 灵活、可扩展的用户界面系统,方便开发者构建优美、流畅的用户交互体验 开发者除了可以使用代码创建用户界面以外,还可以使用基于 XML 的 AliOS 界面定义语言 UI Markup Language描述用户界面的构成和布局,由应用框架在运行时帮助创建相应的用户界面。
  • 基于页面Page的应用组件和应用生命周期管理,利于开发者灵活构建应用结构 开发者可以自定义页面生命周期中重要阶段的事件处理逻辑,通过 Page Link 启动一个新的页面,与另一个页面进行通信和数据交换,通过 Page Cover使得应用的能力可以在应用之外的其它容器中被组合,利于服务的轻量化和整合。
  • 应用资源的存取和管理,方便开发者在任何时候对于非代码应用数据的存取 开发者可以方便地访问与目标地区(locale)以及设备类型(例如屏幕分辨率)相匹配的非代码的应用资源,例如文本、图片等。
  • 系统能力服务,方便开发者充分利用设备的能力。 开发者使用应用框架提供的系统API可以访问目标设备上操作系统提供的各项能力,例如 WiFi、蓝牙、电话、网络通信、通知等。
  • 系统“云服务”,为开发者提供打造进阶服务的能力。 系统整合并提供了一系列对开发者非常有用的云服务能力,例如账号、支付、推送通道、基于位置的服务、搜索、场景化服务等。

值得一提的是,熟悉 Web 和 HTML 的开发者也可以使用 HTML 开发 CloudApp,并且也具有直接调用应用框架层接口的能力。 AliOS 应用开发者可以在"API参考"找到完整的应用框架系统API 列表。

应用运行时层(Application Runtime)

应用运行时环境为系统上的应用(CloudApp)提供完整、高效、可控的运行时环境,支持CloudApp包资源获取、缓存等能力。该层包含以下几个重要组件:

  • 虚拟机 虚拟机及核心库设施是一个兼容Node.js的JavaScript运行时环境,支持事件驱动、非阻塞 I/O 操作,并提供高效的JavaScript编译与执行、对象生命周期管理与垃圾回收机制。 每一个AliOS应用进程都有自己独享的虚拟机实例,为了减少应用进程的内存开销,同时加快虚拟机启动速度,AliOS采用了Seed进程机制:每一个应用进程都是从一个共同的祖先进程,即Seed进程创建。Seed进程在 AliOS 系统启动阶段就会被创建,此时Seed进程会创建虚拟机实例并对其进行初始化,加载应用框架和其它一些每个应用进程都可能用到的库。当需要一个新的应用进程时,系统从Seed进程创建出一个新的进程,新的进程与 Seed 进程分享了实例代码,应用框架以及其它的共享库代码和数据。一旦这些共享代码或数据被应用进程修改了,“copy-on-wirte”机制会将修改的被修改的代码或数据拷贝到相应应用进程,而Seed进程以及其它由 Seed 进程创建而来的应用进程不受此影响,进程间的安全边界得到保证。
  • 页面生命周期管理服务(PageSystem)

    • 静态页面管理服务(Static Page Management Service, SPMS) 负责应用资源定位、下载/预下载、缓存、更新 AliOS 应用的页面以及页面所依赖的各种应用资源。
    • 动态页面管理服务(Dynamic Page Management Service, DPMS) 负责创建、清除 AliOS 应用的页面实例,当用户或者系统改变页面在其生命周期中所处状态时通知页面(例如从前台换到后台或从后台换到前台),页面链接(Page Link)的管理等。

    SPMS 和 DPMS 一起协同配合,实现无论页面及其资源是否在设备本地,一旦有需要就能被高效地在设备本地加载运行。而一旦 AliOS 应用页面在 AliOS 应用分发中心被更新,SPMS 会和 DPMS 协作确保最短时间内用户可以用到最新的页面。

  • 网络管理服务(Network Management Service, NMS)和数据管理服务(Data Management Service, DMS) AliOS 应用访问网络服务(例如通过 HTTP 协议访问一个 Web 服务)和本地数据服务(例如访问本地数据库)都是受控的,都是经由运行时环境中的NMS和DMS来处理。这样网络通讯和数据访问的安全性有了系统性的保障,可以有利管控不良应用给用户带来的不利后果。
  • 图形用户界面渲染引擎(Agil Engine) 这是一个高效的图形渲染引擎,它能够支撑开发者使用应用框架开发灵活、流畅的图形用户界面。
  • Web 引擎(Web Engine) 系统兼容Web生态,包括HTML5的众多功能特性。运行时环境中的 Web 引擎支持应用框架中的系统 WebView,以及前面提到的使用 HTML 开发的 AliOS 应用的运行。

系统服务层(System services)

系统服务层是AliOS操作系统中提供硬件核心能力的服务层,为上层的应用框架提供基本的设备服务,例如窗口管理服务、WiFi、蓝牙、传感器、电源管理、多媒体、相机等,同时系统服务层还包含了一些基本的核心库,为系统中各个组件使用。

硬件抽象层(HAL, Hardware Abstraction Layer)

系统定位于服务各种智能化设备,所以需要能够适应这种层次的硬件。为此,在系统服务层之下硬件之上,系统定义了硬件的抽象层,用来解决硬件的差异带来系统架构上的适配问题。综合来看,硬件抽象层的主要目的在于:

  • 保证系统的上层架构及模块设计一致,从而便于移植到不同的硬件平台
  • 屏蔽底层硬件的差异性
  • 提供最大的硬件覆盖性,提升系统的适用能力

内核层(Kernel)

系统复用来自于开源社区的Linux Kernel,主要是通过 Linux 内核管理设备硬件资源,如 CPU调度、缓存、内存、I/O 等。系统同芯片提供商一起进行内核的版本定期升级和维护。 针对Linux Kernel,为了完成系统的要求,还需要在内存管理、安全机制、流量管控、进程间通信(IPC)等基础性方面进行有效性的提升。

除了上述阐述的六个层次之外,系统包含了更多特征和能力,体现在安全体系、AI能力和云上服务部分,主要包括以下三大类:

AI能力(Artificial Intelligence Capabilities)

系统整合了人工智能领域的能力,内置了包括机器学习框架(MLKit)、智能语音(NUI)、视觉智能(Vision)等在内的多种能力。

云上服务(Cloud Services)

系统整合了各种云上服务的能力,包括基础性的服务如帐号、支付、系统升级、备份、位置等,也加入了增强型的服务,例如推送、数据智能等。 系统提供支持这些云服务的客户端框架,使得系统开发者在支持无缝连接AliOS所提供的云服务之外,可以根据自己的需要来定制自身云上的方案。

安全体系(Security)

系统提供了从上到下的一整套安全机制,从应用层的权限(Permission)、应用数据隔离、Web安全等,到运行时环境的安全沙箱、授权管理、证书管理和认证,再到内核层的SELinux新机制、完整性保护等等。一整套的安全体系构建贯穿在系统各个层次中,详情见系统安全部分的介绍。

转载:https://open.alios.cn/doc/develop.html

https://g.alicdn.com/aic/aep-docs/1.3.8/index.html

开源代码:https://github.com/alibaba/AliOS-Things

【操作系统】alios相关推荐

  1. 英特尔、联发科、展讯等开始支持开源的物联网轻量化操作系统AliOS Lite

    操作系统AliOS Lite Chaos 12-21 11:03 在 12 月 20 日的云栖大会北京峰会上,阿里宣布即将开源 AliOS Lite,此前面向 IoT 领域的轻量级物联网嵌入式操作系统 ...

  2. 阿里开源物联网操作系统 AliOS Things 3.0 发布,集成平头哥 AI 芯片架构!

    阿里云智能产品管理部总经理.AIoT 事业部产品与解决方案总经理何云飞 作者 | 唐小引发自云栖小镇 出品 | CSDN(ID:CSDNnews) 阿里正式提出将 IoT 作为主赛道是在去年 3 月, ...

  3. 阿里布局物联网!开源操作系统 AliOS Things 喜提 1 亿芯片出货量

    人工智能学习路线+实战训练 https://edu.csdn.net/topic/ai30?utm_source= csdn_bwv 作者 | 胡巍巍 出品 | CSDN(ID:CSDNnews) 2 ...

  4. 阿里云物联网操作系统AliOS Things获国家重点研发计划立项

    近日,阿里云物联网操作系统AliOS Things正式通过了国家重点研发计划重点专项2020年度立项,国家重点研发计划是我国最高级别的研发项目,意味着国家层面对AliOS Things的高度认可,该操 ...

  5. 轻量级物联网嵌入式操作系统 AliOS

    origin: https://www.itcodemonkey.com/article/988.html 轻量级物联网嵌入式操作系统 AliOS 授权协议:Apache 2.0 开发语言:C/C++ ...

  6. 驱动万物 AliOS加速汽车操作系统普及

    继阿里巴巴集团全新操作系统品牌AliOS正式发布并宣布其未来战略重点为IoT领域后,10月13日,在2017杭州•云栖大会上再次宣布重磅消息:AliOS携手斑马网络与神龙汽车就未来汽车智能化达成战略合 ...

  7. 国产操作系统代表阿里AliOS开源啦!

    近来,AliOS 家族旗下面向 IoT 领域的轻量级物联网嵌入式操作系统 AliOS Things 正式开源.对于 AliOS 开源,阿里巴巴集团资深副总裁.AliOS 总裁胡晓明谈及他的观点,他认为 ...

  8. 不只是阿里的操作系统,AliOS正式开源!

    origin: http://tech.sina.com.cn/roll/2017-10-21/doc-ifymyyxw3822549.shtml 近年来,阿里巴巴在技术领域投入不断加强,拥抱开源也由 ...

  9. 凝思系统改时间_国产操作系统往事:四十年激变,终再起风云

    在这一轮技术浪潮中,无论是底层的开发生态,算力的硬件基础,还是五花八门的商业化落地场景,中国企业都有着毋庸置疑的话语输出能力.而另一个全民皆知.中国ICT产业的长期阵痛--国产操作系统,也在2019世 ...

  10. 国内四家物联网实时操作系统浅析

    国内四家物联网实时操作系统浅析 如果把云计算比作地球的大脑,那么物联网终端就是遍布全球的"神经末梢".如果把云计算比作地球的心脏,那么物联网终端就是遍布全球的"毛细血管& ...

最新文章

  1. NVIDIA GPU卷积网络的自动调谐
  2. ACMNO.28 Python的三行代码解决 C语言-链接字符
  3. 【leetcode】Balanced Binary Tree(middle)
  4. python与pyqt5_【Python开发】PyQt5应用与实践
  5. 采用 Vue 编写的功能强大的 Swagger-ui 页面
  6. 有关打印、收藏等的JS代码(打印等主要使用了一个IE组件来实现)
  7. 02-java常量变量数据类型
  8. 回顾:我们从2次主要API中断中汲取的经验教训
  9. 蔬菜名称大全500种_市场上常见47种室外健身器材型号及名称大全
  10. api接口加密_接口加密如何测试?
  11. 神一样的产品经理——基于移动与互联网产品实践
  12. win32 指令大全
  13. 互联网公司干不好上门维修?
  14. 转行开始的前端填坑之路
  15. win7休眠设置在哪里_win7系统如何关闭休眠模式--win7w.com
  16. HDU 5296 Annoying problem LCA+树状数组
  17. cartographer_pose_extrapolator
  18. 【pytorch】简单BP神经网络用于通用分类任务的代码模板
  19. 2022亚太数学杯数学建模竞赛C题(思路、程序......)
  20. 曙光天阔H系列服务器,曙光天阔服务器.PDF

热门文章

  1. 小鹏 肖志光_自动驾驶:小鹏在展翅,蔚来有未来
  2. 【Docker】(八) Docker可视化工具Portainer(汉化)
  3. 对比CSDN与开源中国、segmentFault思否
  4. MacBook Pro拓展坞失灵问题的解决建议
  5. TextView(文本框)详解
  6. 从Rust到远方:PHP星系
  7. 半小时搞懂H264 编解码协议
  8. 【原创】ARM LINUX 外部RTC实时时钟驱动移植(RX8025)
  9. 权限系统就该这么设计,yyds
  10. 2018-2019-2 20175311 实验三《敏捷开发与XP实践》实验报告