1.2.2 Applications Generation Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What is software?

A

general term which covers all computer programs

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

what is a generic application?

A

it does not have a specific or narrow purpose
can use it to carry out different tasks and meet multiple needs

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

What are some examples of generic applications?

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

What is a specific application?

A

has highly specific and bespoke uses
installed on systems where there is a direct need

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

What are the common categories of application software?

A
  • word processor
  • database
  • web browser
  • graphics manipulation
  • communication software
  • DTP
  • Presentation
  • video editing
  • email clients
  • games
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is utility software designed to do?

A
  • keep your computer safe
  • keep it running efficiently
  • provide tools to manage files + applications
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What does file repair software do?

A

software that attempts to correct corrupted or damaged files and restore the to a working state

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

what is back up software?

A
  • creates copies of data/files to protect them in case they are lost/corrupted ect.
  • can be manual, automatic or scheduled
  • can be full or incremental
  • can back up to different media or cloud
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

what is compression?

A

reduction of the size of files so it takes up less space and downloads faster over the internet
can be lossy or lossless

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

what must happen to compressed files before read?

A

must be extracted

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

what is defragmentation?

A

software which reorganises files on a hard disk, putting fragments of files and free space back together

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

why does defragmentation speed up file access?

A

reduces the movement of the read/write head across the surface of the disk

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

what does anti-malware software do?

A

keep computer and files safe from malware eg:
- viruses
- trojans
- worms
- spyware

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

what are the features of open source software?

A
  • users can modify + distribute software
  • can be installed on any number of computers
  • support provided by community
  • users have access to source code
  • may not be fully tested
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

what are benefits and drawbacks of open source software for USERS?

A

Benefits:
- free
- wide community modification
Drawbacks:
- Can be poorly supported
- Somme features not well tested

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

What are the benefits and drawbacks of open source software for CREATORS?

A

Benefits:
- gets software out to wider community
Drawbacks:
- little-to-no financial gain

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

What are some features of closed source software?

A
  • protected by copyright, design and patent act
  • cannot modify
  • paid for + licensed per computer
  • supported by developers
  • tested prior to release
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

what are the benefits and drawbacks of closed source software for USERS?

A

Benefits:
- Well supported, tested + professional built product
Drawback:
- cost or ongoing subscription

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

What are the benefits and drawbacks of closed source software for CREATORS?

A

Benefits:
- receive income for product
Drawbacks:
- constant demand from community for more features + improvements
- piracy issues

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

what is source code?

A

what humans write programs in
- descriptive and easy for us to understand, read, maintain and debug

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

what is machine code?

A

the pure binary form of source code

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

what is translation?

A

the process of converting source code to machine code

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

how is assembly code translated?

A
  • by an assembler
  • translates the mnemonics of the assembly code into their binary codes
  • typically a 1 to 1 relationship between each line of mnemonics and their binary equivalents
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

what can be used to translate high level languages?

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

how does an interpreter translate source code?

A
  • line by line into the machine code
26
Q

how does a compiler translate source code?

A
  • compiler turns source code into object code
  • linker links any libraries used in the code
  • either converted into machine code
  • or, converted to intermediate code and then translated into machine code using an interpreter
27
Q

what happens if there is an error in the code and it is being translated by a compiler?

A

it will not run unless all errors have been corrected

28
Q

what happens if there is an error in the code and it is being translated by an interpreter?

A

it will run until it encounters an error and then stop

29
Q

what are the advantages of an assembler?

A
  • uses mnemonics - easier to remember
  • memory efficient
  • speed of execution is faster
  • hardware oriented
  • requires fewer instructions for same result
30
Q

what are the disadvantages of an assembler?

A
  • long programs cannot be executed on small computers
  • takes a lot of time to write a program as its is more complicated
  • difficult to remember syntax
  • lack of portability between computers
31
Q

what are the advantages of a compiler?

A
  • no need for translation at run time
  • speed of execution is faster
  • code is usually optimised
  • original source code secret
