You lost me at CPU…

just when you thought you were safe on land.

So I have two things to get off my chest:

1. That burn mark on the bus stop clearly looks like a shark is about to own that blue strip above it from behind the timetable. I’ve been staring at said scuff mark for a year now and only now had the courage to reveal its identity. I hope I am not smelling of fresh fish tomorrow when he finds out.

2. The station I start at on my travels to work was playing moonlight sonata loudly over the speakers for all the lucky passengers to add to the depression of going to work. Fortunately I am not that lowly citizen that despises his occupation, so i deflected the attacks of the alleged scientists standing behind their one-way mirrors ticking boxes.

Now that I am free of the burden of carrying around such exciting information with me, I can start to talk about all the intricacies of computers and their… hey! you can add polls to your blogs! just a second…

Sorry, I just noticed the shiny button above me and couldn’t resist waiting another second. now, back to the shiny other thing that I’m currently typing on.

So apparently computers revolve around processes’. What is a process you ask? thank you jives, I will divulge. broadly speaking, a process is a series of actions or steps taken in order to achieve a particular end (thank you google). quite unintentionally, the phrase ‘in order’ needs a comma to clearly define exactly what a process or more specifically a program is for a computer. You have a room full of technicians and artists and librarians or whatever, and you need to tell them what to do, in order, to achieve a predefined purpose. These are all important components.

Now the similarity breaks at the human level as we humans like to be able to multi-task (although i must say I am a horrible multi tasker, but i can at least brush my teeth and see how good i look at the same time). as much as your processor says it has 32 multi duo-quad cores and 50 gigawatthurtzes, Your computer is still as dumb as the first generation of computers and can only really do one thing at a time effectively. What we have right now is pseudo parallelism that is so close to multi-tasking that it has us fooled. True multi-tasking is something only the realm of quantum physics can possibly touch, but we’ve only so far been able to figure out the factors of 15. My 2-year-old could do that. Not really, that would make her a genius.

Straight from the book:

A process is basically a program in execution. Associated with each process is its address space, a list of memory locations from 0 to some maximum, which the process can read and write. The address space contains the executable program, the program’s data, and its stack. Also associated with each process is a set of resources, commonly including registers (including the program counter and stack pointer), a list of open files, outstanding alarms, lists of related processes, and all the other information needed to run the program. A process is fundamentally a container that holds all the information needed to run a program.

That last line is pretty important. It’s basically saying that processes are a box. A box that’s got all you need to run a program. But not a program in the sense that the everyday man thinks of a program. What you see as a program is probably thousands of little programs working in unison to create a single user experience. On the lower level, processes are the building blocks that make the software that we are familiar with. Whereas a web browser or app may be the higher level “program”, the actual byte code machine instruction programs that do system calls would not be as visible to the average observer. What we see happen on the surface is only the tip of the iceberg.

These small brick building boxes, that have all you need to run a program, is EVERYTHING that comprises the system you are looking at right now. a bunch of registers containing the most recent data, some instructions, data and stack values. EVERYTHING is a process. Each program boils down to a small set of operations like the keys on a piano that when composed in varying ways create the complexities of every system ever made on a computer.

That’s the part where I claim to be a composer, not just a developer. What we create is truly extraordinary and wonderful, It makes you ponder the creation of earth itself (as I am unashamed to believe in). But i digress, what seems like a complicated process boils down to the management of these simple components. Processes. If you can understand this abstract concept in it’s fullness, the rest of the computing world unfolds as everything in computing revolves around this.

As I continue to learn more about computers and their innards, I’ll tell you more. This is not only a learning experience for you, but for me as well. So let me know if you have information regarding possible in-errancies in my posts.

Advertisements

About naredjagle

Christian Computer Scientist Casual Gamer Competitive Creative ... ... Coldplay?
This entry was posted in Programming and tagged , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s