The abstraction layers of computing
Have you ever realized that there are many layers of knowledge in electronics, computers, programs and so on. If you start with particle physics, electronics and so on, there are actually quite a number of layers beneath something like pressing a key on a keyboard. At each of the layers, you can get involved or know what is going on, but you don't have to if you don't want to. Computers, like cars have been designed with a great deal of abstraction.
I wanted to try to explore these layers on this page. As an example, let's look at what the layers are for pressing the k key in Gnome/X windows on Linux on a standard x86 computer. First, we'll try to detail the general steps that take place to turn pressing the enter key into printing k on the screen.
- Human presses the k key down for 1/10 second and releases it
- Electrical contact is made on the keyboard where the k key is.
- The keyboard sends an electrical signal
- Electrons flow along a conductive wire from the keyboard to the USB port on the computer.