this would very likely be easy to answer...if we hadda computer
i'm notta programmer, an engineer, i'm sorta seriously mechanically challenged and i've never studied electronics. i've assembled all the windows systems ive owned (the first of which consisted entirely of discarded and scrounged components) and i've learned all i know by doing things all the many wrong ways first before finally arriving at a solution soley by benefit of having exhausted all the other possibilities. with that outta the way, i came to understand the basics of binary thanks to a book called 'soul of a brand new machine' which has very little else in the way of relevance because technology has moved on. my knowledge of how components interact inside the case comes mostly from studying mainboard user manuals (an exercise similar to using the rosetta stone to interpret the us tax code due to the vagaries of translation of generic technical documents) and conversations with other blindfolded persons offering opinions as to what an elephant is like. the best i can offer is this: be cautious but not undaunted by all the layers of complexity and, if youre compelled by curiousity to find out for yourself what would happen if...only make one change at a time. oh and remember to unplug the thing before you start. if nothing happens when you try to power up after youve done whatever you feel needs doing, don't freak til you check to make sure you've plugged it back in.
sorry i didnt mean to suggest that was the best way of approaching things. more of a warning that i know even less than i should hahahahaha.
as you prolly know there are basically three elements involved: hardware, software and an operating system.
there's tons of online information about windows, linux and mac operating systems--what theyre intended to do, how they do it (conceptually and in practice), how to tweak em to do stuff differently, etc--with most focusing on windows cuz it's most widely used in 'personal' computers (as opposed to unix, etc).you can also find full-on tuturials and courses about all three elements online. try searching in about.com for some of those.
software (with the notable exception of cross-platform/cross os stuff like java) is written to accomodate or take advantage of a specific operating system or os family's functions.
file exension protocols--like a lotta other stuff--arent universally cross-platform or cross-os, but pretty much so and fortunately there are no horrible conflicts of which im aware. theres a couple pretty good sites (google for -- file extension followed by the extension with the dot in front inside quotes so it looks like this without the brackets: [ file exension ".pdf" ]. if you browse around them, youll find some extensions that are used for 2 different file types (fortunately again, usually file types that are rarely encountered by anyone with good sense hahahah) the extension enables association with applications that are capable of handling the specific data contained.
html and xml are somewhat similar in function rather than method. both are intended to enable browsers or similar applications to act as an interface to render data in a visually accessible format for users. once again, tons and tons of introductions to theory and use are available online.java is sorta a hybrid programming language/rendering engine also with lots of documentation online. as i said earlier, i have no formal training in any of this so i may be innaccurately describing/defining some of this stuff
ill browse thru my bookmarks and try to point you to sites ive found helpful.