Explain how each of the following contributes to the overall performance of a computer system and mentioned how it is done.

(a) System optimisation
(b) Component optimisation

(a) System optimisation refers to the process of improving the overall performance and efficiency of a computer system. It involves various techniques and practices to ensure that the system runs smoothly and efficiently. Here are some ways in which system optimisation can be done:

1. Removing unnecessary software: Deleting unused programs and applications can free up system resources and reduce the load on the computer.

2. Disk cleanup: Regularly cleaning up and defragmenting the hard drive can improve file access times and overall system responsiveness.

3. Updating software: Keeping the operating system and other software up to date with the latest patches and updates can improve security, stability, and performance.

4. Managing startup programs: Limiting the number of programs that start automatically when the computer boots up can reduce the system's startup time and improve overall performance.

5. Adjusting power settings: Optimizing power settings can help balance performance and energy consumption. For example, selecting a higher-performance mode when performing resource-intensive tasks and switching to a power-saving mode during idle times.

6. Managing background processes: Closing unnecessary background processes and applications can free up system resources and improve overall responsiveness.

7. Adjusting visual effects: Disabling or reducing certain visual effects, such as animations or transparency, can enhance system performance, especially on older or low-spec systems.

8. Regular system maintenance: Conducting routine system maintenance tasks, such as virus scans, cleaning temporary files, and performing regular backups, can help keep the system running smoothly.

(b) Component optimisation involves improving the performance of individual hardware components within a computer system. Here are a few examples:

1. Overclocking: This technique involves increasing the clock speed of the CPU or GPU beyond their default settings to achieve higher performance. However, it requires careful consideration of the component's capabilities and potential risks.

2. Upgrading hardware: Enhancing specific components, such as adding more RAM, upgrading to a faster processor, or installing a solid-state drive (SSD), can significantly improve overall system performance.

3. Cooling solutions: Ensuring that the computer's cooling system, such as fans or liquid cooling, is adequate can prevent components from overheating and potentially throttling performance.

4. Driver updates: Keeping device drivers up to date ensures optimal compatibility and performance with the operating system, especially for graphics cards, sound cards, and other peripherals.

5. Component configuration: Adjusting settings in the BIOS or firmware of components, such as enabling XMP profiles for RAM or tweaking power settings for GPUs, can optimize their performance.

6. Component placement: Properly arranging hardware components within the computer case, such as improving cable management or ensuring proper airflow, can enhance cooling efficiency and prevent performance bottlenecks.

Overall, both system and component optimization play crucial roles in maximizing the performance and efficiency of a computer system.