I need lots of help

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.
Locked
watachiaieto
Posts: 4
Joined: Sat Jun 06, 2009 3:29 pm

I need lots of help

Post by watachiaieto »

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!!!
User avatar
piranha
Member
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

Post by piranha »

Thats better (a little).
http://wiki.osdev.org/Getting_Started

-JL
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
User avatar
neon
Member
Member
Posts: 1567
Joined: Sun Feb 18, 2007 7:28 pm
Contact:

Re: I need lots of help

Post by neon »

I have not done much programming, only batch files, so i was wondering what all the types of programs i will need.
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.
how did bill gates make his without all this software!!!
He didn't make an OS, the company did. Also, they developed it using C and assembly.
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
Cjreek
Member
Member
Posts: 70
Joined: Thu May 28, 2009 2:41 pm
Location: Germany

Re: I need lots of help

Post by Cjreek »

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 :wink:
When I startet with coding first I wanted to code my own 3D game. There's no expression which would describe how I failed :mrgreen:

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
User avatar
NickJohnson
Member
Member
Posts: 1249
Joined: Tue Mar 24, 2009 8:11 pm
Location: Sunnyvale, California

Re: I need lots of help

Post by NickJohnson »

neon wrote:
how did bill gates make his without all this software!!!
He didn't make an OS, the company did. Also, they developed it using C and assembly.
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.)
watachiaieto
Posts: 4
Joined: Sat Jun 06, 2009 3:29 pm

Re: I need lots of help

Post by watachiaieto »

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.
flyingdoodltartz
Member
Member
Posts: 25
Joined: Fri Jun 05, 2009 11:46 pm

Re: I need lots of help

Post by flyingdoodltartz »

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)
"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
User avatar
mathematician
Member
Member
Posts: 437
Joined: Fri Dec 15, 2006 5:26 pm
Location: Church Stretton Uk

Re: I need lots of help

Post by mathematician »

neon wrote:
I have not done much programming, only batch files, so i was wondering what all the types of programs i will need.
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 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.

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.
User avatar
neon
Member
Member
Posts: 1567
Joined: Sun Feb 18, 2007 7:28 pm
Contact:

Re: I need lots of help

Post by neon »

I have Cygwan for a compiler
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.
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?
Source code is just plain text, any editor will work.
but i think i will jump in head first, what better way to learn to make software than make an OS?
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.

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();}
User avatar
alethiophile
Member
Member
Posts: 90
Joined: Sat May 30, 2009 10:28 am

Re: I need lots of help

Post by alethiophile »

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.
User avatar
kop99
Member
Member
Posts: 120
Joined: Fri May 15, 2009 2:58 am

Re: I need lots of help

Post by kop99 »

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.
User avatar
mathematician
Member
Member
Posts: 437
Joined: Fri Dec 15, 2006 5:26 pm
Location: Church Stretton Uk

Re: I need lots of help

Post by mathematician »

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.
The continuous image of a connected set is connected.
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Re: I need lots of help

Post by JamesM »

You do not have the Required Knowledge for this forum.

Thread closed.
Locked