www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - About writing a D OS

reply "Carlos Smith" <carlos.smith yumyum.com> writes:
I did search the D news groups and found no previous
reference to SANOS.

How about translating this in D ?

~~~~~~ SANOS: http://www.jbox.dk/sanos/

Sanos is a minimalistic 32-bit x86 OS kernel, written 98% C and 2%assembler,
running on standard PC hardware.
This enables you to run java server applications without the
need to install a traditional host operating system like
Windows or Linux.

The kernel was developed as part of an experiment on investigating the
feasibility of running java server applications without a
traditional operating system only using a simple kernel.

The kernel implements basic operating system services like booting, memory
management, thread scheduling, local and remote file systems, TCP/IP
networking and DLL loading and linking. A win32 layer allows the Windows
version of the standard HotSpot JVM to run under sanos, essentially
providing a JavaOS platform for server applications. This enables you to run
java based server applications, like tomcat and jboss, under sanos.

Alternatively, you can use sanos as a small kernel for embedded server
applications written in C. Sanos has a fairly standard POSIX based API and
an ANSI Standard C library. In this case you don't need the JVM and the
win32 wrappers.

Sanos is open source under a BSD style license. Please see the COPYING file
for details.
Dec 03 2005
next sibling parent Hytak <Hytak_member pathlink.com> writes:
Hello,
very curious: the fact is that I was just at this moment looking for an OS to
port in D because I'm thinking of doing something like that since a while and I
just came up there to post a message about the same thing (well not proposing
this SANOS).
I looked up SANOS and it seems to be good.

I'm very interested in that kind of thing, I do not have very much time but I
have a little bit which can be enough.

I always thought that porting an open-source OS would be better than creating
one from scratch because we would have driver compability and all, you know.

Moreover, I love BSD license ;)

I'm really interested, as I said.

What about you? Other people interested?

We will have to speak of details about the OS and all.

Hytak.


In article <dmt4mc$11hu$1 digitaldaemon.com>, Carlos Smith says...
I did search the D news groups and found no previous
reference to SANOS.

How about translating this in D ?

~~~~~~ SANOS: http://www.jbox.dk/sanos/

Sanos is a minimalistic 32-bit x86 OS kernel, written 98% C and 2%assembler,
running on standard PC hardware.
This enables you to run java server applications without the
need to install a traditional host operating system like
Windows or Linux.

The kernel was developed as part of an experiment on investigating the
feasibility of running java server applications without a
traditional operating system only using a simple kernel.

The kernel implements basic operating system services like booting, memory
management, thread scheduling, local and remote file systems, TCP/IP
networking and DLL loading and linking. A win32 layer allows the Windows
version of the standard HotSpot JVM to run under sanos, essentially
providing a JavaOS platform for server applications. This enables you to run
java based server applications, like tomcat and jboss, under sanos.

Alternatively, you can use sanos as a small kernel for embedded server
applications written in C. Sanos has a fairly standard POSIX based API and
an ANSI Standard C library. In this case you don't need the JVM and the
win32 wrappers.

Sanos is open source under a BSD style license. Please see the COPYING file
for details.
Dec 03 2005
prev sibling parent reply Chris <ctlajoie yahoo.com> writes:
there's a project on DSource which aims to create an entirely new OS using 
D as the main language (http://www.dsource.org/forums/viewforum.php?f=73). 
There's some interresting discussion in the forum.

I really don't want to seem like a naysayer, but just converting an existing 
OS to D does not hold my interest. Converting code is something I really 
dispise. At no time do I feel more useless than when I'm converting code 
from one language to another, with the intent to make it do the exact same 
thing. It's fine (and very necessary sometimes) for small portions of code, 
but converting an entire OS to a new language (IMO) seems impractical.  Aside 
from my personal disinterest, direct conversion would not give you the chance 
to design a new abstraction that takes advantage of a lot of the neat features 
in D. 

This is just my opinion, but I don't think Trevor (the guy doing the OS on 
dsource) has the right idea either. 
To me, a minimal kernel written in D (and asm) from the beginning would be 
much more interresting because you could use an OO design. It would be great 
to learn the internals of an OS, and to show how they interact with each 
other. 
In addition to that, it might be a useful framework for creating single-purpose 
OS' (i.e. Ghost (sys restore) or Partition Magic). We might start seeing 
other (open source) tools with powerful and user-friendly capabilities.

