系统服务层内容-deepseek
OpenHarmony系统服务层采用模块化设计,包含四大类子系统集:1)系统基本能力子系统集(分布式调度、数据管理、硬件管理等核心服务);2)基础软件服务子系统集(多媒体、UI、AI等通用功能);3)硬件服务子系统集(传感器、生物识别等硬件抽象);4)特定功能子系统集(针对穿戴、智慧屏等设备的专属服务)。该层通过服务化架构提供分布式能力,支持跨设备协同,并可根据设备类型灵活裁剪配置,是OpenHa
系统服务层由多个“子系统”组成,每个子系统又包含多个“组件”。这些子系统可以按照功能划分为四大类:系统基本能力子系统集、基础软件服务子系统集、硬件服务子系统集、特定功能子系统集。下面我们逐一展开。
1. 系统基本能力子系统集
这一部分提供了操作系统最基础、最核心的服务,是其他子系统的基础,也是实现分布式能力的关键。
主要包括:
-
分布式调度子系统(DMS):负责跨设备的应用组件调度。例如,一个应用可以在手机上开始,在平板上继续。它通过统一的分布式服务管理,实现应用能力的跨设备调用。
-
分布式数据管理子系统(Distributed Data Management):提供跨设备的数据共享和访问能力。例如,手机上的数据可以自动同步到平板。它包含分布式数据库、分布式文件系统等。
-
分布式硬件子系统(Distributed Hardware):让应用可以像使用本地硬件一样使用远程设备上的硬件。例如,用平板的摄像头进行视频通话,而摄像头实际上在手机上。
-
公共基础库:提供通用的C++基础库,如日志、文件操作、网络通信等。
-
多模态输入子系统:统一管理各种输入事件,如触屏、键盘、鼠标等。
-
安全子系统:提供全面的安全机制,包括应用权限管理、设备认证、数据加密等。
-
账户子系统:管理用户账户信息,支持跨设备账户同步。
2. 基础软件服务子系统集
这一部分提供通用的、与硬件无关的系统服务,为上层应用提供丰富的软件功能。
主要包括:
-
事件通知子系统:提供发布/订阅事件的能力,包括系统事件和自定义事件。
-
电话子系统:提供基本的通信能力,如通话、短信等(在支持通话的设备上)。
-
多媒体子系统:提供丰富的多媒体功能,包括音频、视频的播放和录制,图片编解码等。
-
图形子系统:负责图形绘制和窗口管理,包括2D/3D图形绘制、合成等。
-
UI组件:提供丰富的UI控件,如按钮、列表、对话框等。
-
Web子系统:提供网页渲染能力,基于Chromium内核。
-
AI子系统:提供人工智能能力,如语音识别、图像识别等。
-
升级子系统:负责系统的在线升级和本地升级。
3. 硬件服务子系统集
这一部分提供对硬件设备的抽象和管理,为上层应用提供统一的硬件服务接口。
主要包括:
-
位置服务子系统:提供设备定位能力,包括GPS、网络定位等。
-
生物识别子系统:提供指纹、人脸等生物特征识别能力。
-
传感器子系统:管理各种传感器,如加速度计、陀螺仪、光线传感器等,并提供统一的数据访问接口。
-
穿戴专有子系统:为智能穿戴设备提供特定功能,如健康数据采集、运动状态识别等。
-
其他硬件服务:如蓝牙、Wi-Fi、 NFC等。
4. 特定功能子系统集
这一部分为特定设备形态或特定功能提供增强能力。
例如:
-
智慧屏专有子系统:为智慧屏设备提供电视调台、音视频播放控制等特定功能。
-
穿戴专有子系统:如上所述,为穿戴设备提供特定功能。
系统服务层的设计特点
-
模块化:系统服务层由多个松耦合的子系统组成,可以根据设备类型(轻量系统、小型系统、标准系统)进行裁剪,按需部署。
-
服务化:每个子系统都以“服务”的形式存在,通过统一的接口对外提供能力。服务之间可以相互调用。
-
分布式:许多子系统都具备分布式能力,能够跨设备协作,这是OpenHarmony的核心特性。
如何学习系统服务层?
-
阅读官方文档:了解每个子系统的功能、架构和API。
-
阅读源码:从简单的子系统入手,理解其实现原理。
-
实践:尝试调用系统服务提供的API开发应用,例如使用分布式数据管理实现跨设备数据同步。
由于系统服务层涉及的内容非常广泛,建议根据自己的兴趣和需求,选择其中几个子系统进行深入学习。
希望这份讲解能帮助你理解OpenHarmony的系统服务层。接下来,我们可以继续学习框架层,或者你对系统服务层的哪个子系统特别感兴趣,我们可以进一步讨论。
好的,我们继续深入OpenHarmony架构的第二层——系统服务层。这一层是操作系统的"能力中心"和"大脑",它包含了构建一个完整、智能、互联的操作系统所需的所有核心服务。
系统服务层概览
系统服务层位于内核层之上,框架层之下。它的核心作用是将底层内核和硬件的原始能力,抽象、封装、组合成可供应用程序直接使用的、稳定且高效的系统级服务。
如果说内核层管理的是CPU、内存等"物理资源",那么系统服务层管理的则是"能力资源",如账户、通知、位置、数据等。
系统服务层采用子系统 和组件 的设计理念,实现了高度的模块化和可裁剪性。这意味着设备厂商可以根据自己产品的形态(如手表、电视、车机),像搭积木一样选择需要的子系统,组装出一个最适合自己产品的操作系统。
系统服务层包含四大类子系统集,其总体架构与核心组件如下图所示:

