Jargon Buster
If you are not sure about a particular computer term, then here is a list of many of them relating to the Raspberry Pi and general computer science
Raspberry Pi
A credit card sized computer board, designed to encourage a new generation of PC users to discover and develop ICT.
CPU
The Central Processing Unit is the ‘brains’ of the computer, processing all commands and instructions that make your computer perform tasks and run programmes.
GPU
The Graphics Processing Unit processes and converts all the data needed to output video to your monitor. This can be over various media types such as HDMI, VGA, Diplay Port etc.
RAM
Random Access Memory is used by the system to store data that is currently being accessed or cached for quick retrieval. RAM is known as volatile memory because any data stored here will be lost when the power is turned off.
Hard Disk
The Hard Disk is a type of long term storage, non-volatile memory, because data stored here is not lost when the power is switched off. Hard Disks usually consist of glass disks coated in a magnetic substance that stores the data as bits. These can be read from and written to using a small magnet on an arm that hovers very closely to the disk surface. Hard Disks are traditionally used for storing the Operating System and for your documents, pictures and videos.
SD Card
Because the Raspberry Pi does not come with a Hard Disk for storing the OS instead it uses another form of non-volatile memory known as a Secure Digital Card. This card is a form of flash memory that can be written to and read from and will retain data when the power supply is stopped. SD Cards come in a large array of physical formats and storage capacities allowing them to be used in a range of devices including Mobile Phones, Digital Cameras and removable storage in a PC and now the Raspberry Pi.
Motherboard
The Motherboard acts as the backbone of the computer allowing all of the seperate components such as CPU, RAM, Hard Disk etc, to communicate with each other.
Network Interface Card
The Network Interface Card, or NIC, is used to connect your Raspberry Pi to a LAN. The Raspberry Pi uses a standard RJ45 port that accepts an Ethernet cable, technically called shielded/unshielded twisted pair. The other end is connected to a switch/hub or your home router. Once the network settings have been configured you will be able to access other resources on your LAN or the Internet.
USB Port
The USB port is used to connect many types of peripherals such as a keyboard and mouse to interface with the Pi or a USB PenDrive/Hard Disk to add more storage capacity.
Micro USB
The Micro USB port is used to power the Raspberry Pi, you can typically use a mobile phone charger to do this.
Composite Video
This video out port is used when HDMI is unavailable on the monitor or television the user wishes to display output on. Almost all televisions have an input for this medium, called composite in and is usually found with two other identical ports. These are red/white for left/right audio and yellow for video. The disadvantage to using this video out is the poorer resolution when compared with HDMI.
Audio Out
The audio out used on the Raspberry Pi is a standard 3.5mm analogue jack commonly found on MP3 players and mobile phones. The HDMI port is also capable of outputting audio to a compatible device.
GPIO
The General Purpose Input/Output is a fully user programmable interface used to connect almost anything that has a compatible recieving connection.
Protocols
TCP
TCP or Transmission Control Protocol is an OSI Layer 4 protocol that ensures connection reliability through the use of Acknowledgement (ACK) packets.
UDP
UDP or User Datagram Protocol is similar to TCP but is considered connectionless and does not ensure that packets are received correctly at the destination but does have advantages such as higher throughput due to lower overhead and is generally used when guaranteed delivery is not essential such as DNS lookups.
FTP
FTP or File Transfer Protocol, is a lightwieght protocol using TCP ports 20 and 21 enabling the transfering of files across a network.
TFTP
TFTP or Trivial File Transfer Protocol uses UDP port 69, this is a very lightwieght protocol that lacks many of the features of FTP such as user authentication and listing of directories but does allow greater transfer speeds due to the lower overhead.
HTTP
Hyper Text Transfer Protocol is the protocol used by web browsers such as Firefox, Internet Explorer, Chrome, etc to request web pages from a web server on the Internet. HTTP uses the well known TCP port 80.
HTTPS
HTTPS is the same as the HTTP protocol but operates over SSL to provide end to end encryption, you will commonly see this when logging into a secure site such as Internet Banking, Web based Email etc. HTTPS operates over TCP port 443.
SSL
Secure Socket Layer is an OSI layer 6 protocol that provides strong encryption for protocols used by applications such as HTTP and FTP.
SSH (Secure Shell)
Secure Shell is a method of accessing the Command Line Interface of your Raspberry Pi, or any UNIX based OS, over an encrypted connection using TCP port 22
Telnet
Telnet is one of the original protocols developed to allow a user to access a host command line remotely over a LAN or a WAN such as the internet. Telnet is not used extensively anymore due to a lack of security features such as encryption and users now prefer to use SSH. Telnet uses TCP port 23.
DHCP
Dynamic Host Configuration Protocol is a popular protocol used to automatically configure the network settings on a host. Most home routers will provide this service as standard. DHCP uses UDP ports 67 and 68
DNS
The Domain Name System is used to resolve the URL you type into your browser to an IP address. Here is an example; pibeginners.com resolves to 198.154.96.10. DNS uses either TCP or UDP port 53.
Programmes and Applications
OS
The Operating System is a piece of, or rather a collection of software that includes many of the drivers and services that interacts with the hardware and perform functions. The OS provides the framework for applications to be installed on and run on top of. There is also a front end that the user can interact with in the form of a Graphical User Interface, icons and graphics to select using a pointing device such as a mouse, or a Command Line Interface which is text based with the user entering commands manually.
VNC Server
VNC is an acronym for Virtual Network Computer. This is a popular piece of open source software used to control a host remotely, it requires one machine to be running as the server, this is the host to be controlled, and another to be running the viewer, the client machine. VNC uses TCP port 5900 by default but this can be changed. Unlike Windows Remote Desktop, VNC can be configured to allow both the remote and local users to view the screen at the same time.
Networking Technologies
LAN
A LAN or Local Area Network is a collection of networks that generally cover a small geographical area, this maybe just a single building or a collection of buildings such as a University Campus.
WAN
A WAN or Wide Area Network will cover a larger area geographically perhaps across countries or continents. WAN’s allow LAN’s to communicate with each other over great distances.
IP Address
This is the networking equivalent of a telephone number, each computer has a unique IP address and communicates with another by sending information to the IP address. IPv4 addresses look like this 192.168.0.1, in a quad dotted decimal format. An IP address can be configured manually and is known as a static IP because it will not change, alternatively the IP address and other network settings can be configured automatically via a DHCP server. This is known as a dynamic IP because it can change after a reboot.
Subnet Mask
Each IP address is unique to each computer on the network but to determine what network a computer is on it needs to determine what the network address is. To do this the computer compares the subnet mask it has been configured with the IP address of the host it wishes to communicate with, if the two networks differ the computer will send the packets of information to its configured ‘default gateway’. A subnet mask can look like this 255.255.255.0
Default Gateway
If a host wants to send data to another host and it has determined that the recipient is on a different network to itself it will forward the data to its preconfigured Default Gateway. The Default Gateway will then deliver the data to the recipient if it is on a directly connected network or forward the data to its Default Gateway. This process continues until the data is finally delivered.
DNS Server
The DNS server is configured to allow your Pi to resolve a URL to an IP address. If this is not configured you will not be able to browse to a website via its URL such as www.google.com but can still access the website directly from its IP address 173.194.67.103. In most cases configuring the Default Gateway IP address as the DNS Server will work, you may have been provided with an IP for your ISP DNS server. Alternatively there are public DNS servers available such as Googles DNS servers 8.8.8.8 or 4.2.2.2