GSoC/GCI Archive
Google Summer of Code 2012

MINIX 3

Web Page: http://www.minix3.org/soc-2012

Mailing List: http://groups.google.com/group/minix3

MINIX 3 is a free, open-source, operating system designed to be highly reliable, flexible, and secure. It is based on a tiny microkernel running in kernel mode with the rest of the operating system running as a collection of isolated, protected, processes in user mode. While MINIX is used as a teaching platform for university-level operating systems courses, it's also designed to be a serious system on resource-limited and embedded computers and for applications requiring high reliability. Additionally, MINIX 3 is being used for research into developing new filesystems, exploring OS scalability on manycore systems, live (on-the-fly) update of OS components, and transparent OS crash recovery.

Projects

  • Fault injection tool From the minix gsoc website: We would like you to implement a new compiler-based fault injection tool which can be used for reliability testing on MINIX 3 . This should improve the existing Software Implemented Fault Injection (SWIFI) tool included in the MINIX distribution, which is based on tracing and can only be used for a limited number of OS components. We would like the new tool to be implemented as an LLVM transformation pass, to inject faults in predetermined program locations at compile- or link-time. Candidates for this project should be familiar with static program instrumentation techniques. Experience with the LLVM compiler framework is recommended. A successful project can lead to a publication in an international conference, which can be very helpful if you want to apply to a graduate school later this year.
  • LwIP Support The project aims to complete LwIP integration into MINIX 3. Basic support has already been added but it isn't complete and hasn't been tested properly yet. This project will be about completing that work and then adding new features like IP routing, forwarding, IPv6 support, NPF support. There are also some secondary goals like developing core LwIP for the benefit of both MINIX 3 and LwIP communities.
  • Porting GCC, binutils, and GDB to MINIX 3 I'm very interested in MINIX 3 and I have experience with GNU toolchain. my programming experience is well matched with this project. In this project, I will port GCC 4.7.0, binutils 2.22, and GDB 7.4 to MINIX, after that, I will upstream the changes to GNU.