32
Q

what are some disadvantages of compilers?

A
  • source code is easier to write in a high level language but program will not run with errors which can make it hard
  • code needs to be recompiled when changed
  • designed for specific processor
33
Q

what are the advantages of interpreters?

A
  • easy to write source code + stops when finds an error
  • code does not need to be recompiled when changed
  • easy to try out commands when program has paused after finding an error
34
Q

what are the disadvantages of interpreters?

A
  • translator required at run-time
  • speed of execution is slower
  • code not optimised
  • source code required
35
Q

what is a parse when compiling code?

A

a series of runs through the code by the compiler to perform different actions on the source code

36
Q

what are the four stages of compilation?

A

lexical analysis
syntax analysis
code generation
code optimisation

37
Q

what is the first part of lexical analysis?

A
  • lexer converts lexemes (words) into a series of tokens
  • it scans it letter by letter and when it encounters a white space, operator symbol or special symbol, it decides the lexeme is complete
38
Q

how does the lexer check is a lexeme is valid?

A

checks it using a predefined set of rules

39
Q

what is a side effect of lexical analysis?

A

white space and comments are removed as they are passed over by the lexer

40
Q

what happens after a token stream has been created from source code during compilation?

A

the tokens from the token stream are added to a symbol table

41
Q

what does syntax analysis do?

A

analyses the syntactical structure of the input (from the lexical analysis), checking if it is the correct syntax

42
Q

how does syntax analysis check the syntax of code?

A

analyses the token stream against production rules to detect any errors in the code

43
Q

what does syntax analysis accomplish?

A
  • checks for errors and reporting them
  • building an abstract syntax tree (parse tree)
44
Q

how do syntax diagrams work and how do they validate code?

A

after each token, it shows what should be after it.
this means a line of code can be checked against it and if the line can travel through the diagram, it is valid

45
Q

what is an abstract syntax tree?

A

a diagram created from the input token stream using the syntax diagrams of a particular language

46
Q

what happens in an identifier is added to an abstract syntax tree?

A
  • the symbol table is checked to see it exists
  • the information from the abstract syntax tree can be used to update the data type of the identifiers
47
Q

how does code optimisation attempt to reduce execution time of a program?

A
  • spotting redundant instructions and producing object code which achieves the sake effect as the source program - not necessarily in the same way
  • removing subroutines that are never called
  • removing variables and constant which are never referenced
48
Q

what is a disadvantage of code optimisation?

A

increases compilation time

49
Q

what is unreachable code?

A

a part of the program code which is never accessed because of programming constructs

50
Q

what happens during code generation?

A

abstract code tree converted to object code

51
Q

what is object code when referring to compilation?

A

the machine code produced before the final step (linker) is run

52
Q

what is a library?

A

ready-compiled and tested programs that can be run when needed

53
Q

what are the benefits of libraries?

A
  • quick and easy to use in code
  • pre tested so relatively free from errors
  • pre compiled so optimised to run quickly
54
Q

what are the drawbacks of using libraries?

A
  • adding functionality or making specific tweaks is difficult of impossible
  • sometimes ‘black boxed’ from actual implementation
  • have to trust developers to maintain the library
55
Q

what does a linker do?

A

responsible for putting appropriate machine addresses in all the external call and return instructions so all modules and external library routines are linked together correctly

56
Q

what is static linking?

A

all required code from the libraries is included directly in the finished machine code

57
Q

what is the issue with static linking?

A
  • large executable program files
58
Q

what is dynamic linking?

A
  • compiled versions of the required libraries are stored on the host computer
  • os links the required code from the library as the program is running
59
Q

what is the disadvantage of dynamic linking?

A

if the dynamic libraries change, the program may stop because it tries to call the subroutine in the wrong way

60
Q

what is the loader?

A

part of the os which loads the executable program file (machine code) into memory, ready to run
when using dynamic linking, it also loads the required libraries into memory