Add your ideas to my ideas to make a good idea.
Posted: Sat Jul 10, 2004 11:00 pm
Hello to many people here at OsDev,
I am still learning how to write on OS but throughout the years I have seen that many Os software experiments were tried yet there is still more ideas to be added. My dream is to write an OS called the New Era OS. So here is a little description of what I want to write. I basically want you to read over it. Add anything that could be added. The basic ideas behind the system:
All user programs are interpreted.
Object / File transparency.
Programs are all functions
Event based approach
Transparent Networking
Each Frame is redrawn
All user programs are interpreted.
So all programs that are not the Kernel or the Drivers would be byte code interpreted (Simmer to java). This takes out the program crashing and taking out the entire machine. Then all user programs can run on any hardware. This means that New Era can easily move to a new architecture and have all user programs running. There has been lost against byte code interpreted code but I see that those two advantages out wage the speed you get with machine code. Don’t get me wrong. Os would be written mostly in assembly in order to speed up the user programs where ever possible. Maybe C or I was thinking about writing my own compiler to do the not so critical sections. But hey commuters are faster every day so we might do it all in C.
Object / File transparency
All objects would be files. Member functions and internal data could be easily added or removed at run time. So the class can change it shape during execution of the program. Then all large data structures like arrays and trees would be stored in its own files. So say if a program stored data in an array. The array is actually a file so it does not need to save it. When the app quits and then user runs it again the array would not change its values. So really programs would never exit like in other OSes. Don’t get me wrong the File system exists but it is transparent to the user.
Programs are all functions
Because program is a file and file is an object of an operating system (Or of the directory). The Program becomes just like an Os function so any other program-function-object-of-the-OS can call it. So to call paints rotate function you word do something like:
Dir = Find(“paint.exe”);
Dir.Paint.exe.roatate( 90 );
Every time you get a new program you can use any function with in. Ha! This can speed up program development.
Event based approach
Windows is message based it send you messages when some thing happens. Most of the time program ignores it, so way bother sending it in the first place? Instead the user program would check for what it wants. Like has this button been pressed? Or is this key pressed? Did the window minimize yet?
Rights of Program-Object-File
Security is the main part of a modern OS. But It becomes such a hassle when it gets in the way. So user never asks the Program to open the file but user asks the Document to run the Program associated with it. If the document has the rights to run the program (Bitmaps could only run Drawing software). The program starts up. Gets the pointer to the Object-File and start working with it. If you want to insert a bitmap into a text document you would either drag it onto (and it would give a pointer and say hey I am hare to be insured) or text editing program asks the OS to insure a picture (Then same process would happen)
Transparent Networking
When you log into an “environment” it does not have to be just on one computer. The files could be stored on any computer completely invisible to the user over a network. Even processes that are non user dependent could be run on any machine in the network. So the network has only one file system. User might have his own for security reasons. If some of you remember this would be like the Ameba OS in a way.
Graphics
Modern OS will relay heavily on high quality 2d and 3d graphics. So just like in almost any game the screen will be redrawn every frame. The objects that are to be drown needed to be registered to the main graphics controller first. So when time comes to redraw the frame one just goes down the list and draws all objects 2d or 3d objects. 2d Object would be treated like flat 3d objects. I was thinking of just getting all trusted OpenGL incorporated. And writing a more user friendly 2d add onto the OpenGL.
Day in life of a the New Era OS
Ok, much of the stuff up there might not make since so here I demonstrate it. Lets say we need to edit some text. We click on a little text editing program. It starts an untitled document. And the function bar. Now its job is done. The document is its own object and so is the function bar. As we type into the document we can run another program in the function bar say “B” for bold which starts up and checks which characters are selected and converts them to bold. So in reality every button is its own program (which can be called from any where remember?). You even have no need to save the document because there is no such thing as a file. If you turn off the computer right now the document would be saved to the hard drive (I mean proper shutdown). If you wanted to replace the bold function you would need to ask the User Shell (Which has right to everything) to give the bold function the right to be modified and then have the bold be replaced with your program.
I wrote this order for you to evaluate idea about my Os. So please fight with me for all the points in this here, ask me to clarify, or if this software experiment sounds like something you would like to do I am recruiting a team so email me at [email protected].
Thank you for your time.
I am still learning how to write on OS but throughout the years I have seen that many Os software experiments were tried yet there is still more ideas to be added. My dream is to write an OS called the New Era OS. So here is a little description of what I want to write. I basically want you to read over it. Add anything that could be added. The basic ideas behind the system:
All user programs are interpreted.
Object / File transparency.
Programs are all functions
Event based approach
Transparent Networking
Each Frame is redrawn
All user programs are interpreted.
So all programs that are not the Kernel or the Drivers would be byte code interpreted (Simmer to java). This takes out the program crashing and taking out the entire machine. Then all user programs can run on any hardware. This means that New Era can easily move to a new architecture and have all user programs running. There has been lost against byte code interpreted code but I see that those two advantages out wage the speed you get with machine code. Don’t get me wrong. Os would be written mostly in assembly in order to speed up the user programs where ever possible. Maybe C or I was thinking about writing my own compiler to do the not so critical sections. But hey commuters are faster every day so we might do it all in C.
Object / File transparency
All objects would be files. Member functions and internal data could be easily added or removed at run time. So the class can change it shape during execution of the program. Then all large data structures like arrays and trees would be stored in its own files. So say if a program stored data in an array. The array is actually a file so it does not need to save it. When the app quits and then user runs it again the array would not change its values. So really programs would never exit like in other OSes. Don’t get me wrong the File system exists but it is transparent to the user.
Programs are all functions
Because program is a file and file is an object of an operating system (Or of the directory). The Program becomes just like an Os function so any other program-function-object-of-the-OS can call it. So to call paints rotate function you word do something like:
Dir = Find(“paint.exe”);
Dir.Paint.exe.roatate( 90 );
Every time you get a new program you can use any function with in. Ha! This can speed up program development.
Event based approach
Windows is message based it send you messages when some thing happens. Most of the time program ignores it, so way bother sending it in the first place? Instead the user program would check for what it wants. Like has this button been pressed? Or is this key pressed? Did the window minimize yet?
Rights of Program-Object-File
Security is the main part of a modern OS. But It becomes such a hassle when it gets in the way. So user never asks the Program to open the file but user asks the Document to run the Program associated with it. If the document has the rights to run the program (Bitmaps could only run Drawing software). The program starts up. Gets the pointer to the Object-File and start working with it. If you want to insert a bitmap into a text document you would either drag it onto (and it would give a pointer and say hey I am hare to be insured) or text editing program asks the OS to insure a picture (Then same process would happen)
Transparent Networking
When you log into an “environment” it does not have to be just on one computer. The files could be stored on any computer completely invisible to the user over a network. Even processes that are non user dependent could be run on any machine in the network. So the network has only one file system. User might have his own for security reasons. If some of you remember this would be like the Ameba OS in a way.
Graphics
Modern OS will relay heavily on high quality 2d and 3d graphics. So just like in almost any game the screen will be redrawn every frame. The objects that are to be drown needed to be registered to the main graphics controller first. So when time comes to redraw the frame one just goes down the list and draws all objects 2d or 3d objects. 2d Object would be treated like flat 3d objects. I was thinking of just getting all trusted OpenGL incorporated. And writing a more user friendly 2d add onto the OpenGL.
Day in life of a the New Era OS
Ok, much of the stuff up there might not make since so here I demonstrate it. Lets say we need to edit some text. We click on a little text editing program. It starts an untitled document. And the function bar. Now its job is done. The document is its own object and so is the function bar. As we type into the document we can run another program in the function bar say “B” for bold which starts up and checks which characters are selected and converts them to bold. So in reality every button is its own program (which can be called from any where remember?). You even have no need to save the document because there is no such thing as a file. If you turn off the computer right now the document would be saved to the hard drive (I mean proper shutdown). If you wanted to replace the bold function you would need to ask the User Shell (Which has right to everything) to give the bold function the right to be modified and then have the bold be replaced with your program.
I wrote this order for you to evaluate idea about my Os. So please fight with me for all the points in this here, ask me to clarify, or if this software experiment sounds like something you would like to do I am recruiting a team so email me at [email protected].
Thank you for your time.