Chris

 I did search the D news groups and found no previous reference to
 SANOS.
 
 How about translating this in D ?
 
 ~~~~~~ SANOS: http://www.jbox.dk/sanos/
 
 Sanos is a minimalistic 32-bit x86 OS kernel, written 98% C and
 2%assembler,
 running on standard PC hardware.
 This enables you to run java server applications without the
 need to install a traditional host operating system like
 Windows or Linux.
 The kernel was developed as part of an experiment on investigating the
 feasibility of running java server applications without a
 traditional operating system only using a simple kernel.
 The kernel implements basic operating system services like booting,
 memory management, thread scheduling, local and remote file systems,
 TCP/IP networking and DLL loading and linking. A win32 layer allows
 the Windows version of the standard HotSpot JVM to run under sanos,
 essentially providing a JavaOS platform for server applications. This
 enables you to run java based server applications, like tomcat and
 jboss, under sanos.
 
 Alternatively, you can use sanos as a small kernel for embedded server
 applications written in C. Sanos has a fairly standard POSIX based API
 and an ANSI Standard C library. In this case you don't need the JVM
 and the win32 wrappers.
 
 Sanos is open source under a BSD style license. Please see the COPYING
 file for details.
 
Dec 04 2005
parent reply Trevor Parscal <Trevor_member pathlink.com> writes:
Chris says...
*snip*
This is just my opinion, but I don't think Trevor (the guy doing the OS on 
dsource) has the right idea either.
*snip*
I would love to hear more about your ideas - and would like to assure you that my mind has yet to be set in stone on any particular direction - so you input would be very influential. Start a topic on the forum or email me... In other news - I have been incapacitatingly busy... I finnaly got a chance to breathe - and than I couldn't breathe cause I got a head cold. Now I am healthy and I have some free time, hopefully I can get some cool stuff done on Terra and Titan. Thanks, Trevor Parscal
Dec 04 2005
next sibling parent reply Hytak <Hytak_member pathlink.com> writes:
I have to admit that Chris is right about the
it's-boring-to-only-port-code-lines. We could, however, use another OS a base
and modify it... although I'm not sure it give us a lot of possibility.
Anyway, I only think that it would be good to port an OS for the driver thing. I
know that Trevor's project would assure a compatibility with different portion
of the OS, but would it give driver compatibility too? 
The fact is, there is many people interested in OS development in D and it would
be good that all of them decide to discuss at the same place.

In article <dmut96$13qa$1 digitaldaemon.com>, Trevor Parscal says...
Chris says...
*snip*
This is just my opinion, but I don't think Trevor (the guy doing the OS on 
dsource) has the right idea either.
*snip*
I would love to hear more about your ideas - and would like to assure you that my mind has yet to be set in stone on any particular direction - so you input would be very influential. Start a topic on the forum or email me... In other news - I have been incapacitatingly busy... I finnaly got a chance to breathe - and than I couldn't breathe cause I got a head cold. Now I am healthy and I have some free time, hopefully I can get some cool stuff done on Terra and Titan. Thanks, Trevor Parscal
Dec 04 2005
parent reply Trevor Parscal <Trevor_member pathlink.com> writes:
In article <dmuv6o$15nu$1 digitaldaemon.com>, Hytak says...
The fact is, there is many people interested in OS development in D and it would
be good that all of them decide to discuss at the same place.
While ye sleep - I make magic happen.. OK, it's not magic.. But here is a start... If you want to join in on designing the Titan kernel with us... (me so far) than come and visit, register, post, etc.. http://www.sequenceartworks.com/labs/titan/ Thanks, Trevor Parscal
Dec 04 2005
next sibling parent Hasan Aljudy <hasan.aljudy gmail.com> writes:
Trevor Parscal wrote:
 In article <dmuv6o$15nu$1 digitaldaemon.com>, Hytak says...
 
The fact is, there is many people interested in OS development in D and it would
be good that all of them decide to discuss at the same place.
While ye sleep - I make magic happen.. OK, it's not magic.. But here is a start... If you want to join in on designing the Titan kernel with us... (me so far) than come and visit, register, post, etc.. http://www.sequenceartworks.com/labs/titan/ Thanks, Trevor Parscal
I registered!! Even though I have zero knowledge about kernels, but:
 We encourage those who may not even know how to program to participate in the
