Rev 33 | Rev 42 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 30 | jermar | 1 | \chapter{Project} |
| 33 | jermar | 2 | \label{project} |
| 3 | |||
| 36 | jermar | 4 | The HelenOS project was formed in late October 2004, when the six |
| 5 | developers grouped and decided to adopt previous work of {\JJ} on the |
||
| 6 | SPARTAN kernel\footnote{The SPARTAN kernel has been developed by {\JJ} |
||
| 7 | since 2001.} as a foundation for their new operating system. |
||
| 33 | jermar | 8 | |
| 36 | jermar | 9 | The team had then worked on a specification\cite{helenos-spec} until |
| 10 | March 8, 2005. The specification was based on \MD's draft and |
||
| 11 | incorporated many suggestions from other members of the team. The |
||
| 12 | biggest part of the discussion was concerned about how many and what |
||
| 13 | processor architectures we will support. At that time, the SPARTAN |
||
| 14 | kernel supported ia32 and mips32 to the extent that kernel threads could |
||
| 15 | be scheduled. The ia32 port could do some very basic virtual memory |
||
| 16 | operations and was capable of SMP service. Moreover, the mips32 port ran |
||
| 17 | only in the msim simulator. None of them supported userspace threads. |
||
| 33 | jermar | 18 | |
| 36 | jermar | 19 | We realized the need to support at least one 64-bit architecture and |
| 20 | have long discussed whether it should be amd64 or ia64. We also considered |
||
| 21 | ppc64. At the end, we decided to declare support for three new architectures, |
||
| 22 | five architectures in total. Both amd64 and ia64 made it to the specifications, |
||
| 23 | as well as PowerPC. As for PowerPC, the specification didn't say whether ppc32 |
||
| 24 | or ppc64 or both will be supported.\footnote{This has later proven a bit problematic |
||
| 25 | because it is not very clear what ppc32 should be (i.e. the 32-bit G4 processor is not |
||
| 26 | compatible with the 32-bit mode of the G5 processor.} |
||
| 27 | |||
| 28 | It is worth noting that we wanted to be sure of access to respective hardware |
||
| 29 | or at least simulator, prior to committing to support particular architecture. |
||
| 30 | The decision to support almost all suggested architectures\footnote{Namely, we didn't declare |
||
| 31 | support for sparc64, but it got supported anyway as part of \JJ's master thesis.} came after |
||
| 32 | we had known for sure the above condition was satisfied. |
||
| 33 | |||
| 34 | We constructed our specification so that it contained a well defined |
||
| 35 | set of mandatory features of the kernel and the userspace layer |
||
| 36 | that had to be implemented. Besides the mandatory features, there |
||
| 37 | was also an optional part comprising of three research or experimental |
||
| 38 | topics. We hoped to eventually find time to work on them. |
||
| 39 | |||
| 40 | After adopting our specification, we started to meet regularily every two weeks |
||
| 41 | for the sake of consultations. The regular meetings were cancelled only during |
||
| 42 | the exam periods and summer holiday. The first meeting took place on April 28, |
||
| 43 | April. There had been twenty project meetings before 1.0.0 release. |
||
| 44 | |||
| 45 | The Faculty of Mathematics and Physics officially opened our project on June 10, |
||
| 46 | 2005. |
||
| 47 |