[openbeos] Re: Threads, the Kernel and Death Stacks

  • From: "Michael Phipps" <mphipps1@xxxxxxxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Sun, 23 Sep 2001 11:57:05 -0400

>> None of the concepts of kernel development are particularly complicated.
>
>Haha! Given that after a basic working implementation of the OS you need
>all of: process handling (classification of tasks, task switchs),
>process scheduling (which process comes next, deal with multiple
>processors and I/O, multiple schedulers), process synchronisation (use
>of semaphors, prevent deadlocking within the system), (inter-)process
>communication, memory management (where and how do we allocate memory,
>unite small fragments, external memory), (demand) paging and swapping
>(which pages do we swap out, which in, how much do we swap out/in, how
>do we prevent thrashing, calculate use of pages and working set, lazy
>evaluation of pages), virtual memory, shared memory and I/O pages with
>all the problems associated with paging/swapping and DMA issues...
>I could even continue, and I am sure I forgot much to mention.
>So you say that kernel development is not complicated?
>That is really amuzing...

I'll actually stand by that statement. It really is basic computer science 
stuff.
As compared to, say, some of the scientific or other more theoretical stuff.
There aren't too many things that you mention above that can't be explained
in a few minutes. Not that you don't have to be extremely careful and perfect
in your code. But rarely are the concepts too hard to understand.

>> How can we reconcile the simplicity of kernel concepts with the apparent 
>> difficulty of making them?
>> Simply thus: in building a kernel, you have to write nearly perfect code.
>
>Not only "nearly perfect" code but you also need a deep understanding of
>how all the stuff listed above works and influences the behaviour of the
>OS.

Agreed.

>I think most of the people on this list believe that the creation of
>OpenBeOS (and especially the kernel) is a long but not too hard process,
>but I DO think that this is going to be hard, even more if you want an
>OS that performs well. And I don't want an OS that manages to run old
>BeOS apps just *someway* i.e. with low overall system performance.

I don't want low performance, either. No one does.
But I am not so sure that it will be all that hard, either.
Really. :-)

>Michael N.
>
>




Other related posts: