amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

[Login] [Register] [Forgot your password?]

< Next messagePrior message >
13.Aug.2024



Operating system for the Amiga: Second alpha version of "Serena OS"
At the end of 2022, we reported on the start of Dietmar Planitzer's project to write "Apollo", an experimental operating system for the Amiga 3000/4000. The developer has since renamed his project "Serena OS" and released a second alpha version, which is now available as a fully compiled ROM. Basically, all Amigas with a 68030 (or faster) processor are now supported. He has kindly provided us with the following comments on the new version:

"Version 0.2-alpha marks the first binary release of Serena OS. I think that the OS has now reached a point where you can actually play around and have fun with it, and where you may even be able to get something useful out of it.

Serena OS should run on any Amiga hardware with a 68030 or better processor. The kernel supports floating-point coprocessors like the 68882 too. However, the mathematical library libm is currently very incomplete.

The OS comes with a C99 compatible libc and an interactive shell. Please keep in mind that you are looking at an alpha version of the OS and that you are in fact witnessing the very early days of a new OS. Thus, there are bugs and incomplete features. However, the goal is to improve things as time progresses.

This version of the OS is distributed as a ROM image and the system boots from a disk image that is stored in ROM. This disk image is copied to a RAM disk at boot time. So it's possible to create files and directories. Just keep in mind that none of the things you create will survive a system restart.

People who feel adventures may build a version of the OS that boots from an ADF disk image. To do this, check out the project sources, comment out the BOOT_FROM_ROM:=1 line in the project Makefile and then build the project. This will give you an 880KB ADF file plus a new ROM image in the build/product folder which you can then load into an emulator.

Just keep in mind that right now the speed of the floppy disk is not great because there's no disk cache yet in the kernel and the floppy driver doesn't support writing to disks yet.

So how is Serena OS different from the original Amiga OS?

The most important difference is that Serena OS is far closer to the POSIX standard in terms of functionality and behavior than the original Amiga OS was. This is most noticeable (from the viewpoint of an app developer) in the sense that Serena OS does full resource tracking. This means that the OS automatically reclaims resources such as memory when an application terminates.

Another notable difference is that Serena OS is designed and built on modern ideas, development principles, practices and goals. For example, it implements pervasive preemptive concurrency in the form of virtual processors and dispatch queues rather than threads. Serena OS has completely moved beyond threads.

Additionally, the kernel is implemented using object-oriented design and implementation techniques, which makes it easier to create new drivers and file systems. There's also a stricter separation between kernel and user space in preparation for future virtual memory support.

Finally, the kernel and the user space portion of the OS are designed with 64bit processors and multiprocessor systems in mind. There's no specific support for multiprocessing in the system at this time. Though the system is designed and implemented in such a way that supporting this kind of hardware in the future is possible without having to introduce many changes to the system.

The Interactive Shell



Serena OS Version 0.2.0

Serena OS comes with an interactive shell that is very different from your typical Amiga OS or Unix shell: the shell implements a formally defined language. The advantage of this is that the language is easier to use and that its syntax doesn't follow arcane and incomprehensible rules that are a consequence of ad-hoc language design. Instead, the Serena shell language was designed with consistency and ease-of-use in mind.

This language, too, is based on modern design principles and practices: it is strongly typed, fully scoped, expression based and makes a clear distinction between mutable and immutable data. Expressions and commands may be freely mixed and even conditionals and loops are treated as expressions.

All that said, again, keep in mind that this is an alpha version of the shell that is still incomplete. Things like pipes and generic auto-capture of command results are things that are not yet supported. Nevertheless, it is possible to write shell scripts and do useful things, not just in the sense of juggling files around, but also in the sense that you can easily evaluate mathematical expressions right in the shell and shell scripts.

What's Next?

I've got many ideas lined up for the future of Serena OS. Though the next version will be primarily focused on fixing bugs, structural cleanups to enable the implementation of the next generation of features and full floppy disk support."

If you would like to test the ROM, it is best to use the profile for the Amiga 3000 under WinUAE and then set the path to the Serena ROM under ROM. If you enter the command 'list', you will see a few shell scripts as above, which act as a small "demo". (dr)

[News message: 13. Aug. 2024, 09:19] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
< Next messagePrior message >

.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.