Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > alt.os.development > #9145

Re: New OS opportunities?

From Rod Pemberton <NoHaveNotOne@bcczxcfre.cmm>
Newsgroups alt.os.development
Subject Re: New OS opportunities?
Date 2016-01-27 16:34 -0500
Organization Aioe.org NNTP Server
Message-ID <20160127163435.684063cb@_> (permalink)
References <20160122180726.2a6caca2@_> <n7vl0u$pdr$1@dont-email.me> <20160123132407.76edf466@_> <n8ahm7$6q1$1@dont-email.me>

Show all headers | View raw


On Wed, 27 Jan 2016 13:48:22 +0000
James Harris <james.harris.1@gmail.com> wrote:

> On 23/01/2016 18:24, Rod Pemberton wrote:
> > On Sat, 23 Jan 2016 10:37:52 +0000
> > James Harris <james.harris.1@gmail.com> wrote:  
> >> On 22/01/2016 23:07, Rod Pemberton wrote:  
> >  
> >>> Just a quick comment on new OS opportunities ...
> >>>
> >>> It appears we have at least two newer methods of
> >>> creating an OS from existing components:
> >>>
> >>> 1) libSDL and OpenGL  
> >>
> >> AFAICS that would require there to be a host OS.  
> >
> > I'm not sure what back end libSDL needs, but if it's like most code,
> > then it could use an OS library, like those which you cited, or be
> > rewritten for direct use on hardware.  I'm sure more than a few
> > people have "failed" or stalled OS projects that could be used.  
> 
> AFAICT it needs an underlying OS, as is true of any normal library.

I'm not sure why you're always fixated on needing a host OS.

Unix and POSIX OSes are coded in C and use the exact same C
libraries that they host.  This isn't a catch-22.  Yes, it
is a bootstrap, porting, and/or cross-compiling issue.  I.e.,
Linux can produce it's own kernel, DOS probably could too.
And, you're well aware of compiler flags that can eliminate
dependence on host specific code, or allow code to be
cross-compiled.  E.g., I coded my OS using C and portions of
the C library intended for another OS ...

Think of doing this as a dynamic process.  You do a bit of
work either porting or filling in the back-end, develop,
re-work, which allows you to do more, implement more, repeat
until working.  At some point, you must produce standalone
bootable code, and then develop the ability to execute other
code.

Languages were once coded in assembly, rewritten in the host
language, and then bootstrapped via the assembly executable.
If you ever tried out Steve Dubrovich's Small C code, then
you know exactly how this works.  Assemble the NASM code, use
the executable to bootstrap the C code via repeated compilation.
I'm sure Alexei Frounze's Smaller C is bootstrapped similarly,
but perhaps with existing C compilers.

> >>> 2) Node.js and Google V8 (Javascript engine)  
> >>
> >> AFAICS you mean to run such an OS under the V8 JavaScript engine.  
> >
> > Node.js, from the brief description I read, is a fully scalable
> > execution environment for V8 JavaScript code.  So, it's essentially
> > a bare bones OS in the sense that you can run apps, CLIs, and GUIs,
> > etc upon the execution environment.  Supposedly, it only requires a
> > small bit of low-level host I/O too.  
> 
> Isn't node.js a library of components written in JavaScript and thus 
> needing a JS engine to run on ... which, itself, would need a host OS?

I wouldn't call it a library:

"Dahl presented Node.js, which combined Google's V8
JavaScript engine, an event loop and a low-level I/O API."
https://en.wikipedia.org/wiki/Node.js

So, he wrote an event loop.  :-)

Apparently, it needs "libuv" too.  It doesn't sound like
he did much, other than give JavaScript the ability to
access low-level I/O and run other JavaScript code.

Yes, you'll most likely need to figure out how to compile
JavaScript for your OS, i.e., port it, and/or bootstrap it,
cross-compile it, and/or whatever else from a host OS, e.g.,
Windows or Linux.

> >> [...]  
> >
> > IMO, the key bit for both combinations being used as the base of
> > an OS is popularity of code being developed for these code bases.
> > OpenGL and libSDL already have numerous applications and games
> > written for them.  Node.js is going to have much gaming and web
> > server code written for it. So, I think it's worthwhile to
> > attempt to use them as the base of an OS.
> >
> > Depending on an inventory of what each project implements, it might
> > make more sense to do something like, Google V8 and libSDL and
> > OpenGL on top of Node.js, plus low-level etc. That should provide,
> > graphics (OpenGL), portable hardware (libSDL), gaming, networking,
> > and execution environment (Google V8).  
> 
> It might be worth porting LibSDL to one's own OS and implementing or 
> porting a JS engine. Then the above could be used. But I am not sure 
> that any of the above will get you direct hardware control. I might
> be wrong, though. These are not packages that I am familiar with.

Early Linux only had 40 OS functions, while modern Linux has
over 290 syscalls.  A few C libraries only need 18 external
functions.  I.e., many such libraries are only dependent on
a small amount of external functionality.  So, it still might
be easy to implement.

I haven't inventoried what is required for either.  I'd think
it's likely that libSDL might be ported to a game machine or
embedded environment.  If so, then libSDL likely already has
the basic low-level code functionality for an external I/O API
implemented as part of the main library.  If present, that would
need to be ported or reworked for your target.  It's entirely
possible that it might even have host-specific low-level I/O,
like GNU's GLIBC C library, which can be used as a template.


Rod Pemberton

Back to alt.os.development | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

New OS opportunities? Rod Pemberton <NoHaveNotOne@bcczxcfre.cmm> - 2016-01-22 18:07 -0500
  Re: New OS opportunities? James Harris <james.harris.1@gmail.com> - 2016-01-23 10:37 +0000
    Re: New OS opportunities? Rod Pemberton <NoHaveNotOne@bcczxcfre.cmm> - 2016-01-23 13:24 -0500
      Re: New OS opportunities? James Harris <james.harris.1@gmail.com> - 2016-01-27 13:48 +0000
        Re: New OS opportunities? Rod Pemberton <NoHaveNotOne@bcczxcfre.cmm> - 2016-01-27 16:34 -0500
          Re: New OS opportunities? James Harris <james.harris.1@gmail.com> - 2016-01-28 09:48 +0000
            Re: New OS opportunities? Rod Pemberton <NoHaveNotOne@bcczxcfre.cmm> - 2016-01-28 19:30 -0500
          Re: New OS opportunities? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2016-01-28 23:00 -0800

csiph-web