The boot process is a series of internal processes a computer system goes through before it's ready to use.
The boot process is controlled by the computer's BIOS (basic input output system)which usually starts in Read Only Memory ROM.
The bootstrap loader from ROM then loads the operating system.
The power button is pressed = sends power to the motherboard and other components
The computer performs a power on self test (POST). See below for more details.
The computer displays a splash screen of the manufacturer's logo, or alternatively text-base specifications of the computer.
The BIOS access the boot disk, which is typically the same hard disk drive (HDD) or solid-state drive (SSD) that contains the operating system (OS).
The BIOS loads the bootstrap loader from ROM into the random access memory (RAM). The bootstrap loader is a small program which is used to search for and launch the computer's operating system.
The BIOS then passes on the work to the boot loader and beings launching the OS.
Once the boot loader has finished, the operating system takes control of the computer, which is now ready for use.
The POST is a test a computer system runs to make sure that all hardware is functioning correctly before continuing with the boot process.
If everything is in order, the computer may return a single beep and continue on with the boot process.
If there's a form of hardware failure, a beep code is generated (a series of beeps in a specific pattern) and the boot is interrupted. This is used to diagnose the problem.
Cold Boot = When the computer is turned on after being switched off.
A cold reboot will clear anything stuck in the computer's memory.
Warm Boot = When the computer is restarted via the Operating System, such as when restarted due to a system crash.
A warm reboot is generally used to install software that has modified a system file that can't be altered when in use.
A warm reboot won't clear anything from the computer's memory.
'Booting Process' by Devendra Gupta here
CPU stands for Central Processing Unit
The CPU can be seen as the "brains" of a computer system
When talking about processors, we're generally referring to the CPU
The CPU is responsible for gathering and executing instructions (programs) in order, as well as controlling peripherals
The ALU stands for arithmetic logic unit
The ALU performs all arithmetic (mathematic) and logic operations
Arithmetic operations are things like 1 + 1 = 2
Logical operations are things like comparing to see if 1 is greater than 2 (1 > 2 = FALSE)
The CU stands for control unit
The CU is responsible for extracting the instructions from memory and decoding them
The ALU is called upon when necessary for arithmetic and logical processing
The CU also monitors attached hardware (peripherals) and ensures the program's instructions for the hardware are run
For example, the control unit will ensure that a program's "Scan" feature is directing its instructions towards the scanner peripheral
Essentially, the control unit tells the computer's memory, ALU and input/output devices what to do
Registers are small amounts of memory available to the CPU
Registers are at the top of the memory hierarchy, as they can be accessed the fastest
This is due to the positioning of the registers (as they're placed directly inside a CPU)
Registers are typically measured by the amount of bits they can hold (e.g. 8-bit registers, 32-bit registers)
CPU's are designed to only act upon data once stored in a register (Read The Computing Teacher's article on the Fetch-Execute Cycle here)
The program counter is a special type of register that contains the address of the instruction being executed
Memory is split up in to memory locations
The program counter stores the address (location) of the instruction being processed at any point in time
As each instruction gets fetched, the program counter increments (increases) by 1
This allows the computer system to indicate where the program is in its instruction sequence
The system clock is a microprocessor that regulates the timing and speed of a computer system's functions
The system clock chip contains a special crystal that vibrates at a specific frequency when power is applied to the computer
The shortest time a computer is able to perform is known as one clock, meaning one vibration of the clock chip
The speed of a computer's CPU is measured in Hertz
Typical processors have a speed in GigaHertz (GHz)
For example, a processor with a speed of 3.8GHz means 3.8 billion clock cycles (vibrations) per second
The system clock also helps the computer keep the correct time (the number of second from an arbitrary value, e.g. the 1st of January 1970 on Linux systems)
Buses are communication systems inside a computer that transfers data between components
A computer utilizes buses to send and received binary data as encoded electrical signals
The address bus specifies the the location of a physical memory address
The location refers to the memory address that the processor will read data from or write data to
This includes primary memory, secondary memory and other connected peripherals
The width of an address bus is responsible for the amount of memory that can be addressed
For example, a 32-bit bus can address 4,294,967,296 (2 ^ 32) bytes of memory
This is why there is a limitation of 4GB of RAM available on a 32-bit computer
The control bus is used by CPUs for communicating with other components and peripherals in a computer system
This bus is responsible for managing information flow between components
It indicates whether the operation is read or write
The control bus also ensures that the operation is happening at the correct time
The data bus contains the actual data being sent around the computer system
The data bus is responsible for connecting the CPU to other devices on the system
Unlike the address bus, the data bus is capable of two way operations
This means it supports both read and write operations
The data bus is also responsible for transferring program instructions to the CPU
A processor architecture refers to the complex art of designing and constructing CPUs
RISC or reduced instruction set computers is one type of CPU structure.
used in high end CPUs for applications that need video processing, supercomputers etc
has no memory unit and uses separate hardware to process instructions
Advanced RISC Machine (ARM) is most common in many smartphones
very fast
CISC or complex instruction set computers is another type of CPU structure
used in low end CPUs for applications like modern cars, home security, home automation such as vacuum cleaners, smart fridges
has a memory unit to conduct complex instructions
not so fast
A device driver, or simply referred to as a driver, is a program that controls devices attached to a computer system.
Drivers act as a translator between a piece of hardware and the operating system.
Operating systems often come with many pre-installed drivers in order to function. Common drivers are for graphics card, network interface cards and even drivers to support peripherals such as your mouse and keyboard.
Essentially, a driver is used to convert general input and output commands from the operating systems to instructions that the device, such as a printer or display, can understand.
Driver = software used to manage devices on a computer system
Acts as a translator between the device and the Operating System
Also known as the instruction cycle, the fetch-execute cycle is the basic operation cycle of a computer
It's the process in which a computer receives information (data) and determines what to do with said data
This cycle is run continuously by the central processing unit (CPU)
The process follows four phases: fetch, decode, execute and store
Read The Computing Teacher's article on the Central Processing Unit here
Three main parts inside the CPU that do this are; the registers, the control unit and the Arithmetic Logic Unit (ALU)
The CPU collects an instruction and prepares it for decoding
The instruction is collected from a memory location.
The decoder in the control unit works out (decodes) what to do with the instruction
Each CPU is designed to understand a specific set of commands
These commands are referred to as the instruction set
These instruction sets work by providing the CPU with machine code (hexadecimal or binary instructions)
The Arithmetic Logic Unit (ALU) then executes the decoded instructions
These instructions can be arithmetic (manipulation of numbers) or logical processes
The data from the fetch phase of the cycle is manipulated according to the instructions received from the program
All the steps above can be seen as prerequisites for the execute phase
Send and write the results back in main memory.
The newly processed data is then passed back in to memory fresh from its processing via the data bus. The data can be re-submitted for further processing or be used for a practical use, such as reporting and other outputs. (See: The Computing Teacher's article on the Flow of Data).
Wikipedia has a very good article here.
The Fetch Execute Cycle learning and test at BBC Bitesize
The CPU and the Fetch Execute Cycle by BBC here
The flow of data in an information system requires specific hardware for each phase
This includes hardware for input, output, processing and storage
Read The Computing Teacher's article on the Flow of Data here
Input hardware exists in many different shapes and sizes, and are tailored specifically for particular systems. Below is a list of common input devices.
Keyboards
Touch screens
Pointing devices
Mouse
Touchpad / trackpad
Joystick
Composite devices (capable of multiple abilities such as movement and clicking)
Game controllers
Light pen
Graphics tablet
Imaging input devices
Digital cameras
Webcam
Image scanner
Fingerprint scanner
Barcode reader
Audio input devices
Microphone
MIDI Keyboard
Drum machine
Processing in a computer system is handled by the Central Processing Unit (CPU)
Read The Computing Teacher's article on Central Processing Units here
The motherboard of a computer is essential to this process as it houses the CPU, RAM and other integral components
Random access memory (RAM) allows for the data being processed to be stored temporarily
Data can be processed in a number of ways
Read The Computing Teacher's article on Processing Types here
Output devices are continuously changing as technology advances. Various types of display outputs as well as printers and audio devices continue to evolve daily. These devices are responsible for transmitting data in to a form that we as humans are able to interpret, e.g. text, images, audio, and even events we can feel (see: haptic feedback).
Monitors
Printers
Haptic sensors (for example, mobile device vibrations upon touch input)
Sound cards and speakers
Often data that has been processed is stored for later processing or reading. Many devices are capable of storing such information.
Hard disk drives (HDDs)
Solid-state drives (SSDs)
Optical drives (CDs / BluRay / DVD)
Flash storage devices (USB storage disks)
Floppy disk drives (obsolete in today's world)
Network-attached storage devices (NAS)
Read The Computing Teacher's article on Primary and Secondary storage here
Read The Computing Teacher's article on Storage Capacities here
Storage (AKA memory) is the holding of retrievable data on a computer system.
This includes files, folders and other data such as photos and songs.
Random Access Memory (RAM) is on the motherboard. (see below under primary storage)
Read Only Memory (ROM) is on the motherboard and is used to store details that are needed at startup. Usually it is the black thin rectangles that you can see on a motherboard such as this one at wikipedia
Cache is memory that is usually located within the CPU and because of this it is the fastest memory in access or seek time. (but it is only small- hence RAM comes into existance)
Primary storage is memory that is on the motherboard. It is directly accessible by the CPU. This includes memory such as RAM (random access memory) and the cache.
Primary storage is volatile, meaning once the computer system is turned off, the information stored is lost.
Primary storage is very fast, but small in size and expensive.
Secondary storage is memory that is connected to the motherboard by cables or plugs. It is used to store large amounts of data permanently. This includes hard drives, solid-state drives and optical discs.
Secondary storage is non-volatile, meaning the data is kept even when the system is turned off.
Secondary storage is much cheaper than primary storage and can hold much more data.
Draw a motherboard. On and around this motherboard draw the different types of memory/storage.
Write next to each one how fast they can access or seek the CPU. See here for help.
A computer is a device that is capable of receiving information (input), performing operations with that information (processing) and producing a result (output)
A computer system is a computer that comes with software, hardware and other peripherals that allow for it so perform a certain task
There are many types of computer systems, the most common being desktops, mobile devices including laptops, and servers
A desktop computer system is a personal computer system designed for use in a set location
This is primarily due to its size and power requirements
Unlike a mobile computing device such as a tablet, phone or laptop, a desktop computer relies on a non-removable power supply plugged in to the wall
A desktop computer generally includes the system case with the computer's components, as well as common peripherals such as a keyboard, mouse and monitor
Check out a list of basic computer components here
A mobile computer system is a computer system that is not constrained to one location
Its size and use of portable battery allow for the computer system to be moved freely
Mobile computer systems often rely on alternate forms of input as they generally don't rely on external peripheral devices
Modern day mobile phones, tablets and even some laptops rely on touch screen capabilities to accept input
This eliminates the need for a mouse and keyboard as a virtual keyboard is used instead
Laptop computer systems come with built in mouse devices, known as a track pad or touch pad, as well as a built in keyboard
A server is a computer system specifically designed to run services
They work by accepting requests from the client (a user) and returning a response (such as a web page)
The benefit of running a service on a dedicated computer such as a server is security
Many types of servers exist, such as:
Mail servers = these store and move mail across the Internet
Web servers = these servers are responsible for loading web pages and other resources from a disk and serving it to the client (a user's web browser) over HTTP (hyper-text transfer protocol)
FTP servers = allow for moving files securely between computers