1.2.2 Applications Generation Flashcards

1
Q

What are the 2 main types of software?

A
  • Applications software performs a specific task for the user, running on systems software. (Ex. word processing, browsers).
  • Systems software is low-level software that runs the device smoothly. No direct user interaction. (Ex. OS, utilities, drivers).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the main examples of utility software?

A
  • Compression shrinks file sizes for internet transfer and storage saving.
  • Disk Defragmentation rearranges the programs in storage into contiguous physical order to improve performance.
  • Antivirus checks downloads and programs for malware signatures.
  • Automatic updating and backups ensure all software runs the latest version and all data is backed up for recovery.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is open-source software?

A
  • Source code that can be used, modified and distributed by anyone.
  • Allows community technical support and modification to fit needs, but developer support may be lacking, and of lower security standards.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is closed-source software?

A
  • Proprietary software with a hidden source code, requiring a (usually paid) license to use.
  • Thoroughly tested and with high levels of support and security.
  • Can be expensive and is unmodifiable.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the 3 types of translators?

A
  • Compilers turn high-level code into machine code in one go, while carrying out checks and forming an error report. Slowest translation, fastest code. Also produces intermediate code.
  • Interpreters translate high-level code line by line, stopping at any errors. Useful for testing but slower than compiled code.
  • Assemblers translate assembly code into machine code on a 1:1 basis. Assembly code is platform specific.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the stages of compilation?

A
  • Lexical analysis removes comments and whitespace, then replaces codes with tokens and a symbol table.
  • Syntax analysis checks the tokens against the rules of the programming language. Produces an abstract syntax tree.
  • Code Generation uses the syntax tree to produce machine code.
  • Optimisation involves searching through code and replacing parts of it with identically functioning, more efficient code, and removing redundant parts.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are linkers, loaders and libraries?

A
  • Linkers can be static or dynamic. Static linkers add modules directly to the file. Dynamic linkers include the addresses of modules, keeping files smaller.
  • Loaders retrieve a library or subroutine when executing a file.
  • Libraries are pre-compiled, free-to-use tested code that programmers can make use of to save time.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly