Subversion Repositories HelenOS-doc

Rev

Rev 31 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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