Software
4.1 Types of software and interrupts
Candidates should be able to:
1. Describe the difference between system software and application software and provide examples of each
System software provides the services that the computer requires, including operating system and utility software
Application software provides the services that the user requires
2. Describe the role and basic functions of an operating system
Including:
managing files
handling interrupts
providing an interface
managing peripherals and drivers
managing memory
managing multitasking
providing a platform for running applications
providing system security
managing user accounts
3. Understand how hardware, firmware and an operating system are required to run applications software
Applications are run on the operating system
The operating system is run on the firmware
The bootloader (firmware) is run on the hardware
4. Describe the role and operation of interrupts
Including:
how an interrupt is generated
how it is handled using an interrupt service routine
what happens as a result of the interrupts
Software interrupts include division by zero and two processes trying to access the same memory location
Hardware interrupts include pressing a key on the keyboard and moving the mouse
4.2 Types of programming language, translators and integrated development environments (IDEs)
Candidates should be able to:
1. Explain what is meant by a high-level language and a low-level language, including the advantages and disadvantages of each
Advantages and disadvantages include:
ease of reading and writing code, e.g. low-level is hard to read
ease of debugging code
machine independence
direct manipulation of hardware
2. Understand that assembly language is a form of low-level language that uses mnemonics, and that an assembler is needed to translate an assembly language program into machine code
3. Describe the operation of a compiler and an interpreter, including how high-level language is translated by each and how errors are reported
A compiler translates the whole code at once before executing it, producing an executable file
An interpreter translates and executes the code line-by-line
A compiler provides an error report for the whole code if errors are detected
An interpreter stops execution when an error is found
4. Explain the advantages and disadvantages of a compiler and an interpreter
To include an understanding that an interpreter is mostly used when developing a program and a compiler is used to translate the final program
5. Explain the role of an IDE in writing program code and the common functions IDEs provide
Including:
code editors
run-time environment
translators
error diagnostics
auto-completion
auto-correction
prettyprint