Some Questions ;)
-
- Posts: 6
- Joined: Fri Mar 05, 2010 4:16 pm
Some Questions ;)
Hey Guy,
I currently started to learn some things about Operating Systems. And because most of the programms I use are made for Windows I want to write an OS that is able to handle *.exe files to run the Windows programms. So here are my Questions:
1. Is this possible?
2. What virtual Machine could I use to test my OS
3. I am able to write Java & C++, should I learn any more
4. I currently reading inside Windows NT, are there anymore booktipps?
Thanks in Advance for your Answers!
Greetz, Fahrenheit
I currently started to learn some things about Operating Systems. And because most of the programms I use are made for Windows I want to write an OS that is able to handle *.exe files to run the Windows programms. So here are my Questions:
1. Is this possible?
2. What virtual Machine could I use to test my OS
3. I am able to write Java & C++, should I learn any more
4. I currently reading inside Windows NT, are there anymore booktipps?
Thanks in Advance for your Answers!
Greetz, Fahrenheit
Re: Some Questions ;)
Well, yes, it is possible, but basically you will be rewriting Windows.
You could support loading of PE executables and implement a subset of the Windows API, the most basic things, like File I/O. Don't expect to run Office on your OS unless you have supernatural powers.
Roel
You could support loading of PE executables and implement a subset of the Windows API, the most basic things, like File I/O. Don't expect to run Office on your OS unless you have supernatural powers.
Roel
-
- Posts: 6
- Joined: Fri Mar 05, 2010 4:16 pm
Re: Some Questions ;)
No for beginn I thought of MinesweeperHobbes wrote:Well, yes, it is possible, but basically you will be rewriting Windows.
Don't expect to run Office on your OS unless you have supernatural powers.
Roel
Re: Some Questions ;)
You might want to do some work for the ReactOS project before you branch off to an independant project. That'll give you the chance to be exposed to an OS project trying to do the exact same thing you want to do so that you can get an idea of the scale and breadth of the project before you start.Fahrenheit wrote:Hey Guy,
I currently started to learn some things about Operating Systems. And because most of the programms I use are made for Windows I want to write an OS that is able to handle *.exe files to run the Windows programms. So here are my Questions:
1. Is this possible?
2. What virtual Machine could I use to test my OS
3. I am able to write Java & C++, should I learn any more
4. I currently reading inside Windows NT, are there anymore booktipps?
Thanks in Advance for your Answers!
Greetz, Fahrenheit
-
- Posts: 6
- Joined: Fri Mar 05, 2010 4:16 pm
Re: Some Questions ;)
I thought about it, but I doesn't like the Idea that there isn't a limited Developerteam and everybody can write code for I so I don't know, if there is any person how really knows whats currently happening with the OSLithorien wrote:You might want to do some work for the ReactOS project before you branch off to an independant project. That'll give you the chance to be exposed to an OS project trying to do the exact same thing you want to do so that you can get an idea of the scale and breadth of the project before you start.
- Love4Boobies
- Member
- Posts: 2111
- Joined: Fri Mar 07, 2008 5:36 pm
- Location: Bucharest, Romania
Re: Some Questions ;)
Check out the page on beginner mistakes on our wiki. You will probably never implement something like Windows - besides detailed knowledge of the Windows internals (no one in the world, not even people working on it understand the whole kernel at least - different people understand different parts), there are over 50 million lines of code in Vista - probably a lot more in Windows 7. It's a huge project and many people have been payed to work on it for many years.
I can see Lithorien has already mentioned the ReactOS project, an open source implementation of Microsoft Windows. They are using Wine to implement the Windows API on top of a kernel they have been working on for 10 years (and it's still nowhere near stable, nor does it have all features - in fact it lacks quite a few: NTFS support, full USB, only recently they have added some primitive sound support, networking sucks, ReactX is far from being DirectX).
Don't let this discourage you however. Many of us started out dreaming to make a clone of some OS. Once you learn a bit of theory you will see that commercial OSes are old and full of hacks for backwards compatibility and have a sucky design. Try to come up with something better even if you won't be able to run applications like Microsoft Office. Many people here have proted GCC, Python and other things to their OSes; Pedigree was sort of able to run Apache as well (at least for a while).
Perhaps your design will be so different that porting applications will be virtually impossible, in which case you (or anyone else who's interested in your project) could write new applications taking advantage of your features. Good luck!
EDIT: Fixed a repetition; if you've already read the post, it's not worth doing so again.
I can see Lithorien has already mentioned the ReactOS project, an open source implementation of Microsoft Windows. They are using Wine to implement the Windows API on top of a kernel they have been working on for 10 years (and it's still nowhere near stable, nor does it have all features - in fact it lacks quite a few: NTFS support, full USB, only recently they have added some primitive sound support, networking sucks, ReactX is far from being DirectX).
Don't let this discourage you however. Many of us started out dreaming to make a clone of some OS. Once you learn a bit of theory you will see that commercial OSes are old and full of hacks for backwards compatibility and have a sucky design. Try to come up with something better even if you won't be able to run applications like Microsoft Office. Many people here have proted GCC, Python and other things to their OSes; Pedigree was sort of able to run Apache as well (at least for a while).
Perhaps your design will be so different that porting applications will be virtually impossible, in which case you (or anyone else who's interested in your project) could write new applications taking advantage of your features. Good luck!
EDIT: Fixed a repetition; if you've already read the post, it's not worth doing so again.
Last edited by Love4Boobies on Mon Mar 29, 2010 7:29 am, edited 1 time in total.
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
[ Project UDI ]
-
- Posts: 6
- Joined: Fri Mar 05, 2010 4:16 pm
Re: Some Questions ;)
Thanks for your words, I'll think about it!
-
- Posts: 6
- Joined: Fri Mar 05, 2010 4:16 pm
Re: Some Questions ;)
So I made my decision! I'll try something new!
- KotuxGuy
- Member
- Posts: 96
- Joined: Wed Nov 25, 2009 1:28 pm
- Location: Somewhere within 10ft of my favorite chubby penguin!
Re: Some Questions ;)
If I may give a few suggestions..
- Start with a tutorial, like JamesM's kernel tutorials for OSDeving on a *nix environment(Cygwin works), or bkerndev for OSDeving on a Windows environment
- Then, after you finished the tutorial(IMHO I recommend JamesM's tutorial for being more expansive), you can build on it by adding things like:
- A filesystem driver
- Dynamic driver loading
- The ability to run programs(which will most likely depend on a FS)
- A GUI, (although such a thing, IMHO, would be better suited for an external program)
- An improved TUI, with fonts
- Port a few programs, like GCC
- After that, I would test my OS by running it on bare hardware(Although I don't trust myself yet to do so )
Give a man Linux, you feed the nearest optician ( Been staring at the PC too long again? ).
Give a man OS X, you feed the nearest NVidia outlet ( I need more GPU power!! )
Give a man Windows, you feed the entire Tylenol company ( Self explanatory )
Give a man OS X, you feed the nearest NVidia outlet ( I need more GPU power!! )
Give a man Windows, you feed the entire Tylenol company ( Self explanatory )
-
- Posts: 6
- Joined: Fri Mar 05, 2010 4:16 pm
Re: Some Questions ;)
Thank you for the Link!
I got an old Pentium III (660MHz) near my desk, so it will be possible for me to test itKotuxGuy wrote:After that, I would test my OS by running it on bare hardware(Although I don't trust myself yet to do so )
- KotuxGuy
- Member
- Posts: 96
- Joined: Wed Nov 25, 2009 1:28 pm
- Location: Somewhere within 10ft of my favorite chubby penguin!
Re: Some Questions ;)
I just gotta find an old PC for my OS to mess up
Give a man Linux, you feed the nearest optician ( Been staring at the PC too long again? ).
Give a man OS X, you feed the nearest NVidia outlet ( I need more GPU power!! )
Give a man Windows, you feed the entire Tylenol company ( Self explanatory )
Give a man OS X, you feed the nearest NVidia outlet ( I need more GPU power!! )
Give a man Windows, you feed the entire Tylenol company ( Self explanatory )