1.2.2 - Applications Generation Flashcards
Name the two types of software.
Applications software and systems software.
What is applications software used for?
Applications software is designed to be used by the end-user to perform one specific task.
Name two examples of applications software.
Desktop publishing, word processing, spreadsheets, web browsers, games etc.
What is systems software used for?
Systems software is low-level software that is responsible for running the computer system smoothly.
Name two examples of systems software.
Library programs, utility programs, operating systems, device drivers etc.
What is utility software?
A utility is a key piece of software integral to ensuring the consistently high performance of the operating system.
Name two types of utility software.
Compression, disk defragmentation, anti-virus, automatic updating, backup.
What does a compression utility do?
Reduces the size of a file so it can be transmitted over the Internet faster.
What does the disk defragmenter utility do?
Reorders the contents of the hard drive so they can be accessed faster.
What does the antivirus utility do?
Detects potential threats to the computer, alerts the user and removes the threats.
What does the automatic update utility do?
Ensures that the operating system is kept up to date with any updates being automatically installed when the computer is restarted.
What does the backup utility do?
Automatically creates routine copies of specific files selected by the user.
What is open-source software?
The source code can be used by anyone, without a licence and is distributed with the source code.
What is closed source software?
The program requires a license to be legally used. Users cannot access the source code as the company owns the copyright license.
What are the advantages of using open-source software?
Can be modified and improved by anyone.
Technical support from an online community.
Can be modified and sold on.
What are the disadvantages of using open-source software?
There are no user manuals; support available online may be incorrect or insufficient.
Lower security as it may not have been developed in a controlled environment.
What are the advantages of using closed source software?
Thorough, regular and well-tested updates.
The company owning the software provides expert support and user manuals.
High levels of security as developed professionally.
What are the disadvantages of using closed source software?
The license restricts how many people can use the software at once.
Users cannot modify and improve the software themselves.
What is a translator?
A program that converts high-level source code into low-level object code.
What are the three types of translator?
Compiler
Interpreter
Assembler
What is the main feature of an interpreter?
They translate and execute code line by line.
What is the main feature of a compiler?
Compilers translate high-level code into machine code all at once.
What is the purpose of an assembler?
To translate assembly code into machine code.
What happens if a compiler encounters an error?
The compilation process still occurs and all errors are displayed once finished.
What happens if an interpreter encounters an error?
The translation is stopped as soon as an error is found.
What are the advantages of using a compiler?
Once the compilation process is completed, execution is faster.
It does not require a translator to be present.
What are the advantages of using an interpreter?
It appears faster and starts executing instantly.
Can be run on a wide range of platforms.
What are the disadvantages of using a compiler?
If changes are made, the whole program has to be recompiled - this is time-consuming.
It can only be executed on certain devices.
What are the disadvantages of using an interpreter?
It is much slower to execute than a compiler.
What is the ratio of assembly instructions to machine code lines?
One-to-one.
What are the four stages of compilation?
Lexical analysis, syntax analysis, code generation and code optimisation.
What happens during lexical analysis?
Whitespace and comments are removed.
Keywords and identifiers are replaced with tokens.
What happens during syntax analysis?
Tokens are checked to ensure they follow the rules of the programming language.
Semantic analysis also occurs which flags up any logic errors.
What happens during code generation?
Machine code is produced from the tokens.
What happens during code optimisation?
Makes the machine code more efficient by removing redundant parts of code and replacing inefficient sections with more efficient sections.
What is the risk of code optimisation?
If the optimisation algorithm is too powerful, the code may not behave as intended.
What is a library?
Ready to use, pre-compiled programs that can be incorporated within other programs.
What is a linker?
A piece of software that is responsible for linking external modules and libraries included within the code.
How does a static linker work?
The modules and libraries are added directly to the main file.
How does a dynamic linker work?
Addresses of the modules and library are included so they can be loaded from an external file.
What is the advantage of using a dynamic linker?
The file remains small.
What is a loader?
A piece of software that retrieves the library or subroutine from the given memory location.
What are the advantages of using a library?
They are error-free.
They save programmers from having to ‘reinvent the wheel’.