Hardware and software Flashcards
(24 cards)
What is hardware
Hardware is the physical (and electrical) components of a computer
the CPU, motherboard, RAM and ROM, storage devices as well as circuits and other parts.
What is software
Software are the programs that run on the computer, made up of sequences of instructions.
What is the relationship between hardware and software
Software controls the computer’s hardware, whilst the hardware provides the platform upon which the software’s instructions can be executed.
What is system software
System software controls and maintains the computer.
What is application software
Allows users to carry out tasks that are oriented around themselves
for example browsing the web or checking email.
Types of application software
- general-purpose
- specific-purpose
- bespoke.
What is general purpose software
General-purpose software is used to carry out many tasks and could include word-processors and spreadsheets.
What is special purpose software
Special-purpose software carries out one specific task, for example a web-browser, email clients or music creation
What is bespoke software
Bespoke software is written to a particular customer’s requirements, for a particular organisation.
Often required where large-scale processing, or control of specific hardware is required
Advantages of specialist software
- Software is available immediately “off the shelf”
- Lower cost as the development cost is shared amongst many users
- A wide range of support and training is available
- Likely to receive regular updates and upgrades.
- Bugs are likely to be found by its many users which are then patched or addressed in updates.
Disadvantages of specialist software
- May contain unnecessary features, or not quite offer the exact functionality required.
- Competitors have access to the same software, diminishing advantages.
Advantages of bespoke software
- Does exactly what the organisation needs it to do with no unnecessary features.
- Competitors do not have access to the same software providing a potential advantage.
Disadvantages of bespoke software
- Software must be designed, implemented and tested before it is available for use.
- High cost as only one organisation will use the software.
- Support is only available from the company that developed the software, likely at additional cost.
- Updates require additional analysis, design and development and come at significant cost.
- More likely to have undiscovered issues due to limited install base and testing.
Components of system software
- Operating Systems
- Utility Programs
- Libraries
- Translators
Operating Systems
- Provide an interface between the computer’s hardware and its applications, providing a platform for applications to run on.
- operating systems manage a computer’s resources, allocating memory, processors and I/O devices to competing processes to support multitasking and multithreaded applications.
- Hides the complexity of the computer’s hardware through the provision of a virtual machine.
Utility programs
allow users to perform system maintenance tasks
(de)compressing and/or encrypting files, scanning for viruses, defragmenting a hard disk or backing up the computer.
Libraries
Libraries provide reusable code that software applications require in order to run.
The use of libraries can reduce the amount of programming required as they provide access to standard features of the operating system without programmers having to write this from scratch.
Translators
translate higher-level programming language code into low-level machine code that can be executed by the computer (or a virtual machine provided by the operating system).
interpreters, compilers and assemblers
Virtual machine
This virtual machine creates the illusion that each process has the machine (including its resources such as memory and processor) all to itself.
provides a standardised platform for applications to be written for, via a collection of shared code libraries (DLLs in Windows) that provide standard functionality to applications, such as accessing peripheral devices such as printers, or communicating over networks. Collectively, these are known as the operating system’s Application Programming Interface (API)
Example of utility software
- encryption software
- defragmentation
- data compression
- backup software
Encryption
Encryption utilities “scramble” data by applying an encryption algorithm to the binary data that represents the file.
Encrypted data can only be decrypted by applying a secret “key” (in reality, a long/large number) to the decryption algorithm.
Requiring a key to decrypt the data prevents unauthorised users from being able to access it.
Defragmentation
Defragmentation utilities reorganise the data blocks on a hard disk
Data blocks that belong to the same file are grouped together in adjacent blocks
Free space is grouped together at the end of the disk, which reduces further fragmentation when new files are written
Improves hard disk performance
If data very fragmented - increased read write times - mech head has to move more to read/write data
Backup Utilities
- Select which files and folders should be backed up
- Schedule backups (i.e. state when they should happen)
- Recover (“restore”) lost data from backups
- Manage backup media
- Choose which type of backup should be performed (full/incremental)
make copies of data that can be restored in the event of data loss
backup - copy of data on device that is stored externally
Compression
Compression utilities reduce the amount of disk space required to store a file by applying a lossless (always lossless!) compression algorithm to the file’s binary data.
Compressed files must be decompressed (or “extracted”) before they can be used.
Compression utilities can also compress many files (and folders) into a single compressed archive file. This, combined with reducing their size makes transferring data across the Internet much quicker and convenient.
Some compression utilities will allow you to lock the file with a password, adding security to files that will be sent online.