1.2.2 - applications generation Flashcards

section 2

1
Q

definition of application software

A

A category of software that allow users to accomplish tasks on a computer system.

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

3 examples of application software

A
  • spreadsheets
  • word processors
  • web browsers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

definition of utility software

A

Designed to keep your computer running smoothly or to keep it safe from threats. performs a specific task.

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

3 examples of utility software

A
  • anti virus
  • firewalls
  • defragmentation
  • compression
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does defragmentation software do?

A

Reorganises the data on the storage device so that data from the same file is stored in adjacent blocks.

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

full backup

A

Everything on the system is copied onto the backup media. It is a slow process and takes up a lot of space but is very easy to restore a system from.

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

incremental backup

A

Only the files that have changed since the last backup are copied

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

definition of backup software

A

Creates a copy of important data so that it can be stored in an external location.

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

Why is it more difficult to restore a system from an incremental backup?

A
  • The most recent full backup must be applied.
  • Every incremental backup since then must be applied in the correct order.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

what is open source software

A

Projects where the source code used to create the project is made publicly available. Anyone can legally view, modify and distribute the source code.

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

4 advantages of open source software

A
  • free
  • maintained by a large community of contributors
  • encourages collaboration
  • encourages rapid development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

4 disadvantages of open source software

A
  • no warranty or guarantee
  • smaller projects may not receive regular updates
  • official customer support may not be available
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is proprietary software?

A

The source code is not available to people outside the organisation. You don not own the software, just buy a license to use it. Modifying, copying or sharing the software is illegal.

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

4 advantages of proprietary software

A
  • comes with a warranty or guarantee
  • customer support
  • thoroughly tested and reliable
  • easier for the average user to install and use
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

4 disadvantages of proprietary software

A
  • expensive
  • cannot be fixed or modified by users
  • may not do exactly what you want
  • older versions may not be maintained
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is a software license?

A

A set of rules which tells the user what they can and cannot do with a piece of software.

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

Why can licensing get complicated with open-source programming?

A

Usually, open source licenses state that if you use the open source software in a project, then it must also be open-source, making it difficult to sell. Things can get tricky when multiple components with different licenses are used.

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

translators

A

Software that converts source code into executable binary.

19
Q

3 types of translators

A

1- compilers
2- interpreters
3- assemblers

20
Q

compilers

A

Translate the whole of a program in one go. Produces a list of errors at the end.

21
Q

Explain 2 advantages of compilers? (4)

A
  • They produce an executable program so the program doesn’t need to be repeated more than once per version.
  • The source code is hidden from the end user which protects the developers’ intellectual property.
22
Q

disadvantage of compilers

A

The process can be very slow which can slow down development if man small changes need to be made.

23
Q

examples of compiled languages

A

C, C++, Visual Basic

24
Q

Interpreters

A

Translate high-level source code into executable binary one line at a time.

25
Q

examples of interpreted languages

A

Python, JavaScript

26
Q

Explain 2 advantages of interpreters? (4)

A
  • Will stop as soon as they encounter an error so useful for debugging.
  • ‘portable’ so can be run on many types of CPUs as long as there is an interpreter for the platform.
27
Q

2 disadvantages of interpreters

A

1- slower than a compiled program because we have to translate each line every time it is run.
2- A compiled program file is not produced so the process must be repeated each time the program is run.

28
Q

assemblers

A

Translate assembly code into executable binary.

29
Q

2 advantages of assemblers

A

1- Provides exact control over the hardware so code can be very efficient and take up less memory and time.
2- Can be used on low specification machines.

30
Q

disadvantage of assemblers

A

Very difficult to use and requires deep technical knowledge of CPU and memory.

31
Q

4 stages of compilation

A

1- lexical analysis
2- syntax analysis
3- code generation
4- code optimisation

32
Q

3 stages of lexical analysis

A

1- White space is removed.
2- Create tokens out of the keywords and operators (lexemes).
3- Tokens are assembled into a symbol table.

33
Q

stages of syntax analysis

A

1- The tokenised code is compared to the rules of the programming language.
2- if it doesn’t comply, an error is generated containing what and where it is.
3- This is repeated and a full error report will be given back to the user containing all the errors found.

34
Q

code generation stage during compilation

A

Object code or machine code is generated.

35
Q

code optimisation stage during compilation

A

the machine/object code is optimised for efficiency. The aim is to make the binary footprint as small as possible. Any procedures/variables that aren’t used are removed.

36
Q

linkers

A

Software responsible for linking libraries to the code that uses them. Can be statically or dynamically linked.

37
Q

statically linked libraries

A

Included in the machine code when it is compiled which increases the binary footprint but the end user doesn’t need to install it.

38
Q

dynamically linked libraries

A

Not built into the code. They are loaded in when the machine code is passed to the CPU to run, just when it needs it. The library needs to be installed on the computer.

39
Q

loaders

A

Part of the OS that loads the program you are trying to run by finding a good place for the machine code to sit in memory.

40
Q

purpose of file handlers

A

Organises data storage.

41
Q

purpose and use of hardware drivers

A

Purpose: allows the peripherals and OS to communicate.
Use: to configure hardware.

42
Q

Explain why a programmer could use intermediate code for the final product? (3)

A
  • Can be used in a virtual machine.
  • Can be used on any machine.
  • Protects the source code from being copied.
43
Q

software

A

The programs that run on a computer system.

44
Q

purposes of system software

A
  • controls the hardware
  • provides a user interface
    -manages memory
  • provides platform for applications software