Links| Forums| Comments| Report news
Chat| Polls| Newsticker| Archive

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

< Next messagePrior message >
Dietmar Planitzer (Mail)

Operating system for Amiga 3000/4000: First 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. After another status update at the end of last year, the developer has now renamed his project "Serena OS" and released a first alpha version, about which he kindly wrote us the following:

"Let's start with the most obvious change: Apollo is now called Serena OS.

A few other things have changed over the last few months. Serena now has an API which makes it possible to write (simple) programmes. Dispatch queues, files, directories, pipes as well as clock and timer functions are currently supported. In addition, there is an advanced C standard library (libc) and the beginnings of a C maths library (libm). There is now also a simple shell and a RAM-based file system. The VT52 and VT100 terminal emulation is now also largely complete and the VT52 emulation now also supports the Atari ST extensions. Both VT100 and VT52 emulation now also support multiple colours (in VT52 emulation mode the corresponding Atari ST ESC codes must be used).

At the moment, however, the system still has a very significant limitation: neither floppy disc nor hard disc is currently supported. However, achieving this is the plan for the next stage of the project. It will then be possible to create a programme for Serena on a Windows or Linux computer and then run it on the Amiga under Serena.

I suspect that some of you are wondering what these ominous dispatch queues are?

Dispatch queues are used to run programme parts in parallel. The original Amiga OS provided tasks for this purpose and other operating systems provide threads. Apple's macOS implements dispatch queues on the basis of traditional threads.

The problem with threads and tasks is that programs allocate them, then use them intermittently, then spend most of their time just sitting passively on the thing without actually using it (threads spend a lot of time sleeping). However, a thread always uses memory and kernel resources - whether it's sleeping or actually doing work makes no difference.

Serena is instead built entirely around dispatch queues: Processes manage dispatch queues and dispatch queues do their work with the help of "virtual processors". You can think of a virtual processor as a highly dynamic thread that is not tied to a specific process. Virtual processors are moved back and forth between dispatch queues and processes as required. If a dispatch queue needs to do more work, it gets an additional virtual processor. However, if it does less work, it gives up a virtual processor, which can then be used by another queue in another process." (dr)

[News message: 10. Mar. 2024, 07:14] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
< Next messagePrior message >

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