I need to know more about computers
I need to know more about computers
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.
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.
-
- Member
- Posts: 307
- Joined: Wed Oct 30, 2013 1:57 pm
- Libera.chat IRC: no92
- Location: Germany
- Contact:
Re: I need to know more about computers
Usually, the path to OSdeving takes years. Good luck.
If you struggle with learning from resources on the Internet, get some printed books.
If you struggle with learning from resources on the Internet, get some printed books.
Re: I need to know more about computers
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.
-
- Member
- Posts: 307
- Joined: Wed Oct 30, 2013 1:57 pm
- Libera.chat IRC: no92
- Location: Germany
- Contact:
Re: I need to know more about computers
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.
Re: I need to know more about computers
C? Are you sure I should go straight to C?
-
- Member
- Posts: 307
- Joined: Wed Oct 30, 2013 1:57 pm
- Libera.chat IRC: no92
- Location: Germany
- Contact:
Re: I need to know more about computers
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.
Re: I need to know more about computers
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.SeanMc wrote:C? Are you sure I should go straight to C?
Or you could learn it almost all: Digital Design and Computer Architecture, 2nd ed, Harris & Harris.
Re: I need to know more about computers
I just hope I'm not hopeless in my idea.
Re: I need to know more about computers
You are if you think you are.SeanMc wrote:I just hope I'm not hopeless in my idea.
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.
Re: I need to know more about computers
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).alexfru wrote:You are if you think you are.SeanMc wrote:I just hope I'm not hopeless in my idea.
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
Re: I need to know more about computers
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.
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
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
Re: I need to know more about computers
@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.
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?"
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?And I have tried to do programming before, but I gave up right after "Hello World" because I always had other distractions going on.
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?"
- AndrewAPrice
- Member
- Posts: 2299
- Joined: Mon Jun 05, 2006 11:00 pm
- Location: USA (and Australia)
Re: I need to know more about computers
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!"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?"
My OS is Perception.
- eryjus
- Member
- Posts: 286
- Joined: Fri Oct 21, 2011 9:47 pm
- Libera.chat IRC: eryjus
- Location: Tustin, CA USA
Re: I need to know more about computers
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:Also I'm not in a hurry or anything.
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?SeanMc wrote:C? Are you sure I should go straight to C?
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.
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.SeanMc wrote:... I gave up right after "Hello World" because I always had other distractions going on.
I wish you luck!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
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!
0x12) GOTO 0x00
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
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
-
- Member
- Posts: 307
- Joined: Wed Oct 30, 2013 1:57 pm
- Libera.chat IRC: no92
- Location: Germany
- Contact:
Re: I need to know more about computers
OSdeving is the most advanced and complicated thing you can do in computer science. Get into it with something else.