AtheOS News
  Available software
  Supported hardware

  AtheOS GUI
  Screen shots

  CVS Repository
  Posix compliance

For Fun
  Server info
  Server up-time
  Ascii parrots

  Mailing list

Use this site


What is AtheOS?

AtheOS is a free desktop operating system under the GPL license. AtheOS currently run on Intel, AMD and other compatible processors and support the Intel Multi Processor architecture. I have seen quite a few anouncements of "promising" OSes with "great potential" during the development of AtheOS. The problem is that when I follow the links I normally find a description of the concept, a floppy-bootloader written in assembly, and not much else. AtheOS is a bit more mature, and is already running quite a lot of software. This server for example is running AtheOS. The HTTP server is a AtheOS port of Apache, and most of the content is generated by the AtheOS port of PHP3 and perl.The native AtheOS file system is 64-bit and journaled.

AtheOS Screenshot AtheOS is not meant to be a new Unix clone (like Linux and *BSD) but a new clean desktop OS. It does support large parts of the POSIX standard and hence are able to run most of the UNIX CLI tools and it comes with a standard UNIX shell (BASH) but this does not compromise anything in AtheOS as a desktop OS. AtheOS have a integrated GUI that works in conjunction with the kernel and various other components to create a complete and consistent system. The GUI is server/client like X11 but communicate through the native messaging system and the protocol is private to the server and client library and entirely hidden from the applications. Both the client library and the server is heavily multithreaded. The fine-grained multithreading and the low latency messaging system make the GUI much more responsive than X11.

Not using X has its ups and downs. The big down is of course the lack of applications that can be easily ported to AtheOS. Another down is that the current GUI does not support remote display, even though implementing it should not be hard at all. The up's is that the GUI interface is much more high-level, and is much better at defining how a GUI should work. This leads to better consistency between applications. Drag and drop, clipboard, and other forms of high-level communication between applications are defined by the OS. This will hopefully lead to applications that work well together and that give the user an impression of a complete system with consistency between applications. I belive this consistency is important so the user doesn't have to start from scratch each time she learns a new program to know.

AtheOS Screenshot The AtheOS GUI consists of two main components: An application server and a dll providing a C++ interface between the server and the application. The GUI is therefore programmed through a C++ API providing windows containing a hierarchy of widgets that all have their own graphical environment.

The kernel was written from scratch. It supports SMP (Symmetric Multi Processing), has a built-in network TCP/IP stack. It supports loadable device-drivers and file-systems. It provides threads and processes with several powerful communication systems that makes it easy, efficient and safe to create server/client implementations where both the server and the client run on the same machine. Threads can communicate through message ports (most common), shared memory, posix signals, semaphores, named and anonymous pipes, pty's, TCP/IP, and probably a few other methods as well.

Unlike many people seems to believe AtheOS is *not* a BeOS clone. The two OS's are not compatible at binary level nor source-code level. Making a BeOS clone has never been a goal (I started working on AtheOS before the first BeBox was shipped), it is not a goal now, and it will not be a goal in the future.