blueprinting of Titan
Dec 04 2005
prev sibling parent reply Tommie Gannert <Tommie_member pathlink.com> writes:
In article <dmvd4v$1j0o$1 digitaldaemon.com>, Trevor Parscal says...
In article <dmuv6o$15nu$1 digitaldaemon.com>, Hytak says...
The fact is, there is many people interested in OS development in D and it would
be good that all of them decide to discuss at the same place.
While ye sleep - I make magic happen.. OK, it's not magic.. But here is a start... If you want to join in on designing the Titan kernel with us... (me so far) than come and visit, register, post, etc..
Hm. Sorry, guys, DOS already exist. It was written long before D? Oh, okay... ;) Just want to ask you not to fall into the POSIX swamp. Build an object oriented OS, as D's paradigm is OOP. Look at BeOS, look at WinNT, but please, please don't use POSIX or Unix as the foundation. POSIX is old and hopefully dying.
Dec 04 2005
next sibling parent reply Hasan Aljudy <hasan.aljudy gmail.com> writes:
Tommie Gannert wrote:
 In article <dmvd4v$1j0o$1 digitaldaemon.com>, Trevor Parscal says...
 
In article <dmuv6o$15nu$1 digitaldaemon.com>, Hytak says...

The fact is, there is many people interested in OS development in D and it would
be good that all of them decide to discuss at the same place.
While ye sleep - I make magic happen.. OK, it's not magic.. But here is a start... If you want to join in on designing the Titan kernel with us... (me so far) than come and visit, register, post, etc..
Hm. Sorry, guys, DOS already exist. It was written long before D? Oh, okay... ;) Just want to ask you not to fall into the POSIX swamp. Build an object oriented OS, as D's paradigm is OOP. Look at BeOS, look at WinNT, but please, please don't use POSIX or Unix as the foundation. POSIX is old and hopefully dying.
Good point, I second that! I'm sick of unix/linux, actually I have a prejudice against linux.
Dec 04 2005
next sibling parent reply Hytak <Hytak_member pathlink.com> writes:
I agree too, moreover, I heard good comments about BeOS although I never tried
it. 


 Just want to ask you not to fall into the POSIX swamp. Build an object oriented
 OS, as D's paradigm is OOP. Look at BeOS, look at WinNT, but please, please
 don't use POSIX or Unix as the foundation. POSIX is old and hopefully dying.
 
 
Good point, I second that! I'm sick of unix/linux, actually I have a prejudice against linux.
Dec 04 2005
parent Tommie Gannert <Tommie_member pathlink.com> writes:
In article <dmvi84$1oji$1 digitaldaemon.com>, Hytak says...
I agree too, moreover, I heard good comments about BeOS although I never tried
it. 
Never used it either, but I too heard they had a pretty good architecture. And since they were targeting multimedia stuff, I assume it was pretty fast too.
Dec 04 2005
prev sibling parent "Ameer Armaly" <ameer_armaly hotmail.com> writes:
"Hasan Aljudy" <hasan.aljudy gmail.com> wrote in message 
news:dmvh82$1nia$1 digitaldaemon.com...
 Tommie Gannert wrote:
 In article <dmvd4v$1j0o$1 digitaldaemon.com>, Trevor Parscal says...

In article <dmuv6o$15nu$1 digitaldaemon.com>, Hytak says...

The fact is, there is many people interested in OS development in D and 
it would
be good that all of them decide to discuss at the same place.
While ye sleep - I make magic happen.. OK, it's not magic.. But here is a start... If you want to join in on designing the Titan kernel with us... (me so far) than come and visit, register, post, etc..
Hm. Sorry, guys, DOS already exist. It was written long before D? Oh, okay... ;) Just want to ask you not to fall into the POSIX swamp. Build an object oriented OS, as D's paradigm is OOP. Look at BeOS, look at WinNT, but please, please don't use POSIX or Unix as the foundation. POSIX is old and hopefully dying.
Good point, I second that! I'm sick of unix/linux, actually I have a prejudice against linux.
I find linux to be great for all kinds of low-level experimentation work, but I can't actually see myself having fun or doing anything productive with a unix-like system; it's an OS written for programmers, thus doesn't care about usability as much as the number of cool hacks you can do with it.
Dec 04 2005
prev sibling next sibling parent reply clayasaurus <clayasaurus gmail.com> writes:
Tommie Gannert wrote:
 In article <dmvd4v$1j0o$1 digitaldaemon.com>, Trevor Parscal says...
 
