System Software
5.1 Operating Systems
Candidates should be able to:
1. Explain why a computer system requires an Operating System (OS)
2. Explain the key management tasks carried out by the Operating System
Including memory management, file management, security management, hardware management (input / output / peripherals), process management
3. Show understanding of the need for typical utility software provided with an Operating System
Including disk formatter, virus checker, defragmentation software, disk contents analysis/ disk repair software, file compression, back-up software
4. Show understanding of program libraries
Including:
1. software under development is often constructed using existing code from program libraries
2. the benefits to the developer of software constructed using library files, including Dynamic Link Library (DLL) files
5.2 Language Translators
Candidates should be able to:
1. Show understanding of the need for:
1. assembler software for the translation of an assembly language program
2. a compiler for the translation of a high-level language program
3. an interpreter for translation and execution of a high-level language program
2. Explain the benefits and drawbacks of using either a compiler or interpreter and justify the use of each
3. Show awareness that high-level language programs may be partially compiled and partially interpreted, such as Java (console mode)
4. Describe features found in a typical Integrated Development Environment (IDE)
Including:
1. for coding, including context-sensitive prompts
2. for initial error detection, including dynamic syntax checks
3. for presentation, including prettyprint, expand and collapse code blocks
4. for debugging, including single stepping, breakpoints, i.e. variables, expressions, report window