Writing a (BSD like) Operating Systems From Scratch

Welcome, Traiano welcomet at amazon.com
Fri May 24 10:16:27 UTC 2013


Hi All

I've been read thousands of pages of FreeBSD and Linux Kernel source code and books on the internals of BSD and Linux over the years in attempt to develop a complete understanding of operating systems (or at least, UNIX like ones). However, I feel that I'm as mystified as to the finer details as when I first started. So I've concluded that the best way to really understand the deep dark details of UNIX is to try and write one from scratch (using the general guidelines of standards like POSIX etc ...), and maybe taking a peek at BSD and Linux from time to time. My questions around this are:


a)      What kind of hardware (processor) would I use as a development platform, given the requirements of cheap,  well documented, easily obtainable, easy to debug etc ... I believe the hardware platform chosen should satisfy the following requirements:


-          Cheap and relatively commodity (easy to get hold of)

-          Well documented architecture and API (there's a nice assembly language for it)

-          Supports single and multi-core multi-tasking, memory management



b)      Are there recommended books or other resources that "hand hold" one through the process of implementing a "toy operating system" , that are:

-          Current, circa 2011 - 2013

-          For hardware that meets the characteristics of a) above

-          Offer a simple start from the very basics of operating system design and implementation to the gory details


c)       What would be the best practical entry point design and implementation of operating systems? E.g should I begin with studying the assembly language for a chosen hardware platform first, then move on to booting something of memory, or  should I start with the high level architectural details of the O.S ?

Many thanks in Advance for your thoughts!
Traiano Welcome






More information about the freebsd-hackers mailing list