1.2.2 Applications generation Flashcards

1
Q

Utilities

What is meant by utility software?

A

Small programs with specific functions

Concerned with maintaining and running a computer system

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

Utilities

What does encryption software do?

A

Scrambles data before it is sent across a network with an encryption key

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

Utilities

What does anti-virus software do?

A

Helps to detect and remove malicious programs

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

Utilities

What does formatting software do?

A

Prepares the storage device for data storage: creates a FAT (File Access Table) which stores the start address for a file stored in storage

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

Utilities

What does defragmentation software do?

A

Arranges and groups split files and free space to make R/W-ing to the disk more efficient

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

Utilities

What does data compression software do?

A

Reduces the amount of physical space files take up, so more files can be stored or downloaded/transmitted

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

Utilities

What does backup software do?

A

Allows for manual or automatic backing up of files

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

Utilities

What does automatic updating software do?

A

Ensures all installed software is up to date, and can download updates automatically from the internet

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

Open source vs closed source

Describe application software

A

Software centred around the user and provides them with tools to perform particular jobs

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

Open source vs closed source

Describe systems software

A

Software such as OS and utilities, which is centered around the running of a system and its hardware

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

Open source vs closed source

Describe generic software

A

Software which can be used for many different purposes

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

Open source vs closed source

Describe special purpose software

A

Software which performs a single specific task

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

Open source vs closed source

Describe off the shelf software

A

Any user can purchase it, and it often provides generic functions. Usually written by companies and sold for profit

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

Open source vs closed source

Describe bespoke software

A

Custom made, and are written for a specific user or organsiation

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

Open source vs closed source

Give advantages of off the shelf software

A
  • Can be quite cheap
  • Tried and tested by many users
  • Can be installed and used straight away
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Open source vs closed source

Give disadvantages of off the shelf software

A
  • May contain unwanted features or be missing desired ones
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Open source vs closed source

Give advantages of bespoke software

A
  • Will be an exact match for the task it’s intended for
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Open source vs closed source

Give disadvantages of bespoke software

A
  • Can be more expensive than off the shelf as it is only sold a limited number of times
  • Takes time to develop
  • May have bugs as it won’t have been tested by many people
  • The software may turn out to be useless if the needs weren’t stated clearly enough at the start
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Open source vs closed source

Describe open source software

A

Freely available software, available to anyone to edit or see the source code and redistribute

No copyright protection

20
Q

Open source vs closed source

Describe closed source software

A

Protected by copyright laws and doesn’t give access to the source code

21
Q

Open source vs closed source

Give advantages of open source software

A
  • Free or very cheap
  • Can have thousands of developers worldwide working on it
22
Q

Open source vs closed source

Give disadvantages of open source software

A
  • Can lack a professional finish due to less professional and financial resources
  • Less secure against people adding in malicious code
23
Q

Open source vs closed source

Give advantages of closed source software

A
  • Has professional and financial resources, allowing for a more professional finish
  • Has methods to prevent malicious code getting into the program
24
Q

Open source vs closed source

Give disadvantages of closed source software

A
  • Can be expensive from organisations charging a lot for their software
25
Q

Translators

What is a translator?

A

Any program which converts source code into machine code

26
Q

Translators

Describe an Interpreter

A

Converts high level language into machine code

Has a 1-to-many relationship, each line of source code translates into many lines of binary machine code

Translates each line at a time

27
Q

Translators

Describe a compiler

A

Converts high level languages into object/machine code

Has a 1-to-many relationship where each line of high level source code translates into many lines of machine code

Translates the entire program at once

Object code is a part way between high level language code and machine code

28
Q

Translators

Describe an assembler

A

Converts low level assembly language into machine code

A 1-to-1 relationship usually, where each assembly code line translates into machine code

29
Q

Translators

What are the drawbacks of an interpreter?

A

Drawbacks:

Requires access to the whole source code when translating

Executes slowly

30
Q

Translators

What are the benefits and drawbacks of a compiler?

A
31
Q

Translators

What are the drawbacks of an assembler?

A

Assembly code is not very portable across different systems, as it is processor specific

32
Q

Stages of compilation

What are the three stages of compilation?

A

Lexical analysis

Syntax analysis

Code generation

33
Q

Stages of compilation

Describe the process of lexical analysis

A
  • Removes non-program elements, such as white space and comments
  • Assigns tokens to individual parts (lexemes) of the source code
  • Code optimisation occurs
34
Q

Stages of compilation

Describe the process of syntax analysis

A
  • Checks the tokens are in the correct order and that they follow the rules of the language
  • An Abstract Syntax Tree (AST) is created to map the structure of the program
  • Tokens that are missing or in the wrong place are reported
35
Q

Stages of compilation

Describe the process of code generation

A
  • A separate program is created, this is the object code
  • Object code is the executable binary equivalent of the source code
  • Code optimisation occurs
36
Q

Stages of compilation

Describe how code optimisation occurs

A

Carried out in the lexical analysis and code generation stages of compilation:

Identifies redundant or repeated code and removes or rearranges as necessary

37
Q

Stages of compilation

How does the compiler handle errors during the syntax analysis stage?

A

It reports them back as error messages added to the compiler report to the user, which contains the type of error and its location in the program

38
Q

Libraries, Linkers and Loaders

Describe what a library is, in compilation

A

High level languages have pre-written libraries

These give you access to may specialised functions

Using libraries saves time as you don’t have to keep rewriting the code contained in one, thus is more reliable and efficient

39
Q

Libraries, Linkers and Loaders

Describe what a linker is, in compilation

A

Compilation often results with multiple Object Code files

A linker uses these to create a single executable file

40
Q

Libraries, Linkers and Loaders

Describe what a loader is, in compilation

A

Loads the executable code into RAM, so that the file can be executed

Carries out other tasks to prepare a program for execution

41
Q

Libraries, Linkers and Loaders

What are the advantages of low-level languages?

A
  • Programs are faster and more memory efficient
  • Provides direct manipulation of computer registers and storage
  • Can directly communicate with hardware devices
  • Can manipulate individual bits
  • Occupies less memory space and runs faster
42
Q

Libraries, Linkers and Loaders

What are the disadvantages of low-level languages?

A
  • Low level languages are machine dependant, and therefore are not portable
  • More error-prone than high level languages
  • The programmer must have additional knowledge of computer architecture to write the code effectively
  • Harder for programmers to understand and learn
43
Q

Libraries, Linkers and Loaders

What are the advantages of high-level languages?

A
  • Easier to write than low level languages
  • Less error-prone, and therefore easier to debug
  • Quicker and easier to write programs
  • Easier to debug and maintain
44
Q

Libraries, Linkers and Loaders

What are the disadvantages of high-level languages?

A
  • Takes additional translation time
  • Cannot allow programmers to communicate directly with hardware
  • Generally less memory efficient than low level languages
45
Q

Libraries, Linkers and Loaders

What is intermediate code?

A
  • This is the half-way point in compilation between source code and machine code
  • It is the version of the code which is non-machine dependant, therefore can be copied to other devices and run on any computer
  • Is an important part of implementing virtual machines
  • A main benefit of intermediate code is it allows code to be stored part-compiled, so can be easily run later without requiring a compiler to be present