1. Utilities
1.1. Definition:
1.1.1. Utility software dedicated programs used for the **maintence** and organisation of a computer system. They are used to **maintain the performance** of a computer system
1.2. Examples:
1.2.1. Firewalls
1.2.1.1. Scans incoming and outgoing networkk traffic - each data packet is processed to check whether it should be given access to the network by examining the source and destination address. It also blocks access to insecure / malicious websites, blocks certain programs from accessing the internet, blocks unexpected / unuthorised downloads, prevents specific users on a network accessing certain files.
1.2.2. Encryption
1.2.2.1. The process of **scrambling** data into an unreadable format **using and algorithm** so that attackers **cannot understand it** if intercepted during transmission.
1.2.3. Anti-malware
1.2.3.1. Used to locate and delete malware on a computer system. The software **scans** each file on the computer and **compares** it against a database of known malware. Files with similar features to malware in the database are **detected** and **deleted.**
1.2.4. Defragmentation
1.2.4.1. **How do files become fragmented** Files might be deleted from storage and then new files fill the gaps - if they are too big they will be split up and saved in different locations
1.2.4.2. **What does the defragmenter do?** The defragmenter **rearranges parts of files** so that they are **contiguous** (in order). This makes them **faster to read** because the disk is **accessed less** The defragmenter also groups free space together at the end **to make it faster to write files**
1.2.5. Data Compression
1.2.5.1. **Reduces the size of a file** **Lossy compression** - removes data from the file **permanently**, this means quality could be lost (but it should only remove data that won't be noticed). - used on **images, sound, and video** **Lossless compression** identifies patterns in data to reduce the files size. Does not lose any data (or quality) - used on **text and source code**
1.2.6. Backup software
1.2.6.1. A copy of every file is taken so that if they're deleted they can still be accessed.
1.2.7. Disk checkers
1.2.7.1. Checks the hard disk when the computer starts to make sure it is working correctly.
1.2.8. Disk formatters
1.2.8.1. Formats the disk so that data can be saved to it.
1.2.9. Auto-updaters
1.2.9.1. Update software automatically This is important because any **security issues** in apps are removed in updates.
2. Interfaces
2.1. Definition:
2.1.1. A user interface allows a human to interact with a computer system. There are different types of user interfaces:
2.1.1.1. Graphical User Interface
2.1.1.1.1. Uses icons, shortcuts, menus, taskbar. Multiple windows can be opened at the same time and switched between. The interface can be customised such as changing font sized and the desktop background. File and folder systems let the user copy, move, delete, rename, and search for files. System settings can be accessed such as network and hardware options. The taskbar allows shortcuts to be pinned for quick access. Menus can be opened to display siles and shortcuts.
2.1.1.2. Command Line Interface
2.1.1.2.1. This type of interface is entirely text-based and requires users to interact with the system by typing commands. This is a complicated process and mistakes could easily accidently delete data. There are many commands to learn so only experts who have been trained to learn this interface will be able to efficiently make use of it.
2.1.1.3. Voice Driven Interface
2.1.1.3.1. Can be controlled by speaking commands aloud to listening device. This interface is intuitive, can be used hands-free and helps to speed up processes. However commands may be misheard or limited in what can be performed.
2.1.1.4. Menu Interface
2.1.1.4.1. A menu-driven interface displays data in a series of menus. This type of interface is generally user friendly and easy to use as commands do not need to be memorised. However, it can be annoying to find specific data through a large number of menus without a search feature.
3. Functions
3.1. Memory management
3.1.1. **Virtual Memory:** The operating system transfers programs in and out of memory to the hard drive (virtual memory) when processing is required - programs are removed from RAM when closed to free up space for other tasks.
3.1.2. **Managing RAM:** The Operating System: - **Loads** programs and files into RAM - **Keeps track** of where programs and files are stored in RAM (so that they don't overwrite eachother) - **Removes** programs and files from RAM when they are closed
3.2. Multitasking
3.2.1. The **CPU** can only perform one process at a time - so it **switches between tasks** so quickly that it looks like it is running them **at the same time.**
3.3. Peripherals Management
3.3.1. A peripheral is an external device connected to a computer system to input or output data. Data is transferred between **peripheral devices** and the processor and **device drivers** are used to **translate** the data so that the CPU can **understand** them.
3.4. Drivers
3.4.1. A **device driver** is a program that provides an interface for the operating system to interact and communicate with an external device. Drivers are hardware dependent and OS-specific. The driver **translates the OS' instructions into a format the specific hardware can understand.**