|
|
13 Agosto 2024 |
Postato da: amiwell79 |
Serena OS |
|
Alla fine del 2022, abbiamo riferito dell'inizio del progetto di Dietmar Planitzer di scrivere "Apollo", un sistema operativo sperimentale per Amiga 3000/4000. Da allora lo sviluppatore ha rinominato il suo progetto "Serena OS" e ha rilasciato una seconda versione alfa, che ora è disponibile come ROM completamente compilata. In pratica, tutti gli Amiga con processore 68030 (o più veloce) sono ora supportati. L'autore ci ha gentilmente fornito i seguenti commenti sulla nuova versione:
"La versione 0.2-alpha segna il primo rilascio binario di Serena OS. Penso che il sistema operativo abbia raggiunto un punto in cui si può effettivamente giocare e divertirsi con esso, e in cui si può anche essere in grado di ricavarne qualcosa di utile.
Serena OS dovrebbe funzionare su qualsiasi hardware Amiga con un processore 68030 o superiore. Il kernel supporta anche coprocessori in virgola mobile come il 68882. Tuttavia, la libreria matematica libm è attualmente molto incompleta.
Il sistema operativo è dotato di una libc compatibile con il C99 e di una shell interattiva. Tenete presente che state guardando una versione alfa del sistema operativo e che state assistendo ai primi passi di un nuovo sistema operativo. Pertanto, ci sono bug e funzioni incomplete. Tuttavia, l'obiettivo è quello di migliorare le cose con il passare del tempo.
Questa versione del sistema operativo viene distribuita come immagine ROM e il sistema si avvia da un'immagine disco memorizzata nella ROM. Questa immagine del disco viene copiata su un disco RAM all'avvio. È quindi possibile creare file e directory. Tenete presente che nessuna delle cose create sopravviverà a un riavvio del sistema.
Chi ha voglia di avventura può creare una versione del sistema operativo che si avvia da un'immagine disco ADF. Per farlo, controllate i sorgenti del progetto, commentate la riga BOOT_FROM_ROM:1 nel Makefile del progetto e poi compilate il progetto. In questo modo si otterrà un file ADF da 880 KB e una nuova immagine ROM nella cartella build/product, che potrà essere caricata in un emulatore.
Tenete presente che al momento la velocità del floppy disk non è elevata perché non c'è ancora una cache del disco nel kernel e il driver del floppy non supporta ancora la scrittura su disco.
In cosa si differenzia Serena OS dal sistema operativo Amiga originale?
La differenza più importante è che Serena OS è molto più vicino allo standard POSIX in termini di funzionalità e comportamento rispetto all'Amiga OS originale. Ciò si nota soprattutto (dal punto di vista di uno sviluppatore di applicazioni) nel fatto che Serena OS esegue il monitoraggio completo delle risorse. Ciò significa che il sistema operativo recupera automaticamente risorse come la memoria quando un'applicazione termina.
Un'altra differenza notevole è che Serena OS è stato progettato e costruito sulla base di idee, principi di sviluppo, pratiche e obiettivi moderni. Ad esempio, implementa una concorrenza preemptive pervasiva sotto forma di processori virtuali e code di dispacciamento piuttosto che di thread. Serena OS ha superato completamente i thread.
Inoltre, il kernel è implementato utilizzando tecniche di progettazione e implementazione orientate agli oggetti, il che rende più facile la creazione di nuovi driver e file system. C'è anche una separazione più rigida tra kernel e spazio utente, in preparazione al futuro supporto della memoria virtuale.
Infine, il kernel e la porzione di spazio utente del sistema operativo sono stati progettati tenendo conto dei processori a 64 bit e dei sistemi multiprocessore. Al momento non esiste un supporto specifico per il multiprocesso nel sistema. Tuttavia, il sistema è progettato e implementato in modo tale da poter supportare questo tipo di hardware in futuro senza dover introdurre molte modifiche al sistema.
The Interactive Shell
Serena OS è dotato di una shell interattiva molto diversa dalla tipica shell di Amiga OS o Unix: la shell implementa un linguaggio formalmente definito. Il vantaggio è che il linguaggio è più facile da usare e che la sua sintassi non segue regole arcane e incomprensibili, conseguenza di una progettazione ad hoc del linguaggio. Al contrario, il linguaggio della shell Serena è stato progettato tenendo conto della coerenza e della facilità d'uso.
Anche questo linguaggio si basa su principi e pratiche di progettazione moderni: è fortemente tipizzato, completamente spaziato, basato sulle espressioni e fa una chiara distinzione tra dati mutabili e immutabili. Le espressioni e i comandi possono essere liberamente mescolati e anche i condizionali e i loop sono trattati come espressioni.
Detto questo, tenete presente che si tratta di una versione alfa della shell, ancora incompleta. Cose come le pipe e la cattura automatica generica dei risultati dei comandi non sono ancora supportate. Ciononostante, è possibile scrivere script di shell e fare cose utili, non solo nel senso di smanettare con i file, ma anche nel senso che è possibile valutare facilmente espressioni matematiche proprio nella shell e negli script di shell.
What's Next?
Ho molte idee in mente per il futuro di Serena OS. Tuttavia, la prossima versione si concentrerà principalmente sulla correzione di bug, sulla pulizia strutturale per consentire l'implementazione della prossima generazione di funzionalità e sul supporto completo per i floppy disk".
Se volete testare la ROM, è meglio usare il profilo per Amiga 3000 in WinUAE e poi impostare il percorso della ROM Serena in ROM. Se si inserisce il comando 'list', si vedranno alcuni script di shell come sopra, che fungono da piccola "demo".
https://github.com/dplanitzer/Apollo Modificato il 13/08/2024 alle ore 18:54:25
|
|
Utenti Online |
|
Utenti registrati: 1251 dal 1 Gennaio 2006
di cui online: 2 registrati - Dr Cinicus - amiga1200 -
e 144 non registrati
|
|
|
Benvenuto all'ultimo utente registrato: lupoclan |
|
|
Buon Compleanno a Gintonik - |
|
|
|