1.2.2 Applications Generations Flashcards
(21 cards)
What is applications software?
designed to be used by end-user to perform one specific task.
- requires system software to run on
- eg. word processors, web broswers, database management software, spreadsheet
What is systems software?
low-level software responsible for running computer system, interacts with hardware, platform for applications.
utilities
piece of system software ensuring consistent performance of OS, maintains the OS
compression
enables files to be compressed (reduced in size) so they can be transmitted over internet
lossy compressions
compression that removes non-essential data from file, decrease in data integrity, data non-recoverable
lossless compression
compression that retains all data in file by only storing instructions needed to reconstruct original file.
disk defragmentation
as disk becomes full, read/write slower, as files become fragmented as stored in different parts of memory,
disk defragmenter rearranges contents of hard drive so it can be accessed faster, improving performance.
antivirus
responsible for detecting potential threats to computer, alerts user and quarantines threats
automatic update
ensures OS is kept uptodate, updates fix bugs ensure system is less vulnerable to malware
backup
creates routine copies of specific files selected by user
open source
software whose source code is freely available to view, redistribute and modify
closed source
proprietary software, sold with a licence, source code unavailable
translator
program that converts high-level source code in to low-level object code
compiler
translates high level into machine code at once.
if changes need to be made, whole program must be recompiled
machine specific (specific to processor type and OS)
can be run without translator
interpreter
translates and executes code line by line
slower than compiled as must be translated line by line
requires interpreter to run
assembler
translates assembly code into machine code
each line assembly code = one line machine code
assembly code
low level, platform specific, dependent on instruction set of processor
lexical analysis
whitespace/comments removed, code analysed for keywords/variable names which are replaced by tokens.
syntax analysis
tokens are analysed against grammar and rules of programming language, any tokens break rules are flagged as syntax errors. Abstract syntax tree produced (source code in a tree format). Semantic analysis carried, logic mistakes within program are detected.
code generation
abstract syntax tree used to produce machine code
optimisation
makes code faster to execute, more efficient. Redundant (unnecessary) parts of code removed. Repeated sections may be grouped. However, excessive optimisation may alter way program behaves.