HarmonyOS: un primo sguardo ai dettagli tecnici del nuovo sistema operativo di Huawei

HarmonyOS: un primo sguardo ai dettagli tecnici del nuovo sistema operativo di Huawei

Huawei ha tolto i veli da HarmonyOS, il suo nuovo sistema operativo basato su microkernel. Analizziamo le affermazioni di Huawei in merito al nuovo sistema da un punto di vista tecnico per cercare di capire di più

di pubblicata il , alle 08:21 nel canale Sistemi Operativi
Huawei
 

Huawei ha annunciato quello che molti si aspettavano ormai da tempo, se non per rispondere alle mosse del governo americano almeno per strategia commerciale: un proprio sistema operativo con cui rendersi indipendente da Android. Huawei non è la prima a tentare questa strada, come dimostrano i tentativi di Samsung con Tizen. HarmonyOS presenta, al di là delle considerazioni sul mercato in cui si inserisce, caratteristiche interessanti.

HarmonyOS: un'analisi delle affermazioni di Huawei

Huawei ha sviluppato HarmonyOS seguendo un modello duplice di sistema operativo distribuito, in grado dunque di sfruttare i vari nodi connessi per effettuare le elaborazioni, e di microkernel.

Il primo aspetto è interessante perché Huawei promette di fornire agli sviluppatori interfacce sufficientemente astratte da permettere loro di sviluppare in maniera semplice applicazioni in grado di far dialogare realmente tra loro i dispositivi, senza doversi preoccupare delle sottostanti implementazioni tecniche. Ciò rappresenta un'interessante evoluzione in un mondo sempre più connesso, ma bisognerà capire quali siano gli strumenti messi realmente a disposizione degli sviluppatori prima di poter fare un confronto con quanto disponibile già ora.

L'aspetto forse più interessante è quello delle rivendicazioni a livello tecnico. Huawei ha sviluppato HarmonyOS con uno scheduler con prelazione (o, usando la terminologia inglese, pre-emptive), come pressoché tutti gli altri sistemi operativi utilizzati oggigiorno. L'aspetto più interessante di questo scheduler, che sembra essere chiamato Deterministic Latency Engine, è che stando alle poche informazioni diffuse da Huawei sembra adottare una politica non dissimile dalla Multi-Level Feedback Queue (MLFQ), utilizzata in varianti diverse anche da Windows e Linux. Tale politica prevede che i processi abbiano tempo di CPU a disposizione in funzione della coda di priorità in cui sono inseriti, con più code che permettono di gestire diversi livelli di priorità.

L'azienda scrive nel comunicato ufficiale che "il Deterministic Latency Engine imposta la priorità di esecuzione dei processi e i limiti di tempo in anticipo. Le risorse gravitano verso i processi con priorità più alte, riducendo la latenza delle applicazioni del 25,7%." L'azienda non specifica però rispetto a quale sistema la latenza venga ridotta, un dato senza il quale è difficile commentare l'affermazione e capire quanto realmente lo scheduler sia più efficiente rispetto alle alternative. Da quanto si può capire dalla descrizione fornita, sembra che venga dato maggiore tempo di CPU (e quindi maggiori risorse in generale) ai processi con più priorità, fatto che limiterebbe l'esecuzione dei processi con priorità inferiore (spesso corrispondenti ai processi in background), ma che potrebbe effettivamente portare a una riduzione della latenza.

L'azienda afferma che utilizza metodi formali per dimostrare la sicurezza del proprio sistema. Nel comunicato diffuso dall'azienda non sono presenti ulteriori informazioni al riguardo, ma questa affermazione sembra in conflitto con il fatto che è possibile dimostrare formalmente che non è possibile creare un sistema esente da bug e, pertanto, esente da problemi di sicurezza. L'affermazione di Huawei appare quindi forte e chi scrive si astiene dal prendere una posizione in merito fino alla pubblicazione di ulteriori dettagli tecnici che chiariscano cosa intende Huawei.

Huawei afferma inoltre che il suo sistema di comunicazione tra processi (IPC, Inter-Process Comumunication) è "fino a 5 volte più efficiente rispetto ai sistemi esistenti". Questa affermazione risulta nuovamente piuttosto forte se con "sistemi esistenti" si prendono in esame i sistemi operativi "tradizionali" come Linux, macOS o Windows, visti i noti limiti proprio in termini di velocità di cui molti microkernel soffrono. Nel caso in cui Huawei si rferisca ad altri microkernel, tuttavia, l'affermazione apparirebbe più credibile.

Difficile, dunque, dare un giudizio da un punto di vista prettamente tecnico del nuovo HarmonyOS o anche solo capire meglio quale sia l'offerta di Huawei senza ulteriori dettagli tecnici sulla sua implementazione. La scelta dell'architettura a microkernel appare certamente inusuale, visti i problemi esistenti nello sviluppo di microkernel ad alte prestazioni e vista la maggiore complessità nello sviluppo di un microkernel rispetto a un kernel monolitico. Non è tuttavia il primo esempio di un sistema con microkernel di successo, come testimonia QNX. In attesa di ulteriori dettagli, Huawei ha messo sul piatto un nuovo sistema che sembra promettere novità interessanti.

8 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
s0nnyd3marco12 Agosto 2019, 08:59 #1
Per ora tanto marketing e fuffa; vedremo quando committeranno su GitHub qualcosa.
The_ouroboros12 Agosto 2019, 10:18 #2
devono?
calabar12 Agosto 2019, 10:25 #3
Concordo, ancora troppo presto, anche per commentare.

I tempi di diffusione di questo sistema paiono ancora molto lunghi: se le intenzioni sono di partire nel loro mercato interno e iniziare con iot, indossabili smart e casalinghi, direi che prima che arrivi nel mercato globale e sugli smartphone saranno passati diversi anni.

Originariamente inviato da: Articolo
L'azienda non specifica però rispetto a quale sistema la latenza venga ridotta, ...

Magari nei confronti dello stesso sistema ma utilizzando lo scheduler in maniera tradizionale.
Ad ogni modo fino a quando non chiariranno, non è dato sapere.
Telstar12 Agosto 2019, 15:41 #4
Qualsiasi alternativa al monopolio di android è benvenuta.
giuliop12 Agosto 2019, 17:00 #5
il fatto che è possibile dimostrare formalmente che non è possibile creare un sistema esente da bug


No. Quel che molto probabilmente intendevate è "non è possibile dimostrare formalmente che un sistema sia esente da bug", che è una cosa estremamente diversa.
s-y12 Agosto 2019, 17:16 #6
curioso di saperne di più sul microkernel, se sia 'proprietario' o altro
ops flashback per nerd... e se si chiamasse mingix?
Unrue13 Agosto 2019, 08:27 #7
Ben venga un concorrente di Android. Poi come si comporterà sarà tutto da verificare. E' anche vero che la forza di Android sta nell'andare su tantissimi smartphone, spero che Huawei voglia fare lo stesso con il suo altrimenti sarà morto in partenza.
The_ouroboros13 Agosto 2019, 10:09 #8
Originariamente inviato da: s-y
ops flashback per nerd... e se si chiamasse mingix?


come minix che sta gia su tutte le cpu intel?

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^