AmigaCori ha scritto:TheKaneB ha scritto:Gran parte del lavoro sarà sui driver di nuove periferiche, non sul kernel che già di per sè è scritto in un linguaggio di alto livello (il C).
Le poche parti in assembly di un kernel moderno si possono riscrivere in poche settimane.
Quindi il kernel di MOS e' di concezione, almeno di base, moderna?, e' scritto in C?
Stando a questo documento (
http://polarboing.com/div/morphos/morph ... s-list.txt ), il kernel di MorphOS supporta il Symmetric Multi Processing, memoria virtuale e protetta (con address spaces separati) e ha un sistema di astrazione hardware completo.
Sono le caratteristiche necessarie per poterlo definire un kernel moderno.
Sopra questo kernel è posta la cosiddetta ABox, un insieme di librerie che implementa il funzionamento di AmigaOS. Alcune caratteristiche del kernel sono disattivate per compatibilità con la ABox, ma se si trovasse un modo efficace per modificare la ABox mantenendo la compatibilità con la maggioranza del software sarebbe possibile riattivare le funzioni di SMP e address spaces separation.
Il porting verso qualsiasi architettura è consentito dalla presenza di un HAL (Hardware Abstraction Layer) completo. Salvo poi prendersi carico di scrivere i driver per le nuove periferiche (i vecchi driver non vanno toccati, continuerebbero a funzionare) e di ricompilare tutto il software.
Se il MOS team deciderà di fare il porting, sicuramente avremo una lunga fase di testing perchè ci saranno tanti nuovi driver da sviluppare e bisognerà ricompilare e adattare i programmi per la nuova piattaforma.
Considerando che non e' che ci sia molto HW supportato...non credo che ci sia una grande conversione di driver da fare.
Non si tratta di convertire i driver esistenti, perchè continuerebbero a funzionare. SI tratta di scrivere driver nuovi per le periferiche nuove (schede video PCI-Express, nuovi controller Serial Ata, nuove schede wifi, ecc...).
A quel punto sarebbe MOS 4.0 perchè il 2.x esiste già, il 3.x è quello "di sviluppo" usato internamente dal MOS team.

Io, per scopiazzare Apple (visto che sarebbe probabile l'uso dell'HW AppleX86 per restringere le problematiche dell'HW da supportare) lo chiamereri MorphOSX
Non è necessario. I meccanismi per la gestione della paginazione possono usare un'astrazione della MMU, proprio come fa linux e come fanno tutti gli OS moderni. I dettagli implementativi di ciascuna MMU possono essere nascosti dentro un'apposito wrapper che si interfaccia con la MMU tramite poche chiamate in assembly per impostare i suoi registri durante i context switch.
Quindi implementata la memoria protetta sul PPC il passaggio ad x86 non significherebbe riscrivere questa parte della gestione della memoria, insomma si ritroverebbero gia' una parte di lavoro fatto.
Ed in merito ad usare 2 CPU come nei DualCore?, sarebbe difficile da aggiungere all'attuale MosPPC?

Come dicevo prima, sono funzioni già presenti nel kernel, ma non attive per non rompere la compatibilità con la ABox, visto che AmigaOS originariamente non prevedeva questo genere di supporto e di conseguenza alcuni programmi potrebbero non funzionare bene se attivate.
Comunque è qualcosa che può essere fatto, e probabilmente lo faranno prima o poi :-)