\chapter{Project Evaluation}


\section{Conclusions}

HURD is designed to be the kernel of the GNU Operating System.
It is crucial that it runs on machines of as many different
types as possible.  Unfortunately, Mach is extremely difficult
to port to new architectures.  Due to the lack of performance
which Mach currently exhibits, there is little or no incentive
to port it to new architectures.  So while HURD continues to
run on Mach, it is unlikely to run on many types of machine.

There is hope for HURD.  It seems to be possible to abstract
the component servers away from the Mach interface.  If this
is done then it will allow the replacement of Mach with L4,
or possibly another microkernel.


\section{Further Work}

During the course of this project, I identified a number of things
that I would like to do.  These are not all directly related to
the GNU HURD and some of them would make interesting projects in
their own right.

\begin{itemize}

\item Flick should be examined to determine how easy it is to
modify it to generate L4 IPC calls.

\item A followup project could investigate porting L4 to
alternative processors.

\item Further work should be done on abstracting HURD's use of
port rights away from Mach and towards a more generic
approach which would allow for it to be ported between
microkernels more easily.

\item Some work should be done towards providing a floating point
emulator for the ARM.  This would benefit Linux/ARM and
NetBSD/ARM as well as Mach or L4.

\end{itemize}
