Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 May 2013 20:45:43 +0200
From:      Florent Peterschmitt <florent@peterschmitt.fr>
To:        freebsd-hackers@freebsd.org
Subject:   Re: Writing a (BSD like) Operating Systems From Scratch
Message-ID:  <519FB557.1010403@peterschmitt.fr>
In-Reply-To: <8F56C8EF8265DF489B64A19B10910AC7025DF4B3@ex10-mbx-14001.ant.amazon.com>
References:  Your message "Fri, 24 May 2013 10:15:23 -0000." <8F56C8EF8265DF489B64A19B10910AC7025C53B2@ex10-mbx-14001.ant.amazon.com> <201305241340.r4ODcju4009740@fire.js.berklix.net> <8F56C8EF8265DF489B64A19B10910AC7025DF4B3@ex10-mbx-14001.ant.amazon.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org [mailto:owner-freebsd-
>> hackers@freebsd.org] On Behalf Of Julian H. Stacey
>> Sent: 24 May 2013 15:39
>> To: Welcome, Traiano
>> Cc: freebsd-hackers@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 ;)



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