Writing a (BSD like) Operating Systems From Scratch

Otacílio otacilio.neto at bsd.com.br
Fri May 24 19:12:08 UTC 2013


On 24/05/2013 15:45, Florent Peterschmitt wrote:
> Le 24/05/2013 18:57, Welcome, Traiano a écrit :
>> Hi Julian
>>
>>   Thanks, any response is appreciated, here's mine:
>>
>>
>>> -----Original Message-----
>>> From: owner-freebsd-hackers at freebsd.org [mailto:owner-freebsd-
>>> hackers at freebsd.org] On Behalf Of Julian H. Stacey
>>> Sent: 24 May 2013 15:39
>>> To: Welcome, Traiano
>>> Cc: freebsd-hackers at freebsd.org
>>> Subject: Re: Writing a (BSD like) Operating Systems From Scratch
>>>
>>> "Welcome, Traiano" wrote:
>>>> 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:
>>>
>>> Sorry, but your questions & text (see mega line above, no folds !
>>> Ugh) tell me
>>>
>>>     A) You dont know enough, & would be better working with an
>>> existing
>>>        project, be it a BSD Linux Minix Sprite Mach whatever. Maybe
>>>        also doing some formal training in OSs eg a Uni. degree
>>>        in computing or whatever.
>>
>>
>> Right on the mark, Julian! The don't know enough part especially,
>> hence the _questions_ (Normally asked by people who don't know enough).
>> May I ask where you get the divine wisdom to know  where I "would be
>> better working with" ? don't you think that would be best left up to me?
>> So what if formal training in OSes is not an option to me ? Not all of
>> us have the wealth and time, nor privilege of coming from a family
>> that can
>> afford such an education, like myself for example. What do you
>> recommend for those of us who have neither the wealth nor luxury of
>> time to pursue
>> " a Uni. degree  in computing or whatever." ?
>>
>> You appear not to realize that to even begin working with one of the
>> existing projects, you'd best have a solid understanding of OSes to
>> begin with,
>> which brings up an interesting catch -22 that goes something like:
>>
>>   "You can't join the club, because you don't know enough. You can't
>> know enough 'till you join our club".
>>
>> Is that the case or am I mistaken ?
> 
> I don't think there is any kind of "club". There are just peoples that
> know better than others how does works one or many parts of the system,
> but not the entire system and other peoples krowing other parts, etc.
> 
> You'll see (if not already) that everytime you discover new things, you
> discorver in the same time there is a lot to do more ! Even on a little
> system on a classic computer (ARM, x86…)
> 
>>>
>>>     B) You havent realised technology is moving faster & with ever more
>>>        more people working on OSs & tools, its like looking in
>>>        from the edge of an exploding galaxy & trying to understand
>>>        all within: by the time you do, its grown !
>>>
>>
>> May I ask how you jumped to that conclusion? What makes you think I
>> want to keep at the cutting edge of everything?
>> All I want to begin at the very basis and build up from there at my
>> own pace, until I'm capable of building something very
>> Basic, functional and something I can use to illustrate to myself the
>> design principles involved in building operating systems.
>>
>>
>>>     C) If people devoted tons of time over years to help you along,
>>>        it would be their & your time wasted to achieve anothernice
>>>        OS time that would be better spent if you & they worked
>>>        together on improving an existing OS - see (A) above.
>>
>>
>> Where did you get the idea that I'm asking for tons of time over years
>> ? Have you a record of me going around the internet pestering people
>> for answers on how to build operating systems? All I asked for was a
>> couple of links and pointers, maybe a good book or two.  Besides, I'd
>> be of no using helping to build spacecraft if I can barely build a
>> cart, so no, my time would not be better spent helping people who
>> really have a clue to improve existing OSes.
> 
> Dont be so aggressive. He is juste saying it has much more chances to be
> a waste of time to _start and continue_ developping from scratch than
> continue developping existing projects. Starting from scratch is
> absolutely not the only way to learn by ourself.
>>
>>> Sorry it's not what you want to hear but modern OS are too big for
>>> 1 man, & evolving too fast, even those called Jollitz Tannenbaum or
>>> Linus, got
>>> replaced/ supplemented by Teams. Choose a project team & an aspect/
>>> technology within the team, & that will be useful not a waste of time.
>>
>> I don't accept the conjecture that modern OSes are too big for one
>> man. Modern OSes and their associated entourage of userpace and plugin
>> modules maybe, but not the basic kernel/supervisor program. An OS is
>> as big or small as you make it. I would like to eat this particular
>> elephant one bite at a time.
> 
> I agree on this point. If you take a very tiny micro-controller, for a
> single (wo)man it is ok of course. But you'll learne about uC and not
> about computers which are much more developped than uC.
> 
> PS: can you please take care about line wrapping ? I don't krow if it's
> the good word but the previous answer has'nt been broke to fitt on my
> screen ;)
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
> 





I think that the best place to start is with this system:

http://www.minix3.org/

And with this book:

http://www.amazon.com/gp/product/0131429388/qid=1137005040/sr=8-1/ref=pd_bbs_1/102-1327526-9316154?n=507846&s=books&v=glance

Like a Linus!


More information about the freebsd-hackers mailing list