Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > alt.os.development > #9145
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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