2.2 Applications Generation Flashcards

1
Q

What are 2 types of software?

A

applications software
systems software

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

What is applications software?

A

Software designed to be used by the end-user in order to perform specific tasks.

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

What are some examples of applications software?

A

desktop publishing
word processing
spreadsheets
web browsers
graphics design

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

What is systems software?

A

Low-level software that is responsible for interacting with hardware and providing a platform for applications software to run on.

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

What are some examples of systems software?

A

library programs
utility programs
operating system
device drivers

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

What is utility software?

A

Systems software that has a specific function linked to the maintenance and upkeep of the operating system.

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

What are some examples of utilities?

A

compression software
defragmentation software
antivirus software
backup software
device drivers

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

What does compression software do?

A

Compresses/decompresses files. Compression of files increases file transfer speeds and reduces the storage space they take up by removing unnecessary data.

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

What does disk defragmentation software do?

A

Rearranges the contents of the hard drive so that programs are stored contiguously and there are blocks of free space. This speeds up read/write times.

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

What does antivirus software do?

A

Detects potential threats to the computer, alerts the user and removes them.

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

What does backup software do?

A

Creates copies of important files in case they are lost during a malicious attack or power cut.

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

What is open source software?

A

Software where the source code is distributed with the program and available for anyone to use.

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

What is closed source software?

A

Software where the source code is privately owned and you must hold an appropriate license to use the software.

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

What are the advantages of open source software?

A

can be modified and improved by anyone

can be modified and sold on or modified to your own specific needs

technical support from online community

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

What are the disadvantages of open source software?

A

online support may be insufficient or incorrect

lower security as the software isn’t developed in a controlled environment

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

What are the advantages of closed source software?

A

typically well tested and regular updates

company that owns the software may provide user manuals and expert support

high levels of security as developed in a professional environment

17
Q

What are the disadvantages of closed source software?

A

license may restrict how many people can use the software at once

users cannot modify the software to their individual needs

18
Q

What is a translator?

A

A program that converts high level source code into low level machine/object code which can be executed by the computer.

19
Q

What are 3 types of translator?

A

compiler
interpreter
assembler

20
Q

How do compilers work?

A

They translate the high level code into an executable file made up of machine code all at once.

21
Q

What are the advantages of compilers?

A

the executable file can be ran without a translator

the executable file can be ran quickly many times as there is no need for further translation

22
Q

What are the disadvantages of compilers?

A

initial compilation process may take long and doesn’t execute the code

if changes are made to the source code, the whole program must be recompiled

the executable file can only be run on certain devices as the machine code is specific to computer architecture

23
Q

How do interpreters work?

A

Translate and execute code line by line and stop and produce an error message if necessary.

24
Q

What are the advantages of interpreters?

A

Instantly compile code

useful for testing code and pinpointing errors

code can be executed on a range of platforms as long as the right interpreter is available so the code is more portable

25
Q

What are the disadvantages of interpreters?

A

code must be translated every time its executed

code requires an interpreter in order to run

26
Q

What do assemblers do?

A

Translate assembly code to machine code on a (almost) line to line basis.

27
Q

What is assembly code?

A

Low level code that is the ‘next level up’ from machine code. This code is still specific to computer architecture and the processor’s instruction set.

28
Q

What are the 4 stages of compilation?

A

lexical analysis
syntax analysis
code generation
optimisation

29
Q

What happens during lexical analysis?

A

input - source code

comments and whitespace are removed

variables and subroutines are stored in a symbol table

keywords are converted into a series of tokens

output - series of tokens and symbol table

30
Q

What happens during syntax analysis?

A

input - series of tokens and symbol table

code is checked to ensure it follows the syntax rules of the language

tokens are used to produce an abstract syntax tree

if any syntax rules are broken, errors are reported and the compilation process stops

output - abstract syntax tree and symbol table

31
Q

What happens during code generation and optimisation?

A

object/machine code is generated from the abstract syntax tree

redundant parts of code are detected and removed to make the code take up less space in memory

repeated sections of code may be grouped and replaced to make the code execute faster

32
Q

What is a library?

A

A precompiled external program that can be incorporated within other programs.

33
Q

What are the advantages of libraries?

A

typically ready to use and error free

saves time developing and testing modules of code

can be reused within multiple different programs

34
Q

What are the disadvantages of libraries?

A

need to understand the different functions in the library and know their names

if the library contains bugs, you can’t fix them and must wait for the developers of the library to

35
Q

What is a linker?

A

A piece of software that is responsible for linking external libraries/modules that have been included within a program’s code.

36
Q

What is a loader?

A

A program that retrieves an external library from a given memory address.

37
Q

What are 2 types of linker?

A

static
dynamic

38
Q

How does a static linker work?

A

Libraries are directly added into the program increasing the file size but meaning external library updates will not impact the program as it uses a specific version.

39
Q

How does a dynamic linker work?

A

The address where a library is stored is added to parts of the program where the library is referenced. When the program is run, the loader retrieves the library so that the code can be executed.