What is the correct terminology?
What is the correct terminology?
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
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
-
- Member
- Posts: 199
- Joined: Sat Jun 28, 2008 6:44 pm
Re: What is the correct terminology?
Something like this?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
Re: What is the correct terminology?
Well not really: plan9 is an actual full-on OS, with kernel and all.syntropy wrote:Something like this?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
@OP: Personally I'd describe it as a higher-level hardware abstraction layer.
Re: What is the correct terminology?
So you mean have a program run on top of another OS, say, Windows?
That's called a SubOS.
That's called a SubOS.
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
Re: What is the correct terminology?
No, that's called a program.AUsername wrote:That's called a SubOS.
Re: What is the correct terminology?
...Sounds like generic software to me. ie, programs. If you want to go fancy, name it a Virtual OSpolas 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.
*edit: or an Operating Environment. IIRC thats what Windows was before Windows 95.
Last edited by neon on Fri Sep 04, 2009 7:35 pm, edited 1 time in total.
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
Re: What is the correct terminology?
What would you call Win3?Brynet-Inc wrote:No, that's called a program.AUsername wrote:That's called a SubOS.
It's an OS but it runs on top of DOS.
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
Re: What is the correct terminology?
No.. it's a glorified DOS program, it is no more an operating system than Firefox is.AUsername wrote:What would you call Win3?
It's an OS but it runs on top of DOS.
- Firestryke31
- Member
- Posts: 550
- Joined: Sat Nov 29, 2008 1:07 pm
- Location: Throw a dart at central Texas
- Contact:
Re: What is the correct terminology?
I'd have said "It's no more an OS than explorer.exe."
Owner of Fawkes Software.
Wierd Al wrote: You think your Commodore 64 is really neato,
What kind of chip you got in there, a Dorito?
Re: What is the correct terminology?
Hi,
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
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).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?
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
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Re: What is the correct terminology?
Hi,
PVM, iirc, has a similar concept (and goals?)
So you might as well call it a Virtual Machine.
Regards
PVM, iirc, has a similar concept (and goals?)
So you might as well call it a Virtual Machine.
Regards
I was... delayed... - Gandalf
- Troy Martin
- Member
- Posts: 1686
- Joined: Fri Apr 18, 2008 4:40 pm
- Location: Langley, Vancouver, BC, Canada
- Contact:
Re: What is the correct terminology?
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.Brynet-Inc wrote:No.. it's a glorified DOS program, it is no more an operating system than Firefox is.AUsername wrote:What would you call Win3?
It's an OS but it runs on top of DOS.
- NickJohnson
- Member
- Posts: 1249
- Joined: Tue Mar 24, 2009 8:11 pm
- Location: Sunnyvale, California
Re: What is the correct terminology?
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>.Troy Martin wrote: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.Brynet-Inc wrote:No.. it's a glorified DOS program, it is no more an operating system than Firefox is.AUsername wrote:What would you call Win3?
It's an OS but it runs on top of DOS.
Re: What is the correct terminology?
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
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