OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 12:42 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 44 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: I need to know more about computers
PostPosted: Wed Nov 19, 2014 11:54 pm 
Offline
Member
Member

Joined: Tue Sep 23, 2014 6:12 pm
Posts: 144
Alright, hard to explain here. Some of you may be shocked, but after 15 years of my life being into computers, I realized that I don't understand as much how they work on a technical level. :?

Now, don't get this wrong, I tried experimenting with things before like the Windows registry but I didn't do that in a while and I forget very easily. Also, I want to begin to write my own programs (Java would be my go-to sort of language when I think of something that should be beginner-friendly) and I need some resources to learn more and the documentation terms so I have a few less bumps in the road. And I also take documentation for granted very easily, it's a very nasty habit of mine. Here's the biggest part, once I get that done, I want to be able to learn how to write an OS. Is my outlook doable? Also I'm not in a hurry or anything.

And I have tried to do programming before, but I gave up right after "Hello World" because I always had other distractions going on.


Top
 Profile  
 
 Post subject: Re: I need to know more about computers
PostPosted: Wed Nov 19, 2014 11:58 pm 
Offline
Member
Member

Joined: Wed Oct 30, 2013 1:57 pm
Posts: 306
Location: Germany
Usually, the path to OSdeving takes years. Good luck.

If you struggle with learning from resources on the Internet, get some printed books. :D

_________________
managarm


Top
 Profile  
 
 Post subject: Re: I need to know more about computers
PostPosted: Thu Nov 20, 2014 12:01 am 
Offline
Member
Member

Joined: Tue Sep 23, 2014 6:12 pm
Posts: 144
What about that kid in a thread I searched down a while ago who claimed it only took him a few years? He said he knew nothing about computers at age 12 when he started.


Top
 Profile  
 
 Post subject: Re: I need to know more about computers
PostPosted: Thu Nov 20, 2014 12:08 am 
Offline
Member
Member

Joined: Wed Oct 30, 2013 1:57 pm
Posts: 306
Location: Germany
It took me 2.5 years to get to OSdeving. I have good knowledge of C and Assembly, but I started out with PHP and Ruby. For most people here, it longer, as you have to know a lot about computers. And that's just a matter of time. So, get a Linux Distro, sit down and write C. That's the only tip i can give.

_________________
managarm


Top
 Profile  
 
 Post subject: Re: I need to know more about computers
PostPosted: Thu Nov 20, 2014 12:16 am 
Offline
Member
Member

Joined: Tue Sep 23, 2014 6:12 pm
Posts: 144
C? Are you sure I should go straight to C?


Top
 Profile  
 
 Post subject: Re: I need to know more about computers
PostPosted: Thu Nov 20, 2014 12:20 am 
Offline
Member
Member

Joined: Wed Oct 30, 2013 1:57 pm
Posts: 306
Location: Germany
It depends on whether you have programming experience yet. If you have it, go for C. If not, learn Ruby or Python first. But: you will have to learn C and Assembly at some point. It's not as scary as it looks though.

_________________
managarm


Top
 Profile  
 
 Post subject: Re: I need to know more about computers
PostPosted: Thu Nov 20, 2014 12:25 am 
Offline
Member
Member

Joined: Tue Mar 04, 2014 5:27 am
Posts: 1108
SeanMc wrote:
C? Are you sure I should go straight to C?


Straight to asm is just fine as well. Or straight to Verilog or VHDL. Or to physics. I all depends on how low you want to go. :)

Or you could learn it almost all: Digital Design and Computer Architecture, 2nd ed, Harris & Harris.


Top
 Profile  
 
 Post subject: Re: I need to know more about computers
PostPosted: Thu Nov 20, 2014 12:31 am 
Offline
Member
Member

Joined: Tue Sep 23, 2014 6:12 pm
Posts: 144
I just hope I'm not hopeless in my idea.


Top
 Profile  
 
 Post subject: Re: I need to know more about computers
PostPosted: Thu Nov 20, 2014 1:18 am 
Offline
Member
Member

Joined: Tue Mar 04, 2014 5:27 am
Posts: 1108
SeanMc wrote:
I just hope I'm not hopeless in my idea.


You are if you think you are. :)
Otherwise, keep working. Perhaps, choosing 2 more or less independent areas to work on might be a good idea. If you get stuck in one, you can switch to the other for a while.


Top
 Profile  
 
 Post subject: Re: I need to know more about computers
PostPosted: Thu Nov 20, 2014 3:06 am 
Offline
Member
Member

Joined: Thu May 28, 2009 2:41 pm
Posts: 70
Location: Germany
alexfru wrote:
SeanMc wrote:
I just hope I'm not hopeless in my idea.


You are if you think you are. :)


I agree, BUT if you don't know much about computers and you can't really program anything but a hello world program you should probably just start learn a programming language of your choice. I think for your first language it's more important that you like the language (for whatever reason that may be) than the usefulness of this language (in certain situations).
As soon as you think that you're quite good and you are still interested in OSDev you should return and try to understand OSDev related things again.

When I first tried making an OS I didn't understand that much either and I didn't understand most of the (assembly) code in the tutorials altough I already had quite a bit experience with programming and even the WinAPI.
I gave up because the barrier just was too high at this point. I returned a view years later and I brought more patience and knowledge. This time I was successful and since then (with a huge break inbetween) I'm working on my own kernel.

