boot dello XNU-Kernel su S3

Pubblicità
Avevo gia scaricato questo da una settimana e ci lavoro circa 1 ora al giorno e non ho fatto neanche un progresso secondo me

Il kernel Linux? E' decisamente complesso in verità. Ti conviene aiutarti con un libro tipo Linux Kernel Internals.

Però mi chiedo perchè XNU. In fondo ci sono i BSD, i vari L4, Hurd ( che usa pure lui Mach ), BeRTOS, Contiki, ChibiOS, FreeRTOS.
 
Voglio creare un Android che gestisce al meglio tutto e voglio che graficamente non si blocchi mai come ios per questo ho deciso di optare per XNU. Tutto è iniziato per colpa di un mio amico che dice che Android è una *****.
 
Voglio creare un Android che gestisce al meglio tutto e voglio che graficamente non si blocchi mai come ios per questo ho deciso di optare per XNU. Tutto è iniziato per colpa di un mio amico che dice che Android è una *****.

I lag di Android sono dovuti all'impredicibilità del garbage collector usato da Dalvik. Il kernel sottostante ( Linux ) è decisamente superiore a XNU.

Il punto è che per creare un Android basato su XNU ti serve proprio Dalvik ( ART da Lollipop in poi ). Con ART hanno comunque migliorato la situazione, introducendo la compilazione AOT, per cui il sistema è decisamente più fluido e meno avido di risorse rispetto al passato.

Vista la tua motivazione potresti seguire una strada diversa, ovvero ribasare Android su una runtime differente ( Xamarin l'ha fatto con Xobot che è Android basato su .NET/Mono ). E infatti le prestazioni dimostrate erano decisamente migliori rispetto ad Android.

Ma il problema poi diventa che tutte le app Android non ci gireranno. In alternativa si potrebbe progettare una VM Java più efficiente, magari riadattarne una preesistente. Ma a quel punto l'avrebbe già fatto Google.

Se ti scrolli di dosso la compabilità con le app Android, avrai una libertà d'azione che ti consentirà di fare qualsiasi acrobazia. In caso contrario, cambiare il kernel non ti aiuterà.
 
Avevo pure chiesto ma uno diceva che era letteralmente impossibile, quindi ho provato a fare tutto da solo e non sapevo dove incominciare quindi ho voluto lasciar perdere tu da dove incominceresti?
 
Conosco html5 e ho gia provato ubuntu phone non mi ispirava tanto, voglio provare il metodo di Pabloski perché penso che XobotOS sia più efficiente e libero (o no :retard: )
 
Avevo pure chiesto ma uno diceva che era letteralmente impossibile, quindi ho provato a fare tutto da solo e non sapevo dove incominciare quindi ho voluto lasciar perdere tu da dove incominceresti?

Dipende tutto dal risultato che vuoi ottenere. Per esempio Ubuntu non voleva la compatibilità con le app Android, allora hanno preso lo stesso kernel di Android ma c'hanno messo sopra un "Linux normale" con l'aggiunta di una webview per il rendering delle app html5.

Jolla invece voleva la compatibilità e allora hanno portato Dalvik in Sailfish.

Il punto fondamentale è imho il kernel, perchè i produttori di SoC ARM sono decisamente spilorci quando si tratta di documentare il loro hardware. Grazie ad Android, praticamente qualsiasi SoC ARM in circolazione è supportato ( almeno al minimo ) da Linux. E grazie al fatto che Android ha un layer di astrazione tra Linux e il runtime che rappresenta propriamente Android, c'è la possibilità ( tramite libhybris ) di far girare pure buona parte dei componenti user land dei driver ( Ubuntu e Sailfish usano questo metodo ).

Per cui le scelte che hai sono:

1. partire da Linux e costruirti un OS mobile con Dalvik/ART eventualmente
2. partire da FreeBSD o NetBSD e fare lo stesso, ma il supporto hardware sarà inferiore
3. sfruttare Ubuntu Phone o Sailfish per costruire un OS, si tratta relativamente di poco lavoro se parti da Sailfish

I fattori determinanti sono l'hardware da usare e se si vuole o meno far girare le app Android.
 
Ma se io partissi da ubuntu phone come sarà l' efficenza del garbage collector rispetto ad android o ios?

Ubuntu Phone non implementa la garbage collection. I programmi sono responsabili della gestione manuale della loro memoria. Il discorso ovviamente non vale per le app html5, ma lì l'efficienza la puoi vedere dai moderni browser. Per essere più precisi l'engine html5 è Webkit, lo stesso usato dai browser Chrome, Safari e Opera.
 
Pubblicità
Pubblicità

Discussioni Simili

Indietro
Top