Please enable JavaScript.
Coggle requires JavaScript to display documents.
System software + other stuff (Utility system (Backup (Creates copies of…
System software + other stuff
The OS
I/O device communication/drivers
Finds and installs the correct driver for the selected I/O device to allow it to communicate (acts as a translator)
Automatically installs updates which may fix bugs, or add features
Application management
Provides a platform, allowing them to access hardware
Provides a GUI to help the user interact with programs
Can take advantage of the OS' features
Memory Management
Copies the necessary instructions/data of programs into memory, and removes those not used recently
Manages how much memory programs have access to depending on their priority
Allocates certain memory addresses to prevent overwrites and interference
CPU management
Schedules processes into the most efficient order, depending on their priority
May interrupt the order if a new process becomes available
Allows multitasking, the CPU swaps between different processes very quickly
File/Disk management
Organises data into a heirachical structure, and deals with moving, editing and deleting data
Manages the disk, splitting it into physical 'sectors' which are assigned to certain data, and keeps track of free space
Organises and maintains using utility software
System Security
Keeps data secure - controls user accounts, which grant access to specific data
Often have anti-theft measures, such as passwords/PINs, or biometrics
Utility system
Help maintain a computer
Defragmentation
Collects fragmented data into clusters, making reading them faster
Disk health
Scans the drive for problems such as corrupted data, and fixes them
Compression
Reduces file size to maximise disk space and to allow them to be sent (as an attachment etc.)
Encryption
Scrambles data to prevent data theft etc - can be decrypted with a key
Backup
Creates copies of files and settings externally, in event of data loss
Schedules backups, disk images, and how much to backup
Virus Scanner
Inspects files for viruses - needs to be updated regularly
System Cleanup
Remove/delete files such as temporary files
The CPU
The ALU
Does calculations, such as binary shift, addition, division etc
Also performs logic operations (AND, OR)
Stores intermediary results in registers
Performs an operation, and sends the output back to the registers
The CU
Controls the CPU, executes instructions for the Read-Write cycle
Controls the flow of data
Keeps track of the memory address of each instruction
The Memory (Cache)
Very fast memory, stores regularly used data for the ALU
Has differing levels - L1, L2 and L3, of which L1 is the fastest, and located physically in the CPU
Very small, and expensive due to its speed
The CU checks for data - if it is present, it's a cache hit, or a miss otherwise
Depends on the size - the larger the cache, the more likely a cache hit
In a Von Neumann architechure, the memory holds both data and the instructions
The Bus
Collections of wires which transmit data between components
May have separate buses for data, instructions and memory addresses, to prefer interference and maximise speeds
The Clock
Sends out a signal that cycles between 0 and 1, and is used to synchronise instruction performance
The speed is the clock speed (for a second) - and the faster this is, the more (quickly/per second) instructions can be carried out
Performance factors
Cache size - cache misses depend on the size
Clock speed - the speed at which instructions can be done depend on this
Cache type - this controls how quickly data can be fetched, and thus executed
Number of cores - controls how many instructions can be executed simultanously
Von Neumann
Data is input by an I/O device, and data is executed, before being output again
Early computers had to be physically rewired by hand to do another job. Von Neumann architecture solved this by having the both the data and the software used in the computer memory (RAM). With this architecture, the task a computer is working on can be changed by simply loading a different program into the memory.
The Von Neumann bottleneck is the idea that instructions can only be done one at a time by the CPU, which can cause instructions to "pile up", waiting to be processed
Fetch-Decode-Execute
The CU reads the memory address of the instruction, and copies the instructions into a register. The memory address is incremented, to signal the next instruction's address
The instruction is decoded by the CU, and other necessary values are loaded into the registers
The instruction is executed - it may be a calculation or logic operation, or loading data from memory