Applications Software 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 examples of utilities
- Compression
- Disk defragmentation
- Antivirus
- Automatic backup
- Automatic updating
Give advantages 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 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 the advantages of using compiled code
- Faster to execute
- Does not require compiler to run
Give the advantages of using interpreted
code
- 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 the advantages of using libraries
- Error-free
- Save time
- Re-usable
- 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