> 文档中心 > OpenHarmony模块二初分析

OpenHarmony模块二初分析


框架

什么是框架?

这里的框架说的是系统框架,也可以理解为软件架构,一个设计良好的架构应该能允许一个系统从单体结构开始,以单一文件的形式部署,然后逐渐成长为一组相互独立的可部署但愿,甚至是独立的服务或者微服务。最后还能够随着情况的变化,允许系统逐渐回退到单体结构。

为什么要搭载系统框架?

由于平台资源有限且用户硬件平台多样化等原因,我们需要屏蔽不同硬件构架和平台资源的不同、以及运行形态的不同,提供统一化的系统服务开发框架
软件架构不一定要提供服务,但是它最明显的特征就是能够划分边界,或者说软件架构中最强的边界形式就是服务。
听起来似乎有点绕,我们可以打个比方:我在繁华的小吃街中盘下了一个店铺,在店中置办了许多厨具供我做小吃,虽然我在小吃街中开了一家店做小吃,但是我做的小吃不一定非得卖给别人,我可以给自己吃,但是我开这家店最终的目的就是给顾客提供服务。
这个店铺就是我们搭载的系统框架,用来搭载各种各样的功能的文件。

系统框架提供了哪些服务?

系统服务框架基于面向服务的架构,提供了服务开发、服务的子功能开发、对外接口的开发、以及多服务共进程、进程间服务调用等开发能力。
提供的两种硬件平台,主要为M核处理器A核处理器
详细功能介绍在之前的博客中有提到:初识OpenHarmony三大模块

系统

OpenHarmony的系统类型

在OpenHarmony的开发系统中,主要存在以下三种类型的系统:
①轻量系统
②小型系统
③标准系统
在之前的博客中有对其进行相关介绍:OpenHarmony相关知识学习

系统框架下,不同系统间的一些差异

这里主要介绍轻量系统小型系统的差异:

首先,在轻量型系统上,只支持线程概念,没有进程概念;而小型系统中,支持线程和进程概念。

那么问题来了,进程和线程有什么区别和联系?

进程

顾名思义,进程就是系统中一个正在内存中运行的应用程序。每个进程都有自己独立的一块内存空间。而线程则可以看成是进程的子程序,一个进程可以有很多个线程

线程

一般来说,线程是指进程中的一个执行任务(控制单元),负责当前进程中程序的执行。但是在鸿蒙系统中,线程(Thread)和任务(Task)是同一个概念,可以等同混用。

总结

所以在轻量系统工程代码上是找不到进程Process相关的东西的,各种服务和程序,都是以线程(task/thread)的形式在跑。
而小型系统中的每个服务都需要一个守护进程在后台支持,一个或多个线程在前台提供具体的service/feature。不同的进程(Process)独享各自的地址空间,进程间通过IPC共享内存机制进行通信,同一个进程的不同线程间,仍是通过消息队列方式进行通信