OpenHarmony (OHOS, OH) és una família de sistemes operatius distribuïts de codi obert basats en HarmonyOS derivats de LiteOS, el codi font de la branca L0-L2 va ser donat per Huawei a la Fundació OpenAtom. De manera similar a HarmonyOS, el sistema operatiu distribuït de codi obert està dissenyat amb una arquitectura per capes, que consta de quatre capes de baix a dalt: la capa del nucli, la capa de serveis del sistema, la capa del marc de treball i la capa d'aplicació. També és una extensa col·lecció de programari lliure, que es pot utilitzar com a sistema operatiu o en parts amb altres sistemes operatius a través de subsistemes de la capa d'abstracció del nucli.
OpenHarmony admet diversos dispositius que executen un mini sistema, com ara impressores, altaveus, rellotges intel·ligents i altres dispositius intel·ligents amb una memòria de fins a 128 KB, o que executen un sistema estàndard amb una memòria superior a 128 MB.
El sistema conté les capacitats bàsiques i algunes avançades d'HarmonyOS, com ara la tecnologia DSoftBus amb una plataforma de virtualització de dispositius distribuïts, que es diferencia del sistema operatiu convidat virtualitzat tradicional per a dispositius connectats.
El sistema operatiu està orientat cap a la Internet de les coses (IoT) i el mercat dels dispositius integrats amb una àmplia gamma de suport per a dispositius, com ara telèfons intel·ligents, tauletes, televisors intel·ligents, rellotges intel·ligents, ordinadors personals i altres dispositius intel·ligents.
Història La primera versió d'OpenHarmony va ser llançada per la Fundació OpenAtom el 10 de setembre de 2020, després de rebre una donació del codi obert de Huawei.
El desembre de 2020, la Fundació OpenAtom i Runhe Software van llançar oficialment el projecte de codi obert OpenHarmony amb set unitats, incloent-hi Huawei i l'Institut de Programari de l'Acadèmia Xinesa de les Ciències.
L'OpenHarmony 2.0 (versió Canary) es va llançar el juny de 2021 i és compatible amb diversos dispositius terminals intel·ligents.
Basant-se en la seva versió anterior, OpenAtom Foundation va llançar OpenHarmony 3.0 el 30 de setembre de 2021 i va aportar millores substancials respecte a la versió anterior per optimitzar el sistema operatiu, incloent-hi compatibilitat amb l'accés de seguretat a fitxers (la capacitat de convertir fitxers en URI i resoldre URI per obrir fitxers) i compatibilitat amb les capacitats bàsiques de les bases de dades relacionals i la gestió de dades distribuïdes.
L'abril de 2021 es va posar a disposició una versió d'OpenHarmony que admet dispositius amb fins a 4 GB de RAM.
La Fundació OpenAtom va afegir un nucli UniProton, un sistema operatiu en temps real Microkernel basat en maquinari, al seu repositori com a part del subsistema Kernel del sistema operatiu OpenHarmony com a complement el 10 d'agost de 2022.
Desenvolupament L'IDE principal, conegut com a DevEco Studio, per crear aplicacions OpenHarmony amb el kit de desenvolupament complet del SDK d'OpenHarmony que inclou un conjunt complet d'eines de desenvolupament, com ara un depurador, un sistema de proves a través de DevEco Testing, un repositori amb biblioteques de programari per al desenvolupament de programari, un emulador de dispositius integrats, un previsualitzador, documentació, codi d'exemple i tutorials. Les aplicacions per a OpenHarmony es construeixen principalment utilitzant components d'ArkUI, un marc de treball d'interfície d'usuari declarativa. Els elements d'ArkUI són adaptables a diversos dispositius de maquinari de codi obert personalitzats i de la indústria i inclouen noves regles d'interfície amb actualitzacions automàtiques juntament amb actualitzacions d'HarmonyOS.
El desenvolupament de maquinari es fa amb DevEco Studio a través de l'eina DevEco Device per construir sobre OpenHarmony, també creant distribucions amb desenvolupament de sistemes operatius amb cadenes d'eines proporcionades, incloent-hi processos de certificació de verificació per a la plataforma, així com personalitzant el sistema operatiu com a variant de codi obert en comparació amb la variant de distribució tancada original HarmonyOS que se centra principalment en els socis de HarmonyOS Connect amb Huawei.
La interfície binària d'aplicacions (ABI) d'OpenHarmony garanteix la compatibilitat entre diversos dispositius basats en OpenHarmony amb diverses plataformes de conjunts d'instruccions de chipset.
HDC (OpenHarmony Device Connector) és una eina de línia d'ordres dissenyada per a desenvolupadors que treballen amb dispositius OpenHarmony. El component d'eina de comandes BM de l'eina HDC s'utilitza per facilitar la depuració per part dels desenvolupadors. Després d'introduir l'ordre de shell HDC, es pot utilitzar l'eina BM.
Igual que HarmonyOS, OpenHarmony utilitza fitxers App Pack amb el sufix.app, també coneguts com a fitxers APP a AppGallery i botigues d'aplicacions de distribució de tercers en sistemes operatius basats en OpenHarmony i no OpenHarmony, com ara el sistema operatiu Unity basat en Linux, cosa que és beneficiosa per a la interoperabilitat i la compatibilitat. Cada App Pack té un o més paquets d'habilitats HarmonyOS (HAP) que contenen codi per a les seves habilitats, recursos, biblioteques i un fitxer JSON amb informació de configuració.
Tot i que incorpora la capa OpenHarmony per executar els fitxers APP desenvolupats a partir de les API d'HarmonyOS, el sistema operatiu utilitza el nucli principal de Linux per a dispositius de memòria més grans, així com el nucli LiteOS basat en RTOS per a dispositius amb restriccions de memòria més petits, així com complements i nuclis personalitzats en distribucions del subsistema Kernel Abstract Layer (KAL) que no depèn del nucli ni del conjunt d'instruccions. Per a aplicacions de vista web, incorpora el motor de programari ArkWeb a partir de la versió API 11 a nivell de sistema per millorar la seguretat del motor de programari nweb de Chromium Embedded Framework que facilitava Chromium basat en Blink a l'API 5.
A diferència del sistema operatiu Android de codi obert, amb innombrables paquets de dependències de tercers integrats repetidament a les aplicacions, té un desavantatge pel que fa a la fragmentació. Els repositoris centrals d'OpenHarmony amb el Grup d'Interès Especial de la governança d'OpenAtom proporcionen repositoris públics de tercers d'ús comú per a desenvolupadors en entorns de codi obert, cosa que aporta una major interoperabilitat i compatibilitat amb els sistemes operatius basats en OpenHarmony. Les aplicacions poden aprofitar moltes dependències de tercers integrades, com ara Chromium, Unity i Unreal Engine. Això redueix considerablement els requisits de ROM del sistema.
Harmony Distributed File System (HMDFS) és un sistema de fitxers distribuït dissenyat per a l'emmagatzematge i processament de dades a gran escala que també s'utilitza a openEuler. Està inspirat en el sistema de fitxers distribuït de Hadoop (HDFS). El sistema de fitxers és adequat per a escenaris on l'emmagatzematge i el processament de dades a gran escala són essencials, com ara aplicacions IoT, computació perimetral i serveis al núvol. A Orange Pi OS (OHOS), el sistema de fitxers natiu mostra LOCAL i shared_disk mitjançant el sistema de fitxers distribuït d'OpenHarmony (HMDFS). La ruta del fitxer/carpeta arrel del sistema de fitxers utilitza ">" en lloc de la tradicional "/" a Unix/Linux/tipus Unix i "\" a Windows amb el seu sistema DLL (biblioteca d'enllaç dinàmic).
El gestor de tokens d'accés és un component essencial dels sistemes operatius distribuïts basats en OpenHarmony, responsable de la gestió unificada de permisos d'aplicacions basada en tokens d'accés. Els tokens d'accés serveixen com a identificadors per a les aplicacions i contenen informació com ara l'ID de l'aplicació, l'ID d'usuari, el nivell de privilegis de l'aplicació (APL) i els permisos de l'aplicació. Per defecte, les aplicacions poden accedir a recursos limitats del sistema. L'ATM garanteix l'accés controlat a funcionalitats sensibles que combina els models RBAC i CBAC com un model ACL híbrid.
La capa abstracta del nucli d'OpenHarmony utilitza la biblioteca libc de musl de tercers i les API natives, proporcionant suport per a la Portable Operating System Interface (POSIX) per a crides al sistema de Linux dins del nucli de Linux i el nucli LiteOS, que és la part inherent del disseny original de LiteOS en la compatibilitat de l'API POSIX dins de l'arquitectura de la capa abstracta del nucli multinucli. Els desenvolupadors i proveïdors poden crear components i aplicacions que funcionin al nucli basant-se en els estàndards POSIX.
OpenHarmony NDK és un conjunt d'eines que permet als desenvolupadors incorporar codi C i C++ a les seves aplicacions. Concretament, en el cas d'OpenHarmony, l'NDK serveix com a pont entre el món natiu (C/C++) i l'ecosistema OpenHarmony.
Aquest mètode NAPI és de vital importància per a la comunitat de codi obert de desenvolupadors individuals, empreses i organitzacions sense ànim de lucre de les parts interessades en els fabricants que creen biblioteques de tercers per a la interoperabilitat i la compatibilitat en el sistema operatiu, el desenvolupament d'aplicacions comercials i de codi obert natives de desenvolupadors externs entre el desenvolupament d'interfícies sud i nord d'API més riques, com ara Node.js de tercers, Simple DirectMedia Layer, Qt framework, compilador LLVM, FFmpeg, etc.
Cronologia 10 de setembre de 2020: llançament inicial d'OpenHarmony amb compatibilitat amb dispositius amb 128 KB – 128 MB de RAM. Abril de 2021: llançament d'OpenHarmony amb compatibilitat amb telèfons intel·ligents i altres dispositius amb 128 MB - 4 GB de RAM Octubre de 2021: llançament d'OpenHarmony amb compatibilitat amb dispositius addicionals amb més de 4 GB de RAM.
Maquinari OpenHarmony es pot implementar en diversos dispositius de maquinari d'arquitectures ARM, RISC-V i x86 amb volums de memòria que van des de tan sols 128 KB fins a més d'1 MB. Admet dispositius de maquinari amb tres tipus de sistema de la manera següent:
Minisistema: s'executa en dispositius com ara mòduls de connexió, sensors i dispositius portables, amb una memòria igual o superior a 128 KB i equipat amb processadors com ara ARM Cortex-M i RISC-V de 32 bits. Sistema petit: que s'executa en dispositius com ara càmeres IP, encaminadors, gravadors de dades d'esdeveniments, amb una memòria igual o superior a 1 MB i equipat amb processadors com ara ARM Cortex-A. Sistema estàndard: s'executa en dispositius amb interacció millorada, GPU 3D, animacions riques i components diversos, amb una memòria igual o superior a 128 MB i equipats amb processadors com ara ARM Cortex-A.
Desenvolupament de programari Des que OpenHarmony va ser de codi obert el setembre del 2020 fins al desembre del 2021, més de 1.200 desenvolupadors i 40 organitzacions han participat en el projecte de codi obert i hi han contribuït amb codi. Actualment, OpenHarmony ha desenvolupat a la versió 4.x.
Distribucions de programari OpenHarmony és el projecte de codi obert més actiu allotjat a la plataforma Gitee. A setembre de 2023, disposava de més de 30 distribucions de programari de codi obert compatibles amb OpenHarmony per a diversos sectors com l'educació, les finances, la llar intel·ligent, el transport, el govern digital i altres indústries.
HarmonyOS Huawei va anunciar oficialment la distribució comercial de HarmonyOS NEXT, un sistema operatiu distribuït basat en micronucli per a HarmonyOS, a la Huawei Developer Conference 2023 (HDC) el 4 d'agost de 2023, que només admet aplicacions APP natives a través del compilador Ark amb compatibilitat amb Huawei Mobile Services (HMS) Core. Sistema propietari basat en OpenHarmony, HarmonyOS NEXT té el micronucli HarmonyOS al seu centre i no té compatibilitat amb apk, creat exclusivament per a l'ecosistema de dispositius Huawei.