Subversion Repositories HelenOS-doc

Rev

Rev 30 | Rev 42 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. \chapter{Developers}
  2. \label{developers}
  3.  
  4. \section{\JJ}
  5. {\JJ} is the original author of the SPARTAN kernel and the initiator of the
  6. idea to start the HelenOS project. During the works on the system, he has
  7. been the most active developer. He also took on the project agenda
  8. and administration and became the project leader.
  9.  
  10. Before the project officially started, {\JJ} created the SPARTAN kernel
  11. for ia32 and mips32 along with SMP support, scheduler and synchronization\footnote{The
  12. initial SPARTAN kernel did not reach userspace.}.
  13.  
  14. In the project time proper, he implemented considerable parts
  15. of ia64 code and worked also on mips32 memory management.
  16. On the generic front, {\JJ} designed generic the virtual address
  17. translation interface for the 4-level hierarchical page table translation mechanism
  18. as well as for the global page hash table translation mechanism. He has been involved
  19. in address space management functions and userspace synchronization through futexes.
  20. Other areas of his contribution include the kernel console and the kernel ELF loader.
  21. {\JJ} is also the author of the generic buddy system framework and B+tree implementation.
  22.  
  23. \section{\OP}
  24. {\OP} has been very agile HelenOS developer. He is responsible for large areas of the
  25. kernel and userspace and has completely created the amd64 port and completed the mips32
  26. port to the extent that it runs on a real MIPS machine\footnote{SGI Indy}.
  27. Besides the architecture specific involvement, {\OP} programmed the slab allocator
  28. and modified the frame allocator to be self-contained which in turn let the old
  29. and very limited heap manager be removed from the kernel entirely. He also created
  30. architecture independent FPU lazy switching framework. Other example of his
  31. activity is the IPC subsystem and partial TLS\footnote{Thread local storage.} support.
  32. Lastly, {\OP} equipped the kernel console with features found in userspace command shells
  33. (e.g. tab completion of commands and command history through keyboard arrows) and wrote
  34. the kernel configuration software.
  35.  
  36. Apart from the self development, other members of the team appreciated \OP's excellent
  37. debugging and troubleshooting skills. He has been the person behind discovery of
  38. majority of the compiler and simulator bugs.
  39.  
  40. \section{\MD}
  41. {\MD} is a very dedicated HelenOS developer. Right from the beginning, Martin
  42. has cared about project's code purity and readibility. He was the first developer to
  43. start writing Doxygen-style comments. He has promoted the proper use of C language
  44. {\tt const} keywords and extensive typedefing. On the tools front, he has rewritten
  45. the initial build system and created all our toolchain build scripts.
  46.  
  47. Martin worked and much improved the ia32 and amd64 kernel booting using the Grub bootloader
  48. and Multiboot specification. He also created specialized boot loaders for mips32 and ppc32 --- architectures
  49. that don't provide many other ways to load userspace init tasks. Finally,
  50. {\MD} bacame the sole author of the entire ppc32 port and has encountered
  51. partial success in booting ppc64 port to real hardware\footnote{Apple G5.}.
  52.  
  53. \section{\JV}
  54. {\JV} has worked on ia32 and ia64 FPU context switching and passive ia32
  55. and active and passive ia64 console. He has relocated the ia64 kernel to
  56. region 7 (i.e. to the highest addresses) and has first coped with ia64
  57. interrupts. {\JV} has been always prepared to discuss different kernel
  58. issues. His expertise in ia32 is well recognized.
  59.  
  60. \section{\JC}
  61. {\JC} has worked on ia32 memory map detection, softfloat and softint libraries
  62. and printf() standards comformance. He also ported several kernel libraries to userspace.
  63.  
  64. \section{\SB}
  65. {\SB} implemented sorting library functions and implemented the buddy allocator
  66. interface for the frame allocator. He edited project documentation.
  67.