Subversion Repositories HelenOS-doc

Rev

Rev 42 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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