Linux is a multi-user, multi-tasking based system, which means that even a computer as small as the Raspberry Pi, can be used by multiple users simultaneously and there can be multiple processes executing (seemingly) all at once. For example, here are all the processes currently running for the user pi: pi@raspberrypi ~ $ ps -fu pi UID PID PPID C STIME TTY TIME CMD pi 4792 4785 0 Mar11 ? 00:00:04 sshd: pi@pts/0 pi 4793 4792 0 Mar11 pts/0 00:00:04 -bash pi 6137 6130 0 00:30 ? 00:00:00 sshd: pi@pts/1 pi 6138 6137 1 00:30 pts/1 00:00:01 -bash pi 6185 4793 0 00:32 pts/0 00:00:00 tail -f /var/log/messages pi 6186 6138 0 00:32 pts/1 00:00:00 ps -fu pi Using a time sharing CPU scheduler and virtual memory, each process on Linux is led to believe that it has the whole computer all to itself, even if in reality the Linux operating system kernel is busy managing resources in the