Linux vs Windows
- crazygray1
- Member
- Posts: 168
- Joined: Thu Nov 22, 2007 7:18 pm
- Location: USA,Hawaii,Honolulu(Seriously)
Linux vs Windows
What makes linux better than the windows operating systems or the other way around?
PS. This question is geared more toward wich is better for os development
PS. This question is geared more toward wich is better for os development
Codname: Cipher
Working On: Design Doc(CFFS file system)
Working On: Design Doc(CFFS file system)
For os development, it really doesn't matter. Pick the one you're most comfortable with. Also see http://www.osdev.org/wiki/Getting_Start ... nvironment
- Dandee Yuyo
- Member
- Posts: 47
- Joined: Fri Nov 09, 2007 6:46 pm
- Location: Argentina
There were legal restrictions on the license of some Microsoft tools (VC++ afaik) about using it for developing a OS.
Don't know if it is still the case...
Don't know if it is still the case...
Last edited by Dandee Yuyo on Mon Nov 26, 2007 6:29 pm, edited 1 time in total.
NaN - Not a Nerd
Working on: Physical Memory Management with a 5-lod mipmap XD
Working on: Physical Memory Management with a 5-lod mipmap XD
- crazygray1
- Member
- Posts: 168
- Joined: Thu Nov 22, 2007 7:18 pm
- Location: USA,Hawaii,Honolulu(Seriously)
Where at? Just curious here, as I have seen plenty of OSs developed using VC++.There were legal restrictions on the license of some Microsoft tools (VC++ afaik) about using it for developing a OS.
I have the license with me, but dont see anything in it...
(I know MASM32 disallows it, though, so I would not doubt there might be some restrictions, but what?)
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();}
- AndrewAPrice
- Member
- Posts: 2309
- Joined: Mon Jun 05, 2006 11:00 pm
- Location: USA (and Australia)
Using Windows doesn't mean you're restricted to VC++. I use Visual Studio 2005 with CYGWIN/GCC. Before that I was using CodeBlocks/GCC. Before that I was using Notepad/DJGPP. You could even use the VC++ compiler with notepad, but it wouldn't be the easiest thing to do, since you'd have to figure out the 25 required parameters just to get it to compile
VC++ is a great compiler BTW, I'm using CYGWIN because I wanted ELF binaries.
VC++ is a great compiler BTW, I'm using CYGWIN because I wanted ELF binaries.
My OS is Perception.
- Dandee Yuyo
- Member
- Posts: 47
- Joined: Fri Nov 09, 2007 6:46 pm
- Location: Argentina
Oh... I was referring to VC++ 2005, so I guess it might not apply anymore then. I personally am just using the Visual C++ IDE+compilier+linker to produce my PE kernel. My previous system used djgpp. Before that, cygwin+gcc.
There are alot of different methods though. Just use the OS that you feel most comfortable with
There are alot of different methods though. Just use the OS that you feel most comfortable with
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();}
- Steve the Pirate
- Member
- Posts: 152
- Joined: Fri Dec 15, 2006 7:01 am
- Location: Brisbane, Australia
- Contact:
By now there is little to distinguish the two. Windows has a lead in IDE's and text editors (yes, I really think so), and many development tools from the Unix world run with the help of Cygwin.
Linux, on the other hand, supports all these tools natively, and in a consistent environment.
I'd say use whatever suits you best. There are no show-stoppers anymore, just gradients of suckage.
Linux, on the other hand, supports all these tools natively, and in a consistent environment.
I'd say use whatever suits you best. There are no show-stoppers anymore, just gradients of suckage.
Every good solution is obvious once you've found it.
-
- Member
- Posts: 65
- Joined: Wed Nov 14, 2007 3:19 pm
Hiya folks ) my reasoning for using linux is more longterm . From what Ive read it doesnt seem to matter what OS you use and in fact the whole ease of use thing plays a big part, however - I moved to linux
1: because I have used linux for a while
2: looking at it longterm at some point theres going to be a point where I perhaps have a small OS and am considering making certain parts the best way, perhaps trying to get my c functions done to some standards, so being able to look at and compile kernel source is handy. I suppose you could just maybe us vmware or something but still I have downloaded some kernel source and its good to see how some of the drivers are written in c.(I was considering this for a while but there was a poster on here earlier who made me commit to this)
So basically when Im stuck in the future with what c functions to add to make my driver compatible I can possibly look at one of the early linux versions and see how basic drivers are done, read the kernels documentation. In fact I was looking at a kernels docs folder yesterday and it provided a good lot of online links starting byu explaining kernel theory and then gradually on to more practical stuff
I will be using both windows and gentoo though
Obviously I dont want to get bogged down at this stage though so Im going through some of the wiki guides on linux and will be reading alot more theory , I just really want to give this a fair go so Im keeping all m y options open while stilll trying to make small steps of progress so plan:
read read and more read
have 2 OS's so as to be able to try relevant tutorials to their native system
Have 3 seperate small systems from seperate guides
Get to grips with memmory management
get a simple memmory system in place for starters
Start getting good at reading sectors from my FD
STart getting to grips with the IDT and writting code for HW ints
Read up on file IO
learn to store an empty file of x bytes on a fat32 disk
Learn to load more high lvl commands into a file so that they can be used kind of like in a shell enviroment - they enable me to type more abstract commands for creating a file, reading from a file - Im thinking at startup the commandfile on FD gets read into a part of memmory and when the enter key is pressed the line of chars gets read, checked against the commands in memmory and executed(Actually this prob a bad system , but its just to give people an idea of the many things I will have to do before being able to consider using proper good coders, kernel source)
Expand on my C Lib more
etc
someday consider making some systems to conform to well known standards prob years down the line , who knows
Point is just small steps
At a later date being able to talk to kernel programmers and the alike for linux is going to to heaps of benefit to me learning
(Just to finally say Im doing OS dev on quite a new system with PCIe cards and an NV chipset , so some of the drivers from one of the gentoo CDs dont work , I know I can fix this but moving to linux there may be a danger of getting bogged down with other things, just something worth bearing in mind for anyone thinking of doing it)
1: because I have used linux for a while
2: looking at it longterm at some point theres going to be a point where I perhaps have a small OS and am considering making certain parts the best way, perhaps trying to get my c functions done to some standards, so being able to look at and compile kernel source is handy. I suppose you could just maybe us vmware or something but still I have downloaded some kernel source and its good to see how some of the drivers are written in c.(I was considering this for a while but there was a poster on here earlier who made me commit to this)
So basically when Im stuck in the future with what c functions to add to make my driver compatible I can possibly look at one of the early linux versions and see how basic drivers are done, read the kernels documentation. In fact I was looking at a kernels docs folder yesterday and it provided a good lot of online links starting byu explaining kernel theory and then gradually on to more practical stuff
I will be using both windows and gentoo though
Obviously I dont want to get bogged down at this stage though so Im going through some of the wiki guides on linux and will be reading alot more theory , I just really want to give this a fair go so Im keeping all m y options open while stilll trying to make small steps of progress so plan:
read read and more read
have 2 OS's so as to be able to try relevant tutorials to their native system
Have 3 seperate small systems from seperate guides
Get to grips with memmory management
get a simple memmory system in place for starters
Start getting good at reading sectors from my FD
STart getting to grips with the IDT and writting code for HW ints
Read up on file IO
learn to store an empty file of x bytes on a fat32 disk
Learn to load more high lvl commands into a file so that they can be used kind of like in a shell enviroment - they enable me to type more abstract commands for creating a file, reading from a file - Im thinking at startup the commandfile on FD gets read into a part of memmory and when the enter key is pressed the line of chars gets read, checked against the commands in memmory and executed(Actually this prob a bad system , but its just to give people an idea of the many things I will have to do before being able to consider using proper good coders, kernel source)
Expand on my C Lib more
etc
someday consider making some systems to conform to well known standards prob years down the line , who knows
Point is just small steps
At a later date being able to talk to kernel programmers and the alike for linux is going to to heaps of benefit to me learning
(Just to finally say Im doing OS dev on quite a new system with PCIe cards and an NV chipset , so some of the drivers from one of the gentoo CDs dont work , I know I can fix this but moving to linux there may be a danger of getting bogged down with other things, just something worth bearing in mind for anyone thinking of doing it)
Remember my flamewars about Linux? Now when I look at my posts 6-7 months back, I feel lame. Both systems have the pro's and con's. I use Linux mainly for testing suspicious exploit sites, or when I want just speed and stability. In Windows, where only complete reinstall would be solution for, er, slowness (my disk contains at least 2 million of programs ), I use Windows mainly for gaming, OS dev, main system administration etc.
Regards
inflater
Regards
inflater
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English )
Derrick operating system: http://derrick.xf.cz (Slovak and English )
- crazygray1
- Member
- Posts: 168
- Joined: Thu Nov 22, 2007 7:18 pm
- Location: USA,Hawaii,Honolulu(Seriously)
- Steve the Pirate
- Member
- Posts: 152
- Joined: Fri Dec 15, 2006 7:01 am
- Location: Brisbane, Australia
- Contact:
There are a few ways you can:crazygray1 wrote:How could I try linux?
1. Grab a live CD, and try that out - it won't touch the disk unless you tell it to install. (Live CDs are pretty slow though)
2. Download Virtualbox or VMware and install it in that
3. Or you could repartition your disk, and dual boot it.