Some Questions ;)

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Fahrenheit
Posts: 6
Joined: Fri Mar 05, 2010 4:16 pm

Some Questions ;)

Post by Fahrenheit »

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
User avatar
qw
Member
Member
Posts: 792
Joined: Mon Jan 26, 2009 2:48 am

Re: Some Questions ;)

Post by qw »

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
Fahrenheit
Posts: 6
Joined: Fri Mar 05, 2010 4:16 pm

Re: Some Questions ;)

Post by Fahrenheit »

Hobbes 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
No for beginn I thought of Minesweeper :D
User avatar
Lithorien
Member
Member
Posts: 59
Joined: Tue Oct 27, 2009 1:40 pm
Location: Hanover, PA

Re: Some Questions ;)

Post by Lithorien »

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
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
Posts: 6
Joined: Fri Mar 05, 2010 4:16 pm

Re: Some Questions ;)

Post by Fahrenheit »

Lithorien 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.
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 OS ;)
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Re: Some Questions ;)

Post by Love4Boobies »

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.
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 ]
Fahrenheit
Posts: 6
Joined: Fri Mar 05, 2010 4:16 pm

Re: Some Questions ;)

Post by Fahrenheit »

Thanks for your words, I'll think about it!
Fahrenheit
Posts: 6
Joined: Fri Mar 05, 2010 4:16 pm

Re: Some Questions ;)

Post by Fahrenheit »

So I made my decision! I'll try something new! :D
User avatar
KotuxGuy
Member
Member
Posts: 96
Joined: Wed Nov 25, 2009 1:28 pm
Location: Somewhere within 10ft of my favorite chubby penguin!

Re: Some Questions ;)

Post by KotuxGuy »

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 :lol: )
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 :D )
Fahrenheit
Posts: 6
Joined: Fri Mar 05, 2010 4:16 pm

Re: Some Questions ;)

Post by Fahrenheit »

Thank you for the Link!
KotuxGuy wrote:After that, I would test my OS by running it on bare hardware(Although I don't trust myself yet to do so :lol: )
I got an old Pentium III (660MHz) near my desk, so it will be possible for me to test it :D
User avatar
KotuxGuy
Member
Member
Posts: 96
Joined: Wed Nov 25, 2009 1:28 pm
Location: Somewhere within 10ft of my favorite chubby penguin!

Re: Some Questions ;)

Post by KotuxGuy »

I just gotta find an old PC for my OS to mess up :lol:
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 :D )
Post Reply