Page 1 of 1
What is the correct terminology?
Posted: Fri Sep 04, 2009 2:34 am
by polas
Hi all, I thought this topic would probably best lie in here (mod please move it if it does not.)
Basically, I have research interests in parallel computing and operating systems. I am currently writing a system which runs on top of the machine's OS (some GNU Linux or Solaris) to implement a parallel operating system over many machines. This system is designed like an OS (kernel and all), making it appear that the collection of machines is infact only one, and will allow for code to be run "under" it etc.
The whole point of the system I am writing is for research - the design I have adopted allows for it (quite) easily to be constructed and then it will be possible to use it to test and develop ideas promoting reliability, resiliance etc nice and quickly. The whole idea being that in the long run these tested concepts could be used in a real parallel OS. Having said that, there is no reason why it could not be used to run and support real parallel applications.
The question I have is what to refer to it as. I am uneasy calling it an OS - although it does implement many of the functions of an OS, it is not one (as it runs on top of the machine's OS.) On the other hand it is not an emulator either, there is no emulation involved. Has anyone come across one of these designs before?
Nick
Re: What is the correct terminology?
Posted: Fri Sep 04, 2009 12:15 pm
by whowhatwhere
polas wrote:Hi all, I thought this topic would probably best lie in here (mod please move it if it does not.)
Basically, I have research interests in parallel computing and operating systems. I am currently writing a system which runs on top of the machine's OS (some GNU Linux or Solaris) to implement a parallel operating system over many machines. This system is designed like an OS (kernel and all), making it appear that the collection of machines is infact only one, and will allow for code to be run "under" it etc.
The whole point of the system I am writing is for research - the design I have adopted allows for it (quite) easily to be constructed and then it will be possible to use it to test and develop ideas promoting reliability, resiliance etc nice and quickly. The whole idea being that in the long run these tested concepts could be used in a real parallel OS. Having said that, there is no reason why it could not be used to run and support real parallel applications.
The question I have is what to refer to it as. I am uneasy calling it an OS - although it does implement many of the functions of an OS, it is not one (as it runs on top of the machine's OS.) On the other hand it is not an emulator either, there is no emulation involved. Has anyone come across one of these designs before?
Nick
Something like this?
Re: What is the correct terminology?
Posted: Fri Sep 04, 2009 5:44 pm
by JamesM
syntropy wrote:polas wrote:Hi all, I thought this topic would probably best lie in here (mod please move it if it does not.)
Basically, I have research interests in parallel computing and operating systems. I am currently writing a system which runs on top of the machine's OS (some GNU Linux or Solaris) to implement a parallel operating system over many machines. This system is designed like an OS (kernel and all), making it appear that the collection of machines is infact only one, and will allow for code to be run "under" it etc.
The whole point of the system I am writing is for research - the design I have adopted allows for it (quite) easily to be constructed and then it will be possible to use it to test and develop ideas promoting reliability, resiliance etc nice and quickly. The whole idea being that in the long run these tested concepts could be used in a real parallel OS. Having said that, there is no reason why it could not be used to run and support real parallel applications.
The question I have is what to refer to it as. I am uneasy calling it an OS - although it does implement many of the functions of an OS, it is not one (as it runs on top of the machine's OS.) On the other hand it is not an emulator either, there is no emulation involved. Has anyone come across one of these designs before?
Nick
Something like this?
Well not really: plan9 is an actual full-on OS, with kernel and all.
@OP: Personally I'd describe it as a higher-level hardware abstraction layer.
Re: What is the correct terminology?
Posted: Fri Sep 04, 2009 5:56 pm
by AUsername
So you mean have a program run on top of another OS, say, Windows?
That's called a SubOS.
Re: What is the correct terminology?
Posted: Fri Sep 04, 2009 6:03 pm
by Brynet-Inc
AUsername wrote:That's called a SubOS.
No, that's called a program.
Re: What is the correct terminology?
Posted: Fri Sep 04, 2009 6:19 pm
by neon
polas wrote:Basically, I have research interests in parallel computing and operating systems. I am currently writing a system which runs on top of the machine's OS (some GNU Linux or Solaris) to implement a parallel operating system over many machines.
...Sounds like generic software to me. ie, programs. If you want to go fancy, name it a Virtual OS
*edit: or an Operating Environment. IIRC thats what Windows was before Windows 95.
Re: What is the correct terminology?
Posted: Fri Sep 04, 2009 6:39 pm
by AUsername
Brynet-Inc wrote:AUsername wrote:That's called a SubOS.
No, that's called a program.
What would you call Win3?
It's an OS but it runs on top of DOS.
Re: What is the correct terminology?
Posted: Fri Sep 04, 2009 8:22 pm
by Brynet-Inc
AUsername wrote:What would you call Win3?
It's an OS but it runs on top of DOS.
No.. it's a glorified DOS program, it is no more an operating system than Firefox is.
Re: What is the correct terminology?
Posted: Fri Sep 04, 2009 8:37 pm
by Firestryke31
I'd have said "It's no more an OS than explorer.exe."
Re: What is the correct terminology?
Posted: Fri Sep 04, 2009 10:40 pm
by Brendan
Hi,
polas wrote:The question I have is what to refer to it as. I am uneasy calling it an OS - although it does implement many of the functions of an OS, it is not one (as it runs on top of the machine's OS.) On the other hand it is not an emulator either, there is no emulation involved. Has anyone come across one of these designs before?
There are operating systems that can be compiled to run on top of another OS. One example is Linux (where you can compile it as "user space Linux" and run it as an application on top of a "bare metal" Linux). Plan9 is also capable of doing this (e.g. can be run on bare metal, or run as an application on top of a Unix-like OS). In these cases, I think the correct terminology is "hosted OS" (when it's running on top of another OS).
In some ways, running on top of another OS is like porting the OS to a different architecture. For example, an OS could be written for 80x86, then ported to PowerPC, then ported to run on top of Linux, then ported to Itanium, then ported to run on top of Windows. In the same way, an OS could be written to run on top of Linux or Solaris, then ported to 80x86.
Therefore, IMHO: If you're writing something that runs on top of Linux or Solaris, and maybe some time in the future someone could port it to run on bare metal, then in this case it's a hosted OS (even if it hasn't been ported to bare metal yet, and even if you don't intend to port it to bare metal). However, if for some reason it'd be silly to port it to bare metal, then it's an application and not a hosted OS (even if someone attempts to port it to bare metal).
From what you described it sounds to me that it's not an OS and not an application, but it is a hosted OS.
Cheers,
Brendan
Re: What is the correct terminology?
Posted: Mon Sep 07, 2009 12:46 am
by geomagas
Hi,
PVM, iirc, has a similar concept (and goals?)
So you might as well call it a Virtual Machine.
Regards
Re: What is the correct terminology?
Posted: Mon Sep 07, 2009 12:28 pm
by Troy Martin
Brynet-Inc wrote:AUsername wrote:What would you call Win3?
It's an OS but it runs on top of DOS.
No.. it's a glorified DOS program, it is no more an operating system than Firefox is.
I respectfully disagree. Firefox doesn't provide an full-fledged graphical user interface API and lower-level routines that Windows 3.x did. 3.x wasn't really an OS as it required DOS, but it was more of an OS than a userspace program like Firefox.
Re: What is the correct terminology?
Posted: Mon Sep 07, 2009 12:44 pm
by NickJohnson
Troy Martin wrote:Brynet-Inc wrote:AUsername wrote:What would you call Win3?
It's an OS but it runs on top of DOS.
No.. it's a glorified DOS program, it is no more an operating system than Firefox is.
I respectfully disagree. Firefox doesn't provide an full-fledged graphical user interface API and lower-level routines that Windows 3.x did. 3.x wasn't really an OS as it required DOS, but it was more of an OS than a userspace program like Firefox.
Except that Firefox pretty much does have a fully-fledged GUI API and engine, just short of a full windowing engine, not to mention a whole language with which the engine interfaces (XUL). Firefox is surprisingly like an OS within an OS - plugins = drivers, addons and web pages = programs, tabs and windows = multitasking, etc. It's at least as much of an OS as Emacs
<flameshield>.
Re: What is the correct terminology?
Posted: Tue Sep 08, 2009 10:20 am
by polas
Thanks for all the replies - some good information in there. I have played with Plan 9 before and it seems PVM do share similar goals to mine - which is all good
I am thinking "hosted OS" In designing the system I have taken the underlying OS to be a sort of HAL, the whole idea being to promote portability as much as possible