AtheOS
  Main
  AtheOS News
  Download
  Available software
  Supported hardware

Users
  Features
  AtheOS GUI
  Screen shots
  FAQ

Developers
  CVS Repository
  Documentation
  Multithreading
  Posix compliance
  Contribute

For Fun
  Server info
  Server up-time
  Ascii parrots

Contact
  Mailing list
  Webmaster

Use this site
  Search
  Links
  Credits

Search:


SourceForge
Feature list.
  • Object oriented multithreaded GUI.
  • UNICODE character support through UTF8.
  • Flexible command-line interface through the native x-term like terminal emulator and the Borne again shell (bash). In addition you have most of the utillities you normaly find on a Unix system available.
  • Global clipboard.
  • Drag and drop.
  • Multi processing/multi threading.
  • Pre-emptable multithreaded kernel.
  • Syncronous Multi Processor (SMP). AtheOS runs on (and take advantage of) multi processor intel machines. My main developer machine is a Dual Pentium III 800.
  • IPC through message ports, shared memory posix signals and semaphores.
  • Named and anonymous pipes (pipe() and mkfifo()).
  • Memory area objects that can address normal RAM or other physical addresses (for memory mapped devices). Those areas can be shared between processes for comunication through shared memory. They are also used when an application have special requirements for locking and/or protection of a certain memory area.
  • 64 bit journaling file system with support for an arbritary number of named data streams for each file (user attributes). I am also planning support for indexing of file attributes for extremly fast file lookup. The file system design is mostly ripped from the book Practical file system design by Dominic Giampalo (The author of BFS, used in BeOS).
  • Node watching. This is a system that allow an application to keep track of changes in directories (like file creation, deletion, renaming) and files (like size-changes, date-changes, attribute changes, etc etc) in an asyncronous manner without any polling.
  • Dynamic disk-cache. The disk-cache utilize all unused memory.
  • Network file system: There is a native network filesystem for remote mounting of filesystems between AtheOS machines. I also ported the server to Linux, so I could mount disk's from my Linux server on AtheOS. The filesystem is very imature though, and does not support attributes yet, so it need some work to be really useful.
  • Loadable kernel-drivers, video-drivers and file-systems. AtheOS is very modular, mening that you can extend both the kernel, and the GUI system vith external drivers at runtime without rebooting the system
  • Plugin-interface for window-decorators. (You can replace the window-border rendering)
  • AtheOS runs ELF executables.
  • TCP/IP: AtheOS has a TCP/IP stack built into the kernel. It can communicate through TCP, UDP and some ICMP. The TCP/IP stack need quite some work though.
  • POSIX: AtheOS supports POSIX well enough to compile/run most non-gui GNU application's without modifications.
  • Serial kernel debugger. Two AtheOS machines can comunicate through a simple protocol atop of RS-232 that allow up to 16 simultanous connections. The kernel send all debug output (printk()) to channel 0, and the kernel debugger read commands from channel 1 and send output from the debugger to channel 2. By running a tool named dbterm in a terminal you can direct standard input/output to any of the channels to view kernel output and controll the debugger on a remote machine. Very usefule for kernel debugging. I also wrote a little ftp like tool to transfere files over one of the channels that I used to upgrade the kernel, and other components on my test machine before I got the network up to speed.