Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Dec 12 01:02:22 PST
From:      perryh@pluto.rain.com (Perry Hutchison)
To:        aryeh.friedman@gmail.com
Cc:        freebsd-hackers@freebsd.org, zbeeble@gmail.com
Subject:   Re: using FreeBSD to create a completely new OS
Message-ID:  <11212100902.AA17194@pluto.rain.com>

next in thread | raw e-mail | index | archive | help
> Forgot to mention this project vary well turn into my PhD thesis

That's a rather different context than "personal hobby reasons".

I was going to suggest this anyway, but for a dissertation project
I would _very strongly_ suggest that you thoroughly research Linus
Torvalds' experiences in implementing Linux, as well as any other
low-level OS implementation projects that you can find in the
literature (Multics, Unix, and OS/360 at least; Symbol 2R also
comes to mind).  Much of what those earlier implementors learned
about "building an OS from scratch" will be directly applicable.
(Granted Linus started with the SVID and you'll be writing your own
specification, but the process of getting from {specification} to
{code that actually works} is almost guaranteed to involve many of
the same issues.  PhD work is supposed to advance the state of the
art, not rediscover the hard way what could have been learned in
the library.)

Perhaps equally important, I hope you're planning to figure out
early on what "significant contribution to knowledge[1]" you will
be making, and consider with your advisor whether it's necessary
to go to all the work of building an entirely new OS to make that
contribution.  Again, you want to be standing on the shoulders of
those who have gone before, not retracing their footsteps.

[1] For those not familiar, that's the phrase typically used to
    describe the level of work that a PhD dissertation is supposed
    to report -- or at least it was when I was in graduate school.

P.S.  Just for general interest, what university?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?11212100902.AA17194>