In article <dmuv6o$15nu$1 digitaldaemon.com>, Hytak says...

The fact is, there is many people interested in OS development in D and it would
be good that all of them decide to discuss at the same place.
While ye sleep - I make magic happen.. OK, it's not magic.. But here is a start... If you want to join in on designing the Titan kernel with us... (me so far) than come and visit, register, post, etc..
Hm. Sorry, guys, DOS already exist. It was written long before D? Oh, okay... ;) Just want to ask you not to fall into the POSIX swamp. Build an object oriented OS, as D's paradigm is OOP. Look at BeOS, look at WinNT, but please, please don't use POSIX or Unix as the foundation. POSIX is old and hopefully dying.
What is so bad about POSIX and *nix in general?
Dec 04 2005
parent Sean Kelly <sean f4.ca> writes:
clayasaurus wrote:
 
 What is so bad about POSIX and *nix in general?
The POSIX spec is extremely vague just to ensure that almost any system could be made POSIX-compliant. The problem with tends to be that almost any application worth writing these days requires specific knowledge or behavior that POSIX defines as optional or simply doesn't guarantee. Multithreading is a perfect example here, as multithreading is essentially an optional feature in POSIX and even when supported the POSIX spec requires mutually exclusive access to *all* shared data for the program to avoid undefined behavior. I think the features that POSIX outlines are pretty good for the most part, and the spec includes some incisive observations, but I wouldn't want it as the basis for a completely new OS design. That said, POSIX support allows for compatibility with a tremendous amount of pre-existing code, so supporting POSIX can be quite a good thing, just so long as you don't stop there. BeOS actually had a great deal of promise as a new OS design with POSIX support before Be, Inc. gave up on the desktop OS in favor of one targeted at internet-connected kiosks. That was the kiss of death for them, though their bottom line was pretty grim either way. Sean
Dec 04 2005
prev sibling parent reply John Reimer <terminal.node gmail.com> writes:
Tommie Gannert wrote:
 In article <dmvd4v$1j0o$1 digitaldaemon.com>, Trevor Parscal says...
 In article <dmuv6o$15nu$1 digitaldaemon.com>, Hytak says...
 The fact is, there is many people interested in OS development in D and it
would
 be good that all of them decide to discuss at the same place.
While ye sleep - I make magic happen.. OK, it's not magic.. But here is a start... If you want to join in on designing the Titan kernel with us... (me so far) than come and visit, register, post, etc..
Hm. Sorry, guys, DOS already exist. It was written long before D? Oh, okay... ;) Just want to ask you not to fall into the POSIX swamp. Build an object oriented OS, as D's paradigm is OOP. Look at BeOS, look at WinNT, but please, please don't use POSIX or Unix as the foundation. POSIX is old and hopefully dying.
And I'd say... Please don't fall into the win32 swamp! Please, please don't use WinNT as your foundation!!!! -JJR
Dec 04 2005
next sibling parent reply Hytak <Hytak_member pathlink.com> writes:
And I'd say...

Please don't fall into the win32 swamp!  Please, please don't use WinNT 
as your foundation!!!!

-JJR
Ahahah you can be sure that even if it would be possible to do that I would not participate in that project hehe.
In article <dmvi84$1oji$1 digitaldaemon.com>, Hytak says...

I agree too, moreover, I heard good comments about BeOS although I never tried
it. 
Never used it either, but I too heard they had a pretty good architecture. And
since they were targeting multimedia stuff, I assume it was pretty fast too.
I heard that it was booting in less than 10 seconds on a pentium 2, and I guess it was fast too. Haiku-os is a project by BeOS fans to make an open-source revival of BeOS... http://haiku-os.org/learn.php ... I don't know if it is as good than the original one.
Dec 04 2005
next sibling parent "Garett Bass" <garettbass studiotekne.com> writes:
 Haiku-os is a project by BeOS fans to make an open-source
 revival of BeOS... http://haiku-os.org/learn.php
