1.2.1 Systems Software
1.2.2 Applications Generation
Understand the function and purpose of an operating system
Describe memory management (paging, segmentation and virtual memory)
Describe the role of interrupts and an Interrupt Service Routine (ISR) within the fetch-decode-execute cycle
Describe the need for processor scheduling algorithms
Describe scheduling algorithms: round robin, first come first served, multi-level feedback queues, shortest job first and shortest remaining time
Describe distributed, embedded, multi-tasking, multi-user and real-time operating systems
Describe BIOS, device drivers and virtual machines
Distinguish between systems software and applications software
Describe what is meant by a utility program and give examples
Be able to justify a suitable application for a specific purpose
Distinguish between open source and closed source software
Understand the role of an assembler, compiler and interpreter
Explain the difference between compilation and interpretation, and describe situations when each would be appropriate
Explain why an intermediate language such as bytecode is produced as the final output by some compilers and how it is subsequently used
Describe the stages of compilation: lexical analysis, syntax analysis, code generation and optimisation
Describe the function of linkers and loaders
Describe the use of libraries