| 1 | Design and implement graceful shutdown of HelenOS. |
| 2 | |
| 3 | |
| 4 | Details:: |
| 5 | The current support for shutdown in HelenOS is rather minimal. |
| 6 | It is possible to halt the CPUs or reboot the machine. |
| 7 | What is missing is a ''graceful'' way to tell running tasks that the system is about to be shut down. |
| 8 | For example, the reboot sequence now consists of forceful kill of all existing tasks.[[br]] |
| 9 | 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. |
| 10 | The design decisions must reflect microkernel-specific issues, such as order of shutdown of vital services (e. g. VFS, naming service or drivers). |
| 11 | |
| 12 | |
| 13 | What Gains and Benefits will this bring?:: |
| 14 | The benefits of this task come at rather low level but are nevertheless very important. |
| 15 | 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. |
| 16 | |
| 17 | |
| 18 | Difficulty:: |
| 19 | Medium to difficult. The solution will require work both in kernel and in userspace. |
| 20 | |
| 21 | |
| 22 | Required skills:: |
| 23 | 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. |
| 24 | |
| 25 | |
| 26 | Possible mentors:: |
| 27 | HelenOS Core Team |