1.2.2 - Applications Generation Flashcards

(24 cards)

1
Q

Types of software

A

Systems software
Applications software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

System software purpose

A

To control hardware and run applications

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Examples of systems software

A

Operating system
Utility software
Libraries
Translators

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Types of application software

A

General purpose
Special purpose
Bespoke software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Bespoke software

A

Custom created for a specific user and mostly used by businesses rather than individuals

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Open source software

A

Anyone can access the source code
Licensed but free to use
Anyone can modify the software and sell it as long as the product is also open source

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Freeqare

A

Software that is free for anyone to use but the source code is not available

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Proprietary software

A

No access to source code
Users must pay copyright owner for license to use
May be restrictions on use depending on license

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Factors affecting choice of applications

A

Functionality
Hardware compatibility
Availability
Cost
Reliability
Reputation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Assembler

A

Translates assembly language into machine code
Hardware specific

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Compiler

A

Translates a whole program written in high level language into machine code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Interpreter

A

Translates program line by line into machine code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Positives of compilers

A

Program can be run many times without the need to recompile
Faster to execute
Executable code does not require an interpreter to run
Compiled code cannot be easily read and copied by others

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Positives of interpreters

A

Source code can be run on any machine with the interpreter
If a small error is found, no need to recompile the entire program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Bytecode

A

Intermediary step between source code and machine code, this is then interpreted by a bytecode interpreter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Stages of compilation

A

Lexical analysis
Syntax analysis
Semantic analysis
Code generation

17
Q

Lexical analysis

A

Whitespace and comments removed
Keywords, contents and identifiers replaced with tokens
Lexer will build a symbol table for run-time memory addresses of identifiers

18
Q

Syntax analysis

A

Stream of tokens split into phrases
Phrases are parsed against the rules of the language
Error recorded if phrase is not valid
Syntax rules can be drawn as a syntax diagram

19
Q

Semantic analysis

A

Checks for valid syntax that is not a valid program

20
Q

Code generation

A

Compiler generates machine code
Code optimisation is also performed

21
Q

Code optimisation

A

Removes redundant instructions
Replaces inefficient code with more efficient code

22
Q

Libraries

A

Pre-written and pre-compiled functions
Programmers can write their own libraries

23
Q

Linker

A

Puts appropriate memory addresses in place so that the program can call and return from a library function

24
Q

Loader

A

Copies program and any linked subroutines into main memory to run