How about DeOS :)
Dec 04 2005
prev sibling parent reply Sean Kelly <sean f4.ca> writes:
Hytak wrote:
 And I'd say...

 Please don't fall into the win32 swamp!  Please, please don't use WinNT 
 as your foundation!!!!

 -JJR
 In article <dmvi84$1oji$1 digitaldaemon.com>, Hytak says...

 I agree too, moreover, I heard good comments about BeOS although I never tried
 it. 
 Never used it either, but I too heard they had a pretty good architecture. And
 since they were targeting multimedia stuff, I assume it was pretty fast too.
It was. And built from the ground up to be pervasively multithreaded. I remember seeing an example where someone had ~20 instances of a Star Wars trailer running on their desktop and none of them dropped a frame... even when the user dragged windows around the screen. You could also do stuff like move mp3 files around the filesystem while they were being played and not only would the OS let you do it, but it had no effect on playback quality or OS response (try that with Windows). The only weird thing about BeOS was that everything worked via message passing... and there were no hard guarantees that a messages would be delivered, even if they were just being sent between controls in an application. This made UI programming a bit awkward--I'm not sure if it was addressed in a later version of BeOS or not. BeOS also lacked a multi-user interface and the network layer was garbage. BeOS did get a huge tuneup after they refocused on kiosks however, but I don't think that version ever made it to the PC market. I used BeOS for a few years and finally gave up on it when they stopped releasing PC updates. Sean
Dec 05 2005
parent reply John Reimer <terminal.node gmail.com> writes:
Sean Kelly wrote:
 Hytak wrote:
 And I'd say...

 Please don't fall into the win32 swamp!  Please, please don't use 
 WinNT as your foundation!!!!

 -JJR
 In article <dmvi84$1oji$1 digitaldaemon.com>, Hytak says...

 I agree too, moreover, I heard good comments about BeOS although I 
 never tried
 it. 
 Never used it either, but I too heard they had a pretty good 
 architecture. And
 since they were targeting multimedia stuff, I assume it was pretty 
 fast too.
It was. And built from the ground up to be pervasively multithreaded. I remember seeing an example where someone had ~20 instances of a Star Wars trailer running on their desktop and none of them dropped a frame... even when the user dragged windows around the screen. You could also do stuff like move mp3 files around the filesystem while they were being played and not only would the OS let you do it, but it had no effect on playback quality or OS response (try that with Windows). The only weird thing about BeOS was that everything worked via message passing... and there were no hard guarantees that a messages would be delivered, even if they were just being sent between controls in an application. This made UI programming a bit awkward--I'm not sure if it was addressed in a later version of BeOS or not. BeOS also lacked a multi-user interface and the network layer was garbage. BeOS did get a huge tuneup after they refocused on kiosks however, but I don't think that version ever made it to the PC market. I used BeOS for a few years and finally gave up on it when they stopped releasing PC updates. Sean
I partook of the minor BeOS craze when it first came out. I bought the very first x86 release despite strong warnings by the company that it ran on very select hardware (Matrox video card, certain motherboards etc). Apparently the tuneup you refer to managed to surface publicly in the form of ZETA OS by YellowTAB (www.yellowtab.com) They somehow managed to license parts of the unreleased BeOS 6 (from PalmSource? Nobody seems to know how they did that... there have been accusations...) and build on the BeOS tradition. The unreleased Beta 6 supposedly had a completely recoded network stack that was very fast. At the time, it was said that there was hardware accelerated OpenGL support for Radeon Graphics cards. I remember really looking forward to version 6 coming out. Unfortunately, it never did. I don't know how well ZETA sells, but it's interesting, nonetheless. -JJR
Dec 05 2005
parent Trevor Parscal <Trevor_member pathlink.com> writes:
In article <dn12k1$ejb$1 digitaldaemon.com>, John Reimer says...
  I remember really looking forward to version 6 coming out. 
Unfortunately, it never did.

