wiki:ContemplatedFeatures

Version 8 (modified by Martin Decky, 11 years ago) ( diff )

Contemplated Features

This is catch-all list of interesting, cool and weird features we would like to have in HelenOS. Note that this is more like a brainstorming area than a road map, many of the features listed here might be not well thought through. If you consider to tackle some of the feature more seriously, remove it from the list here and create an enhancement ticket for it.

More ideas can be found within enhancement tickets.

Green HelenOS

Implement frequency scaling, tickless kernel support and other power-saving and environment-aware features. When working on this project, you will get involved with the clock interrupt handling, various timer mechanisms, data structures, timeouts and scheduling. You will be also exposed to low-level platform code. Knowledge of C is required. Knowledge of assembly and/or a disposition to learn another platform's assembly is required.

Real-time HelenOS

Analyze and exploit the possibility to implement real-time features in HelenOS. Students working on this topic need to be strong in operating systems as they will need to deal with synchronization primitives and scheduling, as well as other parts of the kernel. Knowledge of C is required. Knowledge of some assembly is required.

With (soft) real-time features, HelenOS could be deployed as an embedded platform (storage, networking, security).

Port ZFS to HelenOS

Investigate the feasibility of porting (and port) Sun Microsystem's ZFS filesystem to HelenOS. This project requires understanding of HelenOS IPC and the file system layer and, inevitably, the internals of the ZFS file system. Knowledge of C is required.

HelenOS as a development platform

Introduce run-time support for modern programming languages (C++, Go, Python, Java, etc.) into the HelenOS ecosystem. Add high-level object-oriented API for the IPC and concurrency functionality of HelenOS (features, promises, actors, continuations, agents). Possibly push HelenOS beyond the self-hosting milestone (being able to build and install itself from within).

Other particular topics

  • full-fledged shell (control structures, loops, variables, pipes)
  • interactive partition editor
  • installer wizard
  • GUI taskbar
  • packet filter
  • wireless networking support
  • BlueTooth support
  • FireWire support
  • EHCI, xHCI support
  • more USB devices
    • CDC ACM ('USB modem') for connecting to FreeRunner serial console
    • CDC ECM or EEM (USB Ethernet adapter)
    • some USB RS-232 adapter
  • device-side USB
  • DTrace-like instrumentation and observability
  • software packages
  • multi-instance VFS, file system namespaces
  • copy-on-write
  • memory-mapped files
  • user session interruption (Ctrl+C, Ctrl+D, etc.)
  • user space scheduling
  • user space paging
  • user space driven SMP initialization
  • related: qemu-system-ia64
Note: See TracWiki for help on using the wiki.