Guillaume FORTAINE | 5 Aug 2006 19:50
Picon

Can we really think at a new OS design nowadays ?

Hello,

Here is the start point of my reflexion :

http://lists.gnu.org/archive/html/l4-hurd/2006-04/msg00053.html

I believe that we can do extremely complex and reliable software with a 
few people, thanks to the powerful formal and design tools available now.

Moreover, I think that this OS has to support three key things to be 
able to survive ( an essential key to have a long term development ) : 
synergy ,transition & usability.

-The first one is the start of any important  project : developers can 
have the possibility to share complex ideas with minimum requirements 
and to integrate them in a coherent environment. ( see 
http://www.gnu.org/software/hurd/ => 23 years old and even the goals are 
not well defined )

-The second feature provide any user the ability to develop on it with 
existing materials and to have the support of developers of legacy OS. ( 
see www.tunes.org => maybe too innovative and this :  
http://symbolx.org/ddf_news.html ).

-The third one needs that a device driver framework needs to be rapidly 
envisaged. ( again http://www.gnu.org/software/hurd/ => no good driver 
kit at this date, the same for linux : 
http://www.kroah.com/log/2006/05/24/, 15 years later ). Who wants to 
have an OS that boots only a black screen with a beep sound ? If we 
follow the Moore law, an OS design of the future would be thought for 
(Continue reading)

Benno | 6 Aug 2006 01:51
Picon
Picon
Favicon

Re: Can we really think at a new OS design nowadays ?

On Sat Aug 05, 2006 at 19:50:05 +0200, Guillaume FORTAINE wrote:
>Hello,
>
>Here is the start point of my reflexion :
>
>http://lists.gnu.org/archive/html/l4-hurd/2006-04/msg00053.html
>
>I believe that we can do extremely complex and reliable software with a 
>few people, thanks to the powerful formal and design tools available now.
>
>Moreover, I think that this OS has to support three key things to be 
>able to survive ( an essential key to have a long term development ) : 
>synergy ,transition & usability.
>

What does synergy mean, and why is it a key to an OS?

Benno
Benno | 6 Aug 2006 01:52
Picon
Picon
Favicon

Re: Can we really think at a new OS design nowadays ?

On Sat Aug 05, 2006 at 19:50:05 +0200, Guillaume FORTAINE wrote:
>
>Abstraction will be the solution,

Doesn't the research of Engler show us that abstraction in operating
system design is bad?
Guillaume FORTAINE | 6 Aug 2006 04:04
Picon

Re: Can we really think at a new OS design nowadays ?

Benno wrote:
> On Sat Aug 05, 2006 at 19:50:05 +0200, Guillaume FORTAINE wrote:
>   
>> Hello,
>>
>> Here is the start point of my reflexion :
>>
>> http://lists.gnu.org/archive/html/l4-hurd/2006-04/msg00053.html
>>
>> I believe that we can do extremely complex and reliable software with a 
>> few people, thanks to the powerful formal and design tools available now.
>>
>> Moreover, I think that this OS has to support three key things to be 
>> able to survive ( an essential key to have a long term development ) : 
>> synergy ,transition & usability.
>>
>>     
>
> What does synergy mean, and why is it a key to an OS?
>
> Benno
>
>
>   
Synergy : have enough developers with a common goal to achieve it. ( to 
avoid dead-born projects )

Abstraction ( meaning rigorous formalism ) :

http://66.249.93.104/translate_c?hl=fr&langpair=fr%7Cen&u=http://fr.wikipedia.org/wiki/XCB&prev=/language_tools
(Continue reading)

Sergio Ruocco | 6 Aug 2006 04:15
Picon
Picon
Favicon

Re: Can we really think at a new OS design nowadays ?

Guillaume FORTAINE wrote:
> Synergy : have enough developers with a common goal to achieve it. ( to avoid
>  dead-born projects )

You do not necessarily need many developers to write an OS; many successful and
well working OSes were written by < 10 people in 2-5 years. The other 1000s just
tweak it here and there, add fancy features, redesign parts and thus introduce
new bugs etc.

> Abstraction ( meaning rigorous formalism ) :

Formally verified software can still be wrong, as it is verified against a
model, which is also human-made and thus error-prone.

> To avoid these types of errors :-) ! => have a pure reliable ( totally 
> bug-free os )

Most of the code that does not have a chance to mature over time and be fixed
once for all lies within device drivers and applications, not in the core OS.

Moreover, even in the core OS, bugs are mainly a social problem. Amateurs prefer
to hack new code rather than to fix bugs in code they wrote yesterday:

Linux kernel 'getting buggier'
http://news.zdnet.co.uk/0,39020330,39267255,00.htm

Why instead of starting a new project you don't fix the outstanding issues in
one of the many existing ones? I am sure that people working on existing OSes
will be happy to list lots of tricky problems to solve for you.

(Continue reading)

Neal H. Walfield | 6 Aug 2006 21:51

Re: Can we really think at a new OS design nowadays ?

At Sun, 6 Aug 2006 09:52:51 +1000,
Benno wrote:
> On Sat Aug 05, 2006 at 19:50:05 +0200, Guillaume FORTAINE wrote:
> >
> >Abstraction will be the solution,
> 
> Doesn't the research of Engler show us that abstraction in operating
> system design is bad?

I think it would be fair to argue that this is perhaps the hypothesis
which drove the Exokernel research, however, it is unclear to me that
the research actually proves.

In "Application Performance and Flexibility on Exokernel Systems,"
Kaashoek et al. state that hardware page tables, although they impose
policy and appear to restrict application freedom, do not actually
significantly reduce application flexibility:

  "Unlike the MIPS architecture, the x86 architecture defines the
  page-table structure.  Since x86 TLB refills are handled in
  hardware, this structure cannot be overridden by applications. . . .
  Although these restrictions make Xok less extensible than Aegis,
  they simplify the implementation of libOSes with only a small
  reduction in application flexiblity (9)."

In fact, it simplified thigs:

  "User-level page tables made the implementation of libOSes tricky on
  Aegis; since the x86 has hardware page tables, this issue
  disappeared on Xok/ExOS (16)."
(Continue reading)

Guillaume FORTAINE | 7 Aug 2006 03:01
Picon

HURDNG : Which type of OS design could we have to think nowadays ?

Hello Mr Walfield,

I point out one thing with the title of my subject : how could we choose 
the design of an OS nowadays ?

To do short, I believe the hardware decide the future and not the contrary.

I believe that HurdNG had to focus one 2 things ( lol :-), easy to tell, 
hard to design ) : security and performance. Security because all 
devices are becoming more and more connected and performance because of 
the Moore's law.

