Sunday, November 6, 2011
Even relatively simple on your computer actually involve some rather complex chains of events. Take the keystrokes that I made to type this post up. Every time I hit a key, a little action something like this occurs: KEYBOARD: CPU, stop everything! The boss just pushed a key! CPU: Okay, I've stopped the task. What letter did he push? KEYBOARD: "e", sir. CPU: Alright, and I can enter that into the proper buffer so it can interact with the program. Now, back to work. The letters in the buffer then move into the text editing field, which gets uploaded to the server to make that post. And every time I pressed a key, literally hundreds of times per minute, the CPU had to quick, stop everything lest my keystroke be lost. Likewise, even turning the computer on involves a complex chain of actions, which is why your computer takes 2 to 5 minutes to even load up your desktop so that you can start working. A professor of computer science, Jean-Baptiste Queru, points out the deep abstractions involved when you so much as visit a website. All of this complexity is deeply hidden from you. You just clicked a link and this whole chain of events happened so that you could read something. Truly, we are better off today than even the richest and most powerful people a mere 300 years ago.