Application Generation Flashcards

(37 cards)

1
Q

applications definition

A

a program that can be run on a computer, allowing the user to carry out specific tasks

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

assembler definition

A

a translator in low level language, which converts assembly language into machine code

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

closed source definition

A

proprietary software sold with a license and restrictions on usage and how many users can use it

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

code generation definition

A

the third and final stage of compilation, where an equivalent machine code program is produced

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

compilation definition

A

the process of analysing high level language source code and converting it into machine code

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

compliers definition

A

a translator that converts high level language to machine code

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

interpreters definition

A

a translator which checks a source program for syntax errors line by line, translates it to machine code and executes the line

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

lexical analysis definition

A

the first stage of compilation, where extra spaces and comments are removed from source code and it is searched for simple errors.

keywords, constants and variables are replaced by tokens

variable names are loaded into the symbol table

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

libraries definition

A

a collection of programs which are already compiled and can be loaded into a program and run whenever required

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

linkers definition

A

a program which places the appropriate machine addresses in the call and returns instructions of a compiled program so all the other required object code files and modules are linked together

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

loaders definition

A

a program that loads the executable object program and its associated libraries into memory before it is run

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

open source definition

A

software whose source code is freely available to view, redistribute or modify

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

optimisation definition

A

during code generation, the object code is made as efficient as possible by removing redundancies to produce code that gives the same result

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

syntax analysis definition

A

the second stage of compilation, where statements, expression and tokens are checked for syntax errors using syntax diagrams

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

translator definition

A

a program which converts code from one computer language to another

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

utilities definition

A

system software with a specific purpose usually related to maintenance such as optimising the performance of the computer, diagnosing issues, backing up files, setting up firewalls etc.

16
Q

what is the difference between applications and systems software

A

applications software is utilised directly by the end-user whereas systems software ensures the high performance of the computer

17
Q

give 3 examples of utilities

A
  • compression
  • disk defragmentation
  • antivirus
  • automatic backup
  • automatic updating
18
Q

give one advantage of using closed source code

A
  • thorough, regular and well-tested updates
  • expert support and user manuals from company
  • high levels of security as it is developed in a professional, controlled environment
19
Q

state two features of open source code

A
  • does not require a license to be used
  • distributed with the source code
  • can be modified and sold on
20
Q

give two advantages of using compiled code over interpreted code

A
  • faster to execute
  • does not require compiler to run
21
Q

give two advantages of using interpreted code over compiled code

A
  • is platform independent
  • runs instantly without time waiting for compilation
  • useful for debugging
22
Q

what is assembly language

A

a low-level language that has almost a one-to-one relationships with machine code

it is platform specific

23
Q

what are the stages of compilation

A

lexical analysis
syntax analysis
code generation
optimisation

24
what happens during syntax analysis
- tokens are compared to the rules of the programming language - syntax errors are identified - symbol table updated with more details - semantic analysis (finding logic errors)
25
what are the similarities and differences between static and dynamic linkers
similarities: both link external modules and libraries to main program static: library code copied into the file file size increased dynamic: addresses of libraries included within file external updates automatically feed through to main program
26
give three advantages of using libraries
- error-free - save time - re-usable - no need to 'reinvent the wheel' - designed by experts
27
describe the function of a loader
provided by the operating system, a loader retrieves the library or subroutine from the given memory location
28
what is the purpose of the optimisation stage of compilation
- reduce execution time - reduce inefficient sections of code - remove redundant code
29
what is compression
operating systems provide utilities that enable files to be compressed and decompressed this is used when compressing large files to be transmitted across the internet and is commonly used to compress scanned files
30
what is disk defragmentation
as the hard disk becomes full, read/write times slow down this is because files become fragmented as they are stored in different parts of memory the disk defragmenter utility rearranges the contents of the hard drive so they can be accessed faster, thus improving performance
31
what is antivirus
antivirus is responsible for detecting potential threats to the computer, alerting the user and removing these threats
32
what is automatic updating
this utility ensures the operating system is kept up to date, with any updates being automatically installed when the computer is restarted updates tackle bugs or security flaws so this ensures the system is less vulnerable to malware and hacking threats
33
what is automatic backup
the backup utility automatically creates routine copies of specific files selected by the user how often files are backed up is also specified by the user this means that in the event of a power failure, malicious attack or other accident, files can be recovered
34
what is the stages of compilation for
when a compiler is used, high-level language goes through four stages before it is turned into object code that is ready to be executed
35
what are static linkers
modules and libraries are added directly into the main file this increases the size of the file any updates to the module and libraries externally will not affect the program this means a specific version of a library can be used
36
what are dynamic linkers
addresses of modules and libraries are included in the file where they are referenced when the program is run, the loader retrieves the program at the specified address so it can be executed the advantage here is that files remain small and external updates feed through to the main file; there is no need to rewrite the code