-JJR
YES - BeOS was awesome - I still have a Max edition I install on machines all the time for fun. It's sooo efficient that an otherwise usless doorstop of a pentium box can become a fun toy again. The saddest part about BeOS being sold to palm, is .. What the hell did palm do with it / need it for? I mean, hey - buy the company, tweak the code, go somewhere with it... I was pretty pissed when 6 never came out too. Anyhoo - I am not against writing a POSIX compatible OS Library for the Titan Kernel, (an exokernel) but I don't plan to use ANY POSIX standards in writing the kernel itself.. I think POSIX has it's time and place, and this kernel is not that place, and now is not that time. Glad to see many of you loved BeOS too.. Keep those ideas coming - the website seems to be working out well. Feel free to post there too. http://www.sequenceartworks.com/labs/titan/index.php Thanks, Trevor Parscal
Dec 05 2005
prev sibling parent reply Tommie Gannert <Tommie_member pathlink.com> writes:
In article <dmvle2$1rq4$1 digitaldaemon.com>, John Reimer says...
And I'd say...

Please don't fall into the win32 swamp!  Please, please don't use WinNT 
as your foundation!!!!
But at least WinNT is based on objects... Of course, they made some dumb decisions on accessing them, but in theory it's nice. On the POSIX subject (another post). There is essentially nothing wrong in POSIX. It suits it's purpose. But first of all it has backwards support ranging back to the sixties... Signals are just a poor substitute for threads and IPC (it could have been nice, but they screwed up because they lacked the notion of thread-safeness back then). And, IMHO, there is no worse socket programming than POSIX C (taken from BSD). select() is nice once you get used to it, but it doesn't beat the WaitForMultipleObjects() of WinNT. Unfortunately the only thing in WinNT that is from POSIX seems to be sockets programming, so it fails on something else there. Doing sockets in Java is simply a dream come true... In general POSIX is just not object oriented, a property I find annoying in the world of C++ and D. How many times have you not spend a day or two just creating OO wrappers of something just because it's not already an object. GTK pops up as a nice non-POSIX example (not to say that I wrote GTKmm, but someone obviously had to spend a couple of days to do it). I could go on forever but it boils down to "using the right standard at the right place". POSIX <-> C, BASIC, PASCAL, Assembly. ??? <-> Java, C++, Smalltalk, D. To my knowledge there are no working open source (i.e. standardizable, no meaning in standardizing something which only has one implementation, is it?) object oriented OS yet. So the first one to create it will probably be a platform for the rest. There are lots of attempts around the Internet, but none seems operational at the moment. Finally, some constructive comments. ;) There is a project called TriOS i found a minute ago. They seem to have the some nice ideas. (Skipping a normal file system, replacing it with a persistent object storage, for one.) In the end people will objectify everything anyway, so it might as well be there from the start. Sorry for the long, indeed purely subjective and probably partially erronous, post. /Tommie
Dec 04 2005
parent reply John Reimer <terminal.node gmail.com> writes:
Tommie Gannert wrote:
 In article <dmvle2$1rq4$1 digitaldaemon.com>, John Reimer says...
 And I'd say...

 Please don't fall into the win32 swamp!  Please, please don't use WinNT 
 as your foundation!!!!
But at least WinNT is based on objects... Of course, they made some dumb decisions on accessing them, but in theory it's nice.
It's amazing how many things are considered "nice" in theory. But in actual fact, The windows internals and API are a mess, objects or not (in fact, windows is far from the only example of a OO API/GUI/OS -- I think it's an ugly one, at that). It's popularity is more due to its prevalence than anything else. Programmer's use what they have to use... C++ being similar example. I think following that example is not a good place to start. There are certainly better examples to follow. If anything, Windows can certainly teach you what NOT to do! ;-) But, that's just my opinion. :-D -JJR
Dec 04 2005
parent reply Derek Parnell <derek psych.ward> writes:
On Sun, 04 Dec 2005 15:08:57 -0800, John Reimer wrote:

 There are certainly better examples to follow.
May I suggest that some good things were done in the design of AmigaDOS, and that it wouldn't be wasted time having a look at that for additional inspiration. -- Derek (skype: derek.j.parnell) Melbourne, Australia "A learning experience is one of those things that says, 'You know that thing you just did? Don't do that.'" - D.N. Adams 5/12/2005 10:14:59 AM
Dec 04 2005
parent reply John Reimer <terminal.node gmail.com> writes:
Derek Parnell wrote:
 On Sun, 04 Dec 2005 15:08:57 -0800, John Reimer wrote:
 
 There are certainly better examples to follow.