What I'm trying to say is: You should really like (to learn) programming and you should be good at it. Otherwise OS development will most likely just be a frustrating experience for you which probably will make you not want to (ever) dive deeper into programming and OS development :wink:


Top
 Profile  
 
 Post subject: Re: I need to know more about computers
PostPosted: Thu Nov 20, 2014 8:38 am 
Offline
Member
Member
User avatar

Joined: Sun Sep 19, 2010 10:05 pm
Posts: 1074
Honestly, I think I would recommend reading through the Intel CPU documentation. This is about as low-level as you can get, as a software developer, and it will make everything else make sense. You might even start with the old 8086 CPU documentation.

Doing a little research on how computers "evolved" from calculators is also helpful. A light understanding about the CPU clock and how it makes the CPU work is also helpful.

You should be able to get through all of the information in a few days, so I'd say that it is well worth the time.

_________________
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott


Top
 Profile  
 
 Post subject: Re: I need to know more about computers
PostPosted: Thu Nov 20, 2014 9:35 am 
Offline
Member
Member

Joined: Thu May 28, 2009 2:41 pm
Posts: 70
Location: Germany
@SpyderTL: Honestly I don't think this is a good idea. This is a pretty heavy lecture for someone with essentially no previous knowledge about programming and computers. I don't think he can get much out of it at this point.

Quote:
And I have tried to do programming before, but I gave up right after "Hello World" because I always had other distractions going on.


What is your goal? Do you want to learn programming? Do you want to make your own operating system? (I assume because you are asking in this forum) or do you just want to know more about computers for no other reason than curiosity?

If one or more of the first 2 points apply to you than you MUST learn how to program. Nobody can keep you from getting distracted. You yourself have to make sure you don't get distracted and keep learning. Programming and especially OSDev require much patience and practice. You can't learn/do either of those things in just a few hours or days.

So if you can't get past "Hello World" without being distracted there's no chance you'll ever be able to programm anything (which means you won't be able to write your own OS at all). Either you really WANT to learn programming/make your own OS and you learn what you need to know or you can't do it.

This was a tough piece of text, I know.
But it's the truth. And I'm not sure if you even know what you want to do.
Your posts sound like: "I want to make an operating system. I don't know anything about programming and I don't want to learn it. How can I make an OS nonetheless?"


Top
 Profile  
 
 Post subject: Re: I need to know more about computers
PostPosted: Thu Nov 20, 2014 10:37 am 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
Cjreek wrote:
Your posts sound like: "I want to make an operating system. I don't know anything about programming and I don't want to learn it. How can I make an OS nonetheless?"


Someone could make a 'Game Maker' for operating systems. Pick what features you want and how it should work, drag and drop GUI components. "Make an Operating System without any coding!"

_________________
My OS is Perception.


Top
 Profile  
 
 Post subject: Re: I need to know more about computers
PostPosted: Thu Nov 20, 2014 11:05 am 
Offline
Member
Member
User avatar

Joined: Fri Oct 21, 2011 9:47 pm
Posts: 286
Location: Tustin, CA USA
SeanMc wrote:
Also I'm not in a hurry or anything.


I think this will be your biggest benefit. If you are looking for instant gratification in development, OS development is not for you.

SeanMc wrote:
C? Are you sure I should go straight to C?


Learn how to read C and really understand it. As you go through your development, you will reference other code. You will find much of what you reference is written in C. Really understand it to the bits and bytes -- i.e. what does that addition operation do to the flags register? How would that change if the integers are unsigned rather than signed?

I would pick another language and learn it as well. Pick a procedure oriented language and an object oriented language. Know the difference between the two and their strengths and weaknesses. Learn assembly -- and learn to read the compiled assembly output. You will be building a strong foundation upon which to build your OS development skills.

Also, OS development is in itself a large research project. Set your expectations properly on this. You will be reading -- A LOT. You will be reading documentation, some good and some bad. If you cannot get over you aversion to reading documentation, you will have a hard time with OS development.

This time is not lost in your OS development path. Ask questions, and then go find the answer. Think about what you want your OS to do. Develop a design. Revise the design. Put your design on paper.

SeanMc wrote:
... I gave up right after "Hello World" because I always had other distractions going on.


Finally, you will not succeed in your first attempt at any task. Get used to it -- it's a fact of life. You will spend more time debugging than writing code.
ker2x wrote:
my development process :
0x00) ok, what's next ?
0x01) OMGWTF!?
0x02) read documentation
0x03) OMGWTF!?
0x04) BBQ? :(
0x05) read documentation
0x06) OMGWTF!?
0x07) read documentation
0x08) Haaaaaaaaa :oops:
0x09) write some code
0x0A) OMGWTF!?
0x0B) read documentation
0x0C) write some code
0x0D) Mmmm....
0x0E) write some code
0x0F) Doh !
0x10) write some code
0x11) AWWWWW YEAH! =D>
0x12) GOTO 0x00


I wish you luck!

_________________
Adam

The name is fitting: Century Hobby OS -- At this rate, it's gonna take me that long!
Read about my mistakes and missteps with this iteration: Journal

"Sometimes things just don't make sense until you figure them out." -- Phil Stahlheber


Top
 Profile  
 
 Post subject: Re: I need to know more about computers
PostPosted: Thu Nov 20, 2014 11:59 am 
Offline
Member
Member

Joined: Wed Oct 30, 2013 1:57 pm
Posts: 306
Location: Germany
OSdeving is the most advanced and complicated thing you can do in computer science. Get into it with something else.

_________________
managarm


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 44 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 36 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group