I need lots of help
-
- Posts: 4
- Joined: Sat Jun 06, 2009 3:29 pm
I need lots of help
I have not done much programming, only batch files, so i was wondering what all the types of programs i will need. I have a Compiler, I have Code Block (is code block necessary, or can i use notepad?) and what other types of programs will i need? also, what languages will be necessary to learn, and where can i learn them at? seems like making an OS is going to be hard. how did bill gates make his without all this software!!!
- piranha
- Member
- Posts: 1391
- Joined: Thu Dec 21, 2006 7:42 pm
- Location: Unknown. Momentum is pretty certain, however.
- Contact:
Re: I need lots of help
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
Re: I need lots of help
I highly recommend to put any of your big goal projects away for now and focus on learning to program. The only program that is actually "needed" is an assembler. Others might be compiliers, linkers, etc., that depend on your high level language (HLL) if you decide to use one.I have not done much programming, only batch files, so i was wondering what all the types of programs i will need.
He didn't make an OS, the company did. Also, they developed it using C and assembly.how did bill gates make his without all this software!!!
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: I need lots of help
Hi,
Only to make sure, you did understand what's been said before. You CANNOT write your own OS without having ever coded.
I'm coding since I'm 15. That's about 5 1/2 years. I started with OS Dev a week ago or so. And I can tell you it's damn hard to get into this even though I've got quite much experience in writing common programs.
So I advise to learn C++, Pascal, Delphi, Java or something and collect MUCH experience while writing any programs for windows or linux. And well.. some month or weeks later you might be able to start writing your own OS.
As I mentioned before... I'm an absolute beginner in this part of coding, so even I will underestimate this whole thing for sure.
This post is not supposed to take away your interest in coding, but to protect you from a huge dissappointment
When I startet with coding first I wanted to code my own 3D game. There's no expression which would describe how I failed
So I suggest you to buy a little book where you are teached how to code. From experience I can say, that (only) tutorials from the internet (mainly at the beginning) might not be the best start.
Well, I wish you good luck and first of all: fun while learning a programming language
Cjreek
Only to make sure, you did understand what's been said before. You CANNOT write your own OS without having ever coded.
I'm coding since I'm 15. That's about 5 1/2 years. I started with OS Dev a week ago or so. And I can tell you it's damn hard to get into this even though I've got quite much experience in writing common programs.
So I advise to learn C++, Pascal, Delphi, Java or something and collect MUCH experience while writing any programs for windows or linux. And well.. some month or weeks later you might be able to start writing your own OS.
As I mentioned before... I'm an absolute beginner in this part of coding, so even I will underestimate this whole thing for sure.
This post is not supposed to take away your interest in coding, but to protect you from a huge dissappointment
When I startet with coding first I wanted to code my own 3D game. There's no expression which would describe how I failed
So I suggest you to buy a little book where you are teached how to code. From experience I can say, that (only) tutorials from the internet (mainly at the beginning) might not be the best start.
Well, I wish you good luck and first of all: fun while learning a programming language
Cjreek
- NickJohnson
- Member
- Posts: 1249
- Joined: Tue Mar 24, 2009 8:11 pm
- Location: Sunnyvale, California
Re: I need lots of help
Technically, MS never actually created (i.e. started) an OS, although they modified two heavily. MS-DOS was bought from Seattle Computer Products, and NT was bought from some ex-MS employees. But either way, Gates had relatively little to do with the actual writing of code. And everyone still had compilers and assemblers back then - C has been used since the 70's, so they must have had some sort of compiler - so whoever actually wrote those OSes wasn't at much of a disadvantage (except for VMs of course, they're really helpful.)neon wrote:He didn't make an OS, the company did. Also, they developed it using C and assembly.how did bill gates make his without all this software!!!
-
- Posts: 4
- Joined: Sat Jun 06, 2009 3:29 pm
Re: I need lots of help
i have windows XP installed on dell laptop, and i have following programs, please allow me to know which programs i still need, or should delete, and get a different one:
I need a linker (where do i get one for windows xp with most features cause VAL seems old)
I have Cygwan for a compiler,
i have to have codeblock for the moment, but can i do the programming in notepad, or do i have to use this program (or a equivalent) and if so, should i use a different one?
Thank You Cj for advice, but i think i will jump in head first, what better way to learn to make software than make an OS? But i do think you are right about online stuff and how it usually jumps to advanced stuff.
I need a linker (where do i get one for windows xp with most features cause VAL seems old)
I have Cygwan for a compiler,
i have to have codeblock for the moment, but can i do the programming in notepad, or do i have to use this program (or a equivalent) and if so, should i use a different one?
Thank You Cj for advice, but i think i will jump in head first, what better way to learn to make software than make an OS? But i do think you are right about online stuff and how it usually jumps to advanced stuff.
-
- Member
- Posts: 25
- Joined: Fri Jun 05, 2009 11:46 pm
Re: I need lots of help
i recommend learning assembly before touching this stuff .
http://www.csn.ul.ie/~darkstar/assembler/tut1.html
go there to learn assembly.
http://wiki.osdev.org/Real_mode_assembly_bare_bones
read that and after you finish that, make yourself a simple os in full assembly. (perhaps an os with a simple text driver? that's all im doing right now, and i've been coding for 5 years since i was 9)
http://www.csn.ul.ie/~darkstar/assembler/tut1.html
go there to learn assembly.
http://wiki.osdev.org/Real_mode_assembly_bare_bones
read that and after you finish that, make yourself a simple os in full assembly. (perhaps an os with a simple text driver? that's all im doing right now, and i've been coding for 5 years since i was 9)
"I don't take advice from freshmen in high school" - when your programming, age doesn't matter
"if you think your running fast, run faster." - track coach
"Back in my day, I had a pimped out ride." - physics teacher
"if you think your running fast, run faster." - track coach
"Back in my day, I had a pimped out ride." - physics teacher
- mathematician
- Member
- Posts: 437
- Joined: Fri Dec 15, 2006 5:26 pm
- Location: Church Stretton Uk
Re: I need lots of help
I agree. Writing an operating system is no way to learn how to program. Try something simpler first, and make sure you know C and assembly laguage very well before you even think of trying to write an operating system.neon wrote:I highly recommend to put any of your big goal projects away for now and focus on learning to program. The only program that is actually "needed" is an assembler. Others might be compiliers, linkers, etc., that depend on your high level language (HLL) if you decide to use one.I have not done much programming, only batch files, so i was wondering what all the types of programs i will need.
I have heard of trying to run before you can walk........
Also, although MS-DOS may be an ancient operating system, you can use it to learn how how to write things like interrupt handlers, and learn how hardware can be directly programmed. You can't do that in Windows (or Linux). I suppose that is why you can find it still being used by people learning assembly.
The continuous image of a connected set is connected.
Re: I need lots of help
Cygwin is not a compiler. Also, if you have Windows XP and are starting programming, get rid of it - you wont be using this for awhile.I have Cygwan for a compiler
Source code is just plain text, any editor will work.but can i do the programming in notepad, or do i have to use this program (or a equivalent) and if so, should i use a different one?
There is much more to programming then learning a language. When it comes to operating systems, it becomes more complex as you must also understand computer hardware architecture and systems programming design and theory.but i think i will jump in head first, what better way to learn to make software than make an OS?
This is why I highly recommend against it.
This will start you off:
Assembly language e-books. Also contains links to some (not all) of the Intel architecture manuals.
cplusplus.com
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();}
- alethiophile
- Member
- Posts: 90
- Joined: Sat May 30, 2009 10:28 am
Re: I need lots of help
If you are dead set on learning programming by jumping straight in (which will work, faster than anything else IMO, if you are immune to frustration), then I would recommend writing a medium-sized project in userspace before writing an OS. Learning basic programming and machine architecture at the same time would be fairly overwhelming.
If I had an OS, there would be a link here.
Re: I need lots of help
I think first thing you have to know is C, C++ language.
It's a good program language for OS development.
And you need to know basic os concept.
So, I recommend "Advanced Programming in the UNIX" book.
It's a good program language for OS development.
And you need to know basic os concept.
So, I recommend "Advanced Programming in the UNIX" book.
- mathematician
- Member
- Posts: 437
- Joined: Fri Dec 15, 2006 5:26 pm
- Location: Church Stretton Uk
Re: I need lots of help
For learning C (which is what you need more than C++) you could do worse than read Kernighan and Ritchie's famous book, "The C Programming Language". It is probably still in print; if not you could probably get it second hand from Amazon.
But having learnt it, you will then need to unlearn some of it. Because, when writing an operating system, you can't use C's standard function calls to do anything - you have to write your own. Which is another good reason why an OS definitely should not be seen as a project for a beginner. You will have enough to do learning how to program, without reading the documentation for an IDE controller, or learning how to retrieve scan codes from the keyboard controller, or how an APIC works. All of that, and more, is taken care of for you in applications development - so learn how to write applications first.
But having learnt it, you will then need to unlearn some of it. Because, when writing an operating system, you can't use C's standard function calls to do anything - you have to write your own. Which is another good reason why an OS definitely should not be seen as a project for a beginner. You will have enough to do learning how to program, without reading the documentation for an IDE controller, or learning how to retrieve scan codes from the keyboard controller, or how an APIC works. All of that, and more, is taken care of for you in applications development - so learn how to write applications first.
The continuous image of a connected set is connected.