Roadmap 2015
This commit is contained in:
parent
ce15800beb
commit
cbe835f2c8
191
doc/road_map.txt
191
doc/road_map.txt
|
@ -14,138 +14,95 @@ The road map is not fixed. If there is commercial interest of pushing the
|
||||||
Genode technology to a certain direction, we are willing to revisit our plans.
|
Genode technology to a certain direction, we are willing to revisit our plans.
|
||||||
|
|
||||||
|
|
||||||
Review of the past year
|
Review of 2014
|
||||||
#######################
|
##############
|
||||||
|
|
||||||
In 2013, we worked on four construction sites: Framework infrastructure,
|
Most of the progress in 2014 was motivated by our goal to use
|
||||||
self-hosting, tooling and optimization, and hardware support. When
|
Genode as general-purpose OS on x86-based platforms. To highlight a
|
||||||
reviewing the road map for 2013, it is great to see that we largely
|
few achievements, we started to use [http://rumpkernel.org/ - Rump kernels]
|
||||||
lived up to our planning.
|
as file-system providers, enabled VirtualBox on NOVA, pulled off the
|
||||||
|
engineering feat to run the Intel Wireless stack natively on microkernels, and
|
||||||
|
came up with a new GUI architecture. We regard these features as the
|
||||||
|
groundwork to make Genode a feasible platform for day-to-day computing.
|
||||||
|
|
||||||
The framework infrastructure was enhanced with concepts for managing
|
That said, even though we are proud about the progress, we are still not there
|
||||||
CPUs on multi-processor systems and for dynamically balancing memory
|
yet. So what keeps us back? The answer is actually not technical. Most
|
||||||
resources, it received new audio and file-system capabilities, and, with
|
developments over the past years were concerned with individual features or
|
||||||
the addition of Qt5 and the lxIP stack, we could enable highly
|
technical challenges. But the integration of sophisticated system scenarios
|
||||||
sophisticated workloads natively on Genode.
|
was a rare occurrence. For the most part, such integration activities were
|
||||||
|
solely triggered by a particular project or by a presentation. In order to
|
||||||
On our endeavour of self-hosting Genode on Genode, we could eliminate
|
make Genode fit for regular use, we need to make the composing of advanced
|
||||||
long-standing show stoppers for several base platforms. We were able to
|
systems a habit for most of the regular developers.
|
||||||
improve them to the point where we can routinely execute Genode's tool
|
|
||||||
chain across several base platforms such as NOVA and Fiasco.OC as part
|
|
||||||
of our nightly automated tests. On the user-facing side, a new
|
|
||||||
command-line interface has seen the light of the day.
|
|
||||||
|
|
||||||
Two highlights when it comes to tooling were the new event tracing
|
|
||||||
facilities, and profound support for automated testing. Thanks to the
|
|
||||||
latter, we expose Genode to over 500 test runs including automated
|
|
||||||
performance benchmarks. By executing those tests each night, we have
|
|
||||||
become able to resolve regressions before they enter the master branch.
|
|
||||||
So the master branch remains always in a good shape.
|
|
||||||
|
|
||||||
As expected for an operating-system project, most of our work was spent
|
|
||||||
on hardware support. On x86, we added IOMMU support, and the
|
|
||||||
virtualization capabilities on NOVA have seen a major upgrade. On ARM,
|
|
||||||
we enabled or vastly enhanced the device drivers for Samsung Exynos 5,
|
|
||||||
Freescale i.MX, and Raspberry Pi. We also explored the possibilities of
|
|
||||||
combining Genode with ARM TrustZone.
|
|
||||||
|
|
||||||
Only two topics, namely Intel wireless and a new user interface concept
|
|
||||||
had been deferred. We decided to postpone the Intel wireless topic to
|
|
||||||
address gigabit networking instead. Even though the new user-interface
|
|
||||||
concept served as a strong motivation behind many improvements of the
|
|
||||||
base system such as dynamic reconfiguration and dynamic resource
|
|
||||||
balancing, the work on those fundamentals left little room to bring
|
|
||||||
forward the actual UI concept. Now that those pieces are in place, we
|
|
||||||
can go full steam ahead.
|
|
||||||
|
|
||||||
The most surprising topic that was not clearly laid out in our last
|
|
||||||
year's road map is the advancement of the base-hw platform. Started as a
|
|
||||||
mere experiment, it received so much love and attention that it
|
|
||||||
unexpectedly became able to host the whole universe of Genode's software
|
|
||||||
stack.
|
|
||||||
|
|
||||||
|
|
||||||
2014
|
Big picture for 2015
|
||||||
####
|
####################
|
||||||
|
|
||||||
In 2014, we will put the emphasis on the base-hw kernel, 3rd-party software,
|
On the account of this realization, the overall theme of 2015 will be the
|
||||||
storage, and the user-facing side of Genode.
|
consolidation and cultivation of the existing feature set rather than the
|
||||||
|
conquering of new grounds. This implies the following topics:
|
||||||
|
|
||||||
The experience with base-hw in 2013 ignited our ambitions to develop this
|
* Advancing our automated test and integration infrastructure towards
|
||||||
kernel not just into a complete base platform for Genode, but also
|
the continuous integration of real-world system scenarios,
|
||||||
to explore new grounds. To fully accommodate Genode, we will complement
|
* Fostering good-quality documentation,
|
||||||
base-hw with multi-processor support, kernel-protected capability-based
|
* Optimization of performance and stability,
|
||||||
security, and real-time scheduling. Beyond supporting Genode's software
|
* Improvement of our tooling
|
||||||
stack, we will explore the use of ARM's virtualization extensions
|
|
||||||
to turn base-hw into a microhypervisor, similar to NOVA but focusing on ARM.
|
|
||||||
|
|
||||||
With Genode becoming more and more flexible, the role of 3rd-party software in
|
Furthermore, we have to address outstanding limitations of the most
|
||||||
both source-code and binary form grows. Even though Genode offers a pretty
|
commonly used base platforms, namely base-hw and NOVA. I.e., only
|
||||||
convenient mechanism to automatically download and integrate 3rd-party source
|
with kernel-protected capabilities, base-hw can be considered as a viable
|
||||||
codes, the burden to resolve inter-dependencies between such source packages is
|
base platform for security-critical systems, and only with proper
|
||||||
still left to the user of the framework. Many new users stumble over
|
kernel-resource management, NOVA can be recommended as a kernel for
|
||||||
the installation of 3rd-party code as it is not obvious to see which packages
|
general-purpose computing.
|
||||||
are required for a particular system scenario. To make Genode better
|
|
||||||
approachable and more convenient to use, we plan to consolidate the current
|
|
||||||
mechanisms into a solid source-code package management solution.
|
|
||||||
|
|
||||||
The improved 3rd-party software support will hopefully allow us to realize
|
Besides the cultivation of the existing feature set, there will still be room
|
||||||
sophisticated and popular usage scenarios more easily. As security is one of
|
for new things. We are particularly excited about the prospect of combining
|
||||||
Genode's major benefits compared to commodity operating systems, we consider
|
Genode with the [http://sel4.systems - seL4 kernel] and
|
||||||
supporting TOR, either as server, or client side, or even both. One
|
the [http://nixos.org/nix/ - Nix package manager]. Furthermore, we desire to
|
||||||
possibility would be to provide a ready-to-use live image containing a TOR
|
continue the work on our new GUI architecture towards a capability-based
|
||||||
client and a configured browser, which would enable users to browse
|
desktop environment.
|
||||||
anonymously.
|
|
||||||
|
|
||||||
Besides the use of ported 3rd-party software on top of Genode, we see clear
|
|
||||||
demand for hosting 3rd-party binary software, particularly virtualized OSes.
|
|
||||||
The Seoul VMM (on NOVA) and L4Linux (on Fiasco.OC) already allow for the use
|
|
||||||
of Linux guest OSes as Genode sub systems. However, both solutions fall short
|
|
||||||
in different ways. Whereas L4Linux requires the maintenance of a patched Linux
|
|
||||||
kernel, Seoul can execute unpatched Linux kernels but requires a fine-tuned
|
|
||||||
kernel configuration. Because we long for a product-quality virtualization
|
|
||||||
solution that works just out of the box with most existing guest OSes, we will
|
|
||||||
make VirtualBox available on Genode/NOVA.
|
|
||||||
|
|
||||||
The move to employing Genode for day-to-day computing requires reliable,
|
|
||||||
secure, and fast storage. Hence, we will build and optimize components that
|
|
||||||
operate on file-system and block level. This includes work on device drivers,
|
|
||||||
file-system stacks, caching mechanisms, block-level encryption, as well as
|
|
||||||
improved per-process virtual file systems.
|
|
||||||
|
|
||||||
Finally, we plan to complement Genode with an entirely capability-based user
|
|
||||||
interface, which will present the user with a unique model of how to interact
|
|
||||||
with the system. With user interface, we actually refer to three different
|
|
||||||
things: System configuration (the user interface a system integrator has
|
|
||||||
to deal with), text-based user interface, and a graphical desktop environment.
|
|
||||||
We hope to cover those with one single holistic concept.
|
|
||||||
|
|
||||||
|
|
||||||
Milestones
|
Milestones for 2015
|
||||||
==========
|
###################
|
||||||
|
|
||||||
In the following, there is a rough schedule of the planned work. As usual,
|
In the following, we present a rough schedule of the planned work. As usual,
|
||||||
it is not set in stone. If you are interested in a particular line of work,
|
it is not set in stone. If you are interested in a particular line of work,
|
||||||
please get in touch.
|
please get in touch.
|
||||||
|
|
||||||
:February - Release 14.02:
|
|
||||||
* First version of VirtualBox on NOVA
|
|
||||||
* Base-hw: multi-processor support
|
|
||||||
* Block cache
|
|
||||||
* Component composition tool kit
|
|
||||||
|
|
||||||
:May - Release 14.05:
|
February - Release 15.02
|
||||||
* Base-hw: real-time scheduling
|
========================
|
||||||
* 3rd-party source-code package management
|
|
||||||
* Block-level encryption
|
|
||||||
|
|
||||||
:August - Release 14.08:
|
* ARM virtualization on top of the base-hw kernel
|
||||||
* Desktop environment
|
* Modularized tooling for automated tests
|
||||||
* Base-hw: kernel-protected capability-based security
|
|
||||||
* TOR on Genode
|
|
||||||
|
May - Release 15.05
|
||||||
|
===================
|
||||||
|
|
||||||
|
* Comprehensive documentation of the Genode foundations
|
||||||
|
* Kernel-protected capabilities for the base-hw kernel
|
||||||
|
* seL4 microkernel as base platform
|
||||||
|
* Refined platform-driver architecture (support for MSIs, assignment of
|
||||||
|
I/O resources to drivers, standardized configuration)
|
||||||
|
|
||||||
|
|
||||||
|
August - Release 15.08
|
||||||
|
======================
|
||||||
|
|
||||||
|
* Capability-based desktop environment allowing the interactive installation
|
||||||
|
and management of Genode subsystems and the interaction with files
|
||||||
|
* Accommodation of typical desktop-computing tasks (e.g., email)
|
||||||
|
* Interactive tools for observing the system behavior
|
||||||
|
* NOVA kernel-resource management
|
||||||
|
|
||||||
|
|
||||||
|
November - Release 15.11
|
||||||
|
========================
|
||||||
|
|
||||||
|
* Achieving cross-kernel binary compatibility
|
||||||
|
* Package management
|
||||||
|
* Modern web browser
|
||||||
|
|
||||||
:November - Release 14.11:
|
|
||||||
* Base-hw: virtualization on ARM, support for Cortex-A7
|
|
||||||
* Intel wireless
|
|
||||||
* NOVA kernel resource management
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user