1.2.2 Applications Generation Flashcards
(a) The nature of applications, justifying suitable applications for a specific purpose. (b) Utilities. (c) Open source vs closed source. (d) Translators:Interpreters, compilers and assemblers. (e) Stages of compilation (lexical analysis, syntax analysis, code generation and optimisation). (f) Linkers and loaders and use of libraries.
What is system software?
Software neede to run the computers application and hardware programs.
What is a utility program
A utility performs a specific task related to the upkeep of the system, examples include a firewall or a disk defragmenter.
How does a disk defragmenter work?
Files that have been split up and stored all over a magnetic disk are recombined into sequential blocks in order to speed up file reading.
What is open source software?
Software licenced for use but free and distributed with the source code with the ability to amend.
What is closed source software?
Also known as proprietary software, the software is not free and there are restrictions on its usage.
What are the benefits of software being open source?
Free of cost and the ability to tailor the program to specific needs.
What are the benefits of software being closed source?
Regular updates and technical support lines are often available.
What is assembly code?
Low-level language almost equivalent to machine code.
What must happen before assembly code is executed?
It must be translated into the equivalent machine code or an intermediate code (bytecode) by the assembler.
What is the input to an assembler called?
Source code.
What is the output of an assembler called?
Object code.
What is a compiler?
A program that translates high-level language into machine code.
How does a compiler work?
The source code is scanned several times each time performing checks and building up tables of information needed to produce the object code.
Why might different compilers be needed for different machines?
Machine code instructions a processor can execute is completely dependant on hardware as the instruction sets will be different in different processors, therefore object code is hardware specific so different compilers will be needed dependant on processor architecture.
What is an interpreter?
A programming language translator that looks at the source code line by line checking for syntax errors.