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

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

< Next messagePrior message >
04.Nov.2023
Dietmar Planitzer (Mail)


Operating system for Amiga 3000/4000: Status update of "Apollo"
About a year ago, we reported on the start of Dietmar Planitzer's project to write "Apollo", an experimental operating system for the Amiga 3000/4000. We asked the developer what the current status of the work is, and he kindly summarised the following for us:

"Apollo is at the beginning of a (long) journey. At the moment the basics of an operating system exist, which can run in an Amiga with a 68030 processor and at least 256 KB of main memory. However, the operating system must be stored in a ROM chip that replaces the standard ROM found in an Amiga.

What can you do with Apollo at the moment?

As a user, not very much. You can enter text interactively like in a text editor and enjoy how the machine reacts to every keystroke with the output of a beautiful letter :)

As a developer/hobby programmer, there are more interesting things to discover: Apollo is a preemptive multi-tasking operating system that, like POSIX, supports a process hierarchy and makes resources accessible using a general "file descriptor" model. As in typical POSIX systems, there is a clear separation between kernel and user space (where programmes are executed).

However, multi-tasking works differently than in the original Amiga OS or a typical POSIX system: Apps create and manage so-called threads in these systems in order to achieve multi-tasking. Threads allow a programme to execute things in parallel. The problem with this traditional model is that programs typically (directly or indirectly) create many of these threads and most of them spend most of their time sleeping.

Apollo has no threads. Instead, it has "virtual processors" and "dispatch queues". A virtual processor is similar to a thread, but it does not belong to a specific application. Virtual processors can be moved between applications by Apollo as required. Applications use dispatch queues to tell Apollo what they want to execute in parallel. Dispatch queues are similar to the dispatch queues found in macOS, but unlike macOS, Apollo is built entirely from the ground up around dispatch queues.

What else does Apollo offer?

There is a console that supports keyboard and mouse input as well as the widest possible VT100-compatible output to the screen. There are the beginnings of a general "device driver manager", i.e. a component that recognises hardware and manages it. Hardware such as the keyboard, mouse, joystick, memory expansions, floppy drives, etc. can be recognised and managed.

There is also the beginning of a standard library for the C programming language to write (small) programmes for Apollo.

Next steps

The most important next step is the implementation of a file system for floppies and then hard discs. Also the implementation of a (simple) shell to be able to execute programmes. These components should make Apollo a little more interesting for users.

Further plans include things like "protected memory" and "pagging/swapping" and support for other 68030 systems like Atari TT & Falcon." (dr)

[News message: 04. Nov. 2023, 07:52] [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.
.