*First option :

Should we support 386 and let the OS die with this obselete hardware or 
think to the future and enjoy the power of 64 bits and multicore that 
are becoming standards ?

The ideas have to go more far that  the present, if the H?RDNG ( forget 
now UNIX:-) ) want to be a good option/successor to Linux.

A Single Adress Space OS ( 64 bits = 256 Tb, we have time before 
exploiting all this power => it would be moore easy to get rid of ACL 
because of easier implementation of persistence) and a language/main 
library thought for massive multithread (CSP or Concurrent/Parallel 
Haskell => get rid of C/ maybe GNU/UNIX/POSIX too :-) ) .

http://www.torsion.org/

http://www.cs.dartmouth.edu/~dfk/papers/kotz:addrtrace.pdf
(Continue reading)

Neal H. Walfield | 7 Aug 2006 14:58

Re: HURDNG : Which type of OS design could we have to think nowadays ?

Guillaume,

You seem to have studied a lot of non-mainstream techniques and want
to make use of them.  I think it great that there are people looking
to take more of the results of the research community and attempting
to integrate them into real systems (which is not actually part of a
researcher's job).

I think that so far, your ideas have been, however, too broad: first,
what exactly are the problems you are trying to solve?  You say on the
one hand security and performance.  I agree that these are important.
On the other hand, you completely devalue legacy support.  I think
this is the hardest problem and central to the adoption of new
systems.

In short, I think you need to define some goals, consider their
implications (in particular, what things are less important) and then
think about how these new techniques that you've pointed to will
facilitate those goals.  Marcus and I have been doing this for some
time and have found that this articulation process it quite hard yet
rewarding in the insights that it brings.

Good luck,
Neal
Jonathan S. Shapiro | 7 Aug 2006 15:53
Favicon
Gravatar

Re: HURDNG : Which type of OS design could we have to think nowadays ?

Guillaume:

I was preparing to send a note saying the same thing that Neal has said,
but he has probably written better than I could. Instead, let me offer
some thoughts that are more concrete:

There are many places in your notes where you write things like "X is
the solution", where X is some popular or interesting technical idea
(e.g. SASOS). In response to a statement of this form, a good architect
should always respond:

  Perhaps, but the solution to *what*? What are the overall design
  objectives that you are trying to achieve, how does X relate
  to (support or interfere with) those objectives, and is X in fact
  the best way to achieve those goals given what we know about the
  alternative design options that are available to us.

The same response would apply to some of your posts on the BitC list.

We need to test your ideas against the metric I have given. Good design
is really hard, so this may be a discouraging process. Good designers
often have large investments in their ideas, so this discussions can
become quite heated at times. 

On the other hand, it is *great* that you have many ideas to test! Be
patient, gentle, and persistent! [A combination, by the way, that I am
bad at sometimes.]

A starting point:

(Continue reading)

Guillaume FORTAINE | 7 Aug 2006 22:36
Picon

Re: HURDNG : Which type of OS design could we have to think nowadays ?

Jonathan S. Shapiro wrote:
> Guillaume:
>
> I was preparing to send a note saying the same thing that Neal has said,
> but he has probably written better than I could. Instead, let me offer
> some thoughts that are more concrete:
>
> There are many places in your notes where you write things like "X is
> the solution", where X is some popular or interesting technical idea
> (e.g. SASOS). In response to a statement of this form, a good architect
> should always respond:
>
>   Perhaps, but the solution to *what*? What are the overall design
>   objectives that you are trying to achieve, how does X relate
>   to (support or interfere with) those objectives, and is X in fact
>   the best way to achieve those goals given what we know about the
>   alternative design options that are available to us.
>
> The same response would apply to some of your posts on the BitC list.
>
> We need to test your ideas against the metric I have given. Good design
> is really hard, so this may be a discouraging process. Good designers
> often have large investments in their ideas, so this discussions can
> become quite heated at times. 
>
> On the other hand, it is *great* that you have many ideas to test! Be
> patient, gentle, and persistent! [A combination, by the way, that I am
> bad at sometimes.]
>
> A starting point:
(Continue reading)


Gmane