1.2.2 Flashcards
Applications Software
Used by the end-user to perform one specific task
Systems Software
Manages computer resources to ensure consistent high performance
Utilities
Each utility has a specific function to help keep the operating system’s performance high
- Anti-virus programs
- Disk Defragmentation
- Compression
- File Managers
- Backup Utilities
Anti-virus Programs
Detect and remove viruses
Disk Defragmentation
Groups all parts of each file together so they can be read in one go
reducing time a computer takes to load them
Compression
Reduce the amount of space that data takes up in storage
File Manager
These allow files and directories to be moved , copied , deleted and re-named
Backup Utilities
These allow backups to be automatically made out of specified data such as :
- where the user wants to store the backup
- what the user wants to backup
Open Source
Software that is available to anyone and can be used without a license
Open Source (P+C)
Software can be modified by developers and sold on for a profit
Improved by community effort
Low security
Inadequate support available
Closed Source
Users must own a license to use it and restrictions are present on how the user can use it
Closed Source (P+C)
Regular updates
High levels of security
Expert support
User cannot modify or improve code
User must pay to have access
Translators
A program that converts source code into object code . There are 3 types :
- Compiler
- Assembler
- Interpreter
Compiler
Translates high-level code into machine code all at once
Assembler
Translate assembly code into machine code
Interpreter
Translate and execute code line-by-line
Useful for testing code
Slower than running compiled code
Lexical Analysis
White space and comments are removed
Keywords and identifiers are replaced with tokens
Syntax Analysis
Tokens are analysed against rules of the programming language
Abstract syntax tree is produced
Code generation
Abstract syntax tree used to produce machine code
Optimisation
Aims to reduce execution time by removing redundant parts of code
A very time-consuming state
Linkers
Software that links external modules and libraries included within the code
Loaders
Fetches the library/module from the given memory location
Libraries
Often code to perform complex tasks has already been written and packaged as a library
Save developer time from rewriting code
Already tested