Opened 11 years ago

Last modified 8 years ago

#525 accepted enhancement

Service manager — at Version 1

Reported by: Martin Decky Owned by:
Priority: major Milestone:
Component: helenos/app/init Version: mainline
Keywords: gsoc13, gsoc14 Cc:
Blocker for: Depends on:
See also: #414

Description (last modified by Jiri Svoboda)

Design and implement a replacement for the current init task, i. e. a full-fledged service manager.

Details
The current init task in HelenOS is very roughly equivalent to the Unix init process. Its purpose is to coordinate the bootstrap sequence in user space, start all necessary services and components of the user session. However, the current init is even more rudimentary than the traditional SysV init: it is a more-or-less sequential program that performs some hard-coded actions with only limited and mostly compile-time configuration options.

The goal of this ticket is to design and implement a general bootstrap and service managing infrastructure for HelenOS that would allow a flexible and declarative way of configuring the bootstrap process and services, their run-time monitoring, starting, stopping and (possibly automatic) restarting. While using different implementation means, the infrastructure should provide similar features as systemd for Linux, including (but not limited to) dependency management and concurrent execution of independent tasks.

The goal is not to port systemd to HelenOS, but to reimplement from scratch its non-trivial features.

What Gains and Benefits will this bring?
Even in monolithic systems the importance of a reliable service managing infrastructure is becoming more and more obvious. In a microkernel system, where even the basic system functionality depends on many components and services, a reliable and configurable service management is even more important. This ticket will enable HelenOS to move past the rudimentary hard-coded service configuration to a more flexible open infrastructure.
Difficulty
Medium
Required skills
A successful applicant will have good skills of programming in the C languages and the ability to survive in a non-standard non-POSIX application environment.
Documentation
Possible mentors
HelenOS Core Team, Martin Decky

Change History (1)

comment:1 by Jiri Svoboda, 11 years ago

Description: modified (diff)
Summary: System daemonService manager
Note: See TracTickets for help on using tickets.