Software Principles Flashcards
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 examples of utilities are: Compression Disk defragmentation Antivirus Automatic backup Automatic updating.
What are three advantages of using closed source code?
High levels of security as it is developed in a professional controlled environment. Expert support and user manuals from company. Thorough regular and well-tested updates.
State three features of open source code.
- Does not require a license to be used. 2. Distributed with the source code. 3. 1. Can be modified and sold on.
Give two advantages of using compiled code over interpreted code.
- Faster to execute. 2. Does not require a compiler to run.
Give three advantages of using interpreted code over compiled code.
- Is platform independent. 2. Runs instantly without time waiting for compilation. 3. 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. 2. Syntax errors are identified. 3. Symbol table updated with more details. 4. Semantic analysis finding logic errors.
What are the similarities between static and dynamic linkers?
Both link external modules and libraries to main program.
What is the difference between static and dynamic linkers?
Static: Library code copied into the file increasing file size. Dynamic: Addresses of libraries included within file external updates automatically feed through to main program.
Give three advantages of using libraries.
- Error-free. 2. Save time. 3. Re-usable. 4. No need to reinvent the wheel. 5. 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. 2. Reduce inefficient sections of code. 3. Remove redundant code.