Jump to content

Help me understand hardware and the technicality behind computers.

- - - - -

  • Please log in to reply
6 replies to this topic

#1
Silverishkitten

Silverishkitten

    Newbie

  • Members
  • Pip
  • 3 posts
Hello there.

Im currently learning and studying web-development. But in my journey of learning stuff I realize I have a huge gap in my knowledge of the technicality behind how a computer actually works. I do have basic understanding, but I would like to know from the bottom up so I actually understand what I'm doing.

Does anyone have a suggestions where to begin? I know I could just pick a random subject and start from there, but learning this stuff seems like such a daunting task. So a pointer in the right direction would be great :)

Thanks.


Oh and sorry if this is the wrong section, didn't exactly know where to put this.

#2
Vaielab

Vaielab

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 547 posts
Well, even if web-developement dosen't touch at all at how the pc work, you could start by understanding binary, all type or binary (their more than just one)

#3
Silverishkitten

Silverishkitten

    Newbie

  • Members
  • Pip
  • 3 posts
Well right now I'm learning c# but I'll be using it for web development. A lot of the material I read does reference more... technical stuff though.


But in general I'd just like to know more about computers, how they function. What each hardware is in relation to each other x_x

I'll look into Binary though :) I already know what it is, but perhaps more in depth knowledge would be nice.

#4
PGP_Protector

PGP_Protector

    Programming Professional

  • Members
  • PipPipPipPipPip
  • 253 posts

Silverishkitten said:

Well right now I'm learning c# but I'll be using it for web development. A lot of the material I read does reference more... technical stuff though.


But in general I'd just like to know more about computers, how they function. What each hardware is in relation to each other x_x

I'll look into Binary though :) I already know what it is, but perhaps more in depth knowledge would be nice.

Electronics can be fun, but how far down the hardware do you really want to go, are you going to learn about PNP & NPN Junctions? (I.E. How a Transistor Works), if so that's a bit of overkill for web development :D
Or are you just wanting to know about an overview of the major hardware without worrying about what's going on inside it?
Example
Hard Drive: Used for long term storage of your data (simple explanation)
Major Parts breakdown for just the Hard Drive
Platters : Ceramic or Aluminum Platters coated with material that can hold a Magnetic Charge
Heads & HGA(Head Gimbal Assembly): Flies just above the surface of the Platter, one Head per surface(normally) for a Hard Drive.
Interface Board: Used to communicate between the Computer & controlling the motor, Head Position , Reading & Writing of the Data.
Then even this can be broken down into how the Heads work, MagnoRestive Devices & how they work, Stepper Motors, magnetic Servo Controllers, Memory Buffers, EPROMS for the Hard Drive, RAM, ROM, EPROM, EEPROMS ect...
And that's just for a Hard Drive :)

#5
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others
Generally, what you need to know is roughly the following:

A computer has an operating system, which is responsible for making memory, and other aspects of the system, available.

All requests for system resources: memory, file access, network access, etc, are handled by the operating system.

The details of how you request a system resource depends on the language. The details of what can go wrong depends on the language and the operating system. The details of how programs can interact with each other depends on the language and the operating system.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#6
DarkLordofthePenguins

DarkLordofthePenguins

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 409 posts
I suggest Principles of Computer Hardware if you want to truly understand how computer hardware works. Be aware that 95% of the hardware books you will encounter are about specs and troubleshooting, not about internal functioning. This is one of the few exceptions.

Since you're working with programming and design, an understanding of programming theory might be desirable. I found Algorithms and Data Structures and Concepts of Programming Languages to be very informative.

I'm a lot like you in that I started off learning web development (it seemed like an easy career choice at the time), then felt insecure about my lack of understanding of the underlying infrastructure, so I branched out into Unix programming, software development, hardware, networking, computer science, etc.

---------- Post added at 01:03 AM ---------- Previous post was at 01:00 AM ----------

Silverishkitten said:

Well right now I'm learning c# but I'll be using it for web development. A lot of the material I read does reference more... technical stuff though.


But in general I'd just like to know more about computers, how they function. What each hardware is in relation to each other x_x

I'll look into Binary though :) I already know what it is, but perhaps more in depth knowledge would be nice.

Binary is just a base-2 number system. It's hardly necessary to "learn" it. Actually, programmers working with high-level languages like C# rarely touch binary code. Binary numbers are long and cumbersome to write, so programmers use hexadecimal when they need to express numbers in a powers-of-2 sense.
Programming is a journey, not a destination.

#7
RhetoricalRuvim

RhetoricalRuvim

    JavaScript Programmer

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,254 posts
  • Location:C:\Countries\US
It depends on what, exactly, you mean by "how a computer actually works."

If you mean the processor and how the program runs, then I'd recommend learning things that have to do with assembly language; if you mean how computer parts work, then you could look for more detailed information about how the hardware works.

***

At assembly language level, the way you access resources depends on the operating system; some operating systems (DOS) take interrupts, while others (Windows) prefer to use function pointers.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users