1. 系统基本能力子系统集
这是最基础、最核心的子系统集合,为其他所有服务提供 foundational 支持,尤其是实现OpenHarmony"分布式"特性的关键。
-
分布式任务调度子系统 (DMS)
-
核心功能:实现跨设备应用协同。它让一个设备上的应用,可以无缝地使用另一个设备上的能力。
-
技术核心:分布式软总线。这是一个虚拟的、统一的通信管道,它屏蔽了底层物理连接(Wi-Fi, Bluetooth等)的差异,让所有设备像在同一个局域网内一样,能够轻松发现彼此并高效通信。
-
典型场景:在手机上玩游戏,可以无缝流转到电视大屏上继续玩。DMS负责发现电视、验证安全、在电视上启动游戏并迁移游戏状态。
-
-
分布式数据管理子系统 (Distributed Data)
-
核心功能:实现跨设备数据共享和同步。
-
技术核心:
-
分布式数据库:应用程序可以创建一个分布式数据库,当多个设备在同一个帐号下时,数据库中的数据会自动在各设备间同步。例如,在手机上创建的待办事项,会自动出现在平板和手表上。
-
分布式文件系统:提供跨设备的文件访问能力,如同访问本地文件一样。
-
-
-
分布式硬件子系统
-
核心功能:实现硬件能力的跨设备调用。
-
技术核心:构建在分布式软总线上,将本地硬件能力(如摄像头、麦克风、GPS)虚拟化为"远程硬件服务"。
-
典型场景:视频通话时,可以使用旁边平板的摄像头作为主摄像头,获得更好的拍摄角度。
-
-
安全子系统
-
核心功能:为整个系统提供全面的安全保护。
-
核心机制:
-
应用权限管理:定义了一套精细的权限体系,应用在访问敏感数据或能力(如位置、通讯录、摄像头)前,必须获得用户授权。
-
设备认证与可信组网:确保只有可信的设备才能加入分布式网络,防止恶意设备接入。
-
数据加密:对存储在本地和分布式网络中传输的数据进行加密。
-
-
-
账户子系统
-
核心功能:管理用户账户,是跨设备体验的纽带。
-
作用:同一个账户下的所有设备,可以自动同步设置、共享数据、协同工作。
-
2. 基础软件服务子系统集
这部分提供了通用的、与硬件无直接关系的软件服务,丰富了操作系统的功能。
-
通知子系统
-
核心功能:统一管理所有应用的通知消息,包括接收、显示、排序和清理。
-
扩展能力:支持分布式通知。在一个设备上收到的通知,可以在同一个账户下的其他设备上显示或清除。
-
-
位置服务子系统
-
核心功能:提供全球定位、网络定位、地理围栏等服务。
-
技术核心:融合多种定位源(GPS, Wi-Fi, 基站)以提供更快速、更精确的位置信息。
-
-
升级服务子系统
-
核心功能:支持系统的在线升级(OTA)和本地升级,保证设备能够持续获得功能更新和安全补丁。
-
-
AI能力子系统
-
核心功能:集成人工智能能力,为上层应用提供AI算法支持。
-
提供能力:如语音识别、自然语言处理、计算机视觉等。
-
3. 硬件服务子系统集
这一部分子系统专门用于管理和抽象硬件能力,为上层提供统一的硬件访问接口。
-
传感器子系统
-
核心功能:统一管理所有传感器(如加速度计、陀螺仪、心率传感器、环境光传感器),并对应用提供标准的数据订阅接口。
-
优势:应用开发者无需关心传感器型号和底层驱动,只需调用统一的API即可获取数据。
-
-
位置服务子系统 (硬件部分)
-
与基础软件服务中的位置服务协同工作,主要负责与底层的GPS芯片等硬件驱动交互,获取原始位置数据。
-
-
生物识别子系统
-
核心功能:管理指纹、人脸识别等生物特征数据,提供统一的身份认证接口。
-
安全要求:通常在独立的可信执行环境(TEE)中处理和存储生物特征信息,保证安全。
-
4. 特定功能子系统集
这部分是为特定设备形态量身定制的增强功能,体现了OpenHarmony的"按需定制"特性。
-
穿戴专有子系统
-
提供功能:针对手表等穿戴设备的特殊能力,如运动健康数据采集、表盘管理、快捷菜单等。
-
-
智慧屏专有子系统
-
提供功能:针对电视/智慧屏的特殊能力,如电视调台、信号源管理、远场语音唤醒等。
-
总结与学习建议
系统服务层知识总结:
-
角色定位:系统服务层是OpenHarmony的"能力中台",它将底层资源抽象为高级服务。
-
核心特性:
-
分布式:DMS、分布式数据和分布式硬件是实现"万物互联"体验的技术核心。
-
模块化:通过子系统和组件设计,系统可以被灵活裁剪,适应不同设备。
-
安全:安全子系统贯穿始终,为分布式环境和应用生态提供保障。
-
如何深入学习:
-
理论学习:
-
访问 OpenHarmony官方文档 - 系统服务,选择一两个你感兴趣的子系统(如分布式调度)进行深度阅读。
-
理解"服务化"和"组件化"的架构设计思想。
-
-
实践探索:
-
对于应用开发者:
-
尝试调用系统服务API,例如使用通知子系统发送一个通知,使用位置服务获取设备位置。
-
重点学习分布式能力,尝试编写一个简单的Demo,实现两个设备间的数据同步或应用流转。
-
-
对于系统开发者:
-
阅读关键子系统(如分布式数据管理)的源码,理解其实现机制。
-
研究子系统间的通信机制(如使用RPC或内部事件总线)。
-
-
系统服务层内容庞大,建议先从你最感兴趣或与你的工作最相关的部分入手,由点及面地进行学习。这一层是OpenHarmony创新性和复杂度的集中体现,掌握它对你构建复杂的全场景应用至关重要。
更多推荐
所有评论(0)