|          |           

A typically electric device used for calculations of varying sort.

A typical home computer has a keyboard - a device for typing letters (input), and a monitor - a device for showing images (output). The larger, difficult-to-move home computers are PC (personal computers) and a small, portable ones are laptops.


Computers evolved from tools used for counting large numbers, such as the abacus.

The first recognized computer was the Difference Engine by Charles Babbage. It was the earliest example of a calculator, and was used for extremely large numbers. The input would be configured on top, and the output was written on paper.

Software, Firmware, Hardware

The process of manipulating the information on a computer is programming. The physical parts of a computer are hardware and programmable parts are software. Software on almost all computers is stored digitally (whole numbers), in binary using boolean logic. The smallest unit of memory in a computer is a bit(b). 8 bits create a byte(B).



Computers operate using transistors and boolean logic. Data on a computer is stored in memory, which categorizes it into files.

  _____                         _____         ______         __________  
 |     |        _______        |     |       |      |       |          | 
 | CPU | <---> | cache | <---> | RAM | <---> | disk | <---> | Internet | 
 |_____|        """""""        |_____|       |______|       |__________| 
                 small           big           huge           gigantic   
                 fast          slowish      super slow     extremely slow


Software preinstalled on a device from factory and provides most essential functionalities. It works with hardware at the closes level, usually installed on some kind of memory that's not easy to rewrite. Certain simple devices, like mp3 players or remote controls, only have firmware.

Photo of punchcard - a primitive form of external memory/input

Operating System

OS (operating system) is a program installed on top of the firmware that is a platform for running other programs by allocating the appropriate resources to them. An operating system consists of a kernel (the core) and a userland, which constists on primary programs running on top of the kernel, such as a compiler. Programs in the userland refer to the kernel using system calls. A bootloader (which may have parts in hardware and parts in firmware) is the tool that loads the operating system when the computer is booted.

OSDev Wiki

Read-only memory - static memory as opposed to RAM