资源描述
OpenHarmony智慧教育装备领域应用白皮书互联网教育智能技术及应用国家工程研究中心OpenHarmony智慧教育装备领域应用白皮书3.1 智慧教室中的应用.16 3.1.1 智慧教室建设理念.16 3.1.2 基于OpenHarmony 的新型智慧教室整体方案.17 3.1.3 基于OpenHarmony的新型智慧教室的构成.233.2 智慧实验室中应用.29 场景1:智慧实验室可视化智能管理系统.29 场景2:智能弹簧测力计.30 场景3:智能甲醛浓度测试仪.311.1 通用操作系统.3 1.1.1 Windows系统.3 1.1.2 Linux操作系统.31.2 业内常用嵌入式操作系统.41.3 嵌入式操作系统的体系结构介绍.5 1.3.1 内核体系结构.5 1.3.2 文件系统.6 1.3.3 图形用户界面.6 1.3.4 应用软件.72.1 技术架构.9 2.1.1 内核层.9 2.1.2 系统服务层.10 2.1.3 框架层.11 2.1.4 应用层.112.2 技术特性.11 2.2.1 硬件互助,资源共享.11 2.2.2 一次开发,多端部署.12 2.2.3 统一OS,弹性部署.12 2.2.4 微内核架构设计,可信安全.134.1 推动教育装备智能泛在终端普及,打破教育管理信息孤岛.614.2 重塑信息科技教育开源软硬件,打造中国特色开源新生态.614.3 加强对OpenHarmony的教师培训,提升数字素养与技能.614.4 构建基于OpenHarmony的APP Store,提供丰富优质教育产品.624.5 确立教育专用操作系统标准,构建OpenHarmony教育软件应用社区.624.6 建立OpenHarmony示范点,探索OpenHarmony教育应用模式.62引言第3章 OpenHarmony 在智慧教育装备中的应用场景第4章 OpenHarmony在智慧教育装备领域中的应用建议 场景4:智能地球仪.323.3 智慧图书馆中应用.33 场景1:智慧图书馆智能借还系统.33 场景2:基于增强现实技术的图书导航系统.34 场景3:电子多功能触控阅览桌.353.4 智慧体育.36 场景1:大数据乒乓球训练系统.36 场景2:智能跳绳.37 场景3:智能篮球发球装置.38 场景4:智能单杠中考考试系统.393.5 艺术教育场景应用.41 场景1:智慧音乐系统.41 场景2:智慧美术系统.43 场景3:基于触觉物联网的书法反馈笔.443.6 可穿戴设备中应用.45 场景1:智慧运动手环.45 场景2:智能感知书包.47 场景3:智能脑电耳机.493.7 信息技术教育开源硬件.503.8 家校共育中的应用.53 场景1:儿童数字阅读平台.53 场景2:AI智能学习机.55 场景3:基于智慧校园的家校互联系统.55 场景4:智能电子学生证.57第1章 操作系统的介绍第2章 OpenHarmony操作系统目录CONTENT本白皮书第一章首先介绍了操作系统和嵌入式操作系统及其功能情况,第二章介绍了OpenHar-mony操作系统的技术架构与技术特性。第三章,结合OpenHarmony操作系统的技术和功能特性,介绍了OpenHarmony在智慧教育装备中的应用场景,调研、总结了OpenHarmony操作系统在智慧教育装备中的八类应用场景。其中,包括智慧教室、智慧实验室和智慧图书馆等教育装备,如智慧教室边缘计算控制系统、智慧实验室可视化智能管理系统和智慧图书馆智能借还系统。同时场景还涵盖了体育、音乐、书法等部分中小学学科,如大数据乒乓球训练系统、智能跳绳、智能篮球发球装置、智能单杠中考考试系统、可视化智能音乐演示系统、智能音乐美育系统、基于触觉物联网的智能反馈笔等。场景还涉及到了多样化的可穿戴设备,如智能个人应急终端、智慧运动手环、智能脑电耳机等。信息技术开源硬件以及家校共育的智能硬件设备都有所阐述。第四章主要从推广OpenHarmony操作系统在教育行业中的应用,打造中国教育专用操作系统的视角提出六条建议,包括普及教育装备智能泛在终端,突破教育管理信息孤岛;重塑信息技术教育开源硬软件,打造中国特色开源新生态;加强对OpenHarmony的教师培训,提升数字素养与技能;构建基于OpenHarmony操作系统的APP Store,提供丰富优质教育产品;确立教育专用操作系统标准,构建OpenHarmony操作系统教育软件应用社区;建立OpenHarmony操作系统示范点,探索OpenHarmony操作系统教育应用模式。党的二十大明确提出,要加快建设网络强国、数字中国,推进教育数字化,加快发展数字经济,实施国家文化数字化战略。2021年3月教育部等六部门联合发布了关于推进教育新型基础设施建设构建高质量教育支撑体系的指导意见(以下简称为“意见”),吹响了教育领域新基建的号角,该意见指出教育新型基础设施以新发展理念为引领,以信息化为主导,面向教育高质量发展需要,聚焦信息网络、平台体系、数字资源、智慧校园、创新应用、可信安全等方面的新型基础设施体系。操作系统作为最基本、最重要的基础软件,是计算机系统的内核与基石,为教育新基建的建设提供重要支撑,为构建高质量教育体系提供“数字地基”。操作系统作为软件产业核心,不仅影响软件产业发展的核心竞争力,而且对于加强国家信息安全和增强国家的综合实力至关重要。国产操作系统产业自主创新,事关信息技术国家竞争力,甚至国家信息安全。OpenHarmony操作系统具备了包括分布式任务调度和分布式数据管理能力在内的分布式能力,可以搭载各类教育终端设备和各类物联网设备,将人、设备、场景有机地联系在一起,创造了一个超级虚拟终端互联的世界,实现连接极速、硬件互助、资源共享、安全可信,用丰富的教育设备呼应教育场景中的多样需求。引言本白皮书章节结构如下图所示01操作系统概述应用场景发展建议OpenHarmony操作系统内核子系统采用多内核(Linux内核或者LiteOS)设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理。系统服务层是OpenHarmony的核心能力集合,通过框架层对应用程序提供服务。该层包含系统基本能力子系统集、基础软件服务子系统集、增强软件系统子系统集、硬件服务子系统集。框架层为应用开发提供了C/C+/JS等多语言的用户程序框架和Ability框架,适用于JS语言的ArkUI框架,以及各种软硬件服务对外开放的多语言框架API。根据系统的组件化裁剪程度,设备支持的API也会有所不同。1.1 通用操作系统1.1.1 Windows系统Windows系统是美国微软公司以图形用户界面为基础研发的操作系统,主要用于计算机、平板等设备,是全球应用最广泛的操作系统之一。Windows系统架构由用户模式和内核模式为基础,由系统微内核、硬件抽象层、硬件驱动、Windows子系统模块、系统服务和用户进程等部分组成。用户模式进程可以分为系统支持进程、服务进程、用户应用程序、环境子系统四种基本类型。Windows执行体包含了基本的操作系统服务,其内核是由一组低层次的操作系统功能组成;设备驱动程序包括硬件设备驱动程序、文件系统和网络驱动程序之类的非硬件设备驱动程序;硬件抽象层(HAL,Hardware Abstraction Layer)用来将内核、设备驱动程序和windows执行体的其余部分与平台相关的硬件差异隔离。Windows操作系统架构组成如下图1-1所示:灵活性高,功能强大,成本低。这些特点使得Linux成为开发路由交换设备的理想开发平台。Linux系统一般包含4个主要部分:内核、Shell、文件系统和应用程序,部分层次结构如图1-2所示。内核是操作系统的核心,负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,Shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,如EXT2、EXT3、FAT、FAT32、VFAT和ISO9660。1.2 业内常用嵌入式操作系统嵌入式操作系统历史悠久、门类繁多、用途广泛,不仅包括嵌入式实时多任务操作系统、开源的Linux、机器人和路由器操作系统,还包括新型的物联网操作系统。以下为业内常用的嵌入式操作系统:OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。2.1 技术架构OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 子系统 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件。OpenHarmony技术架构如下所示:应用层包括系统应用和第三方非系统应用。应用由一个或多个FA(Feature Ability)或PA(Particle Ability)组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。2.1.1 内核层内核层由内核子系统和驱动子系统组成。内核子系统:OpenHarmony操作系统采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。驱动子系统:硬件驱动框架(HDF)是OpenHarmony硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架。2.1.2 系统服务层系统服务层是OpenHarmony操作系统的核心能力集合,通过框架层对应用程序提供服务。该层包含以下几个部分:系统基本能力子系统集:为分布式应用在OpenHarmony操作系统多设备上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、公共基础库、多模输入、图形、安全、AI等子系统组成。基础软件服务子系统集:为OpenHarmony操作系统提供公共的、通用的软件服务,由事件通知、电话、多媒体、DFX(Design For X)、MSDP&DV等子系统组成。增强软件服务子系统集:为OpenHarmony操作系统提供针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT专有业务等子系统组成。硬件服务子系统集:为OpenHarmony操作系统提供硬件服务,由位置服务、生物特征识别、穿戴专有硬件服务、IoT专有硬件服务等子系统组成。第1章 操作系统的介绍图1-1 Windows操作系统架构组成1.1.2 Linux操作系统Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,能够基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议,并支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux具有开放源码、没有版权、技术社区用户多等特点,开放源码使得用户可以自由裁剪,1.3 嵌入式操作系统的体系结构介绍1.3.1 内核体系结构(1)微内核微内核与宏内核相对应,是操作系统的一种结构形式。操作系统的核心功能包括文件系统、内存和 I/O 设备管理、CPU 调度等,宏内核即指操作系统将上述功能全部“打包集成”在内核里,不同的功能模块之间耦合度高,所以具有高效率的优点。微内核则将系统分为各个小的功能模块,仅将核心的调度、内存管理功能保留在内核中,驱动、文件系统等以“外部模块”的形式与内核连接,相应的优势是易于拓展、易于维护与更新、稳定性高。(2)单一内核操作系统的核心代码,且运行于内核模式下,如果内核的所有模块都在同一进程中,就称为单一内核;如果内核的模块在不同进程中,称为微内核。单一内核是个很大的进程。它的内部又能够被分为若干模块(或是层次或其他)。但是在运行的时候,他是个单独的二进制大体积Image文件。其模块间的通讯是通过直接调用其他模块中的函数实现的,而不是消息传递。所有的内核都设计成单内核。所谓单内核就是把它从整体上作为一个单独的大过程来实现,并同时运行在一个单独的地址空间。如传统的UNIX内核与Linux内核均为单一内核。(3)扩展内核扩展内核是一种加载到操作系统中央组件中的计算机软件。扩展内核可以用来提供功能或硬件支持,否则将不属于内核的一部分。扩展内核通常被允许执行任务或访问操作系统的整部部分软件。在某些操作系统中,扩展内核被称为内核模块。1.3.2 文件系统文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。在计算机中,文件系统是命名文件及放置文件的逻辑存储和恢复的系统。文件系统由三部分组成:文件系统的接口、对对象操纵和管理的软件集合、对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。1.3.3 图形用户界面图形用户界面设计主要供用户在前台进行操作,其本质属性是为用户与设备之间以更便利各自理解的方式传递信息。图形用户界面提供了一种视觉承担特质,用户通过程序的后台进行信息传达。优美的图形用户界面丰富了操作时的体验并通过情感链接用户,把设计创新转化成生产力,增加了消费者的购买动力,推动设计与产业对接,进而提升企业的商业价值。常用的嵌入式图形用户界面开发派系含包括Qt、DirectFB、GTK等。其中最常用的是Qt图形系统和GTK图形系统。Qt是一个跨平台的 C+开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,也可以开发不带界面的命令行(Command User Interface,CUI)程序。Qt 的本质是一个GUI 库,用来开发图形界面应用程序,GTK是一种图形用户界面(GUI)工具包,是若干个密切相关的库的集合,它支持创建基于 GUI 的应用程序。GTK可用来创建 GUI 的许多已经准备好的构造块。1.3.4 应用软件应用软件是指用于完成特定任务或解决特定问题的计算机程序,通常是由开发人员编写的。应用软件可以包括各种类型的程序:如文字处理类、电子表格类、图形图像类、网络通信类、简报软件类、统计软件类等。这些软件可以在计算机、手机、平板电脑等设备上运行,帮助用户完成各种工作和娱乐活动。文字处理类是指:具有文本编辑、文字处理、桌面排版等功能的应用软件,如:WPS、Word等。电子表格类是指:具有表格定义、计算和处理等功能,如:Excel等。图形图像类是指:具有图像处理、几何绘制等功能,如AutoCAD、Photoshop等。网络通信类是指:具有电子邮件、网络文件管理、远程计算、浏览器等功能,如:Outlook Express、Maill等。简报类软件是指:具有制作幻灯片、演讲报告等部分,如:PowerPoint等。统计软件类是指:具有统计、汇总、分析等功能,如:SPSS、SAS等。2.1.3 框架层框架层为OpenHarmony操作系统应用开发提供了Java/C/C+/JS等多语言的用户程序框架和Ability框架,两种UI框架(包括适用于Java语言的Java UI框架、适用于JS语言的JS UI框架),以及各种软硬件服务对外开放的多语言框架API。根据系统的组件化裁剪程度,OpenHarmony设备支持的API也会有所不同。2.1.4 应用层应用层包括系统应用和第三方非系统应用。OpenHarmony操作系统的应用由一个或多个FA(Feature Ability)或PA(Particle Ability)组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。FA在进行用户交互时所需的后台数据访问也需要由对应的PA提供支撑。基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。2.2 技术特性2.2.1 硬件互助,资源共享搭载OpenHarmony操作系统的设备在系统层面融为一体、形成超级终端,让设备的硬件能力可以弹性扩展,实现设备之间硬件互助,资源共享。OpenHarmony通过分布式软总线、分布式数据管理、分布式任务调度、设备虚拟化四大能力,将四层协议栈精简为一层,提升有效载荷,使开发者像开发同一终端一样开发跨终端分布式应用,使用户享受跨终端无缝协同体验,实现不同终端设备之间的快速连接、能力互助、资源共享,感受流畅的全场景体。(1)分布式软总线分布式软总线是多设备终端的统一基座,为设备间的无缝互联提供了统一的分布式通信能力,能够快速发现并连接设备,高效地传输任务和数据。(2)分布式数据管理分布式数据管理位于基于分布式软总线之上的能力,实现了应用程序数据和用户数据的分布式管理。用户数据不再与单一物理设备绑定,业务逻辑与数据存储分离,应用跨设备运行时数据无缝衔接,为打造一致、流畅的用户体验创造了基础条件。(3)分布式任务调度分布式任务调度基于分布式软总线、分布式数据管理、分布式Profile等技术特性,构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行远程启动、远程调用、绑定/解绑、以及迁移等操作,能够根据不同设备的能力、位置、业务运行状态、资源使用情况并结合用户的习惯和意图,选择最合适的设备运行分布式任务(4)设备虚拟化分布式设备虚拟化平台可以实现不同设备的资源融合、设备管理、数据处理,将周边设备作为手机能力的延伸,共同形成一个超级虚拟终端。2.2.2 一次开发,多端部署面向开发者,实现一次开发,多端部署。对应用开发者而言,鸿蒙操作系统采用了多种分布式技术,使应用开发与不同终端设备的形态差异无关,从而让开发者能够聚焦上层业务逻辑,更加便捷、高效地开发应用。OpenHarmony提供用户程序框架、Ability框架以及UI框架,能够保证开发的应用在多终端运行时保证一致性。一次开发、多端部署。多终端软件平台API具备一致性,确保用户程序的运行兼容性,实现多设备终端连接。支持在开发过程中预览终端的能力适配情况(CPU/内存/外设/软件资源等)。支持根据用户程序与软件平台的兼容性来调度用户呈现。2.2.3 统一OS,弹性部署OpenHarmony操作系统可以满足不同能力的设备需求,实现统一OS,弹性部署。对设备开发者而言,OpenHarmony系统采用了组件化的设计方案,可根据设备的资源能力和业务特征灵活裁剪,满足不同形态终端设备对操作系统的要求。OpenHarmony通过组件化和组件弹性化等设计方法,在多种终端设备间,做到硬件资源的可大可小,按需弹性部署,全面覆盖了ARM、RISC-V、x86等各种CPU,从百KiB到GiB级别的RAM。2.2.4 微内核架构设计,可信安全OpenHarmony采用结构小巧的微内核架构设计,具备更强安全性和更低时延的特性,主要负责基础功能,例如中断、通信和调度,提升交互进程通信性能,使得架构灵活,节省系统资源,保证系统的稳定性。微内核架构简化内核功能,将系统分为各个小的功能模块,提供操作系统核心功能的内核的精简版本,仅将核心的调度、内存管理功能保留在内核中,驱动、文件系统等以“外部模块”的形式与内核连接,相应的优势是易于拓展、易于维护与更新、稳定性高,重塑终端可信安全。OpenHarmony智慧教育装备领域应用白皮书03内核子系统采用多内核(Linux内核或者LiteOS)设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理。系统服务层是OpenHarmony的核心能力集合,通过框架层对应用程序提供服务。该层包含系统基本能力子系统集、基础软件服务子系统集、增强软件系统子系统集、硬件服务子系统集。框架层为应用开发提供了C/C+/JS等多语言的用户程序框架和Ability框架,适用于JS语言的ArkUI框架,以及各种软硬件服务对外开放的多语言框架API。根据系统的组件化裁剪程度,设备支持的API也会有所不同。灵活性高,功能强大,成本低。这些特点使得Linux成为开发路由交换设备的理想开发平台。Linux系统一般包含4个主要部分:内核、Shell、文件系统和应用程序,部分层次结构如图1-2所示。内核是操作系统的核心,负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,Shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,如EXT2、EXT3、FAT、FAT32、VFAT和ISO9660。1.2 业内常用嵌入式操作系统嵌入式操作系统历史悠久、门类繁多、用途广泛,不仅包括嵌入式实时多任务操作系统、开源的Linux、机器人和路由器操作系统,还包括新型的物联网操作系统。以下为业内常用的嵌入式操作系统:OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。2.1 技术架构OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 子系统 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件。OpenHarmony技术架构如下所示:应用层包括系统应用和第三方非系统应用。应用由一个或多个FA(Feature Ability)或PA(Particle Ability)组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。2.1.1 内核层内核层由内核子系统和驱动子系统组成。内核子系统:OpenHarmony操作系统采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。驱动子系统:硬件驱动框架(HDF)是OpenHarmony硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架。2.1.2 系统服务层系统服务层是OpenHarmony操作系统的核心能力集合,通过框架层对应用程序提供服务。该层包含以下几个部分:系统基本能力子系统集:为分布式应用在OpenHarmony操作系统多设备上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、公共基础库、多模输入、图形、安全、AI等子系统组成。基础软件服务子系统集:为OpenHarmony操作系统提供公共的、通用的软件服务,由事件通知、电话、多媒体、DFX(Design For X)、MSDP&DV等子系统组成。增强软件服务子系统集:为OpenHarmony操作系统提供针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT专有业务等子系统组成。硬件服务子系统集:为OpenHarmony操作系统提供硬件服务,由位置服务、生物特征识别、穿戴专有硬件服务、IoT专有硬件服务等子系统组成。1.1.2 Linux操作系统Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,能够基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议,并支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux具有开放源码、没有版权、技术社区用户多等特点,开放源码使得用户可以自由裁剪,图1-2 Linux操作系统的组成1.3 嵌入式操作系统的体系结构介绍1.3.1 内核体系结构(1)微内核微内核与宏内核相对应,是操作系统的一种结构形式。操作系统的核心功能包括文件系统、内存和 表1-1 业内常用的嵌入式操作系统操作系统Android操作系统iOS操作系统Zephyhr操作系统VXworks操作系统uC/OSAmazonFreeRTOSWindows CERT-Thread OS简 介安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要用于移动设备,如智能手机和平板电脑。iOS是由苹果公司开发的移动操作系统。苹果公司最初是设计给iPhone使用,后来陆续套用到iPod touch、iPad上。iOS与苹果的macOS操作系统一样,属于类Unix的商业操作系统。iOS的系统架构分为四层,由上到下依次为:可触摸层(Cocoa Touch layer)、媒体层(Media layer)、核心服务层(Core Services layer)、核心操作系统层(Core OS layer)。Zephyr是2016年由Intel、Synopsys、NXP等公司发起的开源实时操作系统平台项目,现在由Linux基金会管理。项目旨在联合整个行业的领导者,构建针对资源小型受限设备,开发一个可扩展的嵌入式实时操作系统。VXworks是美国 Wind River System 公司推出的一个实时操作系统。并提供了更丰富的调试、仿真环境和工具。VXworks操作系统具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。C/OS 和 C/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,便于移植到任何一种其它的CPU。FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。Windows Embedded Compact(即Widoes CE)是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,其图形用户界面相当出色,可应用到多种便携式手持设备上,是精简的Windows 95。RT-Thread在物联网和嵌入式开发者心目中是非常棒的开源软件,RT-Thread是国内目前合作和支持芯片和厂商众多、社区开发者踊跃、组件丰富、应用领域广泛的国产物联网操作系统。I/O 设备管理、CPU 调度等,宏内核即指操作系统将上述功能全部“打包集成”在内核里,不同的功能模块之间耦合度高,所以具有高效率的优点。微内核则将系统分为各个小的功能模块,仅将核心的调度、内存管理功能保留在内核中,驱动、文件系统等以“外部模块”的形式与内核连接,相应的优势是易于拓展、易于维护与更新、稳定性高。(2)单一内核操作系统的核心代码,且运行于内核模式下,如果内核的所有模块都在同一进程中,就称为单一内核;如果内核的模块在不同进程中,称为微内核。单一内核是个很大的进程。它的内部又能够被分为若干模块(或是层次或其他)。但是在运行的时候,他是个单独的二进制大体积Image文件。其模块间的通讯是通过直接调用其他模块中的函数实现的,而不是消息传递。所有的内核都设计成单内核。所谓单内核就是把它从整体上作为一个单独的大过程来实现,并同时运行在一个单独的地址空间。如传统的UNIX内核与Linux内核均为单一内核。(3)扩展内核扩展内核是一种加载到操作系统中央组件中的计算机软件。扩展内核可以用来提供功能或硬件支持,否则将不属于内核的一部分。扩展内核通常被允许执行任务或访问操作系统的整部部分软件。在某些操作系统中,扩展内核被称为内核模块。1.3.2 文件系统文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。在计算机中,文件系统是命名文件及放置文件的逻辑存储和恢复的系统。文件系统由三部分组成:文件系统的接口、对对象操纵和管理的软件集合、对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。1.3.3 图形用户界面图形用户界面设计主要供用户在前台进行操作,其本质属性是为用户与设备之间以更便利各自理解的方式传递信息。图形用户界面提供了一种视觉承担特质,用户通过程序的后台进行信息传达。优美的图形用户界面丰富了操作时的体验并通过情感链接用户,把设计创新转化成生产力,增加了消费者的购买动力,推动设计与产业对接,进而提升企业的商业价值。常用的嵌入式图形用户界面开发派系含包括Qt、DirectFB、GTK等。其中最常用的是Qt图形系统和GTK图形系统。Qt是一个跨平台的 C+开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,也可以开发不带界面的命令行(Command User Interface,CUI)程序。Qt 的本质是一个GUI 库,用来开发图形界面应用程序,GTK是一种图形用户界面(GUI)工具包,是若干个密切相关的库的集合,它支持创建基于 GUI 的应用程序。GTK可用来创建 GUI 的许多已经准备好的构造块。1.3.4 应用软件应用软件是指用于完成特定任务或解决特定问题的计算机程序,通常是由开发人员编写的。应用软件可以包括各种类型的程序:如文字处理类、电子表格类、图形图像类、网络通信类、简报软件类、统计软件类等。这些软件可以在计算机、手机、平板电脑等设备上运行,帮助用户完成各种工作和娱乐活动。文字处理类是指:具有文本编辑、文字处理、桌面排版等功能的应用软件,如:WPS、Word等。电子表格类是指:具有表格定义、计算和处理等功能,如:Excel等。图形图像类是指:具有图像处理、几何绘制等功能,如AutoCAD、Photoshop等。网络通信类是指:具有电子邮件、网络文件管理、远程计算、浏览器等功能,如:Outlook Express、Maill等。简报类软件是指:具有制作幻灯片、演讲报告等部分,如:PowerPoint等。统计软件类是指:具有统计、汇总、分析等功能,如:SPSS、SAS等。2.1.3 框架层框架层为OpenHarmony操作系统应用开发提供了Java/C/C+/JS等多语言的用户程序框架和Ability框架,两种UI框架(包括适用于Java语言的Java UI框架、适用于JS语言的JS UI框架),以及各种软硬件服务对外开放的多语言框架API。根据系统的组件化裁剪程度,OpenHarmony设备支持的API也会有所不同。2.1.4 应用层应用层包括系统应用和第三方非系统应用。OpenHarmony操作系统的应用由一个或多个FA(Feature Ability)或PA(Particle Ability)组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。FA在进行用户交互时所需的后台数据访问也需要由对应的PA提供支撑。基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。2.2 技术特性2.2.1 硬件互助,资源共享搭载OpenHarmony操作系统的设备在系统层面融为一体、形成超级终端,让设备的硬件能力可以弹性扩展,实现设备之间硬件互助,资源共享。OpenHarmony通过分布式软总线、分布式数据管理、分布式任务调度、设备虚拟化四大能力,将四层协议栈精简为一层,提升有效载荷,使开发者像开发同一终端一样开发跨终端分布式应用,使用户享受跨终端无缝协同体验,实现不同终端设备之间的快速连接、能力互助、资源共享,感受流畅的全场景体。(1)分布式软总线分布式软总线是多设备终端的统一基座,为设备间的无缝互联提供了统一的分布式通信能力,能够快速发现并连接设备,高效地传输任务和数据。(2)分布式数据管理分布式数据管理位于基于分布式软总线之上的能力,实现了应用程序数据和用户数据的分布式管理。用户数据不再与单一物理设备绑定,业务逻辑与数据存储分离,应用跨设备运行时数据无缝衔接,为打造一致、流畅的用户体验创造了基础条件。(3)分布式任务调度分布式任务调度基于分布式软总线、分布式数据管理、分布式Profile等技术特性,构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行远程启动、远程调用、绑定/解绑、以及迁移等操作,能够根据不同设备的能力、位置、业务运行状态、资源使用情况并结合用户的习惯和意图,选择最合适的设备运行分布式任务(4)设备虚拟化分布式设备虚拟化平台可以实现不同设备的资源融合、设备管理、数据处理,将周边设备作为手机能力的延伸,共同形成一个超级虚拟终端。2.2.2 一次开发,多端部署面向开发者,实现一次开发,多端部署。对应用开发者而言,鸿蒙操作系统采用了多种分布式技术,使应用开发与不同终端设备的形态差异无关,从而让开发者能够聚焦上层业务逻辑,更加便捷、高效地开发应用。OpenHarmony提供用户程序框架、Ability框架以及UI框架,能够保证开发的应用在多终端运行时保证一致性。一次开发、多端部署。多终端软件平台API具备一致性,确保用户程序的运行兼容性,实现多设备终端连接。支持在开发过程中预览终端的能力适配情况(CPU/内存/外设/软件资源等)。支持根据用户程序与软件平台的兼容性来调度用户呈现。2.2.3 统一OS,弹性部署OpenHarmony操作系统可以满足不同能力的设备需求,实现统一OS,弹性部署。对设备开发者而言,OpenHarmony系统采用了组件化的设计方案,可根据设备的资源能力和业务特征灵活裁剪,满足不同形态终端设备对操作系统的要求。OpenHarmony通过组件化和组件弹性化等设计方法,在多种终端设备间,做到硬件资源的可大可小,按需弹性部署,全面覆盖了ARM、RISC-V、x86等各种CPU,从百KiB到GiB级别的RAM。2.2.4 微内核架构设计,可信安全OpenHarmony采用结构小巧的微内核架构设计,具备更强安全性和更低时延的特性,主要负责基础功能,例如中断、通信和调度,提升交互进程通信性能,使得架构灵活,节省系统资源,保证系统的稳定性。微内核架构简化内核功能,将系统分为各个小的功能模块,提供操作系统核心功能的内核的精简版本,仅将核心的调度、内存管理功能
展开阅读全文