Rev 42 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
30 | jermar | 1 | \chapter{Developers} |
2 | \label{developers} |
||
3 | |||
4 | \section{\JJ} |
||
42 | jermar | 5 | Jakub is the original author of the SPARTAN kernel and the initiator of |
162 | jermar | 6 | the idea to start the HelenOS project. Once the team was composed, he |
42 | jermar | 7 | implemented considerable parts of the ia64 code and he also worked on |
8 | the mips32 memory management. On the generic front, Jakub designed the |
||
9 | generic virtual address translation interface for the 4-level |
||
10 | hierarchical page table translation mechanism as well as the global page |
||
11 | hash table translation mechanism. He has been involved in the address |
||
12 | space management functions and userspace synchronization through |
||
13 | futexes. Other areas in which he contributed include the kernel console |
||
14 | and the kernel ELF loader. Jakub is also the author of the generic buddy |
||
15 | system framework as well as the B+tree implementation. His latest |
||
16 | contribution is the userspace PCI driver. |
||
30 | jermar | 17 | |
18 | \section{\OP} |
||
42 | jermar | 19 | {\Ondrej} has completely created the amd64 port and completed the mips32 port |
20 | to the extent that it runs on a real MIPS machine\footnote{SGI Indy}. |
||
21 | Besides the architecture specific involvement, {\Ondrej} programmed the slab |
||
22 | allocator and modified the frame allocator to be self-contained which in |
||
23 | turn let the old and very limited heap manager be removed from the |
||
24 | kernel entirely. He also created architecture independent FPU lazy |
||
25 | switching framework. Other example of his activity is the IPC subsystem |
||
26 | and partial TLS\footnote{Thread local storage.} support. Lastly, {\Ondrej} |
||
27 | equipped the kernel console with features found in userspace command |
||
28 | shells (e.g. tab completion of commands and command history through |
||
29 | keyboard arrows) and wrote the kernel configuration software. |
||
30 | jermar | 30 | |
31 | \section{\MD} |
||
42 | jermar | 32 | Right from the beginning, Martin has cared about project's code purity |
33 | and readibility. He was the first developer to start writing |
||
34 | Doxygen-style comments. He has promoted the proper use of C language |
||
35 | {\tt const} keywords and extensive typedefing. On the tools front, he |
||
36 | has rewritten the initial build system and created all our toolchain |
||
37 | build scripts. |
||
30 | jermar | 38 | |
42 | jermar | 39 | Martin worked and much improved the ia32 and amd64 kernel booting using |
40 | the Grub bootloader and Multiboot specification. He also created |
||
41 | specialized boot loaders for mips32 and ppc32 --- architectures that |
||
42 | don't provide many other ways to load userspace init tasks. Finally, |
||
43 | Martin bacame the sole author of the entire ppc32 port and has |
||
44 | encountered partial success in booting ppc64 port to real |
||
45 | hardware\footnote{Apple G5.}. |
||
30 | jermar | 46 | |
47 | \section{\JV} |
||
42 | jermar | 48 | Jakub has worked on ia32 and the ia64 FPU context switching and passive |
49 | ia32 and active and passive ia64 console. He has relocated the ia64 |
||
50 | kernel to region 7 (i.e. to the highest addresses) and has first coped |
||
51 | with ia64 interrupts. Lastly, Jakub programmed the VESA frame buffer |
||
52 | support for ia32 and amd64 and created the userspace framebuffer driver. |
||
30 | jermar | 53 | |
54 | \section{\JC} |
||
42 | jermar | 55 | Josef has worked on ia32 memory map detection, softfloat and softint |
56 | libraries and printf() standards conformance. He also ported several |
||
57 | kernel libraries to userspace and implemented considerable parts of |
||
58 | HelenOS libc. Josef is the author of the userspace keyboard driver. |
||
30 | jermar | 59 | |
60 | \section{\SB} |
||
42 | jermar | 61 | Sergey implemented sorting library functions and implemented the buddy |
62 | allocator interface for the frame allocator. He edited project |
||
63 | documentation. |