id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,field_blocks,field_dependson,field_seealso 414,Graceful system shutdown,Jakub Jermář,Jakub Jermář,"Design and implement graceful shutdown of HelenOS. Details:: The current support for shutdown in HelenOS is rather minimal. It is possible to halt the CPUs or reboot the machine. What is missing is a ''graceful'' way to tell running tasks that the system is about to be shut down. For example, the reboot sequence now consists of forceful kill of all existing tasks. The goal is to design and implement way to notify tasks of imminent shutdown (reboot) to allow them terminate in a clean and consistent way. The design decisions must reflect microkernel-specific issues, such as order of shutdown of vital services (e. g. VFS, naming service or drivers). What Gains and Benefits will this bring?:: The benefits of this task come at rather low level but are nevertheless very important. Graceful shutdown means that drivers could terminate communication with hardware in a predictable manner or that filesystem servers would be able to unmount file systems cleanly. Difficulty:: Medium to High. The solution will require work both in kernel and in userspace. 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:: * [http://en.wikipedia.org/wiki/Runlevel Runlevels used in Unix systems] * [DeviceDrivers Device drivers in HelenOS] * [source:mainline/kernel/generic/src/main/shutdown.c@mainline,1422#L42 Current reboot sequence in HelenOS] Possible mentors:: HelenOS Core Team, Vojtech Horky",enhancement,new,major,,helenos-infrastructure,mainline,,"gsoc12, gsoc13, gsoc14",,,,