1.2.2 - Applications Generation Flashcards

(23 cards)

1
Q

Describe and give examples of applications software

A

Performs generic tasks for the user
Examples:
- Database (DBMS)
- Word processor
- Spreadsheet
- Graphics editor
- Desktop Publisher (DTP)
- Presentation Software
- Computer Aided Design (CAD)

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

Which category of software would be used to perform each of the following tasks?

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

Describe and give examples of utility software

A

A piece of system software, with one specific purpose, that is used for the maintenance of the system

Examples:
- Disk Defragmenter
- Compression Utility
- Anti-Virus/Malware
- Device driver
- Firewall

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

Describe open-source software

A

Source code is freely available for others to amend / recompile

  • Can be built on to tailor the program to specific needs without starting from scratch
  • Code open for bugs to be spotted and fixed.
  • Has the benefit of a community potentially improving the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe closed-source software (proprietary)

A

The source code is not made available

  • Distributed in binary form
  • There is no permission to amend the program code, so cannot be ‘tweaked’
  • Users are sold a license to use it (with conditions).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe and give examples of software libraries

A

Pre-written blocks of code that contain useful routines that can be imported into a program.

  • Examples: encryption and graphic routines
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the benefits of software libraries?

A
  • Relatively error-free as has already been tested by the author
  • Already written so are ready to use which saves time/money
  • Used multiple times for common tasks which reduces repeated code
  • The programmer can use code beyond their expertise
  • Written by an expert so should be efficient
  • Different source languages can be used to increase features
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the negatives of using software libraries?

A
  • May significantly increase the size of the compiled file as the library contains many routines that aren’t being used.
  • Not written by the programmer so need to spend time familiarising themselves with it.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Describe machine code

A
  • The output of a translator
  • Uses binary notation (0101010101000011)
  • Dependent on architecture
  • Harder to program
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Describe high-level languages

A
  • Not architecture specific
  • Can be recompiled for different architectures.
  • Close to English
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Describe assembly language

A
  • Uses mnemonics to represent machine code instructions/opcodes
  • Consists of simple instructions
  • Specific to the instruction set of the given processor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a translator?

A

Software that converts code from high-level, or assembly, to machine code

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

What are the 3 types of translators?

A
  • Interpreter
  • Compiler
  • Assembler
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Describe an interpreter and give an example of a language that would use one.

A
  • Translates source code every time the program is run
  • The user needs access to the source code to run the program
  • Will run on any machine
  • The slowest option for translators
  • Translates code line by line

Example: JavaScript

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

Describe a compiler and give an example of a language that would use one.

A
  • Machine dependent - different compilers are needed for each type of machine
  • Creates an executable program (.exe)
  • Users do not see the source code
  • Will run quicker than the other options.
  • Translates all the high-level code at once

Example: C#

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

Describe an assembler and give an example of a language that would use one.

A
  • Used to convert assembly language into machine code
  • Replaces mnemonic opcodes with machine codes
  • Replaces symbolic addresses with numeric addresses
  • Creates one line of object code for each line of source code.

Example Assembly Language

17
Q

State the stages of compilation

A
  • Lexical Analysis
  • Syntax Analysis
  • Code Generation
  • Optimisation
18
Q

Describe the lexical analysis stage

A
  • Comments and whitespace are removed
  • The symbol table is started
  • Variable names like ‘count’ are added to a symbol table.
  • Reserved words like ‘WHILE’ are tokenized.
  • The series of tokens and symbol table is passed onto the next stage, syntax analysis
19
Q

Describe the syntax analysis stage

A
  • Receives output from the lexical analysis
  • Code is checked to ensure it follows the rules of the language
  • Uses abstract syntax trees to check syntax rules are followed.
  • The symbol table is completed
  • An error list is generated at the end of this stage
20
Q

Describe the code generation stage

A
  • Receives the abstract syntax trees from syntax analysis
  • The object code is created (machine code)
  • Turns the code into a format that the processor can understand
21
Q

Describe code optimisation

A
  • Ensures the code runs quicker and uses less memory.
  • The code from the prior stages may have been inefficient (instructions used that can be replaced by simpler ones.)
22
Q

Describe the purpose and types of linker

A
  • At the end of compilation, a linker is used to combine the object code with the library code to make the single executable file
  • Links the main program to libraries

STATIC - Include full library in the final executable code
DYNAMIC - Points to the external libraries (adds a shortcut to it)

23
Q

Describe the purpose of a loader

A
  • A program in an operating system (OS) used to load the executable file (exe) into memory from secondary storage.
  • Loads the required software libraries