May I suggest that some good things were done in the design of AmigaDOS, and that it wouldn't be wasted time having a look at that for additional inspiration.
The Amiga OS was certainly ahead of it's time, many moons ago. One thing I liked about it over Windows-based PC's was the use of proper names for devices. I can't believe we're still using the nasty A:, B:, and C: nomenclature for drive devices within the Windows world (as inherited from its ancient DOS roots). Unix, for all it's copious administration complexity, certainly had consistency to it's credit: its "everything-is-a-file" mentality makes for a "clean" and logical system. If similar, yet original, ideas could be carried over to a new D-based OS, that would be great. -JJR
Dec 04 2005
parent reply Sean Kelly <sean f4.ca> writes:
John Reimer wrote:
 
 One thing I liked about it over Windows-based PC's was the use of proper 
 names for devices.  I can't believe we're still using the nasty A:, B:, 
 and C: nomenclature for drive devices within the Windows world (as 
 inherited from its ancient DOS roots).
Definately! That we're *still* stuck with drive letters is completely absurd considering that Unix has had volume mounting for something like 30 years now. The Windows filesystem is one of the things I like least about the OS these days. Though apparently the folks at MS agree, since they're now working on a filesystem a lot like BeFS for whatever follows Vista.
 Unix, for all it's copious administration complexity, certainly had 
 consistency to it's credit: its "everything-is-a-file" mentality makes 
 for a "clean" and logical system.
 
 If similar, yet original, ideas could be carried over to a new D-based 
 OS, that would be great.
Agreed. Sean
Dec 04 2005
parent reply pragma <pragma_member pathlink.com> writes:
In article <dmvulu$259f$2 digitaldaemon.com>, Sean Kelly says...
John Reimer wrote:
 
 One thing I liked about it over Windows-based PC's was the use of proper 
 names for devices.  I can't believe we're still using the nasty A:, B:, 
 and C: nomenclature for drive devices within the Windows world (as 
 inherited from its ancient DOS roots).
Definately! That we're *still* stuck with drive letters is completely absurd considering that Unix has had volume mounting for something like 30 years now. The Windows filesystem is one of the things I like least about the OS these days. Though apparently the folks at MS agree, since they're now working on a filesystem a lot like BeFS for whatever follows Vista.
While you're on the subject, there's something else to be learned from Vista: Monad. The idea that you can elevate the shell to an interactive script environment isn't 100% new, but the idea that all applications are (scriptable) *objects* is. Suddenly, the shell stops becomming this exception to where the "real" work is done (inside of applciations), so the entire system becomes much more homogenous... just like unix back in the day. To expound on the idea: where text files and streams were the "lingua franca" of *nix, the way forward could be accomplished with some sort of universal tabular format (binary or XML) and object id's. - EricAnderton at yahoo
Dec 04 2005
parent Lars Ivar Igesund <larsivar igesund.net> writes:
pragma wrote:

 In article <dmvulu$259f$2 digitaldaemon.com>, Sean Kelly says...
John Reimer wrote:
 
 One thing I liked about it over Windows-based PC's was the use of proper
 names for devices.  I can't believe we're still using the nasty A:, B:,
 and C: nomenclature for drive devices within the Windows world (as
 inherited from its ancient DOS roots).
Definately! That we're *still* stuck with drive letters is completely absurd considering that Unix has had volume mounting for something like 30 years now. The Windows filesystem is one of the things I like least about the OS these days. Though apparently the folks at MS agree, since they're now working on a filesystem a lot like BeFS for whatever follows Vista.
While you're on the subject, there's something else to be learned from Vista: Monad. The idea that you can elevate the shell to an interactive script environment isn't 100% new, but the idea that all applications are (scriptable) *objects* is.
Before making such claims, you should read about the DCOP signalling interface for KDE apps. The document below was first written as early as '99. http://developer.kde.org/documentation/other/dcop.html This technology has been part of the inspiration for HAL/DBUS of recent Linux kernels. Lars Ivar Igesund
Dec 05 2005
prev sibling parent reply Chris <ctlajoie yahoo.com> writes:
I really don't have very many ideas regarding the OS. I am just trying to 
be realistic about all of this recent ambition of creating an OS in D. one 
of the big problems with making a new OS is compatibility. If you want your 
OS to be suitable for typical PC users (I gather this is the intent of
"Apollo") 
then it would need to be compatible with existing software (including drivers, 
with little modification). Realistically, you can't create new software that 
does everything (or even close) you can do in Windows or Linux.
Also, you have to generate a huge amount of interest in your OS to get people 
to donate their time to your cause. 
I *really* don't want to discourage innovation. I just want to make sure 
it isn't misplaced. But if you have enough passion for creating this, it 
can definately work. SkyOS comes to mind.

