Abacus (2700 and 2300 BC)
Antikythera mechanism (2nd century BC)
Pascaline (1642)
Charles Babbage's analytical engine (1834)
Curta mechanical calculator (1948 - 1954)
A computer is an electronic device that can be programmed to automatically carry out sequences of arithmetic or logical operations (computation)
The principle of the modern computer was coined by Alan Turing in 1936
Universal Turing machine:
A physical Turing machine
A LEGO Turing machine (ENS Lyon)
A Turing machine in Minecraft
How can we go from this idealized model to a real computer?
A CPU with both control unit (CU) and arithmetic logic unit (ALU)
Memory stores both data and instructions:
Separated CU and ALU
Separate memory and instruction pathways:
Used in modern computers and microcontrollers
Separate mdata and instruction caches
Unified memory addressing (but separate pathways or caches)
Flexibility
Performance optimization
Storage devices:
Sending binary instructions to a computer is possible though not practical
$\rightarrow$ Use a primary software called the operating system (OS) to act as an intermediary between users and the computer hardware
Early computers (1940s – 1950s):
Mainframe era (1960s):
Unix and early minicomputers (1970s):
Personal computers (1980s):
Microsoft Windows:
GNU/Linux – the open-source revolution:
MacOS:
Hardware resource management is under the responsibility of the kernel
Keys functions of the kernel are:
sh
, bash
, zsh
, cmd.exe
, Powershellwww-data
)Historically, the only way to interact with your system
Nowadays, the terminal is usually a pre-installed application, e.g.,
cmd.exe
(Batch), PowerShell
<prompt> <command> <param_1> <param_2> <param_3> ... <param_N>
<prompt>
– Generated by the program to provide context for the user (it usually ends with one of the characters $
, %
, #
, :
, >
or _
)
<command>
– Provided by the user.
It can be:
<param_1> ... <param_N>
– Parameters provided by the user, if needed
$
– The prompt
ls
– The internal command to list files in a directory
-l
– The parameter to present the results of ls
using a long listing format
-a
– The parameter to display all files, including the ones starting with .
that are hidden by default
A computer is an electronic device that can be programmed to automatically carry out sequences of arithmetic or logical operations (computation)
Computer consists in multiple hardware components such as the CPU, RAM modules, Storage devices connected through a Motherboard
To use a computer the user needs an operating system
Terminals are still very much present on modern computers and a quick and simple way to interact with the computer