What is the difference between applications and systems software?
Applications software is utilised directly by the end-user whereas systems software ensures the high performance of the computer.
Give 3 examples of utilities.
Three from:
- Compression
- Disk defragmentation
- Antivirus
- Automatic backup
- Automatic updating
Give one advantage of using closed source code.
- Thorough, regular and well-tested updates.
- Expert support and user manuals from company.
- High levels of security as it is developed in a professional, controlled environment.
State two features of open source code
- Does not require a license to be used.
- Distributed with the source code.
- Can be modified and sold on.
Give two advantages of using compiled code over interpreted code.
- Faster to execute.
- Does not require compiler to run.
Give two advantages of using interpreted code over compiled code
Two from:
- Is platform independent.
- Runs instantly without time waiting for compilation.
- Useful for debugging.
What is assembly language?
A low-level language that has almost a one-to-one relationship with machine code. It is platform specific.
What are the stages of compilation?
● Lexical analysis
● Syntax analysis
● Code generation
● Optimisation
What happens during syntax analysis?
- Tokens are compared to the rules of the programming language.
- Syntax errors are identified.
- Symbol table updated with more details.
- Semantic analysis (finding logic errors).
What are the similarities and differences
between static and dynamic linkers?
Similarities: Both link external modules and libraries to main program.
Static: Library code copied into the file. File size increased.
Dynamic: Addresses of libraries included within file. External updates automatically feed through to main program.
Give three advantages of using libraries.
- Error-free
- Save time
- Re-usable
- No need to ‘reinvent the wheel’
- Designed by experts
Describe the function of a loader.
Provided by the operating system, a loader retrieves the library or subroutine from the given memory location.
What is the purpose of the optimisation stage of compilation?
● Reduce execution time
● Reduce inefficient sections of code
● Remove redundant code