Chris

 Chris says...
 
 *snip*
 This is just my opinion, but I don't think Trevor (the guy doing the
 OS on
 dsource) has the right idea either.
 *snip*
I would love to hear more about your ideas - and would like to assure you that my mind has yet to be set in stone on any particular direction - so you input would be very influential. Start a topic on the forum or email me... In other news - I have been incapacitatingly busy... I finnaly got a chance to breathe - and than I couldn't breathe cause I got a head cold. Now I am healthy and I have some free time, hopefully I can get some cool stuff done on Terra and Titan. Thanks, Trevor Parscal
Dec 04 2005
next sibling parent reply "Walter Bright" <newshound digitalmars.com> writes:
"Chris" <ctlajoie yahoo.com> wrote in message
news:a8deea61387a8c7c6fec0a52dcc news.digitalmars.com...
 I really don't have very many ideas regarding the OS. I am just trying to
 be realistic about all of this recent ambition of creating an OS in D. one
 of the big problems with making a new OS is compatibility. If you want
your
 OS to be suitable for typical PC users (I gather this is the intent of
"Apollo")
 then it would need to be compatible with existing software (including
drivers,
 with little modification). Realistically, you can't create new software
that
 does everything (or even close) you can do in Windows or Linux.
 Also, you have to generate a huge amount of interest in your OS to get
people
 to donate their time to your cause.
 I *really* don't want to discourage innovation. I just want to make sure
 it isn't misplaced. But if you have enough passion for creating this, it
 can definately work. SkyOS comes to mind.
One way that Win32 took off was that it would run, unmodified, MS-DOS executables. Any new OS will have a much better chance of success if there's at least some level of binary compatibility. For example, DMD itself uses only a handful of basic, simple OS API's. If the new OS were to support the Windows PE executable format, and supply those basic API's, quite a lot of Win32 command line tools will run under the new OS without needing recompilation. This would be a big help in bootstrapping the OS.
Dec 04 2005
parent John Reimer <terminal.node gmail.com> writes:
Walter Bright wrote:

 One way that Win32 took off was that it would run, unmodified, MS-DOS
 executables. Any new OS will have a much better chance of success if there's
 at least some level of binary compatibility. For example, DMD itself uses
 only a handful of basic, simple OS API's. If the new OS were to support the
 Windows PE executable format, and supply those basic API's, quite a lot of
 Win32 command line tools will run under the new OS without needing
 recompilation.
 
 This would be a big help in bootstrapping the OS.
 
 
Very interesting. That's a good consideration! -JJR
Dec 04 2005
prev sibling parent Pierre-Luc Cyr <Pierre-Luc_member pathlink.com> writes:
In article <a8deea61387a8c7c6fec0a52dcc news.digitalmars.com>, Chris says...
I really don't have very many ideas regarding the OS. I am just trying to 
be realistic about all of this recent ambition of creating an OS in D. one 
of the big problems with making a new OS is compatibility. If you want your 
OS to be suitable for typical PC users (I gather this is the intent of
"Apollo") 
then it would need to be compatible with existing software (including drivers, 
with little modification). Realistically, you can't create new software that 
does everything (or even close) you can do in Windows or Linux. tot
You are totally right in that point. I know Trevor first had the idea to make an exokernel, which, if I remember well, was working with module. Example, there was a windows module which you need to have program compatibility, etc for other ones... howevor, I'm not sure this way of proceeding work for drivers; Trevor would be better to answer this point. (BTW, sorry Trevor if I did a mistake) Pierre-Luc Cyr
Dec 04 2005