1.2.2 Application Software Flashcards

1
Q

What is application 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 are some examples of application software?

A

Examples: desktop publishing, word processing, spreadsheets, web browsers

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

What is Systems software?

A

Systems software is low-level software that is responsible for:
* running the computer system smoothly,
* interacting with hardware
* generally providing a platform for applications software to run.

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

What are some examples of systems software?

A

Examples: library programs, utility programs, operating system, device drivers.

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

What are utilities?

A

Systems software designed to ensure the consisted, high performance of the OS. Each utility program has a specific function linked to maintenance of the OS.

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

What are some examples of utility software?

A

Compression, disk defragmentation, automatic updating, backup

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

What is source code?

A

Written by a programmer and refers to object code before it has been compiled.

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

What is the definition of open source software?

A

Open source software 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
9
Q

What is closed source software?

A

Closed source software requires the user to hold an appropriatelicense to use it. Users cannot access the source code as thecompany owns the copyright license.

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

What are advantages of open source software?

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

What are advantages of closed source software?

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
12
Q

What are disadvantages of open source software?

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

What are disadvantages of closed source software?

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
14
Q

What are translators?

A

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

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

What are the three types of translators?

A
  • Compiler
  • Interpreter
  • Assembler
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are compilers?

A
  • Complilers translate high-level code into machine code all at once after checking that the code is error-free.
  • After compilation, an .exe file is produced which can be execute without needed to complie again.
  • Will not compile if there is an error.
  • Initial compilation is longer than interpreter of assembler
17
Q

What are interpreters?

A
  • Interpreters translate and execute code line-by-line.
  • Code must be interpreted every time it is run
  • Not all code may be run (selection)
18
Q

What is assembely code?

A
  • Assembly code is considered to be a low-level languageas it is the ‘next level up’ from machine code.
  • It is platform specific
19
Q

What are assemblers?

A
  • Assemblers translate assembly code into machine code
  • One lien of assembely code is almost equivilent to one line of machine code
20
Q

What are the stages of compilation?

A

Lingering,Side-effects,Consuming,Opium
* Lexical Analysis
* Syntax analysis
* Code generation
* Optimisation

21
Q

What happens in lexical analysis?

A
  • Whitespace and comments are removed from the code.
  • The remaining code is analysed for keywords and names of variables and constants.
  • These are replaced with tokens and information about the token associated with each keyword or identifier is stored in a symbol table.
22
Q

What happens in syntax analysis?

A
  • Code (now tokenised) is checked against the rules and grammar of the programming language aka “Parsing”:applying set of rules to each statement to check if it is valid
  • Errors are reported as a list
  • Details of data types are added to symbol table
  • Abstract syntax tree produced
23
Q

What happens in code generation?

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

What happens in optimisation?

A
  • Searches for ways to reduce the runtime of the code(make it more efficient)
  • Can add significant amount of time taken to overall compilation.
  • Removes insignificant parts of code.
  • Repeated sections may be replaced with more efficient peice of code
  • However, it may sometimes result in nunexpected results
25
Q

What are libraries?

A
  • Pre-compiled programs which can be incorporated within other programs.
  • Error-free
  • Save time and effort of developing and testing modules
  • Can be reused across multiple programs
26
Q

What are linkers?

A

Software that is responsible for linking external modules and libraries included within the code. There are two types of linker:
* Static Linker
* Dynamic Linker

27
Q

How do Static Linkers work?

A
  • Module/library is added directly to main file
  • Increases size of file
  • External updates wont affect program
28
Q

How do Dynamic Linkers work?

A
  • Addresses of modules and libraries are included in the file where they are referenced.
  • When program is run, the loader retrieves the program at the address
  • External updates feed through to the main file; there is no need to rewrite the code.
29
Q

What are loaders?

A
  • Programs provides by the OS
  • When a file is executed, the loader retrieves the library or subroutine from the given memory location.
30
Q

What is bytecode?

A
  • Platform independent compiled code
  • Executed by a bytecode interpreter on client