cdimauro ha scritto:Francamente non ho idea di come sia implementato il kernel sulle varie architetture su AROS.
Ricordo che, lavorando al mio emulatore 80186 per Amiga, sono incappato in alcune parti del s.o./kernel che erano legate al 68000.
Comunque anche così era ed è possibile astrarre il kernel in modo da gestire indifferentemente qualunque processore. Si tratta di adattare alcune strutture riservate in base all'ISA. Poi il resto viene gestito in maniera del tutto trasparente.
Quindi non vedo alcuna difficoltà per AROS.
Non era questo il senso della mia domanda: AmigaOS4 richiede l'MMU per funzionare, tutta la gestione della memoria è virtualizzata come nei sistemi moderni. AmigaOS4 utilizza gli slab.
MorphOS se non sbaglio ha anch'esso gestione della memoria virtualizzata, e dunque richiede MMU per funzionare.
Se AROS su 68k non richiede MMU significa che la sua gestione della memoria non è virtualizzata, ma assegnata fisicamente, come in msdos, e non c'è bisogno di dilungarci su queste cose perchè sia io che te sappiamo benissimo cosa significhi una simile roba nel 2012.
La seconda domanda, cioè se il kernel 68k è lo stesso che gira su x86 e x64 era appunto per capire se almeno nelle altre architetture AROS utilizza la MMU o meno, se la risposta è la seconda va da se che il kernel di AROS è moolto indietro rispetto a quello di OS4 e MOS.
Sia MOS quanto OS4 utilizzano la MMU anche per altri scopi, per esempio OS4 la impiega anche per l'emulazione 68k.
Perché l'MMU con Unix è il minimo indispensabile per riuscire a risolvere elegantemente alcune problematiche (in particolare sull'uso del fork; che, fortunatamente, NON c'è mai stato su AmigaOS).
Non è fork che importa, quanto invece la gestione virtualizzata degli indirizzi della memoria...
Non so quanto sia vero questo. A naso dovrebbero semplicemente prender possesso dell'hardware, una volta che la scheda PowerPC è stata inizializzata dalla expansion.library, richiamando l'apposito entry-point della scheda.
No funziona così:
-Kickstart3.1 inizializza tutto e poi va a cercare la startup-sequence su disco;
-la s-s contiene una chiamata a un programma che va a mappare in ram (come area rad) tutto il nuovo kickstart/kernel;
-il programmino softresetta l'amiga;
- il nuovo kernel parte;
Identica situazione che avveniva quando mappavi ks1.3 su macchine con 2.0+.