1.2.2 - Applications Generation Flashcards

1
Q

What is applications software?

A

Applications software is designed to be used by the end-user to perform one specific task.
Application software requires systems software in order to run.

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

What is systems software?

A

Systems software is low-level software that is responsible for running the computer system
smoothly, interacting with hardware and generally providing a platform for applications
software to run.
The user does not directly interact with systems software but it ensures
high performance for the user.

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

What are utilities?

A

Utilities are a key piece of system software integral to ensuring the consistent, high
performance of the operating system.
Each utility program has a specific function linked to
the maintenance of the operating system.

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

What is the compression utility?

A

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.

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

What is the disk defragmentation utility?

A

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.

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

What is the antivirus utility?

A

Antivirus is responsible for detecting potential threats to the computer,
alerting the user and removing these threats.

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

What is the updating utility?

A

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.

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

What is the backup utility?

A

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.

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

What is open source code?

A

Open source code can be used
by anyone without a license and
is distributed with the source
code.

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

What is source code?

A

Object code before it has been compiled.

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

What is closed source code?

A

Closed source code requires the
user to hold an appropriate
license to use it. Users cannot
access the source code as the
company owns the copyright license.

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

What are the advantages of open source code?

A
  • Can be modified and improved
    by anyone
  • Technical support from online
    community
  • Can be modified and sold on
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the disadvantages of open source code?

A
  • Support available online may be
    insufficient or incorrect. No user
    manuals.
  • Lower security as may not be
    developed in a controlled
    environment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the advantages of closed source code?

A
  • Thorough, regular and
    well-tested updates
  • Company owning software
    provides expert support and user
    manuals.
  • High levels of security as
    developed professionally.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the disadvantages of closed source code?

A
  • License restricts how many
    people can use the software at
    once
  • Users cannot modify and
    improve software themselves
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What must a user consider when choosing open/closed source software?

A

The suitability of the software to the task they will be using it for:
- Costs (implementation, maintenance, training, license)
- Functionality (features available, ease of use)

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

What is a translator?

A

A program that converts high-level source
code into low-level object code, which is then ready to be executed by a computer.

18
Q

What do compilers do?

A

Compilers translate high-level code into machine code all at
once, after carrying out a number of checks and reporting
back any errors.

19
Q

What are the 3 disadvantages of a compiler?

A
  • Initial compilation process is longer than
    using an interpreter or an assembler.
  • If changes need to be
    made, the whole program must be recompiled.
  • Compiled code is specific to a particular processor type and operating system.
20
Q

What is the advantage of a compiler?

A

Code can be run without a translator being present.

21
Q

What is an interpreter?

A

Interpreters translate and execute code line-by-line. They
stop and produce an error if a line contains an error.

22
Q

Describe the speed of an interpreter.

A

They
may initially appear faster than compilers as code is instantly executed, but are slower
than running compiled code as code must be translated each time it is executed with an
interpreter.

23
Q

When are interpreters useful?

A

Interpreters useful for testing sections of code and pinpointing errors,
as time is not wasted compiling the entire program before it has been fully debugged.

24
Q

Describe the devices an interpreter can be run on.

A

Interpreted code requires an interpreter in order to run on different devices. However, code
can be executed on a range of platforms as long as the right interpreter is available, thus
making interpreted code more portable.

25
Q

What is assembly code?

A

Assembly code is considered to be a low-level language
as it is the ‘next level up’ from machine code. Assembly
code is platform specific, as the instructions used are
dependent on the instruction set of the processor.

26
Q

What does an assembler do?

A

Assemblers translate assembly code into machine code.
Each line of assembly code is equivalent to almost one line of machine code so code is
translated on almost a one-to-one basis.

27
Q

What happens in lexical analysis?

A

Whitespace and comments removed
Code analysed for keywords/variables/contents
These replaced with tokens and information about the token associated with each keyword or identifier is stored in a symbol table.

28
Q

What happens in syntax analysis?

A

In this stage, tokens are analysed against the grammar
and rules of the programming language.
Any tokens that break the rules of the programming language are flagged up as syntax errors and added to a list of errors.

29
Q

What is an abstract syntax tree?

A

A representation of the source code in the
form of a tree.

30
Q

What is semantic analysis?

A

When logic mistakes within the program are detected.

31
Q

What happens in code generation?

A

The abstract syntax tree produced in the syntax analysis stage is used to produce
machine code.

32
Q

What is the aim of optimisation?

A

To make the code faster to execute, although this stage
can significantly add to the overall time taken for compilation.

33
Q

What happens in code optimisation?

A

This stage of compilation searches through the code for areas it could be made more
efficient.
Insignificant, redundant parts of code are detected and removed.
Repeated sections of
code may be grouped and replaced with a more efficient piece of code which produces the
same result.

34
Q

What is the danger with code optimisation?

A

Excessive optimisation may alter the way in
which the program behaves.

35
Q

What is a linker?

A

This is a piece of software that is responsible for linking external modules and libraries
included within the code.

36
Q

How does a static linker work?

A

Modules and libraries are added directly into the main file.
This increases the size of the
file. Any updates to modules and libraries externally will not affect the program. This
means a specific version of a library can be used

37
Q

How does a dynamic linker work?

A

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.

38
Q

What are loaders?

A

Loaders are programs provided by the operating system. When a file is executed, the
loader retrieves the library or subroutine from the given memory location.

39
Q

What are libraries?

A

Libraries are pre-compiled programs which can be incorporated within other programs
using either static or dynamic linking.
Popular libraries provide mathematical and graphical functions.

40
Q

What are the advantages of libraries?

A

Ready-to-use and error free, so they save time developing the modules.
Can be reused within multiple programs.

41
Q

What does “reinventing the wheel” mean in context of a library?

A

Libraries are often used to provide a specialised range of functions which would otherwise
require a lot of time and effort to develop, so save programmers from having to ‘reinvent
the wheel’ and instead make use of others’ expertise.